在复杂、非结构化的工作空间中,移动机器人能够灵活、自主地运行,使其在各类生产制造场景中得到广泛关注[1-2].运行过程中的自动充电、自主导航、滚筒对接、多机协同作业等运行需求对移动机器人的轨迹跟踪提出了更高的精度和效率要求.常用的移动机器人轨迹跟踪控制方法主要有比例积分微分(proportional-integral-derivative,PID)控制[3]、滑模控制[4]和滚动时域控制[5-9]等.其中,滚动时域控制(receding horizon control,RHC)即模型预测控制,具有跟踪效果好、易于实现等优点.其根据移动机器人系统模型和当前状态反馈,对未来状态进行预测,并结合考虑约束条件的优化求解实现对控制量的计算.Azizi等[5]结合速度障碍法和滚动时域控制,实现了狭窄空间的无碰撞轨迹跟踪控制.虽然滚动时域控制可实现约束条件下的轨迹跟踪,但计算量大,特别是当考虑移动机器人绕障过程时显得更加明显.移动机器人在绕障过程中须要对路径进行实时规划,局部路径规划会显著增加计算负担,降低滚动时域控制下的实时性,其影响因素主要包括控制时域、预测时域和控制步长.目前针对控制时域和预测时域的调整已有解决方案,如Wang等[6]对时域的在线优化方法进行了研究,构建了快速模型预测控制(Fast MPC)工具箱;朱娜娜[7]利用Blocking算法优化了滚动时域控制方法,减少了控制计算量.上述方法从算法层面提高了控制器的运算速度,但考虑到移动机器人绕障需求,还须要进一步对控制时域、预测时域进行自调节.此外,目前对控制步长的研究较少,常规方法通常将步长设定为经验固定值.虽然也有文献对控制步长进行了优化[8-9],但现存方法未考虑绕障状态的高实时性和高精度要求,难以应用于动态环境下的移动机器人轨迹跟踪控制.为此,本研究提出考虑绕障时耗的四轮全向移动机器人轨迹跟踪控制方法.首先,将参考位置曲率引入移动机器人的跟踪误差模型中,对滚动时域控制器进行设计,以应对重规划生成的复杂多变的动态路径;进而提出基于绕障时耗的控制步长自适应调节策略,构建控制步长、控制时域和预测时域的动态调节规律,保证高效高精度跟踪控制;最后进行测试,验证了算法的有效性和优越性.1 模型建立与问题描述1.1 移动机器人的运动学模型运动学模型简单有效且实用,在移动机器人的轨迹跟踪中得到了广泛的应用.常用的模型有平移、阿克曼和变阿克曼模型等[10].平移模型下移动机器人的四轮都保持相同的速度和转角;阿克曼模式下移动机器人的四轮指向回转中心,回转中心位于后轮的延长线上;变阿克曼模式是阿克曼模式的演变,其回转中心可在任意位置,具有普适性.如图1所示,设定移动机器人的状态向量x=[xc,yc,θc]T,(xc,yc)为移动机器人的坐标,θc为质心处的速度方向,以逆时针方向为正方向.移动机器人的运动学模型[2]可表示为x˙cy˙cθ˙c=vccosθcvcsinθc(1-μ)vctanδf/(lf+l),(1)式中:vc为移动机器人在质心处的速度;lf和lr分别为虚拟前后轮到移动机器人质心的距离;μ=δr/δf,由虚拟前轮转角δf和后轮转角δr确定,当μ=0时移动机器人处于阿克曼模式,当μ=1时移动机器人处于平移模式.10.13245/j.hust.230601.F001图1移动机器人变阿克曼模型1.2 轨迹跟踪控制问题描述为到达指定的目标位置,移动机器人须要规划出一条无碰撞的运动轨迹,同时针对临时出现的障碍物,还须要结合局部路径重规划进行实时的轨迹计算.轨迹跟踪控制的主要任务是计算速度、车轮转角等控制参数,将其输出给底层轮毂电机.在控制参数的作用下,利用独立转向轮的执行电机和转向电机,使移动机器人按照期望的轨迹运行.在理想情况下,局部路径规划器和轨迹跟踪控制器的计算被视为瞬时,期望路径点能够立即转化为电机的输入,因此移动机器人将进行等周期的沿局部路径的期望运动.然而在实际控制系统中,局部路径规划器的规划时耗和轨迹跟踪控制器的计算是须要考虑的,结合实际系统做出如下合理假设.假设1 规划器的工作模式为时钟驱动,运算频率为fL,在计算完成后立即发送给控制器.假设2 控制器的工作模式为时钟驱动,若接收到规划器消息时正在计算,控制器将保存路径信息,在下个运算周期对新路径进行轨迹跟踪.假设3 不考虑网络通信、底层传感器响应等带来的延时,上述传输过程均认为是瞬时.根据以上假设,得到实际控制时序如图2(a)所示,其中tL为规划器计算用时,图中用不同颜色代表不同的局部路径,混色部分表示规划器或控制器由于等待和计算造成的延时.可以看出在绕障模式下,轨迹跟踪控制器周期越长,控制器跟踪的局部路径就会有越大的延迟,从而导致固定控制周期的控制器实时性不高.本研究采用变控制周期的轨迹跟踪控制,如图2(b)所示,当移动机器人处于绕障模式时,通过动态调整控制周期,减少控制器的计算负担.10.13245/j.hust.230601.F002图2控制时序2 轨迹跟踪控制器的设计针对移动机器人正常运行和绕障控制精度与实时性要求不同的问题,本研究设计了滚动时域控制器,使其能够动态调整控制时域和预测时域,进而提出自适应步长调节策略,保证移动机器人绕障模式中的控制实时性,所提出的控制框架如图3所示.10.13245/j.hust.230601.F003图3移动机器人轨迹跟踪控制框架2.1 移动机器人状态空间方程移动机器人的参考轨迹可以看作是由一个虚拟的移动机器人产生,其上每一个点都满足式(1),用r表示参考量,为了方便计算,取δr=0.将移动机器人运动学模型在参考位置处进行泰勒展开,并忽略高阶项,移动机器人的跟踪误差可以表示为x˜˙=00-vrsinθr00vrcosθr000x-xry-yrθ-θr+cosθr0sinθr0tanδfrlf+lrvrlf+lrcos2δfrv-vrδf-δfr.  (2)局部路径规划器所规划的参考路径往往弯曲程度较大,为得到更好的弯道跟踪效果,定义移动机器人横摆角偏差为eθ=θc-θpath,如图4所示.由文献[11]可知e˙θ=θ˙c-vrcosθrκr,式中κr为移动机器人在参考位置的曲率.10.13245/j.hust.230601.F004图4移动机器人跟踪误差为了让模型能够应用于滚动时域控制器的设计,采用欧拉方法进行离散化处理,可得x˜(k+1)=Ax˜(k)+B1u˜(k)+B2κr(k),式中:k为采样时间;A=10-vrsinφrT01vrcosφrT001;B1=cosθrT0cosθrT0tanδfrlf+lrTvrT(lf+lr)cos2δfr;B2=00vrcosθr;T为采样周期.用y˜(k)表示输出误差,则输出误差方程为y˜(k)=Inx˜(k).定义Np为预测时域长度,Nc为控制时域长度,且有Np≥Nc.在当前时刻k,将控制输入序列定义为U(k),将参考控制输入序列定义为Ur(k),将参考曲率定义为Κr(k),将预测输出误差序列定义为X˜(k),定义预测输出误差序列Y˜(k),系统的预测输出误差表达式为:Y˜(k)=Mx˜(kk)+C1U(k)-C1Ur(k)+C2Κr(k); (3)M=[A, A2, …, ANp]T;Ci=Bi0…0ABiBi⋱⋮⋮⋱0ANc-1BiANc-2Bi…BiANcBiANc-1Bi…ABi⋮⋱⋮ANp-1BiANp-2Bi…ANp-Nc-1Bi.2.2 目标函数与约束设计轨迹跟踪控制器目标函数的设计主要须要考虑到系统对参考轨迹的跟踪能力,即预测输出误差的大小,因此主要的代价函数J1(k)=∑i=1Npy˜T(k+ik)Qy˜(k+ik),式中Q为跟踪权重矩阵,Q0.移动机器人在移动的过程中须要保持运动的平稳,目标函数的设计应考虑控制参数的波动,即控制量增量的大小,因此设计代价函数J2(k)=∑j=0Nc-1ΔUT(k+jk)SΔU(k+jk),式中S为控制量增量权重系数矩阵,S≥0.控制量的突变会引发机械结构的震荡,而上述代价函数无法确保控制量增量被限制在一定的范围内,因此系统的控制量须要满足约束ΔUmin≤ΔU≤ΔUmax.对于移动机器人而言,由于移动机器人机械结构的限制,其速度存在最值Umin≤U(k)≤Umax.将控制量以变化量表示,得到U(k)=Λ⋅ΔU(k)+U¯(k-1);(4)U¯(k)=u(k)u(k)⋯u(k)︸NcT;Λ=10⋯011⋱⋮⋮⋱011⋯1︸Nc×Nc⊗Im,式中:⊗为克罗内克积;Im为维度为控制变量数量m的单位矩阵.综上所述,滚动时域控制优化问题为:min  Jmpc=∑i=1Npy˜T(k+ik)Qy˜(k+ik)+∑j=1NcΔUT(k+jk)SΔU(k+jk);s.t.   ΔUmin≤ΔU≤ΔUmax,        Umin≤Λ⋅ΔU(k)+U¯(k-1)≤Umax. (5)2.3 优化问题的求解以上优化问题适用于连续的控制步长,为了将控制点位置引入优化问题中,使用算法1将ΘL转化为压缩矩阵Θ,方便优化问题的求解.压缩矩阵是单位矩阵I经过移动后得到的矩阵,压缩矩阵的行数为控制时域的大小,压缩矩阵的列数和秩为控制变量自由度的数量,为Nc×Nc.算法1 压缩矩阵的构造输入 控制点位置序列ΘL输出 压缩矩阵Θa.初始化Nu←size ΘL,Nc←Nu+∑ΘL,j←1,Θ为Nu×Nc的全零矩阵;b.初始化i←1,i从初始值遍历到Nu,循环1开始;c.循环2开始;d.Θi, j←1,ΘLi←ΘLi-1,j←j+1;e.循环2结束,当ΘLi0时退出循环2;f.循环1结束;g.Θ=Θ⊗In.设定ΔU'为优化问题的变量,有ΔU(k)=ΘT(k)∙ΔU'(k).(6)为了得到优化问题(5)的解,本研究将该问题转化为二次规划问题,根据式(3)、式(4)和式(6),将优化问题转化为二次规划形式,并去除常数项C¯(k)Ur(k),得到:min  Jmpc=ΔU'T(k)Q¯ΔU'(k)/2+C¯ΔU'(k),s.t. ΔUmin≤ΘT(k)ΔU'≤ΔUmax,Umin≤ΛΘT(k)ΔU'(k)+U¯(k-1)≤Umax, (7)Q¯=2Θ(ΛTCTQCΛ+S)ΘT,C¯(k)=[Mx˜(kk)+C1U¯(k-1)+C2Κr(k-1)T]2QCΛΘT.根据以上推导过程,轨迹跟踪控制问题可以转化为在每个采样周期求解一个二次规划问题.二次规划的求解方法很多,本研究使用内点法对二次规划问题进行求解.根据滚动时域控制理论,求解二次规划问题(7)得到ΔU',经式(6)转换得到控制时序内一系列控制量的变化量,将控制量序列中的第一个应用于移动机器人的控制中,即u(k)=u(k-1)+Δu(k),式中u(k)为实际执行的控制量,即移动机器人质心处的速度vc和前轮摆角δf.2.4 自适应步长调节策略滚动时域控制中,控制器根据一段时间内的控制参数预测未来机器人的运动,通过优化轨迹得到较好的控制量.控制时域和预测时域分别表示控制参数的作用范围和运动轨迹的预测时长.过大的控制时域和预测时域会增加系统的运算负载,反之则会影响整体的轨迹跟踪精度.无障碍物时,移动机器人速度快,需要较大的控制时域和预测时域以提升整体跟踪精度;有障碍物时,移动机器人要求有较高的实时性的同时会关注附近的轨迹跟踪精度,较小的控制时域和预测时域更加符合运行需求,环境越复杂,其要求越高.固定的动态时域和预测时域数值无法适应两种不同模式的需求,因此须要根据环境的复杂程度对其进行自适应调节.局部路径规划的计算复杂度主要取决于环境的复杂程度,下面基于局部路径规划时耗tL,设计动态调节控制器计算频率f、控制时域长度Nc和预测时域长度Np的调节策略,以调节滚动时域控制的求解精度和求解时间,使移动机器人满足车间场景绕障模式与正常模式共存的轨迹跟踪要求.在正常运行模式下,滚动时域控制器只须要维持正常的计算频率fC,同时设置较大的Nc和Np以保持更高的跟踪精度.当移动机器人处于绕障模式时,为了轨迹跟踪控制的实时性,滚动时域控制器的计算频率将根据局部路径规划模块花费的时间tL,在最大计算频率fmax和fC之间变化.其中,当移动机器人刚进入绕障模式时,规划器尚未输出局部路径,即tL=0,此时也应增大计算频率以提高控制实时性.为此,本研究设计计算频率为f=fC    (正常模式),min{max{fcal,  fC},  fmax}(避障模式);fcal=ζfC(tL=0),λξ/tL(tL≠0),式中:ξ为一个规划周期包含的控制周期数;λ和ζ为系数,并且满足0ζ≤1.绕障模式下控制器计算频率的增加,使得原先控制器的运算时间无法满足新计算频率的要求,因此须要动态调节移动机器人预测时域的长度和控制时域的长度.为了简化计算,本研究采用Np=γNc,式中γ为系数.根据以上分析,滚动时域控制器的时间复杂度可以简化为O(Ncz).由于滚动时域控制远离当前时刻的控制量对轨迹的影响效果小,因此可以对远期的控制量进行模糊处理,具体的方法是采用Blocking技术[11],对控制点的分布进行选择,使未来的控制输入点在后期保持不变,将均匀分布的控制点序列变为非均匀分布序列,如图5所示.该方法能够在保持滚动时域控制二次规划问题求解变量数不变的同时,增加控制时域的长度,使得滚动时域控制器在运算耗时变化不大的情况下,保证更好的跟踪精度.控制点位置序列ΘL计算见算法2.算法2 控制点位置序列ΘL计算输入 控制输出序列所需自由度Nu,控制时域的长度Nc输出 控制点位置序列ΘLa.初始化ΘL为1×Nu的全0矩阵max QL←Nc-Nu,sum QL←Nc-Nu;b.若Nc-Nu≤Nu,则进行步骤c,否则进行步骤k;c.初始化index QL←Nu;d.遍历ΘL的候选值value QL从max QL到1,循环1开始;e.初始化length←max QL/value QL;f.向ΘL中插入length个值为value QL的元素;g.循环1结束;h.求取ΘL的前缀和, ΘL←prexSumΘL;i.若sum QL0,则进行下一步,否则返回ΘL;j.ΘLindex QL-sum QL: index QL←1,返回ΘL;k.初始化ΘL1←ΘL1+1, ΘLNu←ΘLNu+2Nu-Nc-1;l.对ΘL中的其他值进行线性插值,ΘLNu←ΘLNu+sum QL-sum ΘL,返回ΘL.10.13245/j.hust.230601.F005图5控制输入的选取此时,滚动时域控制器的控制输入序列长度将不再与二次规划求解数量相同,设定二次规划问题求解变量数,即控制输入点的数量为Nu,移动机器人在常规模式下控制时域的长度为Nc,在绕障模式下控制时域的长度为Nc'.根据滚动时域控制器的时间复杂度,实际控制输入点的数量Nu为Nu=χ11/f-1/fmax1/fc-1/fmax+χ21/zNc+χ3.上述计算确定了输入控制点的数量,还须要设计输入控制点的位置,以确定控制器控制时域的长度Nc'.在本研究中,控制点的位置由控制点的位置序列ΘL表示,如图6所示.ΘL是长度为Nu的向量,ΘLi表示第i个控制点须要重复的步数.本研究输入控制点位置ΘL的计算由算法2给出.其中控制时域的长度Nc'可以表示为Nc'=Nu+∑ΘL.10.13245/j.hust.230601.F006图6输入控制点序列3 测试结果分析为验证本研究所提采样时间自适应调节的滚动时域控制器在移动机器人轨迹跟踪过程中的控制效果,使用车辆仿真软件CarSim和Matlab/Simulink进行仿真.测试环境:CPU为英特尔®酷睿™i5-6300HQ,处理器频率为2.30 GHz,随机存取存储器(RAM)内存为16 GiB.3.1 自适应步长调节策略本研究所提采样时间自适应调节策略须要保证控制器的运算时间能够满足采样周期的要求.由于环境复杂程度的不同等因素,局部路径规划的计算会在一个时间范围内波动;同时,由于数据量的不同和传输过程的影响,数据到达控制模块的时间是无序的.正弦信号能够提供一个区间范围内的波动,同时其非线性特征也能给出合理的无序时间,本研究将局部路径规划耗时tL设置为正弦输入,最大值为0.2 s,如图7所示.10.13245/j.hust.230601.F007图7局部路径规划耗时正弦输入图8给出了采样时间自适应调节策略下的采样时间tI和控制器实际运行所消耗的时间tO,结果表明:控制器采样时间随局部路径规划耗时自适应调节,满足考虑控制时域和预测时域调节的控制要求.10.13245/j.hust.230601.F008图8采样时间输入下的轨迹跟踪控制器运行时间3.2 轨迹跟踪控制为了验证所提轨迹跟踪控制方法的有效性,本研究进行了半实物仿真,所有配置均按照课题组自主研发的移动机器人参数进行设置.移动机器人将在如图9所示的环境中从A点移动至B点,其中灰色曲线为预先设定的全局路径.在地图上随机选取若干圆点作为临时障碍物,当移动机器人在全局路径上运行时,轨迹跟踪控制器对全局路径进行跟踪,规划耗时记为基准值0 s.当检测到全局路径上存在障碍物时,会调用动态窗口法[13]进行局部路径规划,记录规划耗时和时间戳用于轨迹跟踪控制器设计.设定局部路径规划器的运算频率fL=10 Hz,对比组选用传统比例和微分(PD)控制器(P=0.08,D=0.08)和采样时间在0.10 s和0.05 s的标准滚动时域控制器.10.13245/j.hust.230601.F009图9半实物仿真测试场景图10为跟踪效果,由图10(d)可以看出:相较于传统PD控制,滚动时域控制器跟踪得到的轨迹跟踪精度更高.观察图10(a),当参考轨迹曲率变化较小时,标准滚动时域控制器能够很好地实现轨迹跟踪控制;但是,当参考轨迹出现较大的曲率变化时,如放大区域Ⅰ和区域Ⅱ所示,控制器可能会出现较大的偏差.在该场景下,采样时间为0.05 s的标准滚动时域控制器平均距离误差de为0.71 m;对比采样时间为0.05 s和0.10 s的控制器结果可以发现,过大的采样周期也会使得轨迹跟踪控制效果不理想;而本研究所提算法由于在移动机器人跟踪误差模型中加入了曲率,跟踪误差有了明显减少, 在该场景下,本研究所提算法的平均距离误差为0.52 m.10.13245/j.hust.230601.F010图10轨迹跟踪控制结果表1给出了轨迹跟踪控制评价指标,平方误差积分准则(ISE)指标越小,系统综合跟踪精度越优,所得控制量使得系统能耗更低;时间乘平方误差积分准则(ITSE)指标越小,表明系统在跟踪后期的误差越小;绝对误差积分准则(IAE)指标越小,表明系统跟踪误差之和越小.与标准滚动时域控制(RHC)相比,本研究所提算法的控制性能更优.实时性方面,通过时间戳可以得到控制器每次迭代的计算耗时,如表2所示,相较于标准滚动时域控制方法,本研究所提算法在平均计算时间和最大计算时间上的消耗更少,实时性更好.通过记录规划器发出指令的时间和底层电机收到指令的时间,得到移动机器人开始规划到执行的延时td,如图11所示.可以发现标准滚动时域控制在进入绕障模式后,因为局部路径规划器的耗时使得延时增大,而本研究所提出采样时间自适应调节的滚动时域控制算法能够保持较低的延时,具有更好的实时性.10.13245/j.hust.230601.T001表1轨迹跟踪控制评价准则积分准则项目X方向误差Y方向误差平方误差/m2PD控制1.727 346.276 8标准RHC (T=0.10 s)2.149 11.477 6标准RHC (T=0.05 s)1.016 91.320 0本文算法1.000 20.245 7时间乘平方误差/(s∙m2)PD控制86.165 52 709.943 3标准RHC (T=0.10 s)53.990 0121.840 8标准RHC (T=0.05 s)16.788 896.060 6本文算法15.394 419.489 8绝对误差/mPD控制40.015 0211.373 1标准RHC (T=0.10 s)11.858 611.284 0标准RHC (T=0.05 s)6.519 79.005 1本文算法6.287 84.765 210.13245/j.hust.230601.T002表2控制器计算耗时项目最大耗时平均耗时标准RHC(T=0.10 s)0.063 20.051 9标准RHC(T=0.05 s)0.043 40.035 8本文算法0.040 40.027 0s10.13245/j.hust.230601.F011图11从开始规划到电机驱动的延时4 结语本研究提出考虑局部路径规划时耗的移动机器人轨迹跟踪控制器,用于解决移动机器人在绕障模式和正常模式下对控制器要求不同的问题.首先提出控制步长自适应调节策略,同时设计控制器控制时域与预测时域动态调节策略,使得轨迹跟踪控制器计算触发能随绕障过程的计算耗时自适应调节,从而减轻控制器负担,提高轨迹跟踪控制器在绕障模式中的实时性.随后,建立包含期望轨迹曲率信息的跟踪误差模型,设计适用于随机曲率路径下的轨迹跟踪控制器.最后进行测试验证,实验结果表明本研究提出的轨迹跟踪控制器能够减少绕障模式下因控制器等待和计算导致的延时,控制精度更高.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读