PX4
常用命令
uorb top 该命令uorb top
实时显示每个主题的发布频率:
listener sensor_accel 5
ls /obj
uxrce_dds_client status
param show
comander
调试工具
使用 PlotJuggler 实时绘制 uORB 主题数据
本主题展示如何使用PlotJuggler和_uXRCE-DDS 代理绘制_uORB 主题的“实时”值图表。
该技术使用 PX4 uXRCE-DDS中间件将 uORB 主题导出为 ROS2 主题,然后 PlotJuggler 可以读取并绘制这些主题的变化(PlotJuggler 无法直接读取 uORB 主题,但相应的 ROS 2 主题的值是相同的)。
下面的视频通过模拟车辆演示了这一点——该方法在真实硬件上同样有效。
先决条件
按照_ROS2 用户指南_中的ROS 2 安装和设置说明进行安装:
-
ROS 2
-
PX4/px4_msgs:PX4/ROS2 共享消息定义。
-
PX4 源代码并构建模拟器。
提示
如果您使用的是真实硬件而不是模拟器,则仅在需要更改发布到 ROS 2 的主题集时才需要 PX4 源代码(默认情况下仅发布 uORB 主题的子集)。
您还需要安装:
-
提示
使用 Debian 软件包(不支持 snap 文件)。
用法
首先,我们需要构建一个 ROS 2 工作区,其中包含与要监控的 PX4 版本对应的文件,然后在该工作区内启动 PlotJuggler。这样,ROS 2 和 PlotJuggler 就可以解析这些消息。如果您使用的是未修改的 PX4,则可以使用PX4/px4_msgspx4_msgs
中的定义。
信息
_这与ROS 2 安装和设置_中的构建 ROS 2 工作区中介绍的过程相同。
假设您的 ROS 2 工作区名为,请在终端中~/ros2_ws/
获取并构建包,如下所示:px4_msgs
cd ~/ros2_ws/src/
git clone https://github.com/PX4/px4_msgs.git
cd ..
colcon build
source install/setup.bash
然后通过在终端中输入以下命令来运行 PlotJuggler:
ros2 run plotjuggler plotjuggler
要开始从 PX4 发送 ROS 2 主题,uXRCE-DDS客户端必须在 PX4 上运行,并且MicroXRCEAgent
必须与 PlotJuggler 在同一台计算机上运行。