contact involving whole-body behavior generation based on contact ... - jsk...

8
Contact involving whole-body behavior generation based on contact transition strategies switching Shintaro Noda, Shunichi Nozawa, Yohei Kakiuchi, Kei Okada and Masayuki Inaba Abstract— For generating whole-body behavior involving contacts with environments such as climbing ladder behavior or walking on terrain behavior, ‘contact-before-motion’ approach was used in some previous researches. By separating contact search process and motion search process, whole-body behavior generation was achieved. However, in previous researches, there were few examinations about contact transition strategies while generating behavior. For changing contact states, there are many kinds of contact transition strategies such as walking, sliding, rotating and so on. For example, while generating standing up behavior, it is important to switch contact transition strategies because the lack of degree of freedom makes it difficult to detach limb contacts from ground, and it may be desirable not to detach contacts but to slide them. In this study, we propose a novel whole-body behavior generation algorithm which involves contact transition strategies switching function. Especially, in this paper, we focus on the walk-type and slide- type transition strategies switching. We call walk-type transition as the contact transition process which detaches some contacts, moves them, and attaches them again. Besides, we call slide- type transition as the contact transition process which keeps on attaching contacts, and slides to move them. By using this algorithm, it is possible to generate whole-body behaviors which are difficult or impossible to achieve only with walk-type transition and which are more desirable by comparing multiple transition strategies. Finally, we evaluated this algorithm by generating standing up behavior and sitting on chair behavior. I. I NTRODUCTION For locomoting in general environments, it is necessary to search both contacts and motions. Although there are some examples which simultaneously solve contact search and motion search problems through reshaping discontinuous contact search problems into smooth optimization problems [1][2], for generating locomotion behaviors involving con- tacts with non-plane surfaces such as full-of-holes ladder object climbing behaviors [3][4], it would be effective to solve contact search and motion search problems individu- ally. In previous studies, this concept of separating contact search and motion search was called as ‘contact-before- motion’ ([5][6]). And some previous studies applied this concept to humanoid robots and generated various kinds of behaviors such as climbing ladder behavior and walking on terrain behavior. They used sampling algorithm [7], graph search algorithm [8], optimization technique [9] and so S. Noda, S. Nozawa, Y. Kakiuchi, K. Okada and M. Inaba are with Graduate School of Information Science and Technology, The University of Tokyo, 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-8656, Japan (s-noda at jsk.t.u-tokyo.ac.jp). S. Noda is a Research Fellow DC1 of the Japan Society for the Promotion of Science, and this work was partially supported by Grant-in-Aid for JSPS Fellows (#15J08714). on. However, there were few examinations about contact transition strategies. Fig. 1. There are multiple kinds of strategies for contact transition. For generating whole-body behavior involving contact, it is important to select an appropriate strategy depending on robot’s structure, actuator performance, contact environment such as friction coefficient, and so on. For changing contact states, there are many kinds of contact transition strategies such as walking, sliding, rotating and so on (Fig.1). We call walk-type transition as the contact transition process which detaches some contacts, moves them, and attaches them again. Besides, we call slide-type transition as the contact transition process which keeps on attaching contacts, and slides to move them. In previous studies, walk-type contact transition was mainly examined. However, slide-type contact transition is also important or necessary to generate more complex and difficult behaviors. For example, when generating standing up behavior on a ground, slide-type transition is very important because the standing up behavior without slide-type transition tends to become awkward one due to the lack of degree of freedom of robot’s link structure. Especially, when crawling on all four limbs, walk-type transition is very difficult because the center of gravity position is far from all contact positions and detaching some contacts would cause falling accident. In this case, it would be useful to slide limb’s contact towards body for generating natural standing up behavior.

Upload: others

Post on 17-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

Contact involving whole-body behavior generationbased on contact transition strategies switching

Shintaro Noda, Shunichi Nozawa, Yohei Kakiuchi, Kei Okada and Masayuki Inaba

Abstract— For generating whole-body behavior involvingcontacts with environments such as climbing ladder behavior orwalking on terrain behavior, ‘contact-before-motion’ approachwas used in some previous researches. By separating contactsearch process and motion search process, whole-body behaviorgeneration was achieved. However, in previous researches, therewere few examinations about contact transition strategies whilegenerating behavior. For changing contact states, there aremany kinds of contact transition strategies such as walking,sliding, rotating and so on. For example, while generatingstanding up behavior, it is important to switch contact transitionstrategies because the lack of degree of freedom makes itdifficult to detach limb contacts from ground, and it may bedesirable not to detach contacts but to slide them. In this study,we propose a novel whole-body behavior generation algorithmwhich involves contact transition strategies switching function.Especially, in this paper, we focus on the walk-type and slide-type transition strategies switching. We call walk-type transitionas the contact transition process which detaches some contacts,moves them, and attaches them again. Besides, we call slide-type transition as the contact transition process which keepson attaching contacts, and slides to move them. By usingthis algorithm, it is possible to generate whole-body behaviorswhich are difficult or impossible to achieve only with walk-typetransition and which are more desirable by comparing multipletransition strategies. Finally, we evaluated this algorithm bygenerating standing up behavior and sitting on chair behavior.

I. INTRODUCTION

For locomoting in general environments, it is necessaryto search both contacts and motions. Although there aresome examples which simultaneously solve contact searchand motion search problems through reshaping discontinuouscontact search problems into smooth optimization problems[1][2], for generating locomotion behaviors involving con-tacts with non-plane surfaces such as full-of-holes ladderobject climbing behaviors [3][4], it would be effective tosolve contact search and motion search problems individu-ally. In previous studies, this concept of separating contactsearch and motion search was called as ‘contact-before-motion’ ([5][6]). And some previous studies applied thisconcept to humanoid robots and generated various kinds ofbehaviors such as climbing ladder behavior and walking onterrain behavior. They used sampling algorithm [7], graphsearch algorithm [8], optimization technique [9] and so

S. Noda, S. Nozawa, Y. Kakiuchi, K. Okada and M. Inaba are withGraduate School of Information Science and Technology, The Universityof Tokyo, 7-3-1 Hongo, Bunkyo-ku, Tokyo 113-8656, Japan (s-noda atjsk.t.u-tokyo.ac.jp). S. Noda is a Research Fellow DC1 of the JapanSociety for the Promotion of Science, and this work was partially supportedby Grant-in-Aid for JSPS Fellows (#15J08714).

on. However, there were few examinations about contacttransition strategies.

Fig. 1. There are multiple kinds of strategies for contact transition. Forgenerating whole-body behavior involving contact, it is important to selectan appropriate strategy depending on robot’s structure, actuator performance,contact environment such as friction coefficient, and so on.

For changing contact states, there are many kinds ofcontact transition strategies such as walking, sliding, rotatingand so on (Fig.1). We call walk-type transition as the contacttransition process which detaches some contacts, movesthem, and attaches them again. Besides, we call slide-typetransition as the contact transition process which keeps onattaching contacts, and slides to move them. In previousstudies, walk-type contact transition was mainly examined.However, slide-type contact transition is also important ornecessary to generate more complex and difficult behaviors.For example, when generating standing up behavior on aground, slide-type transition is very important because thestanding up behavior without slide-type transition tends tobecome awkward one due to the lack of degree of freedomof robot’s link structure. Especially, when crawling on allfour limbs, walk-type transition is very difficult because thecenter of gravity position is far from all contact positions anddetaching some contacts would cause falling accident. In thiscase, it would be useful to slide limb’s contact towards bodyfor generating natural standing up behavior.

Page 2: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

Contact state search

Contact transition strategies switch

Motion search

Contact state candidatesMotion planners Robot & environment

・・・・・・

selectMotionPlanner

Contact state search

Motion search

detach-type slide-type

callMotionPlanner

Contact state

Motion

endOfBehaviorNO YES

Behavior: Motion1, Motion2,,,

Fig. 2. Overview of our contact involving whole-body behavior generation system which uses given candidates of contact states and models of robot andenvironment, and which selects motion planner and generates motion while ‘endOfBehavior’ function returns false.

In this study, we propose a novel whole-body behaviorgeneration algorithm which involves contact transition strate-gies switching function. Especially, in this paper, we focus onthe walk-type and slide-type transition strategies switching.By using multiple kinds of contact transition strategies andswitching them, it becomes possible to expand search space,to generate more various kinds of behavior, and to selectmore desirable one. It is our contribution to propose aconcept of whole-body behavior generation involving contacttransition strategies switching and to examine its availabilitythrough two experiments of behavior generation: standing upbehavior and sitting on chair behavior.

II. OVERVIEW OF WHOLE-BODY BEHAVIOR GENERATIONALGORITHM BASED ON CONTACT TRANSITION

STRATEGIES SWITCHING

In this study, we deal with planning algorithm of whole-body behavior generation involving contacts with environ-ment. Our planner assumes to be given robot’s link structure,actuator performance, candidates of contact state, candidatesof link to contact and the goal state. The goal of our planneris to generate a sequence of feasible robot’s motions andcontacts for achieving the goal state. We call ‘motion’ as thesequence of joint parameters so as to achieve contact tran-sition. We call ‘behavior’ as the sequence of ‘motion’ so asto achieve the given goal state. Fig.2 and Algorithm.1 showsthe brief overview of our planner. First, our planner selectsa motion planner by using ‘selectMotionPlanner’ function.‘selectMotionPlanner’ function chooses a motion planner de-pending on an evaluating function. For example, for generat-ing ladder climbing behavior, contact point’s height could beused as the objective function. Second, the selected motionplanner generates motion with given candidates of contactstate and link to contact using ‘callMotionPlanner’ function.We will explain about motion planners in the following

Algorithm 1 Pseudo code of behavior generator involvingcontact transition strategies switching, which selects motionplanner and generate motions while ‘endOfBehavior’ func-tion returns false.Require: M, S, Stmp, sM: set of motion planners.S: set of successful robot and contact states.Stmp: tmp set of successful robot and contact states.s: current robot and contact state.

Variable: .m: selected motion planner.snew: new robot and contact state.S ′

, S ′′: set of robot and contact states.

Procedure: genWholebodyBehavior1: if endOfBehavior(S) then2: return S3: else if loopExceeded(Stmp) then4: return checkAllTmpMotions(M,S,Stmp)5: else6: m ← selectMotionPlanner(M,s)7: (snew, S ′

) ← callMotionPlanner(m, s)8: if isGoodEnoughMotion(S ′′

) then9: S ′′ ← genWholebodyBehavior(M,[S ′S],∅,snew)

10: if endOfBehavior(S ′) then

11: return S ′′

12: end if13: else14: push((snew, S ′

), Stmp)15: end if16: return genWholebodyBehavior(M,S,Stmp,s)17: end if

Page 3: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

Sec.III. And last, our planner checks if the motion is goodenough or not by using ‘isGoodEnoughMotion’ function. Ifit is true, our planner goes to next step with the motion. Ifit is not true, our planner selects motion planner again while‘loopExceeded’ function returns false. If ‘loopExceeded’function returns true, our planner calls ‘checkAllTmpMo-tions’ function. ‘checkAllTmpMotions’ function checks mo-tions which were not good enough but might be feasibleones, and if the function finds one or more feasible motions,our planner goes to next step with the motion (Algorithm.2).Our planner repeats these processes while the goal state isnot achieved and ‘endOfBehavior’ function returns false.

Algorithm 2 Pseudo code of checkAllTmpMotions. Thisfunction checks all temporary stored motions Stmp whichare not good enough but might be feasible ones. If there aresome feasible motions, this function calls ‘genWholebody-Behavior’ with the motions.Require: M, S, Stmp

M: set of motion planners.S: set of successful robot and contact states.Stmp: tmp set of successful robot and contact states.

Variable: .snew: new robot and contact state.S ′

, S ′′: set of robot and contact states.

Procedure: checkAllTmpMotions1: for all (snew, S ′

) ∈Stmp do2: if isFeasibleMotion(snew, S ′

) then3: S ′′ ← genWholebodyBehavior(M,[S ′S],∅,snew)4: if endOfBehavior(S ′′

) then5: return S ′′

6: end if7: end if8: end for9: return ∅

III. MOTION PLANNERS FOR CONTACT TRANSITIONS

In this section, we explain about motion planner used inthe following experiment sections. We call motion planneras a process which selects contact state and contact linkfrom given candidates and which generates feasible motionsso as to satisfy every constraint for robot to move in realworld. In the following subsections, we will explain aboutcontact state selection, feasible motion generation satisfyinggiven constraints of contact state, and two kinds of motionplanners: walk-type and slide-type ones. We call walk-typetransition as the contact transition process which detachessome contacts, moves them, and attaches them again. Be-sides, we call slide-type transition as the contact transitionprocess which keeps to attach contacts, and slides to movethem.

A. Selection of contact state and link to contact

1) Definition of contact states involving contact force andmoment feasibilities: In this study, we express a contactstate cs = (l,p,F) as a set of robot’s link to contact

(l), link positions and attitudes for keeping contact (p),and constraints of feasible contact force and moment forpreventing falling and rotating (F). The definition of F isas follows:

F = [ fT nT ]T ∈ F (1)−(M−F + F0

)≤ F ≤

(M+F + F0

)(2)

M±=

0 0 µx 0 0 00 0 µy 0 0 00 0 b± 0 0 00 0 ly 0 0 00 0 lx 0 0 00 0 µz 0 0 0

,F0=

fx0fy0fz0nx0

ny0

nz0

Eq.2 expresses the constraints of contact force (f ) and

moment (n) in local coordinates system in which +zdirection means the normal direction of contact surface.F is 6-dimensional vector composed of contact force andmoment. M± is 6x6 matrix composed of friction coefficientparameters (µx, µy), length of contact square (lx, ly) andbinary parameter b± which distinguishes unilateral (b+ > 1)and bilateral (b− = 0) contacts. F0 is constant marginfor expressing range of force and moment not dependingon vertical force fz . For example, F0 would be used forexpressing grasp force. Although Eq.2 is the simplest linearexpression of friction constraints, it would be possible toexpand this equation to more complex condition throughadding some additional linear constraints. For example, byadding a 45 degree rotated constraints, Eq.2 expresses anoctagon friction cone.

2) Evaluation function for contact state selection: Ourmotion planner selects contact state cs from given can-didates by using an evaluation function and brute-forcesearch algorithm. Brute-force search algorithm was enoughin the following experiments because the motion generationprocess (Sec.III-B) is a non-linear optimization process withinequality constraints, and the process took much morecomputational cost than contact state search process.

