警告
您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.
试用假机器人
在本演示中,我们展示了一个简单的机器人演示,包括从发布联合状态到发布假激光数据,直至在 RViz 地图上可视化机器人模型的所有组件。
启动演示
我们假设你的 ROS 2 安装目录为 ~/ros2_ws
.请根据您的平台更改目录。
要启动演示,我们需要执行演示启动文件,下一节将对此进行详细说明。
消息来源 ~/ros2_ws/install/setup.bash ros2 启动 虚拟机器人启动 dummy_robot_bringup.launch.py
你应该会在终端中看到一些打印内容,大致如下:
[信息] [启动]: 处理[虚拟地图服务器-1]: 开始 与 pid [25812]
[信息] [启动]: 处理[机器人状态发布者-2]: 开始 与 pid [25813]
[信息] [启动]: 处理[假关节状态-3]: 开始 与 pid [25814]
[信息] [启动]: 处理[虚拟激光器-4]: 开始 与 pid [25815]
初始化 urdf 模型 从 锉刀 /home/mikael/work/ros2/bouncy_ws/install_debug_isolated/dummy_robot_bringup/share/dummy_robot_bringup/launch/single_rrbot.urdf 解析 机器人 urdf xml 字符串。链接 单_rrbot_link1 曾经 1 儿童链接 单_rrbot_link2 曾经 1 儿童链接 单_rrbot_link3 曾经 2 儿童链接 单_rrbot_摄像机链接 曾经 0 儿童链接 单_rrbot_hokuyo_链接 曾经 0 孩子们得到了 分部 单_rrbot_camera_link得到 分部 单_rrbot_hokuyo_link得到 分部 单_rrbot_link1 得到 分部 单_rrbot_link2 得到 分部 单_rrbot_link3得到 分部 世界增加 固定的 分部 从 世界 至 single_rrbot_link1 添加 移动 分部 从 单_rrbot_link1 至 单_rrbot_link2
[信息] [假激光]: 观点 inc: 0.004363
[信息] [假激光]: 扫描 尺寸 1081
[信息] [假激光]: 扫描 时间 增量: 0.000028 添加 移动 分部 从 单_rrbot_link2 至 single_rrbot_link3 添加 固定的 分部 从 单_rrbot_link3 至 单_rrbot_摄像机_链接 添加 固定的 分部 从 单_rrbot_link3 至 单_rrbot_hokuyo_链接
如果您现在在下一个终端打开 RViz,就会看到您的机器人。
$ 消息来源 <ROS2_INSTALL_FOLDER>/setup.bash$。 rviz2
这将打开 RViz2。假定您的假机器人启动了,现在可以添加 TF 显示插件,并将全局框架配置为 世界
.完成后,您就会看到类似的图片:

发生了什么事?
仔细看一下启动文件,我们同时启动了几个节点。
虚拟地图服务器
假激光
假关节状态
机器人状态发布者
前两个软件包相对简单。它们是 虚拟地图服务器
不断发布空地图,并定期更新。地图 假激光
基本上也是这么做的;发布虚假的假激光扫描图。
"(《世界人权宣言》) 假关节状态
节点发布的是假关节状态数据。由于我们发布的是一个只有两个关节的简单 RRbot,因此该节点发布的是这两个关节的关节状态值。
"(《世界人权宣言》) 机器人状态发布者
正在做实际有趣的工作。它解析给定的 URDF 文件,提取机器人模型,并监听输入的关节状态。有了这些信息,它就会为我们的机器人发布 TF 值,我们可以在 RViz 中将其可视化。
万岁