«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2020, Vol. 15 Issue (3): 537-545  DOI: 10.11992/tis.201810017
0

引用本文  

于建均, 李晨, 左国玉, 等. 仿人机器人步态平衡泛化模型的建立与仿真[J]. 智能系统学报, 2020, 15(3): 537-545. DOI: 10.11992/tis.201810017.
YU Jianjun, LI Chen, ZUO Guoyu, et al. Modeling and simulation of humanoid robot gait balance generalization[J]. CAAI Transactions on Intelligent Systems, 2020, 15(3): 537-545. DOI: 10.11992/tis.201810017.

基金项目

国家自然科学基金项目(61873008);北京市自然科学基金项目(4182008)

通信作者

于建均. E-mail:yujianjun@bjut.edu.cn

作者简介

于建均,副教授,主要研究方向为智能机器人的仿生自主控制、智能计算与智能优化控制、复杂过程建模、优化与控制。主持或参与国家“863”计划项目、国家自然科学基金项目以及横向科研课题多项。获国家发明专利、实用新型专利、国家软件著作权等10余项,发表学术论文40余篇;
李晨,硕士研究生,主要研究方向为机器学习、机器人技术;
左国玉,副教授,博士,主要研究方向为智能技术系统、机器人学习、机器人控制、计算智能。主持和参与国家自然科学基金项目、北京市自然科学基金项目、北京市教委科技计划7项。获国家发明专利、实用新型专利10余项,发表学术论文30余篇

文章历史

收稿日期:2018-10-16
仿人机器人步态平衡泛化模型的建立与仿真
于建均 , 李晨 , 左国玉 , 阮晓刚 , 王洋     
北京工业大学 信息学部,北京 100124
摘要:通过人体示教计算零力矩点(zero moment point, ZMP),并通过补偿关节角度对其矫正的方法可以解决机器人步行不稳定的问题,但仍存在算法复杂度过高等问题。本文提出一种人体示教与机器学习相结合的方法,基于支持向量回归算法建立机器人的步态平衡泛化模型,通过该模型可以实现对模型输入人体示教的关节角度和ZMP信息后直接得到经稳定性补偿的关节角度,并以此驱动机器人完成步行动作。引入鲸鱼优化算法(whale optimization algorithm, WOA)优化模型的参数以使模型得到最优的泛化效果,完善步态平衡模型的性能。WEBOTS仿真平台下,使用模型输出的补偿后的关节角度驱动NAO机器人,其动作自然、稳定且算法复杂度较低,验证了本文方法的可行性。
关键词仿人机器人    支持向量回归    步态平衡泛化模型    鲸鱼优化算法    ZMP信息    算法复杂度    NAO机器人    机器学习    
Modeling and simulation of humanoid robot gait balance generalization
YU Jianjun , LI Chen , ZUO Guoyu , RUAN Xiaogang , WANG Yang     
Department of Information, Beijing University of Technology, Beijing 100124, China
Abstract: The problem of robot walking instability can be solved by calculating the zero-moment point (ZMP) through human body teaching and correction by the compensation of joint angles; however, problems such as high algorithm complexity still exist. This paper proposes a method that combines human teaching with machine learning. The gait balance generalization model of a robot is established based on the support vector regression algorithm. The joint angle of human teaching and ZMP information are inputted into the model; then, we get the joint angle compensated by stability, and the robot is driven to complete the walking action. The parameters of the whale optimization algorithm (WOA) model are introduced to make the model obtain the optimal generalization effect and improve the performance of the gait balance model. Under the Webots simulation platform, the NAO robot is driven by the compensated joint angle of the model output. The action is natural and stable, and the algorithm complexity is low, which verifies the feasibility of the method.
Key words: humanoid robot    support vector regression    gait balance generalization model    whale optimization algorithm    ZMP information    algorithm complexity    NAO robot    machine learning    

仿人机器人由于拥有与人体结构相似的双足式结构,可以较好地适应轮式机器人难以适应的高低落差较大的地形场景,且在崎岖多变的地形环境中机动性好,因此仿人机器人可以代替人类在复杂和危险的环境下工作,同时也被广泛应用到服务、医疗康复和教育娱乐等领域。因此仿人机器人的研究也就成为了机器人领域的重要研究方向之一。

