一种基于遗传算法的人形双足机器人步行姿态控制方法

文档序号:10603442阅读:417来源:国知局
一种基于遗传算法的人形双足机器人步行姿态控制方法
【专利摘要】本发明公开了一种基于遗传算法的人形双足机器人步行姿态控制方法,基于ZMP控制理论、位姿矩阵建立了双足机器人的数学模型,模拟人的基本步态,采用步行周期T、步速V、身高H、手臂摆幅R、身躯中心上下摆幅C、身躯中心左右的摆幅A这六个参数对机器人的步态进行了规划,通过遗传算法选取优化的T、V、H、R、C、A六个参数,带入位姿矩阵的逆运算中,得出机器人其他关节坐标的值,解决了生成稳定控制机器人步态的数据的方法。克服了位姿矩阵逆运算运算量大、效率不高的问题,提高了系统实时响应能力,并用该方法产生的数据用于人形双足机器人系统中,达到了很好的控制效果。
【专利说明】
一种基于遗传算法的人形双足机器人步行姿态控制方法
技术领域
[0001]本发明属于机器人自动化技术领域,具体涉及一种基于遗传算法的人形双足机器人步行姿态控制方法。
【背景技术】
[0002]目前,人形双足机器人和其他的机器人相比,有着体积小,重量轻,动作灵活,反应迅速等特点,而且更加相似于人类的动作特征,所以对双足机器人的研究有着很大的现实意义。在人形双足机器人的研究中稳定性控制是非常重要的,没有稳定性作前提,其他的动作如行走、后退、前翻、后翻等也就无从谈起。目前人形双足机器人控制中,存在稳定性控制不佳、行走不稳定、摔倒的问题,存在行走姿态不协调,不像人类行走的样子。机器人控制过程中,通常用到位姿矩阵的逆运算,这是一个庞大的矩阵表达式,这个矩阵表达式所求出来的关节角度θΚ? = 0,...,η)不是唯一解,在这个不唯一的解集中,搜索和确定最佳解时,有很多的约束条件,包括:稳定性、类人运动、机械限制和外界作用力的影响等等,存在运算量大,搜索效率不高的问题,实时响应能力不够的问题。

【发明内容】