Although the evaluation function should be defined ac-cording to the behavior objective, we used the same objectivefunction in the following experiments which contains the dis-tance between goal contact state and now contact state. Thisevaluation means the greedy search for moving towards goalcontact state and it may be trapped in some local minimums.For more general objectives, this evaluation function is oughtto contain a term for escaping local minimums or it might beeffective to statistically recompute several times with somedifferent conditions. But, we did not further investigate thisproblem.

B. Feasible motion generation with given contact constraintsWe call feasible motions as the motions which satisfy 5

constraints as follows:1) Constraints for feasible motion:

a) Kinematical constraints for ruling link positionsand attitudes and for keeping contacts with envi-ronment.

Page 4: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

b) Collision avoidance between robot’s links and en-vironment.

c) Motion equation of multi link system.d) Physical constraints of actuator performances.e) Contact wrench constraints for preventing robot

from falling and rotating.a) and b) constraints are well know problem as ‘Inverse

Kinematics’ problem [10]. We used gradient based inversekinematics solver implemented in one of the dialects of lispinterpreter: euslisp [11]. This euslisp solver calculates robot’sjoint parameters which satisfy constraints of link positionsand attitudes, center of gravity position, and collision avoid-ance.

c), d) and e) constraints are physical or dynamical con-straints, and previous studies formulated these problems asoptimization or search problems with inequality constraints[12, 13]. d) constraints of actuator performances are asfollows:

