在面向复杂的情景不确定场景时,应如何合理设计决策规划控制算法,以应对自动驾驶场景

原标题:人工智能在汽车自动驾駛系统中的应用分析

来源:厚势和厚势公号丨iHoushi

本文以自动驾驶系统为代表的汽车智能化技术将对汽车产业生态变革产生重大影响首先,汾析了自动驾驶技术发展路线、发展现状及人工智能(Artificial IntelligenceAI)的应用领域,指出 AI 在自动驾驶应用中面临的挑战然后,提出一种基于 AI 的车云協同自动驾驶系统架构分析了基于 AI 的智能驾驶终端软硬件架构与基于大数据的自动驾驶云端空间架构;结合车端与云端的 AI 集成应用问题、信息数据交互方法与车云协同技术,讨论了人工智能在自动驾驶系统的主要应用

本文来自 2018 年 3 月 15 日出版的 《湖北汽车工业学院学报 》,莋者是湖北汽车工业学院的朱政泽、周奎和彭彬

21 世纪以来,随着新一代信息通信、新能源、新材料等技术加快与汽车产业融合信息通信、互联网等新兴科技企业全面涉足汽车行业,世界汽车产业发展形势正面临重大变化[1]

1)产品形态和生产方式深度变革汽车产品加快向新能源、轻量化、智能和网联化的方向发展,汽车正从交通工具转变为大型移动智能终端、储能单元和数字空间汽车生产方式向充分互联协作的智能制造体系演进,个性化定制生产模式将成为趋势

2)新兴需求和商业模式加速涌现。用户体验成为影响汽车消费的重偠因素消费需求的多元化特征日趋明显,共享出行、个性化服务成为主要方向

3)产业格局和生态体系深刻调整。汽车发达国家加快推進产业创新和融合发展世界汽车产业格局变化加速。互联网等新兴科技企业大举进入汽车行业全球汽车产业生态正在重塑。

汽车智能囮技术集现代传感技术、信息与通信技术、自动控制技术和人工智能等于一体在减少交通事故、缓解交通拥堵、降低能耗、保护环境等方面具有巨大潜能。为此世界各国都在积极制定自动驾驶技术路线图,推动自动驾驶汽车的发展如美国的「工业互联网」、德国的「笁业 /index

[4] 陈虹,郭露露边宁. 对汽车智能化进程及其关键技术的思考[J]. 科技导报,201735(11):52-59

[5] 端木庆玲,阮界望马钧. 无人驾驶汽车的先进技术与發展[J]. 农业装备与车辆工程,201452(3):30-33

[6]张润,王永滨. 机器学习及其算法和发展研究[J]. 中国传媒大学学报(自然科学版)2016,23(2):10-18

[7] 王世峰戴祥,徐宁等 . 无人驾驶汽车环境感知技术综述[J]. 长春理工大学学报(自然科学版),201740(1):1-6

[8] 李克强,戴一凡李升波,等 . 智能网联汽车(ICV)技术的发展现状及趋势[J]. 汽车安全与节能学报2017,8(1):1-14

[9] 赵福全刘宗巍. 中国发展智能汽车的战略价值与优劣势分析[J]. 现代经济探讨,2016(4):49-53

}

以下内容来源于 百度 Apollo 开发者社区嘚分享会

张雅嘉百度高级架构师,百度 Apollo 平台规划方向技术负责人印第安纳大学计算机科学博士,从事机器人运动规划方向有多年机器人运动规划方向的研发经验,曾带领团队参加 DARPA 机器人竞赛2016年加入百度,从事无人驾驶平台规划方向的研发工作

1. 第一个问题:整个规劃过程的输入个输出在 planning 代码中提现在哪个位?

2. 第二个问题:每个实时规划的初始状态量比如 s、速度、加速度等是以车体底盘实时反馈为主还是从组合导航获得,还是说通过一定方式从上帧规划结果获得参考量交给控制去执行的连续两帧轨迹如何联系起来,才能保证控制模块在连接处速度、加速度、曲率等不发生突变

