ros::nodehandle常规操作

本文深入探讨了ROS中参数服务器的使用方法,包括如何通过NodeHandle检索和设置参数,以及如何处理参数未找到的情况。同时,详细介绍了如何利用NodeHandle创建服务,包括服务名、回调函数和服务对象的指定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ros::nodehandle::param(const std::string & param_name,T & param_val,const T & default_val )
此方法尝试从参数服务器检索指示的参数值,并将结果存储在param_val中。 如果无法从服务器检索该值,则使用default_val。
param_name:参数服务器中的参数名
param_val:将该参数名的值读取到param_val。
default_val:指定默认的值。

ServiceServer ros::NodeHandle::advertiseService ( const std::string & service,bool(T:?)(ServiceEvent< MReq, MRes > &) srv_func,T * obj)
创建一个服务。
service:服务名
srv_func:回调函数,提供具体的服务
obj:提供一个T类型的对象,指出要调用的是obj对象中的srv_func。

ros::NodeHandle::searchParam()
有时候你需要从最近的工作空间获取参数。比如,如果你有一个名为 “robot_name” 的参数,你只想从自己的私有名称空间开始向上搜索直到找到匹配参数。

std::string key;
if (nh.searchParam("bar", key))
{
  std::string val;
  nh.getParam(key, val);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值