Deployment timeline

Discrete event snapshots bridging the released stowed and deployed endpoint states. Dwell periods, motion interpolation spans, and short-event elision are now declared explicitly instead of implying an every-millisecond state history.

Design signature: 9f4357b4670ecd4cb3fb8b183d3717693fa64fcd781f3278fa0b0b8f6ecf985a

Render manifest: outputs/deployment_timeline/render_manifest.json · Sequence: outputs/deployment_timeline/sequence.json

Motion report · Sampled states JSON · Element histories JSON · Summary JSON · Event log CSV

Verdict
PASS
Steps
7
Events
7
Renders
14
Sampled states
46
Sample renders
92
Intervals
6
Max dt
11.3 s
Element histories
117

Sampling coverage

Policy boundary_event_capture_under_0p5s elides sub-events shorter than 0.500 s and keeps them in the event log plus the nearest boundary sample.

Effective timestep coverage across the full deployment is 3.000 to 11.333 s.

IntervalKindTime span (s)SamplesEffective dt (s)Interpolation
Hold the fully stowed launch stack while the pyro command propagates.dwell0 - 525.000hold
Retract the launch-release actuators and unload the launch-only restraint path.motion5 - 2045.000piecewise_monotonic
Release the packed sunshield latch line and allow the first small layer separation.motion20 - 3537.500linear_with_terminal_state_change
De-energize the hold-down line and break the membrane stack into deployment travel.motion35 - 4443.000linear_with_boundary_release
Sample the long unfurl span with coarse event-driven interpolation rather than dense time marching.motion44 - 1801311.333linear_monotonic
Carry the last deploy-and-capture approach with coarse samples while the radiator support carriage hits its stops, the leaves complete their hinge rotation, and the final latch event closes the thermal shell.motion180 - 4202510.000linear_with_terminal_state_change

Radiator Deployment Mechanism

Mechanism: radiator_side_dual_leaf_deployment

Stowed restraint: radiator_stow_latch_pair (dual_overcenter_launch_latch). Upper and lower over-center latch shoes clamp the folded radiator leaves against the support carriage so launch loads stay on positive mechanical stops until the release pullers clear the latch line.

Activation events: radiator_support_link_drive_release

PartKindQtyAnchorsEngagesActs onRoutes viaManaged families
radiator_stow_latch_upperover_center_latch2radiator_mount_beam_upperradiator_frame   
radiator_stow_latch_lowerover_center_latch2radiator_mount_beam_lowerradiator_frame   

Release hardware: radiator_stow_latch_release (dual_nonexplosive_pin_puller). Dual non-explosive pin pullers withdraw the upper and lower latch shoes together so the stowed preload hands off cleanly into the spring-driven carriage sweep instead of relying on an unexplained free release.

Activation events: radiator_support_link_drive_release

PartKindQtyAnchorsEngagesActs onRoutes viaManaged families
radiator_release_puller_uppernonexplosive_pin_puller1radiator_mount_beam_upper radiator_frame  
radiator_release_puller_lowernonexplosive_pin_puller1radiator_mount_beam_lower radiator_frame  

Driver: radiator_support_link_drive using radiator_mount x 4. Four support links and paired extension springs sweep the radiator package away from the bus-side outrigger once the stow-latch release line is free, so the carriage motion comes from stored spring energy rather than a placeholder interpolation.

Driver activation events: radiator_support_link_drive_release

Driver-controlled state fields: radiator_drive_fraction, radiator_support_carriage_fraction, radiator_leaf_rotation_fraction, radiator_closeout_extension_fraction

Stored-energy drive: radiator_link_extension_springs (paired_extension_springs). Paired extension springs on the upper and lower support links provide the breakout torque and carriage sweep energy until the leaf hinges finish the last portion of the opening motion.

PartKindQtyAnchorsEngagesActs onRoutes viaManaged families
radiator_link_spring_portextension_spring2radiator_mount_beam_upper, radiator_mount_beam_lower radiator_frame  
radiator_link_spring_starboardextension_spring2radiator_mount_beam_upper, radiator_mount_beam_lower radiator_frame  

