网络化自动驾驶-轨迹规划算法设计说明书-V1.3_第1页
网络化自动驾驶-轨迹规划算法设计说明书-V1.3_第2页
网络化自动驾驶-轨迹规划算法设计说明书-V1.3_第3页
网络化自动驾驶-轨迹规划算法设计说明书-V1.3_第4页
网络化自动驾驶-轨迹规划算法设计说明书-V1.3_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.网络化自动驾驶轨迹规划算法设计说明书作者胡学敏评审人日期2015/12/26环宇智行科技有限公司华为技术有限公司修订记录作者修订时间版本号修改内容胡学敏2015/12/29V1.11. 更新三种算法的原理图和相关实现2. 更新2.3的接口部分。胡学敏2016/1/3V1.31. 更新2.1的轨迹规划流程。 2. 调整部分格式目录1概述32框架和接口32.1轨迹规划流程32.2算法选择模块42.3接口42.4算法介绍43算法1:虚拟车道算法43.1算法原理43.2算法实现54算法2:曲线轨迹簇算法54.1算法原理54.2算法实现61) 基本路线的构建62) 候选路径的生成73)路径的选择85算

2、法3:A*算法85.1算法原理85.2算法实现91 概述图1.1 整体路径规划过程示意图轨迹规划是实现智能车自主驾驶的关键模块。要实现对自动驾驶车辆的控制前提就是根据车辆的当前道路环境,行驶状态以及整体交通环境规划出一条合理的轨迹,以便于下层控制器进行车辆控制。整个轨迹规划从CSU的整体路网规划(考虑整体车流和交通状况)到RSU的局部交通流规划(平衡局部车流),再到OBU的具体行驶轨迹规划。以下着重讨论OBU中的规划算法。2 框架和接口2.1 轨迹规划流程 图2.1.1 OBU轨迹规划 轨迹规划流程:1. OBU,用户在UI选择目的地,OBURSU,RSU CSU,CSU做“全程车道级路径规划

3、”,输出结果为“车道编号集合、task参数”,保存在CSU的该OBU_session上,然后CSU RSU:下发路径规划结果,RSU保存在该OBU_session里。RSU OBU:下发路径规划结果,保存在内存。2. OBU将感知融合的数据和网络路径规划的结果投影到当前道路环境中,调整当前OBU规划的轨迹,并显示在UI上。OBU轨迹规划数据源:地图数据(包括道路边界点,道路拓扑结构,车道线信息),感知融合数据(车线,障碍物信息等)。OBU轨迹规划频率与规划距离:OBU规划模块每1秒规划一次,每次规划100米。2.2 算法选择模块 OBU规划模块创建算法选择类,OBU直接调用该类的接口获得轨迹,

4、算法选择类支持注册多种算法,并选择一种算法进行轨迹规划。2.3 接口OBU调用算法选择模块的接口,包括:l 当前车道与相邻车道构成的4条线(当前车道与左右两条车道,一共3条车道,需要4条车道线来标记)。l 障碍物、障碍物形状、障碍物速度。l 路径规划参数。2.4 算法介绍OBU中轨迹规划主要包括以下三种算法1) 虚拟车道算法:总是沿着道路的中线行驶,发现障碍物采用跟驰(/刹车)或换道,换道行为相当于虚拟了一个走到另一个车道的虚拟车道,然后继续沿中线行驶。2) 曲线轨迹簇算法:以车的方向和道路的曲率构建曲线坐标系,然后在此坐标系内拟合曲线轨迹簇,选择最佳曲线,然后转化为笛卡尔坐标系。3) A*算

5、法:把待规划区域的地图划分成笛卡尔坐标系的栅格(如边长20cm),把障碍物定义为1的栅格,可行驶的为0的栅格,按目标做最短路径搜索,再把搜索结果做平滑处理。算法选择:虚拟车道法简单可靠,且曲线平滑,舒适性好,可作为默认算法。但是此算法简化为跟驰和换道两个动作,应对不同车姿(曲线坐标轨迹簇算法的优势)和发现最佳路径(A*算法的优势)的能力很弱,路况复杂时容易找不到出路。此时应降级为“曲线坐标轨迹簇算法”算法,此算法发现道路的能力较强,曲线也很平滑。如果此算法也得不到结果,则降级为“A*算法”,实现“有空就钻”的路径搜索(但行驶曲线不够平滑),仍然没有出路时,停车(通常为完全堵车了)。3 算法1:

