2. 齐鲁工业大学(山东省科学院)理学院, 山东 济南 250353
2. School of Science, Qilu University of Technology(Shandong Academy of Sciences), Jinan 250353, Shandong, China)
自然界中, 四足动物对环境的适应具有无与伦比的灵活性和高效性, 其中一个重要原因是它们具有不同速度下选择不同步态的能力[1-2]。因此, 为了提高四足机器人的环境适应能力和能量利用效率, 缩小机器人与其仿生对象——四足动物之间技术的差距, 需要研究四足机器人不同步态之间的切换控制算法[3-4]。
现阶段, 步态切换的控制方法基本有两种:基于中枢模式发生器(central pattern generator, CPG)的生物诱导行走控制方法[5-8]以及基于关节运动轨迹的设计方法[9]。基于CPG的控制方法已在步态切换上有所应用[10-13]。在此, 重点研究基于关节运动轨迹的设计方法实现不同步态间的切换。例如, Zhao D等[14]以能量消耗效率为步态切换指标, 利用步态参数的改变实现了不同步态的变换; Liu An等[15]利用步态的相位改变实现了机器人的步态切换; Shahbazi A等[16]利用改变倒立摆的弹性系数(腿部柔性)实现了机器人静步态和动步态之间的变换; Aoi S等[17]改变占空比实现了具有躯干自由度的四足机器人步态变换; Masakado S等[18]提出一种使正在行走的机器人在满足条件的某一点处停止, 以开始下一种步态的切换方法。但上述方法都未考虑步态变换中由步长和周期的改变引起的稳定性与平滑性问题。比较有代表性的静动步态之间的变换算法由Lee Y等[19-20]提出, 文献[19]将切换过程分为用时相同的三部分, 实现了由非间歇静步态到动步态之间的变换, 但未考虑变换过程中速度平滑性问题; 文献[20]给出了间歇静步态和对角小跑步态的变换策略, 但未考虑步态变换的时间效率。
针对上述基于关节运动轨迹设计方法的缺点, 在综合考虑机器人步态变换过程中的稳定性、平滑切换和保证最小切换时间的基础上, 由于篇幅限制, 本研究重点分析间歇静步态向对角小跑步态切换方法。主要创新点为:(1)给出一种步态切换生成算法, 使机器人在不停止运动的基础上, 由静步态(static walk, 简记为walk)切换至对角小跑步态(trot); (2)给出步态切换中的速度变换公式, 保证机器人由低速步态向高速步态切换的速度平滑性; (3)提出改进的泛稳定裕量判据法以保证加速过程的稳定性。
1 间歇静步态分析为方便对不同足进行统一研究, 本文将足端与自身髋关节的相对位置记为xh, 右前足与自身髋关节的相对位置记为xRFh, 右后足与自身髋关节的相对位置记为xRHh, 左前足与自身髋关节的相对位置记为xLFh, 左后足与自身髋关节的相对位置记为xLHh。
机器人运动过程中, 为了提高环境适应性, 较崎岖地形一般采用walk步态。本文采用的walk步态如图 1所示。其中, 黑色实线部分表示机器人当前状态, 黑色弧形箭头表示机器人到达下一阶段前执行的运动, 灰色虚线部分表示下一阶段机体位置, x-y为机器人自身坐标系, 且x轴正方向为机器人前进方向。图 1标出了walk步态的中心线、左侧稳定边界、右侧稳定边界。左右稳定边界与中心线的距离记为s, 为根据机身尺寸确定的使机器人保持稳定行走的最小值; L为该步态的步长。
walk步态向trot步态切换过程中, 若不考虑切换点时机器人的状态, 给定一个统一或简化的机器人切换规则, 有时会导致机器人失稳或等待切换时间过长, 不利于提高步态切换效率。因此, 本研究根据walk步态切换点xh的不同进行细分, 当切换条件触发时, 利用状态机进行机器人当前状态的判定, 对每一个切换点给出一个切换规则, 在保证平稳切换的基础上, 实现机器人在最短切换时间下的平滑步态变换。
如图 1所示, 为实现最短时间切换, 希望每一阶段结束后都可以立即进行步态转换, 从而定义以下6个切换点, 阶段1、2、3、4、5和6结束点分别命名为切换点1(PS1)、切换点2(PS2)、切换点3(PS3)、切换点4(PS4)、切换点5(PS5)和切换点6(PS6)。
对6个不同切换点的四足xh进行分析, 总结其共同点为:(1)切换点处, 总有左侧或右侧足的xh=0 m; (2) xh=0 m的一侧为重心所在位置的一侧; (3) xh不为0的一侧足, xh取L/2或-L/2。
2 对角小跑步态分析对角小跑步态的一个步态周期如图 2所示。其中, 重心沿直线前进并保持匀速, 对角分布的腿交替摆动。定义步长为L′。将左前-右后腿(LF-RH)定义为对角腿1(DL1), 右前-左后腿(RF-LH)定义为对角腿2(DL2)。
一个trot周期内对角小跑步态的接入点有图 2中的两个, 分别为状态1(C1)和状态2(C2)。C1中, DL1位于自身髋关节前方半个步长, DL2位于自身髋关节后方半个步长; C2中, DL1位于自身髋关节后方半个步长, DL2位于自身髋关节前方半个步长。另外, 图 2中空心实线圆点为每种状态时下一阶段的摆动足, 可见, 位于自身髋关节后方半个步长的对角腿为下一阶段摆动足, 另一对角腿为下一阶段支撑足, C1的下一对摆动足为DL2, C2的下一对摆动足为DL1。在walk-to-trot切换过程中, 将C1和C2作为接入点分别记为接入点1和接入点2。
接入点1中,
$ \left\{ \begin{align} &{{x}_{\text{RFh}}}={{x}_{\text{LHh}}}=-L\prime /2 \\ &\text{ }{{x}_{\text{LFh}}}={{x}_{\text{RHh}}}=L\prime /2 \\ \end{align} \right., $ | (1) |
接入点2中,
$ \left\{ \begin{align} &{{x}_{\text{RFh}}}={{x}_{\text{LHh}}}=L\prime /2 \\ &{{x}_{\text{LFh}}}={{x}_{\text{RHh}}}=-L\prime /2 \\ \end{align} \right.。$ | (2) |
为实现最短时间步态变换, 需要对切换点和接入点进行匹配, 并给出转换过程中相位和步长的改变规则; 然后, 对步态转换过程中步态参数的改变进行分析, 包括周期、速度的变换。将步态参数变换称为节律控制, 速度变化为模式控制。
3.1 节律控制机器人步态模式的改变主要通过步态参数的调整实现, 因此, 利用节律控制队列进行平稳切换。针对6种不同的walk步态切换点, 给出如下的切换队列:(1)调整重心位置; (2)调整DL1(DL2); (3)调整DL2(DL1)。具体生成方法如下:
(1) 获取xRFh、xRHh、xLFh和xLHh作为输入。
(2) 定义变量(d, f, h)。d=1, 右侧足xh值非零; d=0, 左侧足xh值非0。针对xh非零一侧, f=1, 前腿xh值大于0; f=0, 前腿xh小于0; h=1, 后腿xh大于0; h=0, 后腿xh等于0。
(3) 若f+h < 2, 执行(4);若f+h=2, 执行(5)。
(4) 若d=1, 重心向右侧移动s; 若d=0, 重心向左侧移动s。结束切换队列1。转(6)。
(5) 若d=1, 重心向右向前移动, 解耦为向右移动s, 向前移动L/2;d=0, 重心移动解耦为向左移动s, 向前移动L/2。
(6) 若d=1且h=1, 或d=0且h=0, 队列2中的摆动足为RH足所在的DL1, 支撑足为DL2; 否则摆动足为LH足所在的DL2, 支撑足为DL1; 支撑足支撑身体前移L′, 摆动足落足点在自身髋关节前方L′/2处。切换队列2结束。
(7) 切换队列2中的支撑足作为切换队列3中的摆动足, 摆动足作为支撑足, 仍使支撑足支撑身体前移L′, 摆动足落足在自身髋关节前方L′/2处。切换队列3结束。
3.2 模式控制walk-to-trot步态切换中, 除了要改变节律之外, 其步长S、周期T、重心移动速度v都需要进行相应调整。三者关系为v=S/T。但是, 间歇静步态的重心前移不是均匀分布在整个周期中, 而是集中在1/3个周期。因此, 将间歇静步态重心的实际移动速度记为vwalk=3L/Twalk, 其中Twalk为walk步态的周期。而对trot步态一个周期的两个阶段, 重心不断前移, 速度记为vtrot=2L′/Ttrot, 其中Ttrot为trot步态的周期。
为保证步态切换过程中重心移动速度的连续性, 使得机器人在开始切换到切换完成的过程中达到下列目标: (1)切换起点速度为vwalk; (2)切换终点速度为vtrot; (3)3个切换队列瞬时速度(记为vt)连续, 加速度a保持不变。其中, 3个切换队列任意时刻重心总的移动距离(记为Lt)、vt与时间的关系分别表示如下:
$ {{L}_{t}}={{v}_{\text{walk}}}t+0.5a{{t}^{2}}, $ | (3) |
$ {{v}_{t}}={{v}_{\text{walk}}}+at。$ | (4) |
由于切换队列结束点的重心总的移动距离Lsum和速度vtrot已知, 并设步态切换用时为Tsum, 将t=vsum, L=Lsum, vt=vtrot带入式(3)(4), 求得a=
因此, 整个切换队列的速度变化是一个关于时间t的函数
$ {{v}_{t}}={{v}_{\text{walk}}}+\frac{v_{\text{trot}}^{2}-v_{\text{walk}}^{2}}{2{{L}_{\text{sum}}}}t。$ | (5) |
利用式(5)进行机器人速度的调整, 可保证由walk步态向trot步态切换过程中速度变化的连续性, 提高了切换过程中机器人的平滑性。
另外, 在机器人匀加速阶段, 机体产生向后的惯性力ma, 其中m为机体质量。这时, 零力矩点(zero moment point, ZMP)不再是重心投影点, 而在其后方, 且与重心投影点距离为l, 则
$ \frac{ma}{mg}=\frac{l}{\text{high}}, $ | (6) |
式中: g为重力加速度; high为机器人行走时重心与地面的垂直距离。利用公式(6)可计算出l=a·high/g。
由以上分析可以看出, l与a成正比, 随着a的增大, ZMP点会逐渐朝后向稳定边界偏移, 最终导致稳定裕度过小甚至发生倾倒。为了抵消惯性力产生的ZMP点偏移, 以泛稳定裕量(wide stability margin, WSM)判据法[21]为基础, 考虑机器人动态步行时惯性力这一重要因素, 将机器人重心投影改进为考虑惯性力的动态ZMP点, 称为改进的泛稳定裕量(modified WSM, MWSM)失稳判据法, 如图 3所示。该方法以重心垂直投影点为参考, 通过调整加速阶段的足端相对位置, 实现支撑多边形相对后移、ZMP点相对前移, 保证了合理的稳定裕量。
为验证所提方法的正确性和有效性, 在Webots软件中建立四足机器人虚拟样机如图 4所示, 对walk步态中切换点1处发生切换进行仿真试验和数据分析。walk步态参数设定为: vwalk=10 s, L=0.2 m, vwalk=0.06 m/s。trot步态参数为:vtrot=0.75 s, L′=0.15 m, vtrot=0.4 m/s。根据机身尺寸选取稳定边界值为s=0.07 m, 取稳定裕度最小值为0.1 m, 每隔1/100 s对机器人稳定性进行一次判定, 若稳定裕量小于0.1 m, 则判定机器人不符合稳定性要求。
根据节律控制算法步骤, 四足机器人步态切换队列如图 5所示, 表 1给出了仿真的3个切换队列结束点处四足的位置, 表 2为各个切换队列结束点处足端值。
右前腿、右后腿、左前腿、左后腿髋关节对机体坐标系原点的相对距离记为xRFHIP、xLFHIP、xRHHIP、xLHHIP, 且已知xRFHIP=xLFHIP=0.5 m, xRHHIP=xLHHIP=-0.5 m, (d, f, h)=(1, 0, 0), 因此, 切换队列1中, 重心只存在右移情况, walk切换点处与切换队列1结束点处四足xh相同; 由于d=1且h=0, 切换队列2中的摆动足为DL1, 支撑足为DL2。由表 1、2可看出:RF-LH作为支撑足, 后撤0.15 m, RH-LF作为摆动足, 落足在自身髋关节前方半个步长(0.075 m)处; 切换队列3中, 摆动足变为DL2, 支撑足为DL1, 支撑足后撤0.15 m, 摆动足落足于自身髋关节前方0.075 m处。当3个切换队列执行完毕, xRFh=xLHh=0.075 m=L′/2, xLFh=xRHh=-0.075 m=-L′/2, 与trot步态中接入点2的四足xh相同, 在机器人walk行走过程中, 阶段1的任一时刻收到步态切换指令, 在切换点1开始执行切换, 将切换的等待时间降到最低, 实现了最快切换, 其仿真截图如图 6所示。
图 7~9为walk-to-trot步态切换仿真曲线, 包括四足在机体坐标系中的位置、稳定裕量以及重心在世界坐标系中z轴波动曲线。由图 7可以看出, 四足位置坐标曲线以及速度曲线连续平滑, 没有出现跳变。图 8展示了躯干质心在竖直方向的波动曲线, 在0.6±0.05 m范围内存在较小波动。从图 9可看出, 机身稳定域度在切换过程中始终保持0.1 m以上, 保证了切换过程的稳定性。由图 10可看出, walk步态结束点处速度为0.06 m/s经过匀加速达到trot步态接入点处速度为0.4 m/s, 保证了切换过程的平滑。
分别采集采用WSM和MWSM的纵向稳定裕量值, 如图 11所示。
同时, 采用MWSM方法保证步态加速阶段的稳定性。采用MWSM方法提高了机器人加速过程中的纵向稳定性。但由于加速度较小, 两者之间的差异相对较小。在该仿真中high=0.6 m, a=0.195 98 m/s2, g=9.8 m/s2, 带入式(6)计算得l=0.012。考虑到实际仿真对象, 如图 4所示的机器人模型, 其躯干宽度为长度的一半, 若同时考虑纵向稳定裕量与侧向稳定裕量并取最小值, 最终结果为侧向稳定裕量, 因此, 本仿真采用纵向稳定边界法对加速过程的稳定裕量进行分析, 以体现MWSM方法的有效性。
文献[20]中, 给出了walk步态向trot步态切换时的两种情况, 即在间歇静步态的一个周期中, 只有处于切换点3和切换点6时切换才能执行, 因此, 从切换命令发出到切换执行最大时间差为T/2-ε。而本研究方法使得间歇静步态一个周期内存在6处可执行切换的点, 从而将最大时间差降低为T/6-ε, 其中ε为一个极小数, 虽然切换点较多, 但是基于状态机思想, 以切换时间作为触发条件, 可以非常方便的进行机器人步态的平滑稳定切换。
5 结语在四足机器人运动过程中, 为提高其对不同地形环境的适应能力, 本研究重点分析了机器人从静步态到动步态的步态变换策略。运用本研究给出的切换规则, 基于状态机思想, 实现了walk的6个切换点与trot的2个接入点之间的匹配。在此基础上, 为了保证切换的平滑性, 利用定义的速度变换公式, 保证了整个切换过程的匀加速状态, 实现了速度的平滑切换。在步态变换过程中, 利用改进的泛稳定裕量稳定性判据进行机器人稳定性的判定, 降低了机器人加速度对稳定性判定的影响, 提高了稳定裕度判定的准确性。利用机器人仿真软件搭建了四足机器人仿真平台, 验证了所提方法的可行性和有效性, 为后续实际物理平台的步态自适应调整提供较好的理论研究基础。
[1] | GEHRING C, COROS S, HUTTER M, et al. Control of dynamic gaits for a quadrupedal robot[C]//Proceedings of IEEE International Conference on Robotics and Automation. Karlsruhe, Germany: IEEE Press, 2013: 3287-3292. |
[2] | GRIFFIN T, KRAM R, WICKLER S, et al. Biomechanical and energetic determinants of the walk-trot transition in horses[J]. Journal of Experimental Biology, 2004, 207(24): 4215-4223 DOI:10.1242/jeb.01277 |
[3] | IJSPEERT A. Biorobotics: Using robots to emulate and investigate agile locomotion[J]. Science, 2014, 346(6206): 196-203 DOI:10.1126/science.1254486 |
[4] | LIU Chengju, CHEN Qijun, WANG Guoxing. Adaptive walking control of quadruped robots based on central pattern generator (CPG) and reflex[J]. Journal of Control Theory and Applications, 2013, 11(3): 386-392 DOI:10.1007/s11768-013-1171-6 |
[5] | ZHANG Xiuli, ZHENG Haojun, CHEN Lianfeng. Gait transition for a quadrupedal robot by replacing the gait matrix of a central pattern generator model[J]. Advanced Robotics, 2012, 20(7): 849-866 |
[6] | CAO Qu, VAN Rijn, POULAKAKIS I. On the control of gait transitions in quadrupedal running[C]//Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems. Hamburg, Germany: IEEE Press, 2015: 5136-5141. |
[7] | MORADI K, FATHIAN M, GHIDARY S S. Omnidirectional walking using central pattern generator[J]. International Journal of Machine Learning & Cybernetics, 2014(6): 1-11 |
[8] | LI Junmin, WANG Jinge, YANG Simon X, et al. Gait planning and stability control of a quadruped robot[J]. Computational Intelligence & Neuroscience, 2016, 2016: 9853070 |
[9] |
李贻斌, 李彬, 荣学文, 等. 液压驱动四足仿生机器人的结构设计和步态规划[J].
山东大学学报(工学版), 2011, 41(5): 32-36 LI Yibin, LI Bin, RONG Xuewen, et al. Mechanical design and gait planning of a hydraulically actuated quadruped bionic robot[J]. Journal of Shandong University (Engineering Science), 2011, 41(5): 32-36 |
[10] | KIMURA H, FUKUOKA Y, COHEN A. Adaptive dynamic walking of a quadruped robot on natural ground based on biological concepts[J]. International Journal of Robotics Research, 2007, 26(5): 475-490 DOI:10.1177/0278364907078089 |
[11] | SANTOS C, MATOS V. Gait transition and modulation in a quadruped robot: A brainstem-like modulation approach[J]. Robotics and Autonomous Systems, 2011, 59(9): 620-634 DOI:10.1016/j.robot.2011.05.003 |
[12] | LI Bin, LI Yibin, RONG Xuewen. Gait generation and transitions of quadruped robot based on Wilson-Cowan weakly neural networks[C]//Proceedings of IEEE International Conference on Robotics and Biomimetics. Tianjin, China: IEEE Press, 2010: 19-24. |
[13] | ASADI F, KHORRAM M, MOOSAVIAN S A A. CPG-based gait transition of a quadruped robot[C]//Proceedings of Rsi International Conference on Robotics and Mechatronics. Tehran, Iran: IEEE Press, 2016: 210-215. |
[14] | ZHAO Danpu, XU Jing, WU Dan, et al. Gait definition and successive gait-transition method based on energy consumption for a quadruped[J]. Chinese Journal of Mechanical Engineering, 2012, 25(1): 29-37 DOI:10.3901/CJME.2012.01.029 |
[15] | LIU An, WU Heng, LI Yongzheng. Gait transition of quadruped robot using rhythm control and stability analysis[C]//Proceedings of IEEE International Conference on Robotics and Biomimetics. Shenzhen, China: IEEE Press, 2013: 2535-2539. |
[16] | SHAHBAZI M, LOPES G, BABUSKA R. Automated transitions between walking and running in legged robots[C]//Proceedings of World Congress on the International Federation of Automatic Control. Cape Town, South August: IFAC, 2014: 2171-2176. |
[17] | AOI S, YAMASHITA T, ICHIKAWA A, et al. Hysteresis in gait transition induced by changing waist joint stiffness of a quadruped robot driven by nonlinear oscillators with phase resetting[C]//Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems. Taipei, China: IEEE Press, 2010: 1915-1920. |
[18] | MASAKADO S, ISHⅡ T, ISHⅡ K. A gait-transition method for a quadruped walking robot[C]//Proceedings of IEEE/ASME International Conference on Advanced Intelligent Mechatronics Monterey. California, USA: IEEE Press, 2005: 432-437. |
[19] | LEE Y, TRAN D, HYUN J, et al. A gait transition algorithm based on hybrid walking gait for a quadruped walking robot[J]. Intelligent Service Robotics, 2015, 8(4): 185-200 DOI:10.1007/s11370-015-0173-2 |
[20] | KOO I, TRONG T, LEE Y, et al. Biologically inspired gait transition control for a quadruped walking robot[J]. Autonomous Robots, 2015, 39(2): 1-14 |
[21] | FUKUOKA Y, KIMURA H, HADA Y, et al. Adaptive dynamic walking of a quadruped robot 'Tekken' on irregular terrain using a neural system model[C]//Proceedings of IEEE International Conference on Robotics and Automation. Taipei, China: IEEE Press, 2003: 2037-2042. |