机器人学习-关于经典路径规划(二)

这篇具有很好参考价值的文章主要介绍了机器人学习-关于经典路径规划(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

8.Roadmap路线图

即将学习的第一组离散化方法被称为路线图,该方法使用一个简单的连通图来表示配置空间——类似于用地铁地图来表示城市。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

路线图方法通常分两个阶段实现:

构建阶段从空间的连续表示中构建图形。这个阶段通常会花费大量的时间和精力,但是生成的图可以用于多个查询,只需要进行最小的修改。

查询阶段评估图像以找到从开始位置到目标位置的路径。这是通过搜索算法来完成的。

在这个离散化部分,我们只讨论和评估每个路线图方法的构建阶段。而查询阶段将在离散化部分之后的图搜索部分中更详细地讨论。

接下来将学习的两个路线图方法是可视性(Visibility)图和Voronoi图方法。

9.可视性(Visibility)图

可视性图通过将开始节点、所有障碍物的顶点和目标节点相互连接(除了那些会导致与障碍物碰撞的节点)来构建路线图。可视性图之所以叫这个名字是有原因的——它将每个节点连接到从其位置“可见”的所有其他节点。

—节点:起点、目标和所有障碍顶点。

—边:两个节点之间不与障碍物相交的边,包括障碍物边。

下图显示了包含多边形障碍物的配置空间的可见性图。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

构建可视性图的动机是,从开始节点到目标节点的最短路径将是一条分段线性路径,只在障碍物的顶点处弯曲。这在直觉上是有道理的——路径应该尽可能地贴近障碍物的边角,而不增加任何额外的长度。

一旦构建了可视性图,就可以应用搜索算法找到从起点到目标的最短路径。下图显示了可见性图中的最短路径。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

小测试:

虽然用于搜索路线图的算法还没有引入,但是否有任何算法能够找到从开始到目标的路径,以及最优路径是否在路线图内,仍然值得分析。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

完成测试后,现在应该已经看到了可见性图方法的优点。可见性图的一个缺点是它没有为错误留有余地。穿越最佳路径的机器人必须非常接近障碍物,这大大增加了碰撞的风险。在某些应用程序中,例如动画或视频游戏的路径规划,这是可以接受的。然而,现实世界机器人定位的不确定性使得该方法不切实际。

10.Voronoi(泰森多边形法)图

另一种生成路线图的离散化方法称为Voronoi图,与生成最短路径的可见性图方法不同,Voronoi图最大限度地提高了障碍物之间的间隙。Voronoi图是一种边缘平分障碍物之间自由空间的图。每条边都与周围的障碍物保持等距离——尽可能留出最大的间隙。如下图所示为配置空间的Voronoi图:

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

 路径规划机器学习,学习,机器人,人工智能,算法,动态规划

11.单元分解法

另一种可用于将配置空间转换为搜索算法可轻松探索的表示的离散化方法是单元分解法。单元格分解将空间划分为离散的单元格,每个单元格是一个节点,相邻单元格用边连接。有两种不同类型的单元分解:

  • 精确单元格分解

  • 近似单元格分解

精确单元格分解

精确单元格分解将空间划分为不重叠的网格。这通常是通过将空间分割成三角形和梯形来实现的,这可以通过在每个障碍物的顶点添加垂直线段来实现。在下面的图像中看到配置空间的精确单元格分解的结果:

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

 一旦空间被分解,得到的图就可以用来搜索从起点到目标的最短路径。结果图如下图所示:

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

精确的单元格分解因为其精确性和完整性而显得优雅。每个单元要么是“满的”,意味着它完全被障碍物占据,要么是“空的”,意味着它是自由的。所有单元的并集恰好代表了配置空间。如果存在从起点到终点的路径,结果图将包含它。

为了实现精确的单元分解,算法必须沿x轴对所有障碍顶点进行排序,然后对每个顶点确定是否必须创建一个新单元,或者是否应该将两个单元合并在一起。这种算法称为平面扫描算法。

精确的单元格分解导致单元格形状怪异。形状独特的梯形和三角形的集合比规则的矩形网格更难处理。这导致了计算复杂度的增加,特别是对于具有较多维度的环境。当障碍物不是多边形而是不规则形状时,分解计算也很困难。

由于这个原因,存在另一种类型的单元格分解,它在实现中更加实用。

12.近似单元格分解

近似单元格分解将配置空间划分为简单、规则形状的离散单元格——例如矩形和正方形(或它们的多维等量物)。除了简化单元格的计算外,该方法还支持空间的层次分解(下面将详细介绍)。

简单的分解

二维配置空间可以分解为矩形单元格的网格。然后,每个单元格可以像之前一样标记为满或空。然后,搜索算法可以寻找一个空闲单元格序列来连接开始节点和目标节点。

这种方法比精确的细胞分解更有效,但失去了完整性。一个特定的配置空间可能包含一个可行路径,但是由于存在障碍物,单元格的分辨率导致一些包含路径的单元格被标记为“满”。不管单元格中99%的空间被障碍物占据,还是只有1%的空间被障碍物占据,它都会被标记为“满”。显然,这是不实在的。

迭代分解

还有一种将空间划分为简单单元格的方法。该方法不是立即将空间分解为大小相等的小单元,而是递归地将空间分解为四个象限。每个象限被标记为满、空或一个名为“混合”的新标签——用于表示一些被障碍物占据,但也包含一些空闲空间的单元格。如果从头到尾找不到一个空闲空间的单元,那么混合单元将进一步分解为另外四个象限。通过这个过程,更多的空闲单元将出现,最终揭示出一条路径(如果存在的话)。这种方法的二维实现称为四叉树分解。可以在下面的图表中看到:

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

算法

近似单元格分解背后的算法比精确单元格分解算法简单得多。下面提供了该算法的伪代码:

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

路径规划机器学习,学习,机器人,人工智能,算法,动态规划 

四叉树的三维等效物是八叉树,如下图所示。离散具有任意维数的空间的方法遵循与上面描述的算法相同的过程,但是扩展以适应额外的维数。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划 

尽管精确的单元格分解是一种更优雅的方法,但对于非普通环境,它比近似的单元格分解计算成本要高得多。因此,在实践中通常采用近似的单元分解方法。经过足够的计算,近似的单元格分解接近完整。然而,这并不是最优的——最终的路径取决于单元格如何分解。

近似的单元格分解可以快速找到明显的解决方案。最优路径有可能挤过障碍物之间的一个极小的开口,但最终路径在广阔的开放空间中需要更长的路线——这是递归分解算法首先找到的。近似的单元分解是功能性的,但是像所有离散/组合路径规划方法一样,它开始在高维环境中难以计算。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

13.势场Potential Field

本文要学习的最后一种离散化方法——势场法。与迄今为止讨论的将连续空间离散成连通图的方法不同,势场方法执行不同类型的离散化。

为了完成它的任务,势场法生成了两个函数——一个将机器人吸引到目标,另一个将机器人驱逐开障碍物。这两个函数可以相加以创建离散化表示。通过应用梯度下降等优化算法,机器人可以在绕过障碍物的同时向目标空间移动。让我们更详细地看看这些步骤是如何实现的。

吸引势场

吸引势场是在目标配置下具有全局最小值的函数。如果一个机器人被放置在任意一点,并被要求沿着下降最陡的方向,它将最终达到目标配置。这个函数不需要很复杂,一个简单的二次函数就可以实现上面讨论的所有要求。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

排斥势场

排斥势场在自由空间中是一个等于零的函数,在障碍物附近增长到一个较大的值。创建这样一个势场的一种方法是使用下面的函数。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

值ρ0控制势场离障碍物的非零距离,以及障碍物周围的区域有多陡。超过ρ0时,势场为0。在距离障碍物的ρ0范围内,势场随距离障碍物的远近而成比例。

势场和

将吸引函数和排斥函数相加,得到用于引导机器人从空间中的任何地方到达目标的势场。下图显示了函数的和,紧接着的图像显示了最终函数。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

路径规划机器学习,学习,机器人,人工智能,算法,动态规划 

想象一下,在函数的表面上放置一个弹珠——它将从场上的任何地方朝目标的方向滚动,而不会与任何障碍物碰撞(只要ρ0设置得当)!

函数的梯度决定了机器人应该移动的方向,速度可以设置为常数,或者根据机器人和目标之间的距离缩放。

势场法的问题

势场法并非没有缺点,它既不完整也不最优。在某些环境下,该方法将引导机器人到达局部最小值,而不是全局最小值。下面的图片描述了这样一个例子。根据机器人从哪里开始,它可能会被引导到微笑图的底部。下图描述了配置空间,后面图显示了对应的势场。

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

路径规划机器学习,学习,机器人,人工智能,算法,动态规划 

机器人陷入局部最小值的问题可以通过添加随机行走和其他通常应用于梯度下降的策略来解决,但最终该方法并不完整。

势场法也不是最优的,因为它可能并不总是找到从起点到目标的最短(或最便宜)路径。最短的路不一定是最陡峭的下坡路。此外,势场没有考虑每一步的代价。

本文总结如下图示:

路径规划机器学习,学习,机器人,人工智能,算法,动态规划

 文章来源地址https://www.toymoban.com/news/detail-589053.html

 

 

 

 

 

 

 

 

 

 

到了这里,关于机器人学习-关于经典路径规划(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人路径规划+matlab

    题目要求: 机器人路径规划是机器人自主导航的关键技术,旨在在有障碍物的环境中按照一定的标准寻找一条从起点到终点的无碰撞路径。本题要求考虑路程最短,起点和终点以及障碍物的相关数据在代码中给出。 解决方案: 本次实验采用RRT算法来进行机器人路径规划问题

    2024年02月11日
    浏览(50)
  • 机器人轨迹生成:轨迹规划与路径规划

    机器人轨迹生成涉及到轨迹规划和路径规划两个关键概念,它们是机器人运动控制中的重要组成部分。下面对轨迹规划和路径规划进行深入比较。 轨迹规划(Trajectory Planning): 定义:轨迹规划是指在机器人运动中确定机器人末端或关节的期望轨迹。它是在特定的工作空间中

    2024年02月12日
    浏览(52)
  • ECBS多机器人路径规划

    多智能体路径规划 (Multi-Agent Path Finding, MAPF) 研究多智能体的路径规划算法,为多机系统规划无冲突的最优路径。 ECBS 算法由 CBS(Conflict-Based Search) 算法改进而来, 对 CBS算法的介绍可以参考笔者的这篇文章CBS多机器人路径规划(Conflict-Based Search)。CBS 算法给出 MAPF 问题的 全局最优

    2024年02月05日
    浏览(63)
  • 多机器人路径规划(MAPF)综述

    Multi-Agent Pathfinding: Definitions, Variants, and Benchmarks 这篇综述详细介绍了多机器人路径规划问题(Multi-Agent Path Finding, MAPF)统一的描述形式和研究 MAPF 问题需要参考的术语定义,并介绍了评估 MAPF 算法的标准数据集. 文中介绍了一个关于 MAPF 非常重要的网站 : http://mapf.info, 里面实时更

    2024年02月06日
    浏览(84)
  • 【路径规划matlab代码】基于遗传算法求解机器人栅格地图路径规划问题

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年03月08日
    浏览(69)
  • 【路径规划】基于遗传算法求解机器人栅格地图路径规划问题matlab代码

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年01月24日
    浏览(64)
  • SLAM+路径规划:巡检机器人算法设计

    标题:Research on SLAM and Path Planning Method of Inspection Robot in Complex Scenarios 作者:Xiaohui Wang,Xi Ma,Zhaowei Li 编译:东岸因为 编辑:郑欣欣@一点人工一点智能 入群邀请:7个专业方向交流群+1个资料需求群 原文:SLAM+路径规划:巡检机器人算法设计 工厂安全检查对于保持生产环境

    2024年02月03日
    浏览(46)
  • 改进灰狼算法实现机器人栅格地图路径规划

    改进灰狼算法实现机器人栅格地图路径规划 在机器人路径规划领域中,灰狼算法是一种具有全局搜索能力的优化算法。为了进一步提高其性能,可以结合和声算法对其进行改进。本文将介绍如何使用改进的灰狼算法实现机器人在栅格地图上的路径规划,并提供相应的MATLAB源代

    2024年02月06日
    浏览(56)
  • 基于灰狼算法的机器人栅格地图路径规划

    基于灰狼算法的机器人栅格地图路径规划 路径规划是机器人领域中一项重要的任务,它涉及在给定的环境中找到机器人从起始点到目标点的最优路径。灰狼算法是一种基于自然界中灰狼群体行为的优化算法,可以用于解决路径规划问题。在本文中,我们将介绍如何使用灰狼算

    2024年02月06日
    浏览(63)
  • 一套简单的机器人短途路径规划算法

    适用场景 效果 机器人在收到目标点后, global_planner先生成一条直达该点的路径 机器人转向目标点 机器人移动至目标点 机器人旋转到目标位姿 具体可以参考上篇文章, 修改了ROS自带navigation包中的carrot_planner, 使之具有以下特点 global_plan这个vector中包含的路径点的数量增加, 适配

    2024年02月19日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包