MAVROS
- Software
- Drones and boats
- Driver or SDK
MAVROS is a bridge that exposes MAVLink autopilots such as PX4 and ArduPilot as ROS 2 topics, services and parameters, so drones can be programmed like other robots.
Source on GitHub: github.com/mavlink/mavros (opens in a new tab). Facts read at commit 2d3f4db (opens in a new tab).
Licenses
- Code
- BSD-3-Clause (opens in a new tab) OR GPL-3.0-only (opens in a new tab) OR LGPL-3.0-only (opens in a new tab)
Read by Robotheca from LICENSE-BSD.txt (opens in a new tab) (BSD-3-Clause), LICENSE-GPLv3.txt (opens in a new tab) (GPL-3.0-only), LICENSE-LGPLv3.txt (opens in a new tab) (LGPL-3.0-only) and LICENSE.md (opens in a new tab) at commit 2d3f4db (opens in a new tab), on 30 Oct 2026. A license text Robotheca's reader does not know: a person at Robotheca set it on 5 Nov 2026.
- Commercial use
- Yes
What it does: Robotheca's summary
- Streams autopilot telemetry such as IMU, GPS, attitude and battery as standard ROS 2 topics.
- Accepts commands like arm/disarm, takeoff, land, mode changes and mission or geofence uploads via ROS 2 services.
- Can route traffic between a ground station, the flight controller and several ROS processes over one link.
- Uses a plugin architecture so each MAVLink message can be translated, and new behaviour can be added without changing the core.
- Supports USB/serial, UDP, TCP and shared UAS bus transports; the libmavconn library can also be used outside ROS.
- Ships a core package, optional extras, message interfaces and example scripts for task control and waypoint missions.
Written by Robotheca from the project's README (opens in a new tab) at commit 5c68b90.
Getting started
- Difficulty
- Intermediate
- How to start
- The project's README (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 24 Oct 2026 on ros2
- Latest release
- Release 2.16.0 (27 Sept 2026)
Checked on GitHub on 30 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.