基于LQR的两轮机器人的平衡控制

您所在的位置:网站首页 平衡车算法 基于LQR的两轮机器人的平衡控制

基于LQR的两轮机器人的平衡控制

2023-08-13 14:50| 来源: 网络整理| 查看: 265

如今,移动机器人无处不在,在办公、家用、娱乐、制造业等领域都有应用,同时越来越多地应用在勘探勘测、救灾防爆、医疗、军事等领域。目前影响智能移动机器人技术研究的主要因素有传感技术和运动控制策略等[1-2]。两轮机器人因其灵活性、方便性得到广泛关注。两轮机器人是一个非线性、欠驱动、强耦合的多变量系统,涉及到控制理论学、机器人学以及识别技术等众多领域理论知识。运动平衡控制问题,一直是两轮机器人研究中关键问题,其运动控制的研究具有重要的理论价值和实际应用意义。

因两轮机器人的非完整约束因素,对其运动控制问题更具有困难性,因此对于具有非完整约束因素的两轮机器人的控制问题,主要是设计时变状态反馈控制器和时不变状态反馈控制器[3-5]。

目前对两轮机器人的研究主要集中于平衡控制问题、速度控制问题和转向控制这3个方面,文献[6]中提出了一种自适应模糊控制策略,采用单点模糊化,具有自适应能力和鲁棒性。文献[7]中设计了一种模糊进化型极点配置控制器,用于解决两轮机器人的镇定问题。文献[8]、[9]、[10]中都是基于LQR算法设计的状态控制器。文献[11]中设计了神经元PID控制策略,借助神经网络自学习和自适应能力,实时调整控制器各项参数,验证了该控制器的正确性和有效性。文献[12]中设计了一种模糊滑膜控制策略,该策略具有的较强的鲁棒性, 还消除了系统的高频颤动现象。文献[13]中提出一种将学习自动机与操作条件反射思想相结合的策略,设计出一种仿生的学习模型,应用到机器人平衡控制问题中。文献[14]中由阮晓钢等人提出了一个新颖的方法来解决机器人运动平衡问题,即一种人工感知运动系统,结果表明,该方法鲁棒性更好。目前对于两轮机器人平衡控制稳定性算法的研究主要以PID算法及各种变异PID算法、LQR算法、模糊算法以及复合控制为主。

所研究的两自由度的两轮机器人,即两轮联动驱动,两车轮同轴平衡布置,由控制器根据编码器反馈信号及机器人倾角信息控制车轮的转速差,完成直行和转弯工作[15]。

一个完整的两轮机器人系统的结构应分为车体和车轮部分、姿态检测部分、测速部分以及电源系统等其他连接结构,将陀螺仪和加速度计组成姿态检测系统实时采集当前机器人姿态信息,并利用卡尔曼滤波器将两个传感器采集的数据进行融合,以便更精确获取对描述机器人运动状态的倾角信息。

因两轮机器人运动控制并不是单一控制,而相关研究文献也将整个运动控制分解为平衡控制、速度控制和转向控制3个方面,因此重点研究两轮机器人的平衡问题。先根据牛顿力学论对两轮机器人建立模型,两轮机器人存在非线性和强耦合,不利于研究,因此需对非线性模型进行线性化及解耦处理,再对解耦后的平衡子系统设计控制器,最后搭建Simulink平台对控制器仿真分析,得出研究结论。

1 两轮机器人模型分析 1.1 基于牛顿力学的动力学模型

研究的是刚性两轮机器人,即车轮和车体是独立的,由于是欠驱动系统,需对两轮机器人施加驱动,即可完成对两轮机器人的平衡控制、速度控制以及转向控制工作,目前在两轮机器人建模问题上,有牛顿法和拉格朗日法,牛顿法建立模型的关键点在于更容易设计控制策略,而拉格朗日法的关键点在于更容易建立模型,但二者建立的模型具有一致性,研究学者可以择其所需。

研究首先定义以左右轮轴线为z轴,车体前进方向为x轴,垂直于前进方向为y轴,两轮机器人各部分受力如图 1所示。

图 1(Figure 1) 图 1 两轮机器人受力示意图

