摘要
本文针对轮式移动机器人的不确定参数估计与轨迹跟踪问题, 研究了基于卷积神经网络(CNN)的移动机器人不确定模型参数估计方法, 提出了移动机器人的原对偶神经网络(PDNN)模型预测控制(MPC)轨迹跟踪控制算法. 对于轮式移动机器人而言, 轮胎侧偏刚度受到负载扰动、未建模动态和路况变化等不确定因素影响, 在实际行驶过程中难以实时测量. 论文研究侧偏刚度的CNN回归模型, 以估计机器人运行过程中的不确定性. 考虑前轮偏角与加速度等状态的约束条件, 研究基于CNN参数估计的移动机器人预测控制设计方法, 提出基于PDNN的移动机器人预测控制问题求解算法, 并证明了所提出基于CNN参数估计的PDNN-MPC算法稳定性. 最后, 为了验证控制器的有效性, 对所提出的PDNN-MPC算法进行验证.
Abstract
This work focuses on the problem of uncertain parameter estimation and trajectory tracking for wheeled mobile robots. A method for estimating uncertain model parameters of mobile robots based on the convolutional neural network (CNN) is studied, and a primal-dual neural network (PDNN) model predictive control (MPC) tracking control algorithm for mobile robots is proposed. For wheeled mobile robots, tire lateral stiffness is affected by load disturbance, unmodelled dynamics and load changes, which is difficult to measure in real time during actual driving. CNN estimator of lateral stiffness is designed to eliminate uncertainty during robot operation considering the constraint conditions of front wheel deviation and acceleration. This work studies the design of predictive control for mobile robots based on CNN parameter estimation and proposes a PDNN based algorithm with CNN parameter estimation for solving the predictive control problem of mobile robots. The stability of the proposed PDNN-MPC algorithm is proved. Finally, to verify the effectiveness of the controller, the proposed PDNN-MPC algorithm is validated.
1 引言
轨迹跟踪控制是自动驾驶和智能交通系统中的一个重要问题,它涉及到如何使移动机器人按照预期的路径进行准确而稳定的运动,也是自动驾驶领域的一个重要组成部分 [1] . 移动机器人被广泛应用到各种场合,如工厂、娱乐区以及一些危险区域等 [2-3] . 同时,人工智能和大数据技术的发展进一步刺激了移动机器人的智能控制研究,结合深度学习的控制方法成为了机器人运动控制的一大重要领域 [4-6] .
近年来,移动机器人的轨迹跟踪得到广泛研究关注. 文献 [7] 提出了一种基于人工势场法的移动机器人轨迹规划与跟踪方法,以实现其跟踪控制. 文献 [8] 提出了一种带有状态观测器的控制方法以消除外部扰动. 此外,文献 [9] 中研究了基于模糊–PID结合的自适应控制器进行机器人的轨迹跟踪,可以在控制过程中调整参数,实现在线自适应学习. 然而,上述研究在轨迹跟踪方面取得良好控制效果的同时,并未考虑移动机器人运行过程中的参数不确定,以及固有的约束,包括前轮偏角、速度增量与速度上限等.
为满足控制过程中移动机器人固有的的运动学约束,模型预测控制(model predictive control,MPC)作为一种优化控制方法,已被应用于非线性多输入多输出系统,并且可以解决不确定性和约束问题 [10] . 在MPC中,通过对性能指标的连续优化,可以在有限预测时域的条件下获得控制信号以实现最优控制. 文献 [11] 中提出了一种基于考虑量化和丢包的模型预测控制方法,有效地处理了执行器饱和约束问题. 文献 [12] 中采用最小二乘估计方法对机器人侧偏刚度进行实时估计,从而获得更准确的控制模型. 文献 [13] 将MPC与扩展卡尔曼滤波相结合,消除外部扰动以进行移动机器人的稳定控制. 文献 [14] 中利用BP神经网络估计机器人侧偏刚度,采用MPC控制器进行轨迹跟踪控制,并采取遗传算法用于权重矩阵的优化. 文献 [15] 中,研究者利用径向基神经网络解决移动机器人的不确定性,采取MPC作为控制器,进行轨迹跟踪的鲁棒控制. 然而,已有方法对侧偏刚度的估计还不够精确,影响移动机器人的控制效果.
基于上述分析,本文针对移动机器人的轨迹跟踪控制,提出一种基于卷积神经网络(convolutional neural network,CNN)参数估计的原对偶神经网络预测控制方法. 首先,研究侧偏刚度的CNN参数回归模型,以估计机器人运行过程中的不确定性; 然后,针对轮式移动机器人的不确定参数估计与轨迹跟踪问题,考虑前轮偏角与加速度等状态的约束条件,构建了移动机器人MPC轨迹跟踪控制算法; 最后,提出基于原对偶神经网络(primal-dual neural network,PDNN)的移动机器人预测控制问题求解算法.
论文的组织结构如下: 第2部分研究了移动机器人的运动学及动力学建模,并设计了轮胎侧偏刚度的 CNN参数估计结构; 第3部分研究基于MPC的移动机器人跟踪控制算法,完成了基于PDNN的二次规划求解器设计,并证明了闭环系统的稳定性; 第4部分给出了仿真测试,并对仿真结果进行了分析; 最后,第5部分总结了全文并展望了未来的研究方向.
2 移动机器人建模与CNN参数估计
为了使控制性能更安全、更平稳,准确的动态控制模型是必不可少的. 因此,针对移动机器人的轨迹跟踪问题,本文研究了机器人运动学模型和动力学模型设计,并提出基于CNN的轮胎侧偏刚度估计设计,为后续基于PDNN求解的MPC设计提供模型基础.
2.1 移动机器人建模
针对后轮驱动,前轮转向的四轮移动机器人模型,其运动学模型可以被描述如下:
(1)
其中:(x,y)表示机器人坐标; 为机器人速度; 为机器人角速度; vl,vr分别表示机器人左轮和右轮速度; L为机器人后轮间距; φ为机器人航向角; u =(V,ω)为机器人控制向量; 系统的状态量为[x y φ]. 在进行参考轨迹生成时,轨迹必须要满足机器人运动学模型以保障移动机器人的平滑移动与转弯.
本文采取了文献 [16] 中提出的标准自行车模型来近似机器人动力学模型,它既能准确地进行控制,又易于部署,如图1所示. 在此模型中,前轮与后轮做相似的处理,两个轮子被拼接成了一个整体. 横向动力学受轮胎侧偏力和侧偏角等因素影响. 具体的动力学模型如下 [16] :
(2)
(3)
(4)
(5)
(6)
其中: Cf,Cr分别为机器人前轮和后轮的轮胎侧偏刚度; lf,lr分别为机器人质点中心到前后轮的长度; δf为机器人前轮偏角; m为机器人质量; Iz为机器人惯性系数; 式(5)–(6)表示车身坐标系与惯性坐标系间的坐标转换.
对于机器人而言,轮胎侧偏刚度系数、质量和惯性系数是系统模型中的不确定参数. 本文考虑轮胎转弯刚度的不确定性对机器人轨迹跟踪控制精度的影响,研究基于CNN的不确定Cf,Cr估计方法,设计MPC轨迹跟踪控制器,并研究PDNN求解的MPC优化问题求解算法,以实现机器人的轨迹跟踪,控制框架如图2所示.
图1移动机器人动力学模型
Fig.1Kinetic model of wheeled mobile robots
图2本文控制结构图
Fig.2Control structure diagram of this work
2.2 基于卷积神经网络的机器人参数估计
对于轮式移动机器人,机器人的状态和参数直接影响轨迹跟踪控制效果. 轮胎的行为参数是一项必须要考虑的因素,许多研究都对轮胎进行了建模,以获取准确的轮胎模型 [17],如轮胎的侧偏刚度系数反映了轮胎侧偏角与侧偏力的关系,但是在机器人运行过程中实时测量较为困难,人们往往采取“魔术公式” [18] 来估计. 但是该方法对饱和段轮侧偏刚度的估计往往存在失真的现象,不能准确的反应系统模型. 因此,本文采取了一种基于CNN的轮胎侧偏刚度系数估计方法,以获得更好的机器人轨迹跟踪控制效果.
CNN是深度学习领域中被广泛应用的一个分支 [19],可以提取局部特征,具有抗噪声、不变性等特点,可有效地处理大规模数据并防止过拟合风险. CNN的基本结构包括输入层、卷积层、池化层、全连接层和输出层等,卷积层和池化层通常有多个. 网络的学习过程由前向传播和反向传播组成.
为了解决针对Cf,Cr的回归问题,本文设计了包含9个隐藏层的CNN,包括输入层、卷积层、批归一化层、ReLU激活层、最大池化层、最大卷积层、最大批归一化层、最大ReLU激活层、Dropout层、全连接层和回归层. 每个神经元的输出都是下一层神经元的输入. 在训练CNN时,神经元激活函数采用了ReLU激活函数,神经网络的输入选取为输出为估计的轮胎侧偏刚度系数其中vx,vy分别为机器人横、纵向速度. 各层参数如下:
第1层为输入层,尺寸大小为5 × 1,对应每一时刻在机器人传感器中实时读取到的数据.
第2层为一维卷积层conv1,定义了16个大小为 3 × 1的卷积核,卷积步长s为1 × 1,对输入数据进行 “same”填充,对输入图像进行局部感知,提取出输入数据的空间特征. 通过卷积操作,每个卷积核在不同位置对数据进行扫描,从而生成特征图. 对于卷积层的输出维度可以用以下公式表示:
(7)
(8)
其中: Hin,Hout分别为输入、输出特征图高度; Win,Wout为输入、输出特征图; Pad为填充大小; Kh,Kw 为卷积核的高度、宽度; ⌊·⌋为向下取整符号,计算可得conv1层的输出维度为5 × 16,通道数为16.
第3层为二维最大池化层maxpool,池化窗口大小为2 × 1,步长为1 × 1. 每层池化层在CNN中起到减小特征图空间尺寸、提取主要特征和减少过拟合的作用. 通过对输入特征图进行降采样和聚合操作,帮助网络集中关注最显著的信息,增强模型的鲁棒性,并且减少计算负荷和参数数量,以及降低过拟合的风险. 其输出维度为2 × 1,通道数为16.
第4层为激活层,应用ReLU激活函数,将卷积层输出中的负值置零,保留正值.
第5层为一维卷积层conv2,定义了32个大小为 3 × 1的卷积核,对输入数据进行“same”填充,卷积步长为1 × 1,输出矩阵大小为5 × 16,通道数为32.
第6层为ReLU激活层,再次应用激活函数.
第7层为Dropout层,以10%的概率随机丢弃神经元,防止过拟合.
第8层为全连接层,将学习到的特征转化为最终的输出结果.
第9层为回归输出层,对回归结果进行计算和输出,共有两个神经元分别对应待回归参数
3 基于原对偶神经网络预测控制的移动机器人轨迹跟踪方法
基于上述构建的 CNN 车轮侧偏刚度实时回归模型,可以对侧偏刚度进行实时估计,本节将设计MPC轨迹跟踪控制算法,并研究基于PDNN的问题求解方法,并证明闭环系统的稳定性.
3.1 移动机器人轨迹跟踪预测控制设计
根据文献 [20] 可知,轨迹跟踪误差模型可拆分为横向误差模型与纵向误差模型两部分,其中横向误差模型描述如下:
(9)
其中:
V 为机器人运行速度,κ代表道路曲率,状态量为ϑ1 =分别为横向误差、横向误差率、航向误差和航向误差率.
为考虑纵向速度补偿,本文选取u = [δf a] T作为控制量,分别为前轮偏角与加速度,以满足实际速度与期望速度之间的偏差. 因此,式(9)可改写为
(10)
其中:
针对纵向误差,选取状态量ϑ2 = [xe ve] T,分别表示纵向误差与纵向误差率,得到纵向误差模型
(11)
其中:
考虑道路曲率κ的影响,综合横向误差模型和纵向误差模型,得到移动机器人横纵向误差模型
(12)
其中:
系统的状态量为控制量为参数Cf,Cr由CNN回归模型实时估计,得到系统模型.
考虑到实际仿真过程中要对离散数据进行处理,对状态空间模型利用双边离散化方法进行离散化处理,离散化公式如下:
(13)
(14)
(15)
得到离散化后移动机器人横纵向误差模型如下:
(16)
为设计移动机器人的轨迹跟踪,构建如下代价函数J,MPC的轨迹跟踪优化问题为考虑约束条件的情况下最小化J:
(17)
其中:表示欧几里得范数, Q 和R 均表示正定矩阵,ϑ(k + j|k)表示预测的未来 k + j 时刻的状态,表示控制增量. 系统的约束描述如下:
(18)
其中:分别为状态量、控制量与控制增量变化的上下界.
根据状态空间方程可得以下递推关系 [12] :

