用 Foxglove Studio 可视化 ROS 2 数据

狐狸草工作室 是一款用于机器人数据的开源可视化和调试工具。

它可以以多种方式提供,以尽可能方便开发--它可以作为独立的桌面应用程序运行,也可以通过浏览器访问,甚至可以自行托管在自己的域名上。

查看源代码 GitHub.

安装

要使用网络应用程序,只需打开 Google Chrome 浏览器并导航至 studio.foxglove.dev.

要使用 Linux、macOS 或 Windows 版桌面应用程序,请直接从 狐狸草工作室网站.

连接到数据源

打开 Foxglove Studio 时,您会看到一个对话框,其中列出了 所有可能的数据源.

要连接到 ROS 2 堆栈,请单击 "打开连接",选择 "Rosbridge (ROS 1 & 2) "选项卡,然后配置 "WebSocket URL"。

您还可以拖放任何本地 ROS 2 .db3 文件直接载入应用程序进行播放。

备注

为了 在 ROS 2 文件中加载自定义消息定义,尝试将它们转换为 MCAP 文件格式.

查看 狐狸草工作室文档 获取更详细的说明。

带面板的建筑布局

面板 是模块化的可视化界面,可以配置和排列成 Studio 布局.您还可以保存您的布局,供个人或更大的机器人团队今后使用。

在侧边栏的 "添加面板 "选项卡中查看可用面板的完整列表。

下面我们将重点介绍一些特别有用的信息:

1 3D: 在 3D 场景中显示可视化标记

发布标记信息,将原始形状(箭头、球体等)和更复杂的可视化(占位网格、点云等)添加到 3D 面板场景中。

通过左侧的主题选择器选择要显示的主题,并在 "编辑主题设置 "菜单中配置每个主题的可视化设置。

狐狸草工作室的 3D 面板

参考 文档 查看全部 支持的信息类型 和一些有用的 用户互动.

2 诊断:过滤和分类诊断信息

显示主题中已查看节点的状态(即过期、错误、警告或确定),带 diagnostic_msgs/msg/DiagnosticArray 数据类型,并显示给定的诊断数据。 诊断名称/硬件 ID.

狐狸草工作室的诊断面板

参考 文档 了解更多详情。

3 图像:查看摄像机图像

选择一个 传感器_msgs/msg/图像传感器_msgs/msg/压缩图像 要显示的主题。

狐狸草工作室的图像面板

参考 文档 了解更多详情。

4 日志:查看日志信息

查看 rcl_interfaces/msg/Log 实时消息,使用桌面应用程序 接通 到正在运行的 ROS 堆栈中。查看 rcl_interfaces/msg/Log 从预先录制的数据文件中获取信息时,您可以将文件拖放到 网页 或桌面应用程序。

接下来,添加一个 日志 面板。如果正确连接了 ROS 堆栈,现在就能看到日志信息列表,并能按节点名称或严重程度进行过滤。

参考 文档 了解更多详情。

5 绘制: 绘制随时间变化的任意值

根据播放时间绘制主题信息路径中的任意值。

指定要沿 y 轴绘制的主题值。对于 x 轴,可选择绘制 y 轴值的时间戳、元素索引或其他自定义主题信息路径。

狐狸草工作室的绘图板

参考 文档 了解更多详情。

6 原始信息:查看收到的主题信息

以易于阅读的可折叠 JSON 树格式显示传入的主题数据。

狐狸草工作室的原始信息面板

参考 文档 了解更多详情。

7 Teleop:远程操作机器人

通过发布远程操作物理机器人 geometry_msgs/msg/Twist 将给定主题的信息反馈回实时 ROS 堆栈。

Foxglove Studio 的 URDF 查看器面板

参考 文档 了解更多详情。

8 URDF 查看器:查看和操作 URDF 模型

要在 Foxglove Studio 中可视化和控制机器人模型,请打开网络或桌面应用程序,然后添加一个 URDF 查看器 面板。然后,将 URDF 文件拖放到该面板中,就可以直观地看到机器人模型了。

Foxglove Studio 的 URDF 查看器面板

选择任何主题,发布一个 联合国家 消息,以根据发布的联合状态更新可视化效果(默认为 /joint_states).

切换到 "手动关节控制",使用提供的控制装置设置关节位置。

Foxglove Studio 的 URDF 查看器面板,可编辑关节位置

参考 文档 了解更多详情。

其他基本行动

1 查看您的 ROS 图表

使用桌面应用程序, 接通 到正在运行的 ROS 堆栈中。接下来,添加一个 主题图 面板。如果你已经正确连接了 ROS 堆栈,现在就可以在该面板中看到 ROS 节点、主题和服务的计算图。使用面板右侧的控件选择要显示的主题或切换服务。

2 查看和编辑 ROS 参数

使用桌面应用程序, 接通 到正在运行的 ROS 堆栈中。接下来,添加一个 参数 面板。如果你正确连接了 ROS 堆栈,现在应该可以看到当前的实时视图。 玫瑰.您可以编辑这些参数值以发布 rosparam 更新返回 ROS 堆栈。

3 将信息发布回实时 ROS 堆栈

使用桌面应用程序, 接通 到正在运行的 ROS 堆栈中。接下来,添加一个 出版 面板到您的布局中。

指定要发布的主题以推断其数据类型,并用 JSON 消息模板填充文本字段。

在 ROS 常用数据类型下拉菜单中选择一种数据类型,也会在文本字段中填充 JSON 消息模板。

在点击 "发布 "之前,编辑模板以定制您的信息。

狐狸草工作室的发布面板