《Ubuntu20.04环境下的ROS学习笔记10》

一、ROS Master中的参数的使用

        每次运行程序的时候第一个终端一般都是输入: roscore命令来打开ROS Master,这里不仅会登记每一个节点,同时ROS Master中的Parameter Server通过全局字典的参数模型还存储着很多的参数供节点们使用。本节我们将使用命令和程序来查看ROS Master中的参数。

二、参数命令行的使用

1、rosparam list 列出当前有多少参数

rosparam list

注意这里需要你有一个终端里面提前输入:roscore 来打开ROS Master

2、rosparam get + 参数 显示某个参数值

再打开一个终端输入rosrun turtlesim turtlesim_node

rosparam get /turtlesim/background_b

3、rosparam set + 参数 + 数值 设置某个参数值

rosparam set /turtlesim/background_b 100

注意这里虽然你设置完了,值确实也变了,但是为什么background并没有变色?这里turtlesim这个节点node,他自己不知道值变了,当下一次数据传输时才会去检测,所以我们让他进行一下数据传输。

rosparam get /turtlesim/background_b 检测值是否变

rosservice call /clear "{}"                这句命令会更新参数

4、rosparam dump + 保存文件名  将参数保存在文件里面

rosparam dump param.yaml

将参数都保存到param.yaml里了。值得一提的是,这个命令会将文件放在当前文件夹里,所以您要注意您此刻的文件目录位置,可以使用pwd来查看。

您可以使用nodepad++来查看一下param.yaml里面的内容

5、rosparam load + 文件  用文件的方式修改参数

rosparam load param.yaml

rosservice call /clear "{}"        这句命令会更新参数

注意这里我们先要把里面的参数改改,不然看不到效果。比如您可以将rgb全改为255,即白色。

6、rosparam delete + 参数  删除指定参数

rosparam delete /turtlesim/background_b

rosparam list

rosservice call /clear "{}"

三、使用程序修改参数

1、创建功能包

cd ~/catkin_ws

catkin_creat_pkg learning_parameter roscpp rospy std_srvs

2、编写参数使用的代码

cd ~/catkin_ws/src/learning_parameter/src

touch Parameter_config.cpp

使用nodepad++编辑代码:

/***********************************************************************
Copyright 2020 GuYueHome (www.guyuehome.com).
***********************************************************************/

/**
 * 该例程设置/读取海龟例程中的参数
 */
#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("/turtlesim/background_r", red);
	ros::param::get("/turtlesim/background_g", green);
	ros::param::get("/turtlesim/background_b", blue);

	ROS_INFO("Get Backgroud 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 Backgroud 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 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的编译规则

注意是在learning_parameter功能包下的CMakeLists.txt的#bulid那一栏的最末尾添加这么两句:

add_executable(Parameter_config src/Parameter_config.cpp)
target_link_libraries(Parameter_config ${catkin_LIBRARIES})

4、编译并运行代码

cd ~/catkin_ws

catkin_make

source devel/setup.bash 值得一提的是,这一步如果您按照了之前的文章来做,可以省略。(《Ubuntu20.04环境下的ROS学习笔记4》-CSDN博客

到这里编译完成。

接下来是运行程序,老样子还是打开3个终端:

第一个终端输入: roscore

第二个终端输入: rosrun turtlesim turtlesim_node

第三个终端输入: rosrun learning_parameter Parameter_config

您将会看到背景由蓝变白,且回弹信息打印出之前RGB的值和现在RGB的值。

值得注意的是在20.04里面参数叫做/turtlesim/background_b,在18.04里叫做/background_b,若本程序不能实现,您可以用rosparam list看看您的参数列表里面的background的参数是否因为版本迭代而改名。

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Ubuntu 20.04上安装ROS的具体步骤包括:1. 安装软件包管理工具:sudo apt update && sudo apt install -y git wget2. 安装ROS的源文件:sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'3. 设置密钥:sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C6544. 安装ROS:sudo apt update && sudo apt install -y ros-noetic-desktop-full5. 初始化rosdep:sudo rosdep init && rosdep update6. 设置环境变量:echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc && source ~/.bashrc7. 安装ROS工具:sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential ### 回答2: 在Ubuntu 20.04下安装ROS的具体步骤如下: 1. 首先,确保系统已经更新到最新版本。可以使用以下命令: ``` sudo apt update sudo apt upgrade ``` 2. 添加ROS软件包仓库到系统源列表。可以使用以下命令: ``` sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list' ``` 3. 添加ROS密钥到系统密钥链中。可以使用以下命令: ``` sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654 ``` 4. 更新软件包索引。可以使用以下命令: ``` sudo apt update ``` 5. 安装ROS。可以根据需要选择安装完整版或基础版。以安装完整版Melodic为例,可以使用以下命令: ``` sudo apt install ros-melodic-desktop-full ``` 6. 初始化ROS环境变量。可以使用以下命令: ``` echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` 7. 安装ROS依赖项。可以使用以下命令: ``` sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential ``` 8. 初始化rosdep。可以使用以下命令: ``` sudo rosdep init rosdep update ``` 9. 创建和管理工作空间。可以使用以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 以上就是在Ubuntu 20.04下安装ROS的具体步骤。根据自己的需要和ROS版本,可以适当进行调整。 ### 回答3: 在Ubuntu 20.04下安装ROS的具体步骤如下: 1. 在终端中更新apt软件包索引,使用以下命令: ``` sudo apt update ``` 2. 安装ROS密钥和软件源,使用以下命令: ``` sudo apt install curl curl -sSL http://wiki.ros.org.cn/ubuntu-cn/SourceList?action=AttachFile&do=get&target=ubuntu-1804-melodic.sources.list > /etc/apt/sources.list.d/ros-latest.list ``` 3. 设置ROS密钥,使用以下命令: ``` sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 ``` 4. 更新apt软件包索引,使用以下命令: ``` sudo apt update ``` 5. 安装ROS,使用以下命令(默认安装完整版桌面): ``` sudo apt install ros-melodic-desktop-full ``` 6. 初始化ROS,使用以下命令: ``` sudo rosdep init rosdep update ``` 7. 设置ROS环境变量,在终端中打开`~/.bashrc`文件,使用以下命令: ``` gedit ~/.bashrc ``` 8. 在文件末尾添加以下行,保存并关闭文件: ``` source /opt/ros/melodic/setup.bash ``` 9. 更新当前终端的环境变量,使用以下命令: ``` source ~/.bashrc ``` 10. 安装ROS工具,使用以下命令: ``` sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential ``` 11. 验证ROS安装是否成功,使用以下命令查看已安装的ROS包列表: ``` apt list | grep ros-melodic ``` 至此,您已经成功在Ubuntu 20.04下安装了ROS。您可以通过其他教程了解如何创建ROS工作空间,并开始使用ROS进行开发和工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值