ArduPilot
ArduPlane, ArduCopter, ArduRover, ArduSub source
...It supports airplanes, multicopters, helicopters, rovers, boats, submarines, balance bots, and other specialized vehicle types. Separate vehicle stacks include ArduPlane, ArduCopter, Rover, ArduSub, and Antenna Tracker. The software provides manual-assisted modes as well as fully autonomous missions with waypoint navigation and scripted behavior. Advanced failsafes can react to lost control links, low batteries, positioning problems, and other system failures. MAVLink telemetry connects vehicles with ground stations and companion computers for configuration, monitoring, and mission control. ...