最新消息:

ROS2入门教程-命令行工具

ROS2/二代机器人系统 少儿编程 1443浏览 0评论
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指令会自动的检测到这个程序并添加对应的子命令。

您必须 登录 才能发表评论!