Optimized Balance Control for Bionic Kangaroo Robot During Stance Phase Using Hybrid Particle Swarm Optimization
-
摘要:
为提高仿袋鼠机器人的站立平衡控制性能,基于混合粒子群算法对机器人的平衡控制进行了优化.首先,将在地面站立平衡时的仿袋鼠机器人简化成一个倒立摆模型,使用拉格朗日方法对机器人进行动力学建模.然后,基于机器人的动力学模型设计了线性二次型控制器,并使用混合粒子群算法对线性二次型控制器的权重矩阵进行优化.最后,使用优化的线性二次型控制器对仿袋鼠机器人站立平衡控制进行了仿真实验.优化后的控制器的调节时间比优化前明显缩短,结果表明:基于混合粒子群算法优化的线性二次型(linear quadratic regulator,LQR)控制器可以提高系统的稳定性和鲁棒性,能有效降低控制器参数的整定工作量.
Abstract:In order to improve the control performance of bionic kangaroo robot during stance phase, an optimization method for balance control is studied in this paper. The bionic kangaroo robot is first simplified to an inverted pendulum model during stance phase, and a multi-rigid-body dynamics model of the robot is established using Lagrange method. A linear quadratic regulator for stance balance control is designed based on the dynamics model, in which the optimum weight matrix is obtained by hybrid particle swarm algorithm. Simulations are conducted on balance control of the robot during stance using the optimized LQR regulator. The settling time of the optimized balance control is shorter. Results show that the optimized control method can improve the control performance of the bionic robot with good robustness and rapidity.
-
在自然界中有很多动物通过自身尾巴的摆动来调节身体姿态平衡,尾巴的这一功能可以给人们带来很多启发,国内外许多学者仿照袋鼠等生物的生理结构设计了机器人,并对其进行相关的研究[1-4].德国乌尔姆大学和费斯托公司的Knut Graichen等设计了一款仿袋鼠机器人,并对其控制过程进行了相关研究,尾巴在对该机器人的控制中起到了十分重要的作用[5-6]. Briggs等[7]研究了尾巴在机器人控制过程中的作用,认为在机器人的高速运行中尾巴与反作用飞轮相比可以提供更多的转矩.加利福尼亚大学Libby等[8-10]仿照蜥蜴使用尾巴调节身体姿态的原理设计了一款机器人,对机器人尾巴在空中姿态调节中的作用进行了分析.国内,柏龙等[11]设计了仿袋鼠结构的机器人并进行了相关的理论研究.哈尔滨工业大学Wang等[12]对跳跃机器人的中枢模式发生器(central pattern generator,CPG)控制进行了相关研究.
本文在对自主研制的仿袋鼠机器人进行动力学建模的基础上,采用了混合粒子群优化的线性二次型(linear quadratic regulator,LQR)控制器对机器人的站立平衡控制进行了研究.
1. 仿袋鼠机器人动力学模型
本文所分析研究的仿袋鼠机器人是仿照袋鼠的外形及身体比例设计而来的,机器人主要由动力传输装置、腿部机构和尾巴平衡控制机构等几部分组成.动力传输装置通过无刷电机驱动腿部机构的转动;腿部机构包括蓄能弹簧、2个平行四边形机构和弧形足,平行四边形机构的转动变形带动弹簧拉伸,拉伸程度达到要求时可通过离合器控制弹簧瞬间释放,实现起跳;尾巴平衡机构通过尾部电机驱动尾巴上下摆动,可以起到调节机器人身体姿态的作用.仿袋鼠机器人的实物站立图如图 1所示.
仿袋鼠机器人的足部为弧形设计,当机器人不进行蓄能而只是在地面站立时可以假设腿部机构不转动,弯曲程度不变,将机器人的腿部机构简化为与机器人躯干固接的刚体杆件来分析.不考虑机器人与地面的相对滑动,将机器人足部与地面的接触点视作固定铰链,这样就可以将在地面站立的仿袋鼠机器人简化为倒立摆模型来分析.仿袋鼠机器人的多刚体机构模型如图 2所示.
图 2中,选择仿袋鼠机器人与地面的接触点O作为坐标原点,建立参考坐标系. li为各肢体长度;θ1为机器人站立时腿部OA与y轴正方向的夹角;θ2为尾巴AC与躯干AB延长线的夹角,腿部和躯干的夹角为固定值90°,机器人的具体物理参数如表 1所示.
表 1 仿袋鼠机器人物理参数表Table 1. Physical parameters of kangaroo robot参数 含义 参数值 m1/kg 腿部质量 0.20 m2/kg 躯干质量 0.40 m3/kg 尾巴质量 0.36 l1/m 腿部长度 0.40 l2/m 躯干长度 0.30 l3/m 尾巴长度 0.36 g/(m·s-2) 重力加速度 9.80 使用拉格朗日方法进行动力学建模.仿袋鼠机器人的总动能T为
$$ \begin{array}{l} T = {T_1} + {T_2} + {T_3} = \\ \left( {\frac{1}{6}{m_1} + \frac{1}{2}{m_2} + \frac{1}{2}{m_3}} \right)l_1^2\dot \theta _1^2 + \frac{1}{6}{m_2}l_2^2\dot \theta _1^2 + \\ \frac{1}{6}{m_3}l_3^2{\left( {{{\dot \theta }_2}-{{\dot \theta }_1}} \right)^2} + \frac{1}{2}{m_3}{l_1}{l_3}{{\dot \theta }_1}\left( {{{\dot \theta }_2}-{{\dot \theta }_1}} \right)\sin {\theta _2} \end{array} $$ (1) 以x轴为零势能位置,则机器人的总势能V为
$$ \begin{array}{l} V = {V_1} + {V_2} + {V_3} = \\ \left( {\frac{1}{2}{m_1} + {m_2} + {m_3}} \right)g{l_1}\cos {\theta _1}-\frac{1}{2}{m_2}g{l_2}\sin {\theta _1}-\\ \;\;\;\;\;\;\;\;\;\;\;\frac{1}{2}{m_3}g{l_3}\sin \left( {{\theta _2}-{\theta _1}} \right) \end{array} $$ (2) 拉格朗日函数L为
$$ L = T-V $$ (3) 系统广义坐标选取为{θ1, θ2},由于在广义坐标θ1上无转动外力,则由拉格朗日方程可得等式$\frac{{\rm{d}}}{{{\rm{d}}t}}\left( {\frac{{\partial L}}{{\partial {{\dot \theta }_1}}}} \right)-\frac{{\partial L}}{{\partial {\theta _1}}} = 0 $成立,从而可以得到${\ddot \theta _1} $关于${\theta _1}、{\theta _2}、{\dot \theta _1}、{\dot \theta _2}、{\ddot \theta _2} $的函数
$$ {{\ddot \theta }_1} = f\left( {{\theta _1}, {\theta _2}, {{\dot \theta }_1}, {{\dot \theta }_2}, {{\ddot \theta }_2}} \right) $$ (4) 机器人平衡时各变量为0,将式(4) 在平衡位置进行泰勒级数展开,并进行线性化处理,可得系统的线性化状态方程如下:
$$ \begin{array}{l} \mathit{\boldsymbol{\dot x = }}\left[\begin{array}{l} {{\dot \theta }_1}\\ {{\ddot \theta }_1}\\ {{\dot \theta }_2}\\ {{\ddot \theta }_2} \end{array} \right] = \left[\begin{array}{l} 0\;\;\;\;1\;\;\;\;0\;\;\;0\\ {W_1}\;\;0\;\;\;{W_2}\;\;0\\ 0\;\;\;\;0\;\;\;\;0\;\;\;1\\ 0\;\;\;\;0\;\;\;\;0\;\;\;0 \end{array} \right]\left[\begin{array}{l} {\theta _1}\\ {{\dot \theta }_1}\\ {\theta _2}\\ {{\dot \theta }_2} \end{array} \right] + \left[\begin{array}{l} 0\\ {W_3}\\ 0\\ 1 \end{array} \right]u\\ \mathit{\boldsymbol{y = }}\left[\begin{array}{l} {\theta _1}\\ {{\dot \theta }_1} \end{array} \right] = \left[\begin{array}{l} 1\;\;0\;\;0\;\;0\\ 0\;\;1\;\;0\;\;0 \end{array} \right]\left[\begin{array}{l} {\theta _1}\\ {{\dot \theta }_1}\\ {\theta _2}\\ {{\dot \theta }_2} \end{array} \right] \end{array} $$ (5) 其中
$$ u = {\ddot \theta _2} $$ (6) $$ M = \left( {\frac{1}{3}{m_1} + {m_2} + {m_3}} \right)l_1^2 + \frac{1}{3}{m_2}l_2^2 + \frac{1}{3}{m_2}l_2^2 $$ (7) $$ {W_1} = \frac{{\left( {{m_1} + 2{m_2} + 2{m_3}} \right)g{l_1}}}{{2M}} = 21.090 $$ (8) $$ {W_2} = \frac{{{m_2}{m_3}g{l_1}{l_2}{l_3}}}{{2{M^2}}}-\frac{{m_3^2g{l_1}l_3^2}}{{2{M^2}}} =-0.096 $$ (9) $$ {W_3} = \frac{{{m_3}l_3^2}}{{3M}} = 0.097 $$ (10) 2. 混合粒子群算法优化的控制器设计
2.1 机器人站立平衡控制器的设计
通过上文分析得到的机器人的线性化状态空间模型可表示为
$$ \left\{ \begin{array}{l} \mathit{\boldsymbol{\dot x = Ax + B}}u\\ \mathit{\boldsymbol{y = Cx}} \end{array} \right. $$ (11) 在此基础上为仿袋鼠机器人设计线性二次型最优控制器,令线性二次型最优性能指标为
$$ J = \int_0^\infty {\left( {{\mathit{\boldsymbol{x}}^{\rm{T}}}\mathit{\boldsymbol{Qx}} + {u^2}\mathit{\boldsymbol{R}}} \right){\rm{d}}t} $$ (12) 式中:Q≥0; R>0.求解Riccati方程
$$ \mathit{\boldsymbol{PA}} + {\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{P}}-\mathit{\boldsymbol{PB}}{\mathit{\boldsymbol{R}}^{-1}}{\mathit{\boldsymbol{B}}^{\rm{T}}}\mathit{\boldsymbol{P}} + \mathit{\boldsymbol{Q}} = {\bf{0}} $$ (13) 可得最优控制律
$$ u =-{\mathit{\boldsymbol{R}}^{-1}}{\mathit{\boldsymbol{B}}^{\rm{T}}}\mathit{\boldsymbol{Px}} =-\mathit{\boldsymbol{K}} \cdot \mathit{\boldsymbol{x}} $$ (14) 权重矩阵Q和R的选取直接决定了控制器的性能,这里Q为4维半正定对角矩阵,R为1维正定矩阵.经实验分析,针对本文仿袋鼠机器人设计的LQR控制器的权重矩阵Q的对角线元素q11和q22的取值对控制器的性能基本无影响,故可选取为q11=1,q22=1,而q33、q44和R的选取对控制器性能的影响较大,需要进行分析优化.这样,Q可表示为
$$ \mathit{\boldsymbol{Q = }}\left[\begin{array}{l} 1\;\;\;0\;\;\;0\;\;\;0\\ 0\;\;\;1\;\;\;0\;\;\;0\\ 0\;\;\;0\;\;\;{q_{33}}\;0\\ 0\;\;\;0\;\;\;0\;\;\;{q_{44}} \end{array} \right] $$ 可以通过大量实验对Q中的q33、q44以及R进行整定.机器人物理参数不同对应权重矩阵Q和R取值会不同.取x0=[0.174 5 0 0 0]T为初始状态,通过实验法人工依次确定参数q44、q44和R取值的过程,如图 3所示.由图可知,当取q33=1 000、q44=1 000、R=0.010时调节时间较短,超调量较小.在参数调整过程中,可以知道使用实验法进行人工整定控制器参数工作量大,各参数之间存在相互影响,控制性能难以达到最优.
2.2 基于混合粒子群算法的控制器权重矩阵优化
本文采用混合粒子群算法来优化仿袋鼠机器人LQR控制器的权重矩阵取值.由于机器人站立平衡控制对于控制时间要求较高,所以选取调节时间作为适应度函数的性能指标.控制器权重矩阵中需要优化的参数有3个,分别为q33、q44和R,则解搜索空间为3维.粒子群中粒子的个数定为20,第i个粒子的位置和速度分别表示为Xi=(xi1, xi2, xi3)和Vi=(vi1, vi2, vi3).在一次迭代过程中第i个粒子到达的位置为Pi=(pi1, pi2, pi3),整个粒子群所能找到的最优位置就是各粒子的位置Pi中的最优值Po=(po1, po2, po3),这样粒子群就像鸟群一样跟随最优个体在解空间中迭代搜索最优值[13-15],各粒子的速度和位置的更新公式为
$$ \begin{array}{l} {v_{id}}\left( {t + 1} \right) = w{v_{id}}\left( t \right) + {c_1}{r_1} \cdot \\ \left( {{p_{id}}\left( t \right)-{x_{id}}\left( t \right)} \right) + {c_2}{r_2}\left( {{p_{{\rm{o}}d}}\left( t \right)-{x_{id}}\left( t \right)} \right) \end{array} $$ (15) $$ {x_{id}}\left( {t + 1} \right) = {x_{id}}\left( t \right) + {v_{id}}\left( {t + 1} \right) $$ (16) 式中:1≤i≤20,1≤d≤3;学习因子c1和c2为正常数,选取为(1.5,2.0);r1和r2为[0, 1]的随机数;w为惯性权重.为了解决基本的粒子群算法存在的粒子多样性容易在搜索过程中丧失,整个粒子群容易跟随某个粒子陷入局部最优的问题,将遗传算法中交叉操作嵌入到基本的粒子群优化算法中,对粒子的速度进行交叉操作
$$ \begin{array}{l} {{v'}_{id}}\left( k \right) = {v_{id}}\left( k \right) + {r_3}\left( {{v_{id}}\left( {k + 1} \right)-{v_{id}}\left( k \right)} \right)\\ {{v'}_{id}}\left( {k + 1} \right) = {v_{id}}\left( {k + 1} \right) + {r_4}\left( {{v_{id}}\left( k \right)-{v_{id}}\left( {k + 1} \right)} \right) \end{array} $$ (17) 式中v′id(k)和v′id(k+1) 是交叉处理后的粒子速度,将处理后的速度v′id(k+1) 作为粒子的速度代入式(16) 中更新粒子的位置,然后对粒子的位置同样进行交叉操作
$$ \begin{array}{l} {{x'}_{id}}\left( k \right) = {x_{id}}\left( k \right) + {r_5}\left( {{x_{id}}\left( {k + 1} \right)-{x_{id}}\left( k \right)} \right)\\ {{x'}_{id}}\left( {k + 1} \right) = {x_{id}}\left( {k + 1} \right) + {r_6}\left( {{x_{id}}\left( k \right)-{x_{id}}\left( {k + 1} \right)} \right) \end{array} $$ (18) 将交叉处理后的粒子位置x′id(k+1) 作为当次迭代的粒子最终位置,这样处理之后,后代粒子继承了父代粒子的优点,可以改进搜索结果.混合粒子群算法的控制器参数优化流程如图 4所示.
使用混合粒子群算法在对LQR控制器参数进行优化的过程中找到的最优位置Po对应的适应度值随迭代次数的变化过程如图 5所示,参数q33、q44和参数R的取值随迭代次数的优化过程分别如图 6、7所示.
由图 5~7可以看出,使用混合粒子群算法对LQR控制器进行优化时,在第17次迭代时适应度值达到最小,即调节时间达到最短,此时得到的LQR权重矩阵可以使控制器最快地达到稳定,符合仿袋鼠机器人的控制需求.因此,使用混合粒子群算法优化后的LQR控制器权重矩阵的最优参数取值为q33=1 600,q44=625,R=0.010.
图 8所示为根据上述参数优化过程得到的机器人站立平衡控制的系统框图.
3. 仿真与实验
本文设计的控制器用于机器人站立平衡控制,其对控制时间具有较高要求.因此,本文以调节时间作为主要评估指标,对比在分别采用实验整定法及混合粒子群优化方法情况下,控制器对仿袋鼠机器人姿态角θ1的控制效果.
通过实验法确定的控制器参数q33=1 000,q44=1 000,R=0.010,通过混合粒子群算法优化后的控制器参数q33=1 600,q44=625,R=0.010.取x0=[0.174 5 0 0 0]T为初始状态,控制参数分别取2种方法所确定的数值,θ1及${\dot \theta _1} $的响应过程如图 9、10所示,θ2及${\dot \theta _2} $的响应过程如图 11、12所示.
由图 9~12可知,使用混合粒子群算法优化后的控制器调节时间为1 s,超调量为25.6%,而实验法整定的控制器的调节时间为1.33 s,超调量为23.5%.优化后的控制器可以更快地达到稳定,相对来说更适用于仿袋鼠机器人的实时控制,当仿袋鼠机器人偏离平衡位置向前倾斜角度为0.174 5 rad时,尾巴迅速向下摆动,机器人迅速向偏离方向的反方向转动.随着机器人身体姿态逐渐平衡,尾巴转动角度逐渐减小,经过1 s,机器人姿态角θ1接近于0,基本实现平衡,使用混合粒子群算法优化后的仿袋鼠机器人控制系统的快速性和稳定性较好.
在时间为2 s时,分别对优化前后的控制器添加幅值为0.05 rad的脉冲干扰,其姿态角响应过程如图 13所示.由图可知,优化后的机器人控制器对脉冲干扰的响应更快,抗干扰能力更强,反映在实际控制中就是当机器人在受到水平方向上的突然冲击时可以快速地恢复平衡,鲁棒性能较好.
4. 结论
1) 相比使用实验法人工整定仿袋鼠机器人LQR控制器的权重矩阵,使用混合粒子群算法可以更方便、更准确地对控制器参数进行优化整定.
2) 使用混合粒子群优化后的LQR控制器可以更快地实现平衡,快速性更好,更适用于仿袋鼠机器人的站立平衡控制.
3) 使用混合粒子群优化后的LQR控制器的抗干扰能力更强,鲁棒性更好.
-
表 1 仿袋鼠机器人物理参数表
Table 1 Physical parameters of kangaroo robot
参数 含义 参数值 m1/kg 腿部质量 0.20 m2/kg 躯干质量 0.40 m3/kg 尾巴质量 0.36 l1/m 腿部长度 0.40 l2/m 躯干长度 0.30 l3/m 尾巴长度 0.36 g/(m·s-2) 重力加速度 9.80 -
[1] LIU G H, LIN H Y, LIN H Y, et al. A bio-inspired hopping kangaroo robot with an active tail[J]. Journal of Bionic Engineering, 2014, 11(4):541-555. doi: 10.1016/S1672-6529(14)60066-4
[2] PATEL A, BOJE E. On the conical motion of a two-degree-of-freedom tail inspired by the cheetah[J]. IEEE Transactions on Robotics, 2015, 31(6):1555-1560. doi: 10.1109/TRO.2015.2495004
[3] ZHAO J, ZHAO T, XI N, et al. Controlling aerial maneuvering of a miniature jumping robot using its tail[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway:IEEE, 2013:3802-3807.
[4] WANG J X, TAN X B. Averaging tail-actuated robotic fish dynamics through force and moment scaling[J]. IEEE Transactions on Robotics, 2015, 31(4):906-917. doi: 10.1109/TRO.2015.2433539
[5] GRAICHEN K, HENTZELT S, HILDEBRANDT A, et al. Control design for a bionic kangaroo[J]. Control Engineering Practice, 2015, 42:106-117. doi: 10.1016/j.conengprac.2015.05.005
[6] GRAICHEN K, HENTZELT S, HILDEBRANDT A, et al. Model-based analysis and motion planning for the Bionic Kangaroo[J]. At-Automatisierungstechnik, 2015, 63(8):606-620.
[7] BRIGGS R, LEE J, HABERLAND M, et al. Tails in biomimetic design:analysis, simulation, and experiment[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway:IEEE, 2012:1473-1480.
[8] LIBBY T, MOORE T Y, CHANG-SIU E, et al. Tail-assisted pitch control in lizards, robots and dinosaurs[J]. Nature, 2012, 481(7380):181-184. doi: 10.1038/nature10710
[9] CHANG-SIU E, LIBBY T, TOMIZUKA M, et al. A lizard-inspired active tail enables rapid maneuvers and dynamic stabilization in a terrestrial robot[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway:IEEE, 2011:1887-1894.
[10] JOHNSON A, LIBBY T, CHANG-SIU E, et al. Tail assisted dynamic self righting[C]//Proceedings of the Fifteenth International Conference on Climbing and Walking Robots and the Support Technologies for Mobile Machines. Hackensack:World Scientific, 2012:611-620.
[11] 柏龙, 葛文杰, 陈晓红, 等.星面探测仿生间歇式跳跃机器人设计及实现[J].机器人, 2012, 34(1):32-37, 43. http://www.cnki.com.cn/Article/CJFDTOTAL-JQRR201201006.htm BAI L, GE W J, CHEN X H, et al. Design and implementation of a bio-inspired intermittent hopping robot for planetary surface exploration[J]. Robot, 2012, 34(1):32-37, 43. (in Chinese) http://www.cnki.com.cn/Article/CJFDTOTAL-JQRR201201006.htm
[12] WANG T T, GUO W, LI M T, et al. CPG control for biped hopping robot in unpredictable environment[J]. Journal of Bionic Engineering, 2012, 9(1):29-38. doi: 10.1016/S1672-6529(11)60094-2
[13] KENNEDY J, EBERHART R. Particle swarm optimization[C]//Proc of the IEEE Int Conf on Neural Networks. Piscataway:IEEE, 1995:1942-1948.
[14] BAI Q H. Analysis of particle swarm optimization algorithm[J]. Computer and Information Science, 2010, 3(1):180-184.
[15] ZHAN Z H, ZHANG L, SHI Y. Experimental study on PSO diversity[C]//Third International Workshop on Advanced Computational Intelligence. Piscataway:IEEE, 2010:310-317.
-
期刊类型引用(3)
1. 于建均,李晨,左国玉,阮晓钢,王洋. 基于LSTM神经网络的仿人机器人循环步态的生成方法. 北京工业大学学报. 2020(12): 1335-1344 . 本站查看
2. 王志龙,党新安. 无速度平衡自行车的积分分离PID控制算法仿真. 计算机仿真. 2019(04): 99-102 . 百度学术
3. 刘飞飞,朱杨林. 基于遗传算法优化的单球移动机器人原点自平衡控制. 制造业自动化. 2019(06): 62-67 . 百度学术
其他类型引用(1)