控制机器人的稳定步行,传统上是通过规划ZMP轨迹,并通过逆运动学等方法求取机器人的驱动角度完成的。而人为规划的ZMP轨迹和质心轨迹过分依靠仿人机器人运动学模型,这种方法在对机器人建模时需进行大量的计算,且运动模式僵硬单一[1-6]。由于人体结构与仿人机器人的结构有很强的相似性,通过人体示教的方式,机器人模仿其动作的方式,能使机器人动作自然,运动方式多样[7-10],但是二者之间的质量分布存在差异,直接使用人体示教的关节角度,容易导致仿人机器人在运动过程中摔倒。使用ZMP补偿或线性反馈等方式补偿关节角度可使仿人机器人在步行过程中的稳定性提高,但补偿角的计算过程过于复杂。Seleem等[11]使用Kinect-V2传感器捕捉人体步态数据同时使用多项式拟合并利用反馈线性化技术稳定双足机器人步行过程,获得了较为自然且多样的步态轨迹,但未能充分利用人体的示教数据,使计算过程过于复杂。面对计算量大这一问题,机器学习通过构建“模型”思想,大大减少了传统算法的运算量和计算过程。Hwang等[12]应用机器学习的思想对仿人机器人的ZMP轨迹进行规划,并将机器人的关节角度构成离散的动作空间,以构建机器人步行模型,进行步态控制,但只有16个动作的离散动作空间机器人动作僵硬单一。支持向量回归(support vactor regression, SVR)由Cortes等[13]提出,是建立在结构风险最小化原则基础之上的一种机器学习算法。相较于传统的机器学习算法的经验风险最小化原则,它在最小化训练误差的同时最小化了泛化误差的上限,并且其算法复杂度与样本的训练维数无关,避免了维数灾难,是一种有着很强理论基础的小样本学习方法。

1 基于SVR的机器人步态平衡泛化模型的构建

采用人体示教的方法,可以使仿人机器人在不同的步长、步态周期下动作自然地行走且大大简化了动力学建模的计算过程。但在机器人模仿人体步行动作时,由于两者质量分布不同,质心在运动过程中极易发生偏移,需要通过人体示教信息经过大量计算得到使机器人稳定步行的关节补偿角度[14]。考虑基于SVR算法建立步态平衡泛化模型,根据得到的人体示教信息直接得到经稳定性补偿的关节角度。在保留人体示教优点且保证稳定性的同时降低计算复杂度,增强机器人动作模仿的实时性。

1.1 支持向量回归算法

支持向量回归模型分为线性回归模型和非线性回归模型。考虑到人体示教数据和机器人驱动关节角度是非线性关系,需要建立非线性回归模型。给定样本:

${{D = }}\left\{ {\left( {{{{x}}_1},\;\;{{{y}}_1}} \right),\left( {{{{x}}_2},\;\;{{{y}}_2}} \right), \cdots ,\left( {{{{x}}_i},\;\;{{{y}}_{{i}}}} \right),\;\;{{i = }}1,2, \cdots ,\;l} \right\}$

式中: $ {x}_{i}\in {R}^{n} $ n维输入值; $ {y}_{i}\in R $ 是一维输出值; $ i $ 为样本数量。SVR算法构造的非线性回归模型的思想是利用核技巧将训练数据映射到高维空间再线性回归以简化运算。本文采用RBF核函数作为SVR模型的核函数。其回归模型函数为

${{f}}\left( {{x}} \right) = \omega {{\cdot}}\varPhi \left( {{x}} \right){{ + b}}$

式中:x为模型输入的n维变量; $ \omega $ $ b $ 为训练得到的回归模型参数; $\mathrm{\varPhi }(x)$ 为核函数。

在SVM间隔最大化思想下,引入不敏感损失函数 $ \varepsilon $ 、惩罚系数C以及松弛变量 $ {\xi }_{i} $ ${\xi }_{i}^{*}$ ,可得到 $ \varepsilon - $ SVR非线性回归模型:

