Top Simulation Tools for Drone Development
Simulation is increasingly critical for efficient drone development, and robotics in general. As such, many simulation tools have been developed to help tackle wide-ranging questions from mechanical layout to autonomous behavior validation – and everything between. But with so many use cases and simulation options available, how do you decide what tools are best for your team? In this post we review the top simulation tools available for drone development including their unique features, when to use them, and their major limitations.
Simulation Use Cases for Drones
Before we jump in, let’s review the main use cases for using simulations for drone development:
- Behavior development: developing behaviors like detect and avoid, landing and takeoff, or target acquisition and follow, usually requires simulated scenarios, agents, digital twins, and sensors.
- Navigation & planning: simulation is used extensively to evaluate and optimize planning, navigation, and obstacle avoidance functionality without putting real assets or people at risk.
- Localization & mapping: simulation can be used to develop a myriad of localization algorithms, test real-time or offline maps, and optimize sensor layout and performance for these applications.
- Computer vision: some form of computer vision is usually required for drone platforms. Simulation of sensors and worlds can accelerate development of these algorithms through synthetic data generation and sensor evaluation.
- Mechanical and electrical design: drones must be mechanically, thermally, and electrically optimized for their application requirements. Simulators are often used to accelerate this phase of the design process for engineers.
- Controller development: simulation can be used to model or integrate flight controllers to accelerate development of landing, stabilization, movement, and other operations.
- Integration and testing: integration of custom software or hardware often requires extensive testing. Both software in the loop (SITL) and hardware in the loop (HITL) full integration testing can be achieved with simulation.
Our Favorite Drone Simulation Solutions
Gazebo is regarded as the de facto robotics simulator and serves as the baseline for pretty much any simulator in the robotics space. It is a particular favorite among drone robotics engineers because it supports many types of virtual sensors, is compatible with ROS, supports Ardupilot and PX4 integration (with off the shelf drone models ready to use), is highly customizable, can simulate multiple systems at once, and leverages a sophisticated underlying physics engine. This means Gazebo can be used broadly for developing VTOL, fixed-wing, and quadcopter drone systems. The single biggest drawback of Gazebo, however, is the relatively low-fidelity and limited options for virtual worlds and assets. Complex agent scripting, animations, model rigging, and photorealism should not be expected, which limits Gazebo’s use for computer vision and autonomy development.
jMAVSim is a relatively simple simulator that only works with PX4 and is primarily used as a quick validation step in drone development. The physics, visual fidelity, and simulation dynamics are all relatively limited, as are the sensor options outside of the basic PX4 sensors. Despite these limitations, jMAVSim can be useful for “quick and dirty” prototyping to validate communication and some basic software functionality as proof of concept. Generally, however, engineers will find that they will quickly grow beyond what jMAVSim can offer.
Airsim is a plugin for Unreal Engine 4 and offers a simplified flight dynamics model for drone simulation that can interface with both Ardupilot and PX4. The visual fidelity of UE4 is unmatched in the simulation space, especially when combined with the flexibility enabled by designing and building custom environments. While the physical simulation of the drone is somewhat simplified, Airsim enables a wide range of sensor simulation options out of the box such as cameras or LiDAR which can be leveraged in real time to evaluate complex behavior systems. Due to the high level of visual fidelity, however, Airsim has substantially higher compute requirements compared to the other options on this list.
Auterion sim is a paid, cloud based simulation option for several PX4-based commercial drone platforms. The simulator features georectified maps of real world locations with a low level of visual fidelity, but a high level of PX4 and MAVLink feature compliance, including camera and gimbal support. This simulator is valuable for a variety of specialized tasks as well as general validation of systems which interact with PX4 enabled drones. Because it is web-based the usual computational limitations of simulating locally are mitigated.
Flightgear is an open source simulator which utilizes JSBSim to provide realistic flight dynamics and supports integration with the PX4. Visually, this simulator isn’t the most impressive on the list, but the use of JSBSim for the flight dynamics model means that aerodynamic simulation is highly realistic. Flightgear therefore strikes the right balance for evaluating and iterating on a new drone platform, provided it the drone modeled to reasonable accuracy.
JSBSim is not a simulator in its own right, but rather an open source Flight Dynamics Model which can be used for a variety of realistic aerodynamic simulation applications. This tool is used by some of the other simulators on this list as the flight model and is well regarded as a leader in accurate aerodynamic flight modeling. With JSBSim it is possible to model custom airframes and in May of 2022 a plugin was released for using JSBSim in Unreal Engine.
X-Plane is a modern simulator with support for Ardupilot integration (PX4 is now deprecated). With a high level of visual fidelity and a wide range of available vehicles, X-Plane is a compelling option for producing high quality demos of autopilot capability. Sensor support is limited outside of basic flight control sensors, but custom environments with high visual fidelity makes X-Plane a compelling simulation option for development.
Realflight is a simulator with the somewhat novel ability to design and test custom vehicle designs, enabling hardware design testing in a visual way. Visual fidelity is decent, but not sufficient for more advanced computer vision applications. This simulator is targeted at the RC community, but Ardupilot integration makes it possible for you to use it for behavior testing applications as well.
MATLAB & Simulink
MATLAB and Simulink are widely used tools in the world of physics design and controller calibration. While MATLAB and Simulink aren’t classic simulators like many of the others listed here, there are a variety of useful tools such as the UAV Toolbox, which you can use to develop custom implementations for PX4 and Ardupilot. MATLAB and Simulink can also be used to simulate sensor input, tune PID controllers, and generate code for a wide variety of more in-depth drone customizations.
Webots is an open source simulator similar to Gazebo for general robotics development and has support for Ardupilot integration (unfortunately not PX4). In terms of visual fidelity, Webots is somewhat limited, but the development of custom vehicles and sensor support is very robust. Simplified physics models are available for a wide range of vehicle types as well to accelerate your development.
SCRIMMAGE (Simulating Collaborative Robots in Massive Mulit-Agent Game Execution) is a simulator targeting drone swarming behavior development. It allows a user to simulate a vast number of drones together in simple environments with low visual fidelity optimized for multi-agent interactions. As a simulator, SCRIMMAGE provides a platform for flexible simulation of mobile robotics algorithms and has support for Ardupilot and PX4 integration.
Adinkra is an R&D engineering firm helping customers create state of the art robotics and AI products while minimizing costs and time to market. We combine a world-class engineering team with a flexible project management framework to offer a one-stop development solution and unlock your product’s full potential for your customers.