τ =∑i

JTi Fi +Dynamics−1(0, q, q, q) (3)

τmin ≤ τ ≤ τmax (4)

τ is the vector of joint torques, J is Jacobian matrix, qis the vector of link system parameters such as joint angles.Because Eq.4 and Eq.2 are linear inequality constraints whenfixing link parameters q as constant values, the problemto search contact force, moment, and joint torque could beformulated as linear programming or quadratic programmingproblem.

min∑

iBRLvi

T BRLvi (5)s.t.

∀i,−(M−

i Fi + Fi0

)≤ Fi ≤

(M+

i Fi + Fi0

)τmin ≤ τ ≤ τmax

As the objective function of quadratic programming in-volving physical constraints, we used Body Retention LoadVector, BRLV ([3], Eq.6).

BRLvi =[τi

T fiT ni

T]T

(6)

where,

τi : = (· · · τij

τmaxij

· · ·)T

fi : = (· · · fijfmaxij

· · ·)T

ni : = (· · · nij

nmaxij· · ·)T

BRLV involves contact force, moment and joint torque.Every element of BRLV is normalized with its constraints.BRLV does not use physical parameters itself, but usesnormalized values of them. Therefore, by minimizing BRLVnorm, generated motions have margins in physical con-straints as possible as they could, and the motions becomemore robust ones against some accidents such as a modelingerror or unexpected noise.