$\left\{ \begin{array}{l} \mathop {{\rm{min}}}\limits_{\left( {\omega ,b,{\xi _i},{\xi _i}^*} \right)} \dfrac{1}{2}{\left\| \omega \right\|^2} + C\displaystyle\sum\limits_{i = 1}^l {\left( {{\xi _i} + {\xi _i}^*} \right)} \\ {\rm{s}}{\rm{.t}}{\rm{.\; }}{y_i} - \omega \varPhi \left( x \right) - b \leqslant \varepsilon + {\xi _i}\\ {\rm{ }}\omega \varPhi \left( x \right){\rm{ + }}b \leqslant \varepsilon + {\xi _i}^*\\ {\rm{ }}{\xi _i},{\xi _i}^* \geqslant 0 \end{array} \right.$ (1)

为了计算更加便捷,通过引入拉格朗日乘子 $ {\alpha }_{i} $ ${\alpha }_{i}^{*}$ ,并通过拉格朗日乘法寻优,可以得到SVR的对偶最优化问题:

$ \left\{ \begin{array}{l} \mathop {{\rm{max}}}\limits_{\left( {{\alpha _i},{\alpha _i}^*} \right)} \displaystyle\sum\limits_{i = 1}^l {{\alpha _i}\left( {y - \varepsilon } \right)} - \displaystyle\sum\limits_{i = 1}^l {{\alpha _i}^*\left( {y + \varepsilon } \right)} +\\ {\rm{ }}\;\;\;\;\;\;\;\; \displaystyle\sum\limits_{i,j = 1}^l {\left( {{\alpha _j} - {\alpha _j}^*} \right)} \left( {{\alpha _i} - {\alpha _i}^*} \right)K\left( {{x_i},{x_j}} \right)\\ {\rm{s}}{\rm{.t}}{\rm{.\; 0}} \leqslant {\alpha _i} \leqslant C,{\rm{0}} \leqslant {\alpha _i}^* \leqslant C,i = 1,2, \cdots ,l\\ \displaystyle\sum\limits_{i = 1}^l {\left( {{\alpha _i} - {\alpha _i}^*} \right) = 0} \end{array} \right. $ (2)

式中: ${{K}}\left({x}_{i},{x}_{j}\right)={{\varPhi }({{x}})}^{{\rm{T}}}\varPhi ({{x}})$ 为核函数,本文采用RBF核函数。

由于不等式约束问题需满足的KKT条件可解得SVR的解形式为

$ f(x)=\sum _{i=1}^{l}\left({\alpha }_{i}-{\alpha }_{i}^{*}\right)K\left({x}_{i},{x}_{j}\right)+b $ (3)

式中 $ b={y}_{i}+\varepsilon -\displaystyle\sum _{i=1}^{l}\left({\alpha }_{i}-{\alpha }_{i}^{*}\right)K\left({x}_{i},{x}_{j}\right)。$

综上所述,决定SVR算法非线性模型性能的参数为 $ {\alpha }_{i} $ $ {\alpha }_{i}^{*} $ $ \varepsilon $ ,以及RBF核函数中自带的宽度系数 $ p $ ,其中 $ {\alpha }_{i} $ $ {\alpha }_{i}^{*} $ 在式(4)的条件约束下,由惩罚系数 $ C $ 决定。

1.2 仿人机器人步态平衡泛化模型的构建

构建步态平衡泛化模型需要在SVR算法非线性回归模型结构的基础上,确定合适的输入和输出。二者之间需有一定的相关关系,才能保证模型有良好的泛化效果。具体选择如下:以人体示教的关节角度和人体步行的ZMP信息作为步态平衡模型的输入。首先,人体示教的关节角度是机器人模仿人体动作的基础。其次,在计算关节稳定性补偿角度时人体示教的ZMP信息(以示教者支撑脚底部的骨骼点轨迹作为人体示教的ZMP轨迹)是在计算关节稳定性补偿角度时的重要依据,并且由其定义式如式(6)所示,ZMP信息包含了人体示教的质心信息和质心加速速度信息:

${{p}} = c - \frac{h}{g}{{\ddot c}}$ (4)

式中: ${{p}}$ 为示教者ZMP点; $c$ 为示教者质心; ${{\ddot c}}$ 为示教者质心加速度; $h$ 为示教者质心等价高度; $g$ 为重力加速度。

以平衡补偿后的关节角度(即机器人驱动角度)作为输出。在稳定的基础上省去稳定性补偿角的复杂计算,完成仿人机器人的步行控制。

对模型输入人体的关节角度和人体在步行运动时的ZMP信息,由SVR非线性回归模型代替人体示教信息和稳定性后的关节角度之间的函数关系直接泛化出经补偿的关节角度,构建模型结构如图1所示。在充分利用人体示教信息的基础上,保证了仿人机器人的稳定性并简化了稳定性补偿角的计算。

Download:
图 1 机器人步态平衡泛化模型结构 Fig. 1 Robot gait balance generalization model structure

模型结构确立后,由1.1节可知,确定步态平衡泛化模型的SVR算法中的 $ C $ $ p $ $ \varepsilon $ 这3个参数变量成为了决定模型是否能输出理想的经稳定性补偿后的关节角度的关键步骤,3个参数选取的不合适就会直接导致模型的训练误差或泛化误差不在理想范围之内,出现过拟合和欠拟合的问题。如何确定 $ C $ $ p $ $ \varepsilon $ 成为了构建模型需要解决的问题。

2 基于WOA的仿人机器人步态平衡泛化模型的参数寻优

采用人为确定Cp $ \varepsilon $ 这3个参数的方法很难获得性能较好的泛化模型且低效繁琐,而常用的参数寻优方法,如粒子群优化(particle swarm optimization, PSO)算法和遗传算法(genetic algorithm, GA)得到的参数在SVR非线性回归模型中,由于算法收敛到一定精度时无法继续优化,能达到的精度有限,有时会产生泛化能力不够的问题。因此需要采用性能更好的优化算法对SVR回归模型的3个参数寻优,获取最佳的参数,以获得更好的泛化效果。

2.1 鲸鱼优化算法

鲸鱼优化算法(whale optimization algorithm, WOA)是一种全局随机优化算法,是一种新颖且效果很好的优化算法[15]。其过程分为2个阶段:开发阶段和探索阶段。从一组随机解开始,通过开发阶段找到最优解的大体范围,再通过螺旋收缩包围的机制找到最优解的具体位置。其数学模型建立如下:

$\left\{ \begin{array}{l} {{D}} = \left| {{{C}} \cdot {{{x}}^{{*}}}\left( t \right) - {{x}}\left( t \right)} \right| \\ {{x}}\left( {t + 1} \right) = {{{x}}^{{*}}}\left( t \right) - {{A}} \cdot {{D}} \\ {{A}} = 2{{a}} \cdot {{r}} - {{a}} \\ {{C}} = 2 \cdot {{r}} \\ \end{array} \right. $ (5)

式中: $ {A} $ $ {C} $ 均为更新系数; $ {a} $ 为(0,2)线性递减系数; ${{r}}$ 为(0,1)内的随机系数; $ {{x}}^{{*}}\left(t\right) $ 为当前最优解; $ {x}\left(t\right) $ 为当前解; $ {D} $ 为当前解与最优解间的距离。当 $\left|{{A}}\right| > 1$ 时,算法处于开发阶段。这种搜索方法体现了WOA在开发阶段,全局(线性递减)和随机相结合的思想,具有相当的合理性。当 $ \left|{A}\right|<1 $ 时,算法进入探索阶段,以收缩包围机制和螺旋更新机制与原先更新机制相结合的方式去寻找最优解。收缩包围机制通过逐步减小 $ \left|{A}\right| $ 的值,使当前解接近最优解。螺旋更新机制不同于开发阶段的螺旋更新方式,其搜索精度更高,具体数学模型如下:

${{x}}\left( {{\rm{t}} + 1} \right) = \left\{ {\begin{array}{*{20}{l}} {{{{x}}^{{*}}}\left( t \right) - {{A}} \cdot {{D}},\quad{{p}} < 0.5}\\ {{{D}} \cdot {{\rm{e}}^{{{bl}}}} \cdot {\rm{cos}}\left( {2{{{\text{π}} l}}} \right){{ + }}{{{x}}^{{*}}}\left( t \right),\quad{{p}} \geqslant 0.5} \end{array}} \right.$ (6)

式中:l为(−1,1)的随机数; $ b $ 为螺旋型函数; $ p $ 为随机概率即(0,1)的随机数。

当迭代次数达到最大时,最终采用式(9)进行最优解的确定:

$\left\{ {\begin{array}{*{20}{l}} {{{D}} = \left| {{{C}} \cdot {{{x}}_{{\rm{rand}}}} - {{x}}\left( t \right)} \right|} \\ {{{x}}\left( {t + 1} \right) = {{{x}}_{{\rm{rand}}}} - {{A}} \cdot {{D}}} \end{array}} \right.$ (7)

式中 ${{x}}_{\rm{r}\rm{a}\rm{n}\rm{d}}$ 为当前最优解中随机选取的一个解。在适应性函数选择恰当时(即能判断最优解时),WOA有很好地在参数空间中寻找最优解的能力。

2.2 WOA与传统算法对SVR非线性回归模型参数优化的能力比较

在SVR非线性回归模型中,p过大会使模型过于简单,学习精度不够;p过小,会出现过拟合,模型泛化能力变差。C $ \varepsilon $ 在选取时也会遇到相似的问题。因此,需要使用寻优算法对模型的3个参数进行寻优。

为了比较WOA和常用寻优算法对SVR非线性回归模型寻优性能的差异。分别使用3种算法(GA、PSO算法和WOA)对SVR非线性回归模型进行参数寻优并对3种算法的寻优效果进行对比,具体方法如下:使用风速时间序列预测的数据集(非线性回归问题与步态问题同样具有周期性和非线性的特点)在同一寻优空间内,分别使用GA、PSO算法和WOA对SVR非线性回归模型进行参数寻优,使用均方误差(MSE)作为性能指标来评估3种算法的参数寻优效果,其结果如表1所示。

表 1 3种算法对SVR非线性回归模型寻优效果比较 Tab.1 Comparison of effects of three algorithms for SVR nonlinear regression model

表1的结果可以看出,WOA在与GA对比中虽然训练误差差距不明显,但其泛化误差有着显著优势(GA过拟合)。而与PSO算法对比,训练误差和泛化误差都有着明显的提升。因此可以看出,WOA在寻优精度上高于其他2种算法,训练误差和泛化能力都优于2种常用的SVR参数优化算法。

2.3 基于WOA优化算法的机器人步态平衡泛化模型的参数优化

在以SVR为基础的步态平衡模型中,为了获取最佳的仿人机器人步态平衡泛化模型,需对3个参数使用WOA进行寻优,在此之前,需确定3个参数的寻优空间,过小会导致最佳参数在寻优空间之外,过大会影响寻优的效率。结合SVR模型在关节角度控制应用中的3个关键参数的寻优范围的经验[16],对该寻优范围的上下限进行适当地扩大,具体步骤如下:

1)确定3个参数的寻优范围分别为 $ p $ (0.005,0.3)、 $ C $ (0.05,3)、 $ \varepsilon $ (1,4),构成WOA的寻优空间。

2)构建WOA的适应性函数。针对 $ \varepsilon - $ SVR算法的训练参数的优化问题,选择MSE函数作为适应性函数。

3)使用WOA迭代寻优,在寻优空间内确定一组Cp $ \varepsilon $ ,使训练的MSE值最小。

经WOA寻优得到的 $C{\text{、}}p{\text{、}}\varepsilon$ 这3个参数,通过训练即可获得有理想泛化效果的步态平衡模型。

3 仿真实验设计与结果分析

为了验证上述方法的有效性,设计构建仿真环境及过程如下:

1)使用Kinect2.0对人体步行动作进行数据采集。Kinect2.0是一款能对人体的骨骼点信息进行跟踪,记录体感的采集器,它能对人体的25个骨骼点进行跟踪,并记录其三维坐标(xyz)。

2)在MATLAB中,对人体示教数据进行处理并构建平衡泛化模型,具体步骤为:运用空间向量法进行人体关节角度的计算;通过人体在步行运动双脚的高度选取支撑脚,以此脚底部的骨骼点作为ZMP信息提取,并进行数据预处理(归一化);SVR非线性模型构建;利用模仿学习计算平衡性补偿角的方式到经补偿后的机器人关节角度构成训练集和测试集;WOA参数寻优;步态平衡泛化模型训练和泛化。

