compliant control of multi-contact and center of mass...

16
Compliant Control of Multi-Contact and Center of Mass Behaviors in Humanoid Robots Luis Sentis, Member, IEEE, Jaeheung Park, Member, IEEE, and Oussama Khatib, Fellow, IEEE Abstract—This paper presents a new methodology for the analysis and control of internal forces and center of mass behavior produced during multi-contact interactions between humanoid robots and the environment. The approach leverages the virtual linkage model which provides a physical representation of the internal and center of mass resultant forces with respect to reaction forces on the supporting surfaces. A grasp/contact matrix describing the complex interactions between contact forces and center of mass behavior is developed. Based on this model, a new torque-based approach for the control of internal forces is suggested and illustrated on the Asimo humanoid robot. The new controller is integrated into the framework for whole-body prioritized multitasking enabling the unified control of center of mass maneuvers, operational tasks, and internal force behavior. The grasp/contact matrix is also proposed to analyze and plan internal force and center of mass control policies that comply with frictional properties of the links in contact. Index Terms—Prioritized control, multi-contact behaviors, humanoid robots. I. I NTRODUCTION An important problem in humanoids is their ability to manipulate and maneuver in their environments through whole-body multi- contact interactions. This ability is a necessary skill to enable humanoids to operate dexterously in human environments using their whole-bodies. For example, see the interaction shown in Figure 1. To address this challenge, we analyze here the complex inter- dependencies between whole-body contacts and their relationship with center of mass and task behaviors. We create contact models us- ing the virtual linkage model [35] describing the relationship between resultant and reactions forces, pressure points, and internal tensions between closed loops. We analyze the dynamics of internal forces and use the virtual linkage model to create a controller that regulatess them to desired values. We integrate the proposed control methods with our framework for prioritized multitasking [29], addressing the unified control of constraints, center of mass maneuvers, operational tasks, postures, and internal forces. The contributions of this work are: (a) an in depth analysis and modeling of center of mass and internal force behavior with respect to surface friction properties, (b) identification of the torque manifold associated with contact closed loops and the development of feedback controllers for regulating internal force behavior, and (c) the analysis of the conditions of friction stability as well as contact rotational behavior with respect to center of mass and internal force behaviors. Contact interactions in robots have been addressed since the early 1980s with work on dynamics and force control in the context of robotic manipulation [15] [25]. Cooperative distributed manipulation became important to enable the handling of heavy objects [1]. To describe the behavior of the object independently of the manipulators, an augmented object model was proposed based on dynamically consistent representations [17]. Research began to focus on mod- eling multi-grasp behaviors and the associated internal forces acting between manipulators [21]. Using a closed-chain mechanism called the virtual linkage model, decoupled object behavior and accurate dynamic control of internal forces was addressed [35]. Mobile robotic platforms equipped with robotic manipulators were developed [12] Luis Sentis is with the Department of Mechanical Engineering at the Uni- versity of Texas at Austin, USA 78712 (email: [email protected]) Jaeheung Park is with Department of Intelligent Convergence Systems at the Seoul National University, Seoul, Korea 443-270 (email: [email protected]) Oussama Khatib is with the Department of Computer Science at Stanford University, USA 94305 (email: [email protected]) Fig. 1. Realtime simulation of a multi-contact behavior with user-enabled interactive control of the robot’s right hand. A virtual linkage model is overlaid capturing the internal force behaviors acting between supporting bodies. The black and white circle corresponds to the robot’s center of mass position which is placed above the stability area determined by the three supporting contacts. and multi-grasp manipulation was implemented using efficient oper- ational space algorithms [4]. The dynamics and control of task and postural behaviors in humanoid robots were addressed and prioritized multitask controllers were developed to enable the unified force-level control of constraints, task, and postures [28]. The aim of this new research is to analyze and model whole- body multi-contact interactions and provide a control platform that enables humanoids to manipulate and maneuver efficiently in their environments. It is therefore important to understand the relationship between reaction forces on contact bodies, internal tensions and moments acting between these contacts, and whole-body task and motion behaviors. Because this work connects with legged loco- motion, it is useful to review modern developments on this area. Dynamic legged locomotion has been a center of attention since the 1960s [8]. The Zero Moment Point criterion (ZMP) was developed to evaluate center of mass (CoM) acceleration boundaries [33]. Implementations of simple dynamic control algorithms for multi- legged running robots followed [24]. ZMP methods for humanoid robots where pioneered around the same times [30], [31], and later perfected as part of the Honda humanoid program [11]. To enable generalized multi-contact locomotion behaviors, extensions to the ZMP dynamic evaluation criterion were developed [10]. Compliant multi-contact behaviors using optimal distribution of contact forces has been recently explored [13]. Finding CoM static placements given frictional constraints for multi-legged systems was tackled in [2], [5]. The field of legged locomotion is vast and continues to broaden with pioneering contributions in areas such as hybrid non- linear control [32], [34], biomimetic coupled oscillators [3], [14], and passive dynamic walking [6], [20]. In this paper, we analyze and control the interactions between

Upload: others

Post on 22-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

Compliant Control of Multi-Contact and Center of MassBehaviors in Humanoid Robots

Luis Sentis, Member, IEEE, Jaeheung Park, Member, IEEE, and Oussama Khatib, Fellow, IEEE

Abstract—This paper presents a new methodology for the analysisand control of internal forces and center of mass behavior producedduring multi-contact interactions between humanoid robots and theenvironment. The approach leverages the virtual linkage model whichprovides a physical representation of the internal and center of massresultant forces with respect to reaction forces on the supporting surfaces.A grasp/contact matrix describing the complex interactions betweencontact forces and center of mass behavior is developed. Based on thismodel, a new torque-based approach for the control of internal forcesis suggested and illustrated on the Asimo humanoid robot. The newcontroller is integrated into the framework for whole-body prioritizedmultitasking enabling the unified control of center of mass maneuvers,operational tasks, and internal force behavior. The grasp/contact matrixis also proposed to analyze and plan internal force and center of masscontrol policies that comply with frictional properties of the links incontact.

Index Terms—Prioritized control, multi-contact behaviors, humanoidrobots.

I. INTRODUCTION

An important problem in humanoids is their ability to manipulateand maneuver in their environments through whole-body multi-contact interactions. This ability is a necessary skill to enablehumanoids to operate dexterously in human environments using theirwhole-bodies. For example, see the interaction shown in Figure 1.To address this challenge, we analyze here the complex inter-dependencies between whole-body contacts and their relationshipwith center of mass and task behaviors. We create contact models us-ing the virtual linkage model [35] describing the relationship betweenresultant and reactions forces, pressure points, and internal tensionsbetween closed loops. We analyze the dynamics of internal forcesand use the virtual linkage model to create a controller that regulatessthem to desired values. We integrate the proposed control methodswith our framework for prioritized multitasking [29], addressing theunified control of constraints, center of mass maneuvers, operationaltasks, postures, and internal forces.

The contributions of this work are: (a) an in depth analysis andmodeling of center of mass and internal force behavior with respectto surface friction properties, (b) identification of the torque manifoldassociated with contact closed loops and the development of feedbackcontrollers for regulating internal force behavior, and (c) the analysisof the conditions of friction stability as well as contact rotationalbehavior with respect to center of mass and internal force behaviors.

Contact interactions in robots have been addressed since the early1980s with work on dynamics and force control in the context ofrobotic manipulation [15] [25]. Cooperative distributed manipulationbecame important to enable the handling of heavy objects [1]. Todescribe the behavior of the object independently of the manipulators,an augmented object model was proposed based on dynamicallyconsistent representations [17]. Research began to focus on mod-eling multi-grasp behaviors and the associated internal forces actingbetween manipulators [21]. Using a closed-chain mechanism calledthe virtual linkage model, decoupled object behavior and accuratedynamic control of internal forces was addressed [35]. Mobile roboticplatforms equipped with robotic manipulators were developed [12]

Luis Sentis is with the Department of Mechanical Engineering at the Uni-versity of Texas at Austin, USA 78712 (email: [email protected])

Jaeheung Park is with Department of Intelligent Convergence Systems at theSeoul National University, Seoul, Korea 443-270 (email: [email protected])

Oussama Khatib is with the Department of Computer Science at StanfordUniversity, USA 94305 (email: [email protected])

Fig. 1. Realtime simulation of a multi-contact behavior with user-enabledinteractive control of the robot’s right hand. A virtual linkage model is overlaidcapturing the internal force behaviors acting between supporting bodies. Theblack and white circle corresponds to the robot’s center of mass positionwhich is placed above the stability area determined by the three supportingcontacts.

and multi-grasp manipulation was implemented using efficient oper-ational space algorithms [4]. The dynamics and control of task andpostural behaviors in humanoid robots were addressed and prioritizedmultitask controllers were developed to enable the unified force-levelcontrol of constraints, task, and postures [28].

The aim of this new research is to analyze and model whole-body multi-contact interactions and provide a control platform thatenables humanoids to manipulate and maneuver efficiently in theirenvironments. It is therefore important to understand the relationshipbetween reaction forces on contact bodies, internal tensions andmoments acting between these contacts, and whole-body task andmotion behaviors. Because this work connects with legged loco-motion, it is useful to review modern developments on this area.Dynamic legged locomotion has been a center of attention since the1960s [8]. The Zero Moment Point criterion (ZMP) was developedto evaluate center of mass (CoM) acceleration boundaries [33].Implementations of simple dynamic control algorithms for multi-legged running robots followed [24]. ZMP methods for humanoidrobots where pioneered around the same times [30], [31], and laterperfected as part of the Honda humanoid program [11]. To enablegeneralized multi-contact locomotion behaviors, extensions to theZMP dynamic evaluation criterion were developed [10]. Compliantmulti-contact behaviors using optimal distribution of contact forceshas been recently explored [13]. Finding CoM static placementsgiven frictional constraints for multi-legged systems was tackledin [2], [5]. The field of legged locomotion is vast and continues tobroaden with pioneering contributions in areas such as hybrid non-linear control [32], [34], biomimetic coupled oscillators [3], [14], andpassive dynamic walking [6], [20].

In this paper, we analyze and control the interactions between

Page 2: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

