avatar
文章
15
标签
23
分类
6
Home
about
tags
categories
RL-learning
photos
LogoAttic的博客ros2-px4联合仿真环境配置2(SITL) 返回首页
搜索
Home
about
tags
categories
RL-learning
photos

ros2-px4联合仿真环境配置2(SITL)

发表于2026-04-15|更新于2026-04-15|ubuntuROS2
|浏览量:

ROS2话题与PX4消息队列通信

在上一节的仿真示例中,px4程序和ros2通信是通过XRCE-DDS进行桥接的

XRCE-DDS可以将px4程序内部的uORB消息和ROS2的节点话题进行互相转换(如图所示,当然前提是用px4_msgs这个话题包提供的接口)

PX4-gazebo

在转换的同时也会进行时间同步,即ROS2内部的时间与PX4的时间同步

可以通过以下操作来感受下桥接和同步的过程

1
2
3
#启动编译好的px4 SITL程序
cd PX4-Autopilot
./build/px4_sitl_default/bin/px4

此时直接启动地面站可以控制无人机

1
./QGroundControl-x86_64.AppImage 

PX4-gazebo

此时可以监视一下ros2 topic list可以发现没有px4的信息传过来

1
watch -n 1 ros2 topic list # 每1s查看ros2 topic list

PX4-gazebo

然后启动XRCE-DDS,就会看到PX4的话题出现了

1
2
# 启动XRCE-DDS
MicroXRCEAgent udp4 -p 8888

PX4-gazebo

自定义PX4的话题通信

传入传出PX4的话题可以在XRCE-DDS中自定义

1
2
cd PX4-Autopilot/src/modules/uxrce_dds_client/
vim dds_topics.yaml

/fmu/in 是传入PX4的话题
/fmu/out 是传出PX4的话题

可以增加一个话题,然后重新编译即可再在仿真中找到增加的话题

1
2
3
# 在传出的话题下添加一个话题
- topic: /fmu/out/vehicle_local_position_groundtruth
type: px4_msgs::msg::VehicleLocalPosition
1
2
3
4
#重新编译PX4在环仿真程序
export CMAKE_POLICY_VERSION_MINIMUM=3.5 #如果升级过CMake版本加上这一行命令
make px4_sitl gz_x500
MicroXRCEAgent udp4 -p 8888

使用grep命令查看话题列表里面有没有刚刚添加的话题

1
ros2 topic list | grep vehicle_local_position_groundtruth

PX4-gazebo

添加成功

文章作者: Attic
文章链接: https://osaerialrobot.top/2026/04/15/ros2-px4-2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Attic的博客!
ROS2px4gazebo
cover of previous post
上一篇
温和地走进GNU/Linux 终端
在使用各种AI工具的时候我们会发现AI总是会积极地使用命令行工具,那么这些命令行工具是如何给AI提高效率的,又是如何使用的,接下来跟随豹哥的脚步一探究竟。 ctrl+alt+t 这是打开终端的快捷键,所有的操作都将在此完成。 通常最常用的命令应该是ls,用于查看当前目录下有什么文件/文件夹。 实际上ls是一个可执行程序,ls这个可执行程序的位置可以通过。 1which ls 来查看 12li@li-MS-7C94:~$ which ls/usr/bin/ls 实际上which也是一个可执行程序,也可以用which来查看他的位置。 12li@li-MS-7C94:~$ which which/usr/bin/which 这些可执行程序都在/usr/bin/目录下,为什么我们的程序能找到这个目录下的程序呢。 因为我们的终端环境变量里写入了/usr/bin这个路径。 我们可以直接输入下面的命令来查看PATH里到底写了什么。 1echo $PATH 你会看到一长串路径,它们之间通常用:分隔,例如: 1/usr/loca...
cover of next post
下一篇
ros2-px4联合仿真环境配置1(SITL)
ROS2 安装以及相关环境配置推荐使用鱼香ROS一键安装 1wget http://fishros.com/install -O fishros && . fishros 按照文字提示操作 注意现在各大镜像源大部分都没有ros2 foxy的镜像,需要在官方源下载 1234sudo apt install python3-pipsudo apt install gitpip3 install empy==3.3.4 # 固定empy版本为3.3.4 PX4环境配置下载PX4代码及其子模块 1git clone https://github.com/PX4/PX4-Autopilot.git --recursive 再次确认是否下载完全 123cd PX4-Autopilotgit submodule update --init –recursive 安装完成后可以查看飞控代码版本 12cd PX4-Autopilot/git describe --tags 我选择切换到了1.16稳定版来开发,这个可选可不选 123git fetch --tagsgit c...
相关推荐
cover
2026-03-16
ros2-px4联合仿真环境配置1(SITL)
ROS2 安装以及相关环境配置推荐使用鱼香ROS一键安装 1wget http://fishros.com/install -O fishros && . fishros 按照文字提示操作 注意现在各大镜像源大部分都没有ros2 foxy的镜像,需要在官方源下载 1234sudo apt install python3-pipsudo apt install gitpip3 install empy==3.3.4 # 固定empy版本为3.3.4 PX4环境配置下载PX4代码及其子模块 1git clone https://github.com/PX4/PX4-Autopilot.git --recursive 再次确认是否下载完全 123cd PX4-Autopilotgit submodule update --init –recursive 安装完成后可以查看飞控代码版本 12cd PX4-Autopilot/git describe --tags 我选择切换到了1.16稳定版来开发,这个可选可不选 123git fetch --tagsgit c...
avatar
Attic
帝都苦苦挣扎的PhD
文章
15
标签
23
分类
6
公告
机器人描述文件查看 学术会议查询
目录
  1. 1. ROS2话题与PX4消息队列通信
  2. 2. 自定义PX4的话题通信
最新文章
温和地走进GNU/Linux 终端
温和地走进GNU/Linux 终端2026-04-15
ros2-px4联合仿真环境配置1(SITL)
ros2-px4联合仿真环境配置1(SITL)2026-04-15
ros2-px4联合仿真环境配置2(SITL)
ros2-px4联合仿真环境配置2(SITL)2026-04-15
希望我能完成这个庞大的项目2026-03-16
人生苦长我用jax2026-03-11
© 2025 - 2026 By Attic框架 Hexo 8.1.1|主题 Butterfly 5.5.3
赣ICP备2025057989号-1  |  京公网安备11011402054558号
搜索
数据加载中