本系列博客包括自动驾驶技术概述、自动驾驶汽车平台技术基础、自动驾驶汽车定位技术、自动驾驶汽车环境感知、自动驾驶汽车决策与控制、自动驾驶系统设计与应用六个栏目。 本专栏是关于自动驾驶汽车决策与控制的笔记.
2.预测交通环境行为
- 行为决策模块属于自动驾驶系统的决策规划层;
- 在决策和规划智能汽车时,首先从环境感知模块获取道路拓扑结构信息、实时交通信息、障碍物(交通参与者)信息和主车本身的状态信息,然后根据这些信息预测其他动态障碍物(交通参与者)未来的运动轨迹;
- 根据预测时间长短,运动预测分为长期预测和短期预测,涉及意图识别、行为预测和轨迹预测;
2.1 预测交通参与者的行为
- 对于驾驶汽车,可以根据驾驶场景、道路拓扑和方向大致分析驾驶意图和预期轨迹;对于交通环境中的其他参与者,运动不确定性较高;预测所有运动障碍物的运行轨迹后,需要分析无人驾驶汽车及其碰撞关系,为无人驾驶汽车的避障过程提供决策依据;
- 行为预测一般分为短期预测和长期预测。短期预测的一般预测时间为1s长期预测的预测时间在几秒甚至几十秒内;
- 短期预测:目标行为的意图没有改变,或者目标体的意图可能会改变,但目标体动力学行为没有及时改变。此时,可以根据运动学或动力学推出短期行为;
- 长期预测:目标行为意图可能发生变化,动态行为可能发生变化。此时,目标行为受目标意图和周围环境信息的影响很大;
- Atev S收集一系列针对目标意图,收集一系列行驶轨迹,然后在线匹配实际行驶轨迹和收集的各种轨迹的相似性,然后预测车辆的后续行驶轨迹;
- 基于多层感知机、逻辑回归、支持向量机和隐马尔科夫识别目标意图RRT、生成预测路径的高斯算法处于主导研究地位;
2.1.1 汽车行为预测
- 汽车行驶轨迹是两个因素共同作用的结果:一是汽车驾驶员的行为,如反映意图的换道过程;二是外部环境因素,如影响行驶过程中汽车轨迹的交通信息;
- 不同的轨迹预测思路:基于物理模型的轨迹预测、基于行为模型的轨迹预测、基于神经网络的轨迹预测、基于交互的轨迹预测、基于仿生学的轨迹预测和多种方式的轨迹预测;
-
基于物理模型的轨迹预测
基于物理模型的轨迹预测是基于物理运动模型的动态实体;利用动力学和运动模型预测未来运动,将一些控制输入(如转向、加速)、汽车属性(如重量)和外部条件(如道路摩擦系数)与汽车状态的演变(如位置)联系起来;
-
动力学模型
基于拉格朗日方程,汽车动力学模型考虑了影响汽车运动的不同力的作用,如纵向和横向轮胎力或道路倾斜角;汽车由复杂的物理控制(驾驶员影响发动机、变速器、车轮等),因此动力学模型可能非常复杂,涉及汽车的许多内部参数;
常用于轨迹预测"自行车"该模型取代了复杂的汽车动力学模型,将四轮车简化为两轮车,并在二维平面上移动;
-
运动学模型
运动模型根据运动参数之间的数学关系(如位置、速度和加速度)来描述汽车的运动,而不考虑影响运动力;在运动模型中,摩擦被忽略,假设每个车轮的速度与车轮方向相同;
最简单的运动模型是恒速(CV)和恒定加速(CA)模型,假设汽车是直线运动;恒转和速度(CTRV)及恒转加速度(CTRA)模型考虑将偏航角和偏航率变量引入汽车状态向量 z z z轴的变化;
-
-
基于行为模型的轨迹预测
- 基于行为的模型解决了基于物理机制的模型不考虑汽车行为的问题。在这种模型中,每辆车都被视为正在进行某种交通行为(如左转和换道)的客观运动目标。基于行为先验信息,可以帮助推测未来一段时间内某种行为的运动特征,从而更准确地实现长期的运动预测;
- 基于行为模型的轨迹预测方法通常有两种方法:直接通过原型轨迹预测和先识别驾驶意图;
- 在结构化的道路环境中,汽车的运动轨迹通常可以根据道路拓扑分为有限的轨迹簇,对应于典型的汽车行为;
- 基于原型轨迹的方法:将感知到的其他车辆轨迹与试验运动模型相匹配,然后根据匹配结果结合原型轨迹进行运动预测;通常通过学习方法对样本轨迹进行分类,获得原型轨迹;采集的轨迹可以通过谱聚类或简单地解决样本的平均值和标准差进行分类;
- 在轨迹分类过程中,高斯混合模型(Gaussian Mixture Model,GMM)表现良好,基本思想是:在高维空间中投影轨迹,然后使用GMM方法对轨道长度进行分类;如果将收集到的轨迹视为离散时间上的多维高斯分布,则首先使用K平均方法对汽车的侧向加速度进行分类,然后基于GMM对样本轨迹进行分类,可以找到原型轨迹;
- 在原型轨迹预测方法中,目标历史轨迹与计算运动模式之间的匹配方法是影响预测准确性的关键;在此过程中,需要定义一个测量来表示轨迹与原型轨迹之间的匹配程度,有些方法通过轨迹点之间的距离来表示,有些方法通过最长的共同序列来计算两个轨迹序列之间的相似性;
- 轨迹预测中使用原型轨迹的主要问题是:严重依赖道路拓扑结构信息;样本轨迹的收集和运动模式的训练依赖于已知的道路拓扑结构;训练模型只能适用于相似的道路结构场景,可扩展性差;这种方法的准确性主要取决于匹配度的选择,在速度变化较大的情况下(如十字路口汽车停车、起步等)往往很难制定准确的测量;
- 一些基于行为模型的轨迹预测方法:首先估计道路上其他汽车的行驶意图,并根据这些汽车的行驶意图进行运动预测;这种方法是基于机器学习来识别汽车的行驶意图,而不依赖于原型轨迹,因此可用于任何道路结构;使用这种方法来估计驾驶意图,首先要定义有限的行为集合(包括:车道维护、换道、超车、十字路口转向等),然后根据感知到的道路汽车运动特征对汽车未来行为进行分类;这些特征包括:交通状态变量(速度、加速度、位置、方向、转向灯等)路结构(如十字路口、匝道、高速公路),交通信息(交通信号灯、标志、交通规则等。
- 不同的机器学习方法已应用于汽车驾驶意图的分类:
- Schlechtriemen基于生成分类器(Generative Classifier)识别高速公路场景下其他车辆的换道行为;
- Kumar基于支持向量机(Support Vector Machines,SVM)结合贝叶斯滤波(Bayesian Filtering)实现识别的方法;
- Dogan比较递归神经网络(Recurrent Neural Network,RNN)、向前反馈神经网络(Feedforward Neural Network,FNN)并支持向量机方法预测其他车辆在道路交换行为中的性能;
- 贝叶斯网络及其特殊形式的隐马尔可夫模型(Hidden Markov Models,HMM)这种方法原理也广泛应用于行为预测中:一般基于其他车辆的可观测状态信息和环境信息作为证据变量来解决汽车行为意图等隐藏变量;
- 最上层是行为层, M t M_t Mt为离散的隐性随机变量,代表汽车不同的行为;
- 中间层为运动状态层, X t X_t Xt代表汽车的运动状态,不能被直接观测到;
- 最下层为观测层,矢量 Z t Z_t Zt为矢量 X t X_t Xt含有噪声的测量值;
- 从传感器得到 Z t Z_t Zt后可以通过观察模型来得到道路中他车运动状态变量 X t X_t Xt的估计,再由汽车的运动状态来推断汽车可能的行为 M t M_t Mt;
-
基于神经网络的轨迹预测
- 相比通过汽车物理模型来分析道路结构、交通规则、驾驶员意图等一系列因素对轨迹预测的影响,用基于大数据学习的方式来对涵盖了上述所有复杂因素的汽车运动轨迹数据进行深度神经网络模型学习,会有更强的表达性,会得到更好的效果;
- 进行轨迹预测之前通常需要对采集到的轨迹数据进行预处理,剔除异常噪声轨迹点,从而提高精度;预处理步骤可以基于轨迹高斯混合模型聚类算法;
- 基于长短期记忆(Long Short Term Memory,LSTM)的神经网络对周围汽车的短期驾驶行为进行学习并进行轨迹预测,该网络接收坐标系下针对周围汽车排好序的传感器测量数据,训练后产生占用栅格地图,地图上包含周围汽车未来时刻可能到达的位置和概率,如下图:
- LSTM是RNN的一种形式,通过一个存储器单元来代替网络的每一个结点,解决了梯度弥散的问题;通过"门"(Gate)来控制丢弃或增加信息,从而实现遗忘或记忆的功能;"门"是一种使信息选择性通过的结构,由一个Sigmoid()函数和一个点乘操作组成;Sigmoid()函数的输出值在[0,1]区间,0代表完全丢弃,1代表完全通过;一个LSTM单元有三个这样的门,分别是遗忘门(Forget Gate)、输入门(Input Gate)、输出门(Ouput Gate),如下图所示:
- 存储器单元:决定和积累单元要记忆的内容;
- 输入门限:决定输入信息是否被允许进入模组;
- 输出门限:决定输出是否要被模组向外传送;
-
基于交互的轨迹预测
- 基于交互的轨迹预测在对他车环境进行运动预测时,将自车和周围的其他汽车看作是相互影响的,考虑它们之间的行为依赖关系;
- 考虑交通参与者之间的交互时,一种方法是假设所有驾驶员都尽量避免碰撞,并选择风险最小的驾驶行为;这种方法先计算每个汽车行驶意图的先验概率分布,然后通过建模汽车之间的交互关系进行风险评估,进而对先验分布进行修正;
- 另一种方法是利用动态贝叶斯网络。这种方法在进行行为推理时将汽车之间(Agent(i)、Agent(j))的交互考虑进来,Agent(j)的运动状态 x t − 1 ( j ) x_{t-1}(j) xt−1(j)将对Agent(i)的场景状态 c t ( i ) ct(i) ct(i)产生影响;在数学上实现时汽车之间的交互被分解为成对依赖性的对数线性组合;同时在建模汽车的行为时,将交通规则也考虑进去,然后使用统计推理来计算运动状态的后验概率分布;
- 在汽车的运动预测方面,博弈论一般被应用于汽车行为的建模和预测;可以利用非合作博弈来对汽车的运动进行分析,计算汽车的收益时先要考虑不同行为下生成的轨迹本身的成本,然后利用碰撞检测来计算最终的收益;
- 博弈论的优势之一是可以对有车联网功能和没有车联网功能两种情况下汽车的换道行为进行建模,这两种情况可以被看作完整信息博弈和非完整信息博弈;博弈论还可以建立反映多个驾驶员之间相互交互的交通模型;
-
基于仿生学的轨迹预测
-
多种途径相结合的轨迹预测
- 通过结合基于物理模型与行为模型的轨迹预测实现轨迹预测,基于物理模型轨迹预测可以在考虑汽车动力学参数的情况下确保短期内预测的准确性,基于行为模型的轨迹预测可以实现长期的预测;
- 在基于物理模型的轨迹预测中融合无迹卡尔曼滤波器实现对不确定性信息的预测;基于行为模型的轨迹预测将不确定性随机元素引入到动态贝叶斯网络中,用以推断每个行为过程对应的轨迹;
2.1.2 行人轨迹预测
行人轨迹预测:指根据行人过去一段时间的轨迹,预测其未来的轨迹;行人行为预测的难点:
- 如何使得预测出的行人轨迹既符合物理约束,又符合社会规范。符合物理约束:指预测出的轨迹应该是满足物理要求的,如:一个人不能穿过另一个人等;社会规范:指行人的一些社会学行为,如:结伴而行,相互礼让等;
- 如何对不同行人之间的相互影响进行建模,在行人密集的地方,每个行人在做决策时需要考虑其他行人的行为,包括:躲避、追赶、跟随、超过等交互性的行为;
- 如何预测出多个合理的轨迹。实际场景中,往往不只有一种轨迹符合条件,通常有多个轨迹都是合理的;
目前行人轨迹预测方法:
- ;
2.2 安全评估算法
- 决策算法面临的最大挑战:如何达到自动驾驶所需要的高安全性和高可靠性;
- 路权(Right Of Weight,ROW):指道路使用者依据法律规定,在一定时间对一定道路空间使用的权力;智能驾驶中,路权用来描述满足汽车当前安全行驶所需的道路空间;
- 行驶中的智能汽车的路权是一个流动的扇形区,与本车的尺寸、速度、周边的车流量、前方拥有的空间密切相关,是本车速度的非线性函数,可用距离和角度表示;
- 路权分为:期望路权和实际路权,当两者不一致时,需要进行调节来解决冲突;
- Mobileye开发了一套责任敏感安全(Responsibility Sensitive Safety,RSS)模型的体系,希望通过建立数学公式的手段,使得自动驾驶汽车有能力判断自身的安全状态,从而尽可能避免事故的发生;
- RSS模型希望通过一套严谨的公式算法,来指导自动驾驶决策算法在特定场景下做出合理安全的判断;
- 在定义RSS模型的时候,Mobileye认为有两个原则必须遵守:
- 自动驾驶汽车绝对不可以因为自身的原因引发碰撞或事故;
- 当别的汽车造成潜在风险且可能会产生交通事故的时候,自动驾驶汽车应采取恰当的应对方式,来避免可能发生的交通事故;
- 实际建模中,RSS模型通过四条形式化的规则,来确保汽车在自动驾驶状态下能够保证安全及避免成为制造车祸的一方:
- 和前车保持安全距离;
- 给侧边的人或车留下足够的反应时间和空间;
- 在堵车的时候更加谨慎;
- 要合理使用路权(路权的使用应优先考虑安全);
- 自动驾驶分为:感知、决策、执行三个步骤;感知主要依靠包括车载的环境传感器、高精地图等部分来实现;在决策层,更多依赖一套经过AI训练的算法来判断当前状况下汽车应该做出什么反应;最后通过包括控制转向、刹车、加速等各种动作的车身电子部件实现对应操作;Mobileye的RSS模型是定位在决策后、执行前;
- RSS模型在汽车本身通过决策算法做出判断后,把这个指令输入到RSS模型中验证对应的结果;如果决策算法在某个状态下做出了刹车判断,那么这个判断输入到RSS模型中,得出刹车操作是否能在当前状况下保证汽车的安全;如果结果显示安全,则这个命令会直接执行;如果结果显示会有危险,则RSS模型把这个指令返回到决策算法进行二次决策,直到得到最安全的结果;