您正在阅读的是开发版本的文档。有关最新发布的版本,请访问 Jazzy.

试用假机器人

在本演示中,我们展示了一个简单的机器人演示,包括从发布联合状态到发布假激光数据,直至在 RViz 地图上可视化机器人模型的所有组件。

启动演示

我们假设你的 ROS 2 安装目录为 ~/ros2_ws.请根据您的平台更改目录。

要启动演示,我们需要执行演示启动文件,下一节将对此进行详细说明。

mkdir -p ~/ros2_ws/src cd ~/ros2_ws/src git clone -b ${ROS_DISTRO} https://github.com/ros2/demos cd ... && colcon build -packages-up-to dummy_robot_bringup source ~/ros2_ws/install/setup.bash ros2 launch dummy_robot_bringup dummy_robot_bringup_launch.py

你应该会在终端中看到一些打印内容,大致如下:

[信息] [启动]: 默认值 伐木 冗语  设置  信息
[信息] [虚拟地图服务器-1]: 处理 开始  pid [2922]
[信息] [机器人状态发布者-2]: 处理 开始  pid [2923]
[信息] [假关节状态-3]: 处理 开始  pid [2924]
[信息] [虚拟激光器-4]: 处理 开始  pid [2925]
[虚拟激光器-4] [信息] [1714837459.645517297] [假激光]: 观点 inc:    0.004363
[虚拟激光器-4] [信息] [1714837459.645613393] [假激光]: 扫描 尺寸    1081
[虚拟激光器-4] [信息] [1714837459.645626640] [假激光]: 扫描 时间 增量:     0.000000
[机器人状态发布者-2] [信息] [1714837459.652977937] [机器人状态发布者]: 机器人 初始化

现在在新终端中打开 RViz2,就能看到机器人了。

$ 消息来源 ~/ros2_ws/install/setup.bash $ rviz2

这将打开 RViz2。假定您的假机器人启动了,现在可以添加 TF 显示插件,并将全局框架配置为 世界.完成后,您就会看到类似的图片:

./././_images/rviz-dummy-robot.png

发生了什么事?

仔细看一下启动文件,我们同时启动了几个节点。

  • 虚拟地图服务器

  • 假激光

  • 假关节状态

  • 机器人状态发布者

前两个软件包相对简单。它们是 虚拟地图服务器 不断发布空地图,并定期更新。地图 假激光 基本上也是这么做的;发布虚假的假激光扫描图。

"(《世界人权宣言》) 假关节状态 节点发布的是假关节状态数据。由于我们发布的是一个只有两个关节的简单 RRbot,因此该节点发布的是这两个关节的关节状态值。

"(《世界人权宣言》) 机器人状态发布者 正在做实际有趣的工作。它解析给定的 URDF 文件,提取机器人模型,并监听输入的关节状态。有了这些信息,它就会为我们的机器人发布 TF 值,我们可以在 RViz 中将其可视化。

万岁