首页 > 其他分享 >自动驾驶时空联合规划_基于优化方法

自动驾驶时空联合规划_基于优化方法

时间:2024-07-17 14:27:58浏览次数:17  
标签:障碍物 多边形 边界 规划 驾驶 时空 优化 节点

自动驾驶时空联合规划:基于优化方法

这是时空联合规划专栏——基于优化方法系列文章,在Frenet坐标系下已经有很多优秀成熟的优化方法解决方案,但是对于在三维空间内不管是在S-L-T空间还是在X-Y-T空间去基于优化的方法做规划都是很困难的。一方面是维度的增加会导致优化变量的增加计算时长必然带来增长;另一方面是三维空间内可行集的凸化会涉及到横纵向的决策可能性爆炸导致非常棘手,不是很好解决.本文会介绍几篇文章,看一看大家对于这个问题提出的一些解决方案。

附赠自动驾驶最全的学习资料和量产经验:链接

第一篇:Trajectory Planning for BERTHA-a Local, Continuous Method

这篇文章根据变分法,提出一种局部连续的方法。非常巧妙的设计了约束和目标函数,确保解收敛到一个唯一的全局最优解。下面就来详细看一下具体的设计细节:

目标函数:

  • image.png

image.png

image.png

  • image.png

image

车体的包络圆表示

工作空间凸化:

对待距离约束的时候,需要精心处理障碍物。我们知道对于规划的状态空间,无论是欧式空间还是速度空间,它都是非凸的。对于优化算法来说,除非给出一个最优解的领域解,否则很容易陷入驻点,导致优化结果不行(如下图中(a))。本文将离散的障碍物先给处理成凸包,然后结合驾驶通道的边缘,将障碍物凸化,使得优化空间成为凸的。

image

轨迹优化的驻点(a) 无决策过程(b) 有决策过程

障碍物和边界等约束,作为节点对应到图中每个节点,其中两个大的节点表示行车通道的左右边界,小的点理解成障碍物节点。从两个边界节点出发节点与节点之间的连接原则:1. 两个障碍物节点之间在几何上车辆不能通过则连接,2. 障碍物节点和对应的道路边界节点之间可以通过也要连接。采用图论中最小割方法,现在图已经被割成了两个部分,左右通道边界存在两种情况:1. 如上图中(a)最小隔集合是空的,左右边界两个部分本身就是分离的。2. 如上图(b)中,通过移除蓝色的节点把图分割开,最小割集合不是空。前一种情况车辆可通行,后一种情况车辆不可通行,采取停车动作。

对于移动的障碍物,不同时间都存在相对位置的多边形,如下图所示:

image

根据传感器建立约束多边形

距离函数设计:

文中设计了一个距离函数,引入具有连续可微性质的伪距离。通过对多边形角点的插值,构建伪梯度场,这样就能很快解出到多边形的距离。

image

伪距离和伪梯度场

image.png

重规划:

随着车辆前进,环境变化,根据新环境信息重新规划轨迹,需要保证一定连续性防止硬切换,如下图所。

  • image.png

image

C2连续重规划

image.png

image

红色表示车辆轨迹,蓝色表示障碍物和约束多边形,黑色表示边界约束

上图(a)显示了快速通过环形路。该方法显示出较好的动力学性能,在环道的入口,中点和出口有最小的横向加速度。上图(b)、©、(d)为通道示意图同一个右转弯,不同位置设置障碍物。蓝色的十字架是体素的位置,累积超过5帧,蓝色的多边形是它们的多边形包络。一个平滑的轨迹能够被发现,即使只有很少的自由空间。上图(e)显示面对较慢的迎面而来的车辆的一个急转向行为。预测的迎面而来的物体的轨迹用深蓝色表示,以及由此产生的淡蓝色障碍多边形。障碍物多边形是时间相关的,圆表示车辆相遇的时刻。

标签:障碍物,多边形,边界,规划,驾驶,时空,优化,节点
From: https://blog.csdn.net/NEON7788/article/details/140435448

