ros 参数服务器 消息发布和订阅 机器人避障
来源:互联网 发布:json文件的注释 编辑:程序博客网 时间:2024/05/22 04:36
Ros编写消息发布器和订阅器(python)
定义两个rospy节点,“talker”节点通过topic “chatter”发布消息,“listen”节点用来接收消息
编写发布器
1. 进入包beginner_tutorials
roscd beginner_tutorials
2. 建立Python脚本目录
mkdir scripts
cd scripts
3. 编写talker.py文件,权限要加上可执行
touch talker.py
chmod +x talker.py
vim talker.py (或 rosed beginner_tutorials talker.py)
4. 编译代码
cd ~/catkin_ws
catkin_make
5. 测试代码
启动roscore
启动talker.py rosrun beginner_tutorials talker.py
6. 查看主题
rostopic echo/chatter
编写订阅器
1.步骤与编写订阅器相似,进入~/catkin_ws/src/beginner_tutorials/scripts目录,创建listener.py文件,注意修改可执行权限
2.编写代码
3.编译代码
cd ~/catkin_ws
catkin_make
4.测试代码
首先运行roscore,若roscore已经运行,不需要再开一个,
运行 listener.py
rosrun beginner_tutorials listener.py
【注】在运行listener.py的时候,要运行talker.py不然接收不到消息
5.使用rqt_graph查看调用关系
制作Launch文件
用roslaunch 运行launch文件,可以同时运行多个结点,而不需要另开终端一个rosrun运行节点
1. 在beginner_tutorials目录下新建bringup目录
roscd beginner_tutorials
mkdir –p bringup
2. 进入bringup,新建talker-and-listener.launch
cd bringup
rosed beginner_tutorials talker-and-listener.launch
3.在launch文件里输入代码
3. 运行launch
roslaunch beginner_tutorialstalker-and-listener.launch
4.查看节点关系
使用参数服务器
参数类型有整数、浮点数、字符串、布尔值、列表、字典等。
操作参数
1. 获取参数,使用rospy.get_param(param_name)
【注】rospy.get_param(‘/param_name’) #获取全局参数
rospy.get_param(‘param_name’)#获取当前命令空间的参数
rospy.get_param(‘~param_name’)#使用私有空间命名参数
rospy.get_param(‘param_name’,’default_value’)#获取参数,如果没有,使用默认值
2设置参数,使用rospy.set_param(param_name,para_value)
3.删除参数,使用rospy.delete_param(‘param_name’)
4.判断参数是否存在,使用rospy.has_param(‘param_name’)
制作launch文件
通过lanunch设置参数,进入bringup目录,新建param_talker.launch
roscd beginner_tutorials/bringup/
touch param_talker.launch
rosed beginner_tutorials param_talker.launch
制作结点
使用参数,进入scripts目录,新建param_talker.py
roscdbeginner_tutorials/scripts/
touchparam_talker.py
rosedbeginner_tutorials param_talker.py
sudo chmod +xparam_talker.py
启动launch文件
roslaunch beginner_tutorials param_talker.launch
机器人避障
1 首先向机器人底层发送参数命令‘p’,得到超声波测距的值:
输入:p\r
输出:110 110 110 110\r
【备注】单位:cm 前面三个超声波,后面一个超声波。输出的值的顺序是:前面左边,前面中间,前面右边,后面中间
在驱动结点中添加代码,即发送命令’p’:
2 将这四个值设置成为参数:
3.创建一个新的结点,通过一个话题进行通信,接收参数服务器上产生的值,调整机器人的运动状态,然后将调整运动状态的消息发布到话题上将消息发布出去。
Ros编写消息发布器和订阅器(python)
定义两个rospy节点,“talker”节点通过topic “chatter”发布消息,“listen”节点用来接收消息
编写发布器
1. 进入包beginner_tutorials
roscd beginner_tutorials
2. 建立Python脚本目录
mkdir scripts
cd scripts
3. 编写talker.py文件,权限要加上可执行
touch talker.py
chmod +x talker.py
vim talker.py (或 rosed beginner_tutorials talker.py)
4. 编译代码
cd ~/catkin_ws
catkin_make
5. 测试代码
启动roscore
启动talker.py rosrun beginner_tutorials talker.py
6. 查看主题
rostopic echo/chatter
编写订阅器
1.步骤与编写订阅器相似,进入~/catkin_ws/src/beginner_tutorials/scripts目录,创建listener.py文件,注意修改可执行权限
2.编写代码
3.编译代码
cd ~/catkin_ws
catkin_make
4.测试代码
首先运行roscore,若roscore已经运行,不需要再开一个,
运行 listener.py
rosrun beginner_tutorials listener.py
【注】在运行listener.py的时候,要运行talker.py不然接收不到消息
5.使用rqt_graph查看调用关系
制作Launch文件
用roslaunch 运行launch文件,可以同时运行多个结点,而不需要另开终端一个rosrun运行节点
1. 在beginner_tutorials目录下新建bringup目录
roscd beginner_tutorials
mkdir –p bringup
2. 进入bringup,新建talker-and-listener.launch
cd bringup
rosed beginner_tutorials talker-and-listener.launch
3.在launch文件里输入代码
3. 运行launch
roslaunch beginner_tutorialstalker-and-listener.launch
4.查看节点关系
使用参数服务器
参数类型有整数、浮点数、字符串、布尔值、列表、字典等。
操作参数
1. 获取参数,使用rospy.get_param(param_name)
【注】rospy.get_param(‘/param_name’) #获取全局参数
rospy.get_param(‘param_name’)#获取当前命令空间的参数
rospy.get_param(‘~param_name’)#使用私有空间命名参数
rospy.get_param(‘param_name’,’default_value’)#获取参数,如果没有,使用默认值
2设置参数,使用rospy.set_param(param_name,para_value)
3.删除参数,使用rospy.delete_param(‘param_name’)
4.判断参数是否存在,使用rospy.has_param(‘param_name’)
制作launch文件
通过lanunch设置参数,进入bringup目录,新建param_talker.launch
roscd beginner_tutorials/bringup/
touch param_talker.launch
rosed beginner_tutorials param_talker.launch
制作结点
使用参数,进入scripts目录,新建param_talker.py
roscdbeginner_tutorials/scripts/
touchparam_talker.py
rosedbeginner_tutorials param_talker.py
sudo chmod +xparam_talker.py
启动launch文件
roslaunch beginner_tutorials param_talker.launch
机器人避障
1 首先向机器人底层发送参数命令‘p’,得到超声波测距的值:
输入:p\r
输出:110 110 110 110\r
【备注】单位:cm 前面三个超声波,后面一个超声波。输出的值的顺序是:前面左边,前面中间,前面右边,后面中间
在驱动结点中添加代码,即发送命令’p’:
2 将这四个值设置成为参数:
3.创建一个新的结点,通过一个话题进行通信,接收参数服务器上产生的值,调整机器人的运动状态,然后将调整运动状态的消息发布到话题上将消息发布出去。
备注:实现代码在本地
- ros 参数服务器 消息发布和订阅 机器人避障
- ROS总结——ROS消息发布和订阅
- ROS 基础: 在同一个节点里订阅和发布消息
- ROS学习笔记--消息发布器和订阅器
- ROS:消息发布器和订阅器(c++)
- ROS学习(-)基本概念+发布&订阅消息
- ROS下视频消息发布与订阅
- 消息发布-订阅服务器 Laharsub
- 消息发布-订阅服务器 Laharsub
- ROS 编写消息发布器(publisher)和订阅器(subscriber)-精简
- ROS 自定义消息发布器和订阅器测试 +代码详解(入门级)
- ROS入门_1.14 编写及测试简单的消息发布器和订阅器 (C++)
- ROS-python实现简单的消息发布器和订阅器
- ROS:三个节点相互传递消息,每个节点都可以同时发布和订阅主题
- ROS教程(十一):编写简单的消息发布器和订阅器
- ROS教程(十二):测试消息发布器和订阅器
- redis 消息订阅和发布
- 多机器人避障
- ElasticsearchCRUD使用(十六)【Elasticsearch聚合】
- volley框架的简单说明
- 05_从头到尾打印链表
- ArcGIS Web客户端开发(一)开发环境准备
- 指针和变量的值
- ros 参数服务器 消息发布和订阅 机器人避障
- 为什么说分布式事务不再适用于微服务架构
- 定位子串(一)
- Hadoop基础教程-第2章 Hadoop快速入门(2.3 Hadoop单机配置)
- Emoji 简介------阮老师的最新力作
- NIO Buffer
- 下载整个网站
- 一起艳恶学习电商项目
- MySQL登录与退出