一种双足机器人动力式行走方法

文档序号:4094064阅读:299来源:国知局
专利名称:一种双足机器人动力式行走方法
技术领域
本发明涉及双足机器人动力式行走方法,尤其涉及实现双足机器人快速行走的一种开环控制方法。

背景技术
目前,双足机器人的行走方法主要包括静态行走,ZMP行走,以及极限环行走。其中静态行走是出现最早的也是最基础的一种行走方法,其要求行走过程中机器人的质心始终保持在地面上双脚构成的多边形以内,这种方法很容易保持机器人的稳定,但也极大的限制了机器人的行走速度。ZMP行走要求机器人的零矩点始终保持在双脚构成的多边形以内,这种方法在一定程度上比静态行走减少了人为约束,因此在一些机器人上实现了较高速度的行走。目前,ZMP行走的成功实例包括本田公司的ASIMO,日本AIST研究所的HRP3,以及索尼公司的Qrio等。但是与传统工业机器人相似,ZMP行走仍然采用了较多的人为约束,因此在能量效率、行走速度、抗干扰能力、以及步态自然性等方面很难再有突破。
极限环行走是近年来出现的一种新的行走理念,它的提出受到了人类行走的启发,要求周期性的步态序列是轨道稳定的,即步态序列可以在状态空间中形成一个稳定的极限环,但在步态周期中的任意瞬时并不具备局部稳定性。这种方法对机器人的人为约束较少,充分地利用了机器人自身的动力学特性,因而具有较大的空间提高机器人的能量效率、行走速度、以及抗干扰能力。目前,采用极限环行走原理的成功实例包括MIT的Spring Flamingo及其虚拟模型控制方法,法国科学院的Rabbit及其混合零动力学控制方法,Geng等人的RunBot及其中枢神经控制方法,以及CMU的双足机器人及其再励学习方法等。这些机器人在行走速度、能量效率、以及抗干扰能力等方面实现了较大的突破,但步态生成方法较为繁琐,有些则需要使用机器学习,对实验环境的要求较高。
被动行走是极限环行走的一种典型范例,机器人沿微倾的斜坡向下行走,不需要施加任何控制,斜坡提供的重力势能转化为机器人行走所需的动能。被动行走生成的步态非常自然,能量效率可以达到人类的水平,约是ZMP行走机器人ASIMO的十几分之一。为了将被动行走在平地实现,Cornell大学使用了在机器人脚踝处增加激励的方法,在每步摆动腿与地面发生碰撞后脚掌蹬地,为行走注入能量。Deflt大学则采用了在摆动腿与地面碰撞前夹紧髋关节的做法,同样达到了补入能量的目的。但是以上两种方法的能量补入时机均位于碰撞时刻前后,能量为瞬时补入,要求具有极高的能量密度,因此在很大程度上限制了机器人的行走速度,同时这种能量补入方法会给步态造成较大的扰动,降低了行走的稳定性。
本发明所述的双足机器人行走方法以被动行走为基础,通过在支撑腿前摆过程中伸直支撑腿膝关节逐渐提高机器人的重心,补入重力势能。这种方法与Cornell大学及Deflt大学的做法相比,极大的降低了对能量密度的要求,同时消除了在摆动腿与地面碰撞瞬间补入能量对行走稳定性造成的影响,因此能够使机器人达到较高的行走速度及稳定性。与其他极限环行走方法相比,本方法只需要开环控制,实现简单且计算量非常小,因此适用于对实时性要求较高的场合。


