深度科普:机器人都在用的Hybrid A*算法,你知道多少?

这篇具有很好参考价值的文章主要介绍了深度科普:机器人都在用的Hybrid A*算法,你知道多少?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

全局路径规划,是指在已知的环境中为机器人规划一条最优行驶路径。本文将对比经典的A*算法,深度探讨机器人常用全局路径规划算法——Hybrid A*算法的原理,包括Hybrid A*算法特性、RS曲线、代价函数与启发式、节点拓展、碰撞检测,以及局部优化与平滑等内容。 

01 Hybrid A*算法特性

Hybrid A*算法是一种图搜索算法,是基于A*算法的一种「变形」。

A*算法采用贪心策略,结合启发式的引导,在静态网路中求解最短路径有着非常不错的效果。但它在规划过程中,将机器人看做一个质点,只考虑(x,y)两个维度,未考虑机器人的实际运动约束。

a*算法机器人,机器人科普,算法,机器人

​而Hybrid A*算法增加了θ维度,优化了节点的扩展方式,可以更好地满足车辆的运动特性,在有障碍物、低速等场景的阿克曼底盘、无人车等存在运动约束的机器人中,具有更好的使用表现。至于差速、全向机器人等不存在运动约束的机器人场景中,则不需要用到Hybrid A*算法。

应用中,A*算法规划的路径点,都在各个栅格的中心;Hybrid A*算法的路径点可以在栅格的任意位置,并且通常使用Reeds-Shepp曲线连接,生成平滑路径。

a*算法机器人,机器人科普,算法,机器人
A*算法规划路径点在栅格中心
a*算法机器人,机器人科普,算法,机器人
Hybrid A*算法路径点在栅格任意位置

相较于Dubins曲线只允许车辆向前运动,Reeds-Shepp曲线运动模型既允许车辆向前运动,也允许车辆向后运动。

a*算法机器人,机器人科普,算法,机器人

​据J Reeds和L.A. Shepp证明,Reeds-Shepp Car从起点qI到终点qG的最短路径,一定在下面的word之中:

a*算法机器人,机器人科普,算法,机器人且所有word组合不超过48种:

a*算法机器人,机器人科普,算法,机器人

注:word中的"|"表示车辆运动朝向,由正向转为反向或者由反向转为正向。每个word都由L+,L-,R+,R-,S+,S-这六种primitives组成。其中,L+表示车辆左转前进;L-表示车辆左转后退;R+表示车辆右转前进;R-表示车辆右转后退,S+表示车辆直行前进;S-表示车辆直行后退。 表示两个曲线长度一样的曲线部分, 表示曲线部分有90度。

02 代价函数与启发式

在A*算法中,代价函数通常是从起点到当前节点的距离之和。

Hybrid A*算法则结合实际情况,对车辆的角度、挡位、前后向变化等因素添加惩罚,使得规划的轨迹更加符合实际运动场景。

a*算法机器人,机器人科普,算法,机器人

​另外,启发式也是非常重要的一环,主要采用了两种启发式算法。

第一种启发式——无障碍物的非完整约束启发式。主要考虑车辆的运动特性,但是忽略障碍物。

即将车辆的最小半径作为输入,并且获取从当前点到目标点的最优曲线路径(如RS曲线、Dubins曲线等),然后计算最优曲线的长度作为启发函数的代价值。

第二种启发式是第一种启发式的对偶——有障碍物的完整性启发式。主要考虑环境中的障碍物信息,忽略车辆的运动特性。

通过在每个节点使用Djikstra算法,获得该节点到达目标点的最近距离作为其代价函数的代价值。Djikstra算法能够在类似迷宫环境中,获得扩展节点到目标点的最近路径,因此可以避免Hybrid A*算法在扩展过程中朝向不正确的问题。

之后比较两种启发式的代价值大小,选择其中较大的代价作为Hybrid A*的代价值。实践证明,这样可以极大提升规划效率和效果。

a*算法机器人,机器人科普,算法,机器人

 注:(a)二维欧氏距离扩展21515个节点。(b)无障碍物的非完整约束启发式是一个显著的改进,因为它扩展了1465个节点,但是如(c)所示,它会导致在更复杂的环境中(68730个节点)对死胡同的浪费性探索。结合使用两种启发式之后,有比较明显的改善(10588节点)如(d)所示。