For satisfying these 5 constraints and generating feasiblemotion, we used an iterative method which separates theseconstraints into kinematical and physical ones ([3]). Thisiterative process has 4 steps as follows:

2) Feasible motion generator algorithm:a) Solves physical constraints using quadratic pro-

gramming technique.b) Updates kinematical parameter using gradient.c) Solves kinematical constraints as inverse kinemat-

ics problem.d) Checks termination conditions and returns result or

goes back to a).

C. Motion generation for walk-type contact transition

Fig. 3. Motion with walk-type contact transition is composed of 4steps: Initial state, detach contact while keeping link coordinates, movelink while keeping detaching contact, and attach contact while keeping linkcoordinates.

We define the motion with walk-type contact transition as4-step processes (Fig.3). First, initial state. Second, detachcontact and keep link coordinates. Third, detach contactand move link coordinates. Last, attach contact and keeplink coordinates. Our walk-type motion generator calculatesthese 4 states by using the iterative algorithm described inSec.III-B.2. Our walk-type motion generator is very primi-tive one which calculates only 4 states in static condition,connects these states in configuration space by using linearinterpolation, solves inverse kinematics for keeping contactwith environment and collision avoidance and just checksdynamic balancing. However this algorithm was enough forthe following experiments. For applying our algorithm tomore general and complex motions, more sensible motionplanner involving dynamics would be necessary for guaran-teeing dynamic balancing while interpolating. For example,[14][15] would be good previous work about this kind ofproblems.