相关文章

  • 虚拟环境优化
    在使用过程中,会发现上述第三步的使用,会有不少局限,譬如必须切换到指定目录才能操作等。通过安装virtualenvwrapper-win可以更加简便的使用虚拟环境(需要先安装virtualenv)1.pip安装pipinstallvirtualenvwrapper-win2.在环境变量中,配置虚拟环境的指定安装目录1.打开系统环......
  • Spark缓存优化:清除全部缓存
    Spark算子是分为行动子算子和转换算子的,只有遇到行动算子,计算任务才会生成一个Job任务,当算子行动算子多起来,并且交织复杂的时候,Spark去追溯数据血缘就会比较耗时了,通常我们都会直接通过persist算子存储中间的计算结果,减少数据的重复计算。//存储中间计算结果,避免Spark重复计算v......
  • 基于鲸鱼优化的DSN弱栅栏覆盖算法matlab仿真
    1.算法运行效果图预览(完整程序运行后无水印)  2.算法运行软件版本MATLAB2022a 3.部分核心程序 fort=1:Itersfori=1:Num%目标函数更新[pa(i),fgai]=fitness(xwoa(i,:));Fitout=pa(i);%更新ifFitout......
  • Android平台下的cpu利用率优化实现
    目录背景CPU调频概念实现验证线程CPU亲和性概念亲和性控制API应用层控制实现验证线程优先级概念实现验证背景为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别......
  • MySQL 上亿数据查询优化:策略与实践
    引言在大数据时代,数据库中存储的数据量经常达到数千万甚至上亿条记录。面对如此庞大的数据集,如何优化SQL查询以快速检索所需信息,成为了每个数据库管理员和开发人员必须掌握的技能。本文将深入探讨针对MySQL中上亿数据量的查询优化策略,并通过具体操作指导实践。了解数据分布......
  • 无人驾驶的未来:AI如何重塑我们的出行世界
      无人驾驶汽车,作为人工智能(AI)技术的集大成者,正以前所未有的速度改变着我们的出行方式。从机器学习到计算机视觉,再到人工智能生成内容(AIGC),AI技术的每一次进步都在为无人驾驶汽车的未来发展铺平道路。本文将深入探讨AI如何赋能无人驾驶,以及特斯拉与百度“萝卜快跑”如何在......
  • 为视觉语言多模态模型进行偏好优化
    为视觉语言多模态模型进行偏好优化训练模型使得它能够理解并预测人类偏好是一项比较复杂的任务。诸如SFT(Supervisedfinetuning)的传统的方法一般都需要耗费较大成本,因为这些算法需要对数据打上特定的标签。而偏好优化(PreferenceOptimization)作为一种替代选项,通常可以简......
  • 【智能算法应用】人工兔优化算法求解二维栅格路径规划问题
    目录1.算法原理2.二维路径规划数学模型3.结果展示4.参考文献5.代码获取1.算法原理【智能算法】人工兔优化算法(ARO)原理及实现2.二维路径规划数学模型栅格法模型最早由W.E.Howden于1968年提出,障碍物的栅格用黑色表示,可通过的自由栅格用白色表示。求解二维路......
  • LLM大模型:推理优化-知识蒸馏
      1、有些模型比较大,推理时的效果还不错,但非常耗费计算资源;并且产生token的速度也很慢,大概1秒1个token(我的RAG在最后一步使用的secGPT-13B大概就是这个速度),一个问题回答完毕要耗费分钟级别的时间,用户直接抓狂,继续提升推理的速度!大模型本质是大量的矩阵运算,想要提高效......
  • Redis实战篇之秒杀优化(基于黑马程序员Redis讲解视频总结)
    1.秒杀优化-异步秒杀思路我们来回顾一下下单流程当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤1、查询优惠卷2、判断秒杀库存是否足够3、查询订单4、校验是否是一人一单5、扣减库存6、创建订单在这六步操作中,又......