由于这些启发式不依赖Hybrid A*的任何特性,也同样适用于A*算法等其他搜索方法。

a*算法机器人,机器人科普,算法,机器人

03 节点扩展

A*算法的扩展节点,是在四个或者八个方向相邻离散栅格的中心点,因此无法表达在连续空间中车辆的朝向和位置。

Hybrid A*算法则是通过考虑车辆运动特性生成的轨迹替代A*算法中的节点。同时在扩展节点时,会充分考虑车辆的运动特性,所以可以生成更加符合车辆运动特性的轨迹。

a*算法机器人,机器人科普,算法,机器人

Hybrid A*算法节点扩展的通常做法是:从当前节点出发,根据预先设定的运动步长,同时考虑最大转弯半径,从前向和后向采样车辆运动轨迹。对采样的运动轨迹做碰撞检测,满足车辆运动条件的运动轨迹即可作为待选节点。

另外考虑到运算量,普通节点间的扩展通常不使用RS曲线,只有在接近目标节点时才会使用RS曲线生成目标轨迹。

04 碰撞检测

在全局路径规划过程中,为了避免机器人与障碍物发生碰撞,需要将规划的路径与障碍物保持安全距离。

a*算法机器人,机器人科普,算法,机器人

A*算法的处理方式是,通过检查路径经过的栅格占据状态来判断碰撞。

而Hybrid A*算法是在机器人的路径采样过程中,在路径的每个采样点上结合机器人的外形和位姿,来判断机器人各时刻的轮廓范围内是否存在障碍物。如果存在障碍物,就放弃这条采样路径。

a*算法机器人,机器人科普,算法,机器人
Hybrid A*算法碰撞检测示意

这种碰撞检测方法,可以很好地结合机器人实际尺寸,和各采样时刻的姿态准确判断碰撞关系,但同时也大大增加了算法的复杂度。

05 局部优化和平滑

由于Hybrid A*算法产生的路径往往不是最优解,通常存在不自然转向以及不必要转向,需要进一步改进优化。

第一步,先对路径点进行非线性优化。

我们可以通过局部平滑的目标函数,得到更加平滑的路径:

a*算法机器人,机器人科普,算法,机器人

注: 为Voronoi场,可以有效地引导机器人远离窄通道和宽通道中的障碍物; 是路径的最大允许曲率,即与障碍物的碰撞惩罚;  和 是惩罚函数,即每个节点上轨迹的瞬时曲率,并加强车辆的非完整约束;  ,  , ,  是权重,对路径平滑性的度量。

其中,Voronoi场用来获取与障碍物之间的关系,定义如下:

a*算法机器人,机器人科普,算法,机器人

注: 是节点到达最近障碍物的距离; 是节点到达维诺地图边的最近距离;  表示势能下降速率,为常数,当   值越大,(x,y)处的势能下降得越慢; 表示势能的控制范围,为常数。其中,节点(x,y)处的势能,取值从0到1,当 时,(x,y)势能为0,势能值到达最大的时候是(x,y)在障碍物上或者里面,势能值到达最小的时候是(x,y)在广义泰森多边形的边上。

过程中,我们将Hybrid A*产生的轨迹用红线表示,对结点优化后的轨迹标注为蓝线。

a*算法机器人,机器人科普,算法,机器人

​可以发现,优化后得到的路径比Hybrid A*得到的解更平滑,不过仍然是分段线性的。

a*算法机器人,机器人科普,算法,机器人

​第二步,采用共轭梯度方法进行非参数化插值,然后就得到了一条连贯且平滑的路径。

a*算法机器人,机器人科普,算法,机器人

​以上就是我们针对Hybrid A*算法原理和整体流程的分享,欢迎大家交流、斧正。文章来源地址https://www.toymoban.com/news/detail-650820.html