D. Motion generation for slide-type contact transition

Although there are some previous studies about slide usingmotions ([16]), there are few examples of general slidemotion generation. In this subsection, we explain about slide

Page 5: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

motion generator involving multi contacts on multi planes.We define the motion with slide-type contact transition simi-larly with walk-type one (Eq.7). Here, 0 is the 3-dimensionalzero vector and dslide is a vector towards sliding direction.All elements of dslide are zero or one and the 3rd element isalways zero because the movement towards vertical directionof contact surface takes off the contact and it is impossibleto slide.

min∑

iBRLvi

T BRLvi (7)s.t.

∀i, −(M−

i Fi + Fi0

)≤ Fi ≤

(M+

i Fi + Fi0

)[dslide

T 0T ]F = −[dslideT 0T ] (M±F + F0)

τmin ≤ τ ≤ τmax

The only difference is that our slide-type motion generatoradditionally uses equality constraints of slide in second andthird detach phases of walk-type processes. For generatingslide motion which satisfies every 5 constraint for feasiblemotion described in Sec.III-B.1, we solve the followingquadratic programming problem in the iterative algorithm de-scribed in Sec.III-B.2. This slide motion generator supportsonly static condition. However, we believe that it is veryeasy to expand this algorithm to dynamic motions becausethe additional constraint of sliding motion is just one linearequation constraint.

1) Test of slide motion generation: For testing the al-gorithm of slide motion generation described in Sec.III-D,we generated slide motion in which robot slides its rightarm forward. We used the model of high-output life-sizehumanoid robot, STARO [17]. Fig.4 and Fig.5 show initialcrawling posture and generated one by using different frictioncoefficients.

Fig. 4. Optimal sliding posture generation with high friction coefficient.Both images have the same contact. Right image shows the optimal posturefor sliding right arm forward.

Fig.4 uses 1.0 as friction coefficient between contact armand plane. Left image shows initial posture and right oneshows generated posture for robot to slide to move its rightarm forward. Friction coefficient between robot’s hand andcontact plane is 1.0 (µ = 1.0). Right posture is generated byusing slide motion generator described in Sec.III-B.2. Redpyramids show friction cone and blue arrows show contact

force vector. Blue arrows must be included in red pyramidsfor feasible contact without sliding and rotating.

Fig. 5. Optimal sliding posture generation with low friction coefficient.Robot’s torso link moves forward slightly than that of Fig.4, high frictioncondition.

Fig.5 uses 0.1 as friction coefficient between contact armand plane. Left image shows initial posture and right oneshows generated posture in almost the same condition asFig.4 with the exception of friction coefficient (µ = 0.1).Because Fig.4 uses larger friction coefficient (µ = 1.0),center of gravity position of right generated posture is movedtowards legs side and both arms exert less force. In Fig.4,right arm exerts about 270N vertical force. However, in thisFig.5, right arm exerts only 155N vertical force. Besides,we confirmed that every constraint described in Sec.III-B.1was successfully satisfied and the generated motions werefeasible ones.