(19)
为将式(19)写成紧凑形式,定义如下向量:
可将(19)写成
(20)
其中:
因此,关于移动机器人的MPC优化问题可转化为以下最小化问题:
(21)
其中:
可以将移动机器人的预测控制问题转换成求解如下二次规划问题:
(22)
其中:
至此,构建了关于移动机器人的 MPC优化问题(22),该问题是典型的二次规划问题. 接下来,本文将研究基于PDNN的优化问题(22)求解方法,以得到最优控制策略.
3.2 基于PNDD的二次规划求解
通过上文的分析,将MPC的一般优化问题转化为二次规划问题进行控制变量的求解,本节进一步提出基于PDNN求解标准二次规划问题(22). 定义µ为对偶决策变量,ρ为原对偶决策系数,可得PDNN的动态方程描述如下:
(23)
其中上下界向量中的在仿真中用极大值来近似,针对式(22)中描述的二次规划问题,定义参数矩阵M和参数向量p如下:
(24)
带约束条件的二次规划(quadratic programming,QP)问题可以转化为线性变分不等式的求解问题 [21],即寻找一个满足以下不等式的向量µ ∗ ∈ Θ,使得
(25)
进而,式(25)可以转化为以下分段线性等式进行求解:
(26)
其中PΘ(·)为在集合Θ上的投影函数,集合定义如下:
(27)
因此,为了求解二次规划问题(22),将其转化为线性不等式的求解问题,则可以根据对偶动力学系统设计方法,设计出PDNN神经动力学模型如下所示:
(28)
通过构建如图3所示的PDNN求解结构,可对(28)进行求解,得到所需要的控制器,实现移动机器人的 MPC轨迹跟踪控制.
图3PDNN求解二次规划问题结构图
Fig.3PDNN structure diagram for solving QP problem
3.3 闭环系统稳定性证明
为保证所提出方法的有效性,本节将讨论基于PDNN求解MPC控制的闭环系统稳定性.
定理 1 考虑移动机器人系统(12),假设初始状态为x(0),构建基于CNN参数估计的预测控制优化问题(28). 利用 PDNN对问题(28)进行求解得到控制序列那么,移动机器人系统(12)在控制下是闭环稳定的.
证将状态在ϑ,预测时域为Np,控制时域为NC 时的最优控制序列表示为
(29)
最优控制序列u∗ 在每一时刻由 PDNN求解问题(28)得到,PDNN 解u ∗的长度为µ的一半,值为其前个单元. 同样的,将最优控制下的移动机器人状态轨迹序列描述如下:
(30)
在k时刻,可定义如下李雅普诺夫函数,对稳定性进行证明:
(31)
那么,在k + 1时刻有
(32)
进一步地,得到
(33)
考虑增量系统模型,当系统进入稳态时,有
那么得到以下等式:
(34)
由于权重矩阵Q和R均为正定矩阵,则有式(34)中右边的两项可进一步得到即证明了所定义的李亚普诺夫函数是递减的,即在所提出控制下的闭环系统稳定.
证毕.
至此,对所提出的基于CNN参数回归的移动机器人原对偶神经网络预测控制方法进行了设计和证明,得到如下PDNN-MPC求解算法流程:
步骤 1 初始化: 在k = 0时,初始化结构参数 Q、R、采样时间T以及其他固定的模型参数.
步骤 2 生成参考路径,并利用CNN辨识系统参数以更新系统模型.
步骤 3 针对移动机器人轨迹跟踪问题建立待解QP问题,并提供矩阵M, P.
步骤 4 为获得系统的最优解,采用PDNN来实时求解带约束的QP问题.
步骤 5 更新机器人位置与速度等信息.
步骤 6 判断是否到达终点,若机器人继续前进,则令k = k + 1,重复步骤2–6.
接下来将对移动机器人的CNN侧偏刚度估计和基于PDNN-MPC轨迹跟踪效果进行验证.
4 仿真
本文基于MATLAB/SIMULINK和Carsim协同仿真平台进行了仿真. 在Carsim平台上搭建HatchbackB级实验平台获得实验数据,并进行参数回归模型构建. 在轨迹跟踪控制中,利用MATLAB/SIMULINK平台进行仿真,设计移动机器人在模型不确定的条件下的轨迹跟踪仿真.
4.1 参数估计结果
如第3节所述,本文利用深度学习方法对轮胎侧偏刚度系数进行学习. 为了获得轮胎参数数据,在Carsim平台上执行多种驾驶场景并收集数据进行训练,通过经典MPC控制器控制移动机器人在不同速度和参考轨迹下运动,再由Carsim导出神经网络模型训练所需要的输入输出数据.
经过数据采集与预处理,最终得到包含12572个数据点的数据集,其中80%用于训练,20%用于验证. 本文选择使用MATLAB的Deep Learning Toolbox进行训练,训练时采取sgdm求解器,batchsize大小选为32,共训练2000个Epoch,初始学习率α选为0.01,每训练 800次学习率下降十倍. 该模型能够在不过度拟合的情况下学习数据,损失和训练损失很快就降低到了 10−2数量级. 最终的验证损失值降到了0.0049,而训练损失降到了0.0034. 另外,图4给出了Cf,Cr的参数拟合效果,结果表明所提出的CNN回归模型可以较好地估计模型参数.
图4基于CNN的模型参数Cf,Cr拟合效果图
Fig.4Cf, Cr fitting effect based on CNN model
4.2 控制结果
为验证PDNN-MPC控制效果,选择控制时域和预测时域分别为NC = 2,Np = 10,权重矩阵分别为 Q = diag{0.5,0,1,0,0,0},R = diag{1,1},选择采样时间为 T = 100 ms,质量 m = 1732 kg,惯性系数 Iz = 4175 kg·m2 ,前悬长度lf = 1.14 m,后悬长度lr = 1.16 m,后轮间距 L= 2.4 m,PDNN 中决策系数 γ = 1.5,控制量的约束为控制增量的约束为仿真过程中目标跟踪速度为 vref = 10 m/s.
本文对移动机器人进行一种给定参考路径的轨迹跟踪控制,并将本文提出的方法与经典MPC、线性二次调节控制方法(linear quadratic regulator,LQR)以及文献 [22] 中基于BP神经网络的MPC方法进行了对比,选取的参考轨迹满足模型的运动学模型(1),移动机器人的初始位置为[0,0].
参考轨迹下移动机器人的运动轨迹如图5所示,结果表明本文所述方法具有最好的轨迹跟踪效果. 表1横纵向误差做了量化分析,给出了误差最大值与误差的均方根值,可以看到量化分析下本文所述方法均方根误差与最大误对移动机器人的差均为最小.
横纵向误差在内的各状态量与控制量分别如图6所示,系统的6个误差变量均收敛到0,同时本文方法的横纵跟踪误差均为最小,说明本文所提出的求解方法得到了更好的优化效果,且可以看到MPC控制下的系统在转向控制上更加平稳. 综合考虑横纵跟踪误差以及各状态的收敛情况,可以看到,本文提出的控制策略的跟踪效果优于经典MPC方法、LQR方法,以及基于BP神经网络的MPC方法.
图5移动机器人轨迹跟踪效果及和已有方法的对比
Fig.5Trajectory tracking performance for mobile robot and comparisons with existing methods
表1不同方法的误差均方根和误差最大值
Table1Root mean square error and maximum error for different methods
5 总结
本文针对轮式移动机器人设计了一种基于MPC的自适应控制策略,建立了轮式机器人的误差状态空间模型,包括轮胎侧偏刚度的不确定性. 同时,提出了一种基于机器学习的数据驱动方法,利用易测得的测量参数实现对车轮侧偏刚度的实时估计、预测. 此外,MPC中的优化问题可以被转化为QP问题,利用PDNN 进行该问题的高效求解,并进行了控制算法稳定性的证明. 最终,本文针对移动机器人的轨迹跟踪问题,利用MATLAB/SIMULINK仿真平台进行控制算法的测试,结果表明所采取的控制器性能良好,能在确保轨迹跟踪精度的同时使得控制变量满足约束. 未来的研究将针对移动机器人的不确定性开发基于数据驱动的MPC,并在更加复杂的场景下进行实验.
图6移动机器人各状态量与控制量以及和已有方法的对比
Fig.6State and control quantities of mobile robot and comparisons with existing methods