跳至内容

ROS 与 MAVROS 安装指南

马弗罗斯 是一个 ROS 1 软件包,可在运行 ROS 1 的计算机之间实现 MAVLink 可扩展通信,适用于任何支持 MAVLink 的自动驾驶仪、地面站或外围设备。 马弗罗斯 是 ROS 1 与 MAVLink 协议之间的官方支持桥接器。

虽然 MAVROS 可用于与任何支持 MAVLink 的自动驾驶仪进行通信,但本文档将解释如何设置 PX4 自动驾驶仪与支持 ROS 1 的配套计算机之间的通信。

警告

PX4 开发团队建议所有用户 升级到 ROS 2.该文件反映的是旧方法。

安装

信息

首先,请按照以下文档中的说明安装 ROS 和 PX4。 Linux 开发环境 > ROS/Gazebo Classic.

TIP

这些说明是 正式安装指南.它们包括 ROS Melodic and Noetic 释放。

MAVROS 可通过源代码或二进制安装。我们建议开发者使用源码安装。

二进制安装(Debian / Ubuntu)

ROS 软件库中有适用于 Ubuntu x86、amd64 (x86_64) 和 armhf (ARMv7) 的二进制软件包。Kinetic 还支持 Debian Jessie amd64 和 arm64(ARMv8)。

使用 apt-get 安装 ${ROS_DISTRO} 下文应解析为 动力学磁场取决于您的 ROS 版本:

sudo apt-get install ros-${ROS_DISTRO}-mavros ros-${ROS_DISTRO}-mavros-extras ros-${ROS_DISTRO}-mavros-msgs

然后安装 地理库 运行 install_geographiclib_datasets.sh 剧本

wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo bash ./install_geographiclib_datasets.sh

源装置

此安装假设您的 catkin 工作区位于 ~/catkin_ws 如果您没有创建一个:

mkdir -p ~/catkin_ws/src
CD ~/catkin_ws
柔荑花序 启动
wstool 启动 来源

您将使用 ROS Python 工具: wstool (用于检索来源)、 安装catkin_tools (构建)进行安装。它们可能已在安装 ROS 时安装,您也可以通过以下方式进行安装:

苏都 apt-get 安装 python-catkin-tools python-rosinstall-generator -y

TIP

虽然可以使用 catkin_make 首选方法是使用 catkin_tools 因为它是一种更通用、更友好的构建工具。

如果这是您第一次使用 wstool,您需要用以下命令初始化源空间:

$ wstool 启动 ~/catkin_ws/src

现在,您可以开始构建了:

  1. 安装 MAVLink:

    # 我们在所有 ROS 发行版中使用 Kinetic 参考资料,因为它不针对特定发行版,而且是最新的。
    rosinstall_generator --rosdistro kinetic mavlink | tee /tmp/mavros.rosinstall
  2. 使用已发布或最新版本从源代码安装 MAVROS:

    • 已发布/稳定

      生成器 --上游 马夫罗斯 | 发球 -a /tmp/mavros.rosinstall
    • 最新来源

      生成器 --上游开发 马夫罗斯 | 发球 -a /tmp/mavros.rosinstall
      # 用于将所有依赖项导入 catkin_ws、 
      # 只需在上述脚本中添加 '--deps',例如
      # rosinstall_generator --upstream mavros --deps | tee -a /tmp/mavros.rosinstall
  3. 创建工作区

    wstool 并吞 -t 来源 /tmp/mavros.rosinstall
    wstool 更新 -t 来源 -j4
    rosdep 安装 --从路径 来源 --忽略源代码 -y
  4. 安装 地理库 数据集:

    ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
  5. 构建源代码

    柔荑花序 构建
  6. 确保使用工作区中的 setup.bash 或 setup.zsh。

    #Needed or rosrun can't find nodes from this workspace.
    消息来源 devel/setup.bash

如果出现错误,可参阅《安装手册》中的安装和故障排除说明。 mavros repo.

MAVROS 示例

MAVROS 机外示例(C++)您将了解 MAVROS 的基础知识,包括读取遥测数据、检查无人机状态、更改飞行模式和控制无人机。

信息

如果您有使用 PX4 自动驾驶仪和 MAVROS 的示例应用程序,我们可以帮助您将其添加到我们的文档中。

另请参见