2) Discussion about rotate-type and twist-slide-type con-tact transition: In the following experiment sessions, rotate-type and twist-slide-type contact transitions were not used.However, the slide-type algorithm described in Sec.III-Dcould be easily expanded to both rotate-type and twist-slide-type ones. The only difference between slide-type algo-rithm is that the additional equality constraints of slide waschanged to the constraints of rotation and twist slide (Eq.8).

min∑

iBRLvi

T BRLvi (8)s.t.

∀i, −(M−

i Fi + Fi0

)≤ Fi ≤

(M+

i Fi + Fi0

)[0T dslide

T ]F = −[0T dslideT ] (M±F + F0)

τmin ≤ τ ≤ τmax

Here, drotate is the vector towards rotation axis or twistslide direction. All elements are 0 or 1.

IV. BEHAVIOR GENERATION BASED ONWALK/SLIDE-TYPE TRANSITIONS SWITCHING

A. Standing up behavior generation

Fig.9 shows all candidates of contact states and contactlinks. As the evaluation function of contact state, we usedthe distance between contact points and center of gravityposition. Thus, our behavior generator selected contact stateso as to gathering every contact towards center of gravity

Page 6: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

Fig. 6. Generated standing up behavior with walk/slide-type transitions switching.

Fig. 7. Generated standing up behavior only with walk-type motion planner. The output postures look a little more awkward and take higher load thanthose with walk/slide-type transitions switching because some unreasonable contact detaches are generated.

Fig. 8. Generated slide sitting motions. First, hip link moves to the edge of seat with walk-type contact transition. Second, hip link slides to move towardsthe goal hip position.

position gradually, and finally, if the robot was able tostand up only with both legs, our planner stopped andreturned whole standing up behavior. As the evaluationfunction of contact transition strategies switching (‘selectMo-tionPlanner’), we used just the same value as the evaluationfunction of contact states. Our behavior generator selectedthe motion planner which had the highest evaluated contactstate candidate. In this experiment, although we used thesame evaluation function for all motion planners, it would benecessary to design each evaluation functions individually formore complex behavior and more multiple motion plannersswitching.

Fig.6 and Fig.7 show the generated standing up behaviors.Fig.6 used both walk-type and slide-type motion planners,and Fig.7 used only walk-type one. Both behaviors werefeasible and satisfied all constraints described in Sec.III-B.1.Fig.6 with walk/slide-type transition switching took 105.59seconds and the average BRLV norm was 0.43. On the otherhand, Fig.7 without switching took 170.20 seconds and theaverage BRLV norm was 0.49. Besides, generated behaviorhad larger BRLV norm and was awkward one. By switchingmultiple motion planners, we confirmed that there is somepossibility of generating natural behavior which takes less

Fig. 9. Green arrows show the all contact candidates and contact linkcandidates for standing up behavior.

computation time and has better evaluation.

B. Sitting behavior generation

As an example of behavior which is difficult to be achievedonly with walk-type transition, we tested to generate sittingbehavior. We used HRP-2 robot for this experiment [18].Because the hip contact exerts large force when deeplysitting, it is difficult to detach the hip contact and to usewalk-type contact transition. Fig.10 shows all candidates ofcontact state and contact link. Red arrow shows the goal

Page 7: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

Fig. 10. Contact state candidates and contact link candidates. Red arrowshows goal contact state, and green arrows show all contact state candidatesand torso link to contact.

contact. As the evaluation functions of contact state, we usedthe distance between contact points and this red goal contact.

Fig.8 shows generated sitting motions. First, robot movedhip contacts to the edge of the chair. This is walk-type contacttransition. Second, hip contact slid to move backward to goalcontact. This was slide-type contact transition. We confirmedthat these motions satisfied every constraint described inSec.III-B.1, and we confirmed that our behavior generatorsuccessfully generated feasible sitting behavior which wasdifficult only with walk-type contact transition.

V. EXPERIMENTS ON GAZEBO DYNAMICS SIMULATOR

For testing the feasibility of generated behavior, we useddynamic simulator gazebo [19] and evaluation platform inwhich it is possible to read out sensor data and to controlrobots in real world and simulation world similarly [20].

A. Experiment of standing up behavior

We tested standing up behavior generated in Sec.IV-A.Fig.11 shows the standing up motions achieved in the gazeboworld. STARO robot stood up in 8 steps: Slide right armbackward (2), slide left arm backward (3), slide left legforward (4), walk right leg forward (5), slide right armbackward (6), slide left arm backward (7), standing up (8).

