【古月居ROS21讲】16 参数的使用与编程方法
参数模型
在rosmaster当中有一个服务器 叫做 Parmeter Server 参数模型 (全局字典)
他会和所有的节点来共享参数
即使是node节点位于不同的 PC里面 ,但是只要你在同一个ros环境里面进行一个全局的参数

使用方法
创建一个功能包

参数命令行使用
YAML参数文件
- 左边是一个变量名 右边是一个变量值( 一对一对的 )
- 在ros中 比如slam中 ,会有很多的配置参数 ,这些参数一个个设置会很麻烦,到时候会列出这样一个YAML的参数文件 ,把所有参数列出来 ,然后一次性加载进去 。

rosparem 下的指令
- 基本上 rosparem可以完成ros大部分参数的查询呀 ,设置呀
包括把他保存的文件,以及使用方式

rosparem 下的指令 输入 rosparam 弹出 以下指令

rosparam list
rosparam list 是列出 ros参数清单指令
这里的有
- backgroud_b /
- backgroud_g /
- backgroud_ r/
可以把参数换进去让ros背景换个颜色

/rosdistro 发行版
/rosversion 发行版本号
/roslanuch / uris /host_hcx_vpc__40993 是ros的版本号
run id j进程版本号
rosparam get

rosparam get 获取ros 参数值

这里得到背景参数蓝色值是255
rosparam set
rosparam set 是 设置 ros 参数值
rosparam set 接的 被修改参数名称 被修改参数后的值

可以看到修改后的参数值变成了 100
这回我们再唤醒ros服务,让他执行被修改后参数值:
{} 内参数什么都没填就可以了

然后可以看到海龟的背景颜色就由蓝色变成灰色 了

rosparam dump
rosparam dump 是为了保存参数文件
保存到 param.yaml文件
rosparam dump param.yaml

保存到当面路径下文件

打开后看到当前我们保存的参数文件

rosparam road
rosparam road 加载一个文件

加载我们之前 修改号的参数

显而易见 rosparam dump 和 rosparam road 组合使用可以快速修改参数
rosparam delete
rosparam delete 删除 某个参数

程序使用
初始化节点
首先依然是熟悉的初始化一个节点

读取
用ros :: param ::get 读取rgb的三个参数值
从这里可以看出 rosparam get = ros::param::get
简单推理 ::是用来取代空格或者作为分隔符所使用的

设置
同理
用ros :: param ::set 设置rgb的三个参数值

调用
调用函数 参数实现

编译规则
这里我们加入编译的规则

运行ros执行程序

如何获取参数和设置参数
- 初始化ROS节点
- get函数获取参数
- set函数设置参数

本文详细介绍了ROS2中参数的使用方法,包括参数模型的概念、命令行操作、YAML文件的使用以及通过程序读取和设置参数的具体步骤。通过本文,读者将了解如何利用rosparam工具管理和维护ROS2系统的配置。
454





