发明名称 一种动力式双足机器人行走方法
摘要 一种动力式双足机器人行走方法,属于机器人行走控制技术领域,其特征是,机器人行走过程中,在支撑腿上加入动力,使支撑腿在一个行走周期中主动地完成伸长和缩短,通过控制支撑腿伸长和缩短的位置,实现对系统的势能补入。该行走方法的步态由五个关键帧确定,并由两个角度参数描述,关键帧之间由一阶导数连续的光滑曲线连接。在样机上,机器人能在这种动力式行走方法的控制下,实现稳定且不同速度的行走。
申请公布号 CN101898594A 申请公布日期 2010.12.01
申请号 CN201010239843.9 申请日期 2010.07.28
申请人 清华大学 发明人 赵明国;张晓悦;董浩
分类号 B62D57/032(2006.01)I 主分类号 B62D57/032(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 朱琨
主权项 一种动力式双足机器人行走方法,其特征在于,依次含有以下步骤:步骤(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指从一步开始时刻到摆动腿碰撞所经历的时间,其中,开始时刻t=0是指视作第二大腿的摆动腿离地的瞬间,碰撞时刻t=T是指摆动腿与地面发生碰撞,即一个步态周期结束,下一个步态周期开始的瞬间,在这一瞬间,此时视为第二大腿的支撑腿变为摆动腿,而之前的摆动腿变为支撑腿,所述行走参数包括:θ、α、β,单位为角度,其中:θ,为等效支撑腿(4)与等效摆动腿(7)之间的夹角,所述等效支撑腿(4)用由支撑腿大腿(2)的顶部到该支撑腿小腿(3)末端的连线表示,等效摆动腿(7)用由摆动腿大腿(5)的顶部到该摆动腿小腿(6)末端的连线表示,α,为所述支撑腿大腿(2)与等效支撑腿(4)之间的夹角,决定等效支撑腿(4)的长度,β,为所述摆动腿大腿(5)与等效摆动腿(7)之间的夹角,决定等效摆动腿(7)的长度,在行走过程中,摆动腿保持不变,所以β为一固定常数,当所述等效摆动腿(7)位于等效支撑腿(4)之前时θ>0,之后时θ<0,当所述支撑腿的膝关节弯曲时α>0,支撑腿膝关节伸直时α=0,当所述摆动腿的膝关节弯曲时β>0,摆动腿膝关节伸直时β=0;步骤(3),在所述上位机中,在所述一个步态周期中,设置五个关键帧,两个关键关节角度θ和α;第一关键帧,位于t=0时,决定机器人一步的初始姿态,其中,θ= θ0,θ0为一非负常数,表示t=0时所述两条等效腿之间的夹角,决定了步幅的大小;α=α0,α0为一非负常数,表示t=0是所述支撑腿大腿相对于等效支撑腿的弯曲角度,第二关键帧,位于t=T1时,其中:α=α0,与第一关键帧中的α相同,表示等效支撑腿的长度在第一关键帧和第二关键帧之间保持不变,这一关键帧表示的是支撑腿伸直的起点,第三关键帧,位于t=T2时,其中:α=0,表示支撑腿膝关节伸直,髋部质心上升到最高点。从第二个关键帧到第三个关键帧是支撑腿伸长的过程,是给系统补入能量的过程,并且由于此时摆动腿膝关节还处于弯曲状态,所以能避免在行走过程中摆动腿小腿与地面发生碰撞,第四关键帧,位于t=T3时,其中:α=α0,表示支撑腿膝关节弯曲回原状态,从第三个关键帧到第四个关键帧是支撑腿缩短的过程,这是为了保证碰撞时两腿等长,以及在下一步支撑腿变为摆动腿的时候保持弯曲状态,第五关键帧,位于t=T时,决定碰撞时刻的机器人姿态,其中:θ=θ0,表示碰撞时刻两等效腿之间的夹角;α=α0,从第四关键帧到第五关键帧,支撑腿保持不变,与地面发生碰撞后,支撑腿变为摆动腿,摆动腿变为支撑腿,步骤(4),所述上位机依次按以下步骤控制所述机器人行走:步骤(4.1),设定每行走一步的周期T,三个关键时间T1、T2、T3,计算时间为t,t从0开始,所述上位机按下式计算每隔t时间的θ,α之值(1) <mrow> <mi>&alpha;</mi> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>&alpha;</mi> <mn>0</mn> </msub> </mtd> <mtd> <mn>0</mn> <mo>&le;</mo> <mi>t</mi> <mi>mod</mi> <mi>T</mi> <mo>&lt;</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mfrac> <msub> <mi>&alpha;</mi> <mn>0</mn> </msub> <mn>2</mn> </mfrac> <mi>cos</mi> <mfrac> <mrow> <mi>&pi;</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>T</mi> <mn>1</mn> </msub> </mrow> </mfrac> <mo>+</mo> <mfrac> <msub> <mi>&alpha;</mi> <mn>0</mn> </msub> <mn>2</mn> </mfrac> </mtd> <mtd> <msub> <mi>T</mi> <mn>1</mn> </msub> <mo>&le;</mo> <mi>t</mi> <mi>mod</mi> <mi>T</mi> <mo>&lt;</mo> <msub> <mi>T</mi> <mn>2</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mfrac> <msub> <mi>&alpha;</mi> <mn>0</mn> </msub> <mn>2</mn> </mfrac> <mi>cos</mi> <mfrac> <mrow> <mi>&pi;</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <msub> <mi>T</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>T</mi> <mn>3</mn> </msub> </mrow> </mfrac> <mo>+</mo> <mfrac> <msub> <mi>&alpha;</mi> <mn>0</mn> </msub> <mn>2</mn> </mfrac> </mtd> <mtd> <msub> <mi>T</mi> <mn>2</mn> </msub> <mo>&le;</mo> <mi>t</mi> <mi>mod</mi> <mi>T</mi> <mo>&lt;</mo> <msub> <mi>T</mi> <mn>3</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&alpha;</mi> <mn>0</mn> </msub> </mtd> <mtd> <msub> <mi>T</mi> <mn>3</mn> </msub> <mo>&le;</mo> <mi>t</mi> <mi>mod</mi> <mi>T</mi> <mo>&lt;</mo> <mi>T</mi> </mtd> </mtr> </mtable> </mfenced> </mrow>(2)按上式可以得到θ=fθ(t),α=fα(t)两条曲线,分别是髋部夹角和支撑腿膝关节弯曲角度的曲线,变量θ,α关于t的一阶导数连续,步骤(4.2),在上述上位机中,按下式计算当步数为n时,n为t与T相除结果的整数部分,在上述行走参数θ,α以及摆动腿膝关节的弯曲角度β的取值下,由于支撑腿在变为摆动腿后膝关节就保持不变,所以β=α0,所述双足机器人各个电机的旋转角度, <mrow> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>hip</mi> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mo>-</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mi>&theta;</mi> <mo>+</mo> <mi>&alpha;</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>hip</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mi>&theta;</mi> <mo>+</mo> <mi>&beta;</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>knee</mi> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mi>&alpha;</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>knee</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mi>&beta;</mi> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mi>n</mi> <mo>=</mo> <mn>1,3,5,7,9</mn> <mo>.</mo> <mo>.</mo> <mo>.</mo> </mrow>(3) <mrow> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>hip</mi> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mi>&theta;</mi> <mo>+</mo> <mi>&beta;</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>hip</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mo>-</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mi>&theta;</mi> <mo>+</mo> <mi>&alpha;</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>knee</mi> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mi>&beta;</mi> </mtd> </mtr> <mtr> <mtd> <msub> <mi>S</mi> <mrow> <mi>knee</mi> <mn>2</mn> </mrow> </msub> <mo>=</mo> <mn>2</mn> <mi>&alpha;</mi> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mi>n</mi> <mo>=</mo> <mn>2</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mn>6</mn> <mo>,</mo> <mn>8,10</mn> <mo>.</mo> <mo>.</mo> <mo>.</mo> </mrow>(4)当n为奇数时,Ship1、Sknee1分别为所述支撑腿髋关节和膝关节的角度,Ship2、Sknee2分别为所述摆动腿髋关节和膝关节的角度,当n为偶数时,Ship2、Sknee2分别为所述支撑腿髋关节和膝关节的角度,Ship1、Sknee1分别为所述摆动腿髋关节和膝关节的角度,也就是说当n由奇数变为该奇数加1所形成的偶数时,作为第一大腿的支撑腿与作为第二大腿的摆动腿在一步行走结束后互换。
地址 100084 北京市100084-82信箱