A2:这个问题非常好,在今天的分享中没有专门的介绍我这里简要描述一下,车辆的状態是由上游的定位模块获得的融合了多种传感器的数据,包括当前地图坐标系下的坐标朝向,转向角度速度,加速度等等

轨迹规劃模块以固定的频率进行,我们使用了轨迹拼接的算法(Trajectory Stitching)保证相邻帧的轨迹在控制器看来是平滑的假设我们的周期时间是dt秒,如果我們没有上一周期的轨迹那我们使用运动学模型, 对当前从定位模块获得的车辆状态进行外推获得dt时间之后的状态作为规划起始点,我們称之为重新规划(Replan);如果上一周期的轨迹存在我们会根据当前系统时间T,在上一周期的轨迹中找到相对应的轨迹点然后,我们进荇一个比较比较这个轨迹点与定位模块获得的当前车辆状态的差异,如果这个差异在一定范围内我们找到T+dt时间的上一周期轨迹点作为規划起始点;如果这个差异超过设定范围,说明控制器有了较大的误差我们会做第一种情况的replan。

这种机制保证了在控制误差允许的情况丅做到相邻帧轨迹的平滑拼接。在控制器看起来规划模块发出的轨迹是一小段一小段dt长度的轨迹光滑拼接起来的。

补充问题:为什么烸次规划时不以车辆当前的状态为规划起始点呢,而是“找到T+dt时间的上一周期轨迹点作为规划起始点”

因为规划结果真正送到控制器昰T+dt时刻

3. 第三个问题:在路径规划中常三阶导数的物理含义以及在算法中的作用是什么?

A3:三阶导数是加加速度表示加速度的变化率。在物悝上是舒适性的一个重要指标。在算法中相邻离散点之间的连接就是通过常三阶导数实现的。

4. 第四个问题:张老师在文章中提到:将速度规划问题分解成启发式的速度规划与分段加加速度算法的目的在于需要进行离散的维度与时间的解耦。请问这里离散的维度是指什麼

A4:可能我写的不是很清楚,在速度规划里离散的维度指的是时间。

5. 第五个问题:我们在实际使用PublicRoadPlanner时发现车辆总是倾向于以最大加速喥加速以最大减速度减速。这对于超车和紧急避障是合适的但对于一般起步、过弯、调头、停车可能就不太合适。能否提供一套可以動态配置加减速力度的参数的方法

A5:理论上是可以的,可以通过上游的决策层根据规划目标动态调整参数

6. 第六个问题:人工驾驶车辆,遇到前方较远处有障碍物时一般会松开油门,让车辆惯性前进如果障碍物在离车辆距离较近时仍存在,则刹车减速否则加速前行。请问规划算法如何描述松开油门靠惯性前行这一行为

A6:这个主要靠设计代价函数来实现。如果我们惩罚二阶导数的话意味着我们希朢加速度尽可能小,来实现我们的目标

7. 第七个问题:路径规划是否考虑了地形因素对车辆状态的影响?

A7:请问地形因素是否能举例

8. 第仈个问题:apollo lattice规划时,看到了车辆状态采集横向为-0.5,00.5,这种状态下拟合出的轨迹还能实现超车或躲避大型障碍物吗?

A8:不能Apollo Lattice需要通過变换指引线来实现较大幅度的超车或躲避障碍物。

9. 第九个问题: 路径规划的分段加加速度优化算法中架设障碍物在车道中间,可通行區间被分割成了上下两个区间约束条件不再是简单的一个[lmin,lmax]而变为或条件,请问这种情况要怎么处理

A9:非常好的问题- 对于同一个离散点,我们会有不同的区间我们设计了一个类,称为PathBoundsDecider会处理不连续的区间。在实现中我们会将不同的区间使用启发式方法加以排序,在时间允许的情况下对每一种离散的区间都做路径规划。

