AeroSim overview
This page gives a broad overview of AeroSim's software components and their functions.
Software components
AeroSim is designed as a modular system, emphasizing independence and interoperability between components. Different components communicate through standardised data formats, allowing new modules to be integrated or existing modules to be modified more easily.

Data middleware
The data middleware facilitates high-throughput, low-latency data streaming between all components of the system. AeroSim is currently configured to use Apache Kafka. Integration of the Data Distribution Service (DDS) protocol is planned for the future.
Orchestrator
The orchestrator coordinates the various elements of the simulator, governing the simulation clock and time-stepping, sending and receiving dynamics data from the FMU, sending information to the 3D rendering pipeline and communicating with machine learning infrastructure.
Sim state datastore
The sim state datastore retains all information relevant to the simulation, including the scene graph, semantic data, actor poses and states and parent-child relationships.
FMU driver
The FMU driver evaluates a Functional Mock-up Unit (FMU) which defines the flight dynamics of a vehicle or other types of custom dynamic behaviour. The FMU must implement the Functional Mock-up Interface standard.
Renderer
The rendering component simulates the interaction of the sensors with the 3D scene and produces realistic simulated sensor data. The output data is either fed to a stream for real-time playback or interaction with a simulation, or it is saved for later use in machine learning. AeroSim can be configured to use either the Omniverse Kit App or the Unreal Engine to suit the application requirements.
Cesium plugin
The Cesium plugin downloads 3D geospatial data from the Cesium Ion web-service. Using geospatial coordinates defined by the simulation configuration used by the orchestrator, the Cesium plugin downloads available geospatial maps derived from Google maps or Bing maps for use in the simulation, providing 3D environments based on real-world photogrammetry data.