3)在WEBOTS的仿真平台上,使用模型泛化补偿后的关节角驱动NAO机器人,观察其运动效果。其中,NAO机器人是由Aldebaran Robotics公司研发的有着13个关节25个自由度的仿人机器人,适合作为仿人机器人算法的研究平台。

仿真整体结构如图2所示。

Download:
图 2 仿真流程图 Fig. 2 Simulation flowchart
3.1 仿人机器人步态平衡模型的训练

Kinect2.0采集一组人体行走数据,共177个数据点(一个步态周期),前130个作为训练集,后47个作为测试集。由于仿人机器人的关节较多,在其步行运动过程中,通过调整髋关节和踝关节8个关节角度便可以实现稳态步行。因此以左腿为例,对左腿髋关节和踝关节的4个关节角度进行步态平衡模型的构建和训练。机器人踝关节的平衡泛化模型结构如图3所示。

Download:
图 3 踝关节步态平衡泛化模型结构图 Fig. 3 Ankle joint gait balance generalization model structure diagram

运用WOA对左腿的不同关节角的平衡模型进行参数寻优,以踝关节滚动角为例,其寻优过程的MSE值(均方误差)变化曲线如图4所示。

Download:
图 4 WOA寻优MSE变化曲线图 Fig. 4 WOA optimization MSE curve

