迁移脚本

ROS CLI

在ROS 1中,有各种用于执行不同操作的单独命令,例如 rosrunrosparam 等。

在ROS 2中,存在一个称为 ros2 的顶级命令,所有操作都是该命令的子命令,例如 ros2 runros2 param 等。

ROS CLI参数

在ROS 1中,节点的参数是直接在命令行上提供的。

ROS 2参数应使用 --ros-args 和尾随的 -- 进行作用范围限定(如果后面没有参数,尾随的双破折号可以省略)。

重新映射名称与ROS 1类似,采用 from:=to 的形式,但必须在之前加上 --remap``(或 ``-r)标志。例如:

ros2 run some_package some_ros_executable --ros-args -r foo:=bar

我们对参数使用类似的语法,使用 --param``(或 ``-p)标志:

ros2 run some_package some_ros_executable --ros-args -p my_param:=value

注意,这与在ROS 1中使用前导下划线是不同的。

要更改节点名称,请使用``__node``(ROS 1的等效项为``__name``):

ros2 run some_package some_ros_executable --ros-args -r __node:=new_node_name

请注意使用``-r``标志。更改命名空间``__ns``也需要相同的重映射标志:

ros2 run some_package some_ros_executable --ros-args -r __ns:=/new/namespace

在ROS 2中没有以下ROS 1键的等效项:

  • __log``(但可以使用--log-config-file``来提供日志记录器配置文件)

  • __ip

  • __hostname

  • __master

了解更多信息,请参阅 设计文档

快速参考

特性

ROS 1

ROS 2

重新映射

foo := bar

-r foo := bar

参数

_foo := bar

-p foo := bar

节点名称

__name := foo

-r __node:=foo

namespace

__ns:=foo

-r __ns:=foo