1. 运行小海龟和海龟控制器
2.运行 ros2 param list
通过运行ros2 param list 可以获取所有的属于节点的parameter,如图,可以看到分别属于rqt, /teleop_turtle, /ruttlesim的parameter,每个节点都有参数:use_sim_time,不是小海龟专属
根据名字可以看到,/turtlesim节点的参数决定了海龟窗口的背景颜色
3.ros2 parem get<可以获取参数的类型和当前值>
可以使用命令:ros2 param get <node_name> <parameter_name>
如:ros2 param get /turtlesim background_g
得到返回值: Integer value is: 86
可以知道参数background_g是整形数,值为86
4. ros2 param set
在运行时改变参数的值,可以用命令:
ros2 param set <node_name> <parameter_name> <value>
如:ros2 param set /turtlesim background_r 255
当看到 Set parameter successful,设置成功,可以看到小海龟背景颜色改变了
使用set命令设置参数只会在当前绘画中更改,不是永久改变,可以在下次启动节点时重新加载
5. ros2 param dump
使用ros2 param dump <node_name>命令可以导出当前参数值,如
ros2 param dump /turtlesim
如果导出成功,可以得到提示:Saving to: ./turtlesim.yaml
同时,在当前目录下会生成一个turtlesim.yaml文件,打开后可以看到/turtlesim节点的所有参数值,如图所示:
6.ros2 param load
可以使用load指令从一个文件中加载parameter到当前节点,命令如:
ros2 param load <node_name> <parameter_file>
如:加载刚才生成的参数值可以使用命令
ros2 param load /turtlesim ./turtlesim.yaml
可以在终端看到:
Set parameter background_b successful Set parameter background_g successful Set parameter background_r successful Set parameter use_sim_time successful
7. load parameter file on node starup
如果要是使用保存的参数值启动相同的节点,可以使用命令
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
前面和启动小海龟时候的命令一样:ros2 run turtlesim turtlesim_node……
后面的,--ros-args和-params-file,后面再加上想要执行的文件名
如:
ros2 run turtlesim turtlesim_node --ros-args --params-file ./turtlesim.yaml
节点具有定义其默认配置值的参数,用get和set来获取和设置参数值,可以同通过dump可以导出参数设置列表,通过load可以加载参数设置列表