在寻优确定参数的条件下,使用训练集对模型进行训练,训练结果如表2所示。

表 2 仿人机器人步态平衡泛化模型的训练参数及训练性能指标 Tab.2 Training parameters and training performance indicators of humanoid robot gait balance generalization model

分析表2中的数据可以看出,由WOA寻优确定的仿人机器人步态平衡泛化模型,对训练集样本关节角度的拟合效果较为理想,精确度和相关性较高。

3.2 仿人机器人步态平衡模型的泛化

使用测试集对训练好的步态平衡模型进行测试,由模型直接泛化得到的经补偿的关节角度与由传统算法得到的关节角度(理想角度)对比,如图5图6所示。

Download:
图 5 髋关节泛化结果 Fig. 5 Hip generalization results
Download:
图 6 踝关节泛化结果 Fig. 6 Ankle generalization results

图5图6中可以看出,对比模型泛化得到的关节角度与理想的关节角度,其均方误差和相关系数如表3所示。

表 3 仿人机器人步态平衡泛化模型在同一步长、步态周期下的泛化性能指标 Tab.3 Generalized performance indicators of humanoid robot gait balance generalization model under the same step and gait cycle

表3中可以看出,模型得到的关节角度序列与理想的关节角度序列的相关系数在0.866以上而均方误差则控制在了0.011 7以内,证明仿人机器人步态平衡模型有着很好的泛化能力。