Synchronization hardware: radiator_leaf_sync_equalizer (cross_shaft_and_equalizer_cable). A short torque tube between the upper and lower support links plus a crossover equalizer cable between the two leaf hinges keeps both leaves phase-locked so one side cannot outrun the other during the spring-driven sweep.

PartKindQtyAnchorsEngagesActs onRoutes viaManaged families
radiator_link_torque_tubetorque_tube1radiator_mount_beam_upper, radiator_mount_beam_lower    
radiator_leaf_equalizer_cableequalizer_cable1radiator_frame  radiator_mount_beam_upper, radiator_mount_beam_lower 

Support carriage: radiator_support_carriage carrying radiator_mount_beam_upper, radiator_mount_beam_lower. The upper and lower mount beams act as the rigid carriage that carries the radiator leaf hinge line and the deployed stop pads.

State fieldModel key
drive_fractionradiator_drive_fraction
carriage_fractionradiator_support_carriage_fraction
leaf_rotation_fractionradiator_leaf_rotation_fraction
closeout_extension_fractionradiator_closeout_extension_fraction
LeafHingeStowed hinge originDeployed hinge originAxis unit vector
Port radiator leafradiator_leaf_port_hinge[-1.224744871391589, -0.8296896369201714, -2.637][-0.08000000000000007, -2.92, -2.874744871391589][0.5773502691896257, 0.5773502691896257, 0.5773502691896257]
Starboard radiator leafradiator_leaf_starboard_hinge[-1.224744871391589, -0.8296896369201714, -2.603][1.1006207261596574, -2.92, -2.874744871391589][0.5773502691896257, 0.5773502691896257, 0.5773502691896257]

Closeouts: Top, bottom, aft, and front closeout panels ride on the support carriage and extend into the final thermal shell as the leaves open.

Routing hardware: radiator_equalizer_and_harness_routing (guided_cable_and_service_loop). Cable guides on the upper and lower carriage beams keep the equalizer cable, radiator harness, and detector thermal strap on a positive route with service-loop slack through the full sweep so nothing cuts across the opening leaves.

Routed state fields: radiator_support_carriage_fraction, radiator_leaf_rotation_fraction, radiator_closeout_extension_fraction

PartKindQtyAnchorsEngagesActs onRoutes viaManaged families
radiator_upper_cable_guide_paircable_guide2radiator_mount_beam_upper   radiator_harness, radiator_service_loop, detector_thermal_strap
radiator_lower_cable_guide_paircable_guide2radiator_mount_beam_lower   radiator_harness, radiator_service_loop, detector_thermal_strap
Routed flex runComponentsGuidesAvailable length (m)Min residual slack (m)
radiator_harness_main_runradiator_harness_1radiator_mount_beam_upper, radiator_mount_beam_lower1.1800.080
radiator_service_loop_transitionradiator_service_loop_1radiator_mount_beam_upper0.1600.030
detector_thermal_strap_port_rundetector_thermal_strap_1radiator_mount_beam_upper1.6000.070
detector_thermal_strap_starboard_rundetector_thermal_strap_2radiator_mount_beam_lower1.5700.070

Deployed capture: radiator_deployed_capture via radiator_mount_beam_upper, radiator_mount_beam_lower. Upper and lower mount-beam stop pads arrest the sweep and the radiator-frame capture tabs seat against them to lock the deployed cold-view geometry.

Retained capture hardware: radiator_capture_hooks (hard_stop_tabs_and_overcenter_hooks). Retained capture hooks on the radiator frame stay seated against the upper and lower stop pads after the springs relax so the cold-view geometry remains positively captured on orbit.

PartKindQtyAnchorsEngagesActs onRoutes viaManaged families
radiator_capture_hook_uppercapture_hook2radiator_mount_beam_upperradiator_frame   
radiator_capture_hook_lowercapture_hook2radiator_mount_beam_lowerradiator_frame   

Routed flex hardware feasibility

The released harness, service-loop, and detector thermal-strap runs keep explicit available-length and residual-slack assumptions tied to the radiator cable-guide hardware.

RoutePeak required (m)Available (m)Min residual seen (m)Required residual (m)Peak utilVerdict
radiator_harness_main_run1.0751.1800.1050.0800.979PASS
radiator_service_loop_transition0.1130.1600.0470.0300.895PASS
detector_thermal_strap_port_run1.4871.6000.1130.0700.973PASS
detector_thermal_strap_starboard_run1.4631.5700.1070.0700.977PASS

