使用命令行工具进行自检

ROS 2包括一套用于自检ROS 2系统的命令行工具。 [Alyssa@9668]

用法 [Alyssa@9669]

工具的主要切入点是命令 ros2 ,它本身有各种子命令,用于自检和处理节点、话题、服务等。 [Alyssa@9670]

要查看所有可用的子命令,请运行: [待校准@9671]

ros2 --help

可用的子命令示例包括: [待校准@9672]

示例

为了使用命令行工具生成典型的说话者-监听者(talker-listener)示例,可以使用 topic 子命令发布和回显关于某个话题的消息。 [Alyssa@9686]

使用以下命令在一个终端中发布消息: [待校准@9687]

$ 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')

在另一个终端回显接收到的消息,命令如下: [Alyssa@9688]

$ ros2 topic echo /chatter
data: Hello world

data: Hello world

幕后花絮 [Alyssa@9689]

ROS 2使用分布式发现过程使节点相互连接。由于此过程有意地不使用集中发现机制 (如ROS 1中的ROS主机),因此ROS节点发现ROS图中所有其他参与者可能需要时间。因此,在后台有一个长期运行的守护程序,该守护程序存储有关ROS图的信息,以提供对查询的更快响应,例如节点名称列表。 [Alyssa@9690]

当首次使用相关命令行工具时,守护程序会自动启动。您可以运行 ros2 daemon --help 获得与守护程序交互的更多选项。 [Alyssa@9691]

实现 [Alyssa@9692]

ros2 命令的源代码可在 https://github.com/ros2/ros2cli 获取 [Alyssa@9693]

ros2 工具已经被实现为一个可以通过插件扩展的框架。例如,如果安装了 sros2 包,ros2 工具就会自动检测 sros2 包提供的 security 子命令。 [Alyssa@9694]