热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

遍历所有点的最短路径matlab_全覆盖路径规划及其在slam无人车适用方案

基本概念:CCPP:CompleteCoveragePathPlanningCCPP需解决的关键问题:遍历工作区域内除障碍物以外的全部区域在遍历过程中有

基本概念:

CCPP:

Complete Coverage Path Planning

CCPP需解决的关键问题:

遍历工作区域内除障碍物以外的全部区域

在遍历过程中有效避开所有障碍物

在遍历过程中要尽量避免路径重复,缩短移动距离

CCPP技术指标:

区域覆盖率

路径重复率

总行程

死区:

是指它的周边相邻区域,或者是边界,或者是障碍物,或者是已覆盖过的区域

全覆盖路径规划问题本质:

在栅格地图中,全覆盖路径规划问题就演变为寻找机器人的下一个移动位置,只有准确找出了该位置,才能使机器人自主规划出一条切实可行的无碰撞且重复率低的移动路径。

路径搜索

路径表达:以环境模型中的结点序列组成或由直线段序列组成

路径平滑:根据机器人运动学或动力学约束,形成机器人可跟踪执行的运动轨迹

运动学约束:路径轨迹的一阶导数应连续

动力学约束:路径轨迹的二阶导数应连续

CCPP方法分类

1 行为覆盖法:随机碰撞法

原理:机器人根据简单的移动行为,尝试性地覆盖工作区域,如果遇到障碍物,则执行对应的转向命令

缺点:行为全覆盖算法工作效率低,路径规划策略过于简单,面对复杂地形机器人经常无法逃离死区

随机覆盖法,也称为随机碰撞式导航,但这并非是指机器人真正与环境中的物体产生碰撞,也非毫无章法的在地板上随机移动,随机覆盖法是指机器人根据一定的移动算法,如三角形、五边形轨迹尝试性的覆盖作业区,如果遇到障碍,则执行对应的转向函数。这种方法是一种以时间换空间的低成本策略,如不计时间可以达到 100%覆盖率。随机覆盖法不用定位、也没有环境地图,也无法对路径进行规划,所以其移动路径基本依赖于内置的算法,算法的优劣也决定了其清扫质量与效率的高低。

31b4b861b438db84e2a93ac4f3adefc3.png

2 区域分割法

原理:为了使机器人能够逃离死区,同时减少算法的计算量,Jin等提出一种基于时空信息的全局导航与局部导航组合的算法。

优点:

该算法一方面能够通过局部计算代替不必要的全局计算,减少了实时决策时局部最优导航的计算量;

另一方面通过分层的方式使机器人能够逃离死区。

缺点:

局部与全局的转换过程中,当周围没有未覆盖的区域时,机器人需要扩大邻近区域的面积来寻找未覆盖区域,这将导致覆盖效率的降低,尤其是当未覆盖区域距离机器人较远时

3 神经网络法

原理:利用神经网络的自学习、并行性等特性,增强机器人的“智能”,提高覆盖效率。受神经网络结构与栅格地图单元类似的启发,加拿大学者 S. X.Yang等提出一种基于生物启发神经网络的移动机器人全覆盖路径规划算法,将需要全覆盖的二维栅格地图单元与生物启发神经网络的神经元一一对应起来,机器人实现全覆盖的实时路径规划是由神经元的活性值和机器人的上一位置产生的。该算法完全根据栅格地图单元的性质 (未搜索单元、已搜索单元还是障碍物),决定神经元的输入,直接计算神经元的活性值,不存在神经网络学习过程

优点:算法实时性好,同时可以自动避障与逃离死区。

缺点:但是基于生物启发神经网络的全覆盖算法计算量大,同时此种方法中神经网络模型的衰减率等参数没有最优值,在实现算法时只能通过反复实验确定,参数的设定存在人为不确定因素,从而影响其在线应用

4.路径规划式

规划式导航需要建立起环境地图并进行定位。对路径规划的研究已经持续很多年了,也提出了很多种类的方法。不同的方法有各自的优缺点,适用范围各不相同,没有一种路径规划方法能适用于所有的环境信息。其中的人工势场法、栅格法、模板模型法、人工智能法等是路径规划中很典型的方法,并且受到越来越多的关注。

下面主要来看最常见的两种搜索:

第一种螺旋式搜索:

fb9c75f1d2a8c20bd404176ac33d175f.png

这种方式在无障碍物时看起来效果还不错,可是一旦有障碍物时,往往会陷入局部死区,搜索路径也会大大增加,所以不采用。

85def7c58de74afd5841191f229b9fc6.png

第二种弓字型搜索:

215e1d8a6e458f05d481a082e4f7ed0d.png

这种方式在无任何障碍物时就像耕地一样一趟一趟得进行搜索,当存在障碍物时,通过设计算法效果如下:

b49504915a4dff71de2abdd535bfdcf8.png

