ROS 2机器人开发:从入门到实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.3 海龟例子的简单分析

为什么我们在键盘控制窗口通过按键就可以实现对海龟模拟器窗口的控制呢?其背后肯定是通过某种机制联系在了一起,通过ROS 2提供的节点关系图工具可以快速查看其联系,我们来试试看。

不要关闭模拟器和键盘控制终端,再次打开一个新的终端,输入代码清单1-8中的命令,就可以打开如图1-22所示的默认rqt界面。

代码清单1-8 打开rqt工具的命令

图1-22 默认rqt界面

接着在rqt工具栏选择Plugins→Introspection→Node Graph选项,打开后单击左上角的刷新按钮,获取当前系统最新的节点关系,如图1-23所示。

图1-23 Node Graph插件界面

从图1-23可以看出,有一条线从键盘控制节点/teleop_turtle指向海龟节点/turtlesim,该线上标记着/turtule1/cmd_vel。这个/turtule1/cmd_vel就是话题名称,这条线的起点(键盘控制节点)就是话题的发布者,终点(海龟节点)就是话题的订阅者,所以海龟节点和键盘控制节点就是通过四大通信机制之一的话题通信进行连接的。

通过rqt这一强大的调试工具,我们很快就完成“断案”,从这一点你也可以感受到ROS 2的工具之丰富。