如果你是一个ROS2的开发者,可能对刚才我们使用的ROS2命令比较熟悉,这时你可能也会产生一个问题:我们之前也安装了ROS2系统,那ROS2的原生功能还可以正常运行么?
我们再来试一试ROS2中自带的一个例程。
和刚才一样打开两个终端,这里我们需要source一下ROS里的环境变量。
该环境变量我们刚才已经设置了过软连接,所以配置过程中它也会配置ROS2的功能包路径。
在终端1输入命令:
$ source /opt/tros/local_setup.bash
在终端2,也输入同样的命令,配置环境变量的脚本:
接下来运行两个ROS2的节点。
这两个节点的功能包是属于ROS2里的功能包,可以直接调用到。
我们来尝试一下输入命令ros2 run,再输入功能包名称,如果按Tab自动补全文件名,说明可以找到对应的这个功能包:
ros2 run demo_nodes_cpp talker
talker也是一个发布者节点。按回车运行,可以看到终端1的发布者节点以每秒1次的频率发布消息。
同样,我们到终端2中打开订阅者节点:
ros2 run demo_nodes_cpp listener
回车运行,很快两个终端间就建立了通讯。
这样就使用ROS2里的例程实现了话题通信连接,只不过这里我们使用的就是ROS2原生的功能包了,而不是TogetherROS™·Bot的功能。
通信系统已经没问题了,但看上去似乎还不太直观。
全部0条评论
快来发表一下你的评论吧 !