Humanoid Robot Gait Imitation Based on ZMP Criterion
-
摘要:
仿人机器人行走稳定性研究是机器人领域一大研究热点,目前主要依据动力学模型规划稳定步态,但依靠步态规划形成的运动模式往往需要复杂的运算,并且机器人的运动形式单一.为实现机器人多样化步态的生成,在模仿学习的框架下对机器人的步态模仿问题展开研究,利用人体行走信息作为示教数据,实现仿人机器人对人体行走过程的模仿学习,在简化运动规划的同时使机器人的运动步态更具多样化与拟人化.为满足机器人在步态模仿过程中的稳定性,基于零力矩点(zero moment point,ZMP)判据补偿质心偏移,利用滞回曲线确定行走过程中支撑脚的切换以实现稳定性控制.基于NAO机器人的模仿学习系统仿真研究结果表明:ZMP判据的引入有效地保证了机器人对人体示教步态模仿的稳定性,基于滞回曲线的支撑脚选取保证了支撑脚切换的平稳.
-
关键词:
- 仿人机器人 /
- 模仿学习 /
- 支撑脚选择 /
- 零力矩点(ZMP)判据
Abstract:Research on walking stability of humanoid robot is a hot spot of robot field, gait planning based on dynamics model is the main method, but the motion pattern based on gait planning need complex calculation and the form is single. To generate diverse gait of robot, research on the gait of humanoid robot within a framework of imitation learning was launched, human walking information was used as teaching data to realize the imitation of human. The motion planning of humanoid robot was simplified and more diverse and personate behaviors. In order to satisfy the stability of walking process, the cog deviation was compensated based on zero moment point (ZMP) criterion and the switching of the supporting feet in the walking process was determined by using the hysteresis curve to ensure the stability of robot. The simulation of imitation system based on robot NAO indicates that the utilizatin of ZMP criterion ensure the stability in the process of human gait imitation, and the switching of supporting feet based on hysteresis curve ensure the stability of switching supporting foot.
-
仿人机器人结构与人体相似,在人类社会环境中,仿人机器人可代替人类完成各种作业,扩展人类的能力,并表现出很好的环境适应性.近年来仿人机器人在服务、医疗、教育、娱乐等多个领域得到广泛的应用,相关的研究工作也逐步展开.
仿人机器人的步态规划与平衡性控制一直是机器人领域研究的重点,结合动力学模型与零力矩点(zero moment point,ZMP)判据的运动规划是主要方式. Dong等[1]将机器人简化为倒立摆模型对质心轨迹与关节角进行规划,但行走模式单一. Wang等[2]利用外骨骼混合模型分别规划行走时的不同状态,并利用ZMP判据保持运动平稳性,但规划过程复杂,计算量大. Yu等[3]针对机器人在具有坡度的环境下进行了行走规划,通过倒立摆模型规划质心轨迹,但应用环境单一.
面对依靠模型进行运动规划所产生的计算量大、运动方式单一等问题,模仿学习这一方式逐渐被引入到机器人步态规划与运动控制中.令机器人对示教者运动信息进行学习,并通过模仿实现运动技能,这种方式大大简化了仿人机器人步态规划的复杂性,并且依据人体姿态生成的机器人运动形式更具拟人化,更重要的是赋予仿人机器人模仿学习的能力,可以增强其在复杂环境下的决策能力,提高智能性[4].当然将模仿学习引入机器人步态控制中也存在着难点:由于机器人是对示教者进行直接学习,人体与机器人质量分布的差异会造成机器人运动姿态的不稳定, 面对行走等对动态性能要求较高的运动过程时,平衡的控制尤为重要.因此,为实现机器人对人体运动过程的稳定模仿,需结合示教数据对机器人进行稳定补偿控制.
Lee等[5]利用体感摄影机对机器人进行示教,通过关节角控制质心来保持稳定,Boutin等[6]通过标记关节点获取示教数据,利用列文伯格-马奈尔特(Levenberg-Marguardt,LM)算法求解动力学问题,保证质心稳定,但二者未考虑质心加速度的影响. Hu等[7]利用人体示教数据规划稳定ZMP轨迹,并结合示教数据利用二次规划优化模仿相似性,但相似性处理的运算较为复杂. Hou等[8]利用人体示教数据规划稳定ZMP轨迹,通过有效集算法求解质心与角度的运动轨迹,但该方式没有充分利用人体示教角度信息以简化运算.
本文在模仿学习的框架下,围绕仿人机器人对人体行走过程的模仿学习展开研究.首先,为实现机器人稳定的运动模仿,本文将人体关节示教角度与ZMP方程相结合,利用人体行走信息规划期望ZMP轨迹,并结合示教角度信息预估机器人运动过程的ZMP轨迹信息,通过计算ZMP轨迹的期望与实际差值以补偿控制机器人运动模仿过程的稳定性.该方法在确保模仿相似性的同时简化了运算过程.然后,为实现模仿过程中平稳的支撑脚切换,本文利用滞回曲线处理人体示教骨骼点信息,确定行走过程支撑脚的选择.最后,以NAO机器人作为仿真平台,结合质心偏移补偿角与示教角度驱动机器人,通过仿真证实模仿行走稳定控制算法的有效性.
1. 机器人行走模仿的稳定性控制
由于机器人与人体之间存在着质量分布差异,利用人体行走数据直接驱动机器人进行行走模仿会造成机器人的不稳定,因此需引入稳定性判据对机器人进行稳定控制.
1.1 基于小车-桌子模型的ZMP方程建立
ZMP判据作为双足机器人稳定行走的重要控制准则最早由Vukobratovic等[9]提出,其定义沿足底分布负载的和力矩为零的点为ZMP点,为实现稳定的动态步行,ZMP点要始终位于支撑的多边形内.在此基础上,Kajita等[10]将机器人简化为小车-桌子模型,如图 1所示,质量为M的小车在桌面上运动,在桌底部的任意一点p产生的力矩τ可表达为
$$ \tau = - Mg\left( {c - p} \right) + M\ddot ch $$ (1) 式中:c为小车质心;h为质心等价高度;g为重力加速度.根据ZMP定义[9],令τ=0,即pZMP=p,式(1)可简化为
$$ {p_{{\rm{ZMP}}}} = c - \frac{h}{g}\ddot c $$ (2) 即得到简化为小车-桌子模型的机器人ZMP方程.
1.2 基于ZMP方程的机器人稳定性控制
利用人为规划的理想ZMP轨迹,结合ZMP方程获得机器人质心轨迹,并通过逆运动学求解驱动角度是机器人稳定步态规划的主要方法,但其运算量较大,并且行走姿态与人体行走姿态有较大差异.为实现快速的机器人拟人运动步态规划,本节在模仿学习的框架下,结合ZMP方程研究仿人机器人的步态稳定性控制,首先通过ZMP方程确定机器人行走模仿过程中的质心偏移量,其次结合机器人的质心-角度雅可比矩阵进行补偿控制,具体方法如下.
通过骨骼点采集器可获得人体示教过程中足部的运动轨迹,因为机器人与示教者之间存在着身高差异,所以利用缩小后的足部运动轨迹作为行走模仿过程中ZMP的期望轨迹,记为pref.在由示教数据驱动机器人的条件下,机器人的质心偏移会影响ZMP轨迹,因此本文通过补偿质心偏移满足ZMP方程,即
$$ {\mathit{\boldsymbol{p}}^{{\rm{ref}}}} = \mathit{\boldsymbol{c}} + \Delta \mathit{\boldsymbol{c}} - \frac{h}{g}\mathit{\boldsymbol{\ddot c}} $$ (3) 式中:c为机器人质心;Δc为质心补偿量;h为机器人质心等价高度;g为重力加速度.令pres为机器人实际ZMP点,可有
$$ {\mathit{\boldsymbol{p}}^{{\rm{res}}}} = \mathit{\boldsymbol{c}} - \frac{h}{g}\mathit{\boldsymbol{\ddot c}} $$ (4) 此时式(3)可转换为
$$ \Delta \mathit{\boldsymbol{c}} = {\mathit{\boldsymbol{p}}^{{\rm{ref}}}} - {\mathit{\boldsymbol{p}}^{{\rm{res}}}} $$ (5) 即质心补偿量的计算可由期望ZMP与机器人实际ZMP的差值求得.
在确定质心补偿量后,需对机器人进行补偿控制以保持机器人的行走平衡.对于机器人而言,机器人质心的变化本质上是连杆位姿的变化,而连杆位姿的变化本质上是关节角度的变化,因此,为通过质心补偿实现机器人的动态平衡,需利用机器人质心-角度雅可比矩阵J[11]表达质心位置与关节角的关系并通过二次规划对补偿角度进行求解,数学描述为
$$ \min \left( {\frac{1}{2}{\rm{ \mathsf{ δ} }}{\mathit{\boldsymbol{q}}^{\rm{T}}}\mathit{\boldsymbol{W}}{\rm{ \mathsf{ δ} }}\mathit{\boldsymbol{q}}} \right) $$ (6) $$ {\rm{s}}{\rm{.t}}{\rm{.}}\;\mathit{\boldsymbol{J}}{\rm{ \mathsf{ δ} }}\mathit{\boldsymbol{q}} = {\rm{ \mathsf{ δ} }}\mathit{\boldsymbol{c}} $$ (7) 解得
$$ {\rm{ \mathsf{ δ} }}\mathit{\boldsymbol{q}} = {\mathit{\boldsymbol{W}}^{ - 1}}{\mathit{\boldsymbol{J}}^{\rm{T}}}{(\mathit{\boldsymbol{J}}{\mathit{\boldsymbol{W}}^{ - 1}}{\mathit{\boldsymbol{J}}^{\rm{T}}})^{ - 1}}{\rm{ \mathsf{ δ} }}\mathit{\boldsymbol{c}} $$ (8) 式中:δq为角度变化量;δc为质心变化量;W为一个权值矩阵.通过调整权值矩阵W便可优化模仿行为,完成质心校正,从而进行平衡性控制.
2. 基于示教信息的支撑脚识别与质心加速度的计算
在之前的工作中,已对人体示教数据向机器人驱动角度的转换以及机器人质心的预估进行了说明与演算.在此基础上,为实现仿人机器人对人体行走姿态的模仿学习,还需要从人体示教数据中识别出支撑脚与机器人质心加速度用于质心补偿量的计算.
2.1 基于滞回曲线的支撑脚选取
在仿人机器人行走过程中,支撑脚的合理选择与切换是实现稳定行走的前提.在骨骼点采集时,由于环境或设备影响会造成数据波动,通过判别两脚在空间中的竖直高度来确定支撑脚的选取可能会造成支撑脚的频繁切换,从而造成机器人行走的不稳定,因此本文引入滞回曲线规划机器人模仿学习过程中支撑脚的变化.如图 2所示,k表示人体示教数据中左右两脚竖直方向上的差值,通过设置参数flag判别支撑脚状态,定义右脚支撑时,令flag=1,左脚支撑时,令flag=0.在flag=1,即右脚支撑时,若k<-0.01 m,则令flag=0,即切换为左脚支撑.在flag=0,即左脚支撑时,若k>0.01 m,则令flag=1,即切换为右脚支撑.通过滞回曲线选取支撑脚可有效抑制因数据波动造成的不稳定.
2.2 基于示教数据的机器人质心加速度预估
由1.2小节可知,为计算质心补偿量需得到机器人质心及其加速度的量值,在之前的工作中,已提出了一种在模仿学习架构下的机器人质心位置预估方法,本文在此基础上,利用预估得到的质心空间坐标点求取质心加速度,用于质心补偿量的计算.
由于骨骼点采集的是离散的空间位置坐标点,经计算可得到质心空间坐标点的一组离散值,因此在t时刻的质心加速度为
$$ {{\mathit{\boldsymbol{\ddot c}}}^t} \approx \frac{{{\mathit{\boldsymbol{c}}^{t + 1}} - 2{\mathit{\boldsymbol{c}}^t} + {\mathit{\boldsymbol{c}}^{t - 1}}}}{{{T^2}}} $$ (9) 式中:T为采样周期;c为质心的空间位置坐标;$ \mathit{\boldsymbol{\ddot c}}$为求取的机器人质心加速度.
3. 仿真设计与分析
NAO机器人是由Aldebaran Robotics公司研发的小型仿人机器人. NAO机器人拥有13个关节,共25个自由度,很适合作为机器人控制算法研究的平台,其模型也被WEBOTS机器人仿真平台所收录,以更好地进行动力学测试与分析.因此搭建的NAO机器人行走模仿系统,骨骼点信息采集及示教数据的获取采用C#语言开发实现,示教数据的处理基于Matlab环境开发实现,将计算得到的运动信息发送到WEBOTS的NAO机器人模型中,实现对人体行走过程模仿.系统结构图如图 3所示.
Kinect2.0是微软发布的最新一代的体感摄影机,其具备完善的人体骨骼跟踪功能,因此本文利用Kinect作为采集器进行示教数据的采集. Kinect的骨骼跟踪数据由25个关节空间坐标组成,S=[s1, s2, …, s25],其中si=(xi, yi, zi),如图 4所示.
3.1 人体示教过程中支撑脚的识别
利用Kinect2.0作为人体示教动作采集器,将人体行走作为示教动作,如图 5所示.在仅通过双脚高度确定支撑脚的情况下,支撑脚的选取结果如图 6所示,利用2.1小节中的滞回曲线识别人体示教过程中支撑脚的选取,结果如图 7所示.
由仿真结果可以看出,仅通过人体脚部空间高度选取支撑脚会造成支撑脚错误的切换,这会引起行走过程的不稳定.而利用滞回曲线确定支撑脚的选取可有效地避免因采集数据波动造成支撑脚错误的切换,以便进行后续的稳定性控制.
3.2 仿人机器人对人体行走过程的模仿学习
在支撑脚确定的条件下,将示教数据转换为机器人驱动角度,在不结合ZMP判据进行补偿控制下,令机器人对人体步态进行模仿学习,其ZMP轨迹如图 8所示.
从结果可以看出,在不引入ZMP判据的情况下,由于示教动作是行走这一对动态性能要求较高的动作,因此在不考虑机器人质心加速度的影响时,机器人行走模仿过程中,ZMP轨迹波动剧烈,图中方框表示机器人足部支撑范围,显然ZMP轨迹偏离足部支撑中心较大,这会造成机器人运动的不稳定,无法完成运动过程的模仿.
接着利用本文提出的方法进行机器人行走仿真测试,将缩小后的人体示教过程中足部的运动轨迹作为行走模仿过程中ZMP的期望轨迹,并对机器人质心轨迹进行预估,从而进行质心补偿控制后,可得到行走模仿的过程,如图 9所示,从结果可以看出,经补偿控制后的行走模仿过程中,ZMP轨迹波动较小,并且更靠近足部支撑范围的中心,因此稳定性更好.在WEBOTS中的NAO机器人模型上进行步态模仿测试,如图 10所示,机器人能够稳定地进行人体行走过程的模仿.
分析模仿学习过程中关节角度的变化,以右胯俯仰角为例,如图 11所示,绿色虚线表示人体示教运动中的关节角度变化,红色实线表示模仿学习过程中引入ZMP判据后的机器人关节角度变化.从结果可以看出,通过调整权值矩阵可使机器人在保证平稳模仿的过程中与人体关节示教角度保持相似,这一特点可令机器人的模仿过程更具拟人化,凸显了模仿学习的意义.
最后,在机器人可对人体行走步态进行平稳模仿的前提下,考察对非典型的人体运动步态的模仿能力.以左右摇摆幅度较大的人体原地踏步行走过程作为示教运动,如图 12所示,在WEBOTS中的NAO机器人模型上进行步态模仿测试,结果如图 13所示,经支撑脚选取与稳定性算法调整后,NAO机器人能够完成非典型人体步态的平稳模仿.
4. 结论
1) 仿真结果表明,通过质心补偿可以有效地将ZMP点控制在稳定区域,从而满足对人体运动姿态模仿学习的稳定性.
2) 利用滞回曲线选取支撑脚可有效地减少数据波动所造成的影响,使机器人对人体姿态的模仿学习更加平稳.
3) 不足之处在于,由于要对示教动作进行整体的分析与计算,因此无法实现机器人对人体运动姿态的实时模仿学习.下一步希望通过引入回归算法对示教信息与机器人驱动信息进行回归处理,从而利用训练后的模型进行机器人对人体运动姿态的实时模仿学习[12].
-
-
[1] DONG E, WANG D, CHEN C, et al. Realization of biped robot gait planning based on NAO robot development platform[C]//IEEE International Conference on Mechatronics and Automation. New York: IEEE, 2016: 1073-1077. http://ieeexplore.ieee.org/document/7558711/
[2] WANG X, WANG H, TIAN Y. Gait planning and hybrid model based tracking control of lower extremity exoskeleton[C]//35th Chinese Control Conference. New York: IEEE, 2016: 6019-6024. http://ieeexplore.ieee.org/document/7554302/
[3] YU Z, CHEN X, HUANG Q, et al. Gait planning of omnidirectional walk on inclined ground for biped robots[J]. IEEE Transactions on Systems Man & Cybernetics Systems, 2015, 46(7):1-10. http://cn.bing.com/academic/profile?id=9e377e2c85f7a7a5faa8f7264295732a&encoded=0&v=paper_preview&mkt=zh-cn
[4] EREZ T, LOWREY K, TASSA Y, et al. An integrated system for real-time model predictive control of humanoid robots[C]//Ieee-Ras International Conference on Humonolod Robots. NewYork: IEEE, 2013: 292-299. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=7029990
[5] LEE D W, LEE M J, KIM M S. Whole body imitation of human motion with humanoid robot via ZMP stability criterion[C]//IEEE-RAS, International Conference on Humanoid Robots. New York: IEEE, 2015: 1003-1006. http://ieeexplore.ieee.org/document/7363476/
[6] BOUTIN L, EON A, ZEGHLOUL S, et al. An auto-adaptable algorithm to generate human-like locomotion for different humanoid robots based on motion capture data[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. New York: IEEE, 2010: 1256-1261.
[7] HU K, OTT C, LEE D. Online human walking imitation in task and joint space based on quadratic programming[C]//IEEE International Conference on Robotics and Automation. New York: IEEE, 2014: 3458-3464. http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=6907357
[8] HOU Y, ZHAO M. Follow my step: a framework for biped robots to imitate human walking[C]//IEEE International Conference on Robotics and Biomimetics. New York: IEEE, 2014: 2471-2476. http://or.nsfc.gov.cn/handle/00001903-5/515978
[9] VUKOBRATOVIC M, SEPANEKO Y. On the stability of anthropomorphic systems[J]. Mathematical Biosciences, 2004, 15(1):1-37. http://cn.bing.com/academic/profile?id=f033e03b39a91b6372c932d9977d7dcc&encoded=0&v=paper_preview&mkt=zh-cn
[10] KAJITA S, KANEHIRO F, KANEKO K, et al. Biped walking pattern generation by using preview control of zero-moment point[C]//IEEE International Conference on Robotics and Automation. New York: IEEE Xplore, 2003: 1620-1626. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1241826
[11] SUGIHARA T, NAKAMURA Y. Whole-body cooperative balancing of humanoid robot using COG Jacobian[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. New York: IEEE, 2002: 2575-2580. http://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=1041658
[12] FERREIRA J P, CRISOSTOMO M M, COIMBRA A P. SVR versus neural-fuzzy network controllers for the sagittal balance of a biped robot[J]. Neural Networks IEEE Transactions on, 2009, 20(12):1885-1897. doi: 10.1109/TNN.2009.2032183