MAVROS

mavros

机器人, 飞控/无人机 🧩 软硬件结合 已发布
mavlink 4388 Stars 未知 BOM 完整度: 3/5 教程完整度: 0/5

项目简介

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 系统的对接