0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

决策规划系列:运动规划常用算法

3D视觉工坊 来源:十一号组织 2023-04-17 09:46 次阅读

有了全局路径参考信息,有了局部环境信息了,有了行为决策模块输入的决策信息,下一步自然而然的就要进行运动规划,从而生成一条局部的更加具体的行驶轨迹,并且这条轨迹要满足安全性和舒适性要求。

考虑到车辆是一个具有巨大惯性的铁疙瘩且没有瞬间移动的功能,如果仅考虑瞬时状态的行驶轨迹,不规划出未来一段时间有前瞻性的行驶轨迹,那么很容易造成一段时间后无解。因此,运动规划生成的轨迹是一种由二维空间和一维时间组成的三维空间中的曲线,是一种偏实时的路径规划。

运动规划的第一步往往采用随机采样算法,即走一步看一步,不断更新行驶轨迹。代表算法是基于采样的方法:PRM、RRT、Lattice。这类算法通过随机采样的方式在地图上生成子节点,并与父节点相连,若连线与障碍物无碰撞风险,则扩展该子节点。重复上述步骤,不断扩展样本点,直到生成一条连接起点到终点的路径。

PRM

概率路标法 (Probabilistic Road Maps, PRM),是一种经典的采样方法,由Lydia E.等人在1996年提出。PRM主要包含三个阶段,一是采样阶段,二是碰撞检测阶段,三是搜索阶段。

图25为已知起点A和终点B的地图空间,黑色空间代表障碍物,白色空间代表可通行区域。在采样阶段中,PRM首先在地图空间进行均匀的随即采样,也就是对地图进行稀疏采样,目的是将大地图简化为较少的采样点。

在碰撞检测阶段,剔除落在障碍物上的采样点,并将剩下的点与其一定距离范围内的点相连,同时删除穿越障碍物的连线,从而构成一张无向图。

在搜索阶段,利用全局路径规划算法章节介绍的搜索算法(Dijkstra、A*等)在无向图中进行搜索,从而找出一条起点A到终点B之间的可行路径。

e93690ec-dcaa-11ed-bfe3-dac502259ad0.png

