ROS保姆级教程(三)--参数服务器通讯方式实现

这篇博客介绍了ROS中的参数服务器,一种全局共享参数的存储和通信机制。参数服务器维护一个数据字典,存储静态参数和配置,提供命令行、launch文件和节点源码三种维护方式。通过实例展示了如何使用rosparam命令和源码操作参数,实现参数的读写,最终通过修改小海龟背景颜色展示了参数服务器的功能。
摘要由CSDN通过智能技术生成

通过前面两篇博客的介绍,相信大家对ROS的通讯机制已经有了一个基本的认识,本篇博客我们将学习ROS中的另一种通讯机制–参数服务器。与前两种通信方式不同,参数服务器也可以说是特殊的“通信方式”。特殊点在于参数服务器是节点存储参数的地方、用于配置参数,全局共享参数。参数服务器使用互联网传输,在节点管理器中运行,实现整个通信过程。

参数服务器,作为ROS中另外一种数据传输方式,有别于topic和service,它更加的静态。参数服务器维护着一个数据字典,字典里存储着各种参数和配置。

何为字典,其实就是一个个的键值对,我们小时候学习语文的时候,常常都会有一本字典,当遇到不认识的字了我们可以查部首查到这个字,获取这个字的读音、意义等等,而这里的字典可以对比理解记忆。键值kay可以理解为语文里的“部首”这个概念,每一个key都是唯一的,参照下图:
在这里插入图片描述
每一个key不重复,且每一个key对应着一个value。也可以说字典就是一种映射关系,在实际的项目应用中,因为字典的这种静态的映射特点,我们往往将一些不常用到的参数和配置放入参数服务器里的字典里,这样对这些数据进行读写都将方便高效。

参数服务器的维护方式非常的简单灵活,总的来讲有三种方式:

  • 命令行维护
  • launch文件内读写
  • node源码

其实在ROS Master中就存在一个参数服务器Parameter Server,它是一个全局字典,用来保存各个节点的配置参数,每个节点都是可以访问的,并且会返回需要得到的值。
在这里插入图片描述
现在我们来介绍参数服务器的使用方法,首先依然是创建我们的功能包,经过前面两篇博客的介绍,相信大家对这些基本的操作已经很熟悉了:

cd ~/catkin_ws/src
catkin_create_pkg learning_parameter roscpp rospy std_srvs

完成之后如下图:
在这里插入图片描述
YAML文件用来保存各种参数,而且这样可以更加方便进行管理。
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 <
Ubuntu 24.04 配置ROS (Robot Operating System) 的保姆教程主要包括以下几个步骤: 1. **安装 Ubuntu 和依赖**: - 更新系统:`sudo apt update && sudo apt upgrade` - 安装基础软件包:`sudo apt install software-properties-common` - 添加ROS官方源:`sudo add-apt-repository ppa:desktop-dev/ros-toolkit` - 更新并安装ROS:`sudo apt update && sudo apt install ros-${ros_distro}-desktop` 2. **选择ROS版本**: - 查看可用版本:`catkin_ws/src`(其中 ${ros_distro} 可能是 `foxy`, `noetic`, 等等) - 挑选适合的版本并创建工作空间:`mkdir -p catkin_ws && cd catkin_ws && wstool init src` 3. **构建工作环境**: - 初始化CATKIN workspace:`wstool update` - 构建工作区:`colcon build --symlink-install` 4. **设置环境变量**: - 将ROS路径添加到 `.bashrc` 或者 `~/.zshrc` 中:`echo "export ROS_PACKAGE_PATH=~/catkin_ws/install_isolated/share:$ROS_PACKAGE_PATH" >> ~/.bashrc` - 刷新环境:`source ~/.bashrc` 或 `source ~/.zshrc` 5. **启动运行**: - 如果需要启动ROS核心节点,可以使用 `roslaunch` 命令,例如启动一个基本的 turtlesim:`roslaunch turtlebot2_tutorials tutorial_world.launch` 6. **调试和测试**: 使用 `rosrun` 命令运行节点,查看日志,使用 `rostopic`, `rviz`, 或其他工具进行交互。 **注意事项**: - 保持更新:定期检查是否有ROS的更新,并按照官方文档同步升。 - 遵循ROS的最佳实践:如正确管理package结构、使用colcon代替传统的catkin_make等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值