Overview
Ardupilot is a firmware that is commonly run on consumer off the shelf (COTS) flight controllers that WARG uses. These devices use MAVLink as their primary telemetry communication protocol.
Software simulation of hardware components allows testing of software components without requiring hardware to be physically present. This is known as software in the loop (SITL).
The Ardupilot SITL Simulator lets WARG test software using MAVLink without requiring a physical drone.
Mission Planner
Download and install Mission Planner: https://ardupilot.org/planner/docs/mission-planner-installation.html
Windows only, not tested on Linux
Follow the steps here: https://ardupilot.org/planner/docs/mission-planner-simulation.html#setup-and-use
The Simulation tab is at the top of the screen
Select Multirotor and Stable , unless you specifically need another vehicle
Mission Planner automcatically downloads and runs the SITL files, and then conneccts to the simulated vehicle.
Mission Planner is ready to be used as though it is connected to a real drone!
MAVLink Forwarding
Mission Planner can be used as a bridge between the drone and another application:
Ctrl+f
Click on Mavlink
If you are running another application, proceed to step 3
If you are observing MAVLink telemetry messages only, proceed to step 4
Another application:
In the upper dropdown, select TCP Host - 14550
Check the Write access checkbox
Click Connect
Enter port 14550 , unless you are specifically using another port
Click OK
The application is ready to receive telemetry and send commands
Observation only:
In the upper dropdown, select UDP Client
Leave the Write access checkbox unchecked
Click Connect
Enter 127.0.0.1 , unless you are specifically using another IP
Enter port 14550 , unless you are specifically using another port
Click OK
Mission Planner is now broadcasting telemetry
Ardupilot Only
Untested.
The Ardupilot website has extensive documentation on setting up the SITL found here (https://ardupilot.org/dev/docs/sitl-simulator-software-in-the-loop.html). You may be able to download the SITL binary without compiling yourself by downloading the firmware from here: https://firmware.ardupilot.org/Copter/latest/. And use https://github.com/ArduPilot/ardupilot/blob/master/Tools/autotest/sim_vehicle.py to run it. (although this is untested).
DroneKit
Untested.
DroneKit also has a SITL simulator.
TODO: Links