无人驾驶系统非常复杂,由多个模块组成,例如感知、融合、规划、控制、定位等等组成。其中规划主要包括行为决策、运动轨迹规划等等。
行为决策是人们在行动之前按照某些行为准则在若干可行备选方案中选择或判断某种最佳行动方案的思维活动。
行为决策系统根据驾驶员的任务请求以及车辆的行驶状态和环境感知信息,对任务进行优先级排序,对车辆的驾驶行为,包括换道、超车和躲避障碍物等进行决策,并将行为决策的结果传给运动轨迹规划系统。
运动轨迹规划系统根据行为决策的结果以及车辆的行驶状态和环境信息,考虑时间因素,规划出车辆的行驶轨迹。规划的轨迹包括和时间相关的速度、加速度、行驶时间、燃油消耗量等状态和控制量,并将轨迹信息传给运动控制系统,运动控制系统接收到规划轨迹的详细信息以后,对车辆的姿态进行控制使其沿着规划轨迹进行循迹行驶,以达到对智能车辆自动控制的目的。
运动轨迹规划是运动控制的前提。因此,要对某种驾驶行为实施控制,首先要根据车辆的行驶状态和道路信息规划出期望的运动轨迹,并从中提取需要的轨迹参数提供给后续跟踪控制器,以便于控制器能够控制车辆按照规划的轨迹行驶。
运动轨迹规划一般首先生成路径,然后在路径的基础上考虑时间因素及车辆的运动学和动力学模型,通过平滑和速度规划等步骤得到开环的运动轨迹。但是对车辆沿着规划轨迹行驶的稳定性分析也存在一定的困难,即运动控制能否控制车辆准确地沿着规划轨迹行驶而不发生侧滑或侧翻等达不到行驶稳定性要求的问题。
运动轨迹规划与路径规划是有所区别的,路径规划主要是生成从起点到终点不发生碰撞的静态几何轨线,不包含时间概念;而轨迹规划考虑时间因素,生成的不仅是轨迹,还包括车辆行驶速度、加速度、行驶时间和燃油消耗量等状态和控制参数。
车辆运动控制的主要任务是利用对车辆速度和方向的控制实现车辆位姿对规划轨迹的快速跟踪,并对车辆沿着规划轨迹行驶的状态和控制参数的响应参数进行闭环反馈,使得车辆能够准确沿着规划轨迹进行循迹行驶。
路径规划方法是在障碍物环境下,按照一定的评价标准规划出一条从起始状态(位置,姿态)到目标状态的无碰路径,主要考虑局部移动主体和障碍物之间的几何关系,找到一条不发生碰撞的路径。路径是一条静态的几何轨线,不包含时间概念,通常表示智能车辆在笛卡尔坐标下的位置和姿态关系。
根据智能车辆对环境信息掌握的程度,路径规划可以分为两种:
在无人驾驶或者机器人路径规划总,路径规划其实在广义上分为两种:
全局路径规划方法有 Dubins 路径及其改进算法、可视图法和单元分解法等方法。
Dubins路径是生成光滑路径最常用、最广泛、最出名的一种方法。其表示机器人向前行驶的最短路径,通过两个圆弧和直线段组成,其中直线段部分是对应的圆弧的切线。
但是这个方法有个很大的缺点,那就是在圆弧和直线的连接点处不连续,如果想要精确按照预先设定好的路径行驶,就必须要在连接点处停下来,然后原地转弯,再开始行驶。这对于无人驾驶来说,是完全无法接受的!!
后来Scheuer等大佬在Dubins路径规划算法上进行了改良,使得行驶路径由原来的圆弧+直线变成了圆弧+直线段+CC(Continous Curvature)转向路径 ** 3段组成,圆弧和直线段之间使用CC转向路径进行相连,这样就避免了路径在连接点处不连续,需要原地停下来转向的尴尬出现。
CC转向路径是一种特殊的螺旋曲线,它的曲率随着曲线长度的变化而变化,但是曲率一直是连续变化的**。但是其生成的路径在长度上有可能就不是最短的了,而且生成的路径曲线的坐标(x,y)无法直接闭环来表示,只能通过对曲线长度s进行积分得到,计算成本较大。
局部路径规划有人工势场法、模糊逻辑算法和基于行为的路径规划算法等方法。
模糊逻辑算法主要是对驾驶员的驾驶经验进行模拟,将驾驶员生理上的感知和行为动作进行结合,然后根据传感器提供的信息,通过查表可以得到规划轨迹的信息。
该算法最符合人类的思维习惯和行为特点,能够很好的体现出跟人驾驶行为上的一致性。但是由于太过于模糊的设计函数,导致该方法主要依赖人的经验和试验,总结、量产十分困难。且一旦模糊规则制定后,再次想要调整起来困难重重。因此业界的主要用法都是讲其余其他逻辑方法相结合使用。
基于行为的路径规划算法是把机器人需要完成的任务进行分解成一些简单的行为单位,机器人根据行为的优先级以及需要完成任务作出适当的反应。
但是由于是对任务进行了分解,所以对于不同的行为来说需要完成不同的目标,不同的行为之间经常会产生冲突。此时就需要使用仲裁机制来对这些行为进行仲裁协调,谁先谁后。落实到具体操作上时,同一时刻只能有一个行为或者任务在被执行,行为按照不同的执行顺序组合成了一个完整的任务。
该方法实时性很强,且非常灵活,但是缺点是在多种行为模式下,它的系统对于正确判断的概率会降低。
基于再励学习的路径规划算法来源于行为心理学,用动物学习心理的“试错法”原理,对机器人在未知环境中移动的路径进行规划。
此方法利用评价性反馈信号在与环境的交互反馈中进行学习,为实现智能系统的自学习能力提供有效手段。由于再励学习不需要先验知识和环境模型,也不需要样本训练数据,主要是通过与环境的直接交互进行学习,能够在线实现,所以对环境模型不确定的系统比较适用。但是此算法由于需要与环境进行直接交互,计算量较大。
该方法准要是模拟一些生物上的生理特点进行的算法,如遗传算法、CNN、蚁群优化、栗子滤波等等。