10. 第十个问题: 在优化的迭代过程中l_(i→i+1)^? 会随着相邻点 l_i^″ 与 l_(i+1)^″ 的变化而变化,但 l_(i→i+1)^? 在两个离散点之间会保持不变请解释下这句话的含义?

A10:含义是加速度是优化的变量会在优化迭代中变化;相邻点的加速度決定了加加速度,即一旦加速度确定加加速度也就通过差分的方式唯一确定。

11. 第十一个问题:在第N次规划中规划出轨迹后按照轨迹运荇了一段距离。进入第N+1次循环后如何利用上一次循环生成的轨迹?是保留一小段后面的重新生成,还是直接舍弃之前的轨迹重新规划还是从上一条轨迹中选择距离自己最近的点,从这个点开始规划

A11:这个问题请参见Q2的解答。

12. 第十二个问题:决策层作为运动规划的上層比如决策做出来了超车决定,运动规划层尝试进行规划结果发现不行,这下该怎么办类似的决策和规划层做出不一致的决定时,囿没有在实际过程中比较好架构的来应对这样的问题

A12:非常好的问题,在规划层面是个非常重要的问题这个超出了今天分享的范围,峩就简答说下可能的思路:规划层需要设计一个反馈的信号反馈到决策层,通知决策层是否能够实现所做的决定

13. 第十三个问题:Apollo 轨迹規划的起始条件之一是光滑的指引线,也就是说在获得指引线的情况下才开始做轨迹规划吗如果是的话,那么该指引线本身是曲率可导符合运动学规律的,为什么不在世界坐标系下作为无人车的可行轨迹给到控制中呢?而要进一步在弗雷那坐标系下在进行一次规划呢这样做有什么样的好处?

A13:是的必须在有光滑指引线的情况下做规划。在Frenet坐标系下做规划是为了避免直接考虑朝向,曲率等问题避免在高维度上做规划。

A14:对我们还没有综合性的对em与lattice进行比较设计上,em适合解决复杂的情景的城市道路lattice适合解决相对简单的高速场景。倒车的话em和lattice是不能解决的。

15. 第十五个问题:在弗雷那坐标系下横向距离对于纵向路径的求导,是通过分段拟合后直接求导还是離散化之后通过差分的形式近似呢?ppt关于三阶导数求解似乎是后者哦

A15:三阶导数是通过差分的形式直接计算出的

16. 第十六个问题:EM Planner规划器Φ,通过惩罚路径、速度曲线的一阶导、二阶导、三阶导来进行规划这种方法会在哪些场景下失效,有没有必要将这些约束换成车辆的動力学约束来进行运动规划还是说将动力学约束下放到控制环节去做?

A16:我们会根据车辆的运动学模型对一阶、二阶、三阶导数的取徝范围做出估计,找出符合运动学的取值范围约束求解轨迹的空间。

17. 第十七个问题:在EMplan中路径规划的起点initpoint,会先计算该点的dl和ddl而在實车调试时,这两个值可能会因为前端输入的heading等数据有一些波动导致这两个值偏大,最终规划的路径为沿参考路径呈s型如何规避这个問题?

A17:我觉得这是个综合的问题如果heading出现抖动,不仅planning会受到影响control受到的影响更大,而且这个是上游模块来的信息这个问题不好,峩个人认为也不应该在planning中解决。

A18:请问TTCFTTI的含义是什么?我不是很清楚

19. 第二十个问题:车辆位置、障碍物位置投影到指引线上。请问具体的怎样确定投影后的 s 值

20. 第二十一个问题:之前的em规划器无论路径、速度规划点与点之间以五次多项式相连,本文中所描述的方法貌姒完全是在离散状态下计算与优化(包括目标函数)而不考虑点与点之间连接的函数表达,所以纵向点需要很密(路径规划中纵向点间距大概多远)。这种完全离散的方法与之前em中qp规划方法相比好处在哪里

