显然,在高维度的配置空间来动作规划的计算量是非常巨大的,为了确保规划算法的完整性,我们不得不搜索几乎所有的可能路径,这就形成了连续动作规划中的“维度灾难”问题。目前动作规划中解决该问题的核心理念是将连续空间模型转换成离散模型,具体的方法可以归纳为两类:组合规划方法(Combinatorial Planning)和基于采样的规划方法(Sampling-Based Planning)。

运动规划的组合方法通过连续的配置空间找到路径,而无需借助近似值。由于这个属性,它们可以被称为精确算法。组合方法通过对规划问题建立离散表示来找到完整的解,如在Darpa城市挑战赛(Darpa Urban Challenge)中,CMU的无人车BOSS所使用的动作规划算法,他们首先使用路径规划器生成备选的路径和目标点(这些路径和目标点事融合动力学可达的),然后通过优化算法选择最优的路径。

另一种离散化的方法是网格分解方法(Grid Decomposition Approaches),在将配置空间网格化以后我们通常能够使用离散图搜索算法(如A*)找到一条优化路径。

基于采样的方法由于其概率完整性而被广泛使用,最常见的算法如PRM(Probabilistic Roadmaps),RRT(Rapidly-Exploring Random Tree),FMT(Fast-Marching Trees),在无人车的应用中,状态采样方法需要考虑两个状态的控制约束,同时还需要一个能够有效地查询采样状态和父状态是否可达的方法。后文我们将详细介绍State-Lattice Planners,一种基于采样的运动规划算法。

4.控制

控制层作为无人车系统的最底层,其任务是将我们规划好的动作实现,所以控制模块的评价指标即为控制的精准度。控制系统内部会存在测量,控制器通过比较车辆的测量和我们预期的状态输出控制动作,这一过程被称为反馈控制(Feedback Control)。

反馈控制被广泛的应用于自动化控制领域,其中最典型的反馈控制器当属PID控制器(Proportional-Integral-Derivative Controller),PID控制器的控制原理是基于一个单纯的误差信号,这个误差信号由三项构成:误差的比例(Proportion),误差的积分(Integral)和误差的微分(Derivative)。

PID控制因其实现简单,性能稳定到目前仍然是工业界最广泛使用的控制器,但是作为纯反馈控制器,PID控制器在无人车控制中却存在一定的问题:PID控制器是单纯基于当前误差反馈的,由于制动机构的延迟性,会给我们的控制本身带来延迟,而PID由于内部不存在系统模型,故PID不能对延迟建模,为了解决这一问题,我们引入基于模型预测的控制方法。

预测模型:基于当前的状态和控制输入预测未来一段时间的状态的模型,在无人车系统中,通常是指车辆的运动学/动力学模型;