ROS2入门教程-命令行工具
ROS2入门教程-命令行工具
说明:
- 介绍ROS 2 包含了一些列的命令行工具去方便测试开发ROS 2的应用程序
使用方法
- 这些工具的主要入口是 ros2指令。
- 这个指令包含了大量的用来测试开发的子命令。
- 这些命令可以方便的操作节点,主题,服务和其他。
- 想要看到所有的子命令可以执行
ros2 --help
ros2 run demo_nodes_cpp talker -t chatter2
例子
- 为了能够使用命令行工具实现经典的发送者订阅者例子,我们要使用topic子命令。
- 它可以用来向某个主题发送或接受信息。
- 在一个终端发布消息
$ ros2 topic pub /chatter std_msgs/String "data: Hello world"
publisher: beginning loop
publishing std_msgs.msg.String(data='Hello world')
publishing std_msgs.msg.String(data='Hello world')
- 在一个终端显示接收到的消息
$ ros2 topic echo /chatter
data: Hello world
data: Hello world
实现过程
- ROS2 使用了分布式发现进程去自动的连接不同节点。
- 这个过程故意不适用一个中心化的发现机制(就好像ROS1里面的主节点一样)。
- 发现ROS网络中的其他节点可能会需要一些时间。
- 正是因为如此,在后台有一个长期运行的程序,它保存了ROS网络中的信息。
- 这样就可以更加快速的处理请求和提供快速响应。
- 例如节点的名称列表。
- 这个后台程序在你第一次运行命令行工具的时候就会开始执行。
- 你可以运行ros2 daemon --help来查看更多的和后台程序交互的选项。
代码实现
- ros2命令的源代码在这里ros2
- ros2工具实现了一个框架,可以通过插件去扩展功能。
- 例如,sros2 软件包提供了“security” 子命令。
- 当这个软件包安装之后ros2指令会自动的检测到这个程序并添加对应的子命令。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号