A20:好问题。路径规划中离散的s在0.5m以下,路径有200m长好处在于峩们获得了对路径更大的控制权,能够在非常复杂的情景的问题中计算出可行轨迹

21. 第二十二个问题:“每两个离散点之间,有一个常三階导数项”是不是可以理解为以函数形式为三次多项式?或者说是上个问题中表述的一样是在完全离散的状态下计算的?

A21:可以这么悝解本质上也是一个多项式。

22. 第二十三个问题:在如图的 Uturn 情况主车在大概 s1 处,感知到了障碍物 box但同一个 box 的四个 corner 点被映射到了不同的 s 處,重构障碍物 sl 边界时就出错了构造了以最大最小 s 及最大最小 l 构成的错误 sl_boundary,最后造成障碍物未占据车道而无法通行请问你们是如何解決的?

A22:好问题这个情况比较极端,现在我们是根据不同的情况做特殊处理也没能很好的综合性解决方案。

24. 第二十五个问题:在路径規划算法中保证三阶导是每段的常数,那每一段的三阶导这个数是怎么确定的

A24:通过差分二阶导数

25. 第二十六个问题:文章中提到“路徑规划避让静态障碍物,速度规划避让动态障碍物”而 2018 年的论文“Baidu Apollo EM Motion Planner”实验中路径规划中可以避让对向来车,这两个描述是否矛盾怎样悝解静态障碍物?对于速度较低的动态障碍物是否合适在路径规划中考虑的

A25:静态障碍物可以以速度大小来区分。对于速度较低的障碍粅范围只要能够bound到一定的大小,也可以在路径规划中考虑

26. 第二十七个问题:控制 kappa 相对控制角速度有什么优势吗?另外纵向有考虑加速度,横向不考虑角加速度的原因

A26:角速度涉及了路径和速度两个方面的综合因素。在我们的实现中路径和速度分开考虑是为了降低難度。 直接考虑角加速度的算法我们正在开发不久会发布。

27. 第二十八个问题:非和谐车辆系统就是非完整约束车辆系统吗在路径规划時也需要考虑到当前车辆的运动状态而适当的调整车辆的几何形状,几何形状是指什么多种平滑指引线的计算方法,有哪些常见方法

A27:是的。应该是根据车辆状态来调整路径的几何形状吧平滑算法可以参见我们的实现:QP Spline,spiral curve ...

28. 第二十九个问题:如何判断车与障碍物是否相撞

A28:请问是指在我们的实现中,如何计算避免碰撞的轨迹还是几何上怎么判断

29. 第三十个问题:之前做控制看到用 MPC 的思想去做避障的轨跡规划,请问这种方法和现在这种在图空间中采样的方法有什么优缺点这两种方法有分类么?

A29:这个是个大问题MPC是control-based的方法,在地图坐標系做规划与我们在Frenet坐标系下规划不同。具体我们可以线下交流

30. 第三十一个问题:如果控制使用 MPC 的话,MPC 无解怎么办

A30:无解了就没办法了,planning也有无解的时候啊

31. 第三十二个问题:路径规划的求解用的什么方法另外这种求解方式耗费算力吗?

32. 第三十三个问题:规划算的参數很多都是相互耦合的, 应给如何调节? 有什么智能化的方法吗?

A32:我们以前尝试过auto tuning现在还没有很好的进展。

33. 第三十四个问题:为什么每次规劃时不以车辆当前的状态为规划起始点呢,而是“找到 T+dt 时间的上一周期轨迹点作为规划起始点”

A33:好想已经有参与者代为回答了

34. 第三┿五个问题:如果在做路径规划的时候只考虑静态障碍物,那么在该路径上规划出的轨迹是否无法对动态障碍物进行合适的处理

A34:有这個可能,这个是个为了降低规划难度做的牺牲

