ROS原理与技术应用 课件 5-3 实现激光雷达自主导航系统.pptx

ROS原理与技术应用 课件 5-3 实现激光雷达自主导航系统.pptx

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

《ROS原理与技术应用》

能力模块五掌握使用激光雷达

构建地图与实现导航的方法

任务三实现激光雷达自主导航系统

导入

前面我们已经学习SLAM技术,了解到构建环境地图是小车实现自主导航技术里面的关键部分,并已经通过智慧猫小车来完成了环境地图的构建。

目录

CONTENTS

navigation功能包集简介

navigation导航框架

全局路径规划算法简介

智慧猫导航的实现

新授

一、navigation功能包集简介

ROS中的navigation功能包集为自动驾驶导航相关包的集合,功能包里的主要子功能包及其作用如表所示。

二、navigation导航框架

navigation导航框架如图所示,其主要完成了全局路径规划、局部路径规划、全局代价地图、局部代价地图和恢复规划器(recovery_behaviors)的实现。为实现自主导航功能,还需要地图服务、传感器、自主定位、运动控制这四个模块。

二、navigation导航框架

在图中我们可以看到,整个导航框架的功能包集合以move_base(路径规划)为核心,将里程计信息、传感器信息、定位信息、地图以及目标点输入给move_base,move_base经过规划后会输出速度指令。

move_base包括三个关键部分:global_planner(全局规划器)、local_planner(局部规划器)和recovery_behaviors(恢复行为)。这三个部分都是以插件的形式实现的,通过插件机制可以方便地切换不同算法实现的规划器。

恢复行为会在小车移动过程中出现了异常状态时被触发,目的是帮助小车摆脱异常状态。另外,move_base还包括了global_costmap(全局代价地图)和local_costmap(局部代价地图),规划器需要在代价地图上进行导航规划。

三、全局路径规划算法简介

在全局路径规划算法中,大致可分为以下三类:

传统算法

01

智能算法

02

传统与智能相结合的算法

03

三、全局路径规划算法简介

下面主要对常见的传统算法Dijkstra和A*算法进行介绍

迪杰斯特拉算法(Dijkstra)是由荷兰计算机科学家狄克斯特拉于1959年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。迪杰斯特拉算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。

Dijkstra算法

A*算法是启发式搜索算法,启发式搜索即在搜索过程中建立启发式搜索规则,以此来衡量实时搜索位置和目标位置的距离关系,使搜索方向优先朝向目标点所处位置的方向,最终达到提高搜索效率的效果。

A*算法的基本思想如下:引入当前节点x的估计函数f(x),当前节点x的估计函数定义为:

f(x)=g(x)+h(x)

其中g(x)是从起点到当前节点x的实际距离量度(代码中可以用两点之间距离代替);h(x)是从节点x到终点的最小距离估计,h(x)的形式可以从欧几里得距离()或者曼哈顿距离中选取。

算法基本实现过程为:从起始点开始计算其每一个子节点的f值,从中选择f值最小的子节点作为搜索的下一点,往复迭代,直到下一子节点为目标点。

A*算法

四、智慧猫导航的实现

首先智慧猫利用线控底盘中的电机编码器信息来计算小车底盘的里程计信息,利用激光雷达来获取周围环境的深度信息,利用IMU来获取当前智慧猫的姿态信息(方向、速度等信息),然后通过数据融合功能包对获取到的这些信息进行融合,生成一个更为精准的里程计信息提供给智慧猫的导航框架。同时,智慧猫还会将使用到的外围传感器与线控底盘相互之间的坐标转换关系发送给导航框架。

四、智慧猫导航的实现

通过获取到里程计信息和TF转换关系,我们只用设定好智慧猫在已构建地图中的初始位置,就能够利用自主定位功能包amcl来实现智慧猫在运动过程中的实时定位。当我们需要实现智慧猫的自主导航时,给定智慧猫一个坐标,导航路径规划功能包move_base会结合智慧猫的当前位姿,为智慧猫到达目的地实现全局路径规划,在智慧猫到达目的地之前,如果全局规划路径中出现了新的障碍物,而这个障碍物信息在已构建的地图中并不存在,那么智慧猫会基于激光雷达的传感器信息来进行局部路径规划,实现动态避障,并最终达到目的地。

任务实施

一、任务准备

(一)软件、硬件准备

(二)安全要求及注意事项

1.安装好ROS系统电脑一台;

2.行云桥智慧猫一台;

实施步骤有:

二、实施步骤

启动导航节点

01

启动导航可视化节点

02

进行智慧猫在地图中初始位置的标定

03

指定目标位置

04

观察智慧猫移动路径

05

二、实施步骤

(一)创建工作空间并初始化

您可能关注的文档

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档