# ArduPilot/ardupilot

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ardupilot-ardupilot).**

14,529 stars · 20,278 forks · C++ · gpl-3.0

## Links

- GitHub: https://github.com/ArduPilot/ardupilot
- Homepage: http://ardupilot.org/
- awesome-repositories: https://awesome-repositories.com/repository/ardupilot-ardupilot.md

## Topics

`arducopter` `ardupilot` `arduplane` `ardurover` `ardusub` `autopilot` `auv` `copter` `drone` `dronekit` `mavlink` `plane` `robotics` `ros` `rov` `rover` `sub` `uas` `uav` `ugv`

## Description

ArduPilot is an autonomous vehicle autopilot software platform designed to manage navigation, stabilization, and mission execution for aerial, ground, and marine vehicles. It functions as a comprehensive flight controller that utilizes a real-time operating system kernel to manage concurrent control loops, sensor fusion, and state-based logic for diverse operational modes.

The system distinguishes itself through a modular hardware abstraction layer that decouples navigation logic from specific sensor drivers and microcontroller architectures. It employs a message-oriented telemetry protocol to facilitate communication between the vehicle and ground stations, while an event-driven watchdog system continuously monitors health metrics to trigger automated recovery procedures during critical failures.

The platform provides a broad capability surface for unmanned system operations, including the execution of scripted navigation missions and the coordination of multi-axis payload stabilization for imaging. It also includes integrated systems for streaming real-time status metrics and recording high-fidelity telemetry data to support post-mission performance analysis.

## Tags

### Hardware & IoT

- [Autonomous Flight Controllers](https://awesome-repositories.com/f/hardware-iot/autonomous-flight-controllers.md) — Provides a comprehensive flight control system for autonomous navigation, stabilization, and mission execution across diverse vehicle types.
- [Robotics & Drones](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/robotics-autonomous-systems/robotics-drones.md) — Provides integrated software toolsets for developing, controlling, and operating autonomous drones.
- [Vehicle Control Interfaces](https://awesome-repositories.com/f/hardware-iot/integration-performance/automotive-software-systems/vehicle-control-interfaces.md) — Guides unmanned aerial, ground, and marine vehicles through complex paths using advanced control algorithms. ([source](https://ardupilot.org/ardupilot))
- [Autopilot Systems](https://awesome-repositories.com/f/hardware-iot/integration-performance/automotive-software-systems/vehicle-control-interfaces/autopilot-systems.md) — Manages autonomous navigation, stabilization, and mission execution across diverse aerial, ground, and marine vehicles.
- [Real-Time Sensor Fusion](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/sensor-processing/real-time-sensor-fusion.md) — Combines noisy data from multiple onboard sensors to estimate the precise orientation and position of the vehicle.
- [Unmanned System Safety Procedures](https://awesome-repositories.com/f/hardware-iot/unmanned-system-safety-procedures.md) — Implements automated recovery procedures to protect hardware during signal loss, low battery, or critical system failures.
- [Flight Mode Controllers](https://awesome-repositories.com/f/hardware-iot/integration-performance/automotive-software-systems/vehicle-control-interfaces/flight-mode-controllers.md) — Manages transitions between diverse control states like manual stabilization, loitering, and return-to-launch. ([source](https://ardupilot.org/ardupilot))

### System Administration & Monitoring

- [Telemetry Protocols](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/telemetry-protocols.md) — Implements a lightweight messaging standard for transmitting real-time telemetry data and control commands between unmanned vehicles and ground control stations.
- [Event Monitoring Systems](https://awesome-repositories.com/f/system-administration-monitoring/event-monitoring-systems.md) — Monitors system health metrics to trigger automated recovery procedures when safety thresholds are breached.
- [Logging and Telemetry](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry.md) — Records high-fidelity flight performance metrics and mission data to facilitate post-flight review and optimization.
- [Vehicle Telemetry](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/vehicle-telemetry.md) — Transmits real-time vehicle status and performance metrics to ground control stations for situational awareness.
- [Connection Health Monitors](https://awesome-repositories.com/f/system-administration-monitoring/health-monitoring/connection-health-monitors.md) — Monitors system health and connectivity to initiate automated recovery actions like returning to launch. ([source](https://ardupilot.org/ardupilot))
- [Performance Visualization](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/performance-visualization.md) — Provides visual dashboards and tools for reviewing vehicle behavior throughout the entire flight path. ([source](https://ardupilot.org/ardupilot))

### Development Tools & Productivity

- [Cooperative Task Schedulers](https://awesome-repositories.com/f/development-tools-productivity/background-task-schedulers/cooperative-task-schedulers.md) — Manages concurrent execution of flight control loops and background tasks with strict real-time timing requirements.

### Operating Systems & Systems Programming

- [Hardware Abstraction Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-abstraction-layers.md) — Decouples high-level navigation logic from specific microcontroller architectures and peripheral sensor drivers.
- [Failsafe Configuration Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/memory-safety-diagnostics/runtime-safety-validators/failsafe-configuration-layers.md) — Triggers automated recovery or landing procedures when detecting signal loss, low battery, or critical failures. ([source](https://ardupilot.org/ardupilot/index.html))

### Game Development

- [Flight Path Execution Tools](https://awesome-repositories.com/f/game-development/flight-path-execution-tools.md) — Provides utilities for commanding autonomous vehicles to follow specific geometric flight trajectories. ([source](https://ardupilot.org/ardupilot/index.html))

### Networking & Communication

- [Message Serialization Protocols](https://awesome-repositories.com/f/networking-communication/message-serialization-protocols.md) — Provides a lightweight binary communication standard for efficient transmission of vehicle state data.
- [Real-time Telemetry Streams](https://awesome-repositories.com/f/networking-communication/real-time-telemetry-streams.md) — Transmits real-time vehicle status and performance metrics to ground control stations. ([source](https://ardupilot.org/ardupilot))

### Software Engineering & Architecture

- [State Machine Orchestrators](https://awesome-repositories.com/f/software-engineering-architecture/state-machine-orchestrators.md) — Manages transitions between operational modes by enforcing specific safety constraints and control laws.

### User Interface & Experience

- [Camera Stabilization Controllers](https://awesome-repositories.com/f/user-interface-experience/camera-systems/camera-stabilization-controllers.md) — Coordinates multi-axis camera movement and sensor feedback to capture steady imagery during vehicle operation. ([source](https://ardupilot.org/ardupilot))