35. 第三十六个问题:请问在路径规划模块中需要考虑障碍物运动的不确定性么。对于和其他車辆有交互的场景例如堵车时加塞这样对路权有争夺的情况,如何去设计我们的决策方案在实际路测中当前 Apollo 规划系统不能解决的主要囿哪些问题呢?

A35:好问题这需要上游模块,比如预测模块提供比较好的预测现在planning中还没有相应的解决方案。

36. 第三十七个问题:做路径規划之前如何做出应该从某个障碍物上方绕过、下方绕过或者跟在障碍物后面的决策

A36:通过用户设置代价函数,比如加速度的权重等等,通过代价来进行判断

37. 第三十八个问题:Apollo 基于场景、阶段和任务的理念进行规划,那么阶段(stage)该如何理解这个过程做了什么?能否举例说明

A37:Stage简要的说是一个场景中的一个阶段,几个stage顺序组合起来形成一个完整的场景

38. 第三十九个问题:在 Apollo 中,关于 MPC 的控制和基于 frenet 嘚横纵向控制二者之间什么关系?

A38:具体控制中的MPC实现我不是很了解,我可以把问题转到我们做控制的同学

39. 第四十个问题:路径加載轨迹点,一次性全部读入缓冲区里放到ram里面吗如果是这样做的话是不是有点浪费内存?

A39:不是很清楚您的问题路径可能一共就400个点,ram的空间应该不需要多少吧

40. 第四十一个问题:未来无人车的规划决策以及控制会不会被强化学习取代?

A40:这问题太大... 我们线下讨论吧

41. 苐四十二个问题:路径规划算法怎样在脱离实际车辆进行测试?测试通过需要哪些量化指标之后再上实车验证

A41:我们现在会通过仿真平囼做初步验证,在planning成功率轨迹质量加以检测之后,再做实车测试

42. 第四十三个问题:在实际使用过程中规划路径经常出现跳变,导致控淛不稳定请问可以如何减小规划结果的跳动?

A42:这个和实际的实现有关系合理的跳变表明对动态环境做出了反应;不合理的跳变说明茬设计代价函数的时候有欠缺,需要改进设计

43. 第四十四个问题:对于档位切换时,加减速度会滞后的车辆实施自动驾驶时如何改进控淛跟不上规划步调导致频繁重规划的问题?

A43:这个好像主要是控制的问题在planning层面,我们可以适当的减小加速度的搜索范围生成尽可能囷缓的轨迹。

44. 第四十五个问题:能够根据生产的轨迹和当前雷达测到的其它车辆位置速度预测碰撞风险吗? 如果其它车辆突然加速,实际昰很困难感觉

A44:是的这个是预测模块非常头疼的问题..

45. 第四十六个问题:指引线在道路居中规划时是否可以理解为车道中心线?

A45:可以这麼理解现在的实现也是这样;不排除将来我们有更好的方法找到不严格为道路中心线的更好的指引线。

A46:好的如果有机会,我们可以專门有指引线生成方法的分享具体技术细节很多,涉及了非线性优化的问题

47. 第四十八个问题:智能车是如何控制速度的?如何让车辆達到预定的速度

A47:这个超出了我的范围,需要控制的同学来回答 A48 纵向速度闭关控制通过对ESC和EMS发送目标加减速度或扭矩。

48. 第四十九个问題:这个规划方案在哪个版本中有提现可以离线运行吗?

A48:这个规划方案会在7月Apollo新版本正式发布离线运行是指?

59. 第五十个问题:目前針对前方低速前行(比自车速度低)这时候要不要换道是由上层的决策模块决定的吗?如果是假如现在决策要换道,左右两边还有其咜车辆的情况下规划层如何根据左右两边的车辆运动情况进行规划?是先定一个沿参考路径方向的换道距离确定当前决策下换道路径,后续不再改变这条路径还是实时根据左右两边车辆运动轨迹,每一帧都规划一条与左右两边车辆没有碰撞的路径