Because BRLV elements are normalized with their con-straints, it is feasible if their absolute values are less than 1.We confirmed that every BRLV element was less than 1, andthe standing up behavior was achieved without failure.

B. Experiment of sitting behavior

We also tested sitting on chair behavior generated inSec.IV-B. Fig.13 shows the sitting motions achieved in thegazebo world and Fig.12 shows contact force transitions.While sliding hip contact, both legs’ horizontal forces werealmost constant value and the total horizontal force wasalmost the same as planned one (160N).

VI. CONCLUSION

In this study, we proposed a novel whole-body behav-ior generation algorithm which involved contact transitionstrategies switching. Especially, in this paper, we focused onthe walk-type and slide-type transition strategies switching.By using multiple kinds of contact transition strategies andswitching them, it becomes possible to expand search space,

215 220 225 230 235time [sec]

−200

0

200

400

600

For

ce_[

N]

_

Right_leg_vertical_force_[N]

Right_leg_horizontal_force_[N]

Left_leg_vertical_force_[N]

Left_leg_horizontal_force_[N]

Fig. 12. Contact force transitions while sitting.

to generate more various kinds of behavior, and to selectmore desirable one. It is our contribution to propose aconcept of whole-body behavior generation involving contacttransition strategies switching and to examine its availabilitythrough two experiments of behavior generation: standing upbehavior and sitting on chair behavior.

Although our algorithm assumes that the friction coeffi-cients for all contacts are already known, for practical usewith real robots, it would be necessary to presume the frictionvalues while moving and the precise presuming would bevery difficult due to the vibrations of contact wrenches.However, we believe that it is possible to judge whether ornot the planned sliding motion is feasible by slightly movingthe sliding links as trial operation. Besides, slide frictioncontroller would be necessary for guaranteeing balancingwhile sliding, suppressing friction vibrations and smoothlysliding [21].

As the other future works of this behavior generator, weplan to use more various kinds of motion planners. Forexample, it would be possible to use not general but fastmotion planners together with general motion planners whichare able to consider general contacts. As an example ofnon-general motion planner, we plan to use dynamic walkmotion planner which supports only one contact plane. Itwould be fast, efficient, and not lose generality to use non-general motion planner if it is possible, and to use generalmotion planner if it is not the case. Besides, it would be alsopossible to use heuristical motion planners which work wellin some specific conditions. For example, a motion plannerwhich plans bouncing motion may be beneficial in sometransformable environments such as fluffy chair.

REFERENCES

[1] Igor Mordatch, Emanuel Todorov, and Zoran Popovic. Discoveryof complex behaviors through contact-invariant optimization. ACMTrans. Graph., Vol. 31, No. 4, pp. 43:1–43:8, July 2012.

[2] M. Al Borno, M. de Lasa, and A. Hertzmann. Trajectory optimizationfor full-body movements with complex contacts. IEEE Transactionson Visualization and Computer Graphics, Vol. 19, No. 8, pp. 1405–1414, Aug 2013.

Page 8: Contact involving whole-body behavior generation based on contact ... - JSK …s-noda/paper/iros2015/main.pdf · 2016. 12. 6. · Contact involving whole-body behavior generation

Fig. 11. Standing up behavior achieved in gazebo dynamic simulator world.

Fig. 13. Sitting motions achieved in gazebo world. Because we used soft seat model, robot’s hip is slightly buried into seat model. Gazebo contactparameters of seat model are kp=8000 and kd=80. Thus, the complex shape of hip contact was able to be ignored.

[3] S. Noda, M. Murooka, S. Nozawa, Y. Kakiuchi, K. Okada, andM. Inaba. Generating whole-body motion keep away from joint torque,contact force, contact moment limitations enabling steep climbing witha real humanoid robot. In Proceedings of the 2014 IEEE InternationalConference on Robotics and Automation (ICRA), pp. 1775–1781,2014.

[4] Joris Vaillant, Abderrahmane Kheddar, Herve Audren, FrancoisKeith, Stanislas Brossette, Kenji Kaneko, Mitsuharu Morisawa, EiichiYoshida, and Fumio Kanehiro. Vertical ladder climbing by the hrp-2humanoid robot. In Proceedings of the 2014 IEEE-RAS InternationalConference on Humanoid Robots (Humanoids), pp. 463–468.

[5] Timothy Wolfe Bretl. Multi-step Motion Planning: Application toFree-climbing Robots. PhD thesis, Stanford, CA, USA, 2005.

