Hello Julia community,
I wanted to start by saying I really do appreciate Julia and that I don’t like the closed ecosystem of MATLAB/Simulink. However, I feel Simulink, with its real-time package and coders, is the king of hardware-in-the-loop (HIL) simulation. Notwithstanding my disdain for MATLAB, at work I chose to use Simulink for HIL simulation.
My company is working with a few partners, one of which is supplying the core simulation model in FMU format (in co-simulation mode, black box model). This FMU model needs to run at around a 500 Hz update rate. Around this model, I am adding a few lightweight models.
The simulation needs to interact with a physical autopilot that provides a UDP interface to override its sensor readings with the simulation outputs. To match the clock of the physical autopilot, I need to pace my simulation to match the wall clock; however, I do not need sub-millisecond time accuracy. As of today, the simulation sends its output to the autopilots at a 100 Hz update rate.
ModelingToolkit (MTK) is the Julia analogue of MATLAB Simulink but with an acausal engine. From my understanding, MTK development has mostly been directed toward offline simulation of big models on big computers, less toward time determinism. Also, I feel the inherent causal nature of an FMU model negates the acausal advantage of MTK.
And lastly, we might want to use Simulink Coder in the future to produce DO-178C-compliant code and deploy it on autopilot hardware. I wonder if there is any ambition for Julia/MTK to compete with these MATLAB/Simulink workflows. In short, what I want to know is what is the long term vision.
I am dreaming of the day where the answer will be always Julia and MATLAB will become irrelevant.
Am I getting it wrong? What does the community think?