本文是关于第16讲的学习内容总结
本讲的内容主要是针对ROS Master下的Parameter Server的使用和编程方法。
Parameter Server可以理解为全局变量的储存库,他里面存储的数据可供多个节点进行查询。
以小海龟为例,用程序和编程的方式,Parameter的使用方式
命令行的操作方法
#用来列出当前所开的终端中有多少参数
rosparam list
可以看到打开小海龟仿真器后,输入指令能查看到当前的一些参数名
#用来显示具体某个参数的值
rosparam get param_key(此param_key为你想要查找参数值的名词,例如/turtlesim/background_r)
eg:rosparam get /turtlesim/background_r
可以看到当前RGB颜色的值,当然也可以去查看其他的数值
#用来设置某个参数的值
rosparam set param_key param_value(param_value为你要设置的参数值)
eg:rosparam set /turtlesim/background_r 100
可以看到通过重新设置RGB的值,小海龟界面的背景颜色发生了改变。
#用来保存当前参数到.yaml文件
rosparam dump file_name.yaml
eg:rosparam dump parameter.yaml
可以看到在当前路径(主文件夹下)生成了param1.yaml文件
#用来从文件中读取参数
rosparam load fail_name
eg:rosparam load parameter.yaml
可以看到读取了param1.yaml文件的RGB颜色的值后,背景颜色发生变化,证明值读取成功。
#用来删除某个参数
rosparam delete param_key
eg:rosparam delete /turtlesim/background_r
可以看到删除R值之后,小海龟界面颜色发生改变,同时再次区查询R值会报错
编程的操作方式:
代码部分就很简单了这里就只展现代码的编写思路
需要注意的是在胡老师提供的代码里对RGB值存放的路径与我系统里面的不一样需要进行修改。
修改成之前才命令行操作时查询到的路径即可,不然后续执行程序的时候小海龟的颜色不会发生改变。
配置编译规则
add_executable(parameter_config src/parameter_config.cpp)
target_link_libraries(parameter_config ${catkin_LIBRARIES})
跑跑代码
可以看到在运行程序之前背景颜色是蓝色,运行文件(其中R=255,G=255,B=255)后背景颜色变为白色,在终端也有显示