ROS21讲学习笔记——P16

【古月居】古月·ROS入门21讲 | 一学就会的ROS机器人入门教程_哔哩哔哩_bilibili还原最好的ROS入门体验,起航机器人开发之路!ROS入门21讲升级版加入课后考试、定制证书及新增彩蛋2讲,点击“古月居”微信公众号菜单栏 —“古月学院”即可报名;课件、源码下载方式:关注“古月居”微信公众号,回复“ROS入门21讲”获取,古月居网站新增泡泡版块,在这里我会和大家进行课程答疑,交流讨论。https://www.guyuehome.com/bubble/indexhttps://www.bilibili.com/video/BV1zt411G7Vn?p=16&spm_id_from=pageDriverROS的参数相当于全局字典,所有节点共用。

命令行查询参数

$ rosparam list

设置参数值,得到参数值

$ rosparam set /

$ rosparam get /

 把当前参数记录到文件中

$ rosparam dump param.yaml

文件保存在根目录下。

加载参数记录文件

$ rosparam dump param.yaml

 下面用代码来实现参数的获取和修改。

首先创建功能包

$ cd ~/catkin_ws/src

$ catkin_create_pkg learning_parameter roscpp rospy std_srvs

代码如下

/*
*修改海龟背景颜色为白色
*/

#include <string>
#include <ros/ros.h>
#include <std_srvs/Empty.h>

int main(int argc, char **argv)
{
	int red, green, blue;
	
	ros::init(argc, argv, "paramter_config");
	
	ros::NodeHandle node;
	
	//读取背景颜色参数
	ros::param::get("/turtlesim/background_r", red);
	ros::param::get("/turtlesim/background_g", green);
	ros::param::get("/turtlesim/background_b", blue);
	
	ROS_INFO("Get Background Color[%d, %d, %d]", red, green, blue);
	
	//设置背景颜色参数
	ros::param::set("/turtlesim/background_r", 255);
	ros::param::set("/turtlesim/background_g", 255);
	ros::param::set("/turtlesim/background_b", 255);
	
	ROS_INFO("Set Background Color[255, 255, 255]");
	
	ros::param::get("/turtlesim/background_r", red);
	ros::param::get("/turtlesim/background_g", green);
	ros::param::get("/turtlesim/background_b", blue);
	
	ROS_INFO("Re-get background Color[%d, %d, %d]", red, green, blue);
	
	//调用服务,刷新背景颜色
	ros::service::waitForService("/clear");
	ros::ServiceClient clear_background = node.serviceClient<std_srvs::Empty>("/clear");
	std_srvs::Empty srv;
	clear_background.call(srv);
	
	sleep(1);
	
	return 0;
}

运行前

 

编译运行后,

jw@Z8:~$ rosrun learning_parameter parameter_config 
[ INFO] [1646359062.192237083]: Get Background Color[69, 86, 255]
[ INFO] [1646359062.193959467]: Set Background Color[255, 255, 255]
[ INFO] [1646359062.194303664]: Re-get background Color[255, 255, 255]

 

 命令行显示参数,背景变为白色

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值