Fig. 2. Decomposition of internal forces and moments: We decomposeinternal forces and moments into contact centers of pressure, internal tensions,and normal moments. Contact centers of pressure allow us to control contactrotational behavior while internal tensions and normal moments allow usto control the behavior of contact points with respect to surface frictionproperties.

whole-body contacts, center of mass, and task behaviors. We definemultiple centers of pressure (CoP’s) to abstract the behavior of contactbodies. When the center of pressure of a contact body approaches anedge, a non zero moment takes place about that edge causing the bodyto rotate. By controlling the position of contact centers of pressure wecontrol contact rotational behavior. We use the virtual linkage modelto describe multi-contact and CoM whole-body behaviors. We definea grasp/contact matrix to establish the relationship between resultantforces at the CoM, and internal and reaction forces on contact bodies.We create dynamically correct controllers to govern the behavior ofcontact CoP’s, internal tensions and normal moments. Using controlstructures that are orthogonal to CoM and task behavior, we integrateinternal force controllers with our previous framework for prioritizedmultitask control.

The capabilities and effectiveness of our methods are validatedthrough whole-body multi-contact simulations performed on a dy-namical simulator of the Honda Asimo robot. CoM tracking, fulfill-ment of contact constraints, and internal force control are achievedwith high accuracy.

II. MODELING OF INTERNAL FORCES AND COP’S, AND COMBEHAVIOR USING THE VIRTUAL LINKAGE MODEL

The objective of this section is to analyze multi-contact interactionsbetween a humanoid robot and its environment and develop contactmodels that fully characterize the contact state of the robot. Wefirst assign multiple contact centers of pressure associated with eachcontact extremity. Because contact centers of pressure are points withzero tangential moments, we use them to evaluate and control contactrotational stability. Ensuring that all contact CoP’s stay within contactboundaries prevents unwanted edge rotations of the links in contact.We develop contact models using the virtual linkage model definedwith respect to CoP positions and relating CoM and internal forcebehavior with respect to contact forces. These models are then usedin the next section to control the robot’s overall contact state andCoM behavior.

Fig. 3. Forces acting on a supporting body (e.g. the right foot):Establishing the balance of moments on each contact body allows us todetermine the position of contact centers of pressure.

We consider whole-body contact scenarios where multiple extrem-ities of the robot are in stable contact against flat surfaces (seeFigure 2). In this case, every contact imposes six constraints on therobot’s mobility. We assume that each extremity in contact has enoughjoints with respect to the base link to enable the independent controlof its position and orientation. This condition translates into theexistence of six or more independent mechanical joints between thebase link and the extremity in contact. We consider contact scenariosinvolving an arbitrary number of supporting extremities, representedby the number ns. Flat supporting contacts impose 6ns constraints onthe robot’s motion, where 6 of these constraints provide the support tomaneuver the robot’s center of mass and the other 6(ns−1) describethe internal forces and moments acting on the closed loops that existbetween supporting extremities [35]. Internal forces and momentsplay two different roles in characterizing the contact behavior ofthe robot: (1) contact centers of pressure define the behavior of thecontact links with respect to edge or point rotations and (2) internaltensions and moments describe the behavior of the contact linkswith respect to the friction characteristics associated with the contactsurfaces.

A. Center of Pressure Points (CoP’s)For a number of ns links in contact we associate ns contact CoP’s.

Each contact center of pressure is defined as the 2D point on the con-tact surface where tangential moments are equal to zero. Therefore,2ns coordinates describe all contact pressure points. In Figure 2 weillustrate a multi-contact scenario involving three supporting contactson the robot’s feet and left hand and an operational task designed tointeract with the robot’s right hand. We focus on the analysis of theforces and moments taking place on a particular contact body (seeFigure 3). Based on [33], we abstract the influence of the robot’s bodyabove the kth supporting extremity by the inertial and gravity forcefsk and the inertial and gravity moment msk acting on a sensor pointSk. For simplicity, we assume the sensor is located at the mechanicaljoint of the contact extremity. Here, Pk represents the contact centerof pressure of the kth contact extremity, frk is the vector of reactionforces acting on Pk, and mrk is the vector of reaction momentsacting on Pk. The frame O represents an inertial frame of referencelocated outside of the robot and the frame Sk represents a frame ofreference located at the sensor point. All force quantities are describedwith respect to the sensor frame. Assuming the supporting foot is instatic contact, we formulate the following equation balancing inertial,gravitational, and reaction moments [9],

OPk × frk +mrk = OSk × fsk +msk −OGk ×Mkg. (1)

Here, Gk is the position of the center of gravity of the kth supportingextremity, Mk is the mass below the sensor point and g is the

Page 3: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

gravitational acceleration vector. To compute the foot’s centers ofpressure we consider the tangential part of the above equation withrespect to the contact surface, i.e.[

OPk × frk = OSk × (fsk −Mkg) +m′sk

]Tk, (2)

wherem′sk , msk − SkGk ×Mkg (3)

is a modified moment that includes the moment arm of the gravity atthe sensor point and the superscript Tk denotes tangential directionsof the kth contact body. Note that mrk does not appear above becausethe definition of contact CoP implies zero tangential moments.Considering the force balance equation

frk = fsk −Mkg, (4)

we arrange Equation (2) as[(OPk −OSk)× frk

]Tk= m′ Tksk , (5)

and solve it to get the center of pressure for the kth contact link:

Pkx = Skx −frkx

frkz

(Skz − Pkz

)−m′syfrkz

, (6)

Pky = Sky −frky

frkz

(Skz − Pkz

)+m′sxfrkz

. (7)

Here, x and y refer to the tangential directions with respect tothe local surface frames. The same analysis applies to the otherextremities in contact, defining the ns contact centers of pressure.

To further characterize contact CoP’s, we formulate the relationshipbetween resultant moments at contact CoP’s and reaction forces oncontact bodies:

mcop ,

[mr1]T1

...[mrns ]Tns

= Scop Ts Fr = 0 ε R2ns , (8)

where Fr is the vector of reaction forces and moments projected ontothe contact CoP’s and expressed in global frame, i.e.

Fr ,

fr1...

frns

mr1

...mrns

ε R6ns , (9)

mcop is the vector of tangential moments at contact CoP locationsexpressed in local frames, mrk is the kth component of resultantmoments, Tk indicates tangential components, Ts is a matrix thatdisplaces moments from global frame to local surface frames, andScop is a selection matrix that selects tangential moments. Detailson this matrices and on other matrices presented in this section arespecified in the Appendix section. Notice that in Equation (8), CoPconditions are modeled as zero tangential moments.

Characterizing contact CoP’s is an important step towards de-veloping contact models that describe intuitively the contact stateof the robot. Based on these models, in the next section we willdevelop methods that efficiently control the internal state of therobot. In particular, we will present control methods that allow us tomanipulate contact CoP’s to desired positions on the contact surfaces.By manipulating contact CoP’s away from contact edges we ensurethat contact surfaces stay flat against the supporting surfaces avoidingundesired contact rotations. Additionally, controlling contact CoP’swill result in compliant contact behaviors since they imply neutral-izing tangential moments exerted by contact surfaces. The various

Fig. 4. Virtual linkage model for humanoid robots: We define a virtuallinkage model anchored at the contact CoP’s. It enables the characterizationof internal tensions and moments against contact surfaces. The virtual linkagemodel abstracts the behavior of internal and CoM forces with respect toreaction forces. These characteristics make the virtual linkage model apowerful tool for the analysis and efficient control of CoM maneuvers andcontact interactions.

properties of contact CoP’s make them an effective abstraction forthe control and analysis of contact rotational behaviors.

B. The Virtual Linkage ModelWe introduce a new instance of the virtual linkage model [35] to

describe the complex contact relationships formed between contactclosed loops. The virtual linkage model is a parallel multi-articulatedmechanical model connecting closed loops between contact extrem-ities using virtual prismatic and spherical joints. It was first usedto describe the relationship between resultant and internal forces ofa shared object between multiple manipulators. In the case of hu-manoids, the extremities in contact play the role of the manipulatorsand the floor is the object to interact with.

To start designing the virtual linkage model for humanoid robots,we choose anchoring points located at the contact CoP positions pre-viously defined. Therefore, contact CoP’s act as the nodes connectingthe linkages. To prevent supporting extremities from rotating alongcontact edges, our approach is to place contact CoP’s as close aspossible to the geometric centers of the extremities in contact. Hence,unwanted transitions to edge or point contacts will be avoided in casethat contact disturbances occur.

Note that placing contact CoP’s at the centers of the links is nota necessary constraint. They can be placed at any position belowthe links in contact, but away from contact vertices and edges toprevent rotations. Therefore, in this paper we only consider flatsurface contact interactions. Extensions to corner and edge contactscould also be explored using a similar methodology but we will leavethis analysis open for the future.

We associate a virtual linkage model connecting all contact centersof pressure. In the scenario shown in Figure 4 each body in contactintroduces a tension with respect to its neighboring nodes as wellas normal and tangential moments. For contacts with ns > 2 wecan independently specify 3(ns − 2) tensions, ns normal moments,and 2ns tangential moments describing the centers of pressure. Anyadditional link in contact introduces three new tensions with respectto its neighbors and three more moments. No more than three tensionsbetween neighboring nodes can be independently specified for agiven contact. Internal tensions and normal moments characterizethe behavior of contact bodies with respect to the friction cones

Page 4: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

and rotational friction properties of the surfaces in contact. Therelationship between tension and reaction forces can be formulatedas

ft ,

...ftij

...

= St Rt ∆t Fr ε R3(ns−2), (10)

where ∆t is a differential operator matrix that differentiates pairsof tensions between contacts, Rt is the concatenation of rotationmatrices from global frame to the directions uniting internal virtuallinkage nodes, and St is a selection matrix choosing tension direc-tions. Similarly, we characterize normal moments as

mn ,

mn1

mn2

...mnns

= Sn Ts Fr ε Rns , (11)

where Ts is once more the matrix that displaces forces and momentsto surface frames, and Sn is a selection matrix choosing normaldirections.

To complete the virtual linkage model, we establish the relationshipbetween resultant forces and moments acting on the robot’s centerof mass with respect to contact reaction forces. The robot’s centerof mass is an important variable because it characterizes themaneuverability of the robot to plan locomotion and weight shiftingbehaviors. Similarly to the relationships developed in the originalvirtual linkage model [35], we formulate the equations describingthe balance of reaction forces and moments at contact bodies withrespect to the resultant forces and moments taking place on therobot’s center of mass:

[I]3×3 · · · [I]3×3 [0]3×3 · · · [0]3×3

P1 · · · Pn [I]3×3 · · · [I]3×3

Fr =

[I]3×3 [0]3×3

Pcom [I]3×3

Fcom, (12)

where [ . ] indicates the cross product operator, Pi is the position ofthe ith contact CoP, Pcom is the position of the center of mass, andFcom is the six dimensional vector of inertial and gravitational forcesand moments at the robot’s center of mass. Combining (8), (10), (11),and (12) we obtain the following virtual linkage model for humanoidrobots

Fcom

Fint

= GFr (13)

where Fint is the vector of internal forces and moments defined as

Fint ,

ft

mcop

mn

ε R6(ns−1), (14)

and G is the grasp/contact matrix [35] defined as

G ,

Wcom

Wint

ε R6ns×6ns , (15)

with

Wcom ,[I]3×3 [0]3×3

Pcom [I]3×3

−1

·

[I]3×3 · · · [I]3×3 [0]3×3 · · · [0]3×3

P1 · · · Pn [I]3×3 · · · [I]3×3

ε R6×6ns , (16)

and

Wint ,

St Rt ∆t

Scop Ts

Sn Ts

ε R6(ns−1)×6ns . (17)

The simultaneous planning and control of the positions of contactCoP’s alongside with the behavior of the robot’s CoM and the set ofinternal forces between contacts and normal surface moments is anintricate engineering problem. Such problem, involves characterizingthe combined interactions between the above variables and findingsolutions that fulfill unilateral contact constraints and friction prop-erties of the contact surfaces.

The grasp/contact matrix presented in this section provides anintuitive representation of the dynamic and static interdependenciesbetween those variables. As such, a solution to the problem ofsimultaneously maneuvering and interacting in an unstructured 3Denvironment lies in quering the grasp/contact matrix to find feasibletrajectories that fulfill contact constraints. A detailed discussion onthe dependencies between center of mass behavior, and friction andunilateral contact constraints using the grasp/contact matrix is givenin the Appendix.

In the next section, we will use the virtual linkage model to createcontrollers that can govern internal force and CoM behaviors. Wewill later study the application of the grasp/contact matrix G tofind solutions of CoM and internal force behaviors that comply withrotational and frictional contact constraints.

III. CONTROL OF CONTACT COP’S AND INTERNALTENSIONS/MOMENTS

We develop here a controller that governs the positions of contactcenters of pressure and tracks desired values of internal tensionsand normal moments with respect to the supporting surfaces. Weintegrate this controller with our previous framework for whole-bodyprioritized control, unifying the control of constraints, center of massbehavior, operational tasks, and internal forces.

A. Background on Whole-Body ControlLet us study the multi-contact problem for ns extremities in

contact. The differential kinematics of contact points are representedas

δxs ,

δxs(1)

...δxs(ns)

= Js

δxbδq

ε R6ns , (18)

where δxs(i) ε R6 is the infinitesimal displacement of the contactCoP of the ith supporting extremity, Js ε R6ns×(6+n) is thecumulative Jacobian of all contact CoP locations, δxb and δq are theinfinitesimal displacements of the robot’s base and joint positions, nis the number of actuated joints, and 6 + n represents the numberof generalized coordinates which include the six underactuated jointsdescribing the motion of the robot’s base.

In [18], we used simple rigid contact models to derive estimatesof reaction forces. With the premise that stable balance is maintained

Page 5: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

and that internal forces are controlled to keep the feet flat against theground, we model contacts as rigid constraints, i.e.

ϑs = 0 , ϑs = 0, (19)

where ϑs is the time derivative of xs. These constraints allowed usto derive the following simple model between contact forces andactuation torques [27]

Fr = JTs U

T Γ− µr − pr, (20)

where

Js , A−1J Ts (JsA

−1J Ts )−1 (21)

µr = Jsb− ΛsJs

ϑb

q

(22)

pr = Jsg (23)

are the dynamically consistent generalized inverse of the Jaco-bian [16] associated with contact CoP’s, the Coriolis/centrifugal forceterm, and the gravitational force term, respectively. Additionally,

U =[0]n×6 [I]n×n

εRn×(n+6) (24)

is the selection matrix of actuated quantities and Γ is the n × 1vector of actuation torques. In [22] we used this model to derive thefollowing constrained whole-body equation of motion

A

ϑb

q

+N Ts (b+ g) + J T

s ΛsJs

ϑb

q

= (UNs)T Γ, (25)

where A is the mass matrix involving the unactuated base and theactuated joints, ϑb is the vector of linear and angular velocities ofthe robot’s base,

Ns , I − JsJs (26)

is the dynamically consistent null space of the contact Jacobian, band g are generalized Coriolis/centrifugal and gravity terms, and Λs

is the 6ns × 6ns mass matrix associated with all support contacts.The derivation of the above constrained equation of motion can befound in the Appendix.

To design an internal force controller, we first analyze our previousframework for whole-body multitask control. We consider a vectorof task descriptors

x ,

x1

x2

...

xnt

(27)

where each xk describes the coordinates of the kth control objectiveand nt is the number of task descriptors that are used to characterizethe instantaneous behavior of the robot. Prioritized task kinematicscan be expressed using joint velocities alone [27], i.e.

xk = Jk

ϑb

q

= Jk UNs q, (28)

where Jk ε Rmk×(n+6) is the Jacobian of the mthk dimensional

coordinate xk with respect to the inertial frame of reference andUNs is the dynamically weighted generalized inverse of UNs. Theterm JkUNs acts as a constrained Jacobian, mapping joint velocitiesinto task velocities. We refer to it using the symbol

J∗k , JkUNs ε Rmk×n. (29)

The above model is general for arbitrary contact situations. Whenthe contact stance changes, Equation (26) changes to reflect thenew stance coordinates and therefore the models of Equations (25)and (28) change too. For instance, the example involving cleaning aside panel shown in Figure 6, involves switching from a biped stance,

to a four point multi-contact, and finally to a three point multi-contactstance. Consequently, the contact models for the different phases needto be changed when there occurs a new contact event.

To simultaneously optimize all task objectives, we implementprioritized torque controllers under multi-contact and underactuationconstraints as described in [27] and characterized by the global torquevector

Γ =

N∑k=1

(J ∗Tk|prec(k)Fk

)+N ∗Tt Γposture, (30)

where J∗k|prec(k) are prioritized Jacobians, Fk are dynamically con-sistent control forces, N∗t is the cumulative prioritized null spacematrix associated with higher priority tasks, and Γposture is a posturalcontrol vector that operates in the null space of all tasks. In [27] weproposed prioritization to unify the control of center of mass behavior,geometric constraints, operational tasks and postural behavior. Thisunification process led to the following whole-body torque controlrepresentation for humanoid robots

Γ = J ∗Tc Fc + J ∗Tcom|c Fcom+

J ∗Tt|com|c Ftasks + J ∗Tp|t|com|c Fpostures. (31)

where the subscripts followed by | indicate prioritization and thesymbols c, t, and p denote constraints, tasks and postures. Thecommand Fcom is a vector of control forces to maneuver the robot’scenter of mass behavior. CoM stability behavior and control will beanalyzed in more detail through the following sections.

B. Manifold of Internal ForcesWe define the space of internal force behavior as the torque

components that have no effect on the robot’s motion, i.e. that producezero accelerations on the robot’s base or on the actuated joints. Thiscondition can be modeled by analyzing the right hand side (RHS) ofEquation (25), leading to the following expression

(UNs)T Γ = 0, (32)

which reflects the cancellation of acceleration effects. Therefore, thetorques that fulfill the above constraint belong to the null space of(UNs), defined by the projection

L∗ ,(I − UNs UNs

)εRn×n, (33)

where we use the symbol L∗ to denote contact closed loops, andthe superscript ∗ to indicate that the projection operates in contactspace. The torques associated with internal forces are those that donot contribute to net movement, i.e.

Γ = L ∗T Γint, (34)

where Γint denotes the control input to control internal forces andmoments. Notice that plugging the above torques in the RHS of (25)cancels out Γint, fulfilling the cancellation of acceleration effects.

C. Whole-Body Controller with Internal Force CommandWe integrate the above torques with our prioritized controller

discussed in Equation (30), leading to the unified torque structure

Γ =

N∑k=1

(J ∗Tk|prec(k)Fk

)+N ∗Tt Γposture + L ∗T Γint. (35)

The next step consists on using the above structure to controlinternal force behavior, as characterized in Equation (14), to desiredreference values, i.e.

Fint −→ Fint,ref =

ft,ref

[0]2ns

mn,ref

. (36)

Page 6: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

These reference values are planned to fulfill frictional constraints ofthe surfaces in contact using planning techniques such as the onementioned in the controller of Figure 5 (now under development).

To do that, we design a new torque controller that can directlymanipulate internal force behavior. We first notice that the virtuallinkage model derived in Equations (13) and (15) leads to thefollowing relationship between internal forces with respect to contactforces

Fint = WintFr. (37)

Plugging the proposed whole-body torque command of Equation (35)into Equation (20) and using (37) we obtain an equality relatinginternal force behavior with respect to internal torque commands,i.e.

Fint = J∗Ti|l Γint + Fint,t,p − µi − pi, (38)

whereJ∗i|l ,

(L∗UJsW

Tint

)(39)

is a transformation matrix from torques to forces,

Fint,t,p ,

WintJTs U

T

[N∑

k=1

(J ∗Tk|prec(k)Fk

)+N ∗Tt Γposture

](40)

are forces induced by task and postural behavior, and µi and pi areCoriolis/centrifugal and gravity terms defined as

µi ,Wintµr, pi ,Wintpr. (41)

Notice, that the above terms result in task and postural torquesappearing twice in the command torque of Equation (35). However,Equation (40) does not interfere with task and postural behavior sinceit operates in the manifold of closed loops. This term is meant tocancel out task and postural components introduced in the close loopcontact behavior.

Inverting Equation (38) we derive the desired torque-based internalforce controller

Γint = J ∗Ti|l

(Fint,ref − Fint,t,p + µi + pi

), (42)

