# 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 catkin init wstool init src
您将使用 ROS Python 工具: wstool (用于检索来源)、 安装和 catkin_tools (构建)进行安装。它们可能已在安装 ROS 时安装,您也可以通过以下方式进行安装:
苏都 apt-get 安装 python-catkin-tools python-rosinstall-generator -y
TIP
虽然可以使用 catkin_make 首选方法是使用 catkin_tools 因为它是一种更通用、更友好的构建工具。
如果这是您第一次使用 wstool,您需要用以下命令初始化源空间:
$ wstool init ~/catkin_ws/src
现在,您可以开始构建了:
安装 MAVLink:
# 我们使用 Kinetic 作为所有 ROS 发行版的参考,因为它不针对特定发行版,而且是最新的 rosinstall_generator --rosdistro kinetic mavlink | tee /tmp/mavros.rosinstall
使用已发布或最新版本从源代码安装 MAVROS:
已发布/稳定
rosinstall_generator --upstream mavros | 发球 -a /tmp/mavros.rosinstall
最新来源
rosinstall_generator --upstream-development mavros | 发球 -a /tmp/mavros.rosinstall
# 用于将所有依赖项导入 catkin_ws、 # 只需在上述脚本中添加"--deps",例如 # rosinstall_generator --upstream mavros --deps | tee -a /tmp/mavros.rosinstall
创建工作区
wstool merge -t src /tmp/mavros.rosinstall wstool update -t src -j4 rosdep 安装 --from-paths src --ignore-src -y
安装 地理库 (打开新窗口) 数据集:
./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
构建源代码
柔荑花序
确保使用工作区中的 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 的示例应用程序,我们可以帮助您将其添加到我们的文档中。