文章目录
- 
- ① 背景
- ② 前提
- ③ 任务
- 
- Ⅰ准备
- Ⅱ 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学习]-CLI Tools - 了解ROS 2参数(parameters) [ros2学习]-CLI Tools - 了解ROS 2参数(parameters)](https://img-blog.csdnimg.cn/20200402170055942.png) 
   
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
  
![[ros2学习]-CLI Tools - 了解ROS 2参数(parameters) [ros2学习]-CLI Tools - 了解ROS 2参数(parameters)](https://img-blog.csdnimg.cn/2020040310245189.png) 
   
加载配置文件 (目前在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 可以用

![[ros2学习]-Awesome Robot Operating System2](http://blog.75271.com/wp-content/themes/com75271/timthumb.php?src=https://img-blog.csdnimg.cn/20200329153109520.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zNjYyODc3OA==,size_16,color_FFFFFF,t_70&h=110&w=185&q=90&zc=1&ct=1)
![[ros2学习]-CLI Tools – 了解ROS 2服务(service)](http://blog.75271.com/wp-content/themes/com75271/timthumb.php?src=https://img-blog.csdnimg.cn/20200402161210734.gif#pic_center&h=110&w=185&q=90&zc=1&ct=1)