where J ∗i|l is a Moore-Penrose left pseudo inverse of (39) and thesubscript i|l denotes internal quantities operating in the space ofcontact closed loops. Plugging the above expression into (38) andprovided that J ∗i|l is full row rank, we obtain the linear equality

Fint = Fint,ref . (43)

To ensure that J ∗i|l is full row-rank, L∗ needs to span all internalforce and moment quantities. This applies if there are at leastsix independent mechanical joints separating the common ancestorsbetween contact closed loops. A second required condition is toensure that Wint defines independent internal quantities. This isalready ensured in our derivation of the virtual linkage model.

Although, the above controller will work in open loop, to achieveaccurate tracking of internal forces under actuator friction andmechanical modeling errors a feedback force control law involvingproportional-integral-derivative feedback (PID) is needed. Given ap-propriate choice of the control law, the above linear relationship willensure convergence to the desired internal force trajectories.

The above control structure provides a dynamically correct internalforce controller that has no coupling effects on task, center ofmass, and postural behaviors, hence enabling the efficient controlof whole-body multi-contact interactions. It provides the supportto simultaneously control the position of multiple contact centersof pressure and the internal tensions and normal moments actingbetween contact closed loops. A block diagram of the overall whole-body torque controller with internal force commands is shown inFigure 5.

D. Boundaries of CoM and Internal Force Behavior

The control of center of mass and internal force behavior isdireclty related to the friction properties of the supporting surfaces.We analyze here this relationship and the effect on contact stabilitywith respect to surface friction boundaries. The torque command ofEquation (35) entails controlling both the robot’s center of mass andthe internal force behaviors. As discussed in Equation (31), centerof mass behavior is always one of the task objectives involve in thetorque reference of a humanoid robot.

The trajectory and values of CoM and internal force behaviorcannot take arbitrary values. They need to be chosen to fulfill contactand frictional constraints at the supporting surfaces. Ensuring thatreaction forces remain within friction boundaries is needed to preventrobot contact extremities from sliding and rotating with respect to theenvironment.

To facilitate the analysis of friction behaviors with respect tosurface properties we rotate reaction forces and moments, which arenormally expressed in global frame as shown in Equation (20), toalign with the frames attached to the contact surfaces, so their zcomponents are parallel to surface normals, i.e.

Fsurf , Rsurf Fr. (44)

Here Fsurf represents the rotated forces and moments and Rsurf isa 6ns × 6ns rotation matrix that aligns z components to surfacenormals. Using the above transformation, Equation (13) can bewritten as

Fcom

Fint

= GR−1surf Fsurf , (45)

where

Fcom ,

fcom

mcom

, Fint ,

fint

mint

, (46)

are the forces associated with the robot’s center of mass and internalforce behaviors, and R−1

surf is an inverse cumulative rotation. Theabove expression can be used to estimate the surface forces due tocenter of mass and internal force commands, i.e.

Fsurf = RsurfG−1

Fcom,ref

Fint,ref

. (47)

Using the above expression we can analyze the stability of whole-body behaviors with respect to frictional properties of the contactsurfaces. We consider the following indexes associated with linearfricional cones and rotational frictional ratios for the kth contactextremity

αsurf,k ,

tan−1

(fsurf,kz

fsurf,kx

)tan−1

(fsurf,kz

fsurf,ky

) , (48)

βsurf,k ,msurf,kz

fsurf,kz, (49)

where αsurf,k is the vector of angles measured between the surfaceplane and the reaction force vector and βsurf,k is a ratio between thenormal moment and normal force which characterizes the rotationalfriction behavior. This last index provides an intuitive metric ofrotational friction characteristics since it normalizes normal momentswith respect to normal forces. We determine the boundaries of theabove indexes by using simple models involving static friction conesand a heuristic model for rotational friction, i.e.

αsurf,k ε fricCone(k), (50)

βsurf,k ε rotIndex(k). (51)

Page 7: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

Fig. 5. Whole-body torque controller diagram: Block (a), represents the decisions made by a high level planning module such as the decision modulepresented in [23]. Block (b), outlines the information contained in behavioral entities representing the desired skills, here depicted for a multiphase multi-contact behavior. These entities are defined by state machines where the states consist of action primitives. Behavior primitives received information from asensor-based database which is used to update the action states and their representations. Block (c), shows the description of action primitives as collectionsof task objects organized according to a desired priority ordering. The action primitive shown above corresponds to one of the states of the desired multi-contact behavior. Block (d), describes task objects as entities containing coordinate representations, differential kinematic representations, goal-based potentialfunctions, and force-based control policies. Block (e), represents a system currently under development that is used to automatically solve internal forcebehavior given a desired action representation. This module is not described in this paper. Block (g), represents our prioritized torque-based controller, whichuses the previous behavior representations and control policies to create whole-body control torques. Block (h), represents the estimated dynamic behavior ofthe underactuated robot under multi-contact constraints in response to the previous torque commands.

On the other hand, the boundaries of center of pressure locations aredetermined by the surfaces in contact, i.e.

Pk ε surfArea(k), (52)

where Pk are contact CoP’s and surfArea(k) is the surface area of thecontact bodies. Overall, Equations (50- 52) determine the boundariesof frictional and rotational stability that comply with the contactmodel defined in Equation (19).

As we mentioned earlier, we control contact CoP’s to be locatedclose to contact geometric centers. The choice of CoP’s defines theanchors of the virtual linkage model and therefore determines themodel of the grasp/contact matrix. Once G is defined, we use theboundaries defined in Equations (50-52) to obtain feasible values ofCoM and internal forces by means of Equation (47). The problem ofchoosing internal force and CoM behavior is analyzed in more detailin the simulations section and in the Appendix.

IV. SIMULATION RESULTS

We now study various experiments on a simulated model of Asimodemonstrating the capabilities of the above methods. The objective ofAsimo is to operate in offices and homes assisting humans in a varietyof service and care giving chores. Recently, we have developeda research version of Asimo that uses torque control commands[19]. Torque control robots have the ability to implement compliantbehaviors which is needed to operate effectively and safely in humanenvironments. The objective of this section is to demonstrate theability to control contact CoP’s, internal forces, and center of massbehavior using the proposed methods.

A dynamic simulation environment [4] and a contact solver basedon propagation of forces and impacts [26] are used to simulate theexecution of our methods. The whole-body controller described inEquation (35) is implemented on a task-based software environmentthat enables the online creation of whole-body behaviors. Using thisenvironment we create various behaviors involving biped and multi-

Page 8: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

Fig. 6. Unified whole-body multi-contact behavior with internal forceand moment control: The robot is supported on its legs and left hand whilethe right hand exerts a normal force of 60N against the panel while trackinga teleoperated trajectory tangential to the plane. The CoM is commanded tofollow a sinusoidal vertical trajectory while its horizontal behavior remainsfixed. Contact CoP’s are controlled to remain at the geometric center of contactbodies, and internal tensions and normal moments are controlled to becomenull. The data graphs show good tracking on the various control parameters.The top two rows show data when the robot is supported with the left handand the two feet. It shows moment values on the left supporting hand andits tension force with respect to the right foot. It also shows force trackingon the right panel and CoM trajectory tracking. The lower row shows datafor diverse transitions. As shown on the small top-right images, the robottransitions from biped stance, to four contact support, and finally to threecontact support. The lower graphs show first the force value when the righthand makes first contact with the supporting table. It then shows the trajectoryof the CoM in the saggital direction when the robot shifts weight toward thesupport area defined by the left hand and the two feet. Finally it shows thetransition forces when the right hand makes first contact with the side panel.

contact stance as well as operational space interactions and center ofmass maneuvers.

A. Simulation of Reaching and Cleaning a Panel

In the experiment shown in Figure 6 we implement a multi-contact behavior that involves the following steps: (1) moving therobot’s hands towards a table, (2) establishing four contact supportand moving the robot’s center of mass towards the table to reachfurther away, (3) transitioning to three contacts by displacing thecenter of mass above the convex hull formed by the feet and lefthand, and (4) placing the right hand on the side panel for interactivemanipulation. This sequence of actions is accomplished using a statemachine where each state involves optimizing multiple low-level taskobjectives. Once in contact, the robot’s right hand is commanded toexert a normal force of 60N perpendicular to the side panel whiletracking a trajectory tangential to the panel and commanded by a user.

To add more complexity to the skill, we command the CoM verticalbehavior to move up and down in a sinusoidal pattern. To achieve thedesired global behavior we simultaneously control the robot’s centerof mass, several operational tasks, and postural behaviors as indicatedin Equation (31) (see [27] for more details) as well as the internalforce control policy defined in Equation (42). Using Equation (13),we construct three virtual linkage models for the phases involvingtwo, three, and four contacts. For simplicity, all tension forces andnormal moments are controlled to become zero. For instance, forthe phase with three support contacts the vector of internal forcecommands is

Fint −→ Fint,ref = [0]12. (53)

The position of contact CoP’s on hands and feet is chosen to be atthe geometic center of the links in contact.

During the bipedal phase, the center of mass is commanded tostay between the feet while moving the hands towards the table,while CoM and CoP positions are controlled taking into account thebipedal dependencies analyzed in the Appendix in Equation (76). Inthe phases with four contacts, the center of mass is commaned to ma-neuver towards the table by tracking a trajectory that fulfills contactstability constraint as defined by the boundaries of Equations (50-52). This trajectory is discussed in detail later in this section. Afeedback controller to track this trajectory is implemented using forcecommands in CoM space. The control of the right hand for interactingwith the side panel is implemented using the force control methodsdescribed in [22]. Therefore a unified force/position operational taskis created to control the right hand. Postural behavior is controlledby optimizing a criterion that minimizes the distance with respectto a human pre-recorded posture using a method similar to the onedescribed in [7]. During the multi-contact phases (i.e. three or moresupporting contacts) virtual linkage models similar to that of Figure 4are implemented. During the biped phase the special case of virtuallinkage model discussed in Figure 11 of the Appendix is used. Detailson the algebraic expressions of the matrices involved in the virtuallinkage models are also given in the Appendix.

