Skip to main content

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

  • 微型XRCE-DDS代理

  • PX4/px4_msgs:PX4/ROS2 共享消息定义。

  • PX4 源代码并构建模拟器。

    提示

    如果您使用的是真实硬件而不是模拟器,则仅在需要更改发布到 ROS 2 的主题集时才需要 PX4 源代码(默认情况下仅发布 uORB 主题的子集)。

您还需要安装:

用法

首先,我们需要构建一个 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 在同一台计算机上运行。