Introduction to Humanoid Robotics by Dr. Rawichote Chalodhorn (Choppy) Humanoid Robotics Lab, Neural System Group, Dept. of Computer Science & Engineering, University of Washington. RoboCup soccer The brain controlled Outline

• History of humanoid robots • Humanoid robots today • Androids • Analytical approaches of bipedal locomotion • Learning to walk through imitation • Future of humanoid robotics Atomaton: Leonardo's robot

1495 Atomaton: The Japanese tea serving doll

18th century to 19th century E series

P1 P2 P3 1993 1996 1997 AIST / Kawada Industries : HRP series

HRP-4C Androids

• A robot that closely resembles a human • Human robot interaction

Prof. Hiroshi Ishiguro !

Chapter 2 Zero-Moment Point (ZMP) The Zero-Moment Point [Vukobratovic et al. 1972]

"#$!%&$'()*+!,#-%.$&!%&$+$/.$0!-!1&)-0!1-,23&)*/0!-/0!4(.$&-.*&$!+*&'$5!)6!.#$!1(%$0! 4),)7).(We)/!(/!&)1 ).can(,+8!9):$' $maintain&;!(.!)/45!1&($645!7$/WhatWhat.()/$ 0!balance.#$!<$&)=> ) 7isis$/.!? )(/ZMPZMP .!as (Zero(Zero MomentMoment Point)?Point)? @<>?A!-4)/3!:(.#!-!6$:!$B-7%4$+!)6!+.*0($+!.#-.!&$')4'$0!)/!(.+!,)/,$%.8!C:(/3!.)! .#$! 6-,.;long! .#-.! .#$! %&( /,( as%-4! 3) -4! the)6! .#$! %&)D$,.! ZMP:-+! .)! +.*05! is-/0! staying0$'$4)%! 1(%$0! #*7-/)(0!4),)7).()/!,)/.&)4!1-+$0!)/!.#$!<>?;!(.!:-+!0$,(0$0!.)!,)/,$/.&-.$!-!6*44! ,#-%.$&!.)!0(+,*++!(/!0$%.#!-44!.#$!-+%$,.+!)6!.#$!<>?;!6&)7!(.+!0$6(/(.()/!-/0!,)/,$%.;! .)!(.+!-%%within4(,-1(4(.5!@(/,4*0(/ 3the!%&$'()*+!+.*0($+A! support-/0!'-&(-/.+;!-/0! 6(/-445!polygon.(.+!0$&('-.()/8!

2.1 Definition

! ZMP

Vukobratovic and Stepanenco, 1972

Center of Pressure"