The first two rows of the accompanying data correspond tothe phase with three supporting contacts where the right hand iscontrolled to clean the panel. In this phase, the horizontal positionof the CoM is commanded to remain fixed. We display data onthe tension forces occurring on the virtual linkage model assignedbetween the left hand and the right foot, the moments about theCoP on the left hand, the normal force on the panel, and the sagittaland vertical trajectories of the CoM. As we observe, the whole-bodycontroller with internal force control is able to track efficiently thedesired internal force values as well as the desired operational taskcommands involving the right hand and center of mass. Although itis not shown here, all other internal tensions and moments are ableto track the desired values with high accuracy. In fact, to add noiseto the simulation, we have applied some unmodeled external forcesto the robot’s body. Otherwise the tracking performance would beunrealistically good. On the bottom row of data we show normalforces on the table when establishing contact with the hands, thecenter of mass horizontal trajectories used to move the robot’s bodycloser to the table once four contact are established, and the normalforces on the panel when the first impact occurs.

B. Design of CoM Behavior

During the simulation shown in Figure 6, the robot places the handson the table and establishes support by moving its center of mass fromthe center of the feet to the final position closer to the table shownin Figure 7. By supporting its body with the hands on the table, therobot is able to reach the far away areas of the panel that need tobe cleaned. We focus our attention on the behavior of the center ofmass during the support maneuver. There are two critical componentsthat need to be studied to plan a stable center of mass maneuver: thefeasible area of center of mass static positions and the feasible centerof mass accelerations with respect to the frictional properties of theterrain and with respect to unilateral contact constraints.

Page 9: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

Fig. 7. Analysis of center of mass behavior: The top image depictsthe stability cloud of feasible center of mass static positions given frictionalconstraints. Overlaid, is the center of mass trajectory which must start andfinish within the stability cloud. Maximum accelerations and decelerationsare limited to 0.06m/s2 to remain within frictional cones. The lower partof the figure depicts frictional cones with respect to the contact surfacesin the sagittal directions and the reaction forces (within limits) during peakdecelerations.

To analyze the stability region we exploit the properties of thegrasp/contact matrix. The grasp/contact matrix as expressed in Equa-tions (16) and (17) depends only on the position of the robot’s centerof mass and on the positions of the contact centers of pressure, i.e.

G = func(Pcom, P1, · · · , P4

), (54)

where func stands for function. We also notice that the vector offorces and moments at the center of mass depend on inertial andgravitational accelerations as follows.

Fcom ,

fcom

mcom

= M (g + acom)∑ni=1

[Icom(i) αcom(i) + pcom(i) ×

(mi acom(i)

)] , (55)

where M is the total mass of the robot, acom is the vector of linearaccelerations of the robot’s center of mass, g is the gravitationalacceleration vector, Icom(i) is the inertial tensor of the ith linkexpressed at its center of mass, pcom(i) is its center of mass position,mi is its mass, αcom(i) is the vector of angular accelerations, andacom(i) is the vector of linear accelerations.

Our technique consists on scanning the G matrix for an array(cloud) of center of mass points around the robot’s multi-contact areaand then evaluate if these points, which translate into gravitationalforces in the static case, fulfill frictional constraints as expressed inEquations (50) and (51). To evaluate the feasibility we use the modeldescribed in Equation (47). The stability cloud is shown in Figure 7.In blue color it is shown the center of mass feasible placements thatcomply with the stance’s frictional characteristics.

The above stability area is used to plan initial and final CoMpositions which need to lie on top of the static stability area. Thedynamic trajectory of the robot’s center of mass is then plannedwithin this region (shown in the bottom graph of Figure 6). Here, wehave designed a CoM trajectory with constant velocity througout mostof the displacement and with an acceleration and deceleration profileobtained using trigonometric curves. The profile of the accelerationand deceleration does not exceed values higher than 0.06 m/s2. Toverify that this profile is feasible with respect to frictional constraints,we use Equation (55) to convert accelerations into CoM forces (forsimplicity we ignore CoM moments). We then use Equation (47) tovalidate the feasibility of the trajectory. At the bottom of Figure 7we show the reaction forces induced by the peak deceleration profile,which occurs close to the very end of the CoM displacement, whenpcom = [0.16, 0.13, 0.47]. As we can observe, the orientation ofthe reaction forces is within the limits of the frictional cones, shownhere in the sagittal directions. The same analysis has been done withrespect to lateral frictional characteristics as well as with respect torotational friction constraints on the discussed simulation.

C. Design of Control Laws

In Figure 5 we depicted a diagram of our whole-body controllerexpressing behaviors as state machines where each state (called actionprimitive) is a collection of low-level task primitives. In turn, eachtask primitive optimizes and objective either using potential fields orforce control.

We focus our attention on the action primitive involved in thephase of cleaning the panel. The objectives being controlled here aresummarized in the table below.

Task Primitive Coordinates Control PolicyBalance CoM dynamic trajectoryRight hand Cartesian force and positionGaze head orientation positionPosture marker coordinates captured sequencesInternal forces tensions / moments optimal contact

Task objective are controlled using the prioritized structure shown inEquation (35). In the case of center of mass trajectory control, thecontroller involves calculating the center of mass Jacobian which canbe derived using the following expressions

Jcom ,1

M

n∑i=1

miJcom(i), (56)

where

Jcom(i) ,

∂xcom(i)

∂xb

∂xcom(i)

∂q

εR2×(n+6). (57)

is the Jacobian for the ith contact link.As discussed in [27] trajectory tracking consists on calculating

dynamically consistent forces described by the equation

Fcom = Λ∗comacom,ref + µ∗com + p∗com, (58)

where Λ∗com is the constrained mass matrix of the robot’s CoM, µ∗comare forces induced by Coriolis/centrifugal effects, p∗com are forcesinduced by gravity effects, and acom,ref is the command acceleration

Page 10: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

vector. For the case of center of mass control, we use the followingfeedback proportional/derivative tracking law

acom,ref = −kp (xcom − xdes)− kv (xcom − vdes) , (59)

where the position and velocity trajectories are designed followingthe feasible CoM profile previously discussed.

We also consider the control policy for the right hand in contactwith the side panel. Here, we use a unified force motion task definedby the law

Fhand =Ωf

[−Kpf (Fx,hand − Fdes)−Kvf Fs,hand − (60)

Kif

∫ t

0

(Fx,hand − Fdes) dt

]+ (61)

Ωm

[Kvm (xhand − νvdes)

], (62)

where Fs,hand are forces sensed at the hand. The above equationinvolves a PID control law to control the force in the normal directiondefined by the projection Ωf and a term to control the motion in thetangential directions to the panel defined by the projection Ωm. Themotion control law is a velocity saturation law defined by the positionfeedback rule

vdes = −KpmK−1vm (xhand − xdes) (63)

with

ν = min

1,

vmax

‖ vdes ‖

. (64)

This ensures that we track user defined trajectories without violatingpredefined velocity limits. To respond compliantly to impacts, weuse moderate gains in the above motion control law. In Figure 6 weshow the response to impact with the panel and with the table whenestablishing the contact interactions.

D. Simulation of a Compliant Multi-Contact Behavior

We conduct a second simulation shown in Figure 8 that studies acompliant behavior that emerges when the environment is dynami-cally moving. The robot is commanded to establish a four contactstance leaning against a pivoting table. The tasks used to implementthis behavior are similar to the ones used in the previous example,however the robot is commanded to stay in the four contact stanceall the time. To demonstrate force tracking at the internal level, thetension between the left hand and the right foot is commanded tofollow a sinusoidal trajectory. All other internal forces and tensionsare commanded to be zero. At the same time, a user interacts withthe pivoting table moving it up and down in arbitrary fast motions.

Because contact CoP’s are commanded to stay at the center ofthe extremities in contact, the hands respond compliantly to tablemovement, remaining flat against the surface to maintain the desiredCoP positions. The accompanying data graphs show tangential andnormal moments, the tension between the left hand and the rightfoot, and the sagittal position of the CoM. We also show the normalcomponent of the reaction forces induced by the table movement onthe hands. The tracking error for the internal tension is small witha maximum excursion of 0.3 N. This error is mainly caused due tothe unmodeled movement of the table. As we recall, our frameworkassumes that the table is static, which is implied in Equation (19).However, because the table undergoes fast accelerations the modelis inaccurate. Despite this inaccuracy, the tracking behavior is verygood. When the tabletop remains static, the force tracking error isnearly zero (not shown here).

E. Discussion of Results

The most important result in the above simulations is the emer-gence of compliant interactions with respect to the dynamic environ-ment while optimizing task objectives. While the robot is supportingits body against the table and floor, it is adapting to large variationson the orientation of the table. Compliance emerges because thebehaviors are controlled using force and moment control as opposedto position control strategies. The centers of pressure in the handsand feet are controlled to remain at the center of the surfacesin contact. This is achieved by creating a virtual linkage modelanchored at the center of the extremities and controlling the tangentialmoments to become zero. Because the tangential moments in all fourextremities remain close to zero the hands respond compliantly to thedisturbances produced by the table movement.

The internal tensions are tracked as expected, following the desiredtrajectories with small errors. These errors appear due to the unmod-eled movement of the table. In the case of our simulation, we use openloop control of the internal tensions. However, by using a PID controlstrategy the dynamic response of the tension behavior might beimproved. In real robots, it would be best to use a PID control strategyto overcome model errors and unmodeled actuator friction. However,using an integration feedback term can lead to large accumulationof error if the extremities loose contact accidentally. In such case,the integral part might continuously increment the commanded forcedue to the lack of contact sensory feedback. Therefore, special careneeds to be placed to avoid this type of accidents. In both simulationsabove, the center of mass behavior tracks the desired values with highaccuracy. This is accomplished due to the decoupling effect of thecontact closed loop operator discussed in Equation (33).

An important discussion is the effect on the controller due touncertainties in the model, actuators, and environment. The unmod-eled uncertainties of the moving environment are handled by thecompliance that emerges due to using the proposed internal forcecontroller. To overcome the effects on unmodelled friction at thejoints due to the the gearing mechanisms we use sensor-based PIDcontrol in the internal force tracking tasks. We have conductedsimulations that involved large modeling errors on the estimatedlink masses, inertias, and center of mass locations. We evaluated theperformance of an operational task involving tracking an end effectortrajectory while keeping balance on a standing posture, observing thatthe commanded whole-body behaviors remained stable despite largedeviations on the model. The most visible effects were in posturaldeviations due to the uncertainty on center of mass estimation.

V. CONCLUSION