[6] Tim Bretl, Jean Claude Latombe, and Stephen Rock. Toward au-tonomous free-climbing robots. Springer Tracts in Advanced Robotics,Vol. 15, pp. 6–15, 2005.

[7] Kris Hauser, Timothy Bretl, Jean-Claude Latombe, Kensuke Harada,and Brian Wilcox. Motion planning for legged robots on varied terrain.The International Journal of Robotics Research, Vol. 27, No. 11-12,pp. 1325–1349, 2008.

[8] Adrien Escande, Abderrahmane Kheddar, and Sylvain Miossec. Plan-ning contact points for humanoid robots. Robotics and AutonomousSystems, Vol. 61, No. 5, pp. 428 – 442, 2013.

[9] K. Bouyarmane, J. Vaillant, F. Keith, and A. Kheddar. Exploringhumanoid robot locomotion capabilities in virtual disaster responsescenarios. In Proceedings of the 2012 IEEE-RAS InternationalConference on Humanoid Robots (Humanoids), pp. 1099 – 1126.

[10] Shuuji Kajita, Hirohisa Hirukawa, Kensuke Harada, and KazuhitoYokoi. Introduction to Humanoid Robotics. Springer Tracts inAdvanced Robotics, 2013.

[11] Toshihiro Matsui and Masayuki Inaba. Euslisp: an object-basedimplementation of lisp. Journal of Information Processing, Vol. 13,No. 3, pp. 327–338, 1990.

[12] Karim Bouyarmane and Abderrahmane Kheddar. Humanoid robotlocomotion and manipulation step planning. Advanced Robotics,Vol. 26, No. 10, pp. 1099–1126, 2012.

[13] K. Harada, K. Hauser, T. Bretl, and J.-C. Latombe. Natural motiongeneration for humanoid robots. In Proceedings of the 2006 IEEE/RSJInternational Conference on Intelligent Robots and Systems (IROS),pp. 833 –839.

[14] Joris Vaillant, Eiichi Yoshida, and Abderrahmane Kheddar. Genera-tion of Whole-body Optimal Dynamic Multi-Contact Motions. TheInternational Journal of Robotics Research, Vol. 32, No. 9-10, pp.1104–1119, 2013.

[15] K. Hauser. Fast dynamic optimization of robot paths under actuatorlimits and frictional contact. In 2014 IEEE International Conferenceon Robotics and Automation (ICRA), pp. 2990–2996, May 2014.

[16] Kanako Miura, Fumio Kanehiro, Kenji Kaneko, Shuuji Kajita, andKazuhito Yokoi. Slip-turn for biped robots. Robotics, IEEE Transac-tions on, Vol. 29, No. 4, pp. 875–887, 2013.

[17] Y. Ito, T. Nakaoka, J. Urata, K. Kobayashi, S. Nozawa, Y. Nakanishi,K. Okada, and M. Inaba. Design and development of high-outputlife-size humanoid with water-cooled motor and motor driver. InProceedings of the 2014 IEEE International Conference on Roboticsand Automation (ICRA 2014), pp. 3433–3438, 2014.

[18] K. Akachi, T. Isozumi, M. Hirata, S. Ohta, and M. Ishizaki. Develop-ment of the humanoid robot, hrp-2 (in japanese). Kawada technicalreport, Vol. 23, pp. 20–25, 2004.

[19] N. Koenig and A. Howard. Design and use paradigms for gazebo, anopen-source multi-robot simulator. In Proceedings. 2004 IEEE/RSJInternational Conference on Intelligent Robots and Systems, 2004.(IROS 2004)., Vol. 3, pp. 2149–2154 vol.3, Sept 2004.

[20] Yohei Kakiuchi, Ryohei Ueda, Masaki Murooka, Shintaro Node, Shu-nichi Nozawa, Kei Okada, and Masayuki Inaba. Evaluation Platformof Humanoid Robot using Robot Simulation Environment Supportedby Gazebo/ROS and OpenRTM (in Japanese). In Proceedings of the2014 JSME Conference on Robotcs and Mechatronics, pp. 3P1–G07.

[21] Kunio Kojima, Shunichi Nozawa, Kei Okada, and Masayuki Inaba.Shuffle motion for humanoid robot by sole load distribution and footforce control. In Proceedings of the 2015 IEEE/RSJ InternationalConference on Intelligent Robots and Systems (IROS).