ROS 1 / ROS 2

./_images/rosorg_logo.png

可通过以下方式扩展 ArduPilot 的功能 ROS (又名机器人操作系统)。

ROS ROS1 提供库、工具、硬件抽象、设备驱动程序、可视化程序、消息传递、软件包管理等,帮助软件开发人员创建机器人应用程序。ROS1 正在被 ROS 2

../_images/ros2_logo.jpg

如果您不确定使用哪个版本,ArduPilot 开发团队建议使用 ROS 2,因为 ROS 1 将于 2025 年到期。

先决条件

在将 ArduPilot 与 ROS 结合使用之前,应首先熟悉 ArduPilot 和 ROS,然后再尝试将它们整合在一起。

马弗罗斯

马弗罗斯 是一个 ROS 软件包,可以在 ROS 主题和 MAVLink 信息 允许 ArduPilot 载具与 ROS 通信。该系统 请点击此处查看 MAVROS 代码.从 ArduPilot 4.5 开始,ArduPilot 支持与 ROS 2 兼容的直接 DDS 接口,某些应用不再需要使用 MAVROS。

ROS 1

ROS 2

结论

ROS 能够利用更广泛的技术生态系统扩展自动驾驶功能,这些技术可以在更强大的计算机上运行。

下面是 ArduPilot Rover 使用 ROS 导航系统围绕物体执行路径规划。

我们致力于改进 ArduPilot 对 ROS 的支持,因此如果您发现问题(例如似乎不支持的命令),请在 ArduPilot 问题列表 我们会尽快解决。