Creating a virtual linkage model for humanoid robots enables thecharacterization of complex whole-body multi-contact interactionsand the creation of new compliant skills needed to operate effectivelyin human environments. By enabling the precise control of contactcenters of pressure, we create compliant contact behaviors and byplacing contact CoP’s near the center of contact bodies we preventunwanted rotations along contact edges. Characterizing the behaviorof internal tensions and moments as well as the behavior of therobot’s center of mass with respect to contact reaction forces weprovide tools to plan policies that satisfy all frictional constraints.Other methods solely based on ZMP modeling disregard the localinteractions between contact bodies hindering the ability to complywith contact constraints and to create compliant contact behaviors.Our methods are dynamically correct, enabling the simultaneouscontrol of operational tasks, center of mass behavior, postures, andinternal forces with high accuracy. We have demonstrated thesecapabilities through whole-body multi-contact simulations of thehumanoid robot Asimo

Suggestions for future work include the implementation of extremecontact behaviors such as those that would exploit point and edgecontacts for maneuvering within the environment. Here, our proposedmethods provide the support for the manipulation of contact centersof pressure with precision. Also it would be interesting to analyze

Page 11: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

Fig. 8. Compliant multi-contact behavior: A four contact stance is shown here. Contact centers of pressure are controlled to stay at the center of thebodies in contact. The center of mass is controlled to remain at a fixed location over the area defined by the horizontal projection of the four contacts.The table is pivoted rapidly by an external user to challenge the pose. To add additional difficulty, the internal tension between the left hand and the rightfoot is commanded to track a sinusoidal trajectory. All other tensions and normal moments are commanded to become null. Overall, the robot was able totrack efficiently the commanded internal force and moment references with maximum errors around 0.3N. We show the data corresponding to the left hand,including the tangential moments on the y direction, the internal tension between the right hand and the left hand, and the normal moment with respect tothe moving surface. As we can see, the tangential moment is maintained close to zero, meaning that the desired anchor point of the virtual linkage, in ourcase the center of the hand, becomes the actual center of pressure. The tensions are also tracked efficiently as well as the normal moment. We also showdata of the robot’s Center of Mass and the normal component of the reaction forces in the hands produced by the moving table. The desired CoM positionwas tracked with offset values below 0.1 millimeters despite the large variation on the movement of the table which oscillated to angles up to 75o from theresting position.

contact singularities such as the case due to stretching the kneesduring walking behaviors.

In summary, we have presented a framework for the analysis andcontrol of internal forces and moments acting on closed loops formedby multi-contact interactions on humanoids. We have created a newinstance of the virtual linkage model to characterize the relationshipbetween internal forces and CoM maneuvers with respect to reactionforces on supporting surfaces. The grasp/contact matrix associatedwith the virtual linkage model provides the support to plan CoMmaneuvers and internal force behavior that comply with rotationaland frictional contact constraints. We have analyzed the dynamic rep-resentation of contact closed loops and derived a structure to controlinternal forces orthogonally to tasks and center of mass behaviors.We have integrated this controller with our previous framework forprioritized multitasking. Finally, we have studied various simulationsdemonstrating the capabilities of our models and control methods inchallenging multi-contact examples.

APPENDIX

A. Derivation of Constrained DynamicsThe robot’s generalized coordinates, including its global position

and orientation in space and the position of its articulated joints canbe fully described by the set

xb, q = xb,p, xb,r, q1, q2, . . . , qn, (65)

where the 6 × 1 vector xb = xb,p, xb,r represents the positionand orientation coordinates of a base reference located on the robot’sbody and the n× 1 vector q represents joint positions.

Reaction forces appear on supporting surfaces due to the effectsof gravity forces and center of mass accelerations. Using Lagrangianformalism and expressing the system’s kinetic energy in terms ofthe joint kinetic and potential energies we can derive the followingequation of motion describing robot dynamics under supportingcontacts

A

ϑb

q

+ b+ g + J Ts Fr =

. (66)

Notice that the actuation vector in the right hand side of the aboveequation has six zeros corresponding to the six passive DOFs asso-ciated with the robot’s unactuated base. Moreover, the term J T

s Fr

corresponds to the projection of reaction forces acting on contactextremities into forces acting on passive and actuated DOFs.

By left-multiplying the above equation by the term JsA−1 and

considering the equality

ϑs = Js

ϑb

q

+ Js

ϑb

q

, (67)

we obtain the following equation of motion for the supportingextremities,

ϑs − Jsϑb

q

+ JsA−1(b+ g) + JsA

−1J Ts Fr

= JsA−1U T Γ. (68)

Solving the above equation for the non-holonomic contact con-straints of Equation (19) we obtain the estimate of reaction forces interms of the actuation torques, given in Equation (20). Plugging the

Page 12: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

above equation in (66) we obtain the constrained dynamic equationgiven in (25). QED

B. Analysis of Contact CoP’s and CoM BehaviorWe consider first the special case of bipedal coplanar multi-contact

stance. Since the dominant method for control of CoM maneuvers inbiped stance is the ZMP, our initial premise is that ZMP trajectoriesare first provided. The question is what co-dependencies in the multi-contact representation appear in such scenarios (see Figure 9). Wewill see that the positions of the two contact CoP’s depend on eachother as a function of the Zero Moment Point. The ZMP is derivedfrom the following equation of motion that balances moments on therobot [33]

OP × fr +mr = OG× fcom +mcom, (69)

where P is a vector indicating ZMP coordinates, fr is the vectorof total resultant forces, mr is the vector of total resultant momentsabout P expressed in global frame, and fcom and mcom are vectors ofinertial and gravitational forces and moments measured at the robot’sCoM. The solution of the above equation that renders zero resultanttangential moments about P correspond to the ZMP, and can be foundin [33]. Using P , we formulate the balance between moments aboutthe ZMP with respect to moments about the two coplanar contactCoP’s:

OP × fr +mr =

2∑i=1

Pi × fri +

2∑i=1

mri, (70)

where fri and mri are the resultant reaction force and momentprojected about the ith contact CoP. Solving the above equation forzero tangential moments (i.e. the ZMP condition [mr]T = 0) weobtain the expression of the ZMP with respect to contact CoP’s:

Px =

2∑i=1

Pixfrizfrz

−2∑

i=1

Pizfrixfrz

Piz=0↓=

2∑i=1

Pixfrizfrz

, (71)

Py =

2∑i=1

Piyfrizfrz

−2∑

i=1

Pizfriyfrz

Piz=0↓=

2∑i=1

Piyfrizfrz

. (72)

Here, we have used the coplanar condition P1z = P2z = Pz = 0 andthe CoP condition [mri]

Ti = 0. Using the equality frz =∑2

i=1 friz ,we define the fractional values,

α , fr1z/frz, (73)

(1− α) = fr2z/frz. (74)

Using Equation (71) we formulate the equality Px = P1xα+P2x(1−α). Solving for alpha we get

α =P2x − Px

P2x − P1x. (75)

Plugging α in (72) and solving for P2y we get

P2y = PyP2x − P1x

Px − P1x− P1y

P2x − Px

Px − P1x(76)

This relationship embodies two important characteristics. First, dueto the dependency of P2y on P , P1x, P2x, and P1y , when P (i.e. theZMP) is first determined, it is only possible to independently specifythree coordinates from the four 2D coordinates defining contact CoPpositions. Second, the line uniting P1 and P2 passes through P . Thiscan be seen by setting P2y = Py and observing that P2x = Px. Asa result, when we define a virtual linkage model for biped coplanarbehaviors, we can only consider controlling three of the four CoPquantities for a given ZMP trajectory.

When contacts are non-coplanar such as when they occur atdifferent inclined surface, or at surfaces with different heights,or when more than two contacts are involved in the stance, thedependencies implied by Equation (76) do not apply. For example,consider the case of three coplanar contacts. Similar relationships

Fig. 9. Dependency between contact CoP’s and ZMP: During bipedcoplanar contact stance contact CoP’s lie in a line that passes through theZMP.

than the ones shown in Equations (71) and (72) can be drawn byinvolving three summation terms on the RHS corresponding to thethree contacts. Additionally, fr = fr1 + fr2 + fr3 involves threeterms, and therefore dependencies similar to Equations (73) and (74)are now more complicated. Instead we consider the ratios

α ,fr1zfrz

, β ,fr2zfrz

, (1− α− β) =fr3zfrz

, (77)

then, using similar equations to (71) and (72) but involving threeterms on the RHS, we can write

Px = P1xα+ P2xβ + P3x(1− α− β), (78)

Py = P1yα+ P2yβ + P3y(1− α− β). (79)

In the above equations, we observe that the contact CoP’s P1, P2,and P3 enclose P (the ZMP) within their triangular convex hull. Thiscan be seen by plotting the solutions of P for the set 0 ≤ α ≤ 1 and0 ≤ β ≤ 1−α. As a result, all coordinates of the center of pressurepoints can be independently manipulated provided that they enclosethe desired ZMP location.

It is also interesting to observe that the above equations revealthe usefulness of the ZMP in coplanar contact stance. ObservingEquations (71) and (72) for the bipedal case we can see that whenP approaches the location of a given Pi then the normal force of theopposing CoP becomes zero (i.e. if P = P1, then fr2z = 0 or if P =P2, then fr1z = 0). Therefore, P is confined within the line segmentuniting the Pi’s to avoid violating unilateral contact constraints (i.e.friz ≥ 0). In the case of coplanar tricontact stance as defined inEquations (78) and (79) a similar intuitive rule applies. When Papproaches a given vertex in the convex hull (i.e. P = Pi), then thenormal forces on the other two CoP’s become zero. Moreover, whenP approaches the line segments uniting two Pi’s (i.e the edges ofthe convex hull formed by the CoP’s) then the normal force on the

Page 13: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

Fig. 10. Feasible area of CoM placement: This image illustrates the feasiblearea of CoM static placement. The blue triangular area shows the set offeasible locations of the horizontal components of the CoM. The verticalcomponent of the CoM can be arbitrary placed as we only need to considergravitational forces for the static case.

opposing CoP becomes zero (e.g. if P = P1α + P2(1 − α), thenfr3z = 0). These relationships are derived from basic explorationof the above equations. In summary, we have demonstrated that incoplanar contact cases, the ZMP must remain inside the convex hullof the CoP’s to prevent violating unilateral contact constraints.

