目录
3.配置CMakeLists.txt中的编译规则,build下
参数模型
Parameter Server相当于全局变量的储存空间
一、参数命令行的使用
1.列出当前多有参数
rosparam list
2.显示某个参数值
rosparam get xxx
3.设置某个参数值
rosparam set xxx
4.保存参数到文件
rosparam dump xxx.xxx
5.从文件读取参数
rosparam load xxx.xxx
6.删除参数
rosparam delete xxx
二、使用yaml文件
通过打开yaml文件来修改参数
background_b:255
background_g:86
background_r:69
rosdistro: 'melodic'
roslaunch:
uris:{host_hcx_vpc__43763: 'http://hcx.vpc:43763/'}
rosversion: '1.14.3'
run_id: 077058de-a38b-11e9-818b-000c29d22e4d
也可从此文件中读取参数
rosparam load xxx.xxx
刷新参数
rosservice call /clear "{}"
三、编程实现
1.创建功能包(learning_parameter)
cd ~/catkin_ws/src
catkin_create_pkg learning_parameter roscpp rospy std_srvs
2.创建parameter_config.cpp
cd learning_parameter/src
touch parameter_config.cpp
gedit parameter_config.cpp
parameter_config.cpp内容如下
//该例程设置/读取海龟例程中的参数
#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_config");
// 创建节点句柄
ros::NodeHandle node;
// 读取背景颜色参数
ros::param::get("/background_r", red);
ros::param::get("/background_g", green);
ros::param::get("/background_b", blue);
ROS_INFO("Get Backgroud Color[%d, %d, %d]", red, green, blue);
// 设置背景颜色参数
ros::param::set("/background_r", 255);
ros::param::set("/background_g", 255);
ros::param::set("/background_b", 255);
ROS_INFO("Set Backgroud Color[255, 255, 255]");
// 读取背景颜色参数
ros::param::get("/background_r", red);
ros::param::get("/background_g", green);
ros::param::get("/background_b", blue);
ROS_INFO("Re-get Backgroud 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;
}
3.配置CMakeLists.txt中的编译规则,build下
add_executable(parameter_config src/parameter_config.cpp)
target_link_libraries(parameter_config ${catkin_LIBRARIES})
4.编译
cd ~/catkin_ws
catkin_make
5.运行
启动ROS核心
roscore
启动海龟仿真器
rosrun turtlesim turtlesim_node
运行
source ~/catkin_ws/devel/setup.bash
rosrun learning_parameter parameter_config
ros通过程序设置参数https://download.youkuaiyun.com/download/m0_56451176/86398724?spm=1001.2014.3001.5503