为了验证机器人在泛化得到的关节角度的驱动下具有稳定性。利用模型的泛化结果与理想的关节角度的差值及式(8)得到机器人的质心偏移量:

$ {\delta _{{c}}} = {{J}}{\delta _\alpha } $ (9)

式中: ${\delta _{{c}}}$ 为质心偏移量; ${{J}}$ 为仿人机器人雅克比矩阵; ${\delta _\alpha }$ 为模型泛化角度与理想角度的偏差值。

机器人的在模型泛化角度下驱动机器人运动的ZMP轨迹如图7所示。

Download:
图 7 同一步长、步态周期下在泛化驱动角度下机器人ZMP轨迹 Fig. 7 Robot ZMP trajectory at generalized driving angle under the same step and gait cycle

图7中可以看出,通过模型泛化出的关节角度驱动机器人运动,其ZMP轨迹波动很小,且在机器人足部的支撑方框之内,证明机器人在模仿人体步行运动时不会摔倒。

由如图8可以看出,NAO机器人在WEBOTS环境下可以平稳地步行。

Download:
图 8 模型泛化角度值在WEBOTS仿真平台上的稳定步行 Fig. 8 Model generalized angle values for stable walking on the WEBOTS simulation platform

从上述结果可以看出,通过引入步态平衡泛化模型可以在减少复杂计算过程的基础上使机器人能够完成稳态步行,且具有很好的稳定性。

以上泛化结果为同一次示教的数据拆分成的训练集和测试集,因此示教步行动作的步长和步态周期相同。但不同示教人在示教时(甚至同一示教人在非同一次示教时)可能会产生步长和步态周期上的差异。为了验证步态平衡泛化模型不同示教人的示教信息的泛化能力,使用Kinect采集76个与训练集步长,步态周期均不同的人体行走数据点(两个步态周期),用上一节中训练好的步态平衡模型对其进行泛化。模型得到的经补偿后的关节角度与理想角度的对比如图9图10所示,所计算的机器人实际ZMP轨迹如图11所示。

