ROS学习记录:参数服务器中参数的增删改查(C++/Python)

参数增加/设置/修改 C++:

#include "ros/ros.h"

/*
    参数服务器操作之新增与修改(二者API一样)_C++实现:
    在 roscpp 中提供了两套 API 实现参数操作
    ros::NodeHandle
        setParam("键",值)
    ros::param
        set("键","值")

    需求:首先设置机器人的共享参数,类型/半径(0.15m)
        再修改半径(0.2m)

*/

int main(int argc, char *argv[])
{
    // 初始化ROS节点
    ros::init(argc,argv,"besproma_param_s");
    
    // 创建节点句柄
    ros::NodeHandle nh;

    // 参数增
    // 方案1
    nh.setParam("type","xiaoHuang");
    nh.setParam("radius",0.15);
    // 方案2
    ros::param::set("type_param","xiaobao");
    ros::param::set("radius_param",0.15);

    // 参数改
    // 方案1
    nh.setParam("radius",0.2);
    //方案2
    ros::param::set("radius_param",2.0);

    return 0;
}

参数查C++:

#include "ros/ros.h"
/*
    参数服务器操作之查询_C++实现:
    在 roscpp 中提供了两套 API 实现参数操作
    ros::NodeHandle

        param(键,默认值) 
            存在,返回对应结果,否则返回默认值

        getParam(键,存储结果的变量)
            存在,返回 true,且将值赋值给参数2
            若果键不存在,那么返回值为 false,且不为参数2赋值

        getParamCached键,存储结果的变量)--提高变量获取效率
            存在,返回 true,且将值赋值给参数2
            若果键不存在,那么返回值为 false,且不为参数2赋值

        getParamNames(std::vector<std::string>)
            获取所有的键,并存储在参数 v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Besproma_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值