第15卷第3期 智能系统学报 Vol.15 No.3 2020年5月 CAAI Transactions on Intelligent Systems May 2020 D0L:10.11992tis.201810017 仿人机器人步态平衡泛化模型的建立与仿真 于建均,李晨,左国玉,阮晓刚,王洋 (北京工业大学信息学部,北京100124) 摘要:通过人体示教计算零力矩点(zero moment point,ZMP),并通过补偿关节角度对其矫正的方法可以解决 机器人步行不稳定的问题,但仍存在算法复杂度过高等问题。本文提出一种人体示教与机器学习相结合的方 法,基于支持向量回归算法建立机器人的步态平衡泛化模型,通过该模型可以实现对模型输入人体示教的关节 角度和ZMP信息后直接得到经稳定性补偿的关节角度,并以此驱动机器人完成步行动作。引入鲸鱼优化算法 (whale optimization algorithm,WOA)优化模型的参数以使模型得到最优的泛化效果,完善步态平衡模型的性 能。WEBOTS仿真平台下,使用模型输出的补偿后的关节角度驱动NAO机器人,其动作自然、稳定且算法复 杂度较低,验证了本文方法的可行性。 关键词:仿人机器人;支持向量回归;步态平衡泛化模型;鲸鱼优化算法;ZMP信息;算法复杂度;NAO机器人: 机器学习 中图分类号:TP242.6文献标志码:A 文章编号:1673-4785(2020)03-0537-09 中文引用格式:于建均,李晨,左国玉,等.仿人机器人步态平衡泛化模型的建立与仿真小.智能系统学报,2020,15(3) 537-545. 英文引用格式:YU Jianjun,LI Chen,ZUO Guoyu,etal.Modeling and simulation of humanoid robot gait balance generalization(J CAAI transactions on intelligent systems,2020,15(3):537-545. 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 bal- ance 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. Keywords:humanoid robot;support vector regression;gait balance generalization model;whale optimization al- gorithm;ZMP information;algorithm complexity;NAO robot,machine learning 仿人机器人由于拥有与人体结构相似的双足高低落差较大的地形场景,且在崎岖多变的地形 式结构,可以较好地适应轮式机器人难以适应的 环境中机动性好,因此仿人机器人可以代替人类 收稿日期:2018-10-16 在复杂和危险的环境下工作,同时也被广泛应用 基金项目:国家自然科学基金项目(61873008):北京市自然科 到服务、医疗康复和教育娱乐等领域。因此仿人 学基金项目(4182008). 通信作者:于建均.E-mail:yujianjun@bjut.edu.cn 机器人的研究也就成为了机器人领域的重要研究
DOI: 10.11992/tis.201810017 仿人机器人步态平衡泛化模型的建立与仿真 于建均,李晨,左国玉,阮晓刚,王洋 (北京工业大学 信息学部,北京 100124) 摘 要:通过人体示教计算零力矩点 (zero moment point, ZMP),并通过补偿关节角度对其矫正的方法可以解决 机器人步行不稳定的问题,但仍存在算法复杂度过高等问题。本文提出一种人体示教与机器学习相结合的方 法,基于支持向量回归算法建立机器人的步态平衡泛化模型,通过该模型可以实现对模型输入人体示教的关节 角度和 ZMP 信息后直接得到经稳定性补偿的关节角度,并以此驱动机器人完成步行动作。引入鲸鱼优化算法 (whale optimization algorithm, WOA) 优化模型的参数以使模型得到最优的泛化效果,完善步态平衡模型的性 能。WEBOTS 仿真平台下,使用模型输出的补偿后的关节角度驱动 NAO 机器人,其动作自然、稳定且算法复 杂度较低,验证了本文方法的可行性。 关键词:仿人机器人;支持向量回归;步态平衡泛化模型;鲸鱼优化算法;ZMP 信息;算法复杂度;NAO 机器人; 机器学习 中图分类号:TP242.6 文献标志码:A 文章编号:1673−4785(2020)03−0537−09 中文引用格式:于建均, 李晨, 左国玉, 等. 仿人机器人步态平衡泛化模型的建立与仿真 [J]. 智能系统学报, 2020, 15(3): 537–545. 英文引用格式: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. 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. Keywords: humanoid robot; support vector regression; gait balance generalization model; whale optimization algorithm; ZMP information; algorithm complexity; NAO robot; machine learning 仿人机器人由于拥有与人体结构相似的双足 式结构,可以较好地适应轮式机器人难以适应的 高低落差较大的地形场景,且在崎岖多变的地形 环境中机动性好,因此仿人机器人可以代替人类 在复杂和危险的环境下工作,同时也被广泛应用 到服务、医疗康复和教育娱乐等领域。因此仿人 机器人的研究也就成为了机器人领域的重要研究 收稿日期:2018−10−16. 基金项目:国家自然科学基金项目 (61873008);北京市自然科 学基金项目 (4182008). 通信作者:于建均. E-mail:yujianjun@bjut.edu.cn. 第 15 卷第 3 期 智 能 系 统 学 报 Vol.15 No.3 2020 年 5 月 CAAI Transactions on Intelligent Systems May 2020
·538· 智能系统学报 第15卷 方向之一。 稳定性补偿的关节角度。在保留人体示教优点且 控制机器人的稳定步行,传统上是通过规划 保证稳定性的同时降低计算复杂度,增强机器人 ZMP轨迹,并通过逆运动学等方法求取机器人的 动作模仿的实时性。 驱动角度完成的。而人为规划的ZMP轨迹和质 1.1支持向量回归算法 心轨迹过分依靠仿人机器人运动学模型,这种方 支持向量回归模型分为线性回归模型和非线 法在对机器人建模时需进行大量的计算,且运动 性回归模型。考虑到人体示教数据和机器人驱动 模式僵硬单一。由于人体结构与仿人机器人 关节角度是非线性关系,需要建立非线性回归模 的结构有很强的相似性,通过人体示教的方式, 型。给定样本: 机器人模仿其动作的方式,能使机器人动作自 D=1,y),(2,y2),…,(c,),i=1,2,…,0(1) 然,运动方式多样0,但是二者之间的质量分布 式中:x∈Rm是n维输入值;y∈R是一维输出值;i 存在差异,直接使用人体示教的关节角度,容易 为样本数量。SVR算法构造的非线性回归模型 导致仿人机器人在运动过程中摔倒。使用ZMP 的思想是利用核技巧将训练数据映射到高维空间 补偿或线性反馈等方式补偿关节角度可使仿人机 再线性回归以简化运算。本文采用RBF核函数 器人在步行过程中的稳定性提高,但补偿角的计 作为SVR模型的核函数。其回归模型函数为 f(x)=wΦ(x)+b (2) 算过程过于复杂。Seleem等使用Kinect-V2传 式中:x为模型输人的n维变量;w和b为训练得 感器捕捉人体步态数据同时使用多项式拟合并利 到的回归模型参数;(x)为核函数。 用反馈线性化技术稳定双足机器人步行过程,获 在SVM间隔最大化思想下,引人不敏感损失 得了较为自然且多样的步态轨迹,但未能充分利 函数ε、惩罚系数C以及松弛变量、号,可得到 用人体的示教数据,使计算过程过于复杂。面对 E-SVR非线性回归模型: 计算量大这一问题,机器学习通过构建“模型”思 想,大大减少了传统算法的运算量和计算过程。 m,a+c∑+ (u.b5.5')21 i=l Hwang等a应用机器学习的思想对仿人机器人 s.L.y-ωΦ()-b≤e+E (3) 的ZMP轨迹进行规划,并将机器人的关节角度构 ω中(x)+b≤E+” 5,5*≥0 成离散的动作空间,以构建机器人步行模型,进 为了计算更加便捷,通过引入拉格朗日乘子 行步态控制,但只有16个动作的离散动作空间机 、,并通过拉格朗日乘法寻优,可以得到 器人动作僵硬单一。支持向量回归(support vact-. SVR的对偶最优化问题: or regression,SVR)由Cortes等l1提出,是建立在 结构风险最小化原则基础之上的一种机器学习算 maxy-e)- ,a:(y+)+ 法。相较于传统的机器学习算法的经验风险最小 化原则,它在最小化训练误差的同时最小化了泛 ∑a,-a)@,-a)K(x) (4) 化误差的上限,并且其算法复杂度与样本的训练 s.L.0≤≤C,0≤a≤C,i=1,2,…,l 维数无关,避免了维数灾难,是一种有着很强理 (a;-a)=0 论基础的小样本学习方法。 1 式中:K(,x)=xr)x)为核函数,本文采用 基于SVR的机器人步态平衡泛化 RBF核函数。 模型的构建 由于不等式约束问题需满足的KKT条件可 解得SVR的解形式为 采用人体示教的方法,可以使仿人机器人在 不同的步长、步态周期下动作自然地行走且大大 f)=∑a-a)Kkx)+b (5) 简化了动力学建模的计算过程。但在机器人模仿 =1 人体步行动作时,由于两者质量分布不同,质心 式中b=+8- ∑a-a)K 在运动过程中极易发生偏移,需要通过人体示教 综上所述,决定SVR算法非线性模型性能的 信息经过大量计算得到使机器人稳定步行的关节 参数为a、、8,以及RBF核函数中自带的宽度 补偿角度。考虑基于SVR算法建立步态平衡 系数p,其中a、a在式(4)的条件约束下,由惩 泛化模型,根据得到的人体示教信息直接得到经 罚系数C决定
方向之一。 控制机器人的稳定步行,传统上是通过规划 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 ={(x1, y1),(x2, y2),··· ,(xi , yi), i =1,2,··· , l} (1) xi ∈ R n 式中: 是 n 维输入值; yi ∈ R 是一维输出值; i 为样本数量。SVR 算法构造的非线性回归模型 的思想是利用核技巧将训练数据映射到高维空间 再线性回归以简化运算。本文采用 RBF 核函数 作为 SVR 模型的核函数。其回归模型函数为 f (x) = ω·Φ(x)+b (2) ω b Φ(x) 式中:x 为模型输入的 n 维变量; 和 为训练得 到的回归模型参数; 为核函数。 ε ξi ξ ∗ i ε− 在 SVM 间隔最大化思想下,引入不敏感损失 函数 、惩罚系数 C 以及松弛变量 、 ,可得到 SVR 非线性回归模型: min (ω,b,ξi,ξi ∗ ) 1 2 ∥ω∥ 2 +C ∑l i=1 (ξi +ξi ∗ ) s.t. yi −ωΦ(x)−b ⩽ ε+ξi ωΦ(x)+b ⩽ ε+ξi ∗ ξi , ξi ∗ ⩾ 0 (3) αi α ∗ i 为了计算更加便捷,通过引入拉格朗日乘子 、 ,并通过拉格朗日乘法寻优,可以得 到 SVR 的对偶最优化问题: max (αi,αi ∗ ) ∑l i=1 αi(y−ε)− ∑l i=1 αi ∗ (y+ε)+ ∑l i, j=1 ( αj −αj ∗ ) (αi −αi ∗ )K ( xi , xj ) s.t. 0 ⩽ αi ⩽ C,0 ⩽ αi ∗ ⩽ C,i = 1,2,··· ,l ∑l i=1 (αi −αi ∗ ) = 0 (4) K ( xi , xj ) = Φ(x) T 式中: Φ(x) 为核函数,本文采 用 RBF 核函数。 由于不等式约束问题需满足的 KKT 条件可 解得 SVR 的解形式为 f(x) = ∑l i=1 ( αi −α ∗ i ) K ( xi , xj ) +b (5) b = yi +ε− ∑l i=1 ( αi −α ∗ i ) K ( xi , xj ) 式中 αi α ∗ i ε p αi α ∗ i C 综上所述,决定 SVR 算法非线性模型性能的 参数为 、 、 ,以及 RBF 核函数中自带的宽度 系数 ,其中 、 在式 (4) 的条件约束下,由惩 罚系数 决定。 ·538· 智 能 系 统 学 报 第 15 卷
第3期 于建均,等:仿人机器人步态平衡泛化模型的建立与仿真 ·539· 1.2仿人机器人步态平衡泛化模型的构建 2基于WOA的仿人机器人步态平衡 构建步态平衡泛化模型需要在SVR算法非 泛化模型的参数寻优 线性回归模型结构的基础上,确定合适的输入和 输出。二者之间需有一定的相关关系,才能保证 采用人为确定C、p、ε这3个参数的方法很 模型有良好的泛化效果。具体选择如下:以人体 难获得性能较好的泛化模型且低效繁琐,而常用 示教的关节角度和人体步行的ZMP信息作为步 的参数寻优方法,如粒子群优化(particle swarm 态平衡模型的输入。首先,人体示教的关节角度 optimization,.PSO)算法和遗传算法(genetic al-. 是机器人模仿人体动作的基础。其次,在计算关 gorithm,GA)得到的参数在SVR非线性回归模型 节稳定性补偿角度时人体示教的ZMP信息(以 中,由于算法收敛到一定精度时无法继续优化, 能达到的精度有限,有时会产生泛化能力不够的 示教者支撑脚底部的骨骼点轨迹作为人体示教 问题。因此需要采用性能更好的优化算法对 的ZMP轨迹)是在计算关节稳定性补偿角度时 SVR回归模型的3个参数寻优,获取最佳的参 的重要依据,并且由其定义式如式(6)所示,ZMP 数,以获得更好的泛化效果。 信息包含了人体示教的质心信息和质心加速速 2.1鲸鱼优化算法 度信息: 鲸鱼优化算法(whale optimization algorithm, p=c-he (6) WOA)是一种全局随机优化算法,是一种新颖且 式中:p为示教者ZMP点;c为示教者质心;:为 效果很好的优化算法1。其过程分为2个阶段: 示教者质心加速度;h为示教者质心等价高度;g 开发阶段和探索阶段。从一组随机解开始,通过 为重力加速度。 开发阶段找到最优解的大体范围,再通过螺旋收 缩包围的机制找到最优解的具体位置。其数学模 以平衡补偿后的关节角度(即机器人驱动角 型建立如下: 度)作为输出。在稳定的基础上省去稳定性补偿 D=IC·x*(t)-x(t) 角的复杂计算,完成仿人机器人的步行控制。 x(t+1)=x*(t)-A·D 对模型输入人体的关节角度和人体在步行运 A=2a.r-a (7) 动时的ZMP信息,由SVR非线性回归模型代替 C=2.r 人体示教信息和稳定性后的关节角度之间的函数 式中:A、C均为更新系数;a为(0,2)线性递减系 关系直接泛化出经补偿的关节角度,构建模型结 数;r为(0,1)内的随机系数;x()为当前最优解; 构如图1所示。在充分利用人体示教信息的基础 x()为当前解;D为当前解与最优解间的距离。 上,保证了仿人机器人的稳定性并简化了稳定性 当4>1时,算法处于开发阶段。这种搜索方法 补偿角的计算。 体现了WOA在开发阶段,全局(线性递减)和随 机相结合的思想,具有相当的合理性。当A<1 人体示教 仿人机器人 经稳定性补偿后的 时,算法进入探索阶段,以收缩包围机制和螺旋 关节角度 步态平衡 关节角度 轨迹 模型 更新机制与原先更新机制相结合的方式去寻找最 优解。收缩包围机制通过逐步减小A的值,使当 前解接近最优解。螺旋更新机制不同于开发阶段 人体示教 的螺旋更新方式,其搜索精度更高,具体数学模 ZMP 型如下: 轨迹信息 x(0-A·D,p<0.5 图1机器人步态平衡泛化模型结构 x(t+1)= D.e.cos(2πl0+x(t),p≥0.5 (8) Fig.1 Robot gait balance generalization model structure 式中:1为(-1,1)的随机数;b为螺旋型函数;p为 模型结构确立后,由1.1节可知,确定步态平 随机概率即(0,1)的随机数。 衡泛化模型的SVR算法中的C、p、ε这3个参数 当迭代次数达到最大时,最终采用式(9)进行 变量成为了决定模型是否能输出理想的经稳定性 最优解的确定: 补偿后的关节角度的关键步骤,3个参数选取的 D=IC.xmd-x(t川 x(t+l)=xad-A·D (9) 不合适就会直接导致模型的训练误差或泛化误差 不在理想范围之内,出现过拟合和欠拟合的问 式中xa为当前最优解中随机选取的一个解。在 题。如何确定C、p、ε成为了构建模型需要解决 适应性函数选择恰当时(即能判断最优解时), 的问题。 WOA有很好地在参数空间中寻找最优解的能力
1.2 仿人机器人步态平衡泛化模型的构建 构建步态平衡泛化模型需要在 SVR 算法非 线性回归模型结构的基础上,确定合适的输入和 输出。二者之间需有一定的相关关系,才能保证 模型有良好的泛化效果。具体选择如下:以人体 示教的关节角度和人体步行的 ZMP 信息作为步 态平衡模型的输入。首先,人体示教的关节角度 是机器人模仿人体动作的基础。其次,在计算关 节稳定性补偿角度时人体示教的 ZMP 信息 (以 示教者支撑脚底部的骨骼点轨迹作为人体示教 的 ZMP 轨迹) 是在计算关节稳定性补偿角度时 的重要依据,并且由其定义式如式 (6) 所示,ZMP 信息包含了人体示教的质心信息和质心加速速 度信息: p = c− h g c¨ (6) p c c¨ h g 式中: 为示教者 ZMP 点; 为示教者质心; 为 示教者质心加速度; 为示教者质心等价高度; 为重力加速度。 以平衡补偿后的关节角度 (即机器人驱动角 度) 作为输出。在稳定的基础上省去稳定性补偿 角的复杂计算,完成仿人机器人的步行控制。 对模型输入人体的关节角度和人体在步行运 动时的 ZMP 信息,由 SVR 非线性回归模型代替 人体示教信息和稳定性后的关节角度之间的函数 关系直接泛化出经补偿的关节角度,构建模型结 构如图 1 所示。在充分利用人体示教信息的基础 上,保证了仿人机器人的稳定性并简化了稳定性 补偿角的计算。 人体示教 关节角度 轨迹 仿人机器人 步态平衡 模型 经稳定性补偿后的 关节角度 人体示教 ZMP 轨迹信息 图 1 机器人步态平衡泛化模型结构 Fig. 1 Robot gait balance generalization model structure C p ε C p ε 模型结构确立后,由 1.1 节可知,确定步态平 衡泛化模型的 SVR 算法中的 、 、 这 3 个参数 变量成为了决定模型是否能输出理想的经稳定性 补偿后的关节角度的关键步骤,3 个参数选取的 不合适就会直接导致模型的训练误差或泛化误差 不在理想范围之内,出现过拟合和欠拟合的问 题。如何确定 、 、 成为了构建模型需要解决 的问题。 2 基于 WOA 的仿人机器人步态平衡 泛化模型的参数寻优 采用人为确定 C、p、ε 这 3 个参数的方法很 难获得性能较好的泛化模型且低效繁琐,而常用 的参数寻优方法,如粒子群优化 (particle swarm optimization, PSO) 算法和遗传算法 (genetic algorithm, GA) 得到的参数在 SVR 非线性回归模型 中,由于算法收敛到一定精度时无法继续优化, 能达到的精度有限,有时会产生泛化能力不够的 问题。因此需要采用性能更好的优化算法对 SVR 回归模型的 3 个参数寻优,获取最佳的参 数,以获得更好的泛化效果。 2.1 鲸鱼优化算法 鲸鱼优化算法 (whale optimization algorithm, WOA) 是一种全局随机优化算法,是一种新颖且 效果很好的优化算法[15]。其过程分为 2 个阶段: 开发阶段和探索阶段。从一组随机解开始,通过 开发阶段找到最优解的大体范围,再通过螺旋收 缩包围的机制找到最优解的具体位置。其数学模 型建立如下: D = |C· x ∗ (t)− x(t)| x(t+1) = x ∗ (t)− A· D A = 2a ·r− a C = 2 ·r (7) A C a r x ∗ (t) x(t) D |A| > 1 |A| < 1 |A| 式中: 、 均为更新系数; 为 (0,2) 线性递减系 数; 为 (0,1) 内的随机系数; 为当前最优解; 为当前解; 为当前解与最优解间的距离。 当 时,算法处于开发阶段。这种搜索方法 体现了 WOA 在开发阶段,全局 (线性递减) 和随 机相结合的思想,具有相当的合理性。当 时,算法进入探索阶段,以收缩包围机制和螺旋 更新机制与原先更新机制相结合的方式去寻找最 优解。收缩包围机制通过逐步减小 的值,使当 前解接近最优解。螺旋更新机制不同于开发阶段 的螺旋更新方式,其搜索精度更高,具体数学模 型如下: x(t+1) = { x ∗ (t)− A· D, p < 0.5 D· e bl · cos(2πl)+x ∗ (t), p ⩾ 0.5 (8) 式中:l 为 (−1,1) 的随机数; b 为螺旋型函数; p 为 随机概率即 (0,1) 的随机数。 当迭代次数达到最大时,最终采用式 (9) 进行 最优解的确定: { D = |C· xrand − x(t)| x(t+1) = xrand − A· D (9) 式中 xrand 为当前最优解中随机选取的一个解。在 适应性函数选择恰当时 (即能判断最优解时), WOA 有很好地在参数空间中寻找最优解的能力。 第 3 期 于建均,等:仿人机器人步态平衡泛化模型的建立与仿真 ·539·
·540· 智能系统学报 第15卷 2.2WOA与传统算法对SVR非线性回归模型参 法的训练参数的优化问题,选择MSE函数作为适 数优化的能力比较 应性函数。 在SVR非线性回归模型中,p过大会使模型 3)使用WOA迭代寻优,在寻优空间内确定 过于简单,学习精度不够;P过小,会出现过拟合, 组C、p、8,使训练的MSE值最小。 模型泛化能力变差。C和ε在选取时也会遇到相 经WOA寻优得到的C、p、E这3个参数,通 似的问题。因此,需要使用寻优算法对模型的 过训练即可获得有理想泛化效果的步态平衡模型。 3个参数进行寻优。 为了比较WOA和常用寻优算法对SVR非线 3仿真实验设计与结果分析 性回归模型寻优性能的差异。分别使用3种算法 为了验证上述方法的有效性,设计构建仿真 (GA、PSO算法和WOA)对SVR非线性回归模型 进行参数寻优并对3种算法的寻优效果进行对比, 环境及过程如下: 具体方法如下:使用风速时间序列预测的数据集 1)使用Kinect2.0对人体步行动作进行数据 (非线性回归问题与步态问题同样具有周期性和非 采集。Kinect2.0是一款能对人体的骨骼点信息进 线性的特点)在同一寻优空间内,分别使用GA、 行跟踪,记录体感的采集器,它能对人体的25个 PSO算法和WOA对SVR非线性回归模型进行参 骨骼点进行跟踪,并记录其三维坐标(x,八,)。 数寻优,使用均方误差(MSE)作为性能指标来评 2)在MATLAB中,对人体示教数据进行处理 估3种算法的参数寻优效果,其结果如表1所示。 并构建平衡泛化模型,具体步骤为:运用空间向 量法进行人体关节角度的计算;通过人体在步行 表13种算法对SVR非线性回归模型寻优效果比较 Table 1 Comparison of effects of three algorithms for SVR 运动双脚的高度选取支撑脚,以此脚底部的骨骼 nonlinear regression model 点作为ZMP信息提取,并进行数据预处理(归一 算法 C、p、E 训练MSE/rad 泛化MSE/rad 化);SVR非线性模型构建;利用模仿学习计算平 C=28、p=5 衡性补偿角的方式到经补偿后的机器人关节角度 GA 0.101 1.36 e=0.21 构成训练集和测试集;WOA参数寻优:步态平衡 C=2.7、p=0.1 泛化模型训练和泛化。 PSO 0.304 0.783 8=0.01 3)在WEBOTS的仿真平台上,使用模型泛化 C=76、p-0.0 补偿后的关节角驱动NAO机器人,观察其运动 WOA 0.095 0.666 =0.01 效果。其中,NAO机器人是由Aldebaran Robot-. ics公司研发的有着13个关节25个自由度的仿 从表1的结果可以看出,WOA在与GA对比 中虽然训练误差差距不明显,但其泛化误差有着 人机器人,适合作为仿人机器人算法的研究平台。 显著优势(GA过拟合)。而与PSO算法对比,训 仿真整体结构如图2所示。 练误差和泛化误差都有着明显的提升。因此可以 测试 看出,WOA在寻优精度上高于其他2种算法,训 集 练误差和泛化能力都优于2种常用的SVR参数 计算 人体 数据 关节角度 训练 SVR 步态平 优化算法。 步行 采集 提取ZMP 集 回归模型 衡模型 2.3基于WOA优化算法的机器人步态平衡泛化 点信息 WOA 模型的参数优化 寻优 在以SVR为基础的步态平衡模型中,为了获 取最佳的仿人机器人步态平衡泛化模型,需对 泛化输出 3个参数使用WOA进行寻优,在此之前,需确定 驱动角度 3个参数的寻优空间,过小会导致最佳参数在寻 优空间之外,过大会影响寻优的效率。结合SVR 图2仿真流程图 模型在关节角度控制应用中的3个关键参数的寻 Fig.2 Simulation flowchart 优范围的经验,对该寻优范围的上下限进行适 3.1 仿人机器人步态平衡模型的训练 当地扩大,具体步骤如下: Kinect2.0采集一组人体行走数据,共177个 1)确定3个参数的寻优范围分别为p0.005,0.3)、 数据点(一个步态周期),前130个作为训练集,后 C(0.05,3)、(1,4),构成WOA的寻优空间。 47个作为测试集。由于仿人机器人的关节较多, 2)构建WOA的适应性函数。针对E-SVR算 在其步行运动过程中,通过调整髋关节和踝关节
2.2 WOA 与传统算法对 SVR 非线性回归模型参 数优化的能力比较 ε 在 SVR 非线性回归模型中,p 过大会使模型 过于简单,学习精度不够;p 过小,会出现过拟合, 模型泛化能力变差。C 和 在选取时也会遇到相 似的问题。因此,需要使用寻优算法对模型的 3 个参数进行寻优。 为了比较 WOA 和常用寻优算法对 SVR 非线 性回归模型寻优性能的差异。分别使用 3 种算法 (GA、PSO 算法和 WOA) 对 SVR 非线性回归模型 进行参数寻优并对 3 种算法的寻优效果进行对比, 具体方法如下:使用风速时间序列预测的数据集 (非线性回归问题与步态问题同样具有周期性和非 线性的特点) 在同一寻优空间内,分别使用 GA、 PSO 算法和 WOA 对 SVR 非线性回归模型进行参 数寻优,使用均方误差 (MSE) 作为性能指标来评 估 3 种算法的参数寻优效果,其结果如表 1 所示。 表 1 3 种算法对 SVR 非线性回归模型寻优效果比较 Table 1 Comparison of effects of three algorithms for SVR nonlinear regression model 算法 C、p、ε 训练MSE/rad 泛化MSE/rad GA ε C=28、p=5、 =0.21 0.101 1.36 PSO ε C=2.7、p=0.1、 =0.01 0.304 0.783 WOA ε C=76、p=0.0、 =0.01 0.095 0.666 从表 1 的结果可以看出,WOA 在与 GA 对比 中虽然训练误差差距不明显,但其泛化误差有着 显著优势 (GA 过拟合)。而与 PSO 算法对比,训 练误差和泛化误差都有着明显的提升。因此可以 看出,WOA 在寻优精度上高于其他 2 种算法,训 练误差和泛化能力都优于 2 种常用的 SVR 参数 优化算法。 2.3 基于 WOA 优化算法的机器人步态平衡泛化 模型的参数优化 在以 SVR 为基础的步态平衡模型中,为了获 取最佳的仿人机器人步态平衡泛化模型,需对 3 个参数使用 WOA 进行寻优,在此之前,需确定 3 个参数的寻优空间,过小会导致最佳参数在寻 优空间之外,过大会影响寻优的效率。结合 SVR 模型在关节角度控制应用中的 3 个关键参数的寻 优范围的经验[16] ,对该寻优范围的上下限进行适 当地扩大,具体步骤如下: p C ε 1) 确定 3 个参数的寻优范围分别为 (0.005,0.3)、 (0.05,3)、 (1,4),构成 WOA 的寻优空间。 2) 构建 WOA 的适应性函数。针对 ε−SVR 算 法的训练参数的优化问题,选择 MSE 函数作为适 应性函数。 ε 3) 使用 WOA 迭代寻优,在寻优空间内确定 一组 C、p、 ,使训练的 MSE 值最小。 经 WOA 寻优得到的 C、p、ε 这 3 个参数,通 过训练即可获得有理想泛化效果的步态平衡模型。 3 仿真实验设计与结果分析 为了验证上述方法的有效性,设计构建仿真 环境及过程如下: 1) 使用 Kinect2.0 对人体步行动作进行数据 采集。Kinect2.0 是一款能对人体的骨骼点信息进 行跟踪,记录体感的采集器,它能对人体的 25 个 骨骼点进行跟踪,并记录其三维坐标 (x,y,z)。 2) 在 MATLAB 中,对人体示教数据进行处理 并构建平衡泛化模型,具体步骤为:运用空间向 量法进行人体关节角度的计算;通过人体在步行 运动双脚的高度选取支撑脚,以此脚底部的骨骼 点作为 ZMP 信息提取,并进行数据预处理 (归一 化);SVR 非线性模型构建;利用模仿学习计算平 衡性补偿角的方式到经补偿后的机器人关节角度 构成训练集和测试集;WOA 参数寻优;步态平衡 泛化模型训练和泛化。 3) 在 WEBOTS 的仿真平台上,使用模型泛化 补偿后的关节角驱动 NAO 机器人,观察其运动 效果。其中,NAO 机器人是由 Aldebaran Robotics 公司研发的有着 13 个关节 25 个自由度的仿 人机器人,适合作为仿人机器人算法的研究平台。 仿真整体结构如图 2 所示。 测试 集 训练 集 SVR 回归模型 步态平 衡模型 计算 关节角度、 提取 ZMP 点信息 人体 步行 数据 采集 WOA 寻优 泛化输出 驱动角度 图 2 仿真流程图 Fig. 2 Simulation flowchart 3.1 仿人机器人步态平衡模型的训练 Kinect2.0 采集一组人体行走数据,共 177 个 数据点 (一个步态周期),前 130 个作为训练集,后 47 个作为测试集。由于仿人机器人的关节较多, 在其步行运动过程中,通过调整髋关节和踝关节 ·540· 智 能 系 统 学 报 第 15 卷
第3期 于建均,等:仿人机器人步态平衡泛化模型的建立与仿真 ·541· 8个关节角度便可以实现稳态步行。因此以左腿 分析表2中的数据可以看出,由WOA寻优 为例,对左腿髋关节和踝关节的4个关节角度进 确定的仿人机器人步态平衡泛化模型,对训练集 行步态平衡模型的构建和训练。机器人踝关节的 样本关节角度的拟合效果较为理想,精确度和相 平衡泛化模型结构如图3所示。 关性较高。 人体示教踝 仿人机器人 仿人机器人踝 3.2仿人机器人步态平衡模型的泛化 关节角度 步态平衡 关节滚动角/ 轨迹 模型 俯仰角驱动角度 使用测试集对训练好的步态平衡模型进行测 试,由模型直接泛化得到的经补偿的关节角度与 由传统算法得到的关节角度(理想角度)对比,如 人体示教 ZMP 图5、图6所示。 轨迹W☑ 向信息 0.6 一模型泛化角度 图3踝关节步态平衡泛化模型结构图 0.4 …理想角度 Fig.3 Ankle joint gait balance generalization model struc- 0.2 ture diagram 0 运用WOA对左腿的不同关节角的平衡模型 进行参数寻优,以踝关节滚动角为例,其寻优过 05101520253035404550 时间序列/帧 程的MSE值(均方误差)变化曲线如图4所示。 (a)俯仰角 0.15 一模型泛化角度 理想角度 o 0 5 10152025.3035404550 400 800120016002000 时间序列/帧 选代周期/个 (b)滚动角 图4WOA寻优MSE变化曲线图 图5髋关节泛化结果 Fig.4 WOA optimization MSE curve Fig.5 Hip generalization results 在寻优确定参数的条件下,使用训练集对模 0.10 型进行训练,训练结果如表2所示。 0.05 表2仿人机器人步态平衡泛化模型的训练参数及训练 0 性能指标 经0.05 Table 2 Training parameters and training performance -0.10 模型泛化角度 indicators of humanoid robot gait balance gener- -0.15 理想角度 alization model 日-020 0 5 101520253035404550 时间序列/帧 R(相关系数 均方误差/ 关节角度名称 C、p、e (a)俯仰角 的平方) rad 0.6 C=1.96 0.4 模型泛化角度 理想角度 踝关节滚动角 p=0.010 0.908 0.00133 0.2 =2.42 0 C=2 -0.2 踝关节俯仰角 p-0.011 0.972 0.000172 -0.4 0 5 101520253035404550 =4 时间序列/顿 C=2 (b)滚动角 髋关节俯仰角 p=0.10 0.898 0.00287 图6踝关节泛化结果 =0.4 Fig.6 Ankle generalization results C=1.3 从图5、图6中可以看出,对比模型泛化得到 髋关节滚动角 p=0.0010 0.985 3.62e-06 的关节角度与理想的关节角度,其均方误差和相 64 关系数如表3所示
8 个关节角度便可以实现稳态步行。因此以左腿 为例,对左腿髋关节和踝关节的 4 个关节角度进 行步态平衡模型的构建和训练。机器人踝关节的 平衡泛化模型结构如图 3 所示。 人体示教踝 关节角度 轨迹 仿人机器人 步态平衡 模型 仿人机器人踝 关节滚动角/ 俯仰角驱动角度 人体示教 ZMP 轨迹 X/Z 向信息 图 3 踝关节步态平衡泛化模型结构图 Fig. 3 Ankle joint gait balance generalization model structure diagram 运用 WOA 对左腿的不同关节角的平衡模型 进行参数寻优,以踝关节滚动角为例,其寻优过 程的 MSE 值 (均方误差) 变化曲线如图 4 所示。 MSE ×10−4 8 6 4 2 0 400 800 1 200 1 600 2 000 迭代周期/个 图 4 WOA 寻优 MSE 变化曲线图 Fig. 4 WOA optimization MSE curve 在寻优确定参数的条件下,使用训练集对模 型进行训练,训练结果如表 2 所示。 表 2 仿人机器人步态平衡泛化模型的训练参数及训练 性能指标 Table 2 Training parameters and training performance indicators of humanoid robot gait balance generalization model 关节角度名称 C、p、ε R 2 (相关系数 的平方) 均方误差/ rad 踝关节滚动角 C=1.96 p=0.010 ε=2.42 0.908 0.001 33 踝关节俯仰角 C=2 p=0.011 ε=4 0.972 0.000 172 髋关节俯仰角 C=2 p=0.10 ε=0.4 0.898 0.002 87 髋关节滚动角 C=1.3 p=0.001 0 ε=4 0.985 3.62e-06 分析表 2 中的数据可以看出,由 WOA 寻优 确定的仿人机器人步态平衡泛化模型,对训练集 样本关节角度的拟合效果较为理想,精确度和相 关性较高。 3.2 仿人机器人步态平衡模型的泛化 使用测试集对训练好的步态平衡模型进行测 试,由模型直接泛化得到的经补偿的关节角度与 由传统算法得到的关节角度 (理想角度) 对比,如 图 5、图 6 所示。 左腿髋关节俯仰角/rad 左腿髋关节滚动角/rad 时间序列/帧 时间序列/帧 模型泛化角度 理想角度 模型泛化角度 理想角度 0.6 0.4 0.2 0 −0.2 0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50 (a) 俯仰角 (b) 滚动角 0.15 0.10 0.05 图 5 髋关节泛化结果 Fig. 5 Hip generalization results 0.10 0.05 0 −0.05 −0.10 −0.15 −0.20 模型泛化角度 理想角度 模型泛化角度 理想角度 时间序列/帧 0 5 10 15 20 25 30 35 40 45 50 时间序列/帧 0 5 10 15 20 25 30 35 40 45 50 (a) 俯仰角 左腿髋关节俯仰角/rad 左腿髋关节滚动角/rad 0.6 0.4 0.2 0 −0.2 −0.4 (b) 滚动角 图 6 踝关节泛化结果 Fig. 6 Ankle generalization results 从图 5、图 6 中可以看出,对比模型泛化得到 的关节角度与理想的关节角度,其均方误差和相 关系数如表 3 所示。 第 3 期 于建均,等:仿人机器人步态平衡泛化模型的建立与仿真 ·541·