Download:
图 9 不同步长、步态周期下左腿髋关节泛化结果 Fig. 9 Generalization of left hip pitch under different gait long and gait cycles
Download:
图 10 不同步长、步态周期下左脚踝关节泛化果 Fig. 10 Generalization of left ankle roll under non-synchronized and gait cycles
Download:
图 11 不同步长、步态周期下的机器人ZMP轨迹 Fig. 11 Robot ZMP trajectory under different gait long and gait cycle

表4的模型泛化结果中可以看到,与同一步长、步态周期下的泛化效果相比,模型对不同步长、步态周期下的示教数据泛化得到的4个关节角度值与理想的关节角度值相比虽然最大均方误差增加到了0.011 8,相关系数也降低到了0.794,机器人的实际ZMP也有轻微波动,机器人的稳定性方面也与同一步长、步态周期下的数据训练的模型存在一定差距。但在WEBOTS仿真平台上进行仿真,NAO机器人仍能进行较为平稳的步行运动。

表 4 不同步长、步态周期下的泛化性能指标 Tab.4 Generalized performance indicators of unsynchronized and long gait cycles

在不同步长和步态周期的示教数据下模型泛化的关节角度误差较小,ZMP轨迹还在机器人足部支撑方框内,因此步态平衡泛化模型能在不同示教者示教的情况下减少补偿角计算并保证步行稳定。不足之处有以下两点:

1)由于Kinect是一款非专业的体感采集器,其测量范围有一定的限制,太远或太近都会使测量误差过大,无法进行一组两个以上步行动作的采集。同时结合同一步长、步态周期下,泛化的起始点与理想的起始点有一些偏差,导致在循环动作时机器人会有一定不自然动作,甚至会导致机器人不稳定、摔倒。因此,在保证机器人稳定的基础上,步态周期间的平滑切换(连续步态周期的关节角度时间序列预测)是下一阶段工作的重点之一[17-19]

2)在不同步长、步态周期下的模型泛化效果与同一步长、步态周期下的相比不够理想。因此,进一步优化模型的算法和选择训练模型数据是构建针对仿人机器人不同组步行数据下的平衡泛化模型和构建步态循环模型的需要解决的问题。

4 结束语

仿真结果表明,仿人机器人步态平衡泛化模型可以在相同和不同步长和步态周期下有效地泛化机器人经稳定性补偿的关节角度,其泛化角度与理想角度的误差较小。使用泛化得到的角度在WEBOTS仿真平台上驱动NAO机器人,可使其稳定步行。证明了步态平衡泛化模型在保留模仿学习动作自然,运动方式多样的优点的同时,简化了稳定性补偿角的计算过程,增强了机器人模仿人体运动的实时性,并保证了机器人运动过程的稳定性。