A49:是后一种情况,實时根据左右两边车辆运动轨迹每一帧都规划一条与左右两边车辆没有碰撞的路径

50. 第五十一个问题:车辆沿着光滑的道路指引线运动时,突然出现紧急情况时(比如cut in工况)如何处理?决策层会优先执行预设的规避动作然后重新进行规划么

A50:不会,我们以10HZ的方式进行规划就昰为了能够及时更新轨迹处理紧急情况。

51. 第五十二个问题:针对行人这类低速且方向随机的障碍物是否有专门的处理方式举个例子,園区场景单车道有行人自右侧向左横穿,走几步又停下再走车辆如果按避障处理可能会在向左拐弯途中发现行人障碍物变到左侧,于昰又试图向右避障请问老师针对这种场景是否有对应解决办法?

A51:这个就是预测的问题了好像这个问题折磨了预测同学很久,我可以問问他们最新进展planning层面不适合对这样的情况做假设与处理。

52. 第五十三个问题:此处指的地形是指比如矿区、越野环境下路面非常不平,若不考虑地形对车辆动力学的影响规划的结果可能无法使用,在规划模块如何考虑比如土坡、水坑的影响

A52:这个问题我还没考虑过,可能最先会做的是减小轨迹计算的搜索范围让轨迹不要贴合车辆动力学的边界,提高能够执行的概率

53. 第五十四个问题:在路径规划Φ是怎么计算几何上,本车与障碍物是否碰撞实时性能如何?通过什么方法求解

A53:二维bounding box碰撞,大概需要十几个向量点乘运算可以参見Separate Axis theorem,中文可能叫超平面分割定理

54. 第五十五个问题:请问这种算法已经发布在git上了吗?未来会代替lattice和em吗

A54:是的,这是我们的计划尽可能使用一套算法解决问题。

55. 第五十六个问题:请问是指在我们的实现中如何计算避免碰撞的轨迹还是几何上怎么判断?

56. 第五十七个问题:目前对无保护左转弯用什么方法规划的

A56:这个是决策层面的问题,具体请参见我们专门设计的场景

57. 第五十八个问题:如果目的地是在車后方不远处(eg: 10m)规划的话是先掉头,还是直接倒车这个权重如何取?

A57:在我们的规划中(onlane planner)我们假设的是一般公路场景,算法中不允許向后移动Open space planner可以允许这样的操作。

58. 第五十九个问题:当规划路径出现几种损失函数彼此不能兼顾,该优先选择那些损失函数

A58:代价函数是几个因素加权的和。所以我觉得您指的是应该提高那些的权重这个可能需要根据不同的应用场景、车辆类型来决定。

59. 第六十个问題:请问规划时在停车点时的规划策略是怎样的

A59:不是很明白您的问题。您指的是到了停车点我们的后续策略吗?

60. 第六十一个问题:這个规划方案在哪个版本中有提现可以离线运行吗? 离线运行就是 在电脑上模拟

A60: 可以离线运行在电脑上模拟。

61. 第六十二个问题:请问強化学习在目前规划中有使用吗主要应用在什么场景?

A61: 目前还没有使用我们现在还在探索。大家敬请期待哦!

A62: 我没有参与open space planner的具体开发技术上是以一篇论文为基础,可以联系apollo小姐姐领取

63. 第六十四个问题:针对前方突发的障碍物(比如虚警或横穿马路的动物),按照技術文档的方式可以规划出避让的路径但会有较大的离心加速度,实际最优选择似乎应该是紧急制动就是与障碍物相交碰撞的路径,但昰横向路径规划似乎一开始就剔除了这些可能碰撞的区间不知道我的理解是否有问题

A63: 如果突发障碍物的话,我们会当作动态障碍物处理在生成路径的时候是不考虑的。所以在这个场景下我们会在路径上继续直行,在速度上紧急制动

}

我要回帖

更多关于 复杂的情景 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信