参数的使用与编程方法
rosparam命令的使用
打开一个新终端,输入rosparam,显示rosparam所有的命令格式:
yue@yue-HP-288-Pro-G6-Microtower-PC:~$ rosparam
rosparam set 设置某个参数值
rosparam get 显示参数值
rosparam load load parameters from file 从文件读取参数
rosparam dump dump parameters to file 保存参数到文件
rosparam delete delete parameter 删除参数
rosparam list 列表当前所有参数
YAML参数文件
在rosparam命令里有一个保存参数文件的命令rosparam dump dump parameters to file
保存的文件即yaml文件。
首先我们先打开一个小海龟仿真器;点击获取如何打开小海龟仿真器
打开一个新的终端输入:rosparam dump param.yaml
yue@yue-HP-288-Pro-G6-Microtower-PC:~$ rosparam dump param.yaml
即主文件夹下产生一个新的文件param.yaml,即参数文件;
双击打开param.yaml参数文件:包含了所有的参数文件;
这时也可以修改参数文件,例如将turtlesim的背景rgb个、颜色参数修改为255,0,0,修改后保存:
在终端输入从文件读取参数命令:rosparam load param.yaml
yue@yue-HP-288-Pro-G6-Microtower-PC:~$ rosparam load param.yaml
即读取修改后的param.yaml参数,再应用到turtlesim仿真器中,输入命令:rosservice call /clear “{}”
yue@yue-HP-288-Pro-G6-Microtower-PC:~$ rosservice call /clear "{}"
观察小海龟的背景颜色发生了改变:
可以尝试调整参数,改变小海龟背景颜色。
关于古月ROS入门21讲中的例程代码问题
古月21讲中16讲:参数的使用与编程方法
所给的实验例程运行后
获取的参数有明显错误,我们需要检查parameter_config.cpp中的参数设置问题,首先查询ROS所有的参数,在终端输入:rosparam list
yue@yue-HP-288-Pro-G6-Microtower-PC:~$ rosparam list
得到参数列表:
与我们例程的cpp文件比较
应该将参数**/background_x改为/turtlesim/background_x**
保存cpp文件后,在主目录下重新编译,完成后就可以使用了。
在新终端下输入:rosrun learning_parameter parameter_config
yue@yue-HP-288-Pro-G6-Microtower-PC:~$ rosrun learning_parameter parameter_config
就可以返回正确的参数值了,并且改变了小海龟仿真器的背景颜色:
参数就设置成功了。