6、虚拟车道算法3.1 算法原理总是沿着道路的中线行驶,发现障碍物采用跟驰(/刹车)或换道,换道行为相当于虚拟了一个走到另一个车道的虚拟车道,然后继续沿中线行驶。图3.1.1 虚拟车道算法3.2 算法实现1) OBU通过车道线检测实时确定当前车道线的位置,同时OBU加载地图中的车道模型(车道宽度、车道数目、特征点)。2) OBU将当前检测车道与车道模型进行匹配,确定当前车道和邻近几条车道。3) 车辆总是沿着车道中心线行驶,当车辆需要换道时,根据道路环境,虚拟出一条与相邻车道的交汇车道,完成变道动作。4 算法2:曲线轨迹簇算法4.1 算法原理以车的方向和道路的曲率构建曲线坐标系,然后在此坐标系内拟合

7、曲线轨迹簇,选择最佳曲线,然后转化为笛卡尔坐标系。图4.1.1 轨迹簇算法4.2 算法实现算法实现的流程如图4所示:图4.2.1 曲线轨迹簇算法流程图1) 基本路线的构建基本路线是由包含整体路径规划的道路中心点所组成的航迹点的样条拟合构建的。参数化曲线经常被用来建立道路的集合模型并且定义运动路径。采用参数化三次样条来定义基于航迹点构建的基本路线的参数化曲线。2) 候选路径的生成行驶路线应该能够引导车辆随着全局路线行走并且避开障碍物。为了达到这个目的,建立了一个基本路线的曲线坐标系统。在基本路线的曲线坐标系统中设计避免障碍物的光滑策略。图5显示了在笛卡尔坐标系统中的路径和基本路径的曲线坐标系统之

8、间的几何关系。该图中代表在整体路径中移动距离的基本路径的弧线长度s成为了曲线坐标系统的水平坐标,最近的偏移q成为了垂直坐标。图4.2.2 笛卡尔坐标与曲线坐标的几何关系为了生成路径,路径的曲率是由基于基本路径的曲率路径的侧向偏移所决定的。在计算路径曲率时需要侧向偏移的导数和二阶导数,因此侧向偏移函数要有一定的光滑性侧向偏移函数描述如下 其中弧长si和当前位置的侧向偏移qi由定位步骤给出。为当前位置车头和基本路径的夹角。采用边界条件,我们可以得到三次多项式的系数。路径规划算法生成了一些候选路径。每个路径有一个明显侧向偏移qf. 覆盖道路的所有候选路径只是在侧向偏移上有些许不同。路径上的侧向偏移变

9、化能使自主驾驶车辆避开障碍物。3)路径的选择我们要从生成的众多路径中,需要采用搜索算法来找到使带权重的代价函数的线性组合极小的一条最优路径。代价函数要考虑安全性,光滑性以及路径的稳定性这最为主要的三个因素。这里i是路径编号,Cs是路径的安全代价,Ck是路径的光滑性代价,Cc是路径的平稳性代价。每个代价都有相应的权重因子。而权重因子的取值与车辆自身,环境因素等实际情况有关。计算公式如下: 根据安全性代价、光滑性代价、连贯性代价,经过编程调试,采用经多次检验的算法,我们可以选择出一条使得总的代价函数取得最小值的路径。5 算法3:A*算法5.1 算法原理把待规划区域的地图划分成笛卡尔坐标系的栅格(如

10、边长20cm),把障碍物定义为1的栅格,可行驶的为0的栅格,按目标做最短路径搜索,再把搜索结果做平滑处理。图5.1.1 地面格网和A*算法5.2 算法实现A*算法最为核心的部分,就在于它的一个估值函数的设计上:f(n)=g(n)+h(n)其中f(n)是每个可能试探点的估值,它有两部分组成: 一部分,为g(n),它表示从起始搜索点到当前点的代价(通常用某结点在搜索树中的深度来表示)。 另一部分,即h(n),它表示启发式搜索中最为重要的一部分,即当前结点到目标结点的估值, 一种具有f(n)=g(n)+h(n)策略的启发式算法能成为A*算法的充分条件是: 1、搜索树上存在着从起始点到终了点的最优路径

11、。 2、问题域是有限的。 3、所有结点的子结点的搜索代价值0。 4、h(n)=h*(n) (h*(n)为实际问题的代价值)。 当此四个条件都满足时,一个具有f(n)=g(n)+h(n)策略的启发式算法能成为A*算法,并一定能找到最优解。对于一个搜索问题,显然,条件1,2,3都是很容易满足的,而条件4: h(n)V5的路径,V0-V5的过程中,可以经由V1,V2,V3,V4各点达到目的点V5。下面的问题,即是求此起始顶点V0-途径任意顶点V1、V2、V3、V4-目标顶点V5的最短路径。图5.2.1 A*算法求解示例通过上图,我们可以看出:A*算法最为核心的过程,就在每次选择下一个当前搜索点时,是从所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论