We also consider the case where contacts are non-coplanar. First,we study non-coplanar biped stance, e.g. a human or humanoid robotstanding with one foot on the floor and another foot against the wall,or with one foot on a stair and the other foot on the next one. Thecenters of pressure Pi now need to be specified as 3D variables sincethey lie on surfaces at different heights. The question is whether thereexists similar interdependencies between centers of pressure as withthe case of coplanar biped contact stance. The answer is no, they donot exist. For such cases, a ZMP in a general sense can be assigned(i.e. a point in space where the tangential moments about a desiredsurface vanish), but now such point cannot be linked to unilateralcontact conditions. Solving Equation (70) now leads to the equality

Px =

ns∑i=1

Pixfrizfrz

−ns∑i=1

Pizfrixfrz

−ns∑i=1

yRiimriz

frz, (80)

Py =

ns∑i=1

Piyfrizfrz

−ns∑i=1

Pizfriyfrz

+

ns∑i=1

xRiimriz

frz, (81)

where we observe that the terms Piz now appear and that there aretangential moments in global frame induced by the normal momentson surfaces non coplanar to the ZMP plane. Here, we have chosena virtual horizontal frame for expressing the ZMP and used thecondition Pz = 0. Also the variables imriz represent the normalmoments at the center of pressure points expressed in surface frames,and xRi and yRi are rotational matrices from local frames to theZMP plane defined by the tangential coordinates x and y.

In the above case, if the ZMP approaches the contact CoP’s,unilateral contact constraints are not necessarily violated. Considera biped non-coplanar stance with P = P1. This case does not implythat fr2z is equal to zero as it was in the coplanar case, sinceEquations (80) and (81) have now moment components that allowexcursions of the ZMP beyond the convex hull.

Let us explore this case in more detail through the scenariodepicted in Figure 10 which involves one foot placed on the wall.We first analyze the static case where the robot’s center of mass does

Fig. 11. Virtual linkage model in bipedal stance: In (b) a virtual linkagemodel is shown involving two spherical joints and one prismatic joint. Thepoint P is the ZMP and the points C are the contact centers of pressure.As discussed earlier, the ZMP lies on the line connecting the two centers ofpressure. The black and white circles correspond to the center of masses ofthe feet links. To simplify the control of CoP’s we choose them to lie in aline parallel to the segment connecting the feet CoM’s. In (c) we show the 6internal forces and moments that are independently controllable given ZMPtrajectories. This corresponds to 1 tension forces, 2 normal moments, and 3out of 4 coordinates of the centers of pressure.

not move. The question is what is the set of feasible CoM locations.In static stance, the ZMP becomes equal to ground projection of theCoM. This can be seen by solving Equation (69) which leads to theequalities

Px = Gx −Gzfrxfrz

−mcomy

frz, (82)

Py = Gy −Gzfryfrz

+mcomx

frz. (83)

When the robot is not moving, frx = fry = 0 and mcom = 0. As aresult Px = Gx and Py = Gy .

Similarly to the analysis of the feasible CoM locations discussed inthe simulations section, we use Equation (47) to plot the stability area

Page 14: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

under frictional constraints. We observe that this is not a line as itwould be in coplanar bipedal stance. Instead, it is a triangular regionreaching behind the foot on the wall and to the sides of the sagittalplane. Exploring Equations (80) and (81) we observe that the reasonwhy the CoM can be placed behind the wall is because there existsnormal forces against the wall in the x direction. On the other hand,the offsets of the CoM on the y direction are counteracted by reactionforces on the y direction (i.e. the forces tangential to the wall) or bycontact reaction moments on the x direction (i.e. moments normal tothe wall).

To analyze dynamic CoM maneuvers during complex multi-contactsituations, the above equations involving the ZMP become moredifficult to use. For this reason, the model of Equation (47) derivedfrom the virtual linkage model appears as a strong candidate tostudy and develop dynamic and static maneuvers in all contactsituations. This model can be queried for desired CoM maneuversand in combination with an optimal solver can be used to estimateinternal force trajectories that comply with frictional properties. Thistechnique is now the next focus of our research.

C. Special Virtual Linkage Models for Bipedal Stances

Let us focus on the coplanar bipedal CoP dependencies discussedin Equations (70 – 76). Similarly to the dependencies associatedwith dual contact behaviors described in the original virtual linkagemodel [35], the dependency between ZMP and contact CoP’s for twocontact stance previously described restricts the number of contactmoments that can be controlled. Only five contact moments can becontrolled instead of the six that would be expected. To solve thisproblem, we associate a special case of virtual linkage model withthree contact CoP coordinates instead of four. If the set of internalmoments were to contain four tangential CoP coordinates and thenormal moments, the virtual linkage model of Equation (13) wouldbe overdetermined and therefore not fully controllable.

To understand this reduction we observe that during two contactinteractions, there exist six internal forces between the contactsand six resultant forces associated with the robot’s CoM behavior.Equation (13) defines the relationship between CoM and internalforces and moments with respect to reaction forces. The six CoMforces and moments determine the ZMP’s behavior and thereforeimpose the dependencies with respect to the CoP’s, limiting thenumber of internal moments that can be controlled. Therefore, wedefine a different virtual linkage model for bipedal coplanar contactsinvolving the tension between the two contacts, the two normalmoments of the contacts, and only three out of four tangentialmoments (see Figure 11). The reduced set of internal forces andmoments describing the virtual linkage model for bipedal contact istherefore equal to

Fint =

fint

mint

,

ft

mcop(rf)(2d)

mcop(lf)(1d)

mn(rf)

mn(lf)

εR6. (84)

The behavior of the CoM with respect to contact reaction forcesdescribed in Equation (12) remains the same.

The case of non-coplanar bipedal contact stance needs also aspecial virtual linkage model, since there exist also six independentinternal force and moment quantities. However, in non-coplanarbipedal contact stance the four coordinates describing the two CoP’scan now lie outside of the line connecting the ZMP (as analyzed inFigure 10). Therefore, two more internal quantities besides the contactCoP’s can be independently controlled. Our choice is to control thetwo normal moments about the contact surfaces and ignore the tensionforce. Another valid choice would be to control the tension force andone out of the two normal moments. Our choice leads to the followingespecification of the virtual linkage model for non-coplanar bipedal

contact stance

Fint = mint ,

mcop(rf)(2d)

mcop(lf)(2d)

mn(rf)

mn(lf)

εR6. (85)

Once more, the behavior of the CoM with respect to contact reactionforces described in Equation (12) remains the same.

D. Matrices for the Virtual Linkage ModelIn this section we specify the algebraic expressions of the matrices

used in Equations (8), (10), and (11) that define the internal forcesand moments of the virtual linkage model.

First we speficy the matrices involved in the expression of centerof pressure moments. The matrix Ts represents the cumulative spatialtransformation matrix from global frame to surface frames. Forthe sake of simplicity it is convenient to express this matrix withrespect to a rearranged version of the vector of reaction forces ofEquation (20), where forces and moments appear in pairs, i.e.

Fr,fm ,

fr1

mr1

...

frns

mrns

= Sfm

fr1...

frns

mr1

...mrns

= SfmFr, (86)

where Sfm is a selection matrix rearranging the order of the reactionforces. Given the above rearrangement, the vector of reaction forceson the RHS of Equations (8) can be first premultiplied by Sfm andthen the cumulative spatial transformation can be applied, i.e.

Ts ,

TP1 [0]3×6 [0]3×6 · · ·

[0]3×6 TP2 [0]3×6

...

. . .

[0]3×6 · · · [0]3×6 TPns

· Sfm

εR6ns×6ns , (87)

where each component is the standard spatial transformation for pairsof forces and moments defined by

TPi , (Gi − Pi)×RPi RPi

εR3×6, (88)

where Gi is the position of the center of mass of the ith supportinglink, Pi is its center of pressure point, and RPi is the rotationmatrix from global frame to the frame oriented with respect to thesurface below the contact link. After applying the above spatialtransformations, we select the tangential moments with respect tosurface tangential coordinates using the matrix

Scop ,

0 0 0 1 0 00 0 0 0 1 0

[0]2×6 · · ·

[0]2×6. . .

...

... · · · 0 0 0 1 0 00 0 0 0 1 0

εR2ns×6ns (89)

Next we specify the matrices involved in the representation of the3(ns − 2) vector of tension forces. Based on Equation (10), we first

Page 15: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

take the 9(ns − 2) differences between pairs of linear forces. Thematrix below shows an instance of a differential matrix for the virtuallinkage model of Figure 4 where there exists 4 contact links and 6tension forces:

∆t ,

I −I 0 0 0 0 0 0

I 0 −I 0 0 0 0 0

I 0 0 −I 0 0 0 0

0 I −I 0 0 0 0 0

0 I 0 −I 0 0 0 0

0 0 I −I 0 0 0 0

ε R9(ns−2)×6ns , (90)

where I is the identiy matrix, in this case of dimension 3 × 3. Thefirst line corresponds to the differential of forces between the righthand and the left hand. The second row corresponds to the differentialbetween the right hand and the right foot. The third row correspondsto the differential between the right hand and the left foot. And soon until we express the six tension differentials.

The rotation matrix Rt takes differential forces expressed in globalframe and rotates them along the links of the virtual linkage modelusing the following expression for the case of Figure 4

Rt =

R12 0 0 0 0 0

0 R13 0 0 0 0

0 0 R14 0 0 0

0 0 0 R23 0 0

0 0 0 0 R24 0

0 0 0 0 0 R34

(91)

εR9(ns−2)×9(ns−2), (92)

Rij =

xTij

y Tij

z Tij

, (93)

xij =

Pi−Pj

‖Pi−Pj‖,

yij =−xij(2) xij(1) 0

T

,

zij = xij × yij .

(94)

which result on the x component aligned with the links. To obtainthe tension forces, all is needed is to select the x directions using theselection matrix

St ,

1 0 0 [0]1×3 [0]1×3 · · ·

[0]1×3 1 0 0 [0]1×3

...

. . .

[0]1×3 · · · [0]1×3 1 0 0

εR3(ns−2)×9(ns−2). (95)

Finally, we specify the matrices involved in the expression ofnormal moments of Equation (11). We notice that it involves a spatialtransformation from global frame to surface local frames using theprevious definition of Ts. However, this time we choose the normal

