Virgin Orbit Simulates LauncherOne Stage Separation Events
Simulate separation events for LauncherOne spacecraft to ensure sufficient clearance between separating structures
Use MATLAB, Simulink, and Simscape Multibody to model structural components, automate Monte Carlo simulations, and analyze and visualize results
- Simulations completed 10 times faster
- Simulation set up times cut by up to 90%
- Hardware designs informed by simulation results
“MATLAB and Simulink saved us about 90% on costs compared with the alternative we considered while giving us the coding flexibility to develop our own modules and fully understand the assumptions being made, which is essential when reporting results to other teams.”Patrick Harvey, Virgin Orbit
LauncherOne is Virgin Orbit’s two-stage launch vehicle for delivering small satellites into low earth orbit. To reduce costs and increase launch location flexibility, LauncherOne is designed to be air-dropped from a 747-400 carrier aircraft in flight. Each mission will entail several crucial separation events, including the separation of LauncherOne from its carrier aircraft, the first stage from the second, the fairing from the second, and the satellite payload from the second.
To ensure adequate clearance between separating structures, engineers at Virgin Orbit used Simulink® and Simscape Multibody™ to model and simulate LauncherOne separation events. In addition to minimizing the risk of collisions, the simulation results are used to inform design decisions for the spacecraft structural components and separation mechanisms.
“We considered several modeling and simulation options, including open-source libraries and costly commercial software packages,” says Patrick Harvey, associate engineer at Virgin Orbit. “Simulink and Simscape Multibody provide the best of both options: the flexibility of open source—without the steep learning curve—and the confidence and time-savings advantages of commercial solutions—without the high cost.”
When the structural design for LauncherOne was still in development, Harvey and his team had to account for a number of unknowns in the analysis of separation events, including the mass properties of each component as well as the forces and timing characteristics of the pneumatic and spring pushers used to initiate separations. The team needed to run thousands of Monte Carlo simulations while varying the values of these uncertain parameters to determine whether a specific parameter combination would cause a collision.
With so many simulations needed, the team wanted to automate the simulation process and to run simulations concurrently on multiple computing cores. With its existing simulation system incapable of automation or parallel processing, the team began looking for an alternative. Open-source solutions would take too long to verify and customize, while bespoke multibody dynamics simulation software packages were too costly and difficult to customize.
Virgin Orbit engineers modeled and simulated LauncherOne stage and payload separation events with Simulink and Simscape Multibody, using Parallel Computing Toolbox™ to run simulations in parallel on multicore processors.
Working in Simulink with Simscape Multibody, the team constructed a preliminary model consisting of basic 3D shapes, including spheres, cones, and cylinders.
During these early simulations, they used 2D cross-sections and a 2D distance equation to measure clearances. They then implemented a Gilbert-Johnson-Keerthi (GJK) collision detection algorithm in MATLAB® to calculate the distance between 3D objects. The team based their implementation on an algorithm downloaded from MathWorks File Exchange.
Next, the group exported point clouds for the structural components from their CAD software. They created a MATLAB app that used the exported data for each component to create an equivalent 3D convex hull in Simscape Multibody.
After verifying the model via manually initiated simulations, the team created a second MATLAB app that automates Monte Carlo simulations on multiple processing cores using Parallel Computing Toolbox.
This app reads 50 to 100 simulation parameters, along with their value distributions and limits, from a Microsoft® Excel® spreadsheet. It then runs up to 1000 simulations while varying parameter values, and saves the results—typically, several gigabytes of data—for postprocessing in MATLAB.
During postprocessing, the team examines any simulation scenarios in which components collided or passed within a threshold distance of one another, using the Mechanics Explorer tool in Simscape Multibody to visualize the physical movement of the components.
Simulation results are provided to Virgin Orbit hardware design engineers as well as to guidance, navigation, and control (GNC) engineers, who use Simulink to develop and simulate control algorithms.
The team is currently working on simulating the air-drop separation event, which will incorporate a model of aerodynamic forces and effects. The team is also refining the model based on results from floor tests of flight hardware in preparation for the spacecraft’s maiden launch.
- Simulations completed 10 times faster. “With Simulink and Simscape Multibody, we can employ simplifying assumptions and parallel processing to reduce simulation times from days to hours,” says Harvey. “Just as important, we can automate the simulations so they run in the background or overnight, and have the results waiting for us in the morning.”
- Simulation setup times cut by up to 90%. “Each simulation run involves setting up anywhere from 50 to 100 variables,” Harvey says. “We use MATLAB and Simulink to read these variables from a spreadsheet, which makes it easy to prepare the simulations and cuts setup times by a factor of 5 to 10.”
- Hardware designs informed by simulation results. “We used results from Simulink simulations to inform decisions on bracket sizing and geometry changes,” says Harvey. “The results also help us understand which tolerances can be loosened to simplify manufacturing and which have to be tightened to ensure adequate separation clearances.”