《自主导航技术与应用》课件 第七章自主导航系统应用.pptx

《自主导航技术与应用》课件 第七章自主导航系统应用.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

;;;;;;;;;;;;;;;;整个流程由以下步骤实现:

服务是一种带有应答的通信机制,通信原理如图所示,与话题的通信相比,其减少了Listener与Talker之间的RPC通信。具体步骤如下:

(1)Talker注册

Talker启动,通过1234端口使用RPC向ROSMaster注册发布者的信息,包含所提供的服务名;ROSMaster会将节点的注册信息加入注册列表中。

(2)Listener注册

Listener启动,同样通过RPC向ROSMaster注册订阅者的信息,包含需要查找的服务名。

(3)ROSMaster进行信息匹配

Master根据Listener的订阅信息从注册列表中进行查找,如果没有找到匹配的服务提供者,则等待该服务的提供者加入;如果找到匹配的服务提供者信息,则通过RPC向Listener发送Talker的TCP地址信息。

(4)Listener与Talker建立网络连接

Listener接收到确认信息后,使用TCP尝试与Talker建立网络连接,并且发送服务的请求数据。

(5)Talker向Listener发布服务应答数据

Talker接收到服务请求和参数后,开始执行服务功能,执行完成后,向Listener发送应答数据。;;整个流程由以下步骤实现:

(1)Talker设置变量

Talker使用RPC向ROSMaster发送参数设置数据,包含参数名和参数值;ROSMaster会将参数名和参数值保存到参数列表中。

(2)Listener查询参数值

Listener通过RPC向ROSMaster发送参数查找请求,包含所要查找的参数名。

(3)ROSMaster向Listener发送参数值

Master根据Listener的查找请求从参数列表中进行查找,查找到参数后,使用RPC将参数值发送给Listener。

这里需要注意的是,如果Talker向Master更新参数值,Listener在不重新查询参数值的情况下是无法知晓参数值已经被更新的。所以在很多应用场景中,需要一种动态参数更新的机制。;在深入研究怎么利用ROS开发机器人之前,我们简单尝试ROS的使用。首先启动ROS自带的小海龟测试程序,依次在三个终端中输入以下三条指令:

$roscore

$rosrunturtlesimturtlesim_node

$rosrunturtlesimturtle_teleop_key

在深入研究怎么利用ROS开发机器人之前,我们简单尝试ROS的使用。首先启动ROS自带的小海龟测试程序,依次在三个终端中输入以下三条指令:

$roscore

$rosrunturtlesimturtlesim_node

$rosrunturtlesimturtle_teleop_key;;;值得注意的是机器人在定位过程中,对与参考坐标系的使用,在ROS系统里有两种常用的方式:

1)通过里程计定位:实时收集机器人的速度信息,计算并发布机器人坐标系与父级参考系的相对关系。

2)通过传感器定位:传感器收集外界环境信息,通过匹配计算并发布机器人坐标系与父级参考系的相对关系。

上述两种定位实现中,机器人坐标系一般使用机器人模型中的根坐标系(base_link或base_footprint),里程计定位时,父级坐标系一般称之为odom,如果通过传感器定位,父级参考系一般称之为map。当二者结合使用时,map和odom都是机器人模型根坐标系的父级,这是不符合坐标变换中单继承的原则的,所以,一般会将转换关系设置为:map-doom-base_link或base_footprint。

;;;;;;在ROS系统中完成深度相机建图导航的实现,需先安装深度相机驱动及导航功能包(如rtabmap-ros),通过depthimage_to_laserscan将深度图像转换为伪激光数据,利用RTAB-Map等SLAM算法构建三维栅格地图,结合move_base导航包进行路径规划,并通过闭环检测优化地图精度,最后在Rviz中可视化地图与导航路径,实现机器人自主定位与避障。;;;;;;;;

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档