由于研究的是刚性两轮机器人,存在不稳定性、非线性等因素,难以建立数学模型,为简化分析系统,对两轮机器人作以下合理假设:1)将刚性的两轮机器人分为左轮、右轮和车体3部分,且两车轮只作滚动运动,不产生滑动;2)只需要因摩擦而造成的力和力矩,其它一概忽略;3)因机器人一运动就存在转动摩擦,假设忽略掉其它转矩,此时电机转矩即为电磁转矩。两轮机器人部分参数如表 1所示。

表 1 表 1 系统部分参数 表 1 系统部分参数 名称 符号 实际值 车体质量 M 4 kg 车轮质量 m 2 kg 车轮对轮轴转动惯量 Jω 0.003 4 kg·m2 车轮对z轴转动惯量 Jθ 0.005 5 kg·m2 车轮对y轴转动惯量 Jθ 0.002 3 kg·m2 车轮半径 R 0.16 m 车轮间距 D 0.48 m Z轴到车体质心的距离 L 0.4 m

首先根据牛顿力学分析法对两轮机器人建模分析:

机器人左轮模型分析:

$ {{\dot x}_l}m = {f_l} - {W_l}, $ (1) $ {J_\omega }\frac{{{{\dot x}_l}}}{R} = {C_l} - {f_l}R。$ (2)

机器人右轮模型分析:

$ {{\ddot x}_r}m = {f_r} - {W_r}, $ (3) $ {J_w}\frac{{{{\ddot x}_r}}}{R} = {C_r} - {f_r}R。$ (4)

机器人机体模型分析:

$ {{\ddot x}_d}M = {W_l} + {W_r}, $ (5) $ {J_\theta }\ddot \theta = \left( {{V_l} + {V_r}} \right)L\sin \theta - \left( {{C_l} + {C_r}} \right) - \left( {{W_l} + {W_r}} \right)L\cos \theta , $ (6) $ {{\ddot y}_d}M = {V_l} + {V_r} - Mg, $ (7) $ {J_\delta }\ddot \delta = \left( {{W_l} - {W_r}} \right)\frac{D}{2}, $ (8)

其中:

$ {x_d} = x + L\sin \theta , $ (9) $ {y_d} = L\cos \theta 。$ (10)

综上各式,得两轮机器人的非线性模型[16]:

$ \begin{array}{l} \ddot x\left( {M + 2m + \frac{{2{J_\omega }}}{{{R^2}}}} \right) + ML\left( {\ddot \theta \cos \theta - {{\dot \theta }^2}\sin \theta } \right) = \\ \frac{1}{R}\left( {{C_l} + {C_r}} \right), \end{array} $ (11) $ \begin{array}{l} {J_P}\ddot \theta = MgL\sin \theta - M{L^2}{{\dot \theta }^2}\sin \theta \cos \theta - M{L^2}\ddot \theta {\sin ^2}\theta - \\ \left( {1 + \frac{{L\cos \theta }}{R}} \right)\left( {{C_l} + {C_r}} \right) + 2L\left( {m + \frac{{{J_\omega }}}{{{R^2}}}} \right)\cos \theta \cdot \ddot x, \end{array} $ (12) $ \left( {Dm + \frac{{2{J_\delta }}}{D} + \frac{{D{J_\omega }}}{{{R^2}}}} \right)\ddot \delta = \frac{1}{R}\left( {{C_l} + {C_r}} \right)。$ (13) 1.2 模型线性化

目前,对于非线性控制系统的研究还没有相对成熟的控制理论,但对于线性系统的研究则有相对完善的控制理论,因此若能将非线性系统转换成近似的线性模型,即可应用成熟的线性控制理论对其研究控制。

由于研究的两轮机器人非线性模型在平衡点附近存在θ≈0,则sinθ≈θ,cosθ≈1,因此将sinθ≈θ和cosθ≈1代入到非线性模型式(11)、(12)、(13)中,得到两轮机器人的线性化方程[17]:

