我是靠谱客的博主 雪白台灯,最近开发中收集的这篇文章主要介绍参数的使用和编程方法简介rosparam 参数类指令的使用C++编程实现修改小海龟背景颜色python添加变量总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 简介
  • rosparam 参数类指令的使用
      • 命令参数查看
      • 以小海龟为例查看指令的使用
  • C++编程实现修改小海龟背景颜色
    • 1.代码
    • 2.运行
    • 结果
  • python
  • 添加变量
  • 总结
    • 如何获取/设置
    • 添加参数

简介

参数是在ros measter中,每个节点都可以访问该数据

rosparam 参数类指令的使用

命令参数查看

输入rosparam查看rosparam的参数设置

rosparam is a command-line tool for getting, setting, and deleting parameters from the ROS Parameter Server.

Commands:
	rosparam set	set parameter
	rosparam get	get parameter
	rosparam load	load parameters from file
	rosparam dump	dump parameters to file
	rosparam delete	delete parameter
	rosparam list	list parameter names

list:显示但前的参数名
set: 可以设置参数值
load: 加载.yaml文件来修改参数值
dump: 把当前参数和值到出到一个.yaml文件中
delete:是删除某个参数

以小海龟为例查看指令的使用

  1. rosparam list
    在这里插入图片描述
  2. rosparam get
    在这里插入图片描述
  3. rosparam set
    在这里插入图片描述
    通过`rosservice call /clear "{}"查看参数修改的效果
    在这里插入图片描述
  4. rosparam dump filename.yaml

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
生成了数据文件
5. rosparam load name.yaml
在这里插入图片描述
在这里插入图片描述
service call /clear "{}"后查看
在这里插入图片描述
小海龟背景变为黑色

C++编程实现修改小海龟背景颜色

1.代码

/*
该例程设置/读取小海龟历程中的参数
*/
#include <string>
#include <ros/ros.h>
#include <std_srvs/Empty.h>

int main(int argc, char **argv)
{
	int red,green,blue;
	
	//ROS节点初始化
	ros::init(argc, argv, "parameter_conflg");
	//创建节点句柄
	ros::NodeHandle n;
	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", 100);
	ros::param::set("/turtlesim/background_g", 100);
	ros::param::set("/turtlesim/background_b", 100);
	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 = n.serviceClient<std_srvs::Empty>("/clear");
	std_srvs::Empty srv;
	clear_background.call(srv);
	
	sleep(1); 
	return 0;	
}

2.运行

运行步骤和前面一样

结果

在这里插入图片描述在这里插入图片描述

python

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
#该进程设置/读取小海龟的参数
import sys
import rospy
from std_srvs.srv import Empty

def parameter_conflg():
	#ROS节点初始化
	rospy.init_node('parameter_conflg', anonymous = True)
	#读取背景颜色参数
	red = rospy.get_param('/turtlesim/background_r')
	green = rospy.get_param('/turtlesim/background_g')
	blue = rospy.get_param('/turtlesim/background_b')
	rospy.loginfo("Get Background Color[%d, %d, %d]", red, green, blue)
	#设置背景颜色参数
	rospy.set_param('/turtlesim/background_r', 0)
	rospy.set_param('/turtlesim/background_b', 0)
	rospy.set_param('/turtlesim/background_g', 0)
	rospy.loginfo("Set Background Color [0, 0, 0]")
	#读取背景颜色参数
	red = rospy.get_param('/turtlesim/background_r')
	green = rospy.get_param('/turtlesim/background_g')
	blue = rospy.get_param('/turtlesim/background_b')
	rospy.loginfo("Re-Get Background Color[%d, %d, %d]", red, green, blue)
	#发现/clear服务后,创建一个服务客户端,连接名为/clear的服务
	rospy.wait_for_service('/clear')
	clear_background = rospy.ServiceProxy('/clear', Empty)
	response = clear_background()
	return response
if __name__ == '__main__':
	parameter_conflg()

添加变量

只需要调用set类函数,添加变量名字和值即可
rospy.set_param('tmp', 0)
c++:ros::param::set("cpptmp", 100);
在这里插入图片描述

总结

如何获取/设置

  1. 初始化ROS节点
  2. get函数获取参数
    pythongreen = rospy.get_param('/turtlesim/background_g')
    c++ros::param::get("/turtlesim/background_g", green);
  3. set函数设置参数
    python rospy.set_param('/turtlesim/background_b', 0)
    c++ros::param::set("/turtlesim/background_g", 100);

添加参数

set函数按照设置参数的方法即可
python tmppy', 0)
c++ros::param::set("tmpcpp", 100);

最后

以上就是雪白台灯为你收集整理的参数的使用和编程方法简介rosparam 参数类指令的使用C++编程实现修改小海龟背景颜色python添加变量总结的全部内容,希望文章能够帮你解决参数的使用和编程方法简介rosparam 参数类指令的使用C++编程实现修改小海龟背景颜色python添加变量总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部