目录
解析
1.使用NodeHandle的setParam方法设置参数
2.使用 ros::param方法设置参数
3.代码示例
4.区分
解析:利用参数服务器通讯的流程与之前讲述的前两种通讯方式相同,所以在本章不做过多赘述。参数服务器通讯我认为就是大的花瓶,过往的键值就好比是封装过的花瓶。过程主要就是从容器中存取参数,使用时获取参数。本章主要讲解使用两种常用方法设置参数,因为设置参数与获取参数的 方法大致相同,也不做过多赘述。
1.
标准格式:
bool setParam(const std::string& key, const T& value);
NodeHandle
会根据自身的命名空间(Namespace) 对参数名key
进行解析。- 例如:若
NodeHandle
的命名空间是/robot
,则setParam("wheel_radius", 0.1)
实际存储的参数名为/robot/wheel_radius
。 - 若参数名以
/
开头(如/global_param
),则视为全局参数,忽略NodeHandle
的命名空间。
- 例如:若
2.
3.
https://github.com/xiabo0604/xiabo.git
Github代码示例
4.
ros::param使用的是全局命名空间,使用代码简单的场景。