# ROS(机器人操作系统)

ROS是一个通用的机器人库,可以与PX4一起用于无人机应用程序开发。

ROS得益于一个活跃的生态系统,在这个生态系统里,开发者会解决常见的机器人问题,他们也有权使用为Linux编写的其他软件库。 例如,它已被用作PX4计算机视觉解决方案的一部分,包括自主避障防撞

::: 注意:ROS 2 是ROS的“最新和最好的”版本。 PX4开发团队建议所有用户升级到ROS 2! :::

# ROS设置

PX4同时支持ROS2和ROS1,配置如下:

  • **ROS 2:(推荐)**PX4和ROS 2通过PX4-ROS 2桥接通信,PX4-ROS 2桥接是在PX4 uORB消息和ROS 2 DDS消息/类型之间提供直接桥接的接口 这允许实时地从ROS2工作流和节点直接访问PX4内部
  • **ROS1通过MAVROS:**PX4和ROS1通过MAVLink通信,使用MAVROS包将ROS主题连接到MAVLink

:::笔记 ROS 2 也可以用 MAVROS (opens new window) 与PX4连接(而不是 XRCE-DDS). MAVROS项目支持此选项。 :::

请注意,ROS 2可以安装在Ubuntu Linux,MacOS,Windows,而ROS 1只能安装在Linux上。 虽然它可以在其他平台上工作,但PX4主要在_Linux_上测试和记录ROS

# ROS技术支持计划

2020年PX4开发者峰会 (opens new window)(以及ROS World 2020 (opens new window)) 上,PX4宣布了支持microROS的计划。

  • microRTPS: 具有快速DDS的microRTPS桥接 (PX4 v1.13 及更早版本的ROS 2 接口)
  • micro XRCE-DDS: PX4上的DDS(PX4 v1.14及更高版本的ROS 2 接口)
  • micro ROS: 在PX4上运行的ROS 2 - "microROS" (我们的目标!)