发明内容
本发明的目的在于提出一种在开环控制条件下能快速稳定行走且能改变步速的双足机器人动力式行走方法。
本发明所述的双足机器人模型如图1所示,其中1为机器人身体,质量为M,2为支撑腿大腿,3为支撑腿小腿,4为等效支撑腿(由支撑腿大腿2的顶端到支撑腿小腿3末端的连线构成),5为摆动腿大腿,6为摆动腿小腿,7为等效摆动腿(由摆动腿大腿5的顶端到摆动腿小腿6末端的连线构成)。机器人具有三个关键角度θ、α、β,其中θ为等效支撑腿与等效摆动腿之间的夹角,当等效摆动腿7位于等效支撑腿4之前时θ>0,之后时θ<0;α为支撑腿大腿2与等效支撑腿4之间的夹角,决定等效支撑腿4的长度,当支撑腿膝盖弯曲时α>0,支撑腿膝盖伸直时α=0;β为摆动腿大腿5与等效摆动腿7之间的夹角,决定等效摆动腿7的长度,当摆动腿膝盖弯曲时β>0,摆动腿膝盖伸直时β=0。如此定义关键角度方便的确定两等效腿之间的夹角及两等效腿的长度。机器人的一步行走由摆动过程和碰撞组成,其中摆动过程指机器人支撑腿末端着地,以末端为轴向前摆动,同时摆动腿在空中由支撑腿后方摆动到支撑腿前方;碰撞指摆动过程结束时摆动腿末端与地面发生瞬间碰撞,同时支撑腿离地。碰撞后摆动腿转换为支撑腿,支撑腿转换为摆动腿。机器人的一步行走由上一步碰撞后开始,经摆动过程至碰撞后结束。
本发明所述的双足机器人行走方法的能量转换原理如图2所示,机器人在一步摆动过程中通过逐渐伸直支撑腿膝关节而伸长等效支撑腿4的长度,从而为行走补入势能Ec(图2(a),从B点到C点)。伸长等效支撑腿4补入的能量Ec可以等效于机器人沿虚拟的斜坡行走时重力势能的减小量Es(图2(b))。在碰撞前,摆动腿膝关节弯曲以缩短等效摆动腿7的长度(图2(b)),使碰撞等效于在虚拟的斜坡上进行,同时又使下一步初始时刻支撑腿膝关节弯曲,为下一步等效支撑腿4的伸长补入能量做好准备。图中C点可以与D点重合。碰撞中一定的行走动能Er被释放,如果一步行走中的失能量Er与补入能量Ec相等,行走可以在平地上稳定的进行。本发明所述的双足机器人行走方法的能量转换原理包括摆动过程中伸长等效支撑腿4补入能量以及碰撞前缩短等效摆动腿7创造虚拟斜坡两点。
本发明所述的双足机器人行走方法的稳定性原理如下,稳定的步态需要具备一定的抗扰动能力,在本发明所涉及的行走中存在两种能量反馈,分别位于伸长等效支撑腿的能量补入过程和碰撞时的能量释放时刻。对于补入能量反馈,可以用表示其反馈梯度,Qc>0表示正反馈,Qc<0表示负反馈,在一步行走的前半周期伸长等效支撑腿会导致Qc>0,在一步的后半周期伸长等效支撑腿会导致Qc<0,行走中能量补入的时刻越晚补入能量负反馈梯度越强。对于释放能量反馈,可以用表示其反馈梯度,Qr>0表示正反馈,Qr<0表示负反馈,在碰撞时刻摆动腿前摆会导致Qr>0,在碰撞时刻摆动腿回收会导致Qr<0,摆动腿回收速度越大释放能量负反馈梯度越强。在行走中正反馈对行走的稳定性有不利的影响,一定大小的负反馈可以增强行走的稳定性,本发明所述双足机器人行走方法的稳定性原理要求两种反馈的和作用为负反馈,即Qc+Qr<0。
为实现快速的行走,机器人需要主动的将摆动腿前摆以提高步频,结合以上所述的能量转换原理和稳定性原理,本发明所涉及的行走方法特征在于(1)在一步开始后(图2(a),A点之后)机器人的摆动腿主动前摆;(2)在摆动过程的后半周期(图2(a),从B点到C点)伸长等效支撑腿补充能量;(3)在一步碰撞前(图2(a),D点之前)缩短等效摆动腿创造虚拟斜坡;以及(4)在一步碰撞时(图2(a),D点处)摆动腿主动回收。为实现稳定的行走,步态只需满足两个行走条件,其中涉及到的状态参数意义如下。
M身体质量(图3(a,b)); T步态周期,从一步初始时刻到碰撞所经历的时间; t一步中的时间变量,t=0为一步初始时刻,t=T为一步碰撞时刻; r摆动过程中等效支撑腿的长度,t=0时其长度为r1,t=T时其长度为r2,同时r1也是等效摆动腿在t=T时的长度,r2也是等效摆动腿在t=0时的长度; r′ 摆动过程中等效支撑腿r的伸长速度; θ0 t=0及t=T时等效支撑腿与等效摆动腿之间的夹角(图3(a,b)); t=0时等效支撑腿的倾角(图3(a)); ω0 t=0时等效支撑腿的摆动角速度(图3); η=-θ0′T/θ0 碰撞时等效摆动腿的相对回收角速度,即t=T时等效摆动腿相对于等效支撑腿的摆动角速度θ0′与一步摆动过程中支撑腿平均摆动角速度θ0/T之比的相反数; g重力加速度。
为实现行走,以上各状态参数并不需要设定或测量,在本发明的后续部分将给出一种步态实现方法,通过设定四个参数即可使行走条件得到满足,两个行走条件的具体表述如下。
(1)每步行走伸长等效支撑腿补入的能量Ec与碰撞损失的能量Er相等 Ec=Er (1) 其中 伸长等效支撑腿补入的能量,产生于摆动过程; 碰撞损失的能量,产生于碰撞时刻, (2)补入能量反馈梯度与损失能量反馈梯度之和为负 Qc+Qr<0 (2) 其中 补入能量反馈梯度,产生于摆动过程; 损失能量反馈梯度,产生于碰撞时刻。
本发明所述的双足机器人行走方法的特征在于,依次含有以下步骤 步骤(1),构造一个双足机器人,如图4所示,其步骤如下 步骤(1.1),建立躯干1与第一大腿4以及第二大腿5的连接该躯干1与左右同轴放置的第一髋关节电机2以及第二髋关节电机3的本体分别固定连接,而所述第一髋关节电机2的转动输出轴与所述第一大腿4连接,所述第二髋关节电机3的转动输出轴与所述第二大腿5连接, 步骤(1.2),建立所述第一大腿4与第一小腿7,第二大腿5与第二小腿9的连接该所述第一大腿4的末端与第一膝关节电机6的本体固定连接,该第一膝关节电机6的转动输出轴与第一小腿7连接,该所述第二大腿5的末端与第二膝关节电机8的本体固定连接,该第二膝关节电机8的转动输出轴与第二小腿9连接, 步骤(1.3),在步骤(1.1)、步骤(1.2)中所述的四个电机均采用伺服电机,分别用Ship1、Ship2表示所述第一髋关节电机2和第二髋关节电机3的旋转角度,分别用Sknee1、Sknee2表示所述第一膝关节电机6和第二膝关节电机8的旋转角度,并用一个上位机控制所述四个电机,其中所述Ship1为所述第一大腿4与躯干1垂直方向的夹角,当该第一大腿4的末端位于躯干1前方时Ship1>0,而位于躯干1后方时Ship1<0,所述Ship2为所述第二大腿5与躯干1垂直方向的夹角,当该第二大腿5的末端位于躯干1前方时Ship2>0,而位于躯干1后方时Ship2<0;所述Sknee1为所述第一小腿7与第一大腿4之间的夹角,当该第一小腿7相对于所述第一大腿4向后弯曲时Sknee1>0,两者平行时Sknee1=0,所述Sknee2为所述第二小腿9与第二大腿5之间的夹角,当该第二小腿9相对于所述第二大腿5向后弯曲时Sknee2>0,两者平行时Sknee2=0, 步骤(1.4),该步骤(1.1)、步骤(1.2)、步骤(1.3)中所述各个电机的控制信号输入端分别与一个上位机的控制信号输出端相连; 步骤(2),在所述上位机内设定一个步态周期T,在T内所述机器人具有以下行走参数,0.2s<T<0.5s,取初始值T=0.3s,所述步态周期T指从一步开始时刻到碰撞所经历的时间,其中,开始时刻t=0是指视作第二大腿的摆动腿离地的瞬间,碰撞是指摆动腿与地面发生碰撞,该碰撞时刻t=T,表示一个步态周期的结束,下一步态周期开始,此时视为第二大腿的支撑腿变为摆动腿,而前一个步态周期的支撑腿变为摆动腿,所述行走参数包括θ、α、β,单位为角度,如图1所示,其中θ为等效支撑腿4与等效摆动腿7之间的夹角;α为所述支撑腿大腿2与等效支撑腿4之间的夹角;β为所述摆动腿大腿5与等效摆动腿7之间的夹角,当所述等效摆动腿7位于等效支撑腿4之前时θ>0,之后时θ<0;当所述支撑腿的膝关节弯曲时α>0,支撑腿膝关节伸直时α=0;当所述摆动腿的膝关节弯曲时β>0,摆动腿膝关节伸直时β=0; 步骤(3),在所述上位机中,在所述一个步态周期T内,设置以下三个关键帧,如图5所示 第一关键帧(图5(a)),位于t=0时,决定机器人一步的初始姿态,其中θ=-θ0,θ0为一非负常数,表示t=0时所述两条等效腿之间的夹角,决定步幅大小,0°<θ0<60°,取初始值θ0=30°;α=α0,α0为一非负常数,表示t=0时所述支撑腿大腿2相对于等效支撑腿4的旋转角度,取初始值α0=θ0/2;β=0,表示摆动腿膝关节伸直, 第二关键帧(图5(b)),位于t=T/2时,其中θ=0,表示所述等效支撑腿4与等效摆动腿7平行;α=α0,与第一关键帧中的α相同,表示等效支撑腿4的长度在第一关键帧和第二关键帧之间保持不变;β=β0,β0为一非负常数,表示一步中间时刻摆动腿大腿5相对于等效摆动腿7的旋转角度,以防止一步行走过程中摆动腿小腿与地面相碰,所述β0在α0+5°<β0<α0+25°中选取,设β0=α0+15°,决定摆动腿小腿6末端的抬高高度, 第三关键帧(图5(c)),位于t=T时,决定碰撞时刻的机器人姿态,其中θ=θ0,表示碰撞时刻两等效腿之间的夹角;α=0,表示支撑腿膝关节伸直,为行走补入能量;β=α0,表示摆动腿膝关节弯曲,准备与地面碰撞,在t=T时发生碰撞; 步骤(4),所述上位机依次按以下步骤控制所述机器人行走,行走步数为n,每行走一步用时一个步态周期T 步骤(4.1),设定T=0.3s,以及在所述三个关键帧的时刻t=0,t=T/2,t=T时所述θ、α、β的值, 步骤(4.2),设定Δt为计算步长,i为计算次数,行走时i从0开始,按下式计算每隔Δt时间所述θ、α、β的值,从而得到θ=fθ(t),α=fα(t),β=fβ(t)三条曲线,如图6所示,其中0≤t≤T,变量θ、α、β关于t的一阶导数连续, 步骤(4.3),在上述上位机中,按下式计算当步数为n时,以所述行走参数θ、α、β为变量,所述机器人中各个电机的旋转角度,以实现双足机器人的行走控制,公式中当n为奇数时,Ship1、Sknee1分别为所述支撑腿髋关节和膝关节的角度,Ship2、sknee2分别为所述摆动腿髋关节和膝关节的角度,当n为偶数时,Ship2、Sknee2分别为所述支撑腿髋关节和膝关节的角度,Ship1、Sknee1分别为所述摆动腿髋关节和膝关节的角度,也就是说当n由奇数变为该奇数加1所形成的偶数时,作为第一大腿的支撑腿与作为第二大腿的摆动腿在一步行走结束后互换。
以上所述的β0按以下方式取值当θ0>40°时,α0+20°<β0<α0+25°,当θ0<10°时,α0+5°<β0<α0+10°,当10°<θ0<40°时,α0+10°<β0<α0+20°。
若操作人员发现以下情况,予以分别处理如所述机器人从t=0时开始行走后向前摔倒,说明α0过大,补入的能量过大,使α0减1°,如此重复,直到该机器人能够行走为止;如所述机器人从t=0时开始行走后向后摔倒,说明α0过小,补入的能量过小,使α0加1°,如此重复,直到该机器人能够行走为止。
若操作人员在t=T时发现以下情况,予以分别处理如述机器人身体前倾,说明碰撞时刻过早,使α0减0.2°,如此重复,直到碰撞时机器人身体竖直为止;如所述机器人身体后倾,说明碰撞时刻过晚,使α0加0.2°,如此重复,直到碰撞时机器人身体竖直为止。
若无论操作人员如何调整,都不能使所述机器人行走稳定,或者能够行走,但需要改变步速,则把θ0增加或减小10°,或者把T增加或减小0.1s,重复步骤(2)及步骤(4),从而得到不同的步幅及步态周期,实现不同速度的行走。
本发明所述的步态设计方法参数数量少,而且均具有明确的物理意义,使得参数的调节非常容易,同时,关键帧之间可以使用简单的光滑曲线连接,使步态的生成非常简单。在试验中,机器人的单个步态达到了4.48腿长/秒的相对行走速度,即机器人每秒钟的行走距离是自身腿长的4.48倍,此结果是世界上最快的双足机器人相对行走速度,比之前RunBot创造的记录提高了29%,同时,机器人的多个步态实现了从1.24腿长/秒到3.88腿长/秒的连续变速行走,此结果在双足机器人行走领域也是前所未有的。