$ \ddot x\left( {M + 2m + \frac{{2{J_\omega }}}{{{R^2}}}} \right) + ML\ddot \theta = \frac{1}{R}\left( {{C_l} + {C_r}} \right), $ (14) $ {J_P}\ddot \theta = MgL\theta - \left( {1 + \frac{L}{R}} \right)\left( {{C_l} + {C_r}} \right) + 2L\left( {m + \frac{{{J_\omega }}}{{{R^2}}}} \right) \cdot \ddot x, $ (15) $ \left( {Dm + \frac{{2{J_\delta }}}{D} + \frac{{D{J_\omega }}}{{{R^2}}}} \right)\ddot \delta = \frac{1}{R}\left( {{C_l} + {C_r}} \right)。$ (16)

将上述线性化方程转换成矩阵形式:

$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {M + 2m + \frac{{2{J_\omega }}}{{{R^2}}}}&{ML}&0\\ { - 2L\left( {m + \frac{{{J_\omega }}}{{{R^2}}}} \right)}&{{J_P}}&0\\ 0&0&{Dm + \frac{{2{J_\delta }}}{D} + \frac{{D{J_\omega }}}{{{R^2}}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {\ddot x}\\ {\ddot \theta }\\ {\ddot \delta } \end{array}} \right]\\ = \left[ {\begin{array}{*{20}{c}} 0&{\frac{1}{R}}&{\frac{1}{R}}\\ {MgL}&{ - \left( {1 + \frac{1}{R}} \right)}&{ - \left( {1 + \frac{1}{R}} \right)}\\ 0&{\frac{1}{R}}&{\frac{1}{R}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} \theta \\ {{C_l}}\\ {{C_r}} \end{array}} \right]\\ \left[ {\begin{array}{*{20}{c}} 0&{\frac{1}{R}}&{\frac{1}{R}}\\ {MgL}&{ - \left( {1 + \frac{1}{R}} \right)}&{ - \left( {1 + \frac{1}{R}} \right)}\\ 0&{\frac{1}{R}}&{\frac{1}{R}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} \theta \\ {{C_l}}\\ {{C_r}} \end{array}} \right]。\end{array} $

代入相关参数到上式得线性化状态方程[18]:

$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {\dot x}\\ {\ddot x}\\ {\dot \theta }\\ {\ddot \theta }\\ {\dot \delta }\\ {\ddot \delta } \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&1&0&0&0&0\\ 0&0&{ - 23.7097}&0&0&0\\ 0&0&0&1&0&0\\ 0&0&{83.7742}&0&0&0\\ 0&0&0&0&0&1\\ 0&0&0&0&0&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x\\ {\dot x}\\ \theta \\ {\dot \theta }\\ \delta \\ {\dot \delta } \end{array}} \right] + \\ \left[ {\begin{array}{*{20}{c}} 0&0\\ {1.8332}&{1.8332}\\ 0&0\\ { - 4.9798}&{ - 4.9798}\\ 0&0\\ {5.1915}&{ - 5.1915} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{C_l}}\\ {}\\ {}\\ {}\\ {}\\ {{C_r}} \end{array}} \right]。\end{array} $ (17)

从式(17)可看出系数矩阵A是分块对角矩阵,表明关于平衡与速度控制的4个状态变量与关于转向控制的2个状态变量无关。因此,为了便于理论分析,利用式(18)关系式将式(17)状态方程解耦成两个独立的子系统,即设:

$ \left[ {\begin{array}{*{20}{c}} {{C_l}}\\ {{C_r}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {0.5}&{0.5}\\ {0.5}&{ - 0.5} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{C_\theta }}\\ {{C_\delta }} \end{array}} \right]。$ (18)

将式(18)代入式(17)解耦得出如下两个子系统的状态线性方程。

平衡与前进系统:

$ \left[ {\begin{array}{*{20}{c}} {\dot x}\\ {\ddot x}\\ {\dot \theta }\\ {\ddot \theta } \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&1&0&0\\ 0&0&{ - 23.7097}&0\\ 0&0&0&1\\ 0&0&{83.7742}&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x\\ {\dot x}\\ \theta \\ {\dot \theta } \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} 0\\ {1.8332}\\ 0\\ { - 4.9798} \end{array}} \right]{C_\theta }。$ (19)

转向系统:

