As a performance predictor, Instron ships a digital twin of the catapult system to customers, which customers then use to fine tune the system operation, greatly enhancing the efficiency of their lab. Modeling, simulation and digital twins are a vital part of the design workflow of the catapult system. Brad Carman, Instron Engineering Manager, explained in a 2022 JuliaCon presentation, Modeling a Crash Simulation with ModelingToolkit.jl.
Instron previously developed a physics based parametric “Implicit Newton/Euler Equation Based model in pure code with inverse and subset model generator using symbolic tools.”
The advantages over previously used non-parametric generalized frequency response modeling were “increased accuracy, elimination of assumptions and increased complexity.” This new model “worked well” but was “slow” and “hard to update and maintain.”
In 2017, Instron attempted to move to third party modeling software.
Instron “successfully transitioned [the] model with improved speed, but [it] required many workarounds and hacks … the biggest challenge coming from the dual language problem.” Ultimately, this version was never released.
In 2020, Instron migrated to JuliaSim for modeling and simulation workflows. Instron started by leveraging ModelingToolkit.jl and developed two new libraries in Julia for internal use:
EmbeddedJulia Library, which embeds Julia in C#, the language Instron uses to develop applications
ModelingToolkitComponents.jl, a wrapper package that provides additional functionality for ModelingToolkit
The new workflow helped streamline software development, greatly accelerating the task of embedding models in applications and improved model development. ModelingToolkit.jl increased flexibility, making it much easier to explore complex design scenarios using the model. This change allowed Instron to explore the capabilities of the recently released 8800ML Instron controller, including investigating the hypothesis that mechanical complexity of the system could be simplified if the controller could be tuned well enough.
The original Catapult system is composed of two systems in one, providing high and low gain modes. Instron then used JuliaSim to answer the question: can the low gain mode be eliminated if the controller is optimally tuned? Without simulation, this question would be nearly impossible to answer because the system is discontinuous and there could be a loss of control, creating a safety risk. But even with simulation, using an iterative optimization technique to tune the controller, a single loss function data point requires running through a full test cycle, a complex sequence of calculations and simulations which previously took 10+ minutes with third party modeling tools. Running an optimization requiring at least 1000+ iterations would have taken well over 166 days.
JuliaSim enabled a 500x speedup for this workflow, cutting runtime down from months to hours. This made controller optimization feasible and also made it possible to explore full system changes to find the best performing solution with a single mode of operation. This project resulted in a new simpler, lower cost configuration “Catapult Light”, that can provide performance and precision only possible previously with a lower gain system. This means it’s now possible to achieve both high and low dynamics and high and low force levels with just one system and one mode, substantially reducing cost and complexity. Furthermore, high and low dynamics and force can be produced in the same signal, enabling a new type of testing not thought possible before.
Catapult and Catapult Light Models
Full Test Cycle
Each point represents a system run, which takes about 5-15 minutes in real life, roughly one minute with the previous model, and just a fraction of a second with JuliaSim
High Severity LowG
High Severity LowG Signal Performance with Original Controller
Performance with Optimized Controller from JuliaSim Model Optimizier
In his JuliaCon 2022 presentation Modeling a Crash Simulation with ModelingToolkit.jl, Instron’s Brad Carman demonstrates how Julia allows the model and code to be simplified significantly, increasing speed and efficiency.
“This is of course a great example of the power of acausal modeling and being able to generate models in pure Julia code … [offering] significant efficiency gains,” Brad Carman explains.