参考文献
[1] WANG Fei, WANG Yaning, WEN Shiguang, et al. Nao humanoid robot gait planning based on the linear inverted pendulum[C]//Proceedings of 2012 24th Chinese Control and Decision Conference. Taiyuan, China, 2012: 986−990. (0)
[2] DONG Enzeng, WANG Dandan, CHEN Chao, et al. Realization of biped robot gait planning based on NAO robot development platform[C]//Proceedings of 2016 IEEE International Conference on Mechatronics and Automation. Harbin, China, 2016: 1073−1077. (0)
[3] ZHANG Ying, LI Shuanghong, HAN Boyu, et al. Research on gait planning and inverse kinematics solving of biped walking robots[C]//Proceedings of 2015 8th International Symposium on Computational Intelligence and Design. Hangzhou, China, 2015: 629−632. (0)
[4] KHAZENIFARD A, BAHRAMI F, ANDANI M E, et al. An energy efficient gait trajectory planning algorithm for a seven linked biped robot using movement elements[C]//Proceedings of 2015 23rd Iranian Conference on Electrical Engineering. Tehran, Iran, 2015: 1006−1011. (0)
[5] 付根平, 杨宜民, 黄春林. 基于粒子群优化算法的双足机器人步态优化[J]. 华中科技大学学报(自然科学版), 2011, 39(S2): 355-358.
FU Genping, YANG Yimin, HUANG Chunlin. Walking pattern optimization based on particle swarm optimization for biped robot[J]. Journal of Huazhong University of Science and Technology (nature science edition), 2011, 39(S2): 355-358. (0)
[6] YAMAGUCHI A, HYON S H, OGASAWARA T. Reinforcement learning for balancer embedded humanoid locomotion[C]//Proceedings of 2010 10th IEEE-RAS International Conference on Humanoid Robots. Nashville, USA, 2010: 308−313. (0)
[7] KANG Zhongrun, DENG Muqing, WANG Cong. Frontal-view human gait recognition based on kinect Features and deterministic learning[C]//Proceedings of 2017 36th Chinese Control Conference. Dalian, China, 2017: 10834−10839. (0)
[8] SELEEM I A, ASSAL S F M. Sliding mode control of underactuated five-link biped robot for climbing stairs based on real human data[C]//Proceedings of 2017 IEEE International Conference on Industrial Technology. Toronto, Canada, 2017: 878−883. (0)
[9] 赵姝颖, 徐文杰, 郑雪林, 等. 基于体感的机器人展示系统研究与开发[J]. 机器人技术与应用, 2012(6): 54-57.
ZHAO Shuying, XU Wenjie, ZHENG Xuelin, et al. Research and development of display system of Nao humanoid robot based on posture perception[J]. Robot technique and application, 2012(6): 54-57. DOI:10.3969/j.issn.1004-6437.2012.06.016 (0)
[10] 于建均, 门玉森, 阮晓钢, 等. 基于Kinect的Nao机器人动作模仿系统的研究与实现[J]. 智能系统学报, 2016, 11(2): 180-187.
YU Jianjun, MEN Yusen, RUAN Xiaogang, et al. The research and implementation of behavior imitation system about Nao robot based on Kinect[J]. CAAI transactions on intelligent systems, 2016, 11(2): 180-187. DOI:10.11992/tis.201511020 (0)
[11] SELEEM I A, ASSAL S F M, MOHAMED A M. Cyclic gait planning and control of underactuated five-link biped robot during single support and impact phases for normal walking[C]//Proceedings of 2018 IEEE International Conference on Industrial Technology. Lyon, France, 2018: 123−128. (0)
[12] LIN Jinling, HWANG K S, JIANG Weicheng, et al. Gait balance and acceleration of a biped robot based on Q-learning[J]. IEEE access, 2016, 4: 2439-2449. DOI:10.1109/ACCESS.2016.2570255 (0)
[13] CORTES C, VAPNIK V. Support-vector networks[J]. Machine learning, 1995, 20(3): 273-297. (0)
[14] 于建均, 张远, 左国玉, 等. 基于ZMP判据的仿人机器人步态模仿[J]. 北京工业大学学报, 2018, 44(9): 1187-1192.
YU Jianjun, ZHANG Yuan, ZUO Guoyu, et al. Humanoid robot gait imitation based on ZMP criterion[J]. Journal of Beijing University of Technology, 2018, 44(9): 1187-1192. (0)
[15] ALZAQEBAH A, MASADEH R, HUDAIB A. Whale optimization algorithm for requirements prioritization[C]//Proceedings of 2018 9th International Conference on Information and Communication Systems. Irbid, Jordan, 2018: 84−89. (0)
[16] FERREIRA J P, CRISÓSTOMO M, COIMBRA A P. SVR control of the sagittal balance of a biped robot combining torso and ankle joints[C]//Proceedings of 2010 World Automation Congress. Kobe, Japan, 2010: 1−9. (0)
[17] DING Zhen, YANG Chifu, XING Kai, et al. The real time gait phase detection based on long short-term memory[C]//Proceedings of 2018 IEEE Third International Conference on Data Science in Cyberspace. Guangzhou, China, 2018: 33−38. (0)
[18] 雷森, 史振威, 石天阳, 等. 基于递归神经网络的风暴潮增水预测[J]. 智能系统学报, 2017, 12(5): 640-644.
LEI Sen, SHI Zhenwei, SHI Tianyang, et al. Prediction of storm surge based on recurrent neural network[J]. CAAI transactions on intelligent systems, 2017, 12(5): 640-644. DOI:10.11992/tis.201706015 (0)
[19] FENG Yang, LI Yuncheng, LUO Jiebo, et al. Learning effective Gait features using LSTM[C]//Proceedings of 2016 23rd International Conference on Pattern Recognition. Cancun, Mexico, 2016: 325−330. (0)