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 總線。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案