$ \left[ {\begin{array}{*{20}{c}} {\dot \delta }\\ {\ddot \delta } \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&1\\ 0&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} \delta \\ {\dot \delta } \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} 0\\ {5.1519} \end{array}} \right]{C_\delta }。$ (20)

对于平衡与前进系统,用Cθ来控制机器人的位移x和倾角θ。同理,用Cδ来控制机器人的偏转角δ,其中Cθ是平衡子系统的相应的输入转矩。为简化研究工作,设Cl=Cr=Clr,即得两自由度的平衡与速度系统状态空间线性化模型如下:

$ \begin{array}{l} ]\kern-0.15em] \left[ {\begin{array}{*{20}{c}} {\dot x}\\ {\ddot x}\\ {\dot \theta }\\ {\ddot \theta } \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&1&0&0\\ 0&0&{ - 23.7097}&0\\ 0&0&0&1\\ 0&0&{83.7742}&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x\\ {\dot x}\\ \theta \\ {\dot \theta } \end{array}} \right]\\ \;\;\;\;\;\;\;\;\;\;\; + \left[ {\begin{array}{*{20}{c}} 0\\ {3.6663}\\ 0\\ { - 9.9595} \end{array}} \right]{C_{lr}}。\end{array} $

位移和倾角作为系统控制输出量,输出方程为:

$ y = \left[ {\begin{array}{*{20}{c}} 1&0&0&0\\ 0&0&1&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} x\\ {\dot x}\\ \theta \\ {\dot \theta } \end{array}} \right]。$

针对两自由度的平衡与前进系统设计控制器,以便更好地解决两轮机器人平衡稳定性问题。

2 基于极点配置设计控制器

在闭环控制系统中,倘若预设值与系统输出值存在偏差量,为缩小或消除该偏差量并使系统最终达到稳定状态,基于该思想设计的控制器叫反馈控制器[19]。

对于一个线性定常系统∑,设状态方程为$ \dot{x}=Ax+Bu $,再引入状态反馈u=-Kx,即得到新的系统状态方程为$ \dot{x}=\left( A-BK \right)x $,引入状态反馈后新的系统原理如图 2。

图 2(Figure 2) 图 2 状态反馈图

对平衡与前进系统进行能控性分析,利用MATLAB算出该系统的能控阵秩为rank(QC)=4,因此该系统是完全可控。而现代控制理论中,当被控系统是能控的,利用状态反馈能任意配置期望极点,因此利用极点配置设计控制器,再对控制器仿真分析。已分析得出平衡系统是可控的,因此假设设计的控制器能使系统达到以下指标:超调量σP≤25%,调节时间ts≤3.5s(Δ=±5%)。

$ {\sigma _P} = {e^{ - \frac{\xi }{{\sqrt {1 - {\xi ^2}} }}\pi }} \le 25\% , $ $ {t_s} = \frac{3}{{\xi {\omega _n}}} \le 3.5s。$

根据以上两式得出ξ=0.403 7,ωn=2.123,取近似值ξ=0.5,ωn=0.3,得到两个期望的闭环极点:$ {{s}_{1, 2}}=-1.5\pm 3\sqrt{3}/2i $。根据极点配置原则中非主导极点距虚轴的距离应为主导极点约4~6倍,最后选择两个非主导极点:s3=-7.5,s4=-9。

已知期望闭环极点P=[-1.5-2.6i;-1.5+2.6i;-7.5;-9],利用MATLAB中K=place(A,B,P)函数,得反馈矩阵K=[-8.565 3;-4.945 7;-24.216 8;-3.778 5]。图 3为基于极点配置的状态控制仿真图,图中子系统即两自由度机器人非线性模型,下面仿真所给定的初始状态即对该模块赋值。

图 3(Figure 3) 图 3 极点配置仿真图

倾角仿真分析:给定机器人初始倾角θ=15°,即初始状态为x0=[0;0;0.261 8;0]T。

位移仿真分析:给定机器人初始位移x=0.1m,即初始状态为x0=[0.1;0;0;0]T。

由图 4可看出,给定机器人初始倾角后,机器人需向前运动,随着倾角变为负,位移变为正,此时机器人需向后运动,大约4 s左右反复调节后,系统达到平衡状态。