可以看到存在障碍物时,也可以合理的安排路径,故采用这种方式,在此基础上进行改进来运行适合slam建图的路径规划。

适用于slam无人车的CCPP方案:

1 思想

首先来看slam无人车与扫地机器人的不同:

扫地机器人一次智能遍历到它当前位置的那个格子,而无人车由于其上的摄像头,因此可以抽象如下:

195e9fea1f88e865bb97411e6e136a5e.png

车一次所能遍历到的其实就是它的视野,我们可以通过可信范围的方式认为其遍历到的格子

是一个三角形的范围,视野前端半径为r个格子,视野远端h个格子,这样一次覆盖范围就为:

由于视野比较宽阔,所以在走一次的路线上视野覆盖面积其实类似与铲雪一样:

5f187b77583d736bc6f7d8083c2e9c9a.png

直行一趟扫过的面积其实是一个宽为2r个格子的矩形,因此我们没有必要一列一列的去搜索,在掉头时不用只是向左或向右只走一个格子就进行下一列的搜索,而是掉头时向左或向右走2r个格子再进行下一列的搜索,并且由于视野可以延申h和格子,因此在距离边界h个格子时就可以进行掉头:

ba8deb886e3215075ca2b4fa896a07e4.png

2 方案

  1. 从起点(1,1)开始,设地图总共大小为(m,n).首先行至(r,0),若行进路线上无障碍物,则下一个目标点设置为这一列的对面,视野覆盖下扫过的单元格记录到搜索过的列表中。
  2. 若碰到障碍物或是搜索过的格子(当前位置距其r个格子),则检测这个障碍物的横向长度占几个格子,手动设置阈值,若绕过的路程少,则直接绕过,把目标点设置为障碍物的背面对应点,利用A*进行导航,继续搜索,若横向长度太长,则直接掉头。
ce6e98ba397608bfb1b822f547a356be.png
08ae50a7e9f07efc83f5ec504ddd23c0.png
  1. 若障碍物紧靠边界,通过阈值判断,若是长的障碍物,则还是直接掉头,若是短的,则直接把接下来的目标点设定为障碍物旁边的一个格子:
8f1098144455650ea0a75d63dd5ce037.png
  1. 检测周围区域,若均是障碍物或是搜索过的区域,则表示无路可走,也就是陷入死区:
c16dd429de1809203d6e601ab746ab96.png

死区示意图:

9092948fac491d2a8bc938c4d23a70e9.png

此时利用A*导航至离当前点最近的未搜索区域继续搜索:

fe6fefafb962a931e0e343eb286f08a1.png

5,重复进行,直到搜索所有格子加入列表。



推荐阅读
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 智能投顾机器人:创业者如何应对新挑战?
    随着智能投顾技术在二级市场的兴起,针对一级市场的智能投顾也逐渐崭露头角。近日,一款名为阿尔妮塔的人工智能创投机器人正式发布,它将如何改变投资人的工作方式和创业者的融资策略? ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 江苏启动鲲鹏生态产业园首批应用孵化项目
    2019年9月19日,在华为全联接大会上,江苏鲲鹏生态产业园正式启动了首批鲲鹏应用孵化项目。南京市委常委、江北新区党工委专职副书记罗群等多位嘉宾出席并见证了这一重要时刻。 ... [详细]
  • 2017年苹果全球开发者大会即将开幕,预计iOS将迎来重大更新,同时Siri智能音箱有望首次亮相,AI技术成为大会焦点。 ... [详细]
  • 地球坐标、火星坐标及百度坐标间的转换算法 C# 实现
    本文介绍了WGS84坐标系统及其精度改进历程,探讨了火星坐标系统的安全性和应用背景,并详细解析了火星坐标与百度坐标之间的转换算法,提供了C#语言的实现代码。 ... [详细]
  • 智能全栈云风暴:AI引领的企业转型之路
    当提及AI,人们脑海中常浮现的是天才少年独自编写算法,瞬间点亮机器人的双眼。然而,真正的AI革命正由大型企业和机构推动,它们利用全栈全场景AI技术,实现数字化与智能化的深度转型。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • C语言标准及其GCC编译器版本
    编程语言的发展离不开持续的维护和更新。本文将探讨C语言的标准演变以及GCC编译器如何支持这些标准,确保其与时俱进,满足现代开发需求。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 基于结构相似性的HOPC算法:多模态遥感影像配准方法及Matlab实现
    本文介绍了一种基于结构相似性的多模态遥感影像配准方法——HOPC算法,该算法通过相位一致性模型构建几何结构特征描述符,能够有效应对多模态影像间的非线性辐射差异。文章详细阐述了HOPC算法的原理、实验结果及其在多种遥感影像中的应用,并提供了相应的Matlab代码。 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • C语言入门精选教程与书籍推荐
    本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ... [详细]
author-avatar
mobiledu2502861847
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有