Event log

Time (s)TypeMechanismTitle
5pyrolaunch_restraint_pyrosFracture launch-restraint pyro locks
20actuatorlaunch_release_actuatorRetract launch release actuators
35latchsunshield_stow_latchRelease packed sunshield latches
44electromagnetsunshield_stack_holdDe-energize sunshield hold-down electromagnets
44releasesunshield_hinge_releaseRelease membrane hinge line into deployment travel
44releaseradiator_support_link_driveRelease radiator support-link drive into deployment sweep
420latchsunshield_deployed_latchCapture deployed latch line

Deployment state screening

46 sampled states track 117 watched components across 41400 watched proxy-pair checks.

Minimum proxy clearance across the sampled deployment is -0.024000 m.

FamilyPeak velocity utilPeak acceleration utilPeak ang velocity utilPeak ang acceleration utilPeak stress util
detector_thermal_strap0.2080.1240.1360.0860.000003
launch_release_actuator0.4150.1240.0000.0000.000000
launch_restraint0.4360.1640.8650.8650.000001
radiator0.8940.7060.5330.1210.000001
radiator_cable_guide0.5700.3390.0000.0000.000000
radiator_capture_hook0.8080.4810.0000.0000.000000
radiator_connector0.9690.6920.0000.0000.000000
radiator_deployment_spring0.5390.3210.7330.3620.000000
radiator_equalizer_cable0.7570.4510.0000.0000.000000
radiator_frame0.9270.7240.5330.1210.000001
radiator_harness0.3880.2310.9340.5760.000000
radiator_isolator0.8400.4320.9090.4600.000000
radiator_mount0.2850.1700.9820.1360.000000
radiator_mount_beam0.5700.3390.0000.0000.000000
radiator_release_puller0.8060.4800.7980.7120.000000
radiator_service_loop0.7750.4610.0000.0000.000000
radiator_shroud0.9660.8580.0000.0000.000001
radiator_stow_latch0.8080.4810.0000.0000.000000
radiator_sync_torque_tube0.4900.2920.0000.0000.000000
sunshield_inner_frame0.7930.5170.0000.0000.000000
sunshield_membrane0.7930.5170.0000.0000.000000
sunshield_outer_frame0.7930.5170.0000.0000.000000
sunshield_outrigger0.0000.0000.0000.0000.000000
sunshield_support_brace0.0000.0000.0000.0000.000000
sunshield_support_mast0.0000.0000.0000.0000.000000
Deployment state kinematics overview
Kinematics utilization overview
Deployment state stress overview
Stress utilization overview
Deployment state clearance overview
Minimum watched clearances across sampled times

Sampled motion evidence

The published deployment movie is sourced from these sampled states rather than only the declared milestone steps. Use the detailed report to inspect per-element pose histories, translational and rotational rates, and adjacent-transition consistency.

Open motion report · Download sampled state ledger · Download per-element histories

Collision screening result: clear.

Checks