图 4(Figure 4) 图 4 倾角控制曲线图

由图 5看出,给定初始位移干扰,机器人需向前运动,当倾角不断减小到零点时,位移也在减小;随后倾角继续增加,机器人继续向前运动,前后运动调节大约4 s左右,系统达到平衡状态。

图 5(Figure 5) 图 5 位移控制曲线图

利用极点配置法设计的状态反馈控制器能使机器人在较短时间内达到平衡状态,但在整个调节过程中超调较大,调节时间较长,需设计更好的控制器使机器人达到平衡状态的调节时间缩短。由于上面已得出线性化的平衡系统模型,下面引入线性二次调节器(LQR)来设计控制器,并对其进行仿真分析。

3 最优控制器设计与仿真

线性二次型最优控制(Linear Quadratic Optimal Control)首先要求被控系统是线性的,即是对一个线性系统的控制器设计问题。如果系统性能指标是状态量和控制量的二次函数的积分,即可运用最优控制解决这类问题。线性二次型控制理论已广泛应用于反馈系统,也成为设计反馈控制器的一种重要的理论工具[20-23]。

LQR最优控制问题其实是在获取一个最优控制量u(t),使得被控系统能从初始状态回归到零点,并且性能指标函数J取得最小值,从而使系统能达到平稳。

设一个系统状态空间方程表述为:

$ \left\{ \begin{array}{l} \dot x = Ax + Bu\\ y = Cx + Du \end{array} \right.。$ (21)

假设存在反馈矩阵K,则最优控制为:

$ u = - Kx, $ (22)

能使系统性能$ J=\int_{0}^{\infty }{({{x}^{T}}Qx+{{u}^{T}}Ru)dt} $取得最小值;利用MATALB中K=lqr(A,B,Q,R)函数求反馈矩阵K。设计LQR最优控制器重点在于选取Q、R权矩阵,其中Q、R权矩阵用来平衡输入量和状态量的权重,且Q值大小与系统抗干扰能力有正比关系,但不宜过大,由上述u=-R-1BTP=-Kx,式中常数P满足黎卡提代数方程:

$ {A^T}P + PA - PB{R^{ - 1}}{B^T}P + Q = 0。$

选取:

$ Q = \left[ {\begin{array}{*{20}{c}} {700}&0&0&0\\ 0&{10}&0&0\\ 0&0&{900}&0\\ 0&0&0&{30} \end{array}} \right],R = 1。$

由K=lqr(A,B,Q,R)函数得反馈增益矩阵K=[-26.457 5;-22.425 4;-74.820 7;-14.920 4],图 6为LQR最优控制器仿真原理图。

图 6(Figure 6) 图 6 LQR控制器仿真图

倾角仿真分析:给定机器人初始倾角θ=15°,即初始状态为x0=[0;0;0.261 8;0]T。

位移仿真分析:给定机器人初始位移x=0.1 m,即初始状态为x0=[0.1;0;0;0]T。

由图 7可看出,给定机器人初始倾角干扰,系统经大约3 s左右调节达到平稳状态,比基于极点配置法调节时间要快,但机器人的倾角速度和速度的超调量稍大。

图 7(Figure 7) 图 7 倾角控制曲线图

由图 8可看出,在给定机器人初始位移情况下,该控制器大约经3 s左右前后运动调节,使系统达到平稳状态,控制性能比极点法更优。

图 8(Figure 8) 图 8 位移控制曲线图 4 结论

查阅国内外两轮机器人运动控制研究方法的相关文献,并重点针对平衡控制问题进行研究工作,先对两轮机器人建模,并对模型线性化且解耦处理,对解耦后的平衡子系统设计控制器,最后运用Simulink进行仿真分析。

经仿真分析,基于LQR法设计的控制器明显优于极点法设计的控制器的控制效果,调节时间快,且稳定性更好;但LQR最优控制器存在的问题是权矩阵选取问题,以及超调量过大问题。因超调量大会使机器人在初始状态下晃动比较严重。下一步研究工作主要集中于Q、R权矩阵优化问题,以便设计出更优的LQR控制器,或者与其他智能算法结合,更好地解决机器人平衡控制问题。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3