到了这里,关于深度科普:机器人都在用的Hybrid A*算法,你知道多少?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【科普】干货!带你从0了解移动机器人(三) ——自主导航系统及上位机软件设计与实现

    随着机器人技术的不断发展,我们可以在许多简单重复,危险的岗位上看到机器人的身影,移动机器人凭借其在复杂环境下工作,具有自行感知、自行规划、自我决策功能的能力,它可以在不同的环境中移动并执行任务,在人类社会中发挥着越来越重要的作用。但移动机器人

    2024年02月07日
    浏览(58)
  • 你应该知道的——微信公众号配上机器人回复(微信对话开放平台)

    今天看了好多文章都是接入 ChatGPT 来作为微信公众号的机器人回复,弄了半天还没注册成功,于是搜了搜微信公众号机器人,发现了微信公众号配备了机器人! 虽然没有 ChatGPT 高级,但是自己玩玩还是挺好的,主要是接入非常简单! 微信出版的,一顿操作五分钟完成接入!

    2024年02月07日
    浏览(48)
  • 《花雕学AI》你不知道的AI 机器人:29个让你大开眼界的事实

    AI 机器人是人工智能技术的最具代表性的应用之一,它们可以模仿人类的行为和思维,完成各种复杂的任务,如识别图像、语音和文字,进行对话、翻译和推理,控制机械臂、汽车和飞机等。AI 机器人的发展速度令人惊叹,它们已经在许多领域展现了超越人类的能力,如下棋

    2024年02月04日
    浏览(60)
  • 深度了解机器人行业全貌

    机器人主要可分为工业机器人、服务机器人和特种机器人,主要产品如下图所示。 机器人主要分类 资料来源:36氪、华泰证券《机械设备行业专题研究-商用服务机器人:曙光已现蓝海可期-220105》。 其中工业机器人的主要种类及应用领域如下图所示。 工业机器人主要类型及

    2024年02月12日
    浏览(28)
  • 大象机器人人工智能套装2023版深度学习协作机器人、先进机器视觉与应用场景

    介绍当前的版本 今天我们要介绍的是aikit2023,aikit2023是aikit的全新升级版。 AIkit 2023 是一套集视觉,定位抓取、自动分拣模块为一体的入门级人工智能套装。 该套装基于python平台,可通过开发软件实现机械臂的控制,简单易学,能够快速入门学习人工智能基础知识,启发创新

    2024年02月13日
    浏览(47)
  • “做了一辈子机器人,深知其困难” | 一场关于机器人的深度对话

    2023年12月19日,深圳市美团机器人研究院学术年会在清华大学深圳国际研究生院成功举办。会议回顾了研究院成立一年来的进展和成果,并邀请了各界专家共同讨论机器人技术的未来发展趋势。 从左至右依次为:张鹏、王田苗、张宏、张建伟、汪玉、许华哲 在圆桌论坛环节,

    2024年02月02日
    浏览(38)
  • 仿真机器人-深度学习CV和激光雷达感知(项目2)day03【机器人简介与ROS基础】

    💫你好,我是辰chen,本文旨在准备考研复试或就业 💫本文内容是我为复试准备的第二个项目 💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容 🌟 预置知识:基本Python语法,基本linux命令行使用 以下的几个专栏是本人比较满意的专栏 (大部分专栏仍在持续更新

    2024年01月19日
    浏览(35)
  • 机器人控制算法——移动机器人横向控制最优控制LQR算法

    1.Introduction LQR (外文名linear quadratic regulator)即线性二次型调节器,LQR可得到状态线性反馈的最优控制规律,易于构成闭环最优控制。LQR最优控制利用廉价成本可以使原系统达到较好的性能指标(事实也可以对不稳定的系统进行整定) ,而且方法简单便于实现 ,同时利用 Matlab 强

    2024年02月04日
    浏览(36)
  • 【深度学习】大模型卷到机器人上了

    当一项变革性技术出现后,以此为基础的技术就会像雨后春笋般蔓延。 就像Transformer出现后,以此为基础的大语言模型ChatGPT,视觉基础模型Segment Anything相继横空出世,并展现出强大的涌现能力。生成式AI可谓百花齐鸣,争相绽放。 继纯语言,纯视觉大模型后,多模态大模型

    2024年02月07日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包