d R •ZMP NEVER! leaves the support polygon! E(3*&$!!F8GH!<$&)=>)7$/.!?)(/.!)&(3(/-4!0$6(/(.()/!@I*2)1&-•ZMP.)'(,!"#!$%&;!GJ JKcanA8! be measured by force sensors in feet. Zero-moment point Hiro Hirukawa The Onassis Foundation Lecture Series 2006 10/88

! GL !"#$%&'()*(%"&(+&',-.,.&/%($,0/%(

!"#$%&'(&#)*&+,--./&0123'&$2(&(2&4%$25'&(1'&4$'5(4#&#$6!"7'6&(1'&02$3(#$(&1'4%1(& #829'&43&:'52&+1&;&-/&(2&<4')6&#$�"5#('&9'5342$&2=&>?3*&&+,*@/&#$6&&+,*.-/A&

2 8 6 4 & 7 ' 6 & 7 4 ' 0 ) %3 3 # 3 !!!3 4 " !!!3 6 " 3 $ 35 35 !"#$$% 6+.$ ( 2 & 8 4 & 7 %3 3 !!!3 4 "

2 8 5 4 & 7 ' 5 & 7 4 ' 0 ) %3 3 # 3 !!!3 4 " !!!3 5 " 3 $ 36 36 !"#$"% 5+.$ ( 2 & 8 4 & 7 %3 3 !!!3 4 "

>?"#(42$3&&+,*../&#$6&&+,*.,/&B'5'&"3'6&#)32&8<&C1#$%&+,--D/*&

! % A&E234(42$&9'0(25&2=&'- ' ( *6; 5 ; -+

% : !")$ . ( *% % % + A&(2(#)&(25?"'�(4$%&#(&'- , 6 5 4 !"($ 9 : : : : % !" , ( *. . . + &A&'F('5$#)&727'$(&:( + & 6 5 4 !"#$%&'()*(%"&(+&'9 ,-.,.&/%(3 $,0/%( * 9 9 9 9 % &A&'F('5$#)&=250'&9( + ( *<6 <5 <4 + &3 ' ' 9 9 9 9 % A&E234(42$&B1'5'&+9&43�(4$%& * ( *=6 = 5 =4 + !"#$%&'(&#)*&+,--./&0123'&' $2(&(2&4%$25'&(1'&4$'5(4#&#$6!"7'6&(1'&02$3(#$(&1'4%1(& # " #829'&43&:'52&+1&;&-/&(2&<4')6&#$�"5#('&9'5342$&2=&>?3*&&+,*@/&#$6&&+,*.-/A& & !"#$%&'()*(%"&(+&',-.,.&/%($,0/%( G4%"5'&&,*HA&I'=4$4(42$3&2=&9'0(253&=25&#&B#)J4$%&7'01#$437&+#6#E('6&=527&K#J#$4314&>?(@A*L&.@H@/*& 2 8 6 4 & 7 ' 6 & 7 4 ' 0 ) !"#$%&'(&#)*&+,--./&0123'&$2(&(2&%4%$25'&3 3 #(1'&3 !4$'5(4#&!!3 #$6&4 " #33"7!!!3 '6&(1'&6 "02$3(#$(&3 $ 351'4%1(&35 !"#$$% 6+.$ ( 2 & K#J#$4314̽'&43&:'52&+>?(@A*&+.@H@/&1&;&-/&E5'3'$('6&(2&<4')6&#$�"5#('&#&6'549#(42$&9'5342$&2=&>?3*&&=25&8(1'&+,*@/&#$6&&4CMN&& 7 +,*.-/A&'?"#(42$3&B1401&4$0)"6'6& %3 3 !!!3 4 " 'F('5$#)& =250'3& #$6& 727'$(3& #002564$%& (2& (1'& 9'0(253O& 6'=4$4(42$3& #3& 312B$& 4$& 2 82 6 4 & 7 ' 6 & 7 4 ' 0 ) %3 3 # 3 !!!3 4 " !!!3 6 " 3 $ 35 35 6 ( 83 #53 !!4!3 & 7 4 "' !!5!3 & 7 5 "43 $' 0 36)36 +/01&2- -"#3*&!"#$$%P$4(4#))?"#(42$3&&+,*../&#$6&&+,*.,/&B'5'&"3'6&#)32&8<&C1#$%&+,--D/*&: 9 9 !"#$4% %#83 !&3 ' 6", !!&!3 & 0"$& . ' %, ' %#!* ' 6", + $( 5 & >?"#(42$3&&+,*../&3 #$6&&+,*.,/&B'5'&"3'6&#)32&8<&C1#$%&+,--D/*&: 9 ! % A&E234(42$&9'0(25&2=&'- ! ' ( *6; 5 ; -+ % A&E234(42$&9'0(25&2=&'- Q3&7'$(42$'6&'#5)4'5L&(1'&CMN&43&(1'&E24$(&4$&B1401&(1'&1254:2$(#)&027' ( *6; 5 ; -+ E2$'$(3&2=&(1'& % : !")$ . ( %% % % A&(2(#)&(25?"'�(4$%&#(&'- : !")$ . ( *% % %* +6 A&(2(#5)&(25?"4 '+�(4$%&#(&'- 727'$('&'?"#)& (2&,:'52*& R4(1& (143& 02$3(5#4$(L&6 (1'&5 #"(1253&4 7264=<&>?*&&+,*.D/&#$6& , ! ! 9 "($ "($ % 9 : : : : :: &A&'F(:'5$#)&72: 7%'$(&:( + !" , ( *. 6 . 5 . 4 + &A&'F('5$#)&727'$(&:( + !" , ( *. 6 . 5 . 4 + 5'(54'9'&+"34$%&347E)'&97#(1'&73 #(40#)&2E'5#(42$3/&(1'&S&#$6&T&027E2$'$(3&2=&(1'&CMNA& & % 9* 3 + 9 ( *< 9 < 9 < 9 + &A&'F('5$#)&=250'&9( * 6 9 5 4 9 9 9 % &A&'F('5$#)&=250'&9( & ' ' + ( *<6 <5 <4 + 3 % 9 * 9 ( *= 9 = 9 = 9 + A&E234(42$&B1'5'&+ &43�(4$%& &3 ' ' 6 5 4 ' 9 9 9 9 % A&E234(42$&B1'5'&+9&43�(4$%& # " * ( *=6 = 5 =4 + & # ' Vectors of a walking mechanism" G4%"5'&&,*HA&I'=4$4(42$3&2=&9'0(253&=25&#&B#)J4$%&7'01#$437&+#6#E('6&=527&K#J#$4314&>?(@A*L&.@H@/*& & & DU G4%"5'K#J#$4314&&&,*HA&I'=>?(4$4@A(4*&2+.@H@/&$3&2=&9E5'3'$('6&'0(253&=25#&'549#(42$&&B#)J4$%&=25&7'0(1'&1#CMN&$437&'?"#(42$3&+#6#E('6&B1401&=527&K4$0)"6'6&#J#$4314&>?(@A*L&.@H@/*& 'F('5$#)& =250'3& #$6& 727'$(3& #002564$%& (2& (1'& 9'0(253O& 6'=4$4(42$3& #3& 312B$& 4$& +/01&2- -"#3*&P$4(4#))?(@A*&+.@H@/&E5'3'$('6&#&6'549#(42$&=25&(1'&CMN&'?"#(42$3&B1401&4$0)"6'6& %52"$6&'-43&6'=4$'6L&B1401&43�?"45'6&8<&#EE)<4$%&6OQ)'78'5(&E54$04E)'A& 'F('5$#)& =250'3& #$6& 727'$(3& #002564$%& (2& (1'& 9'0(253O& 6'=4$4(42$3& #3& 312B$& 4$& 2 : 9 9 +/01&2- -"#3!"#$4%*&P$4(4#))

727'$('&'?"#)&2 (2&:'52*& R4(1&(143& 02$3(5#4$(L&(1'&#"(1253&7264=<&>?*&&+,*.D/&#$6& : 9 9 !"#$4%5'(54'9' &+"34$%%&347#E8)'3&!7(1''76#"(,40#!)!&&!23 E&'50#(42$3/&"$& .(1'&'S&%#$6&,T&027' %E2$'$(3&#!* 2=&' (1'&6",CMNA&+ $( 5 & 3 : 9

Q3&7'$(42$'6&'#5)4'5L&(1'&CMN&43&(1'&E24$(&4$&B1401&(1'&1254:2$(#)&027E2$'$(3&2=&(1'& 727'$(& #5'&'?"#)& (2&:'52*& R4(1&(143& 02$3(5#4$(L&(1'&#"(1253&7264=<&>?*&&+,*.D/&#$6& & DU 5'(54'9'&+"34$%&347E)'&7#(1'7#(40#)&2E'5#(42$3/&(1'&S&#$6&T&027E2$'$(3&2=&(1'&CMNA&

& DU Derivation of the ZMP

!"#$%&'()*(%"&(+&',-.,.&/%($,0/%(

ZMP equations with external forces and moments

3 : 7 2 ) 9 ( 7 ) 9 2 ) . 6 ) ( 1 * ' 1 '4 4 # 4 !!!4 2 " !!!4 7 " 4 $ ' 6 5 '1 % &5 !"#$%& 7+.$ + 3 ! : 2 ) 9 ( 8 1 '4 4 !!!4 2 " '1 2 !"#$%&'()*(%"&(+&',-.,.&/%($,0/%( [Takanishi et al., 1989] 3 : 7 2 ) 9 ( 7 ) 9 2 ) . 6 ) ( 1 * ' 1 '4 4 # 4 !!!4 2 " !!!4 5 " 4 $ ' 6 7 '1 % &7 !"#$)& 5+.$ + 3 ! !"#$%&'(&#)*&+,--./&0123'&$2(&(2&4%$25'&(1'&:4$'5(4#&2 ) 9#$6&(#33"78'16&(1'&02$3(#$(&1'4%1(& '4 4 !!!4 2 " '1 2 #829'&43&:'52&+1&;&-/&(2&<4')6&#$�"5#('&9'5342$&2=&>?3*&&+,*@/&#$6&&+,*.-/A& "#$%!&''()&*#!+&%!,%-.!$/!A%-0-(&1! simplified%2,.$-% version!34!2#-!&,2#)(%! of ZMP&/.! equations)2#-(!(-%-&(*#-(%!56$(;<( 2 8 6 4 & 7 ' 6 & 7 4 ' 0 ) =>?7!8998:!;&(#--7!899?:!"&<&/$%#$%3 3 #(;<(=>?3 !!!3 7!899@AB!4 " !!!3 6 " 3 $ 35 35 !"#$$% 6+.$ ( 2 & 8 4 & 7 %3 3 !!!3 4 " [Huang et al., 2001] 2 8 5 4 & 7 ' 5 & 7 4 ' 0 ) %3 3 # 3 !!!3 4 " !!!3 5 " 3 $ 36 36 !"#$"% 5+.$ ( 2 & 8 4 & 7 %3 3 !!!3 4 "

>?"#(42$3&&+,*../&#$6&&+,*.,/&B'5'&"3'6&#)32&8<&C1#$%&+,--D/*&

! % A&E234(42$&9'0(25&2=&'- ' ( *6; 5 ; -+ ! % A&(2(#)&(25?"'�(4$%&#(&'- : ")$ . ( *%6 %5 %4 + , ! 9 "($ % : : : : &A&'F('5$#)&727'$(&:( + !" , ( *. 6 . 5 . 4 + 9 &3 * 9 9 9 9 % &A&'F('5$#)&=250'&9( + ( *<6 <5 <4 + &3 ' ' 9 9 9 9 % A&E234(42$&B1'5'&+9&43�(4$%& * ( *=6 = 5 =4 + ' # " &

G4%"5'&&,*HA&I'=4$4(42$3&2=&9'0(253&=25&#&B#)J4$%&7'01#$437&+#6#E('6&=527&K#J#$4314&>?(@A*L&.@H@/*&

K#J#$4314&>?(@A*&+.@H@/&E5'3'$('6&#&6'549#(42$&=25&(1'&CMN&'?"#(42$3&B1401&4$0)"6'6& 'F('5$#)& =250'3& #$6& 727'$(3& #002564$%& (2& (1'& 9'0(253O& 6'=4$4(42$3& #3& 312B$& 4$& +/01&2- -"#3*&P$4(4#))

2 : 9 9 !"#$4% %#83 !&3 ' 6", !!&!3 & 0"$& . ' %, ' %#!* ' 6", + $( 5 & 3 : 9

Q3&7'$(42$'6&'#5)4'5L&(1'&CMN&43&(1'&E24$(&4$&B1401&(1'&1254:2$(#)&027E2$'$(3&2=&(1'& 727'$('&'?"#)& (2&:'52*& R4(1& (143& 02$3(5#4$(L&(1'&#"(1253&7264=<&>?*&&+,*.D/&#$6& 5'(54'9'&+"34$%&347E)'&7#(1'7#(40#)&2E'5#(42$3/&(1'&S&#$6&T&027E2$'$(3&2=&(1'&CMNA&

! CD

& DU !"#$%&'()*(%"&(+,$(-#!./0#1(!.21%&'/#3#1!&!

4.2 The ZMP Jacobian Concept

"#!$%&'!'()$&*#+!$%(!)*#)(,$!*-!$%(!./0!12)*3&2#!-*4!2!5(#(426!786$&93*:;!%872#*&:! !"#$%&'()*(%"&(+,$(-#!./0#1(!.21%&'/#3#1!&! 4*3*$! &'! -*47862$(:'! ,*'&$&*#+! !+,$+! *-! 2! 4&5&:! 786$&93*:;! ';'$(7! &'! 2! 5(#(426!-8#)$&*#!*-!$%(!';'$(7>'!?*&#$!2#56('!"#2'!-*66*@'A! "#$! %&! '%""(')*%$+,! -#").("/%"(0! )%! %1("'%/(! ).(! $%$23*$(4"*)50! 1456478914:;<=>?6!

!"#$% !+,$ # !+,$ !""! 6778!/().%9!:4+!#+(9!4+!&%33%:+,!;*1($!4!$(:!<%+)#"(!1(')%"!!0!4)!4!+*/#34)*%$!+)(

9(/4$9*$=!'%#$)(">434$'(0!).(!'%$)"%33("!:%#39!+(4"'.!).(!)4>3(!&%"!).(!$(4"(+)!!"?! =%&'!4(62$&*#!&7,6&('!$%2$!2!12)*3&2#!72$4&B!(B&'$'!@%&)%!&'!-*47862$(:!2'A! ($)"5!)%!!0!*$!)("/+!%&!+@#4"(9!9*+)4$'(0!4$9!<#33!%#)!*)+!'%""(+<%$9*$=!#+,$6!5?8,!

$! !"#$%&'()*(%"&(+,$(-#!./0#1(!.21%&'/#3#1!&! !"#&% 4! % +,$ 4" ! A$(! /*=.)! @#(+)*%$! ).(! <"%&*'*($'5! %&! #+*$=! 4! +*/<3(! 77! /().%9! &%"! $%$23*$(4"! +,$ $" *$)("<%34)*%$!+#'.!4+!.("(,!B%:(1("0!4+!<"(+($)(9!*$!!C.4<)("!D0!).(!<%+*)*1(!"(+#3)+! !"#$%&'()*(%"&(+,$(-#!./0#1(!.21%&'/#3#1!&! 4'.4*(.12( 9!+T((h/e( 9Z!)M%!PE# +J)*&5ac!)o.*b+!i9a('n*+ C*%$o,!nF$c!e49p9t*) *%$0!%).("!43)("$4)*1(!*9(4+!)%!).*+! "#! *$%(4! @*4:'+! $*! 7*:&-;! $%(! CD! E24$('&2#! ,*'&$&*#! *-! $%(! ./0+!

C 4<<"%4'.!:*33!>(!9*+'#++(9!*$!!G,H,! !+,$ # &7+ 6+ 5+ ')( !3;!!!+,$!&#!CD!',2)(+!&$!&'!4(F"#!48&.$%&'!42(: !'()$&*#+!$*T!h7e*: Z&$%(!-;M!$)*#)(,$!%P( !J?*a&#c$*-!!ob$%(!ia.n/ C0!12)*3&2#!oncep-*4!t 2!5(#(426!786$&93*:;!%872#*&:! 8 4*3*$! &'! -*47862$(:'! ,*'&$&*#+! ! +! *-! 2! 4&5&:! 786$&93*:;! ';'$(7! &'! 2! 2#56('!G()$*4!*-!$%(!"#$%&!786$'&(93)*(%"&(*:+,$;!"(-#!).(/0#1(!3!.21;A!%&'/#3#1!&! 4.4.2 Computing the Correctio+n,$ Vector 5(#(426!-8#)$&*#!*-!$%(!';'$(7"#!$%&'!'()$&*#+!$%(!)*#)(,$!*-!>'!?*&#$!2#56('!$%(!./0!12)*3&2#!"#2'!-*-*4!66*@2!'5(#(426!A! 786$&93*:;!%872#*&:! "#$%&'(! )*+,-+.#'/*0! 1-2*! 23#2! 23&4! .*23-5! /#'! 6*! (*'*+#$&4*5! 2-! -23*+! 2#4%7 ZMP JacobianI+! Compensation+)4)(9!4*3*$! &'!*$!-*47862$(:'!KLM!,*N4'%>*4$!'&$&*#+! !+"(34)(+!,$+! *-! 2).(!! 4&5&1(3%'*)5!:! 786$&931(')%"!*:;! ';'!$(!*$!7! &'E%*$)2! 2! !"#'% !"!H!9(I!!+,$J+!! ! 5*)*'5*'2!8#+2*4&#'!5*9&-'4!4:/3!#4!#!4)*/&,&/!;-&'2!)-4&2&-'!/--+5&'#2*4!#'5!23*! 5(#(426!-8#)$&*#!*-!$%(!';'$(7!"#$% !+,$ #>'!?*&#$!2#56('!!+,$ !""! "#2'!-*66*@'A! !"#$%&'()*(%"&(8-?4!)-4&2&-'0!!%&'/#3#1!&! +<[Sobota4'(!)%! )et.( al.,!K L2003;M!1 (Wollherr3%'*)5!*$ et!). al.,(! .2003]%"*O%$)43!<34$(!4+!&%33%:+P! @%(4(!9!IKJ!&'!2!-8#)$&*#!@%&)%!$42#'-*47'!$%(!E24$('&2#!7*$&*#!*-!$%(!./0!!! ! " " " +,$ $ % =%&'!4(!"#$%62&$&* #!&7,6&('!$%2$"!!2+,$!12)#*3!&2+,$#!7!"2"$!4&B!(B&'$'!@%&)%!&'!-*47862$(:!2'A! &#$*!$%(!?*&#$9'!"#$%,2) (!7*$&*#!!"#!3(! )%! @ " $" -./! 31! 5:$5;1! 13+<5+%2! #4! +,%!% $='#<42!"! 542!"! # ##4:;!+,$ *!"#&%1!4 "!! +,$#4! +,%! ,#'3>#4+5:! ='#<42! 7*$&*#!&'!5(#(4266;!L#*@#!2'!2!12)*3&2#!72$4&B+!2#:!%(4(!&$!&'!-*47862$(:!" 2'!-*66*@'A! '%/<#)(!).(!'%""(')*%$!1(3%'*)5!*$$!E!%+,$*$)2+<4'(!=*1($!4!9(+*"(9!'%""(')*%$!"(@#*"(9!&%"! 7:54%?!@,<1(!+,%'%!31!4#!*%5434=!+#!+,%!&%'+3A5:!A#*7#4%4+!#)!+,%!!"#$%!!-./(!+ ,$ 5+(!34!+,31!# " ! ! ! !"#&% ! !4+,$!+,$$ %+,$ ! 4 "4#"!! ).(!KLM,!Q.*+!4''%/"#! *$%(4! @*4:'+!<3*+.(9!#+*$=!).(!$*! 7*:&-;! $$"%(!KLM!CD!N4'%>*4$?+!E24$('&2#!*$1("+(!,*'&$&*69($%#! *-!)(9$%!>5!(! @.8P/! 0+! A#4+%B+!542!CD?!A&(:+*!EF?FG!!B0CD!E3*A54!!-:2$&'3=4#'%!*!-,!23*!=<3+!>!542!F#/-6&#<1%!'!8-:#4:;'2*+6#$!#+,%!'/*!.,#'3>#4+5:!*23-50!E3*!)+*5*7#1,&'*5!3+3#42+#;*/2-!+#G!)"!!+,%!&4! -./! 0 - 5 C $!+,$ $!+,$ ! #C*&87 6 5 ')( !3;!!!+,$!&#!CD!',2)(+!&$!&'!4(F8&4(:!$*!7*:&-;!$%(!?*&#$! !"#"% " I #5;:42*5$! 6G! $&'*#+$"G! 4:)*%+&.)-4&'(! 23*! /-++*/2&-'! 9*/2-+! !"! 2-! /+*#2*! 23*!+,$)5*4&+*(5! )-42:!++*! "60! E+3*! + #+,$ & % H! +,$ ! : " . + "#$%&%'(!)'#*!+,%!-./01!2%)343+3#4!542!2%'3&5+3#4!34!!6,57+%'!8(!3+!31!94#$4!+,5+!+,%! " ! &! +*H:&+*5!/-:'2*+6#$#'/*!/-++*/2&-'! +,$ !&4!/-'9*+2*5!2-!23*!;-&'274)#/*!:4&'(!23*!F#/-6&#'?4!&'9*+4*! / $;M $;8 , "#! *$%(4! @*4:'+! $*! 7U*:&-;! $%8(!" CD! E24$('&2#! ,*'&$&*#! *-! $%(! ./0+! "%": "#$'& ! $ # ! # $ ! IJ-6-2%#(75(489K!LMMCN0! -./!2#56(31!'!G5:$()$*54;1!!*-!$13+<5+%2!%(!78!6$!93*+,$+,%!:;!!"='#<42!)5 "(!!3+,$542!;A! #4:;! *#&%1! #4! +,%! ,#'3>#4+5:! ='#<42! C !+,$ # &7+ 6+ 5+ ')( !3;!!!+,$!&#!CD!',2)(+!&$!&'!4(F8&4(:!$*!7*:&-;!$%(!?*&#$! -.9+ .9+ * E3*!#&.!-,!23&4!.*23-5!&4!2-!#$2*+!23*!3:.#'-&5?4!=<>!3-+&O7:54%?!-'2#$!)-4&@,<1(!2&-'! ! " +,%'%!( 'L ! 31!4#!*%5434=!+#!+,%!&%'+3A5:!A#*7#4%4+!#)!+,%!-./(!5+(!34!+,31! - " " * + "8 (+,$ .#+,$ .#+,$ .78 .76 I'6 8 =%&'!12)*3&2#!&'!2!-8#)$&*#!*-!$%(!N:<=>:?O!"?*&#$!2#56('! " ) ( !"#'%!I&<(< !$%(!?*&#$!2#!5"6(!H'!!9(I!!+,$J+!! !"#&% -'!23*!" (+-:'5!!! "6G!$"!+,$!"3*'*9*+! ! !&4!-:24&5*!23*$!4:+)Q.(!)-:+2!)2-*$1("+(!#$G5(6-(''!!!G0!E3*!(KLM!)($5*4&+*5!*4!*&-!$N4'%>*4$!%%(!7! 86$&93*$!*S@,!:;!"!6J,V8!) ( *+!!3;%>)4*$(9!A! #+*$=!).(!L%%"(2M($"%+(!<+(#9%2 +,$ 4 + " +,$ ( .8A#4+%B+!.542!8 CD?!!EF?FG!A54!3=4#'%!3+!542!<1%!#4:;!+,%!,#'3>#4+5:!7#13+3#4!#)!+,%!-./! , .78 .76 ) + + + ( !$!4 " " -,,4*2!"!+,$!"&$$!6*!5*2*+.&'*5!6G!23*!43-+2*42!5&42#'/+*!-,! !+,$ !,+-.!23*!6(-:'5#+G! '($!2$!$%(!4*3*$>'!?*&#$'!2$!(2)%!5&G(#!7*7(#$J+!2#:!&$,!*(.$'71'8((#"+$&(2!66/;.!7(7I)6.)2%,9'0!!$%:(.!*G'(.6*! )/&$*;$!*/*+(+! ).(! S#'3*9*4$! $%"/! ! !4$9! *+! <"(+($)(9! *$! # & % H! !$!4 ! @+,$%(4(!9!IKJ!&'!2!-8#)$&*#!@%&)%!$42#'-*47'!$%(!E24$('&2#!7*$&*H#!*-!$%(!./0!!!+,$! -,!!0!E3*!+*#4-'!23*!=<>!)-4&2&-'!&4!.-9*5!-'$G!2-!23*!6-:'5#+G!#'!"#'%5!'-2! ,:+23*+! !"!H!9(I!!+,$J+!! G()$*4! " !&#! ?*&#$9',2)(! $*! $%(! G(6*)&$;! *-! $%(! ./0! ! ) (C !&#! E24$('&2#! ',2)(! " &'4&5*! 23*! 4:))-+2! )-$G(-'! &4! 23#2! 23*! .*23-5! 5-*4! '-"2!I<<($9*W!C,!Q.*+!<+(#9%2*$1("+(!'%/<#)(+!)%P!!+,$"#'&2#! 2$-*! /!$#%:4(*!!?4*+&-#:$49!'4&,5*2!)(!7*$&*#!!"! , .78 .76 ) =%&'!9!IKJ!4(62$&*#'%&,!3($@((#!$%(!E24$('&2#!7*$&*#!*-!$%(!./0!2#:!$%!($!!?4*&#$9',2)(! *%4+3#4%2!34F!#1/%-A6+#'!4#+!!F,$?I8"(4!N0!$R*/#:4*!,3A,!$-,!3::23&4!!<4$&'*#+!2%'=#4:)*+&.)-4&2&-'K!!*#23)3A5+39(<($9+!#I4**!4(!5*$+,(-&42!+,31*&!&./0!$N!).(!3"::*!!K-6%N4'%>2!#7&''!%1%4*4$+%2!! *+! "%:! "4$R0! %"! '%3#/$! "4$R! 9(&*'*($),! Q.(! E%*$)! 1(3%'*)5! #!'*"!67:;<76()-42:+*!9*/2-+D! 7*$&*#!&'!5(#(4266;!L#*@#!2'!2!12)*3&2#!70$!+,$ 2$4&B+!2#:!$!+,$%(4(!- &$!&'!-*4C7*8862$(:!2'!-*66*@'A! 34!+,%!)#::#$34=!1%A+3#4?! !"#"% $ +,$ !": " % . ! + ) ( ! ! 1(')%"J1!1!,&5":%/:!K%!S!1@,!%%4!6!J,V834!1%!*+A+!3#).($!4PQ!!F?F*$)((!+,=31"!4)(9!L5$A;#K35401!)%!%>)4*$!34&%'1%!$).(!; $3::!<%+)#K%!"(!%*'%7:#;%2!""(')*%+#!$!!A#*!!*7<+$!E%!%*$)! / M 8 , "%" 1./23 !"6!S!"5!T!""! : +<4'(,!+,%!A#B%:(1("0!''%A+3#4!&%+:*#$'(!A3+;).(!!34!M+*/#34+#N134)*%75A%$!!)(W('#)(+!'#*!5!2%13'%2!4)!4!A#''%A+3#4!&*W(9!)*/(!'%D<3'%2!+)(<+0!433!)#'!).(!+,%!1(3%'*)*(+-./(! ! 4.3 The Humanoid Motion Generation 0$!+,$ $!+,$ - C*8 !"#"% $ +,$ !": " % . ! + ) ( ! +,%'%K;!#K+53434=!+,%!7#13+3#4!EM#34+!54=:%1G!52M<1+*%4+!34!M#34+N8175A%!!!?!O<+!)3'1+(!3+! / $;M $;8 , =%&'!12)*3&2#!&'!2!-8#)$&*#!*-!$%(!N:<=>:?O!?*&#$!2#56('! ":"%)": ( !I&<('!?*&#$'!2$!(2)%!5&G(#!7*7(#$J+!2#:!&$!(''(#$&266;!72,'!$%(!G(6*)&$;! 7'#K:%*(! $,3A,!! %4A#*7511%1! 5! ='%5+! 2%5:! #)! +,%! '#K#+3A1!*=%&'!%4+'%1%5'A,!3#12)*3&2#!4%2!34!A#**<43+;?!1%UVA&'!+3#2!4-8#)$&*#!!!F?8(!$,3*-!A,!$%(!$3:N:!:<<4=2>%:'?=O#!?!**&##$2!23)#35A65(+'3#! "4(!5)4(2!+8,!I31&%'!A?+*3#$?'!!2$!(2)%!5&G(#!7*7(#$J+!2#:!&$!(''(#$&266;!72,'!$%(!G(6*)&$;! A#*7:%B!A#*7<+5+3#45:!A,5::%4=%!2<%!+#!+,%!)#::#$34=!!'%51#41?!2))*4Q3'1+(!:!$,<**!$%5(4#321!!-*66*5'%!@!(F82$&*#A! YZ G()$*4! " !&#! ?*&#$9',2)(! $*! $%(! G(6*)&$;! *-! $%(! ./0! ! ) (C !&#! E24$('&2#! ',2)(! 1+'

R%&%'5:! 577'#5A,%1! ,5&%! K%%4! %*7:#;%2! 34! +,%! ,<*54#32! '%1%5'A,! 1A#7%! +#! 5AA#*7:31,! 7:541! #'! +'5M%A+#'3%1! )#'! +,%! '#K#+01! M#34+1(! $,3A,! 7%')#'*! 5! 2%13'%2!

! SS In this paper we introduce a novel walking pattern generation that allows arbitrary foot placements as a mixture of the ZMP based and the inverted pendulum based approaches. It is also shown that by using the preview controller, we can take into account of the precise multibody dynamics although our method is based on a simple inverted pendulum model.

2 Dynamic Models of Biped Robot

2.1 3D Linear Inverted Pendulum Mode and Zero-moment point

When we apply a constraint control to an inverted Figure 2: A pendulum under constraint pendulum such that the mass should move along an In this paper we introduce a novel walking pattern arbitrary defined plane, we obtain a simple linear dy- generation that allows arbitrary foot placements as a where (px, py) is the location of the ZMP on the floor. namics called the Three-Dimensional Linear Inverted mixture of the ZMP based and the inverted pendulum By substitutinbag IsedEnqtsha.ipprs(p5ao)apctehes.or wtheeItin3tisDroa-dLlusoIcPeshoMa nw(o(n2ve)tlhaawntadlbkyinugsingpatttheern Pendulum Mode (3D-LIPM)[9, 11]. We take Cartesian (3)) we obtaingperneevriaewtiocnonthtraotllaelrl,owwse acrabnitrtaarkye fionotto palcaccoeumnetnotsf athsea coordinates as shown in Figure 2 and specify the x-axis mprixectiusreemofutlthieboZdMyPdybnaasemdicasndalthoeuignhveortuerdmpetnhdoudluims as the ordinal walking direction. The constraint plane g babasedys¨e=d aopprn a(yosaimches.ppyle),inItveisrtaedlsopeshonduwlnumtham(6to)dbeyl.using the In this paper we introduce a novel wazlkin−g pattern is represented with given normal vector (kx, ky, 1) preview ccontroller, we can take into account of the generation t−hat allows arbitrary foot plagcements as a and z intersection zc as prex¨cis=e mu(lxtibopdxy).dynamics although(o7u)r method is mixture of the ZMP based and the inverztec d p−endulum z = k x + k y + z . (1) b2asedDoynnaasmimipcleMinvoedrteedlspoenfdBuliupmedmoRdeol.bot x y c based approaches. It is also shown that by using the In this pap2.2er we ZinMPtroduequationsce a novel waalknding pcart-tableattern model If the constraint plane is horizontaplr(ekvxie=wkycgoe=nnet0rra)o,tliloenr,thwaet aclalonwstaakrbeit2.1irnatryo fao3ocDctopuLlaninearctemoefnttIhsneavserteda Pendulum Mode the dynamics under the constraint control is given by and Zero-moment point precise mmuilxttiubroedoyf tdhyenZTaMmoPcicobsnatsareoldtlhat2ohnuedgZthDhMeyoPiunn, vriatermmstheeiodtcuhpldoMendbdoeuidstluhemelsouotfpuBtsipofetdheRobot based approaches. It is also shown that by using the g 1 based on a simple insystemverted whilependuitluampWphemaenrosdwaeesl.atpheplyinputsa consotfratheint 3cDon-tLrIPol tMo an inverted Figure 2: A pendulum under constraint y¨ = y τx, prev(i2ew) controller, we can2.1take i3nDto Lacinearcount oIfnvthertede Pendulum Mode zc − mzc in the last sectpioenn.duTluhmeresfuocrhe,twheatretwherimteaEssqsh. o(u6l)damndove along an precise multibody dynamics althoandugh oZuero-momenr method is t point g 1 (7) to have thearZbMitrParaysdtehfienierdopultapnuet,swaesobtain a simple linear dy- x¨ = x + τ , base(d3)on a simple inverted pendulum model. where (px, py) is the location of the ZMP on the floor. y namics called the Three-Dimensional Linear Inverted Figure 2: A pendulum under constraint zc mzc 2 Dynamic Models of BipWehden Rweoazbppolyta constraint control to an inverted By substituting Eqs. (5) to the 3D-LIPM ((2) and Penpdu=lumy Modcey¨(,3D-LIPM)[9, 11]. We(t8a)ke Cartesian where m is the mass of the pendulum, g is gravity pendyulum s−uchg that the mass should move along an (3)) we obtain 2.1 3D Linear Inverted PacrendulumoboirtdrainraytdesefiasnesMohdopwlnadenine,Fwigeuorbet2aainndasspimecpiflyetlhineexa-raxdiys- acceleration and τx, τy are the torques around2x-axDisynamic Modelsaos fthBe oirpdeindalzRwcaolkbinogtdirection. The constraint plane where (px, py) is theglocation of the ZMP on the floor. nampicxs=caxlled thxe¨.Three-Dimensional L(9inea) r Inverted y¨ = (y py), (6) and y-axis respectively. and Zero-moment point − g By substituting Eqsz. (5−) to the 3D-LIPM ((2) and PisenrdepurluesmenMteoddew(it3hD-gLivIePnMn)o[9r,m1a1l].vWecetotrak(ekxC,akryt,esi1a)n c Even in the case of the sloped constraint2.1where3D Linear Invertedand zPiendulumntersection zMoas de − (3)) we obtain g In the followincogoprdairntaotefstahsisshpoawpnceirn, Fwieguwreil2l arenfderspFtehicgeiufyreth2e:x-Aaxpisendulum under conx¨st=rain(tx px). (7) k , k = 0, we can obtain the same dynWamhiecns bwyeaapp-andply aZcero-momenonstraint cotntprolintto an inverted zc − x y " as the ordinal walking direction. The constraint plane g plying additional constraint pendulum sucIhn tthiastapbathpoveeremweqeausinasttrisohndousucaelsdatmhneoovZveMel wPaalloekqnzinug=gatapkionaxntxtse+.rnkyy + zc. (1) y¨ = (y py), (6) is represented with given normal vectoFrig(ukre, k2: ,A 1p)endulum under constraint zc − WgehnernatwioenapthpFaliytgaualrlceoown3sstsarhraboiiwnttrsacraoynsftuorgotgl etpsoltaiacvneemimnevnoetdrsteaeldsdairectly corre- x y 2.2 ZMP equations and cart-table model arbitrary defined plane, we obtainanadIfszitmihnetpeclroesnelscittnrioaeinanrtzdplyaas-ne is howherrizoneta(lp(kx, p=)kyis=t−h0e), location of the ZMP on tghe floor. τxx + τyy = 0, penmd(ui4x)ltuumresoufscpthhoenthZdaMsttPtohbetahsmeesdaesasenqsdhutoahuteilodinvms.eortvIeteddapelcoepnnidcgtusalunamrunning carxt y x¨ = (x px). (7) namics called the Three-DimensiothenaldynaLineamicsr Iundernvertedthe constraint control is given by zc − arbbaitrsedaryadpprefionofeamdches.apslsanmIte,oiswneaaolsopbedestatashoinwanlsittmahabpletlebwholyinuesingasre dmythea-ss iBs nyegsligubiblestituting Eqs. (5) tToo tchonetr3oDl t-hLeIZPMMP,(it(2s)hoaunlddbe the outputs of the for the input torques. Pendulum Mode (3D-LIPM)[9, 11]. We take Cartze=siaknxx + kyy +wherzc. e (px, py) is th(e1)location of the ZMP on the floor. namics called(wtheenTeehdretew-Doismeetsnsioof naa lcaLrineat onr aIntgvaerbtedle fo1r (th3e))mwoetionbtain system while it appears as the inputs of the 3D-LIPM Eqs. (2) and (3) are linear equations. The onlyppraev-iew controller, we can take into acy¨co=unt yof the τxB, y substituting E(2q)s. (5) 2.2to theZ3MPD-LIPequationsM ((2) andand cart-table model coordinatPeesnadsulsuhmowMnoidne F(3iDgu-LrIeP2Ma)n[9dI,f1stp1h]e.ecWicfoyenttsathrkeaeixnC-taazprxtcleiassni−eanims zhcorizontal (kx = ky = 0), in the last section. Therefore, we rewrite Eqs. (6) and rameter which governs those dynamics is z , i.e., thperezcise muolftixboadnyddyy)n.amics although our method is (3)) we obtain g as thce ordcoinobaradlsiwnedaatloeknsianasgssidhAmoisprwelsenchtiionniwovFnenri.gtienutheTdrhtephe2edenynaacfidonugdnulmsusrtpmicsere,acmtiiundernhfoytedtpefholle.aotgxtnhe-eoafxcoitshnstre1taabinlet cois nttorool is given by (7) to have the ZMP as their outputs as intersection of the constraint plane and the inclination x¨ = x + τy, y¨(=3) (y Tpyo)c,ontrol the ZMP, it sho(u6l)d be the outputs of the zc mzc zg − is represeansttehde owrditinhaslgmwivaaelllknitnongloedrtimrtehacetliocvnae.rctTtsohtraey(ckoonxns,ttkrhayei,netgd1pg)lea.nHe o1wever, if the c zc of the plane never affects the horizontal motion. y¨ =− y τ , y¨ (=2) (y systempy), while it appp=eayrs a(s6)they¨, inputs of the 3D-L(IP8)M is represented with given nwherormael mvecistotrhe(km,akss, of1t)he pexndulum, g is gravity zgc − y and z intersection zccaarst accelerates with a proper rxatzeyc, th−e mtazbcle can keep x¨ = (xin tphxe)l.ast section. The−refogre(,7w)e rewrite Eqs. (6) and For the 3D-LIPM with the horizontal constraint − zg z and2z inDteyrsneucatpmiroingichztcMfaosroda ewalhsccileoel.ferAaBttiioptnheiadsnmdRoτoxm,begτnyotta,rtehte1hZe MtoPrquexesisatsround x-ax¨x=is c(x (−7p) xt)o. have the ZMP as (t7h)ecir outputs as (k = k = 0), we can easily calculate the zero- px = x x¨. (9) x y z = kxx + kyy +azncd. y-axis respex¨c=tive(l1yx). + τy, (3)zc − inside of the table foot.TheSince tCart-Tablehezmc omemntzcaround Modelthe − g moment point (ZMP), which is widely used in bip2.1ed 3D Linearz = kxIxn+vertedkyy + zPc.endulum Mo(1de) zc ZMP must be zerEov,ewneinhatvhee case of the s2.2loped cZonMPstraintequationswhere and cart-tablepy = moy dely¨, (8) robot research [13], If the constraint plane is horizwherontael m(kxis=thkeym=as0s)o, f the pe2.2ndulumZ,MPg is equationsgravity Inandthe cart-tablefollowing partmoof delth−isgpaper, we will refer the If the candonstrZaiero-momennt plane iskhxo,trkiypzoo=nint0at,l (wkex c=ankyob=ta0in),the same dynamics by [Kajitaap- et al. 2003] the dynamics under the constrainatcccoelenrta" rtoiolnisangdivτenx, τbyyare the torques around x-axis above equations as the ZMP zecquations. τy plying additional constraint the dynamics under theτcozmnstrp =amintg(coxntrpoxl)is gmivenx¨zcby= 0. To c(o1n0)trol the ZMP, it should be the ouptxp=utxs of thx¨e. (9) px = , aCartnCartd y-ax--isTableTable−respec−tiv e lModelModely. To coFntigroulreth2e: ZAMpPe,nidtuslhuomFuilgudunbrdeeer3thcseohnoosuwttrspauianttsuogfgtehsteive model directly corre- −mg When wge apply 1a constraint control to an inverted − g g 1 Even in the caseτxoxf+thτyeys=systemlop0e, d cowhilenThestrai nZMPitt awp hof(pe4re) ethears aCart-Tablesptohendsinputsto t Modelhesoefetqheuat3ioDns-.LIPIt Mdepicts a running cart τ pendy¨ul=umWsuyey¨chc=atnhavytertτhifxey,mthaτasst,sthhoisuldyiemldosvetha(el2o)ns(ag2m)ane equsystemation twhileo it appears as the inputs of the 3D-LIPM x z − mz x M In the following part of this paper, we will refer the py = , a(r5b)itrary dEceqfi.ne(9d)zp.clacn−e,mwkfxzoec,roktbyhtea=iinn0pa,uwstimetopcralqenuleionsb.etaarindyt-heinsaitnmxh!!teehdelaylsnatsatmsesieccctstiiobonyn..aTp-hheerreeffoofrreme, ,awswes ermerwoernwitareiptEeedestaqEs.q(s6.l)t(aa6nb)dleawhond se mass is negligible mg " m where (px, py) is th3e.l2ocaZtiMaobnPoovcfeotenhqteruoZalMtiaoPsnasonasestrhtvheoeflpZoroMorb.Plemequations. namics calgled the gT1hree-pD1liymiEneqgnsios.ad(na2d)itlaionLndineaa(l3c)roanIrnsetvrerlainitedneatr e(q7u)(a7tt)oiotnohsah. vaTevhetehtohenelZyZMMpaP- aasstth(heweierironuoeetudptupttwusotasseatss of a cart on a table for the motion x¨ = xx¨ += x +τy, τy, (3)(3) By substituting Eqs. (5) toFitghuere3D3-LshIPowMs (a(2s)ugagnedstive model directly corre- Pendulum Mode (3D-LIPM)[9, 11]. We take Cartesian Let uosfdxefineanda nyew). variable ux as the time deriva- zc zmc zc mrazmeterc which governs those dynamics(3)) wisezocb, ti.aei.n, the z z z τxx + τyy = 0, (4t)ive of thsepzcAhoconsridzssohnottwaolnatchicneesleterhaetiqofiungaoutfriCoen,oMst.h. eItfodoetpoicf ttshea traubnleniinsgtocoart coordinates as shown in Fiignuterres2ecatniodnsopfezcthicfeyctohnesxtr-axinist plane and the inclinatppioyyn= yy y¨y,¨, (8) (8) where mwheris tehemmisasthseomf atshseopf etnhedupleunmdu, lugmi,s gcgrisavgirtayvity g −−somgfgamllatsos lmet othneacpaedestart stayl otnabtlehewhoedgsee. mHaoswseivsenr,egifligthiblee as the ordinal walking dirfoeocfrttithohnee.piTnlaphnueetcnoteonvrseqtrruaaeiffsn.etcptslatnhτee horizontal motion. d accelera1621tion and τ , τ are the torques around x-axis = 0 y¨ = (y zcpy), x¨ = u (6) (11) x y ZMP c(awrteanceceedlertawtoesswetistxhofaaprcoapretrornatae,ttahbeletafborletchaenmkeoetpion accelerationisarnedpreτsxe,nτtyedawreiththgeivteonrqnEuFoqroemsrs.ata(lh2revo)eua3cnDtodd-rL(xI3(Pk)-axMa,xrkiewsyl,itnhe1a)trheequhaotriioznons.taTl hceonosntlryapipnxat-=zxc −zcx¨. dt (9) and y-axis respectively. OO − px =gx−uopfgrxigxh¨at.ndfory)a. while. At this m(o9m) ent, the ZMP exists and y-axis raensdpezcitnitveerslyec.tion zc as r(akmeterx = kwyhic=h g0o),vewrnes ctahonseeadynasily micscalcuislatzec,tih.ee.,ztehxr¨eo=-Rzegar(dx−ing ugp a)s.the input of Eq. (9), w(e7c)an translate Even in the case of the sloped constraint where z insidAxexsosfhtohwentainblethfeoofitg. uSrien,ctehtehefomotomofenthteartoaubnleditshteoo Even in the case of the slopiemondtemenrcsoenctsitoprnoainoinftt(hZMPewchoenx)rp0s,etxwrahicinthpislanIwidelyne atnhde tfusedholeloinwincilningbipaptieaodrtntheoZcf MthP−iseqpuatpioenr,inwtoe awsitlrlicrtleyfeprrotphere dynamical kx, ky = 0, we can zob=takinxxt+heksyaym+ezdc.ynamics by xap(-1) ZsMmPallmtuosltetbethzeercoa,rwt esthaayvoen the edge. However, if the " orfobthoet rpelsaenaercnhev[1e3r],affecxts the Ihnoraitbzhoevnetfaoelqlmluoaowttiioonnngs. pasartshtysetoeZmfMtahsPiseqpuaaptieorn,s.we will refer the kx, ky = p0l,yiwnge acdadnitioobntaalicnontshterasinatme dynamics by ap- 2.2 ZMP equationscarndt accart-tablecelerates withmoa pdelroper rate, the table can keep " If the constraint plane isFhoorritzhoenta3lD(-kLxIP=Mkyw=ith0),thaeτbhoovrFeiziegoqunruteaalt3icoosnhnostwarsasinatthseugZgMestPiveeqmuaotdieolndsi.rectly corre- plying additional constraint Figure 3: A cart-tabyle model x 0 1τzm0p = mxg(x p0x) mx¨zc = 0. (10) Dynamics• Aequations running cart on ap mass-lessx = table, d upright for a while. At this moment, the ZMP exists the dynamics underτxxt+heτyco(yknstrx==0a,inkty co=ntr0o)l,iswgeivcen(ZMPa4n)byeasilysFpcoiagnludcruselatot3etshthheoseewzeseqruaoa-tsiuogngsx˙.esItt=ivdeep0mico0tsd1ealrdunirxn˙eicntg+ly−cac0rotrr−uex- −mg To control the ZMdPt,it sinhsoiudledobfetthheetoaubtlepufotsoto.fSthinece the moment around the • Tmohemen tabtlep hoains ta( sZMPmall) ,suwphicpohrt isarewidelya used in biped x¨We can0ve0rify0 thatx¨ this yi1elds the same equation to τxx + τyyg= 0, 1 (4) τxspofnsystemmdsastsomwhilethonesaeitpeaedestaqpupaeatrilostnaasb.tleheIwhotinputsdesepimcotafssstaheisrn3uDegn-nligLiIPniblegMcart (12) for the input torquy¨e=s. y τ , py =(2) , (5)  ZMPmust be zxero, we have robot3rxesWeaarclkhin[1g3]p,attern gemnger(awteionefeodr tgwivoesnets of a carEtqo.n(9a).table for the motion Eqs. (2)HiroanHirdukawa(3) arezcline−armezqThecu Onassiatios nFounds. ationTh Lecture oe nSerilyes 2006pa- of minastshemlasot1n4s/8ea8ctpioedestan. Tphxel=rteafob1rele,0wwhoe rzecsw/gerimteaExs˙ qssi..s(n6)egaligndible for the input torques. ZMP −   g 1 τyof(7x) atnodhayv).e the ZMP as their outputsτ as x¨= mg(x px) mx¨zc = 0. (10) rameter which governs those dynamics is zc, i.ep., th=e z (we, need two sets of a ca%rt on a tabz&lmepfor the motion Eqs. (2) and (3) are linx¨e=ar eqxu+ationsτy. ,The only pxa- (3) As shown in the figure, the foot of the table is t−oo − zc mzc −mg intersection of the constraint plane and the inclination of x and y). For Eq. (8z),cwe define uy and obtain the system of the rameter which governs those dynamics3.1is zPc,atit.ee.rn, thgenerate z ionτx sasmalanl to inletvetrsehe cart stay onWtehecaendgvee.riHfyowtheavtert,hifisthyeields the same equation to of the plane never affects the horizontal motion. pysa=meyform. y¨, (8) where m is the mass of the penduplruomb,lemg ipsygra=vity , As shown in the(5fi)1621gure−,Etqgh.e(9f)o.ot of the table is too intersection of the constraint plane and the inclination mg cart accelerates with aByprusingoper trheatedyna, thmicse tabolfeEcqa. n(1k2e)epwe can con- Faoccreltehreat3ioDn-LanIPdMτx,wτyitharethtehehtoorrizqounetsaal rcoounnsdtrxa-ianxtis small to let the cart stay onzcthe edge. However, if the of the pla(kne n=evker a=ffe0c)t,s wtheechanoriezaosinlytalcamlcoutlaioten.the zero- upright for a whilep.xstAr=utcxttha iwsamlkix¨on.gmpeantte,rnthgeenZerMatoPr aesxai(sZ9tMs) P tracking xand y-yaxis respectively. cart accelerates withcoantrporl−osypstgeermr(aFtigeu,reth4)e. Ttahebslyestceamngekneereaptes the When we represent a robot as thinesciadret-toafbltehmeotdaebl le foot. Since the moment around the For thmoe men3DE-tvLeIpnPoinMint t(whZMPeithca)st,ehweohicf hthoerisizsolwidelyonpteadl ccousedonnstsrtarinianitbipntwhedere CoM trajectory such that the resulted ZMP follows and give the the cart motion aus pthZreMiIgtnrhPatjtehmceftoufrrsoytlaolobf wewthizenhegirloep,.awrAtetohftahtvheisis mpaopmere,nwt,e twhiell ZreMferPtheexists (kx = kryobk=oxt,rk0eys)e,=arw0c,hew[1ce3ac]n,aneaobsitlayinctahlecusalamtee dtyhneamziecsrob-y ap- the given reference. However, we must consider an " center of mass (CoM) of the roibnost,idawbeocovanfe eteahqsueilyattcaiaobl-nlseafsoto1621hte. ZSMinPceeqtuhaetiomnos.ment around the moment poinplytin(gZMPaddi)t,iownahicl cohnsistrawidelyint τyculausedte the rinesulbipted ZeMdP by using the ZMP equaτtions = mg(x p ) mx¨z = 0. (10) Figure 3zmsphows a suggpesxtive modcel directly corre- robot research [13], px = Eq, s. (8) and (9). ZMP must be zero, we h−ave − τxx +−τymy g= 0, (4) sponds to these equatpiorenf s. −It depicts a running cart p τ On the other hand, a walking paWtteerncagennevraetriiofnyisthat this y+ields Stehrveo same eqDuyantamioicnZMtoP τ x Controller equation (12) py =y ,the inverse problem of t(his.5) That is,ofthemacassrtmτmootion na=pedestamg(ZMPxl tabplex)whomsex¨mzacsus=x is0n.egligible(10ZM) P for the inppxut t=orques. , Eq. (9). zmp mg should be calculated from the given(wZMe Pneteradjetcwtoory,sets of areferencec−art on −a table for the motion Eqs. (2) and (3)−arme lginear equations. The only pa- x Why CoM? τ which is determined by the desiWredefocofatxhnoaldnvsdearnydif)ys.tepthat this yields the same equation to rameter which governxs those dynaperiomicsd. is zc, i.e., the z CoM py = , (5) Eq. (9A)s. shown in the figure, the foot of the table is too intersection of the cmongstraint planTaekaanishind thete ainl.cprlinopaotsiedonto solve this problem by small to let the carFt isgtuarey4o: nPatthteernedgegnee.raHtionwaesvZerM,Piftrtahceking control of the plane never affects the husoinrigzoFnoutrailermToratniosfno.rmation [14]. By applying the 1621 cart accelerates with a proper rate, the table can keep For the 3D-LIPM with thFeasthoFroiurzoierntTarlansfoconrsmtartaioinnt(FFT) to the ZMP refer- ence, the ZMP equations can be soulvpedriginhtfrefqourenacywhile. At this moment, the ZMP exists (kx = ky = 0), we can easily calculate the zero- domain. Then the inverse FFT returns the resulted moment point (ZMP), which is widely used in biped inside of the table foot. Since the moment around thex CoM trajectory into tim1621e domain. 0.3 robot research [13], ZMP must be zero, we have Kagami, Nishiwaki et al. proposed a method to 0.25 Input soτlve this problem in the discrete time domain [15]. 0.2 y τzmp = mg(x px) mx¨zc = 0. (10) px = , 0.15− − They showed the ZMP equation can be discretized as x [m] −mg Output a trinomial expression, and it can be efficiently solved 0.1 τx We can verify that this yields the same equation to py = by,an algorithm of O(N) (f5or) the givEenq.re(fe9r)e.nce data 0.05 mogf size N. 0 zmp ref x !0.05 0 0.5 1 1.5 2 2.5 Both methods are proposed as batch processes that time [s] ZMP use a ZMP reference of certain period and generate the corresponding CoM trajectory. To generate con- Figure 5: ZMP and CoM trajectory tinuous walking pattern for a1621long period, they must calculate entire trajectory by off-line or must connect the piece of trajectories calculated from the ZMP ref- interesting feature of this problem as follows. Figure erence divided into short segments. 5 illustrates the ideal trajectories of the ZMP and the

1622 ConfigurationConfigurationZMP Model-based ofof theFeedbackthe FeedbackFeedback controller ControllerController configuration [Kajita et al. 2003]

Balancer Module

Gyro Body Kalman inclination filter Accelerometer Stabilizer Joint servo Force/torque sensor ZMP ZMP calculator encoder

References of Joint angles, body inclination and ZMP

Hiro Hirukawa The Onassis Foundation Lecture Series 2006 24/88 Learning Approach

[Chalodhorn et al. 2006]

Learning to walk through imitation Dimension reduction

Gaussian process latent variable model [Grochow et al. 2004] !"#$%& '(& ($)& *'#+,-$& .'//"(%#& +0"+& 1#& 2$($-"+$%& 3-'/& +0$& ^V& =+$-"+1K$56& *$-3'-/& #+$*#& \& +0-',20& :& -$*$"+$%56& +'& '*+1/14"+1'(&"52'-1+0/&"(%&1+#&#$(#'-6&%"+"&3$$%!".78&& 1/*-'K$&+0$&/'%$5&*-$%1.+'-J&"(%&".01$K$&1(.-$"#1(256& '*+1/"5&/'+1'(8& & /#! 012Learning&!(3&24251&2(6!.%78 *through&7! low-dimensional spaces & Gyroscope signal of X-axis 2 [Chalodhorn et al. 2005] Original : RMS = 0.3236 1 Optimized : RMS = 0.0521 7) Repeat steps 4 through 6 until a satisfactory gait is 0 4 Original data obtained. -1 Embed function Search space 2 Optimized data -2 6 Experimental Results 0 50 100 150 200 250 300

Target pattern 0 Gyroscope signal of Y-axis 2

Original : RMS = 0.4509 -2 Final result Scale 0.7 1 Optimized : RMS = 0.0501 Scale 0.5

Scale 0.3 0 -4 -5 -1 4 -2 5 0 50 100 150 200 250 300 0 2

Gyroscope signal of Z-axis 0 2 ! 4 0 2 ! Original : RMS = 0.3795 5 -2 0 -4 -2 1 Optimized : RMS = 0.0533 9128&:8&;*+1/14"+1'(&-$#,5+&'3&"&)"571(2&/'+1'(&*"++$-(&1(&"&5')<%1/$(#1'("5& -4 0 #,!#*".$&!"#$%&'(&"(&".+1'(&#,!#*".$&$/!$%%1(2&.'(#+-"1(+8& Figure 6. Optimization result for a walking motion pattern in a 4 3 2 1 low-dimensional subspace based on an action subspace embed- 0 -1 -5 -1 -2 -3 ding.

=>8&?@A?B=C?DEFG&B?HIGEH! -2 0 50 100 150 200 250 300 W& e summarize below the entire optimization and action Figure 7. Motion pattern scaling. The target motion pattern is & =(&'-%$-&+'&'!+"1(&"&%6("/1."556&#+"!5$&'*+1/14$%&)"571(2& & selection process: scaled down until it can produce a stable motion to start the motion 1) Use PCA to represent in a reduced 3D space the ini- optimization process. 9128&^8&W'/*"-1#'(&'3&26-'#.'*$ ("5#&3-'/&1(1+1"5&"(%&'*+1/14$%&)"57&E0$& 2"1+J& )$& *$-3'-/$%& /,5+1*5$& 5$"-(1(2& 1+$-"+1'(#& 1(& "& tial walking gait data from human motion capture. .'//$-.1"556& "K1"!5$& -'!'+& #1/,5"+'-& LMNO8& H,!#$P,$(+56& )$& *5'+#&3-'/&+'*&+'&!'++'/�')&+0$&26-'#.'*$ ("5#&3'-&+0$&"Z$#&@J_J&"(%&`& 2) Employ the non-linear embedding algorithm for pa- This section explains how the optimization methodology in -$.'-%$%&%,-1(2&1(1+1"5&"(%&'*+1/14$%&)"571(2&/'+1'(#8&B''+&/$"(&#P,"-$%& rameterization of the gait. the previous section is used in conjunction with the mocap +$#+$%&+0$&'*+1/14$%&)"571(2&2"1+&'(&+0$&9,Q1+#,&R;FAS&-'!'+8& [BCHV&'3&+0$&26-'#.'*$&-$"%1(2#&"-$&"5#'&1(%1."+$%&1(&+0$&*5'+&5$2$(%#8&D'+1.$& 3) Start the learning process by projecting actions back data. From our study of the motion pattern in the reduced ! +0"+&"55&'3&+0$&BCH&K"5,$#&"-$ (131."(+56&-$%,.$%&3'-&+0$&'*+1/14$%&/'+1'(8& to the original joint space and executing the corre- subspace, we found that we can scale up and down the mo- tion pattern and get similar humanoid motion patterns ex- "#! $%&'()(*(+,! & sponding sequence of servo motor commands in the Webots HOAP-2 robot simulator [Webots, 2004]. cept for changes in the magnitude of motion. When we scale down the pattern in the reduced subspace, it produces a & F3+$-& +0-$$& 1+$-"+1'(#& '3& #$(#'-6

• Humanoid robots are used as a research tool in several scientific areas.

• Although the initial aim of humanoid research was to build better orthosis and prosthesis for human beings. Future of Humanoid robots THANK YOU