孙浩 陈泽宇 吴思凡 潘峰
(1.北京联合大学,北京市信息服务工程重点实验室,北京 100101;2.北京联合大学,机器人学院,北京 100027;3.清华大学,汽车安全与节能国家重点实验室,北京 100084)
主题词:智能车辆 运动控制 策略梯度 模型预测控制
智能车辆运动控制的目标是实现对期望轨迹的准确跟踪,是智能驾驶的基础核心技术之一[1]。模型预测控制(Model Predictive Control,MPC)是一种最优控制方法,其通过参考模型的引入直接处理被控对象的动力学特性,且其基于模型的预测功能使算法拥有对环境的前馈能力,从而取得更好的控制效果,因此受到研究者的广泛关注[2-5]。然而,MPC通过对优化问题的在线求解计算当前最优控制量,求解效率较低。如Wang和Boyd的研究表明,对于线性时不变系统的MPC问题,当其状态维数为m,控制输入维数为n,控制时域为T时,状态转移形式及控制输入形式的二次凸优化问题在线求解的时间复杂度分别为O([T(n+m)]3)和O([Tn]3)[6],其求解复杂度呈三次指数增长,在线求解效率较低。交叉方向乘子法可以实现MPC问题的时域分解,降低问题的维数,从而提高在线求解效率[7-8],但时域分解要求系统必须为线性。车辆运动为平面刚体运动,其运动控制问题为非线性控制问题,对其线性近似将导致控制精度的下降。
近年来,随着神经网络的发展,其强大的表示及近似能力推动了强化学习由表格型求解向函数近似型求解发展。强化学习的应用领域也从有限的离散空间拓展到无限的连续空间,从而适用于解决复杂非线性系统的控制问题,典型的代表为基于策略梯度(Policy Gradient,PG)的深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)方法[9]。该类方法属于无模型强化学习方法,通过与环境的交互获得回报值,并在“行动器-评判器”(Actor-Critic,AC)框架下交替迭代更新策略评估与策略改进环节,直至收敛。然而,无模型强化学习对环境的无目的随机探索特性导致其采样效率不高,收敛速度较慢。
针对当前智能车辆模型预测运动控制研究中存在的问题,本文在策略梯度求解框架下提出一种融合预测模型的策略梯度MPC(Policy Gradient MPC,PGMPC)方法。该方法利用神经网络近似最优策略,基于MPC 问题的预测模型及优化目标设计策略网络的损失函数,将车辆运动控制的非线性MPC 问题转化为神经网络问题。相比于传统MPC方法,PGMPC方法通过离线求解、在线应用的方式,同时提高了车辆运动控制的精度以及在线应用的计算效率。
假设汽车轮胎侧偏特性处于线性范围内,建立如图1所示的二自由度动力学车辆运动预测模型。模型中,系统的输入量为前轮转角δ,即u=[δ],状态量为x=[y,θ,β,ω],其中y、θ、β、ω分别为车辆的侧向位置、航向角、质心侧偏角和横摆角速度。
图1 车辆运动预测模型
现有的研究通常基于小航向角假设,将车辆的平面运动模型建立为线性模型。然而,在大曲率工况下该假设不再成立,小航向角假设必然会导致轨迹跟踪运动控制精度的降低。为解决此问题,本文建立车辆运动控制的非仿射非线性连续系统状态方程:
式中,vx为车辆纵向速度;m为整车质量;k1、k2分别模型的前、后轮胎等效侧偏刚度;a、b分别为车辆质心到前、后轴的距离;Iz为车辆的转动惯量。
对于式(1)所示的非线性动力学系统,其状态方程无法用状态矩阵与输入矩阵表达,仅可用一般形式表达:
对于上述具有一般形式的时不变动力学系统,其离散状态方程可表达为:
式中,dt为离散系统的采样时间;xk、uk分别为k时刻系统的状态量及控制量。
为不失一般性,设当前时刻为0 时刻,被控系统的初始状态为x0。对于预测时域N内的任意预测时刻k,系统的输入量为uk-1、状态量为xk、参考量为rk,预测时域内系统状态转移过程如图2所示。
图2 预测时域状态转移示意
那么,系统在第k个控制周期的代价值Lk为uk-1、xk、rk的函数:
式中,lk为代价函数。
对于车辆运动控制MPC 问题而言,若给定初始状态x0及预测时域内参考量r1:N(1:N表示预测时域的第1步到第N步),则预测时域内的代价函数为:
基于MPC的车辆运动控制的求解即为找到使预测时域内代价函数最小的最优控制序列u*,并将最优控制序列的第1个控制量作用于系统后重置初始状态,不断通过滚动优化实现对系统的最优控制。
综上,车辆运动控制MPC问题可建模为最优化问题:
其中:
当式(3)所示系统为线性系统时,式(6)所示问题为二次规划问题。然而,当式(3)所示系统为非仿射非线性系统时,求解式(6)所示问题非常困难,甚至无法实现实时求解。
为实现式(6)所示的非仿射非线性系统MPC 问题的实时求解,本文使用函数近似的方法,将求解最优化问题的方式由在线求解转化为离线训练、在线应用,从而大幅提高求解效率。该方法在提出过程中使用了如下2个定理:
引理1 万能近似定理:若一个前馈神经网络具有至少一层含有任意一种“挤压”性质激活函数隐藏层的线性输出层,那么当网络具有足够数量的隐藏单元(即网络过参数化)时,该网络能够以任意精度近似任何一个有限维空间指向另一个有限维空间的函数[10]。
引理2近似最优性:当近似函数为过参数化的神经网络时,可利用优化算法(如梯度下降法和随机梯度下降法)在多项式时间内找到参数化损失函数的全局最小值[11-12]。
设参数化策略π由策略神经网络的参数θ决定,且策略π为当前状态x0与预测时域内参考量r1:N到控制序列的映射。若可获得一组最优的参数θ*,使得策略π与最优控制序列u*之间满足如式(8)所示的等价关系,则MPC问题的最优解可被策略π近似:
因此,若能求解出使式(8)成立的参数θ*,便可将MPC的在线求解转为参数化映射。引理1保证等式(8)的存在性,引理2保证式(8)参数的可求解性。基于此,本文提出一种以神经网络作为近似函数的求解方法,实现非仿射非线性系统MPC问题的近似求解。
对于连续系统的控制问题,传统策略梯度类方法(如DDPG 方法)通常采用Actor-Critic 框架求解,如图3所示。图中:Q为值网络输出;r为回报值;γ为折扣因子;ε为均方根函数;qw为参数w下的值网络函数。DDPG 算法通过最小化上述2 个网络的损失函数Lπ、Lq进行求解,其中Actor 的目标是最小化值网络输出Qw,Critic 的目标是最小化输出值与实际回报值的均方差。通过环境的不断交互,基于梯度下降实现Actor与Critic交替更新,直至收敛。
图3 DDPG方法求解框图
可发现,在传统DDPG 等的无模型策略梯度方法中,需要通过对环境的探索不断取得回报值,通过“自举法”实现梯度下降。然而,在这个过程中,仅考虑了策略网络的权值向量对值函数估计的影响,忽略了其对目标值函数的影响,下降方向仅包含一部分梯度。因此,传统无模型的更新过程称为半梯度方法,这导致收敛过程不稳健,收敛速度较慢。
在MPC 问题中,被控对象模型及代价函数均是先验已知信息(如式(3)、式(5)所示)。因此,本文在利用策略梯度类方法求解最优策略π时,在传统Actor-Critic框架基础上引入系统预测模型及代价函数,提出PGMPC 方法,其框架如图4 所示。图中V函数为式(5)所示的代价函数。
图4 PGMPC方法求解框图
相比于传统的策略梯度方法,PGMPC 方法由于结合了被控对象的模型及代价函数,其目标值函数及估计值函数总是确定的。因此,通过梯度下降直接更新策略网络即可完成训练,具有更高的鲁棒性。
为了找到最优的参数θ*,并使式(8)对全状态空间都成立,就需要对原有代价函数在状态空间上取期望。此时,构造出神经网络的损失函数为:
式中,πk-1为由策略π产生的控制序列中的第(k-1)个控制量;χ为策略网络输入的样本空间;E为期望函数。
那么,损失函数J(θ)对于参数θ的梯度为:
将式(8)代入式(5)所示的预测时域代价函数,可得:
由于参考量rk与参数无关,而πk-1、xk均为θ的函数,根据链式求导法则,式(11)右端代价函数可展开为:
式中,(12)-1、(12)-3项由式(4)决定。
对于(12)-2 项,由于xk、πk-1、xk-1满足式(3)所示的函数关系,继续利用链式法则对其进行展开,可得:
记式(12)-2 项为函数φ,那么相邻时刻的φk与φk-1存在如式(14)所示的递归关系,其中f为式(3)中的车辆动力学模型函数:
将式(11)~式(14)代入式(10)中,即可求得神经网络损失函数相对参数θ的梯度。以梯度下降法为例,第K次迭代中网络的更新公式为:
式中,aK为当前迭代周期的学习率。
根据引理2,通过对参数的不断迭代更新,θ最终收敛到θ*。
注意到,由于在神经网络训练过程中,收敛条件对系统状态及代价函数特征没有要求,所以,理论上对于任意能够显式表达系统动力学特性及代价函数的控制系统,均可在本文提出的PGMPC框架下进行近似求解。
为验证所提出方法的有效性,本文选择大曲率道路(半径15 m)的轨迹跟踪控制作为仿真工况,对比PGMPC算法与传统在线求解MPC(Online MPC,OMPC)的跟踪精度、求解实时性等性能指标(其中OMPC 采用Boyd团队所开发的OSQP求解器[6])。在此工况下,由于道路航向变化较大,道路航向角的小角度假设所导致的模型偏差也较大。
为了进行有效对比,仿真验证中PGMPC 与OMPC使用相同的凸优化目标函数。将式(4)所示代价函数修改为式(16),该代价函数同时考虑跟踪精度与行驶舒适性,被广泛应用为智能车辆轨迹跟踪的目标函数:
式中,Q为状态量惩罚权重,R为输入量惩罚权重。
仿真验证中以CarSim 搭建的动力学模型为被控对象,搭建联合仿真环境,模拟车辆的大曲率轨迹跟踪控制。仿真中使用的主要参数设置如表1示。
表1 联合仿真参数
仿真验证中采用深度全连接神经网络作为PGMPC算法的近似函数。其中输入层由跟踪控制系统的状态构成,并与后续的4 层隐藏层全连接,隐藏层使用整流非线性单元作为激活函数,每层有27个神经元,网络的输出层为tanh层,以界定控制量的边界。离线训练过程中超参数设置情况如表2所示。
表2 神经网络参数设计
图5 所示为训练过程中神经网络的误差与训练次数之间的变化关系。由图5可以看出:在训练次数小于1 000次时,随着训练次数的增加,策略误差值迅速降低到10-3以下;随着训练次数继续增加,误差值略有上升,然后以较小的斜率继续下降,最终保持在10-5左右,满足误差要求,训练停止并得到策略网络。
图5 训练过程中的误差变化
仿真中,车辆以(15 m,0 m)为起始点,沿半径为15 m的期望路径逆时针行驶,轨迹跟踪结果对比如图6 所示。结果表明,PGMPC 与OMPC 均可达到较高的跟踪精度,但PGMPC的跟踪精度更高。
图6 轨迹跟踪结果
仿真得到的轨迹跟踪误差对比如图7所示。由图7可以看出,对于试验工况中大曲率轨迹跟踪,由于无须基于小角假设建立参考模型,PGMPC的模型误差更小,明显优于OMPC算法。
图7 轨迹跟踪误差
仿真得到的被控车辆侧向加速度对比如图8所示,PGMPC 与OMPC 的平均侧向加速度均为1.67 m/s2,但PGMPC的最大侧向加速度更小、控制更为平滑。
图8 侧向加速度
算法求解耗时对比如图9所示(计算平台配置均为英特尔i5-8600K CPU,内存16 GB)。由于PGMPC在线应用仅需做神经网络前向推理,其计算平均耗时为0.405 ms,与之相比,需要在线求解的OMPC算法的平均计算耗时为15.72 ms。
图9 计算耗时
针对目前智能车辆模型预测运动控制因在线求解效率的制约,多使用线性参考模型而引起的跟踪精度下降问题,本文提出了一种策略梯度模型预测控制方法,建立车辆运动控制的非仿射非线性参考模型,在模型预测控制框架下将模型预测运动控制转化为最优化问题,并提出一种基于模型的策略梯度求解方法,通过离线求解、在线应用的方式提高预测型运动控制的求解效率。仿真验证结果表明,相比于传统在线求解方法,所提算法的跟踪误差由152 mm下降到1.99 mm,单步求解耗时由15.72 ms 下降到0.405 ms,验证了本文所提出算法的有效性。
未来工作将围绕2个方面开展:研究具有自学习能力的求解方法,提高算法的环境自适应能力;研究输入状态有噪声情况下的求解算法,提高算法的鲁棒性。