Technical lead : Riley
The flight dynamics team are designing a rocket simulator. We want this simulator to be compatable with the current HITL system on the PickleRick board, and also for the Atlas ecosystem, for both HITL and SITL.
The point of this project is to define a standard interface for flight dynamics that they can implement, which will enable easy integration into the software ecosystem.
This task simply entails producing a high level interface document that the simulation should expose.
This component should act as an adapter from between the HITL interface, running over a udp port, to the serial I/O interface, so that the sensor data can be used on rocket components.
As stated in the HITL interface document, the adapter should connect to a port running on the simulator, and follow the control specification.
The software architecture diagram should show how the component interacts with the different external components and how you are going to manage complexity and make the system adaptable and easy to change. The component is able to be modularised and the design should show this.
It should show classes and functions and how the data flows around the application, should also show control flow / any states.
Implement sub system to connect to simulator UDP port and implement communication protocol.
Design RNP HITL message.
Implement sub system that connects to RicardoBackend.
As a template, use the socketiocommand.py file in RicardoBackend-Apps.
Make all of the HITL code compile time. Look into using #define’s and #ifdef(HITL_SIM) to wrap the code. This basically optimises it away when we are launching which will be nessesary for performance.
Link any resources here, i.e. other diagrams, schematics, online articles / designs.
https://en.wikipedia.org/wiki/Hardware-in-the-loop_simulation