蒋一辰,陈刚
(南京理工大学机械工程学院,210094,南京)
汽车试验具有重复性强、工作环境恶劣、危险性大等特点,需要试验员掌握丰富的经验,极大增加了试验的培训和人工成本;此外在其他特种作业领域,包括抢险救灾、恶劣环境下的物资运输等,采用人类驾驶员驾驶汽车,有可能危及生命安全。驾驶机器人是指无需对车辆进行任何改装,就能安装在驾驶室内操纵车辆的特种作业机器人,其特点是经过车辆性能自学习后,可适用于多种车型,能够广泛应用于特种作业领域[1]。目前,国外主要是日本三重大学[2]、新西兰奥克兰大学[3]、英国ABD公司等涉足该领域并掌握一定的技术;国内主要是南京理工大学[1,4-7]、东南大学[8]、北京航空航天大学[9]等掌握该技术。
当驾驶机器人操纵试验车辆时,有必要对车速和转向控制进行研究。Wong等利用纯跟踪和矢量跟踪等方法,通过PID控制驾驶机器人进行了多工况下的路径跟踪仿真试验,但是PID的3个参数不能实现自调节[3]。陈刚等提出了一种具有自学习能力的驾驶机器人模糊神经网络车速控制方法,但是仅适用于小干扰条件下的非线性控制场合[4]。王纪伟等提出了一种基于模糊免疫PID的驾驶机器人车辆路径跟踪方法,但是存在不确定性干扰时,跟踪精度和稳定性较差,且试验工况单一[6]。Chen等提出了一种适用于驾驶机器人的自适应转向控制方法,但是未涉及车速变化时的转向操纵研究[7]。Norouzi等将滑模控制和反演控制相结合以控制驾驶机器人车辆转向,但参数寻优采取的是离线方法[10]。
在转向操纵控制方法上,吴俊等提出了一种基于期望角速度的路径规划方法和基于横向误差的转向切换控制方法,但是仅适用于道路曲率较小的工况[5]。马芳武等提出了一种预瞄时间自调整的单点预瞄方法,但缺少对于车速适应性的论证[11]。Norouzi等利用3次和5次函数分别来进行转向路径规划,但是相比于形式简洁的预瞄理论,横向误差减小并不显著,且仅涉及了单移线工况[12]。刁勤晴等提出了一种基于动态双点预瞄的纵横向控制方法,该方法能够根据车速和路径曲率调节预瞄距离,但预瞄模型过于复杂[13]。
在驾驶机器人转向操纵的研究过程中,需要兼顾转向精度以及对于车速和道路曲率变化的适应能力。最小化横向误差的转向控制策略大多存在诸如入弯角偏小、过度转向、方向盘来回转动频繁等问题;以单点预瞄为代表的预瞄方法大多对车速和弯曲道路的自适应能力较弱。滑模控制由于具有优良的稳定性、鲁棒性和快速响应特性[14],十分适用于驾驶机器人操纵的车辆这一非线性系统。但是,基于经验或离线寻优的滑模控制器设计会在趋近速度或者抑制抖振其中一方面做出让步,在处理上界不定的干扰时表现较差,且在长时间运行后,无法对工作点的变化做出自适应调整。通过将自适应曲线预瞄方法、粒子群优化算法(PSO)和滑模控制器结合起来,提高了对于车速和道路曲率的适应能力,且能够实时整定参数。根据以上分析,首先构建了具有耦合特性的驾驶机器人转向操纵试验车辆的系统动力学模型,接着研究了一种融合路径曲率和车速的驾驶机器人转向操纵自适应曲线预瞄方法,其预瞄点位置能够根据车速和路径曲率做出自适应调整;然后结合转向机械手动力学模型设计了滑模控制器,并进行了稳定性分析,利用粒子群算法在线优化滑模控制切换项的反馈增益系数,以减小控制抖振;最后,通过试验和仿真验证了提出方法的有效性。
驾驶机器人的总体结构如图1所示,机械腿和机械手组合完成加速、制动、转向、换挡等一系列动作,实现精确转向和车速跟踪的功能。
图1 驾驶机器人总体结构
转向机械手结构如图2所示,转向力矩电机采用的是无刷直流旋转电机,作为整个机械手的动力来源,其动力经过减速器和万向节后,驱动由卡盘夹持的方向盘。机械手通过调节装置能够实现姿态调节和长度调节,以适应不同的驾驶室布置。
(a)转向机械手安装
(b)转向机械手内部组成
遵循Ackermann转向的车辆可以简化为单轨模型,前轮等效转角为δ,同时忽略悬架作用和转向时的车轮载荷转移,限定横向加速度在0.4g以下,得到如图3所示的二自由度模型,以质心为原点,建立车辆坐标系xCy,并得到如下方程式
(1)
式中:k1和k2分别为前后轮的侧偏角刚度;β为质心侧偏角;a为汽车前轴到质心的距离;b为汽车后轴到质心的距离;ωr为横摆角速度;δ为前轮转角;u为纵向车速;v为横向车速;Iz为汽车绕z轴的转动惯量。
上述方程可以写作状态空间
(2)
图3 试验车辆动力学模型
转向机械手结构简图如图4所示,在这里忽略十字轴万向节传动的不等速性,近似认为输出端和输入端转速相等。
图4 转向机械手结构简图
机械手整体可视作单自由度系统,设电机旋转角为θ,电枢电流产生的电磁转矩为Tm,负载转矩为Th,黏性阻尼造成的摩擦阻力矩为Tf。根据动量矩定理,可得
(3)
式中:J是负载等效到电机输出轴的转动惯量。
进一步完善上式所示的转矩平衡方程可得
(4)
式中:KT为电机转矩系数;ia为电枢电流;D为电机输出轴端黏性摩擦系数。
电枢回路的电压平衡方程为
(5)
式中:ua为电枢电压;L为电枢绕组电感;Ra为电枢绕组电阻;Kb为反电动势系数。
由于折算前后系统动能不变,等效转动惯量J可以由下式给出
(6)
式中:ωi为机构中第i个构件的角速度;vsi为其质心速度,此处为0。
将各构件间的传动比代入上式,可以求得等效转动惯量为
(7)
式中:in1(n=2,3,4)为各构件转速与电机输出端转速的比值;J1为太阳轮转动惯量;J2为行星轮转动惯量;J3为万向节转动惯量;J4为卡盘转动惯量。
根据式(4)、式(5)和式(7),可得到转向机械手动力学模型,写作状态空间为
(8)
在转向操纵过程中,转向机械手电机存在大量的换向运动,齿隙的存在会对这种可逆转装置造成回差,使得输入和输出的转角不再服从线性关系。对于方向盘到汽车转向轮之间的传动,由于从动部分的阻尼和转动惯量远大于主动部分,因此该传动过程可以做线性化处理,而对于从转向机械手电机到方向盘之间的传动过程,假设驱动部分处在齿隙期间时,从动部分输出恒定,因此可以使用齿隙的迟滞非线性模型[15]
θC(t)=f(θZ(t))=
(9)
式中:θC为从动部分转角;θZ为主动部分转角;t-表示过程发生的前一时刻;θb为消除单侧齿隙所需的转角;i为主动到从动部分的传动比。
将各级传动比in1和各级传动中的单侧齿隙转角θb代入,经过多层嵌套,可以求得迟滞模型下从转向机械手电机转角θ到方向盘转角α之间的非线性关系α=F(θ),α、θ和δ之间的速比关系为
α=F(θ)=iswδ
(10)
式中:isw为转向系传动比。
最后,根据试验车辆动力学模型和转向机械手动力学模型,由式(2)、式(8)和式(10)可推导出具有耦合特性的驾驶机器人转向操纵试验车辆集成系统动力学模型
(11)
驾驶机器人转向操纵控制系统框图如图5所示,主要包括自适应曲线预瞄模块、转向机械手PSO滑模控制器、驾驶机器人转向操纵试验车辆集成系统动力学模型。转向机械手PSO滑模控制器的输入为机械手的目标转角、实际转角和转速以及实际的电枢电流,通过嵌入粒子群优化,将切换项中的系数q1和q2输入转向机械手驱动电机滑模控制模块,最终输出电枢电压ua。驾驶机器人转向操纵过程中,首先利用自适应曲线预瞄方法,结合目标路径(XR,YR)和车辆位置(XC,YC,φ),计算出预瞄点P在大地坐标系中的位置(XP,YP)以及P相对于车辆的横向偏移量ε*,再根据ε*得到前轮目标转角δ*,将对应信息输入机械手控制器得到电枢电压控制率ua,该控制率包括等效控制率uaeq和变结构控制率uavs,其中uaeq由转向机械手逆模型得到,uavs中的反馈增益系数q1和q2通过粒子群优化得到。转向机械手输出的实际转角α和转矩T1经传动和延迟环节,输出前轮转角δ和转向力矩T2以驱动车辆转向。最后通过车速V、横摆角速度ωr和质心侧偏角β计算下一时刻的车辆位置并反馈给自适应曲线预瞄模块。
车—试验车辆;机—转向机械手。图5 驾驶机器人转向操纵控制系统框图
图6 车辆坐标系下稳态行驶图
预瞄距离d由下式给出
d=dp+ξtpu
(12)
式中:dp为基础预瞄距离;ξ为时间系数;tp为预瞄时间。
(13)
解方程组(13)可得
(14)
(15)
利用几何关系,可以表征出预瞄点横向偏移量为
(16)
ε*≈Rcosβ-Rcosβ+dsinβ=dsinβ
(17)
根据式(13),可以推得
(18)
联立式(15)(17)和(18),得到δ*和ε*之间的关系为
(19)
(20)
式(17)中的ε*是在车辆坐标系下推导的,下面需要在大地坐标系下表征出ε*。
如图7所示,在大地坐标系下,汽车质心坐标为(XC,YC),参考点坐标为(XT,YT),预瞄点坐标为(XP,YP)。P为目标路径上到汽车质心路程恰好等于预瞄距离d的一点,利用坐标系旋转矩阵,可以得到P在车辆坐标系xCy中的坐标为
(21)
根据上式,P在车辆系中的纵坐标为
yP=(XC-XP)sinφ+(YP-YC)cosφ
(22)
ε*即为yP的相反数,可以表示为
ε*=-yP=(XP-XC)sinφ+(YC-YP)cosφ
(23)
车辆位置由XC、YC和φ确定,这3个参数和质心侧偏角β、横摆角速度ωr以及车速V之间的关系可以通过如下方程式确定
(24)
图7 大地坐标系下的曲线预瞄示意图
将目标路径离散化,考虑到个别路段存在路径曲率无定义的情况,这里采用微元法,用直线来代替每一小段曲线的弧长,求和得到最终的曲线长度。具体地,首先定义目标路径上各点的信息为(XR,i,YR,i,SR,i),其中XR,i和YR,i表示目标路径上各点在大地坐标系下的横纵坐标,SR,i表示该点到起始点(XR,i,YR,i)的曲线长度。当汽车离开起始点后,假设它始终沿着规划路径行驶,行驶路程为S。点集上必将存在且唯一存在相邻的两点(XR,i,YR,i,SR,i)和(XR,i-1,YR,i-1,SR,i-1),使得SR,i-1≤S+d≤SR,i,利用线性差值,确定预瞄点P(XP,YP,SP)的信息为
(25)
将表征车辆位置信息的XC、YC和φ以及P的坐标代入式(23),即可求得ε*。根据式(20),最终得到前轮目标转角为
(26)
转向机械手的旋转角度来源于自适应曲线预瞄模块,转向控制的目标就是通过调节输入转向机械手电机的电压来实现对目标转角的跟踪,首先定义转向机械手卡盘的转角误差为
e=α-αd=F(x1)-F(xd)
(27)
式中:α为机械手实际转角;αd为机械手目标转角,且αd具有二阶导数;xd为电机目标转角。
系统为三阶,此时的滑模面实际上为一流形,但在文中仍称其为滑模面,并定义为
(28)
式中:ci(i=1,2,3)为滑模面系数。
(29)
将式(8)代入式(29),得到
(30)
根据指数趋近律的设计思想,设计
(31)
式中:q1和q2为切换项的反馈增益系数;κ为边界层厚度系数。
区别于传统指数趋近律中使用符号函数sgn,在这里选用软饱和的双曲正切函数tanh,其连续光滑的性质可以有效降低滑模控制的抖振。将式(31)代入式(30),得到ua的控制率为
(32)
将上述控制率分为两部分,等效控制率为
(33)
变结构控制率为
(34)
在驾驶机器人的转向操纵过程中,如果系统不稳定,直接表现就是在受到干扰后方向盘频繁地大幅度来回转动,这会极大削弱车辆的横向稳定性,因此有必要进行转向控制的稳定性分析,使系统具有良好的动态品质。其次,滑模控制还需要满足存在性和可达性的要求,存在性条件规定了系统的运动必须趋向于滑模面,可达条件规定了滑模面在整个状态空间都有较强的“吸引力”,因此需满足
(35)
(36)
将式(8)和式(32)代入整理得
(37)
式中C为常数,由转向机械手的动力学模型决定。
利用粒子群算法优化式(34)中的q1和q2,可以取得较理想的抑抖效果和趋近速度。滑模控制是令系统从初始状态迅速趋向滑模面,然后在滑模面上做滑模运动,因此在这里选择性能指标,即适应度函数为
minFfit=σ|s|
(38)
式中:σ为常数,且大于0。
根据上文得到的q1>|C|M,设定粒子群第一维度的搜索空间为(0,|C|M+χ),其中χ的值较小,这样的设定方式在应对大干扰或者偏离平衡位置较远时,可以在搜索空间的上界附近取值,避免系统失稳;在平衡点附近时,可以在搜索空间的下界附近取值,削弱高频抖振。在第二维度的搜索空间的设定上,首先给出一个相对宽泛的空间,然后在此基础上改变干扰的上界,观察每次迭代过程中第二维度群体最优的分布情况,以此来进一步缩小第二维度的搜索空间。
粒子的速度更新公式和位置更新公式分别为
Vk+1=ωVk+C1r(Pbest-Vk)+C2r(Gbest-Vk)
(39)
Pk+1=Pk+Vk+1
(40)
式中:k为迭代次数;V为粒子的速度矢量;P为粒子的位置矢量;ω为惯性因子;C1和C2为加速因子;r为(0,1)之间的随机数;Pbest为个体最优解空间;Gbest为群体最优解空间。
通过一定次数的迭代后,粒子群优化算法给出当前时刻的最优切换项系数q1和q2,整个流程如下:
步骤1:设置粒子群规模,对粒子速度和位置进行随机初始化;
步骤2:计算滑模变量s和等效控制率uaeq;
步骤3:更新粒子的状态,经过一定次数的迭代后,得到当前时刻最优的变结构控制率uavs;
步骤4:将等效控制率uaeq和变结构控制率uavs求和,作为下一时刻的输入;
步骤5:如果系统继续运动,返回步骤2进行循环;否则,整个过程停止。
(a)跟踪效果对比
(b)控制量对比图8 控制方法效果对比
为了验证提出方法在转向操纵控制上的有效性,制作了驾驶机器人转向机械手样机,并将其安装在试验车辆上,如图9所示,实车主要性能参数如表1所示。根据乘用车双移线试验标准[16],在交通部公路交通试验场由专业驾驶员进行了双移线试验,并由2名试验员随车采集数据。试验中,车辆位置和方位角由CDY-3车辆动态测试仪测量,车速由OES-Ⅱ非接触速度传感器测量。
表1 实车主要性能参数
首先,为了验证提出方法对车速的自适应能力,在纵向速度分别为50、55和60 km/h的3种工况下,进行了双移线工况测试,仿真结果如图10所示。
图9 驾驶机器人安装图
(a)跟踪效果对比
(b)方向盘转角变化对比图10 不同速度下驾驶机器人转向操纵效果
由图10a可以看出,随着车速的变化,3条实际行驶轨迹基本一致,且与目标路径在大范围内重合,验证了提出方法在车速变化时具有较好的自适应能力。理论上在拐点处,方向盘会产生较大的转角,从图10b所示的仿真结果来看,3种速度下的方向盘转角分别有4个幅值较大的波峰或波谷,正好对应4个拐点,转角变化趋势符合转弯规律。此外,为保证跟踪精度,车速增加时,控制器会适当减小转角,以免在高速情况下产生较大的超调量。
为进一步对比提出方法和其他方法的转向控制精度,采用不同的预瞄和控制方法,进行了双移线路况试验。干扰和误差主要来自于路面不平度、转向系统传动误差、模型简化误差等,在这里合成一个等效干扰ΔEeq并作用在方向盘上,等效干扰服从正态分布,即ΔEeq~N(0,π/6),车速控制在50 km/h,最终得到的试验结果如图11所示。
(a)跟踪效果对比
(b)横向误差对比
(c)方位角偏差对比图11 双移线工况试验结果对比
从图11a和11b可以看出,由人类驾驶员操纵车辆的横向误差[11,13]明显大于其他方法,其余3种方法的最大横向误差在0.2 m左右,且均出现在拐点处。相比于另外两种控制方法,本文提出方法(以下简称方法1)具有更好的误差控制效果,如图11b所示,在应对相同干扰源时,方法1的最大横向误差比曲线预瞄+模糊PID(以下简称方法2)小10%左右,整体横向误差明显小于单点预瞄+PSO滑模(以下简称方法3),鲁棒性较强且误差收敛速度最快。图11c中的方位角偏差[17]定义为大地坐标系中试验车辆的方位角φ与目标路径中心线和x轴夹角之间的差值。整个行驶过程中,上述几种方法的方位角偏差均在±0.15 rad以内,试验车辆的姿态控制还是较为理想的。方法1的方位角偏差明显小于方法3,略小于方法2,但大于由人类操纵车辆的方位角偏差,说明了自适应曲线预瞄能够显著改善转向过程中试验车辆的姿态,使其更加符合道路的变化,但是和人类驾驶员仍有一定差距。
为了验证提出方法对于路径曲率的适应性,设计了蛇形绕桩试验工况[18],标桩间距30 m,控制车速在65 km/h。如图12所示,方法1的行驶轨迹基本同目标路径重合,仅在明显拐点处存在较大的横向误差和方位角偏差,最大横向误差约为0.8 m,最大方位角偏差约为0.25 rad,方法2的跟踪效果稍稍劣于方法1,而方法3的横向误差和方位角偏差普遍偏大,最大横向误差比方法1高出约15%,最大方位角偏差比方法1高出约30%。图12c给出了方法1中预瞄点P在车辆坐标系中的坐标变化,在平直路段,纵向预瞄距离(P点横坐标xP)变大,横向预瞄距离(P点纵坐标的绝对值|yP|)变小;在弯曲路段,上述变化趋势相反。在单点预瞄中,纵向预瞄距离固定,仅有横向预瞄距离根据路径的弯曲程度变化,这也是提出方法在大曲率条件下优于单点预瞄的原因所在。通过以上的对比,验证了方法1对于道路曲率变化具有良好的适应性。
(a)跟踪效果对比
(b)横向误差对比
(c)方位角偏差对比
(d)预瞄点相对坐标图12 蛇形工况试验结果对比
表2给出了上述试验工况下车辆行驶轨迹的平均绝对误差(MAE)和均方根误差(RMSE)。可以看出,在较简单的双移线工况下,方法1~3中横向误差对应的MAE值和RMSE值相差不大,也就是说转向操纵精度相差不大,而复杂的蛇形工况下,方法1和2横向误差对应的RMSE值约为方法3的1/4~1/5,也就是说方法3中的单点预瞄对路径曲率的适应性较差,同时说明提出的自适应曲线预瞄方法的应用在有着显著的积极作用。另外,在方位角偏差对应的MAE值和RMSE值对比中,可以看出方法1略优于方法2,方法1和2明显优于方法3,说明自适应曲线预瞄可以显著改善转向时试验车辆的姿态,同时粒子群优化的滑模控制对于转向过程的优化也有一定的积极作用。
表2 行驶轨迹误差的统计分析
为提高不同工况下驾驶机器人操纵试验车辆的转向控制精度和适应性,提出了一种基于自适应曲线预瞄的驾驶机器人转向操纵PSO滑模控制方法,其预瞄点位置能根据路径曲率和车速做出自适应调节。通过分析驾驶机器人和试验车辆的动力学模型和特性,将二者耦合成驾驶机器人转向操纵试验车辆集成系统动力学模型。针对转向控制中的参数不确定性、建模误差和外部干扰,设计了转向机械手的滑模控制器,为了兼顾滑模控制器的趋近速度和抑抖能力,对指数趋近律做出了改进,并用粒子群算法优化变结构控制率的反馈增益系数。试验和仿真结果表明,提出方法具有较高的控制精度和自适应能力,方向盘转角变化符合转弯规律,横向误差比其他方法小10%~15%,方位角偏差比其他方法小10%~30%,验证了提出方法的有效性。
后续研究将考虑轮胎和路面对方向盘和转向机械手的反馈作用,另外还将根据跟踪路径的曲率,建立预瞄时间和车速的自调整模型。在性能指标方面,不仅仅局限于最小化滑模变量,还将融入驾驶员主观感受的评价指标,包括跟踪路径的最大通过速度、方向盘忙碌程度、车辆横向加速度等。