图1为机器人模型的示意图。
图2为行走的能量转换原理图,其中图2(a)示出一步行走过程及能量补入原理,图2(b)示出能量释放原理。
图3为行走状态参数的示意图,其中图3(a)示出一步初始时刻状态参数,图3(b)示出一步碰撞时刻状态参数。
图4为机器人结构图及四个关节电机转角的示意图,其中图4(a)示出机器人侧视图,其中图4(b)示出机器人侧前图。
图5为步态关键帧的示意图,其中图5(a)示出第一关键帧,图5(b)示出第二关键帧,图5(c)示出第三关键帧。
图6为3个关键角的变化曲线,其中实线示出θ的轨迹,虚线示出α的轨迹,点划线示出β的轨迹。
具体实施方法 图4为本发明所使用机器人的结构和四个关节角的示意图,其中1为躯干,与左右同轴放置的两个髋关节电机2、3的本体固定连接,两个髋关节电机的转动输出轴分别与两个大腿4、5连接,大腿4的末端与膝关节电机6的本体固定连接,膝关节电机6的转动输出轴与小腿7连接,大腿5的末端与膝关节电机8的本体固定连接,膝关节电机8的转动输出轴与小腿9连接。此机器人具有四个自由度,分别位于两个髋关节电机2、3及两个膝关节电机6、8的转动输出。四个电机均踩用伺服电机,其旋转角度分别用Ship1、Ship2、Sknee1、Sknee2表示(图4(a)),其中Ship1为大腿4与躯干1垂直方向的夹角,当大腿4末端位于躯干1前方时Ship1>0,大腿4末端位于躯干1后方时Ship1<0;Ship2为大腿5与躯干1垂直方向的夹角,当大腿5末端位于躯干1前方时Ship2>0,大腿5末端位于躯干1后方时Ship2<0;Sknee1为小腿7与大腿4之间的夹角,当小腿7相对于大腿4向后弯曲时Sknee1>0,小腿7与大腿4平行时Sknee1=0;Sknee2为小腿9与大腿5之间的夹角,当小腿9相对于大腿5向后弯曲时Sknee2>0,小腿9与大腿5平行时Sknee2=0。
本发明所述双足机器人行走方法的实现只需三个关键帧,如图5所示,其中图5(a)为第一关键帧,位于t=0时刻,此时等效支撑腿4与等效摆动腿7之间的夹角θ=-θ0,θ0为一非负常数,表示一步初始时刻两等效腿之间的夹角,支撑腿大腿2与等效支撑腿4之间的夹角α=α0,α0为一非负常数,摆动腿膝关节伸直,摆动腿大腿与等效摆动腿之间的夹角β=0;图5(b)为第二关键帧,位于t=T/2时刻,图中等效支撑腿4与等效摆动腿7平行θ=0,支撑腿膝关节弯曲,使α=α0,摆动腿膝关节弯曲以防止摆动过程中与地面相碰,使β=β0,β0为一非负常数;图5(c)为第三关键帧,位于t=T时刻,此时θ=θ0,支撑腿膝关节伸直α=0,摆动腿膝关节弯曲准备与地面碰撞,使β=α0。此三个关键帧中,第一关键帧决定了一步初始时刻的姿态,第三关键帧决定了一步碰撞时刻的姿态,同时也决定了步幅的大小。第一、三关键帧中两等效腿的长度决定了一步中支撑腿伸长量的大小,从而决定了补入能量的多少。第二关键帧设置于t=T/2时刻,且其α值与第一关键帧相同,均为α=α0,可以保证机器人的等效支撑腿长度在第一二关键帧之间保持不变,在二三关键帧之间逐渐伸长,从而使等效支撑腿在摆动的后半周期伸长,以保证Qc<0。以上三个关键帧的形状由θ0、α0、β0确定,其中θ0决定步幅大小,α0决定等效支撑腿4的伸长量即补入能量的多少,β0决定摆动腿小腿6末端的抬高高度,三个关键帧之间的时间间隔由步态周期T决定,θ0、α0、β0、T即为行走中需要设定的四个参数。在以上四个参数中β0的取值只需满足β0>α0+C,C为一正常数,即可使摆动过程中摆动腿小腿6末端高于地面,在摆动过程中不与地面发生干涉。在实验中通过对θ0、T和α0三个参数的调节可以使行走条件(1)Ec=Er得到满足。同时α0的大小决定了补入能量的多少,从而决定了等效支撑腿的前摆速度。在满足行走条件(1)的范围内调整α0可以使碰撞时刻略微滞后,使碰撞时刻发生在摆动腿回收期间,Qω<0,从而使行走条件(2)得以满足。此时虽然θ略小于θ0,但偏差可忽略不计,θ≈θ0。
在行走中图1所示三个关键角θ、α、β的值按照以上所述的三个关键帧计算,其运动轨迹即为三个关键帧之间的连接曲线。为保证机器人各个关节的角速度连续,关键帧之间使用光滑曲线连接,即曲线的一阶导数连续。图6给出了一种使用直线和正弦曲线连接的方式,其中圆圈表示关键帧的位置,但本发明的权利要就范围并不局限于这种连接方式。
本发明所述的双足机器人行走方法的实现为以下两个步骤的迭代过程(1)上位机控制行走阶段;(2)人工参数调节阶段。在阶段(1)中首先由人工设定一组θ0、α0、β0、T,其初始值的选择方法如下首先确定θ0和T使0°<θ0<60°,0.2s<T<0.5s,初次行走建议将θ0置于30°左右,T置于0.3s左右,之后取α0=θ0/2,并设定β0的表达式,可在α0+5°到α0+25°之间根据θ0的大小选取,一般θ0取值较大θ0>40°时β0可取α0+20°<β0<α0+25°,θ0取值较小θ0<10°时β0可取α0+5°<β0<α0+10°,10°<θ0<40°时可取α0+10°<β0<α0+20°。在此以θ0=30°,T=0.3s为例,取α0=θ0/2=15°,之后设定关系式β0=α0+15°并计算得β0=30°,但是如果发现在行走的摆动过程中机器人摆动腿与地面摩擦则应增大β0,比如将其改变为β0=α0+20°。在确定θ0、α0、β0、T之后作为上位机的计算机根据四个参数的值使用光滑曲线连接关键帧。对于图5所示使用直线及正弦曲线连接的方法,其连接公式如上述(3)(4)式所示,其中Δt为计算步长,i为计算次数。行走时i从0开始,计算机每隔Δt时间按照(3)(4)计算θ、α、β三个角度值,并使i加1,之后通过上述(5)(6)式将其转换为机器人的四个电机角度值,并发送给机器人上的各个电机,使其按指定的运动轨迹旋转,以实现行走动作。(5)(6)式中n为行走步数,每次行走开始后n从1开始计数,每循环计算图5中的曲线一次n加1,当n为奇数时图4中的Ship1、Sknee1为支撑腿关节角,Ship2、Sknee2为摆动腿关节角,n为偶数时Ship2、Sknee2为支撑腿关节角,Ship1、Sknee1为摆动腿关节角。待机器人置于空中开始动作后将其放于地面行走并观察行走效果,如果机器人摔倒或碰撞时身体倾斜则转入阶段(2)。
阶段(2)为人工参数调整阶段,在此阶段中由人根据阶段(1)中机器人的行走效果对上位机中的参数设置进行手动调整,其调节方法如下在四个步态参数中α0决定了行走补入能量的大小,如果阶段(1)中机器人行走后向前摔倒,说明补入能量过大,于是减小α0,可使α0减1°;如果机器人向后摔倒,说明补入能量过小,于是增大α0,可使α0加1°;如果机器人能够行走,说明行走条件已经满足,可细调α0优化碰撞时刻,使摆动腿以适合的回收速度与地面碰撞,如果碰撞时机器人身体前倾则说明碰撞时刻过早,需减小α0,可使其减0.2°;如果身体后倾则说明碰撞时刻过晚,需增大α0,可使其加0.2°,在调整过α0后根据β0=α0+15°的关系式重新计算β0,将改变后的α0、β0输入上位机中,并重复阶段(1)的过程使机器人行走并观察其效果。重复阶段(1)(2)直到碰撞时机器人身体竖直为止,此时的α0、β0及最初设定的θ0=30°,T=0.3s即构成一组调节完成的行走参数值。
如果无论如何调整都不能使行走稳定,其原因为θ0或T的取值不合适,或者需要改变机器人的行走速度时,需重新选定θ0和T,将θ0增大或减小10°或将T增大或减小0.1s后重复以上过程。对于不同的θ0和T,使用以上方法调整参数得到其对应的α0、β0值,可以得到不同步幅及周期的步态,从而实现不同速度的行走。
权利要求
1.一种双足机器人动力式行走方法,其特征在于,依次含有以下步骤
步骤(1),构造一个双足机器人,其步骤如下
步骤(1.1),建立躯干与第一大腿以及第二大腿的连接
该躯干与左右同轴放置的第一髋关节电机以及第二髋关节电机的本体分别固定连接,而所述第一髋关节电机的转动输出轴与所述第一大腿连接,所述第二髋关节电机的转动输出轴与所述第二大腿连接,
步骤(1.2),建立所述第一大腿与第一小腿,第二大腿与第二小腿的连接
该所述第一大腿的末端与第一膝关节电机的本体固定连接,该第一膝关节电机的转动输出轴与第一小腿连接,
该所述第二大腿的末端与第二膝关节电机的本体固定连接,该第二膝关节电机的转动输出轴与第二小腿连接,
步骤(1.3),在步骤(1.1)、步骤(1.2)中所述的四个电机均采用伺服电机,分别用Ship1、Ship2表示所述第一髋关节电机和第二髋关节电机的旋转角度,分别用Sknee1、Sknee2表示所述第一膝关节电机和第二膝关节电机的旋转角度,并用一个上位机控制所述四个电机,其中
所述Ship1为所述第一大腿与躯干垂直方向的夹角,当该第一大腿的末端位于躯干前方时Ship1>0,而位于躯干后方时Ship1<0,
所述Ship2为所述第二大腿与躯干垂直方向的夹角,当该第二大腿的末端位于躯干前方时Ship2>0,而位于躯干后方时Ship2<0,
所述Sknee1为所述第一小腿与第一大腿之间的夹角,当该第一小腿相对于第一大腿向后弯曲时Sknee1>0,两者平行时Sknee1=0,
所述Sknee2为所述第二小腿与第二大腿之间的夹角,当该第二小腿相对于第二大腿向后弯曲时Sknee2>0,两者平行时Sknee2=0,
步骤(1.4),该步骤(1.1)、步骤(1.2)、步骤(1.3)中所述各个电机的控制信号输入端分别与一个上位机的控制信号输出端相连;
步骤(2),在所述上位机内设定一个步态周期T,在T内所述机器人具有以下行走参数,0.2s<T<0.5s,取初始值T=0.3s,所述步态周期T,指从一步开始时刻到碰撞所经历的时间,其中,开始时刻t=0,是指视作第二大腿的摆动腿离地的瞬间,碰撞是指摆动腿与地面发生碰撞,该碰撞时刻t=T,表示一个步态周期的结束,下一步态周期开始,此时视为第二大腿的支撑腿变为摆动腿,而前一个步态周期的支撑腿变为摆动腿,所述行走参数包括θ、α、β,单位为角度,其中
θ,为等效支撑腿与等效摆动腿之间的夹角,所述等效支撑腿用由支撑腿大腿的顶部到该支撑腿小腿末端的连线表示,等效支撑腿用由摆动腿大腿的顶部到该摆动腿小腿末端的连线表示,
α,为所述支撑腿大腿与等效支撑腿之间的夹角,决定等效支撑腿的长度,
β,为所述摆动腿大腿与等效摆动腿之间的夹角,决定等效摆动腿的长度,
当所述等效摆动腿位于等效支撑腿之前时θ>0,之后时θ<0,
当所述支撑腿的膝关节弯曲时α>0,支撑腿膝关节伸直时α=0,
当所述摆动腿的膝关节弯曲时β>0,摆动腿膝关节伸直时β=0;
步骤(3),在所述上位机中,在所述一个步态周期T内,设置以下三个关键帧
第一关键帧,位于t=0时,决定机器人一步的初始姿态,其中
θ=-θ0,θ0为一非负常数,表示t=0时所述两条等效腿之间的夹角,决定步幅大小,0°<θ0<60°,取初始值θ0=30°,
α=α0,α0为一非负常数,表示t=0时所述支撑腿大腿相对于等效支撑腿的旋转角度,取初始值α0=θ0/2,
β=0,表示摆动腿膝关节伸直,
第二关键帧,位于t=T/2时,其中
θ=0,表示所述等效支撑腿与等效摆动腿平行,
α=α0,与第一关键帧中的α相同,表示等效支撑腿长度在第一关键帧和第二关键帧之间保持不变,
β=β0,β0为一非负常数,表示一步中间时刻摆动腿大腿相对于等效摆动腿的旋转角度,以防止一步行走过程中摆动腿小腿与地面相碰,所述β0在α0+5°<β0<α0+25°中选取,设β0=α0+15°,决定摆动腿小腿末端的抬高高度,
第三关键帧,位于t=T时,决定碰撞时刻的机器人姿态,其中
θ=θ0,表示碰撞时刻两条等效腿之间的夹角,
α=0,表示支撑腿膝关节伸直,为行走补入能量,
β=α0,表示摆动腿膝关节弯曲,准备与地面碰撞,在t=T时发生碰撞;
步骤(4),所述上位机依次按以下步骤控制所述机器人行走,行走步数为n,每行走一步用时一个步态周期T
步骤(4.1),设定T=0.3s,以及在所述三个关键帧的时刻t=0,t=T/2,t=T时所述θ、α、β的值,
步骤(4.2),设定Δt为计算步长,i为计算次数,行走时i从0开始,按下式计算每隔Δt时间所述θ、α、β的值
当0≤Δt·imodT<T/2时,
当T/2≤Δt·imodT<T时,
从而得到θ=fθ(t),α=fα(t),β=fβ(t)三条曲线,其中0≤t≤T,变量θ、α、β关于t的一阶导数连续,
步骤(4.3),在上述上位机中,按下式计算当步数为n时,以所述行走参数θ、α、β为变量,所述机器人中各个电机的旋转角度,以实现双足机器人的行走控制
当n=1,3,5,7,9...时,
当n=2,4,6,8,10...时,
当n为奇数时,Ship1、Sknee1分别为所述支撑腿髋关节和膝关节的角度,Ship2、Sknee2分别为所述摆动腿髋关节和膝关节的角度,
当n为偶数时,Ship2、Sknee2分别为所述支撑腿髋关节和膝关节的角度,Ship1、Sknee1分别为所述摆动腿髋关节和膝关节的角度,
也就是说当n由奇数变为该奇数加1所形成的偶数时,作为第一大腿的支撑腿与作为第二大腿的摆动腿在一步行走结束后互换。
2.根据权利要求1所述的一种双足机器人动力式行走方法,其特征在于,在0≤t≤T/2时,β0按以下方式取值
当θ0>40°时,α0+20°<β0<α0+25°,
当θ0<10°时,α0+5°<β0<α0+10°,
当10°<θ0<40°时,α0+10°<β0<α0+20°。
3.根据权利要求1所述的一种双足机器人动力式行走方法,其特征在于,若操作人员发现以下情况,予以分别处理
所述机器人从t=0时开始行走后向前摔倒,说明α0过大,补入的能量过大,使α0减1°,如此重复,直到该机器人能够行走为止,
所述机器人从t=0时开始行走后向后摔倒,说明α0过小,补入的能量过小,使α0加1°,如此重复,直到该机器人能够行走为止。
4.根据权利要求1所述的一种双足机器人动力式行走方法,其特征在于,在t=T,若操作人员发现以下情况,予以分别处理
所述机器人身体前倾,说明碰撞时刻过早,使α0减0.2°,如此重复,直到碰撞时机器人身体竖直为止,
所述机器人身体后倾,说明碰撞时刻过晚,使α0加0.2°,如此重复,直到碰撞时机器人身体竖直为止。
5.根据权利要求1所述的一种双足机器人动力式行走方法,其特征在于,若无论操作人员如何调整,都不能使所述机器人行走稳定,或者能够行走,但需要改变步速,则把θ0增加或减小10°,或者把T增加或减小0.1s,重复步骤(2)及步骤(4),从而得到不同的步幅及步态周期,实现不同速度的行走。
全文摘要
一种双足机器人动力式行走方法属于机器人行走控制技术领域,其特征在于,所述机器人靠在步态周期T内,0.2s<T<0.5s,快速摆动双腿及控制摆动腿的着地碰撞实现类似被动行走的全动力式行走,该机器人靠弯曲摆动腿膝关节创造虚拟斜坡,伸直支撑腿膝关节补充能量,每个步态周期的步态由三个关键帧确定,并由四个参数描述,关键帧之间由一阶导数连续的光滑曲线连接。在实验中,机器人的单个步态达到4.48腿长/秒的相对行走速度,比之前RunBot创造的记录提高29%,而且机器人的多个步态实现了从1.24腿长/秒到3.88腿长/秒的连续变速行走。
文档编号B62D57/032GK101323325SQ200810116148
公开日2008年12月17日 申请日期2008年7月4日 优先权日2008年7月4日
发明者赵明国, 楫 张, 浩 董, 李立国, 苏学敏, 石宗英 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1