# mavlink/mavros

MAVLink to ROS gateway with proxy for Ground Control Station

Repository: https://github.com/mavlink/mavros
Canonical: https://ross.abutalabs.com/products/mavros
Language: C++
License: NOASSERTION
License Family: other
Topics: ros, ros-node, mavlink, mavros, mavros-msgs, uav
Last push: 2026-08-24T08:00:03+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 99, longevity 100
- inputs: {"age_days": 4645, "days_push": 9, "days_rel": 11, "gap_med": 12.0, "n_releases_24m": 13}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1215, forks 1116 (observed 2026-08-28T04:04:01.173012+00:00)

## What it is
MAVROS is a MAVLink-to-ROS 2 gateway that exposes flight controller data (PX4, ArduPilot) as standard ROS 2 topics, services, and parameters. It also proxies between a ground control station, the flight controller, and multiple ROS processes over a single link.

## Use cases
- control a drone from ROS 2 without writing MAVLink code
- stream autopilot telemetry like IMU, GPS, and battery into ROS topics
- send arm, takeoff, land, and mode-change commands to a flight controller via ROS services
- upload waypoint missions and geofences to a UAV
- proxy MAVLink between a ground control station and multiple ROS nodes
- run software-in-the-loop drone simulations with PX4 or ArduPilot

## When to choose
- you build drone/UAV software on ROS 2 and need to talk to PX4 or ArduPilot
- you want standard ROS sensor_msgs instead of raw MAVLink
- you need to route one MAVLink link to a GCS and several ROS processes
- you want a plugin architecture to add custom MAVLink message handling

## When to avoid
- you are not using ROS or ROS 2 in your stack
- you need a lightweight MAVLink library without the ROS dependency
- your flight controller does not speak MAVLink
- you need ROS 1 support only (this targets ROS 2 Humble and newer)

## Facets
- artifact type: library
- maturity: active
- function: middleware, sdk, plugin-system, networking
- domain: robotics, autonomous-vehicles, developer-tools
- platform: cpp, cross-platform
- tags: mavlink, ros2, drone, uav, px4, ardupilot, ground-control-station, flight-controller, telemetry, sitl, drones, linux, ros

## Member repositories
- mavlink/mavros (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:01.173012+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:17:16.989322+00:00, confidence not recorded.
  - readme: https://github.com/mavlink/mavros (fetched 2026-08-28T04:04:01.173012+00:00, sha 93dc0df246a6)
- Data as of 2026-08-30T08:39:29.467469+00:00.
