无人驾驶的行为规划简介

作者:卡耐基梅隆大学 博士 Dony Wu,人工智能开放创新平台(chinaopen.ai)联合学者

简介

无人车是一套复杂的系统集成,从上至下,由感知系统perception,任务规划mission planning,行为规划behavior planning,路径规划trajectory planning 以及控制系统control system组成,其中的信息由底层系统infrastructure system进行整合。模块之间虽有逻辑上的前后关系,但此系统并不是严格意义上的串行层级系统(hierarchical architecture),即每个模块产生的信息通常可以被其他任何模块采纳。例如,虽然感知系统通常被认为是位于所有系统的最上层,但在实际路况条件下,感知系统产生的信息将直接影响决策行为规划、路径规划,甚至在极端条件下跳过路径规划,直接通过决策层向底层控制系统下指令进行紧急操作(evasive maneuver)。值得注意的是,这种跨层级的信息交互,容易在复杂环境中生成互斥指令,这就需要系统在设计最初时考虑任务的优先级或者互锁。 各个环境中应用的无人驾驶系统对优先级的考量不尽相同,本文不做讨论。 本文的重点是讨论行为规划这一模块的技术发展历程、以及不同方法的技术特点,特别是应用范畴。

行为规划(决策)

行为规划,早期被称为决策系统,其在系统中位于任务规划mission planning和路径规划trajectory planning之间,并同时采纳感知系统输出的信息。

行为规划系统主要负责两方面:

  1. 静态:基于道路和交通规则的指令;
  2. 动态:基于周边环境(主要是车辆、非机动车及行人)的交互指令和预测。
    行为规划的运用场景通常有多个交通参与者(traffic participants),且其间的交互尤为重要。

从目前的技术来看,行为规划和决策系统大概可分为三大类方法:

  1. 基于规则的决策系统,rule-based decision making;
  2. 基于优化算法的决策;
  3. 基于概率和机器学习的方法
    早期的行为规划被称为决策系统的原因,主要在于其输出值通常为0/1,例如在停车标识前的停车指令,十字路口的是否可以左转等。另外,早期的行为规划的设计,通常针对的是比较单一的路况条件,像封闭路段(2007 DARPA URBAN CHALLENGE) 或者高速路(freeway)等简单场景。同时,受制于当时有限的计算能力,行为规划系统多为专家系统(expert system),即基于规则的决策。

专家系统的设计直观且符合人类的直觉,即在条件A符合的状况下,能采取行为a。这种系统在简单的环境下及为有效,比如车辆不多的时候下的超车换线,仅需要观察到前车速度小于一个定值X,且目标线上的后车Headway大于某个值T,即可发出超车换线指令。当然,为了保证安全性,专家系统的设计通常比较保守(conservative)。虽然专家系统简单有效,但存在诸多不足,使其难以应用在现实场景中。其中,最主要的缺点是可扩展性和灵活性。例如在车流量较大的环境下,专家系统难以枚举所有可能的解决方案,并且过于保守的设计指标会造成决策的困难,即无法在实际可行的条件下做出正确决策。随着周边环境的复杂度增加,有更多的参数需要考虑, 这样就给专家系统的设计带了极大的困难,甚至会造成逻辑漏洞或者矛盾。

为了适应更复杂的环境,提出了基于优化方法的行为规划算法。优化方法的特点在于可以同时考虑多个参数对决策的影响,而且参数更多使用的是连续变量。通过对目标函数的优化,可以求解一组时序参数,这组参数可以是底层的控制变量,直接输入给下层控制器,省去了中间由决策到控制的环节,这也是优化方法的一大优势。优化的目标函数由多个评估函数加权组成,每个评估函数负责对一个或者多个参数的取值做评估。目前,研究人员期望把目标函数设计成凸函数,以达到更高的求解效率。然而如何将所有的评估函数设计成凸函数形式,也是目前的一个很值得讨论的课题。另外,目前基于优化的方法需要额外的环境预测功能,也就是对相邻车辆的行为预测,这个预测可能会带有不确定性,优化方法也会有完备的算法和机制来应对这个不确定性。