图27 PRM工作原理示意图(来源:https://mp.weixin.qq.com/s/WGOUf7g0C4Od4X9rnCfqxA)

算法步骤可以总结为:

(1)构造无向图G =(V,E),其中V代表随机采样的点集,E代表两采样点之间所有可能的无碰撞路径,G初始状态为空。

(2)随机撒点,并选取一个无碰撞的点c(i)加入到V中。

(3)定义距离r,如果c(i)与V中某些点的距离小于r,则将V中这些点定义为c(i)的邻域点。

(4)将c(i)与其邻域点相连,生成连线t,并检测连线t是否与障碍物发生碰撞,如果无碰撞,则将t加入E中。

(5)重复步骤2-4,直到所有采样点(满足采样数量要求)均已完成上述步骤。

(5)采用图搜索算法对无向图G进行搜索,如果能找到起始点A到终点B的路线,说明存在可行的行驶轨迹。

PRM算法相比基于搜索的算法,简化了环境、提高了效率。但是在有狭窄通道场景中,很难采样出可行路径,效率会大幅降低。

RRT

快速探索随机树(Rapidly Exploring Random Trees,RRT),是Steven M. LaValle和James J. Kuffner Jr.在1998年提出的一种基于随机生长树思想实现对非凸高维空间快速搜索的算法。与PRM相同的是两者都是基于随机采样的算法,不同的是PRM最终生成的是一个无向图,而RRT生成的是一个随机树。RRT的最显著特征就是具备空间探索的能力,即从一点向外探索拓展的特征。

RRT分单树和双树两种类型,单树RRT将规起点作为随机树的根节点,通过随机采样、碰撞检测的方式为随机树增加叶子节点,最终生成一颗随机树。而双树RRT则拥有两颗随机树,分别以起点和终点为根节点,以同样的方式进行向外的探索,直到两颗随机树相遇,从而达到提高规划效率的目的。

下面以图28所示的地图空间为例介绍单树RRT算法的实现过程。在此地图空间中,我们只知道起点A和终点B以及障碍物的位置(黑色的框)。

e93f160e-dcaa-11ed-bfe3-dac502259ad0.png

图28 RRT算法举例的地图空间

对于单树RRT算法,我们将起点A设置为随机树的根,并生成一个随机采样点,如图27所示,随机采样点有下面这几种情况。

(1)随机采样点1落在自由区域中,但是根节点A和随机采样点1之间的连线存在障碍物,无法通过碰撞检测,采样点1会被舍弃,重新再生成随机采样点。

(2)随机采样点2落在障碍物的位置,采样点2也会被舍弃,重新再生成随机采样点。

(3)随机采样点3落在自由区域,且与根节点A之间的连线不存在障碍物,但是超过根节点的步长限制。但此时这个节点不会被简单的舍弃点,而是会沿着根节点和随机采样点3的连线,找出符合步长限制的中间点,将这个中间点作为新的采样点,也就是图29中的4。

e94368e4-dcaa-11ed-bfe3-dac502259ad0.png

图29 不同随机采样点举例

接着我们继续生成新的随机采样点,如果新的随机采样点位于自由区域,那么我们就可以遍历随机树中已有的全部节点,找出距离新的随机采样点最近的节点,同时求出两者之间的距离,如果满足步长限制的话,我们将接着对这两个节点进行碰撞检测,如果不满足步长限制的话,我们需要沿着新的随机采样点和最近的节点的连线方向,找出一个符合步长限制的中间点,用来替代新的随机采样点。最后如果新的随机采样点和最近的节点通过了碰撞检测,就意味着二者之间存在边,我们便可以将新的随机采样点添加进随机树中,并将最近的点设置为新的随机采样点的父节点。

重复上述过程,直到新的随机采样点在终点的步长限制范围内,且满足碰撞检测。则将新的随机采样点设为终点B的父节点,并将终点加入随机树,从而完成迭代,生成如图30所示的完整随机树。

e9492356-dcaa-11ed-bfe3-dac502259ad0.png

图30随机树结算结果示例

相比PRM,RRT无需搜索步骤、效率更高。通过增量式扩展的方式,找到路径后就立即结束,搜索终点的目的性更强。但是RRT作为一种纯粹的随机搜索算法,对环境类型不敏感,当地图空间中存在狭窄通道时,因被采样的概率低,导致算法的收敛速度慢,效率会大幅下降,有时候甚至难以在有狭窄通道的环境找到路径。

图31展示了 RRT应对存在狭窄通道地图空间时的两种表现,一种是RRT很快就找到了出路,一种是一直被困在障碍物里面。

e9507098-dcaa-11ed-bfe3-dac502259ad0.png

图31 RRT面对狭窄通道时的表现

围绕如何更好的“进行随机采样”、“定义最近的点”以及“进行树的扩展”等方面,诞生了多种改进型的算法,包括双树RRT-Connect(双树)、lazy-RRT, RRT-Extend等。

PRM和RRT都是一个概率完备但非最优的路径规划算法,也就是只要起点和终点之间存在有效的路径,那么只要规划的时间足够长,采样点足够多,必然可以找到有效的路径。但是这个解无法保证是最优的。

采用PRM和RRT等随机采样算法生成的行驶轨迹,大多是一条条线段,线段之间的曲率也不不连续,这样的行驶轨迹是不能保证舒适性的,所以还需要进一步进行曲线平滑、角度平滑处理。代表算法是基于曲线插值的方法:RS曲线、Dubins曲线、多项式曲线、贝塞尔曲线和样条曲线等。

所有基于曲线插值方法要解决的问题就是:在图32上的若干点中,求出一条光滑曲线尽可能逼近所有点。下文以多项式曲线和贝塞尔曲线为例,介绍曲线插值算法的示例。

e9588f76-dcaa-11ed-bfe3-dac502259ad0.png

图32 曲线插值方法要解决的问题描述

多项式曲线

找到一条曲线拟合所有的点,最容易想到的方法就是多项式曲线。常用的有三阶多项式曲线、五阶多项式曲线和七阶多项式曲线。理论上只要多项式的阶数足够高,就可以拟合各种曲线。但从满足需求和工程实现的角度,阶数越低越好。

车辆在运动规划中,舒适度是一个非常重要的指标,在物理中衡量舒适性的物理量为跃度(Jerk),它是加速度的导数。Jerk的绝对值越小意味着加速度的变化越平缓,加速度的变化越平缓意味着越舒适。而五次多项式曲线则被证明是在运动规划中可以使Jerk比较小的多项式曲线。

以图30所示换道场景为例,已知Frenet坐标系下换道起点和终点的六个参数s0、v0、a0、st、vt、at,采用横纵向解耦分别进行运动规划的方法,可得横向位置x(t)和纵向位置y(t)关于时间t的五次多项式表达式。

e9697bba-dcaa-11ed-bfe3-dac502259ad0.png

五次多项式中存在六个未知量,将起点和终点已知的六个参数代入便可这个六个未知量。然后根据时间t进行合并即可得到横纵向联合控制的曲线,即最终运动规划的曲线。

贝塞尔曲线

对于比较少的点来说,采用多项式曲线非常合理。但是当点比较多时,为了逼近所有点,就不得不增加多项式的次数,而由此带来的负面影响就是曲线震荡。退一步讲,即使震荡能够被消除,获得的曲线由于存在非常多的起伏,也不够光顺。而贝塞尔曲线的出现,正好解决了上述问题。

1959年,法国数学家保尔·德·卡斯特里使用独家配方求出贝塞尔曲线。1962年,法国雷诺汽车公司工程师皮埃尔·贝塞尔将自己在汽车造型设计的一些心得归纳总结,并广泛发表。贝塞尔在造型设计的心得可简单总结为:先用折线段勾画出汽车的外形大致轮廓,再用光滑的参数曲线去逼近这个折线多边形。

绘制贝塞尔曲线之前,我们需要知道起点和终点的参数,然后再提供任意数量的控制点的参数。如果控制点的数量为0,则为一阶贝塞尔曲线,如果控制点的数量为1,则为二阶贝塞尔曲线,如果控制点的数量为2,则为三阶贝塞尔曲线,依次类推。不论是起点、终点还是控制点,它们均代表坐标系下的一个向量。

下面我们以经典的二阶贝塞尔曲线为例,介绍其绘制方法。如图33所示,P0和P2为已知的参数的起点和终点,P1为已知参数的控制点。首先我们按照起点、控制点、终点的顺序依次连接,生成两条直线。

e9747344-dcaa-11ed-bfe3-dac502259ad0.png

图33 二阶贝塞尔曲线示例

接着我们以每条直线的起点开始,向各自的终点按比例t取点,如图中的A和B。随后我们将A和B相连得到一条直线,也按相同的比例t取点,便可得到C点,这也是二阶贝塞尔曲线在比例为t时会经过的点。比列t满足如下的公式。

e980789c-dcaa-11ed-bfe3-dac502259ad0.png

当我们比例t一点点变大(从0到1),就得到起点到终点的所有贝塞尔点,所有点相连便绘制出完整的二阶贝塞尔曲线C(t),用公式表达为。

e9894d6e-dcaa-11ed-bfe3-dac502259ad0.png

由二阶贝塞尔曲线拓展到N阶贝塞尔曲线,可得数学表达式如下。

e98fbb2c-dcaa-11ed-bfe3-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PRM
    PRM
    +关注

    关注

    0

    文章

    14

    浏览量

    4239
  • RRT
    RRT
    +关注

    关注

    0

    文章

    12

    浏览量

    1114
  • Dubins
    +关注

    关注

    0

    文章

    2

    浏览量

    1918

原文标题:决策规划系列:运动规划常用算法

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    黑芝麻智能端到端算法参考模型公布

    黑芝麻智能计划推出支持华山及武当系列芯片的端到端算法参考方案。该方案采用One Model架构,并在决策规划单元引入了VLM视觉语言大模型和PRR行车规则的概率化表征子模块,进一步提升
    的头像 发表于 12-03 12:30 270次阅读
    黑芝麻智能端到端<b class='flag-5'>算法</b>参考模型公布

    北斗卫星导航系统升级规划发布

    近日,中国卫星导航系统管理办公室在北京隆重召开了纪念北斗卫星导航系统工程建设三十周年的座谈会,并正式发布了《北斗卫星导航系统2035年前发展规划》。这一规划详细描绘了北斗卫星导航系统未来的发展蓝图
    的头像 发表于 11-29 11:27 255次阅读

    如何获取到ZHCA660应用文档内RF DAC的频率规划计算工具?

    如何获取到 ZHCA660 应用文档内RF DAC的频率规划计算工具?见下图
    发表于 11-14 07:20

    多台仓储AGV协作全局路径规划算法的研究

    多AGV动态路径规划需解决冲突避免,核心在整体协调最优。规划时考虑道路设计、拥堵、最短路径和交通管制,用A*算法避免重复路径和转弯,同时需交通管制防相撞。创新响应需求是关键,良好路径规划
    的头像 发表于 10-28 17:38 259次阅读
    多台仓储AGV协作全局路径<b class='flag-5'>规划算法</b>的研究

    激光雷达在城市规划中的应用

    随着城市化进程的加快,城市规划者面临着越来越多的挑战,包括交通拥堵、环境污染、城市扩张等。为了应对这些挑战,城市规划者需要准确、详细的城市数据来支持他们的决策。激光雷达(Light
    的头像 发表于 10-27 10:51 297次阅读

    基于储能电站提升风电消纳能力的电源规划研究浅析

    摘要:本文提出基于遗传算法的电源规划模型,以提升电网风电消纳能力与系统稳定性。通过构建方案,分析储能电站引入对电力系统的多方面影响,包括提升风电消纳能力、电网稳定性和经济效益等。尽管储能设施初期投资
    的头像 发表于 10-25 16:09 237次阅读
    基于储能电站提升风电消纳能力的电源<b class='flag-5'>规划</b>研究浅析

    浅谈基于储能电站提高风电消纳能力的电源规划研究

    吴春红 安科瑞电气股份有限公司 上海嘉定 201801 摘要: 文章提出了一种基于遗传算法的电源规划模型,旨在提高电网对风电的消纳能力并保持系统稳定。通过构建不同的规划方案,分析了储能电站的引入
    的头像 发表于 09-29 09:11 259次阅读
    浅谈基于储能电站提高风电消纳能力的电源<b class='flag-5'>规划</b>研究

    智慧产业园区规划的注意事项

    智慧产业园区是现代城市发展和产业转型的重要载体,其规划涉及技术、经济、社会等多个维度。为了确保智慧产业园区的可持续发展和高效运作,规划过程中需关注以下几个关键方面: 1.政策与法规支持 首先, 智慧
    的头像 发表于 08-19 11:39 244次阅读

    EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划

    EtherCAT运动控制器PT/PVT实现用户自定义轨迹规划
    的头像 发表于 08-15 11:49 623次阅读
    EtherCAT<b class='flag-5'>运动</b>控制器PT/PVT实现用户自定义轨迹<b class='flag-5'>规划</b>

    【Vision Board创客营连载体验】基于RA8D1-Vision Board的自动路径规划小车

    。而小车的移动由A*算法提前计算完成后在识别到第一个障碍物且距离符合预设值时开始执行路径规划程序。路径由下面的程序获得:
    发表于 06-18 15:33

    英伟达GPU新品规划与HBM市场展望

    在COMPUTEX 2024主题演讲中,英伟达(NVIDIA)公布了其GPU产品的未来规划。据英伟达透露,B100、B200和GB200系列GPU将于今年第四季度正式推出,这不仅体现了英伟达对GPU技术持续创新的承诺,也预示了图形处理市场的激烈竞争。
    的头像 发表于 06-13 09:44 802次阅读

    运动控制算法有哪些

    运动控制算法是机器人学和自动化领域中的核心技术之一,它们负责规划和执行机器人或自动化设备的精确运动。以下是一些常见的运动控制
    的头像 发表于 06-13 09:17 2463次阅读

    谷歌Gemini新增旅行规划功能,助用户高效规划度假行程

    谷歌方面称,Gemini可依据用户需求,快速挖掘航班时间与酒店预订详情,从而迅速制定出适宜的度假方案。谷歌副总裁兼Gemini总经理Sissie Hsiao指出,传统手动规划旅行需耗费数小时至数周时间,但Gemini仅需数秒即可完成。
    的头像 发表于 05-15 11:18 377次阅读

    VADv2:基于概率性规划的端到端自动驾驶

    MLP回归出规划轨迹,无法应对环境信息和决策规划之间不明确的映射关系。同时基于神经网络输出的轨迹无法保证满足运动学约束,仍需要后端的轨迹优化。
    的头像 发表于 02-22 10:21 1594次阅读
    VADv2:基于概率性<b class='flag-5'>规划</b>的端到端自动驾驶

    冲压自动线规划的几点考虑

    在制造业中,冲压自动线规划是确保高效生产和卓越质量的关键环节。成功的规划需要综合考虑多个因素,以满足产品设计、生产能力和质量标准等方面的要求。本文将围绕冲压自动线规划的几个关键考虑因素提出阿童木
    的头像 发表于 01-22 14:58 365次阅读
    冲压自动线<b class='flag-5'>规划</b>的几点考虑