MAVROS
mavros
机器人, 飞控/无人机
🧩 软硬件结合
已发布
项目简介
MAVLink to ROS gateway with proxy for Ground Control Station
MAVROS 是一个专为 ROS(机器人操作系统)设计的 MAVLink 可扩展通信节点,旨在搭建地面控制站、机载计算机与无人机飞控(如 PX4、ArduPilot)之间的高效桥梁。该项目自 2014 年启动,经过多年迭代,已从最初的 ROS1 版本演进至支持 ROS2(Humble、Jazzy、Rolling 等)的成熟框架。其核心功能包括:通过 MAVLink 协议与飞控双向通信,订阅并发布传感器数据(如 IMU、GPS、姿态)、执行器控制指令(如电机、舵机)、任务规划与状态监控。技术栈上,MAVROS 基于 C++ 开发,依赖 GeographicLib 库实现海拔高度(AMSL)与 WGS84 坐标系的高精度转换,并支持 MAVLink 2.0 协议(不含签名)。项目由多个子包构成:mavros 主包提供核心节点与插件;mavros_extras 扩展包包含高级功能(如摄像头触发、距离传感器);libmavconn 库可脱离 ROS 独立使用;mavros_msgs 定义专用消息与服务类型。MAVROS 解决了开发者直接解析 MAVLink 协议、处理硬件兼容性、集成 ROS 生态的痛点,尤其适用于无人机自主导航、编队飞行、测绘巡检等场景。其社区活跃,支持通过 Gitter、PX4 论坛等渠道交流,且持续适配最新 ROS 发行版,是 ROS 无人机开发的事实标准工具。
标签
项目特点
作为 MAVLink 和 ROS 之间的双向通信网关
支持 MAVLink 2.0 协议(不含签名)
可扩展的插件架构,支持自定义节点和功能
支持多种地面站(GCS)和自动驾驶仪(如 PX4、ArduPilot)
提供 libmavconn 库,可在 ROS 环境外独立使用
支持 AMSL 和 WGS84 海拔高度转换(需 GeographicLib)
提供测试包支持 APM 和 PX4 SITL 仿真测试
技术规格
| 协议 | |
|---|---|
| 支持 ROS 版本 | |
| 依赖 | |
| 主要语言 | |
| 许可证 | |
| 子包 | |
| 支持平台 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Ubuntu Linux | 1 | — | 推荐 22.04+ |
| ROS2 (Humble/Iron/Rolling) | 1 | — | 必需 |
| GeographicLib | 1 | — | 必需 |
| 无人机(PX4/ArduPilot) | 1 | — | 可选,用于实际测试 |
| 遥测模块 | 1 | — | 可选,用于实际通信 |
能力画像
⚪ 记忆与知识检索: 3/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 2/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 3/5
⚪ 动手与操作: 2/5
⚪ 狂热与坚持: 4/5
⚪ 创造与创新: 3/5
所需技能
🔧 **动手能力**:需要配置无人机硬件和遥测设备,进行实际飞行测试
💻 **编程能力**:需要 C++ 编程经验,熟悉 ROS2 开发框架和 MAVLink 协议
⚡ **电子电路**:了解无人机电子系统、遥测通信和传感器集成
适用场景
无人机自主飞行控制系统的开发与测试
基于 ROS 的无人机集群协同控制
无人机与地面站之间的数据中继和通信
无人机视觉导航和避障系统的集成
无人机仿真环境(SITL)与 ROS 系统的对接