责编 | 何永灿 无人车作为一个复杂软硬件结合系统,其安全可靠运行需要车载硬件、传感器集成、感知预测,以及控制规划等多个模块的协同配合工作。作者认为最关键的部分是感知预测和决策控制规划的紧密配合。狭义上的决策规划控制部分,包含了无人车行为决策(Behavior Decision)、动作规划(Motion Planning), 以及反馈控制(Feedback Control)这三个模块。而从更宽泛的概念来说,无人车的决策规划控制模块,紧密依赖于上游的路由寻径(Routing)以及交通预测(Prediction)的计算结果,所以本文也对路由寻径和交通预测模块进行介绍。 系统框架和模块划分 图1展示了一种无人车软件系统的典型功能模块划分。其中感知(Perception)模块负责从传感器数据中探测计算出周边环境的物体及其属性。这些物体信息经过预测模块的计算,生成预测轨迹传递给决策规划控制系统中的行为决策模块。决策规划控制系统的另一个上游模块是路由寻径模块,其作用在简单意义上可以理解为无人车软件系统内部的导航,即在宏观层面上指导无人车软件系统的控制规划模块按照什么样的道路行驶从而实现从起始点到目的地点。值得注意的是这里的路由寻径虽然在一定程度上类似传统的导航,但其细节上紧密依赖于专门为无人车导航绘制的高精度地图,所以和传统的导航还是有本质的不同。一般来说,路由寻径会作为单独的模块来进行实现,而交通预测部分,则既可以做为感知模块的业务延伸,也可以看成是决策规划控制模块的外围模块而单独进行实现。
图1 无人车软件系统模块 决策规划控制(Decision,Planning & Control)系统的任务,就是在对感知到的周边物体的预测轨迹的基础上,结合无人车的路由意图和当前位置,对车辆做出最合理的决策和控制。整个决策规划控制软件系统,可以按照解决问题的不同层面,如图1所示自上而下划分为行为决策(Behavioral Decision)、动作规划(MotionPlanning),以及反馈控制(Feedback Control)这三个模块。 其中行为决策模块(Decision),可以直观理解成无人车的“副驾驶”。行为决策接受路由寻径的结果,同时也接收感知预测和地图信息。综合这些输入信息,行为决策模块在宏观上决定了无人车如何行使。宏观层面的决策包括在道路上的正常跟车,在遇到交通灯和行人时的等待避让,以及在路口和其他车辆的交互通过等。例如,在路由寻径要求无人车保持当前车道(Lane)行驶,感知发现前方有一辆正常行驶的车辆,行为决策的决定便很可能是跟车行为。 动作规划模块,在图1的划分中,解决的是具体的无人车动作(Motion)的规划问题。其功能可以理解为,在一个较小的时空区域内,具体解决无人车从A点到B点如何行驶的问题。动作规划模块在这里解决的问题,相对行为决策,又更加具体了一步。动作规划需要具体把一个短暂时间t内从A到B的中间路径点做出规划,包括选择途经哪些具体的路径点,以及到达每个路径点时,无人车的速度,朝向,加速度等。不仅如此,动作规划还需要保证两点:一是在后续时间内,生成从A到B的时空路径需要保持一定的一致性;二是,这些生成的A到B之间的路径点,包括到达每个点的速度朝向加速度等,都在下游的反馈控制的实际可操作的物理范围之内。决策规划控制系统最下层的模块是反馈控制模块。这是一个直接和无人车底层控制接口CAN-BUS对接的模块。其核心任务是消化上层动作规划模块的输出轨迹点,通过一系列结合车身属性和外界物理因素的动力学计算,转换成对车辆Drive-By-Wire控制的油门,刹车,以及方向盘信号,从而尽可能地控制车去实际执行这些轨迹点。反馈控制模块主要涉及对车辆自身控制,以及和外界物理环境交互的建模。 上述模块的划分方法,非常有效地将无人车决策控制规划这样一个复杂问题,按照计算逻辑从抽象到具体的做出了非常合理的切分。这样的划分使得每个模块可以各司其职专注解决本层次的问题,从而提升了整个复杂软件系统的开发效率。 预测模块(Prediction) 作为决策规划控制模块的直接数据上游之一,预测模块的作用是对感知所探测到的物体进行行为预测,并且将预测的结果具体化为时间空间维度的轨迹传递给下游模块。一般而言,感知模块所输出的物体信息包括位置,速度,朝向以及物体分类(如车辆,行人,自行车)等物理属性。这些感知所计算输出的物体属性偏向于客观的物理属性。利用这些输出的属性,结合客观的物理规律,可以对物体做出一个在非常短时间内的“瞬时预测”。预测模块所需要解决的问题,j2直播,不仅仅局限于结合物理规律对物体做出预测,往往更重要的是结合物体和周边环境,以及积累的历史数据知识,对感知到的物体做出更为宏观的行为预测。例如在图2中,行为预测需要在宏观层面预测图中的车辆是否会保持直行还是右转通过路口。
图2 无人车周边物体行为预测 (责任编辑:本港台直播) |