PX4-ROS 2 User Guide 实践测试

本文详细介绍了如何在ROS2Rolling环境下设置和测试Px4无人机模拟器,包括XRCE-DDS-Agent的安装、启动Px4模拟器、创建并编译ROS2示例工作空间以及解决启动时遇到的语法错误问题。通过添加缺失的逗号修复了代码错误,成功启动了实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@ROS 2 User Guide 实践测试

Px4-ROS 2 User Guide 实践测试

原网址:https://docs.px4.io/main/en/ros/ros2_comm.html#setup-xrce-dds-agent-client
日期:20230223
Ros2 rolling 已安装好。
1、安装XRCE-DDS Agent & Client

cd ~/Px4
git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/

2、启动 MicroXRCEAgent

MicroXRCEAgent udp4 -p 8888

3、启动Px4模拟器

make px4_sitl gazebo-classic

4、编译ROS2示例工作空间
4.1、创建工作空间

mkdir -p ~/ws_sensor_combined/src/
cd ~/ws_sensor_combined/src/

4.2、获取实例代码

git clone https://github.com/PX4/px4_msgs.git
git clone https://github.com/PX4/px4_ros_com.git

4.3、导出ROS环境变量(跳过),编译

cd ..
source /opt/ros/rolling/setup.bash
#安装依赖
 cd ..
rosdepc install -i --from-path src --rosdistro rolling -y
#编译工具安装
sudo apt install python3-colcon-ros
colcon build

5、运行ROS2实例,在新终端操作

source ./install/local_setup.sh
ros2 launch px4_ros_com sensor_combined_listener.launch.py

5.1、启动时发生错误

[ERROR] [launch]: Caught exception in launch (see debug for traceback): Caught exception when trying to load file of format [py]: invalid syntax (sensor_combined_listener.launch.py, line 56)

根据提示找到文件./install/px4_ros_com/share/px4_ros_com/launch/sensor_combined_listener.launch.py
打开发现第56行缺少一个逗号如下图:
在这里插入图片描述
增加逗号后可以正常启动
在这里插入图片描述

总结

自动生成的代码也会出错,巨坑!

### 安装 PX4-SITL 与 ROS2 集成 对于希望在仿真环境中开发和测试无人机应用的研究人员和开发者来说,将 PX4 Software-In-The-Loop (SITL) 和 Robot Operating System 2 (ROS2) 结合起来是一个理想的选择。以下是详细的安装指导。 #### 准备工作环境 确保已经配置好 Ubuntu 操作系统的开发环境,并更新软件包列表: ```bash sudo apt update && sudo apt upgrade -y ``` #### 安装依赖项 为了支持 PX4 SITL 的编译以及后续操作,在终端执行命令来获取必要的工具链和其他依赖库[^1]: ```bash sudo apt-get install git wget python3-pip build-essential cmake ninja-build \ qtbase5-dev python3-yamlcpp libyaml-cpp-dev libeigen3-dev clang-format \ doxygen graphviz cppcheck valgrind lcov pkg-config protobuf-compiler \ libprotobuf-dev libgoogle-perftools-dev google-mock googletest libc++-dev \ libc++abi-dev lsb-release software-properties-common gnupg2 dirmngr curl ``` #### 获取源码并初始化仓库 克隆 PX4-Autopilot 主仓库到本地计算机上: ```bash git clone https://github.com/PX4/PX4-Autopilot.git --recursive cd PX4-Autopilot ``` #### 编译 PX4 firmware 使用 Ninja 构建系统来进行快速构建过程。这里选择 `px4_sitl_default` 目标作为默认设置: ```bash make px4_sitl_default ``` #### 设置 ROS2 环境 如果尚未安装 ROS2,则需按照官方文档完成 ROS2 发行版的安装流程。之后通过如下方式加载当前 shell session 中的 ROS2 工具路径变量: ```bash source /opt/ros/<ros2-distro>/setup.bash ``` 其中 `<ros2-distro>` 应替换为实际使用的 ROS2 版本名称,比如 foxy 或 humble。 #### 运行带有 MAVLink 节点桥接功能的 Gazebo 世界模拟器 启动包含 MAVLink 接口节点在内的整个仿真场景,以便能够无缝对接至 ROS2 生态圈内: ```bash make px4_sitl_rtps gazebo ``` 此命令会自动创建一个虚拟飞行器实例并与之通信,同时开启 RTPS(Real-Time Publish Subscribe Protocol)协议用于数据交换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值