
Summary
Jonnie Diegelman, a guidance navigation and control engineer at NASA’s Launch Services Program, presents a comprehensive case study on spacecraft separation dynamics modeling and the transition from Simulink to Julia for simulation tools. He begins by explaining the critical spacecraft separation problem, emphasizing the challenges of controlling tip-off rotational rates and maintaining minimum relative velocity to prevent re-contact between spacecraft and launch vehicle stages. The talk outlines the limitations of the existing Simulink-based separation analysis tool, including inflexibility in handling multiple spacecraft configurations, difficulty managing dispersed and derived parameters, complexity of input decks, slow simulation speed, and lack of interactive capabilities for design exploration and optimization.
Jonnie introduces a new Julia-based tool called RECURSAT, developed to address these problems with a recursive design that supports arbitrary spacecraft configurations. The tool integrates seamlessly with the Julia ecosystem, leveraging packages such as DifferentialEquations.jl and component arrays, enabling modular, efficient, and physically unit-consistent simulations. Recursat significantly reduces input complexity (from over 1,000 lines of MATLAB code to a concise and modular input), speeds up Monte Carlo simulations from 15 minutes to under 60 milliseconds for thousands of runs, and facilitates interactive parameter tuning, optimization under uncertainty, automatic differentiation, and global sensitivity analysis.
He demonstrates the tool using a typical spacecraft separation design problem, showing how engineers can visually assess and tune parameters such as ballast mass and position to meet strict tip-off and relative velocity requirements. The combination of speed, flexibility, and composability in Julia allows for rapid iteration, intuitive exploration of system sensitivity, and robust optimization, which are critical for modern multi-spacecraft missions including cubesats and ride-share payloads. The presentation concludes by highlighting the ease of setting up sensitivity analyses and optimization pipelines with minimal code, showcasing the power and efficiency of modern Julia-based simulation tools for aerospace engineering.
Highlights
Spacecraft separation involves managing tight tip-off rotational rates and minimum relative velocities to avoid re-contact during launch vehicle separation.
Existing Simulink tools are inflexible, complex, slow, and difficult to scale for multi-spacecraft configurations like cubesats and ride-shares.
RECURSAT, using Julia, supports arbitrary configurations through modular, composable differential equations.
RECURSAT dramatically reduces simulation runtime from 15 minutes to under 60 milliseconds for thousands of Monte Carlo runs using Julia.
The new tool simplifies input from over 1,000 lines of MATLAB code to a concise, easy-to-manage script with physical unit enforcement.
Enables interactive parameter tuning, global sensitivity analysis, and optimization under uncertainty with automatic differentiation.
Visualization through MeshCat.jl provides intuitive 3D simulation results facilitating better engineering insights and decision-making.
Key Insights
Critical Balancing of Tip-Off Rates and Separation Velocity:
Spacecraft separation dynamics require balancing rotational tip-off constraints (often less than 1–2 degrees per second) and minimum relative velocity to avoid collision. This balance is sensitive to physical parameters such as spring constants, vehicle mass properties, and connector forces, underscoring the complexity of modeling realistic separation events. This insight highlights why simplistic or rigid tools are inadequate for modern mission demands.
Limitations of Simulink for Modern Spacecraft Separation Analysis:
Simulink’s block-diagram, GUI-based approach restricts flexibility, especially for multi-spacecraft or ride-share configurations increasingly prevalent in current missions. The static input deck approach creates a maintenance and usability bottleneck, with over 1,000 lines of MATLAB code prone to error and difficult for new engineers or interns to manage. This insight reflects a broader challenge in engineering simulations: balancing usability with flexibility and extensibility.
Recursive Modeling Enables Arbitrary Configuration Handling:
The recursive design RECURSAT uses allows modeling parent-child spacecraft relationships naturally, passing forces and state updates down and up the hierarchy. This abstraction handles any vehicle configuration, from single payloads to complex multi-vehicle separations, providing scalability critical for emerging mission architectures. The insight here is that recursive algorithms can elegantly solve complex spacecraft system interactions without bespoke coding for each scenario.
Dramatic Performance Gains Through Julia and DifferentialEquations.jl:
Migrating to Julia and leveraging DifferentialEquations.jl provides a massive speedup (from 15 minutes for hundreds of runs to under a second for thousands). This performance gain enables interactive exploration, rapid Monte Carlo analyses, and feasibility of optimization under uncertainty, transforming engineering workflows from static, slow batch jobs to dynamic, iterative design processes. This insight illustrates how modern programming languages and ecosystems can revolutionize engineering analysis.
Modular and Composable Data Structures Enhance Usability and Extensibility:
Using component arrays and structured types in Julia allows for clean, modular input definitions and seamless integration with solvers and optimizers. This approach contrasts with monolithic input decks and enables engineers to specify only relevant parameters, reducing complexity and error potential. The insight emphasizes the importance of software architecture and data structure design in simulation tool effectiveness.
Physical Units Enforcement Reduces Errors in International Collaboration:
The requirement that all inputs carry physical units ensures consistency and reduces unit conversion errors, a common issue in multinational aerospace projects where both imperial and metric systems are used. This insight highlights a practical but often overlooked aspect of simulation tool design—unit safety can prevent costly mistakes and rework.
Integrated Sensitivity Analysis and Optimization with Auto Diff:
Incorporating automatic differentiation and global sensitivity analysis as first-class capabilities enables engineers to understand parameter impacts and optimize designs under uncertainty efficiently. This integration is particularly valuable in aerospace, where robust design against uncertain conditions is critical. The insight here is that embedding these advanced mathematical tools within the simulation framework empowers smarter, data-driven engineering decisions rather than trial-and-error approaches.
Conclusion
Jonnie Diegelman’s presentation showcases how transitioning from traditional, rigid simulation environments like Simulink to a modern, flexible, and high-performance Julia-based framework can dramatically improve spacecraft separation analysis. By embedding recursive modeling, composable data structures, physical units enforcement, and advanced mathematical techniques such as auto differentiation and global sensitivity analysis, NASA’s use of Julia enables fast, scalable, and robust simulations. These advancements not only accelerate engineering workflows but also empower engineers to interactively explore design spaces and optimize under uncertainty—capabilities essential for the increasingly complex and multi-payload space missions of today and the future.