无人车的决策和规划分别是负责什么的?两者的差别和联系是什么?

姓名:董梦圆 学号:21011110259 学院:通信工程学院

转载自:https://www.zhihu.com/question/41013884/answer/596820367

【嵌牛导读】决策和规划已经开始合并,很多决策层可以直接决策到动作层,如此,就意味着不需要规划层,回想起4年前李德毅院士试乘我们车时,问过一个问题:“无人车到底需不需要规划?” 真是时间如梭啊!!

【嵌牛鼻子】无人驾驶;决策与规划

【嵌牛提问】无人车的决策和规划分别是负责什么的?两者的差别和联系是什么?

在老AI里面 决策和规划差不多一个意思 一个理性决策通常可以表示为将预期的utility/reward最大化,或者等价的,让代价cost最小。为此需要预计到自己未来的一系列措施会有怎样的结果,并根据这样预计来调整优化自己将要采取的措施,这个过程就叫规划。

无人车也一样,你是要换道,还是超车,还是下高架,还是去停车场,找哪个停车位,这些目标会带来不同的utility,而对应的utility事实上是不能提前知道的,因为utility和目标是否可以实现,如何实现有关系。比如你嫌前面的车太慢,你觉得马上去超它回报会很大?但是如果这个时候旁边的车道没有空隙让你超呢?你强行超会导致事故。 所以,规划能力的强弱,决定了决策是多聪明还是多笨。

目前大部分实用AI决策系统(比如游戏AI)里面,都是分层(hierarchical)的。 5,6年前的时候,许多无人车的上层规划系统还比较简单,有些就是些简单的有限状态机,来根据场景简单的觉定我是不是要超车了,要换道了,而不太管物理上是否可以实现。你也可以认为根据场景粗糙的估计了一下utility,但实际情况可能和估计的完全不一样。 这一步,被工业界叫做behavior planning,也被认为是decision making的一部分... 一旦确定好behavior以后,比如要超车了,下面的motion planning模块尝试在有限的预测时间里找到能超车的轨迹。

正如上面所描述的,因为过去许多无人车所谓‘decision making'的过程过于简单,相当于没什么planning的因素在里面,因此做出的决策常常会不可行,也就是下面的motion planning找不到实现上层behavior的具体运动,这样会导致无人车有时看上去比较傻,比较保守,或者需要避障的时候却没有采取足够聪明的措施,等等。

因此最近的一些努力是在behavior planning的时候也考虑vehicle motion,毕竟从问题本身来说decision making本身就是planning的问题,无非是能做的多好,同时要可以real-time的跑。另外上层如果做的太细,那就和下面的Motion planning就没区别了,这样也就失去了通过分层结构简化问题加快计算的初衷。

事实上抽象和分层的能力是人类能解决复杂问题的重要因素。然而要在理论上保证分层决策系统一定的完备性是困难的,因为上层考虑的是一个简单化的决策问题,这样上层产生的一系列sub tasks,在下层不一定能解决, 因而从完备性的角度上下层的交互常常是必要的。就好像我老板让我发IEEE TAC,我觉得自己的文章对不起TAC,我就要和老板反馈,老板重新判断后觉得还是得发,那我再执行试试看。你看这就是不同hierarchy之间的交互过程。

因此在planning领域才有了很多如何做state abstraction和refinement,以及Motion planning领域所谓的adaptive dimension的方法。事实上,就连传统的RL也有所谓hierarchical RL的概念,毕竟RL一大半内容就是在用DP做planning....当然现在的摩登AI都是神经网络端到端一步到位了,谁还管怎么搞分层呢。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容