赞
踩
笔记依托PX4官网,源于笔者最近学习经历,包括解决报错的过程,希望对大家有帮助。
前言:从 PX4 v1.14 开始,ROS 2 使用了 uXRCE-DDS 中间件,取代了 1.13 版本(v1.13 不支持 uXRCE-DDS)中使用的 FastRTPS 中间件。
PX4 开发支持的 ROS 2 平台是 Ubuntu 22.04 上的 ROS 2 “Humble”和 Ubuntu 20.04 上的 ROS 2 “Foxy”。
PX4官网:ROS 2 用户指南 | PX4 自动驾驶用户指南 (v1.14)
一、安装PX4(这里涉及网络问题) 笔者这里采用的阿里源
- cd
- git clone https://github.com/PX4/PX4-Autopilot.git --recursive
- bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
- cd PX4-Autopilot/
- make px4_sitl
解决Vmware网络问题:
1.1代理开启局域网,在windows中运行cmd,输入ipconfig
蓝色未遮盖部分为ip地址
1.2在ubuntu中,更改网络配置,把1.1的地址输入HTTP,HTTPS,Socks Host,端口部分查看自己的代理,笔者为7890
1.3 bash ./PX4-Autopilot/Tools/setup/ubuntu.sh 出现警告
解决方案:
一些Python 依赖关系也必须安装 (使用 pip
或 apt
):
pip install --user -U empy pyros-genmsg setuptools
要使 ROS 2 与 PX4 通信,uXRCE-DDS 客户端必须在 PX4 上运行,并连接到运行在配套计算机上的 micro XRCE-DDS 代理。
代理(Agent)可以通过 数种方式 安装到任务计算机上。 下面我们将演示如何从源代码构建“独立”代理(Agent),并连接到在 PX4 模拟器上运行的客户端(Client)。
设置并启动代理:
打开一个终端。
输入以下命令从仓库获取源代码并构建代理(Agent):
启动代理并设置以连接运行在模拟器上的 uXRCE-DDS客户端(Client):
代理正在运行,但在我们启动PX4 (下一步)之前,您不会看到太多。
PX4 模拟器自动启动 uXRCE-DDS客户端,连接到本地主机上的 UDP 8888 端口。
启动模拟器(和客户端Client):
在上面安装的 PX4 Autopilot 存储库的根目录中打开一个新终端。
使用以下方法开始 PX4 Gazebo 模拟:
代理(Agent)和客户端(Client)现在将运行并建立连接。
PX4 终端显示 NuttShell/PX4 系统控制台 PX4 启动和运行。 代理(Agent)连接后输出应该包含 显示创建数据写入的消息:INFO
Micro XRCE-DDS代理(Agent)终端也应开始显示输出,因为DDS网络中创建了相同的主题:
px4_ros_com (打开新窗口)和px4_msgs (打开新窗口)软件包克隆到一个工作区文件夹,然后使用 工具来构建工作区。该示例使用 运行。colcon
ros2 launch
要创建和构建工作区,请执行以下操作:
打开一个新终端。
使用以下方法创建并导航到新的工作区目录:
克隆示例存储库并px4_msgs (打开新窗口)到目录(默认情况下会克隆分支,对应我们正在运行的 PX4 版本):/srcmain
将 ROS 2 开发环境源到当前终端中,并使用以下命令编译工作区:colcon
这将使用源工具链构建所有文件夹。/src
colcon报错
解决方案:解决setuptools version版本问题
pip install --upgrade pip wheel pip-tools
pip install --upgrade setuptools==70.0.0
pip-compile requirements-dev.in
链接如下:https://github.com/pypa/setuptools/issues/4501
要运行刚刚构建的可执行文件,您需要源 .这提供了对当前工作区的“环境钩子”的访问。换句话说,它使刚刚构建的可执行文件在当前终端中可用。local_setup.bash
注解
这ROS2 初学者教程 (打开新窗口)建议您打开一个新终端来运行可执行文件。
在新航站楼中:
导航到工作区目录的顶层并获取 ROS 2 环境(在本例中为“Humble”)
来源 .local_setup.bash
3.现在启动示例。请注意,这里我们使用 ,如下所述。ros2 launch
4.如果这可行,您应该会在启动 ROS 侦听器的终端/控制台上看到打印数据:
参考:
ROS 2 用户指南 | PX4 自动驾驶用户指南 (v1.14)
PX4-user_guide/tr/ros2/user_guide.md at main · PX4/PX4-user_guide · GitHub
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。