ArduPilot
ArduPlane, ArduCopter, ArduRover, ArduSub source
...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. Extensive logging, sensor integration, camera control, scripting, and hardware support make it suitable for hobby, research, and commercial robotics.