CheckVerdictActual
deployment_step_ids_uniquePASS[]
deployment_step_records_completePASS[]
deployment_step_timestamps_monotonicPASS[0.0, 5.0, 20.0, 35.0, 44.0, 180.0, 420.0]
deployment_event_ids_uniquePASS[]
deployment_event_records_completePASS[]
deployment_event_metadata_completePASS[]
deployment_event_types_coveredPASS[]
deployment_event_step_references_validPASS{"bad_step_event_refs": [], "invalid_event_refs": []}
deployment_camera_coverage_declaredPASS[]
deployment_render_manifest_completePASS{"manifest_signature_match": true, "missing_manifest_pairs": [], "missing_render_files": [], "missing_sample_manifest_pairs": [], "missing_sample_render_files": []}
deployment_sampling_policy_declaredPASS[]
deployment_sampling_intervals_cover_step_pairsPASS{"actual_coverage": {"effective_timestep_max_s": 11.333334, "effective_timestep_min_s": 3.0, "end_s": 420.0, "interval_count": 6, "start_s": 0.0}, "coverage_mismatch": [], "coverage_span_matches": true, "missing_interval_pairs": [], "reported_coverage": {"effective_timestep_max_s": 11.333334, "effective_timestep_min_s": 3.0, "end_s": 420.0, "interval_count": 6, "interval_kind_counts": {"dwell": 1, "motion": 5}, "start_s": 0.0, "timeline_duration_s": 420.0, "timeline_sample_times_s": [0.0, 5.0, 10.0, 15.0, 20.0, 27.5, 35.0, 38.0, 41.0, 44.0, 55.333333, 66.666667, 78.0, 89.333333, 100.666667, 112.0, 123.333333, 134.666667, 146.0, 157.333333, 168.666667, 180.0, 190.0, 200.0, 210.0, 220.0, 230.0, 240.0, 250.0, 260.0, 270.0, 280.0, 290.0, 300.0, 310.0, 320.0, 330.0, 340.0, 350.0, 360.0, 370.0, 380.0, 390.0, 400.0, 410.0, 420.0], "unique_sample_time_count": 46}, "sampling_interval_issues": [], "unexpected_interval_pairs": []}
deployment_sampling_interval_kinds_coveredPASS{"missing_interval_kinds": [], "present_interval_kinds": ["dwell", "motion"]}
deployment_motion_sampling_rules_completePASS[]
deployment_motion_interpolation_contracts_completePASS[]
deployment_radiator_mechanism_definition_completePASS[]
deployment_motion_event_elision_policy_completePASS[]
deployment_sequence_spans_stowed_to_deployedPASS{"first_state_name": "stowed_locked", "last_state_name": "deployed", "spacing_end_m": 0.12, "spacing_start_m": 0.035}
deployment_endpoint_geometry_validPASS{"deployed": [], "stowed": []}
deployment_hardware_inventory_groundedPASS[]
deployment_element_state_histories_completePASS{"element_count": 117, "interpolated_history_records": 4563, "issues": [], "moment_count": 51}
deployment_element_state_transitions_physically_consistentPASS{"transition_record_count": 5265, "violations": []}
deployment_rigid_hardware_shape_preservedPASS{"explicit_non_rigid_families": ["detector_thermal_strap", "radiator_connector", "radiator_harness", "radiator_isolator", "radiator_mount", "radiator_service_loop"], "rigid_families": ["radiator", "radiator_frame", "radiator_mount_beam", "radiator_shroud"], "violation_count": 0, "violations": []}
deployment_radiator_endpoint_contact_closedPASS{"component_counts": {"carriage_beams": 2, "frames": 2, "isolators": 4, "panels": 2}, "frame_support_paths": [{"contact_count": 2, "expected_contact_count": 2, "frame": "radiator_frame_panel_1", "support_contacts": [{"beam_contacts": [{"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532}], "frame_clearance_m": -0.07484895054858498, "isolator": "radiator_isolator_1"}, {"beam_contacts": [{"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584}], "frame_clearance_m": -0.03498287275827572, "isolator": "radiator_isolator_3"}]}, {"contact_count": 2, "expected_contact_count": 2, "frame": "radiator_frame_panel_2", "support_contacts": [{"beam_contacts": [{"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532}], "frame_clearance_m": -0.07484895054858498, "isolator": "radiator_isolator_2"}, {"beam_contacts": [{"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584}], "frame_clearance_m": -0.03498287275827572, "isolator": "radiator_isolator_4"}]}], "isolator_carriage_clearances": [{"best_beam": {"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532, "passes": true}, "isolator": "radiator_isolator_1"}, {"best_beam": {"beam": "radiator_mount_beam_upper", "clearance_m": -0.08584895054858532, "passes": true}, "isolator": "radiator_isolator_2"}, {"best_beam": {"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584, "passes": true}, "isolator": "radiator_isolator_3"}, {"best_beam": {"beam": "radiator_mount_beam_lower", "clearance_m": -0.04598287275827584, "passes": true}, "isolator": "radiator_isolator_4"}], "issues": [], "panel_frame_clearances": [{"clearance_m": -0.009999999999999787, "frame": "radiator_frame_panel_1", "panel": "radiator_panel_1", "passes": true}, {"clearance_m": -0.009999999999999787, "frame": "radiator_frame_panel_2", "panel": "radiator_panel_2", "passes": true}], "step_id": "deployed_and_captured"}
deployment_sampled_state_radiator_support_graph_closedPASS{"failing_sample_count": 0, "failing_samples": [], "issues": [], "leaf_ids": ["radiator_leaf_port", "radiator_leaf_starboard"], "sample_count": 46, "support_component_names": ["radiator_isolator_1", "radiator_isolator_2", "radiator_isolator_3", "radiator_isolator_4", "radiator_mount_1", "radiator_mount_2", "radiator_mount_3", "radiator_mount_4", "radiator_mount_beam_lower", "radiator_mount_beam_upper"]}
deployment_sampled_state_structural_connectivity_closedPASS{"failing_sample_count": 0, "failing_samples": [], "issues": [], "root_component_names": ["bus"], "root_families": ["bus"], "sample_count": 46, "support_component_names": ["sunshield_outrigger_1_1", "sunshield_outrigger_1_2", "sunshield_outrigger_1_3", "sunshield_outrigger_1_4", "sunshield_outrigger_1_5", "sunshield_outrigger_1_6", "sunshield_outrigger_2_1", "sunshield_outrigger_2_2", "sunshield_outrigger_2_3", "sunshield_outrigger_2_4", "sunshield_outrigger_2_5", "sunshield_outrigger_2_6", "sunshield_outrigger_3_1", "sunshield_outrigger_3_2", "sunshield_outrigger_3_3", "sunshield_outrigger_3_4", "sunshield_outrigger_3_5", "sunshield_outrigger_3_6", "sunshield_outrigger_4_1", "sunshield_outrigger_4_2", "sunshield_outrigger_4_3", "sunshield_outrigger_4_4", "sunshield_outrigger_4_5", "sunshield_outrigger_4_6", "sunshield_support_1", "sunshield_support_2", "sunshield_support_3", "sunshield_support_4", "sunshield_support_5", "sunshield_support_6", "sunshield_support_brace_1", "sunshield_support_brace_2", "sunshield_support_brace_3", "sunshield_support_brace_4", "sunshield_support_brace_5", "sunshield_support_brace_6"], "support_families": ["sunshield_outrigger", "sunshield_support_brace", "sunshield_support_mast"], "watch_families": ["sunshield_inner_frame", "sunshield_membrane", "sunshield_outer_frame"], "watched_component_names": ["sunshield_1", "sunshield_2", "sunshield_3", "sunshield_4", "sunshield_inner_frame_1", "sunshield_inner_frame_2", "sunshield_inner_frame_3", "sunshield_inner_frame_4", "sunshield_outer_frame_1", "sunshield_outer_frame_2", "sunshield_outer_frame_3", "sunshield_outer_frame_4"]}
deployment_sampled_state_kinematics_within_limitsPASS{"peak_acceleration_utilization": 0.8582400009537771, "peak_angular_acceleration_utilization": 0.8649050976135999, "peak_angular_velocity_utilization": 0.982364298405934, "peak_velocity_utilization": 0.968982698058022, "sample_count": 46, "violations": []}
deployment_sampled_state_stress_within_allocationPASS{"peak_stress_utilization": 2.7794371243184984e-06, "violations": []}
deployment_sampled_state_interference_freePASS{"collision_count": 0, "collisions": [], "minimum_clearance_m": -0.02400000000000002}
deployment_sampled_state_routed_flex_hardware_feasiblePASS{"failing_samples": [], "issues": [], "routes": [{"available_length_m": 1.18, "component_names": ["radiator_harness_1"], "description": "Main radiator harness run between the moving radiator-side connector and the fixed bus-side connector, with a routed slack allowance through the full carriage sweep.", "failing_sample_count": 0, "guide_part_names": ["radiator_mount_beam_upper", "radiator_mount_beam_lower"], "id": "radiator_harness_main_run", "minimum_residual_slack_m": 0.08, "minimum_residual_slack_seen_m": 0.10459310026390511, "passes": true, "peak_required_length_m": 1.0754068997360948, "peak_utilization": 0.9791583896068601}, {"available_length_m": 0.16, "component_names": ["radiator_service_loop_1"], "description": "Service loop retained near the radiator-side connector so the harness can sweep with the carriage without pulling taut at breakout or capture.", "failing_sample_count": 0, "guide_part_names": ["radiator_mount_beam_upper"], "id": "radiator_service_loop_transition", "minimum_residual_slack_m": 0.03, "minimum_residual_slack_seen_m": 0.0468629150101523, "passes": true, "peak_required_length_m": 0.1131370849898477, "peak_utilization": 0.8946067811865481}, {"available_length_m": 1.6, "component_names": ["detector_thermal_strap_1"], "description": "Port detector thermal strap run from the detector-side cold finger into the deployed radiator leaf, with retained slack so the strap never becomes a hard kinematic stop.", "failing_sample_count": 0, "guide_part_names": ["radiator_mount_beam_upper"], "id": "detector_thermal_strap_port_run", "minimum_residual_slack_m": 0.07, "minimum_residual_slack_seen_m": 0.1129286331853474, "passes": true, "peak_required_length_m": 1.4870713668146527, "peak_utilization": 0.9731696042591579}, {"available_length_m": 1.57, "component_names": ["detector_thermal_strap_2"], "description": "Starboard detector thermal strap run from the detector-side cold finger into the deployed radiator leaf, with retained slack so the strap never becomes a hard kinematic stop.", "failing_sample_count": 0, "guide_part_names": ["radiator_mount_beam_lower"], "id": "detector_thermal_strap_starboard_run", "minimum_residual_slack_m": 0.07, "minimum_residual_slack_seen_m": 0.10665409079056132, "passes": true, "peak_required_length_m": 1.4633459092094387, "peak_utilization": 0.9766534453563304}]}

