Drone simulation software is recently more and more popular.
So far we distinguish two main purposes for drone simulation:
Before moving to the details it is necessary to present some information in general: flight simulator is not only the software, running on the computer to visualize and entertain users: the common purpose is practice and development/experimentation to avoid risks related to the real world development where i.e. faulty firmware or software can break construction, hurt people and cause damage. This is important for both UAVOs and constructors/developers but their requirements are different. For this reason, we split drone simulators into two categories. Obviously, many of them can act as both.
Simulation for research and development usually requires the inclusion of the other components, more than just the simulator itself, but also other software and hardware i.e. ground control stations and RC controller. For this reason, this class of simulators includes the ability to simulate autonomous flight and involves popular hardware to be used as in the case of a real drone.
In details, this includes the use of the FC (most common is PX4 along with MAVLink protocol but other FC stacks are also supported, i.e. Ardupilot) as a part of the simulation, in opposition to the simulators for UAVO training only, where hardware use is limited with connecting an RC controller to the PC simulator at most, simply replacing the joystick to make the simulation as much realistic for the UAVO as possible.
There are two types of inclusion of the FCs into the simulation process for research and development simulation class: HIL / HITL (Hardware-In-The-Loop) and SIL/SITL (Software-In-The-Loop).
In the case of the Hardware-In-The-Loop, a physical FC device is connected to the simulator. Obviously, it uses only some features of the FC, i.e. use of IMU or connected GPS is impossible as hardware physically is stable and located in one place. It is common that FC interfaces with at least an RC receiver and RC transmitter, to let the user/operator perform operations. As FC interfaces PC simulator, the common communication port is then excluded so it may not be possible to integrate easily with ground control station solution but that varies (Figure 1).
In the case of the Software-In-The-Loop, FC hardware is replaced with a software module, usually running as a separate virtual machine (or Docker container). For PX4 SITL it is always a Linux solution, even in the case of the simulator running under Windows. Figure 2 presents schematics.
At the moment, there are multiple solutions, but the following simulators are freely available thus they are popular among a variety of users:
Many inexperienced operators found it useful to practice first, using virtual equipment, where any crash is virtually costless in opposite to the real devices.
For this purpose, many drone vendors provide simulators for training, i.e. DJI and Yuneec.
Most of the drone simulators of the operator's training class use a simplified physics model and graphics, which results in not so realistic UI in terms of simulation and graphics quality, yet good enough to practice the operator's reflexes.
Use of this kind of simulator is obligatory in many countries when practicing and preparing for professional UAVO certification, as the first step towards practical, outdoor part of the training.
Some simulators are composed just like a playground area for model flights while advanced present scenarios the virtual operator is supposed to implement, also verified in time and space, including time-limited and quality evaluated virtual exams. Simulators of this kind used to provide various airframes to choose between, different camera positions, i.e. one can observe the drone from the ground, or use the onboard camera, simulating FPV flight, and so on.
It is a common approach, that simulators are somehow open to connect any controller, as they used to be able to use a regular Joystick/Game controller that is visible in the operating system. There used to be hardware, mostly USB-based receiver that is capable to act like FC, where you can connect various Receivers thus use your own Controller. This approach introduces the natural latency of the RC link and the use of your familiar controller but that also requires some configuration of binding RC channels with appropriate software functions.
A non-exhaustive list of training drone simulator is juxtaposed below:
Most of those simulators use the HITL model only and hardware supported is usually limited to the proprietary.