Trainer is a simulation based on Gazebo that allows developers to safely test their code before attempting a physical flight. When running Airliner in a simulated or "Software in the Loop" (SITL) mode, most of the Airliner software is being executed exactly as it would be in real life. Only Airliner driver applications have a small component that is different than when flying with the real hardware. Most flight control applications do not access hardware, so they run exactly as they do on the real hardware. This gives developers a high fidelity environment to safely test their code, but also lets pilots and operators safely gain experience working with their drone and the Airliner ecosystem.
Gazebo is commonly used by other drone autopilots. The primary difference between these and how the Airliner ecosystem uses it is that we integrate the flight software to the simulation in such a way as to maximize the commonality with the real world configuration. Sensor data from the simulation is converted to resemble the actual format the real hardware would present to the flight software. This allows developers to execute as much of even the driver applications as possible. This also means the PC that the simulation is running on must provide the SITL version of Airliner sensor data fast enough to be compatible with stable flight. When the simulation is not able to keep up, simulated flight becomes unstable. For this reason, Trainer does not run well in a virtual machine like Workshop. It runs well on a quad core Intel i7 with 16 GB of RAM. A more slimmed down, lower fidelity, simulation is currently in development.