Stowed launch-locked configuration

0 s · stowed_locked
spacing 0.035 m · restraints 6/6

Launch restraints, packed sunshield latches, and hold-down electromagnets keep the deployed hardware in the launch stack while the radiator support links and leaf hinges remain locked in the stowed package.

Stowed launch-locked configuration side view
Side quicklook
Stowed launch-locked configuration top view
Top quicklook

Launch restraint pyros fired

5 s · pyro_release
spacing 0.035 m · restraints 6/6

Pyro release devices fracture the restraint lock path while the actuators still hold the launch stack aligned and the radiator-side drive remains locked out.

Launch restraint pyros fired side view
Side quicklook
Launch restraint pyros fired top view
Top quicklook

Launch restraints retracted

20 s · preload_relaxed
spacing 0.035 m · restraints 0/6

Release actuators retract and remove the launch-only restraint load path before the thermal shell starts to unfold, leaving the radiator support-link drive armed but not yet translating.

Launch restraints retracted side view
Side quicklook
Launch restraints retracted top view
Top quicklook

Sunshield stow latches released

35 s · latches_open
spacing 0.039 m · restraints 0/6

The packed sunshield latch line is released so the membrane stack can start separating without the launch hold-down hardware fighting the motion; the radiator package is still held at its stowed capture features.

Sunshield stow latches released side view
Side quicklook
Sunshield stow latches released top view
Top quicklook

Sunshield membrane stack released

44 s · release_start
spacing 0.045 m · restraints 0/6

Hold-down electromagnets de-energize and the hinge/release line allows the membrane stack to begin separating into deployment travel while the radiator support carriage starts sweeping outboard under the released support-link drive.

Sunshield membrane stack released side view
Side quicklook
Sunshield membrane stack released top view
Top quicklook

Sunshield mid-deploy snapshot

180 s · mid_deploy
spacing 0.082 m · restraints 0/6

The thermal shell is partway through the release path; the radiator support carriage is mostly swept outboard, the twin radiator leaves are rotating open on their hinge lines, and the shroud closeouts are extending toward the deployed stop condition.

Sunshield mid-deploy snapshot side view
Side quicklook
Sunshield mid-deploy snapshot top view
Top quicklook

Deployed and captured

420 s · deployed
spacing 0.120 m · restraints 0/6

The membrane stack reaches the released spacing and the deployed latch line captures the final thermal-shell geometry after the radiator support carriage hits its hard stops and the frame capture tabs seat in the cold-view position.

Deployed and captured side view
Side quicklook
Deployed and captured top view
Top quicklook