mavlink/mavros

MAVLink to ROS gateway with proxy for Ground Control Station

解决的问题

MAVROS 提供了基于 MAVLink 的飞行控制器(如 PX4 和 ArduPilot)与 ROS 2 机器人框架之间的桥梁。它消除了开发人员手动实现 MAVLink 通信协议的需要,使开发者能够使用标准的 ROS 2 话题、服务和参数来编程无人机。

工作原理

MAVROS 作为飞行控制器单元(FCU)与 ROS 2 应用程序之间的翻译层(“粘合剂”)。它将通过 UDP、TCP 或串行连接发送的 MAVLink 消息转换为 ROS 2 消息。这包括:

  • 遥测:将自动驾驶仪状态、IMU、GPS 和电池数据转换为标准的 ROS 2 sensor_msgsmavros_msgs 话题。
  • 指令:将 ROS 2 服务转换为 MAVLink 命令,用于执行如解锁、起飞和降落等操作。
  • 路由:代理地面站、FCU 和多个 ROS 进程之间的通信。

适用人群

使用 ROS 2 并希望与 PX4 或 ArduPilot 等专业飞行控制器集成,但不想编写低级协议转换代码的机器人开发者和无人机程序员。

主要亮点

  • 广泛兼容性:已在 PX4 和 ArduPilot 上测试,包括 SITL 模拟环境。
  • 插件架构:采用可扩展的插件系统来翻译 MAVLink 消息,无需修改核心代码即可添加新行为。
  • 原生 ROS 2 支持:支持 Humble 及更高版本的 ROS 2 发行版。
  • 灵活的传输方式:支持 USB/串行、UDP、TCP 或共享 UAS 总线。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目