[0003]本发明的目的是解决上述问题,提供一种克服了位姿矩阵逆运算运算量大、效率不高的问题,提高了系统实时响应能力的基于遗传算法的人形双足机器人步行姿态控制方法。
[0004]为解决上述技术问题,本发明的技术方案是:一种基于遗传算法的人形双足机器人步行姿态控制方法,包括以下步骤:
[0005]S1:输入机体参数:根据机器人的外形和运动的状态,输入机器人机体的具体参数;
[0006]S2:拟人步态规划:对机器人的步态运动进行简单分解,在满足约束条件和保证步态可复现的前提下,采用步行周期Τ、步速V、身高H、手臂摆幅R、身躯中心上下摆幅C和身躯中心左右的摆幅A六个参数来描述机器人的步态,同时给机器人坐标定位,机器人的拟人步态规划如下:
[0007]身躯中心的X坐标:Vt;
[0008]身躯中心的y坐标:Asin(Jit/T);
[0009]身躯中心的z 坐标:H-Ccos(Jit/T);
[0010]右臂的摆动:Rsin(3it/T);
[0011]左臂的摆动:Rsin(-3it/T);
[0012]S3:遗传算法优化参数:采用遗传算法对S2中的六个参数进行最优选取,得到最优参数;
[0013]S4:位姿矩阵逆运算:把S3中获取的最优参数通过位姿矩阵的逆运算获得机器人关节角度9;[(1 = 0,-_,11)关于时间1:的函数;[OOM] 35:关节动作序列控制:根据54中机器人关节角度0;[(1 = 0厂",11)关于时间1:的函数,预先设定机器人任意时刻的关节角度的值,得到机器人关节动作序列;
[0015]S6:机器人机体执行:根据S6中的机器人关节动作序列指令,机器人机体完成各种动作;
[0016]S7:位姿修正:当机器人出现倾斜或倾倒时,生成位姿修正指令,将该指令返回S6中,机器人根据位姿修正指令恢复到期望姿态。
[0017]优选地,所述步骤SI中的机器人机体的具体参数包括机器人高度、机器人宽度、双脚的最小支撑域、机器人腿长。
[0018]优选地,在步骤S4中,机器人的稳定性控制采用了ZMP控制理论。
[0019]优选地,在步骤S4中,也可通过逆动力学计算获得机器人关节角度0i(i = O,…,η)关于时间t的函数。
[0020]优选地,在步骤S7中,当机器人倾斜时,根据机器人脚底力传感器信号和姿态传感器信号生成用于改变机器人双脚落地位置的指令,机器人根据该指令恢复机器人到期望姿态;当机器人倾倒时,根据陀螺仪传感器信号生成位姿修正指令,机器人根据该指令实现自行站立,继续行走。
[0021]优选地,所述机器人设置有17个自由度,设置有脚底力传感器、姿态传感器、陀螺仪传感器及关节动作序列控制器。
[0022]本发明的有益效果是:
[0023](I)本发明所提供的基于遗传算法的人形双足机器人步行姿态控制方法,基于ZMP控制理论、位姿矩阵建立的数学模型,通过遗传算法对机器人行走步态做了规划,解决产生稳定控制机器人步态的数据,在步态运行过程中保证机器人从一个稳定态到下一个状态时也是稳定的。
[0024](2)本发明为了增强了系统的实时性,把遗传算法选取系统的优化参数提前加入位姿矩阵的逆运算中,避免了求解关节角度θ?(? = 0,...,η)不是唯一解的问题,避免了求解运算的复杂性、避免了求解运算量大、搜索效率不高的问题。通过本发明所述的方法,获得机器人关节角度Θ i (i = O,…,η)关于时间t的函数,预先设定机器人任意时刻的关节角度的值,从而得到机器人关节动作序列,应用于机器人机体,实现了机器人的稳定拟人行走,实际中有很好的效果。
[0025](3)通过该本发明的方法,根据机器人关节动作序列指令,机器人机体可完成各种动作,如模拟人类站立、行走、前进、后退、转弯、横向跨步、前滚翻、后滚翻、单腿支撑蹲起、倒立、做俯卧撑,伏地起身、鲤鱼打挺、等各种动作及组合动作。
【附图说明】
[0026]图1是本发明基于遗传算法的人形双足机器人步行姿态控制方法流程图;
[0027]图2是本发明的人形双足机器人结构示意图;
[0028]图3是本发明的用连杆机构表示的双足机器人示意图;
[0029]图4是本发明的人形双足机器人步行轨迹示意图;
[0030]图5是本发明机器人步行支撑域、中心点和ZMP点示意图;
[0031 ]图6是本发明十七自由度人形双足机器人关节模型图;
[0032]图7是本发明位姿矩阵正向运算流程图;
[0033]图8是本发明位姿矩阵逆运算流程图;[〇〇34]图9是本发明实施例中Xzmp关于t的函数图像仿真示意图;[〇〇35]图10是本发明实施例中Yzmp关于t的函数图像仿真示意图。【具体实施方式】[〇〇36]下面结合附图和具体实施例对本发明做进一步的说明:[〇〇37]双足机器人是一个多自由度的、多变量的、非线性的、复杂的动力学系统,图2是本发明所使用的十七自由度人形双足机器人,用连杆机构抽象表示双足步行机器人示意图如图3所示,图6是十七自由度人形双足机器人关节模型图。[0〇3 8 ]双足步行机器人的稳定性理论常见的是根据南斯拉夫学者M i 〇 m i r Vakobrativitch 1960年提出的ZMP理论,即机器人稳定条件是机器人所受的重力和惯性力及地面反力合力在水平面上的分力为零。对于人形双足机器人的稳定步行控制,至关重要的是寻找机器人的ZMP点,ZMP(Zero Moment Poiht)即零力矩点,ZMP点就是两足机器人所受重力、惯性力的合力矢的延线与地面的交点。[〇〇39]由ZMP理论可知,当机器人行走的过程中,ZMP点始终在机器人的支撑区域内,则机器人可以稳定的行走,人形双足机器人步行轨迹示意图如图4所示,并且ZMP点离支撑域中心越近,机器人的稳定裕度就越大,机器人抗干扰的能力越大,如图5所示,在支撑域中,黑色小圆点为中心点,黑色小方点为机器人的ZMP点。当ZMP点与中心点的距离Lzmp越小,机器人的稳定裕度越大。
[0040]人形双足机器人ZMP点的求解一般通过机器人的位姿矩阵的正向运算,即在杆长 1^(1=〇,?,11)、质量阻(1 = 〇,?,11)和杆与杆之间的夹角0;[(1 = 〇,?,11)已知的情况下,通过位姿矩阵的正向运算得到机器人重心的位置,求解过程如图7所示。[0041 ]通过位姿矩阵的逆运算,在已知期望点的关于时间的轨迹情况下。就可得出0i (i =0,…,n)关于时间t的函数,从而得到了机器人某一个固定时刻的各个关节的状态,对机器人运行的姿态做出确定的数学表达,求解过程如图8所示。
[0042]这里位姿矩阵的逆运算,是一个庞大的矩阵表达式,这个矩阵表达式所求出来的0 i(i = 0,…,n)不是唯一解。在这个不唯一的解集中,要求搜索出一个最佳解。对于最佳解的选取,有很多约束条件,这些条件包括:稳定性、类人运动、机械限制和外界作用力的影响等等。选取最佳解时需要进行验证,验证过程运算量大,效率也不高,为了避免这样的缺陷,我们将验证条件提前加入决策中,运算量会大大减小,大大提高系统的实时响应能力。
[0043]如图1所示,本发明提供的基于遗传算法的人形双足机器人步行姿态控制方法,包括以下步骤:
[0044]S1:输入机体参数:
[0045]根据机器人的外形和运动的状态,输入机器人机体的具体参数;本实施例中的机器人设置有17个自由度,设置有脚底力传感器、姿态传感器、陀螺仪传感器及关节动作序列控制器,对应的机器人机体的具体参数包括机器人高度、机器人宽度、双脚的最小支撑域、 机器人腿长。[〇〇46]S2:拟人步态规划:
[0047]人形双足机器人的步态是人步行的一个模拟,人的步态是由很多个往复的周期运动所合成的结果。对机器人的步态运动进行简单分解,在满足约束条件和保证步态可复现的前提下,采用步行周期T、步速V、身高H、手臂摆幅R、身躯中心上下摆幅C和身躯中心左右的摆幅A六个参数来描述机器人的步态,为了便于处理数据,同时给机器人坐标定位,机器人的拟人步态规划如下:[〇〇48] 身躯中心的x坐标:Vt;
[0049]身躯中心的y坐标:Asin(Jit/T);
[0050]身躯中心的 z 坐标:H-Ccos(Jit/T);
[0051]右臂的摆动:R sinUt/T);
[0052]左臂的摆动:R Sin(-Jit/T);
[0053]在步行时,支撑脚的位置和姿态及迈步脚的姿态是唯一确定的,据此可求出迈步脚踝关节的位置,至此,人形双足机器人在动态行走的任意时刻,身躯以及两脚的位姿和手臂的坐标可以唯一地确定,通过位姿矩阵逆运算可以求出其余关节坐标的位置。[〇〇54]S3:遗传算法优化参数:
[0055] 通过步骤S2对机器人的步态已经做了一定的规划,让机器人行走的步态近似于人的步态,对于机器人步行过程中的一些参数,作为未知的变量,它贯穿了整个运算和最佳数据的选取和搜寻,这些参数的选取是一个非常复杂,而且参数之间相互关联的,也正是这些参数的选取的合理性和可靠性,才能使我们的机器人步态可靠和合理。本发明采用遗传算法对S2中的六个参数进行最优选取,得到最优参数;[〇〇56]S4:位姿矩阵逆运算:
[0057]把S3中获取的最优参数通过位姿矩阵的逆运算和/或逆动力学计算获得机器人关节角度9i(i=〇,…,n)关于时间t的函数;根据目标函数的仿真图像,可验证ZMP点始终在支撑域内部,可验证各关节角度序列是合理的。[〇〇58]S5:关节动作序列控制:
[0059]根据S4中机器人关节角度0i(i=〇,…,n)关于时间t的函数,预先设定机器人任意时刻的关节角度的值,得到机器人关节动作序列。
[0060]S6:机器人机体执行:
[0061]根据S6中的机器人关节动作序列指令,机器人机体完成各种动作,如站立、行走、 等各种动作。
[0062]S7:位姿修正:
[0063]根据上述步骤的步态规划,机器人能够在平坦的地面行走,但当机器人处于未知的粗糙地面、斜坡或外力影响时,还是有可能倾斜或倾倒,当机器人出现倾斜或倾倒时,生成位姿修正指令,将该指令返回S6中,机器人根据位姿修正指令恢复到期望姿态。
[0064]在步骤S7中,当机器人倾斜时,根据机器人脚底力传感器信号和姿态传感器信号生成用于改变机器人双脚落地位置的指令,机器人根据该指令恢复机器人到期望姿态;当机器人倾倒时,根据陀螺仪传感器信号生成位姿修正指令,机器人根据该指令实现自行站立,继续行走。[〇〇65]本发明的基于遗传算法的人形双足机器人步行姿态控制方法,基于ZMP控制理论、 位姿矩阵建立了双足机器人的数学模型,模拟人的基本步态(由多个往复的周期运动合成),采用步行周期T、步速V、身高H、手臂摆幅R、身躯中心上下摆幅C、身躯中心左右的摆幅A 这六个最具代表意义的参数对机器人的步态进行了规划,通过遗传算法选取优化的T、V、 H、R、C、A六个参数,带入位姿矩阵的逆运算中,得出机器人其他关节坐标的值,解决了生成稳定控制机器人步态的数据的方法。克服了位姿矩阵逆运算运算量大、效率不高的问题,提高了系统实时响应能力,并用该方法产生的数据用于人形双足机器人系统中,达到了很好的控制效果。
[0066]需要说明的是,上述控制方法中数据的输入、输出和处理均可通过设于机器人内部的处理器或者外部的处理器完成。若是通过外部处理器完成,则该外部处理器与机器人进行数据通信。[〇〇67] 实施例一
[0068]本实施例的基于遗传算法的人形双足机器人步行姿态控制方法,包括以下步骤: [〇〇69] S1:输入17自由度的机器人机体的具体参数:3 30mm,机器人宽度:180mm,双脚的最小支撑域:93_X45mm和机器人腿长:185mm。
[0070]S2:首先我们根据机器人的外形和运动的状态,以及上面步骤输入的机器人机体的具体参数,设定:步行周期T、步速V、身高H、手臂摆幅R、身躯中心上下摆幅C、身躯中心左右的摆幅A这六个关键参数的范围:Ve [0,20] ;He [200,500] ;Te [〇,1〇] ;Ce [0,50] ;Ae [0,40];Re [〇,90];并对人形双足机器人的拟人步态规划如下:[〇〇71] 身躯中心的x坐标:Vt;
[0072]身躯中心的y坐标:Asin(Jit/T);
[0073]身躯中心的 z 坐标:H-Ccos(Jit/T);
[0074]右臂的摆动:R sinUt/T);
[0075]左臂的摆动:R Sin(-Jit/T);
[0076]S3:采用遗传算法对S2中的六个参数进行最优选取,选择目标函数,控制目标是能让机器人稳定可靠的步行,要求ZMP点到支撑域的中心的距离最小,设支撑域的中心为原点,而机器人的脚掌是一个长方形,为更加准确描述ZMP点的可靠位置,设定目标函数为: Xzmp2+Yzmp2〇[〇〇77] 采用MATLAB的遗传算法软件包求的最优参数如下:V=11.3181;H=362.4051;T = 3.4985 ; C = 25.4524 ; A = 8.2909 ;R= 12.8639 ;
[0078]S4:把步骤S3中获取的优化参数带入位姿矩阵的逆运算中,可获得机器人关节角度0i(i = 〇,…,n)关于时间t的函数,其中Xzmp关于t的函数仿真图像如图9所示,Yzmp关于t 的函数仿真图像如图10所示,根据目标函数的仿真图像,可验证ZMP点始终在支撑域内部, 可验证各关节角度序列是合理的。[〇〇79]S5:根据S4中机器人关节角度0i(i = 〇,…,n)关于时间t的函数,预先设定机器人任意时刻的关节角度的值,得到机器人关节动作序列,写入人形双足机器人的动作库中。
[0080]S6:根据S6中的机器人关节动作序列指令,机器人机体完成各种动作,如站立、行走、等各种动作。
[0081]S7:当机器人倾斜时,根据机器人脚底力传感器信号和姿态传感器信号生成用于改变机器人双脚落地位置的指令,机器人根据该指令恢复机器人到期望姿态;当机器人倾倒时,根据陀螺仪传感器信号生成位姿修正指令,机器人根据该指令实现自行站立,继续行走。
[0082]本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
【主权项】
1.一种基于遗传算法的人形双足机器人步行姿态控制方法,其特征在于,包括以下步骤: 51:输入机体参数:根据机器人的外形和运动的状态,输入机器人机体的具体参数; 52:拟人步态规划:对机器人的步态运动进行简单分解,在满足约束条件和保证步态可复现的前提下,采用步行周期T、步速V、身高H、手臂摆幅R、身躯中心上下摆幅C和身躯中心左右的摆幅A六个参数来描述机器人的步态,同时给机器人坐标定位,机器人的拟人步态规划如下: 身躯中心的X坐标:Vt; 身躯中心的y坐标:Asin(>t/T); 身躯中心的z坐标:H-Ccos(Jit/T); 右臂的摆动:R sin(Jit/T); 左臂的摆动:R sin(-3it/T); 53:遗传算法优化参数:采用遗传算法对S2中的六个参数进行最优选取,得到最优参数; S4:位姿矩阵逆运算:把S3中获取的最优参数通过位姿矩阵的逆运算获得机器人关节角度θΚ? = 0,...,η)关于时间t的函数; S5:关节动作序列控制:根据S4中机器人关节角度Θ i (i = O,…,η)关于时间t的函数,预先设定机器人任意时刻的关节角度的值,得到机器人关节动作序列; 56:机器人机体执行:根据S6中的机器人关节动作序列指令,机器人机体完成各种动作; 57:位姿修正:当机器人出现倾斜或倾倒时,生成位姿修正指令,将该指令返回S6中,机器人根据位姿修正指令恢复到期望姿态。2.根据权利要求1所述的基于遗传算法的人形双足机器人步行姿态控制方法,其特征在于:所述步骤SI中的机器人机体的具体参数包括机器人高度、机器人宽度、双脚的最小支撑域、机器人腿长。3.根据权利要求1所述的基于遗传算法的人形双足机器人步行姿态控制方法,其特征在于:在步骤S4中,机器人的稳定性控制采用了 ZMP控制理论。4.根据权利要求1所述的基于遗传算法的人形双足机器人步行姿态控制方法,其特征在于:在步骤S4中,也可通过逆动力学计算获得机器人关节角度9i(i = O,...,n)关于时间t的函数。5.根据权利要求1所述的基于遗传算法的人形双足机器人步行姿态控制方法,其特征在于:在步骤S7中,当机器人倾斜时,根据机器人脚底力传感器信号和姿态传感器信号生成用于改变机器人双脚落地位置的指令,机器人根据该指令恢复机器人到期望姿态;当机器人倾倒时,根据陀螺仪传感器信号生成位姿修正指令,机器人根据该指令实现自行站立,继续行走。6.根据权利要求1所述的基于遗传算法的人形双足机器人步行姿态控制方法,其特征在于:所述机器人设置有17个自由度,设置有脚底力传感器、姿态传感器、陀螺仪传感器及关节动作序列控制器。
【文档编号】B25J9/16GK105965506SQ201610317278
【公开日】2016年9月28日
【申请日】2016年5月16日
【发明人】赵积春, 陈志成, 冀振华, 安阳, 梅若雪, 徐蕾
【申请人】北京格分维科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1