【自动驾驶轨迹规划之安全行驶走廊】
目录
1 原理剖析
1.1 安全飞行走廊(SFC)
1.2 安全行驶走廊(STC)
1.2.1 车辆外形建模
1.2.2 环境建模
1.3 生成安全行驶走廊的伪代码
1.4 建立约束限制
1.5最优控制
2 测试结果
本文参考论文链接如下,感兴趣的读者可以阅读原始论文Maneuver Planning for Automatic Parking with Safe Travel Corridors: A Numerical Optimal Control Approach | IEEE Conference Publication | IEEE Xplore
1 原理剖析
1.1 安全飞行走廊(SFC)
大规模和非凸的防撞约束使路径规划的计算复杂度过高,在无人机路径规划领域,提出了安全飞行走廊(SFC)这种方式,通过铺设安全飞行走廊使得无人机与周围的所有障碍物分开,从而最优控制问题的规模完全独立于环境的复杂性,提高了路径规划的速度。
安全飞行走廊的好处:
(1)例如你选择Route2,但原来的路径规划会考虑你不能撞上O1,O2,实际上这些离得较远的障碍物不需要考虑,因此安全飞行走廊可以减少最优控制中的冗余避障约束。
(2)你在Route2 中通过铺设安全飞行走廊,就相当于忽视了障碍物的高复杂度,只需保证飞行轨迹在安全飞行走廊内即可,如上图所示。
1.2 安全行驶走廊(STC)
但是,安全飞行走廊(safe flight corridor)不能直接应用于车辆的路径规划,因为汽车的形状能够看成质点或是一个圆盘,因此车辆的不同部分可能停留在不同的走廊上。因此根据车辆的外形特性,在自动驾驶领域引入提出了安全行驶走廊(safe travel corridor)。
1.2.1 车辆外形建模
因为行车时整辆车都需要在安全行驶走廊内部,但去计算车辆的矩形外形与障碍物有没有交集的计算量较大,若车辆由圆形构成,计算量会较少,因此,为了减少计算量但同时保证冗余(即由圆形构成的车辆比原始车辆大很多)不会过大,我们选择用两个圆盘去代替一辆车。
下面是原始车辆的外形建模参数
经过两个圆盘去代替一辆车,新型车辆的外形建模参数如下
两个圆心分别是 ,新型车辆的各个参数可以由原始车辆的参数去确定,公式如下
1.2.2 环境建模
这时候其实就已经可以让车辆收缩半径,看作两个质点,但需要将障碍物去膨化,示意图如下
这样就可以将车辆的路径规划问题转化为两个质点的避障轨迹
1.2.3 安全行驶走廊的构建
首先将车辆后轴中心 (x,y) 进行A*或者hybrid A* 的搜索,从而得到车辆后轴中心的粗略轨迹,不熟悉 A* 或者 hybrid A* 的读者请参考【自动驾驶轨迹规划之A*算法】_无意2121的博客-CSDN博客【自动驾驶轨迹规划之hybrid A*算法】_无意2121的博客-CSDN博客
车辆后轴中心的粗略轨迹确定,那么两个代替车辆的圆盘的圆心也就确定了他们的粗略轨迹,以质点 Pf 为例来介绍构建安全行驶走廊的方法。首先得到由A*或者hybrid A* 的搜索完成路径规划的总耗时 t ,对 t 进行均匀采样,目的是取出相对均匀的轨迹点,在采样得到的轨迹点上分别去扩展一个多边形,多个多边形就连成了上述的安全行驶走廊。这里的多边形选择矩形。
但是怎么生成这样的多边形呢?
原始论文中采用局部矩形区域生成的办法,依次选取采样点,按照逆时针或顺时针分别沿着矩形四条边的方向不断向外扩展 个单位( 过大导致矩形区域较小,容易丢失最优或较优轨迹, 过小导致计算量过大,路径规划速度慢),直到矩形与障碍物有重叠,但是矩形的长宽不能超过自己设定的一个最大值,防止在一个较大空区域上耗费过多计算量。矩形生成图如下
1.3 生成安全行驶走廊的伪代码
1.4 建立约束限制
在经过上述的处理,现在就可以真正进行安全行驶走廊的约束,我们首先对时间采样,但这里的采样不是之前的采样,现在的采样分辨率需要较高,才能保证轨迹都在安全行驶走廊内。对时间均匀采样得到了 Pf 与 Pr 的采样点,于是我们可以建立 Pf 与 Pr 的采样点都在安全行驶走廊边界内的约束不等式,这都是线性不等式,约束复杂度低。
1.5最优控制
我们通过建立车辆运动学约束、两点边值约束、安全行驶走廊约束,再设定合理的评价函数,就可以完成一个完整的最优控制问题,详情参考【自动驾驶轨迹规划之最优控制】_无意2121的博客-CSDN博客
这中控制是针对于静态环境的路径规划,如果是动态环境,我们可以利用滚动优化的方式进行在线轨迹重规划完成,以后的文章会进行讲解,本文聚焦于静态环境。
2 测试结果
【自动驾驶轨迹规划之安全行驶走廊】相关推荐
- 【自动驾驶轨迹规划之地图结构】
目录 1 基础地图结构的分类 1.1 2D地图 1.1.1 栅格地图 1.1.2 拓扑地图 1.1.3 导航网格图 1.2 3D地图 1.2.1 栅格地图 1.2.2 八叉树地图 1.2.3 点云地图 ...
- 《整体决策的统一框架和基于时空的高速路自动驾驶轨迹规划》论文分析
文献分析 这篇<整体决策的统一框架和基于时空的高速路自动驾驶轨迹规划>论文,针对过往前任研究的一些不足,建立了决策规划的三个模块,这三个模块针对短期(10hz,一秒运行十次),中期(1hz ...
- 【自动驾驶轨迹规划之dubins曲线与reeds-shepp曲线】
目录 1 dubins曲线的简介 2 dubins 曲线的实现与计算 2.1 找到圆心 2.2 找到切点 2.3 画出dubins曲线并计算路径长度 2.4 车辆外形建模 2.5 车辆沿dubins曲 ...
- 【自动驾驶轨迹规划之最优控制】
目录 1 车辆动力学约束 1.1 模型的采取 1.2 模型的假设 1.3 运动学模型的微分方程组 1.4 控制变量的选择 2 边值约束 2.1 简单的约束 2.2 较复杂的约束 3 碰撞躲避约束 4 ...
- 【自动驾驶轨迹规划之路径规划总结】
目录 1 路径规划问题的介绍 2 路径规划算法的分类 3 各种路径规划算法的简介 4 路径规划算法的优缺点分析 本篇文章参考Apollo轨迹规划算法综述. 接下来的几篇文章将主要围绕着全局路径规划的常 ...
- 【自动驾驶轨迹规划之DWA算法】
目录 1 DWA算法简介 2 运动学模型 2.1直线轨迹模型 2.2 圆弧直线模型 2.3 车辆二自由度模型
- python 非线性规划_自动驾驶运动规划-Hybird A*算法(续)
Hybird A*算法保证生成的路径是车辆可实际行驶的,但它仍然包含很多不必要的车辆转向操作,我们可以对其进行进一步的平滑和优化. Objective Function 对于Hybird A*生成的车 ...
- 自动驾驶决策规划算法第二章——Apollo EM Planner实践篇
前置学习内容:自动驾驶控制算法 [自动驾驶][零基础]基础自动驾驶控制算法笔记_免费教学录影带的博客-CSDN博客 自动驾驶决策规划第一章 自动驾驶决策规划算法第一章_免费教学录影带的博客-CSDN博 ...
- 自动驾驶路径规划论文解析(5)
解析论文:A Sampling-Based Local Trajectory Planner for Autonomous Driving along a Reference Path 文章依然采用了 ...
最新文章
- 漫画 | 如何向外行解释产品经理频繁更改需求会令程序员很焦灼?
- POJ3185 The Water Bowls(反转法or dfs 爆搜)
- 一个基于xml的超级orm框架-世界是由懒人创造的。
- .mb是什么文件_神经网络长什么样不知道? 这有一份简单的 pytorch可视化技巧(1)
- wxWidgets:最小的 wxWidgets 示例
- php打印出网站源码/php数据压缩代码
- 51 nod 1521 一维战舰 时间复杂度O(n),同 Codeforces 567D. One-Dimensional Battle Ships 有详细注释...
- 最有价值的编程忠告[转CSDN]
- 「终身免费」淘小虾,Shopee浏览器数据分析插件
- 细数常用的5款Java代码混淆器!
- (五)js数组方法二
- Qt之简易的多功能小相册
- js 字符串转二维数组
- 粉笔公考——方法精讲——资料分析
- 使用py对Excel表格进行基本读写操作
- 字符类型与整形之间的转换
- 《液晶显示器和液晶电视维修核心教程》——第1章 液晶显示器维修概要1.1 液晶显示器的基本知识...
- STM32H743Nucleo ADC使用DMA配置无法读取数据的问题及解决
- 涉密计算机保密管理ppt,2016年保密工作计划书ppt
- 三星s4 android8,三星公布Android 8.0更新手机名单 Galaxy S7起步