文章目录
-
- ① 背景
- ② 前提
- ③ 任务
-
- Ⅰ准备
- Ⅱ ros2 param 命令
-
- ros2 param list
- ros2 param get
- ros2 param set
-
- dashing 版本
- eloquent 版本
- ros2 param dump (dashing 没有这个命令)
- 加载配置文件 (目前在dashing版本没成功过。。。)
- ④ 总结
① 背景
参数 (parameters) 就是每个节点的配置值,配置文件格式是yaml,可以是integers, floats, booleans, strings and lists
,每个节点(node)都维护自己的参数(parameters)。所有参数(parameters)都是可动态重新配置的,并且是基于ROS 2服务(services)构建的。
② 前提
- 装ros2
- 配置环境
- 装小乌龟
③ 任务
Ⅰ准备
启动小乌龟 命令:
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
Ⅱ ros2 param 命令
ros2 param list
显示参数列表
usage: ros2 param list [-h] [--spin-time SPIN_TIME] [--include-hidden-nodes]
[--param-prefixes PARAM_PREFIXES [PARAM_PREFIXES ...]]
[node_name]
Output a list of available parameters
positional arguments:
node_name Name of the ROS node
optional arguments:
-h, --help show this help message and exit
--spin-time SPIN_TIME
Spin time in seconds to wait for discovery (only
applies when not using an already running daemon)
--include-hidden-nodes
Consider hidden nodes as well
--param-prefixes PARAM_PREFIXES [PARAM_PREFIXES ...]
Only list parameters with the provided prefixes
命令
ros2 param list
ros2 param get
获取指定参数的值 命令:ros2 param get <node_name> <parameter_name>
例子:ros2 param get /turtlesim background_g
ros2 param set
设置指定参数的值 命令:ros2 param set <node_name> <parameter_name> <value>
例子:ros2 param set /turtlesim background_r 150
dashing版本目前不行 ,设置颜色没变,值是变了的 eloquent版本是可以改变颜色的
dashing 版本
eloquent 版本
ros2 param dump (dashing 没有这个命令)
使用eloquent 版本 命令
ros2 param dump <node_name>
保存当前/turtlesim 的配置,命令:
ros2 param dump /turtlesim
加载配置文件 (目前在dashing版本没成功过。。。)
使用eloquent 版本 命令:
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
例子:
ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml
④ 总结
节点的参数可以get
和set
,dasing
版本有点问题,还是eloquent
可以用