那么问题就在,如何预测或者评估其他车辆的意图、行为,并给出不确定性指标。在现有的理论框架下,部分观测马尔科夫决策过程(Partial Observable Markov Decision Process, POMDP)能提供理论上最优的解决方案,即在考虑多车相互影响的不确定性前提下,提供最优的决策和规划。但POMDP并不是Freelunch,虽然理论完备,但是离实际在无人车决策的应用存在一定距离。最大的障碍就是实时性,POMDP的求解是需要多次迭代,以期得到最优的状态-动作的对应函数(policy)。连续POMDP的通用解法本身就是一个难度很大且目前尚待解决的课题,这里不做更深的讨论。这里只介绍目前无人车学界对于POMDP现有算法的应用和改进。为了弥补在线求解的实时性问题,有学者提出了各种优化。最直观、也是最简便的一种离散化就是对行为的离散,即决策时,仅考虑抽象行为,如“保持直行”、“左变线”、“右变线”等动作,然后通过离散POMDP求解。这种办法较为直接、实用。另外一种离散的方式是对Policy的离散,即预制好多种最优解以应对不同的状况,POMDP仅需要挑选对应目前状况最优的一个policy即可,大大降低了计算难度和求解时间。不过预制多种最优policy也是一项很大的工程。虽然可以线下计算(off-line)但难以涵盖所有的状况。如果遇到了跟预制完全不同的状况,还是需要重新计算新的policy。

使用POMDP还有一个难点就是概率转移函数的设计。传统方法是通过数据(真实+仿真)来得到概率分布。但是这种做法也有种种问题,比如数据是否有代表性,仿真是否足够真实,状态转移函数是不是能很好的近似真实的状态真实的概率分布。目前研究人员期望通过深度强化学习(Deep Reinforcement Learning),在仿真器中得到转移函数,这个转移函数通过深度神经网络表达。POMDP的设计中,奖励函数reward function的设计也会影响最终结果。通常这个奖励函数需要人工设计的分段函数,但很难反映真实的奖励机制。为了更好地得到真实的reward function,一些科研人员也提出了使用(Inverse Reinforcement Learning,IRL)来解决。简单来讲,IRL就是逐步迭代reward function和最优Policy的过程,计算负担十分巨大。

总结

总体而言,目前的行为规划系统还需从理论和工程等诸多方面进行改善。例如尝试使用机器学习(包括深度学习和增强学习)等方法解决特定问题,将解决特定问题的不同组件综合在一起形成系统。这个类系统更接近实用,即能在简单环境下用使用专家系统(rule-base system),在专家系统不能难以决策时使用基于概率和学习的方法。此方法的要点,除了每个子模块的性能外,还要注意模块间的切换,即在何种条件下使用什么算法和模块。行为规划系统的效果直接影响无人车的驾驶安全,因此需要以及其审慎的流程开发。开发和实车调试中也经常遇到难以预知的误判而导致危险情况,需要开发人员注意力高度集中,并且有规避和处理危险情况的能力,通常测试人员需要经过防御性驾驶训练(defensive driving)。高难度高风险的测试给开发带来了很大难度。幸运的是,目前有很多仿真软件可以非常真实的模拟各种驾驶情形,为复杂情况下的行为系统开发提供了极大便利。需要注意的是,模拟器的仿真也不能100%的复原真实的驾驶情况,虚拟与现实之间依然存在差距,(realistic gap,例如车辆动力模型,不同人的反应不一样,仿真器目前很难模拟真人做出的反应)。所以将仿真器的结果放在实车测试时,也需要细致的测试和调整。随着更多的人加入到仿真器和算法的开发,相信realistic gap会越来越小。

随着无人车整车技术日渐成熟,更多的研究人员和从业者正在思考,如何让无人车能安全、自如地在有人驾驶的车流中形式。近一、两年,无人车行为规划和有人驾驶车辆的行为预测也获得了更大的关注。由于在近几十年来,无人车不能完全取代有人驾驶车辆,而为无人车建造专用道路又存在诸多限制。因此让无人车能理解人类驾驶员意图并作出相应规划,对无人车的落地和推广有重要意义。随着技术的迭代更新和更多的人加入到开发者的行列,相信行为规划和预测的技术很快会日益完善。

转载自人工智能开放创新平台


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/22461.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于18-10-09
0