上海松江做网站建设自助搜优惠券网站怎么做的
上海松江做网站建设,自助搜优惠券网站怎么做的,深圳 网站设计师 招聘,drupal网站建设ROS学习笔记文章目录
01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序#xff08;简例#xff09; 03. ROS学习笔记(三)—好用的终端Terminator 04. ROS学习笔记(四)—使用 VScode 启动launch文件运行多个节点 05. ROS学习笔…ROS学习笔记文章目录
01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序简例 03. ROS学习笔记(三)—好用的终端Terminator 04. ROS学习笔记(四)—使用 VScode 启动launch文件运行多个节点 05. ROS学习笔记(五)—话题发布 06. ROS学习笔记(六)—服务通信机制
1. 参数服务器是什么 参数服务器是ROS中用于存储和共享参数的中央存储库。它是一个全局的、分布式的键值存储系统允许ROS节点在运行时动态地存储、读取和更新参数值。参数服务器可以在多个节点之间共享参数并且可以通过修改参数的值来实现节点之间的通信。 参数服务器的应用场景非常广泛以下是一些常见的例子
配置参数 参数服务器可以用于存储和共享系统配置参数例如机器人的硬件参数、传感器的校准参数、控制算法的参数等。这样多个节点可以方便地读取这些配置参数而不需要硬编码到节点代码中。运行时参数调整 参数服务器可以在运行时动态地调整节点的参数而无需重新编译或重新启动节点。这对于调试和优化节点的行为非常有用。状态共享 参数服务器可以用于共享系统的状态信息例如机器人的位置、目标位置、传感器的测量值等。多个节点可以通过读取参数服务器上的状态参数来了解系统的当前状态。
2. 参数服务器的理论模型 参数服务器的理论模型如下 上图参考了赵虚左老师的课程 在这个模型中ROS Master充当管理者的角色负责协调和管理整个ROS系统。Talker是参数设置者负责将参数设置到参数服务器中。Listener是参数调用者负责从参数服务器中获取参数。
具体流程如下
Talker参数设置者将参数设置到参数服务器中。它向ROS Master发送请求告诉ROS Master要将哪个参数设置为什么值。ROS Master接收到Talker的请求后将参数的值保存到参数服务器上。参数服务器是一个分布式的键值存储系统用于存储ROS节点之间共享的参数和配置信息。Listener参数调用者想要获取参数的值它向ROS Master发送请求告诉ROS Master要获取哪个参数的值。ROS Master接收到Listener的请求后从参数服务器上获取对应参数的值并将值返回给Listener。Listener接收到参数的值后可以在其节点中使用该值进行相应的操作。
通过这种模型Talker可以根据需要设置参数的值而Listener可以根据需要获取参数的值。参数服务器作为一个集中的存储系统使得参数的设置和获取可以在不同的节点之间进行实现了参数的共享和动态配置。
3.编写参数服务器新增(修改)参数的python案例 1任务要求演示参数的新增与修改需求。即在参数服务器中设置机器人的属性型号半径
2编写程序实现 我们在上一个工作空间下面新建plumbing_param_server文件夹作为参数服务器这一项目的功能包然后创建script文件夹再新建一个demo01_pub_p.py的文件来编写发布方程序记得打开python可执行权限然后编辑配置文件CMakeLists.txt怎么创建新的功能包等具体可见ROS学习笔记(二) 完整程序如下
#! /usr/bin/env python
#coding:utf-8
import rospy
演示参数的新增与修改
需求在参数服务器中设置机器人的属性型号半径if __name__ __main__:#2.初始化 ROS节点rospy.init_node(param_set_p)#3.新增参数rospy.set_param(type_p , xiaoHuangChe)rospy.set_param(radius_p , 0.15)rospy.loginfo(设置成功)#修改参数rospy.set_param(radius_p , 0.4)pass
crtlB编译运行后打开终端查看发布方结果也就只是打印出来一个“设置成功”
(3)查看参数新增与修改的效果 ① 通过终端查看参数新增与修改的效果新增另外一个终端输入如下命令可以 列出所有参数。 rosparam list # 列出所有参数② 通过下面的命令来获取参数
rosparam get name # 获取参数在新的终端输入rosparsm的相关指令后获取到发布方的设置的参数可以看到其中radius_p的取值是我们最后修改的0.4同样你可以用rosparam get type_p 来获取对应的值。
附rosparam参数的相关命令 rosparam包含rosparam命令行工具用于使用YAML编码文件在参数服务器上获取和设置ROS参数
rosparam set 设置参数
rosparam get 获取参数
rosparam load 从外部文件加载参数
rosparam dump 将参数写出到外部文件
rosparam delete 删除参数
rosparam list 列出所有参数
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92129.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!