迁移脚本
ROS CLI
Section titled “ROS CLI”在 ROS 1 中,有多个独立的命令来执行各种操作,如 rosrun、rosparam 等。
在 ROS 2 中,有一个名为 ros2 的顶级命令,所有操作都是它的子命令,如 ros2 run、ros2 param 等。
ROS CLI 参数
Section titled “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 1 键在 ROS 2 中没有等效项:
__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 |
| 命名空间 | __ns:=foo | -r __ns:=foo |