迁移脚本 [15991]

ROS CLI [15992]

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

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

ROS CLI参数 [15995]

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

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

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

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

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

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

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

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

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

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

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

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

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

  • __ip [16005]

  • __hostname [16006]

  • __master [16007]

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

快速参考 [16009]

特性 [16010]

ROS 1 [16011]

ROS 2 [16012]

重新映射 [16013]

foo := bar [16014]

-r foo := bar [16015]

参数 [16016]

_foo := bar [16017]

-p foo := bar [16018]

节点名称 [16019]

__name := foo [16020]

-r __node:=foo [16021]

namespace [16022]

__ns:=foo [16023]

-r __ns:=foo [16024]