moment components using the following selection matrix also specifyfor the particular case of Figure 4

Sn ,

0 · · · 0 1 [0]1×6 [0]1×6 [0]1×6

[0]1×6 0 · · · 0 1 [0]1×6 [0]1×6

[0]1×6 [0]1×6 0 · · · 0 1 [0]1×6

[0]1×6 [0]1×6 [0]1×6 0 · · · 0 1

εRns×6ns (96)

ACKNOWLEDGEMENTS

The financial support of Honda Motor Co. is acknowledged. Manythanks to Taizo Yoshikawa for his contributions and to RolandPhilippsen and Philippe Fraisse for reviewing the manuscript.

REFERENCES

[1] C.O. Alford and S.M. Belyeu. Coordinated control of two robot arms.In Proceedings of the IEEE International Conference on Robotics andAutomation, pages 468–473, March 1984.

[2] T. Bretl and S. Lall. Testing static equilibrium for legged robots. IEEETransactions on Robotics, 24(4):794–807, August 2008.

[3] J. Buchli, F. Iida, and A.J. Ijspeert. Finding resonance: Adaptivefrequency oscillators for dynamic legged locomotion. In Proceedingsof the IEEE/RSJ International Conference on Intelligent Robots andSystems, 2006.

[4] K.C. Chang and O. Khatib. Operational space dynamics: Efficientalgorithms for modeling and control of branching mechanisms. InProceedings of the IEEE International Conference on Robotics andAutomation, April 2000.

[5] C. Collette, A. Micaelli, C. Andriot, and P. Lemerle. Robust balanceoptimization control of humanoid robots with multiple non coplanargrasps and frictional contacts. In Proceedings of the IEEE InternationalConference on Robotics and Automation, Pasadena, USA, May 2008.

[6] S. Collins, A. Ruina, R. Tedrake, and M. Wisse. Efficient bipedal robotsbased on passive-dynamic walkers. Science Magazine, 307(5712):1082–1085, 2005.

[7] E. Demircan, L. Sentis, V. DeSapio, and O. Khatib. Human motionreconstruction by direct control of marker trajectories. In Advances inRobot Kinematics (ARK), 11th International Symposium, Batz-sur-Mer,France, June 2008. Springer.

[8] A.A. Frank. Control Systems for Legged Locmotion Machines. PhDthesis, University of Southern California, Los Angeles, USA, 1968.

[9] D.T. Greewood. Principles of Dynamics. Prentice-Hall, Inc., 1988.[10] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa. Zmp analysis for

arm/leg coordination. In Proceedings of the IEEE/RSJ InternationalConference on Intelligent Robots and Systems, pages 75–81, Las Vegas,USA, October 2003.

[11] K. Hirai, M. Hirose, Y. Haikawa, and T. Takenaka. The developmentof Honda humanoid robot. In Proceedings of the IEEE InternationalConference on Robotics and Automation, volume 2, pages 1321–1326,Leuven, Belgium, 1998.

[12] R. Holmberg and O. Khatib. Development and control of a holonomicmobile robot for mobile manipulation tasks. International Journal ofRobotics Research, 19(11):1066–1074, 2000.

[13] S-H. Hyon, J. Hale, and G. Cheng. Full-body compliant humanhumanoidinteraction: Balancing in the presence of unknown external forces. IEEETransactions on Robotics, 23(5):884–898, October 2007.

[14] A.J. Ijspeert, J. Buchli, A. Selverston, M. Rabinovich, M. Hasler, W. Ger-stner, A. Billard, H. Markram, and D. Floreano, editors. Dynamicalprinciples for neuroscience and intelligent biomimetic devices. Abstractsof the EPFL-LATSIS Symposium, Laussane, Switzerland, 2006.

[15] O. Khatib. Commande Dynamique dans l’Espace Operationnel desRobots Manipulateurs en Presence d’Obstacles. PhD thesis, l’Ecole Na-tionale Superieure de l’Aeronautique et de l’Espace, Toulouse, France,1980.

[16] O. Khatib. A unified approach for motion and force control of robotmanipulators: The operational space formulation. International Journalof Robotics Research, 3(1):43–53, 1987.

[17] O. Khatib. Object manipulation in a multi-effector robot system. InR. Bolles and B. Roth, editors, Robotics Research 4, pages 137–144.MIT Press, 1988.

[18] O. Khatib, L. Sentis, and J. Park. A unified framework for whole-body humanoid robot control with multiple constraints and contacts. InSpringer Tracts in Advanced Robotics - STAR Series, Prague, CzechRepublic, March 2008.

Page 16: Compliant Control of Multi-Contact and Center of Mass ...robotics.stanford.edu/~lsentis/files/tro-2010-hold.pdf · Compliant Control of Multi-Contact and Center of Mass Behaviors

[19] O. Khatib, P. Thaulaud, and J. Park. Torque-position transformer for taskcontrol of position controlled robots. Patent, November 2006. PatentNumber: 20060250101.

[20] T. McGeer. Passive dynamic walking. The International Journal ofRobotics Research, 9(2):62–68, 1990.

[21] Y. Nakamura, H. Hanafusa, and T. Yoshikawa. Mechanics of coordina-tive manipulation by multiple robotic mechanisms. In Proceedings ofthe IEEE International Conference on Robotics and Automation, pages991–998, April 1987.

[22] J. Park. Control Strategies For Robots In Contact. PhD thesis, StanfordUniversity, Stanford, USA, 2006.

[23] R. Philippsen, N. Negati, and L. Sentis. Bridging the gap betweensemantic planning and continuous control for mobile manipulation usinga graph-based world representation. In Proceedings of the Workshop onHybrid Control of Autonomous Systems, Pasadena, July 2009.

[24] M.H. Raibert, M. Chepponis, and H.B. Brown. Running on four legsas though they were one. IEEE Journal of Robotics and Automation,2(2):70–82, June 1986.

[25] M.H. Raibert and J.J. Craig. Hybrid position force control of manipu-lators. ASME J. Dyn. Sys. Measurement Contr., 103(2):126–133, 1981.

[26] D. Ruspini and O. Khatib. Collision/contact models for dynamicsimulation and haptic interaction. In The 9th International Symposium ofRobotics Research (ISRR’99), pages 185–195, Snowbird, USA, October1999.

[27] L. Sentis. Synthesis and Control of Whole-Body Behaviors in HumanoidSystems. PhD thesis, Stanford University, Stanford, USA, 2007.

[28] L. Sentis and O. Khatib. Task-oriented control of humanoid robotsthrough prioritization. In Proceeding of the IEEE/RSJ InternationalConference on Humanoid Robots, Los Angeles, USA, November 2004.

[29] L. Sentis and O. Khatib. Synthesis of whole-body behaviors throughhierarchical control of behavioral primitives. International Journal ofHumanoid Robotics, 2(4):505–518, December 2005.

[30] A. Takanishi, M. Ishida, Y. Yamazaki, and I. Kato. The realization ofdynamic walking robot wl-10rd. In Proceedings of the InternationalConference of Advanced Robotics, 1985.

[31] A. Takanishi, H.O. Lim, M. Tsuda, and I. Kato. Realization of dynamicbiped walking stabilized by trunk motion on sagitally uneven surface.In Proceedings of the IEEE/RSJ International Conference on IntelligentRobots and Systems, 1990.

[32] R. Tedrake, T.W. Zhang, M. Fong, and H.S. Seung. Actuating a simple3d passive dynamic walker. In Proceedings of the IEEE InternationalConference on Robotics and Automation, 2004.

[33] M. Vukobratovic and B. Borovac. Zero-moment point thirty tive yearsof its life. International Journal of Humanoid Robotics, 1(1):157–173,2004.

[34] E.R. Westervelt, J.W. Grizzle, C. Chevallereau, J.H. Choi, and B. Morris.Feebdack control of dynamic bipedal robt locomotion. CRC Oress, 2007.

[35] D. Williams and O. Khatib. The virtual linkage: A model for internalforces in multi-grasp manipulation. In Proceedings of the IEEE In-ternational Conference on Robotics and Automation, pages 1025–1030,Atlanta, USA, October 1993.

Luis Sentis is Assistant Professor in the Depart-ment of Mechanical Engineering at the Universityof Texas at Austin. He received his Ph.D. in 2007from Stanford University and his B.S. from thePolythechnic University of Catalonia, Spain in 1996.He worked as a Control and Research Engineerin Silicon Valley between 1996 and 1998. His re-search is focused on modeling multi-contact com-pliant behaviors for whole-body manipulation andlocomotion. At the University of Texas at Austin, heis starting new research in biomechatronics design,models and controllers for compliant grasping, and

virtual reality social environments. He is co-designer of the Whole-BodyControl Framework, an open-source embedded controller built for WillowGarage Inc’s ROS Operating System.

Jaeheung Park received the B.S. and M.S. degreesin Aerospace Engineering from Seoul National Uni-versity, Korea, in 1995 and 1999, respectively, andthe Ph.D. degree in Aeronautics and Astronauticsfrom Stanford University, U.S. in 2006. From 2006to 2009, He was a Post-doctoral researcher andlater a Research Associate at Stanford ArtificialIntelligence Laboratory. From 2007 to 2008, heworked part-time at Hansen Medical Inc., a medicalrobotics company in U.S. Since 2009, he has beenan assistant professor in the department of IntelligentConvergence Systems at Seoul National University,

Korea. His research interests lie in the areas of robot-environment interaction,contact force control, robust haptic teleoperation, multicontact control, whole-body dynamic control, biomechanics, and medical robotics

Oussama Khatib is Professor of Computer Scienceat Stanford University. He received his Ph.D. in1980 from Sup’Aero, Toulouse, France. His currentresearch is in human-centered robotics, haptic inter-actions, and human-friendly robot design. ProfessorKhatib was the Program Chair of ICRA2000 (SanFrancisco) and Co-Editor of The Robotics Review(MIT Press). He is the President of the InternationalFoundation of Robotics Research, IFRR, Co-Editorof STAR, Springer Tracts in Advanced Robotics,and the Springer Handbook of Robotics. ProfessorKhatib is an IEEE Fellow who served as a Distin-

guished Lecturer of IEEE, and is a recipient of the JARA Award.