A flexible simulation framework allows the easy addition of new simulation backends.
jMAVSim is a simple and lightweight multirotors simulator. It can work with the autopilot via serial port or UDP connection, directly using the MAVLink protocol, without any wrappers or ground control stations. Optional secondary port (e.g. UDP) can be configured for ground station connection.
The SITL (software in the loop) simulator allows you to run Plane, Copter or Rover without any hardware. It is a build of the autopilot code using an ordinary C++ compiler, giving you a native executable that allows you to test the behaviour of the code without hardware.
ROS Gazebo Simulator
Gazebo is a PX4 compatible advanced robotics simulation environment that allows you to simulate the complete system to test new controllers or estimators. In addition to simulating avionics, Gazebo provides the capability to replicate cameras and laser sensors.
Other Compatible Simulators:
last_letter is a collection of ROS packages suitable for Unmanned Aerial Vehicle research, control algorithm development, non-linear physics simulation, Software-in-the-Loop (SIL) simulation and Hardware-in-the-Loop (HIL) simulation. It is developed by George Zogopoulos-Papaliakos. Currently Last_Letter is in the early stages of development and is ssed for fixed wing and tiltrotor simulation in APM/ArduPilot SITL.
JSBSim is an open source software library that models the dynamics of flight of an aerospace vehicle. The library can be incorporated into larger simulation packages (such as FlightGear and OpenEaagles), or it can be called from a small standalone program to create a batch simulation tool. JSBSim has been in development and use since 1996, and has been built on all of the most popular platforms in use today including those running Linux, Macintosh, and Windows operating systems. Used for fixed wing simulation
X-Plane is a accurate flight simulator which supports fixed wing models. Only XPlane 10 is officially supported and tested with PX4 but (untested) legacy support for XPlane 9 is available in QGroundControl.