Port-based Modeling and Control for Efficient Bipedal ... · Port-based Modeling and Control for...

Preview:

Citation preview

Outline Introduction Modeling Control Conclusions

Port-based Modeling and Control forEfficient Bipedal Walking Machines

Vincent Duindamvincentd@eecs.berkeley.edu

Control Laboratory, EE-Math-CSUniversity of Twente, Netherlands

Joint work with Stefano Stramigioli, Arjan van der SchaftGijs van Oort, Edwin Dertien, Martijn Visser, Frank Groen

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 1

Outline Introduction Modeling Control Conclusions

IntroductionTwente University and GeoplexEfficient walking robots

Models of Mechanisms in ContactMechanism dynamicsCompliant and rigid contact

Efficient Model-Based Control of Walking RobotsControl by mechanical optimizationZero-Energy Control of Walking RobotsDribbel – Experimental walking robot

Conclusions

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 2

Outline Introduction Modeling Control Conclusions

Introduction

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 3

Outline Introduction Modeling Control Conclusions

University of Twente (UT)

Founded in 1961Only Dutch university with a real campusTypical engineering depts, but also biomedical technology,environmental sciences, educational policy

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 4

Outline Introduction Modeling Control Conclusions

Control Engineering @ UT

UT → Dept. EE-Math-CS → Control Engineering

6 scientific staff, 10 PhD students

Focus on mechatronics, robotics, and embedded systems

Favorite sport: ‘klootschieten’

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 5

Outline Introduction Modeling Control Conclusions

Geoplex

Geometric Network Modeling and Control of Complex PhysicalSystems (www.geoplex.cc)

European FP5 project, 2002 – 2006

Consortium: 9 universities + 1 company

Goal: use port-Hamiltonian systems theory to solvemodeling and control problems across different domains

My research: apply Geoplex philosophy to walking robots

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 6

Outline Introduction Modeling Control Conclusions

Port-Hamiltonian Systems

Developed by A.J. van der Schaft and B.M. Maschke (1992)Idea: study energy flow instead of information (signal) flow

b

k

m b

k

1m

∫∫

--

Collocated power variables effort (force) and flow (velocity)

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 7

Outline Introduction Modeling Control Conclusions

Port-Hamiltonian Systems

Developed by A.J. van der Schaft and B.M. Maschke (1992)Idea: study energy flow instead of information (signal) flow

b

k

1m

∫ --

Collocated power variables effort (force) and flow (velocity)

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 7

Outline Introduction Modeling Control Conclusions

Port-Hamiltonian Systems

Developed by A.J. van der Schaft and B.M. Maschke (1992)Idea: study energy flow instead of information (signal) flow

b

k

1m

power

power

power

--

Collocated power variables effort (force) and flow (velocity)

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 7

Outline Introduction Modeling Control Conclusions

Port-Hamiltonian Systems

Graphical language: bond graphs

Mathematical language: structured differential equations

ddt

x = (J(x) − R(x))∂H∂x

+ G(x)u

y = GT (x)∂H∂x

with J(x) skew-symm, R(x) pos-def, H(x) energy function

ddt

H = yT u −∂T H∂x

R∂H∂x

≤ yT u

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 8

Outline Introduction Modeling Control Conclusions

Walking Robots

Active static walking: versatile,robust, use traditional controlmethods, but not very efficient

Passive dynamic walking:efficient, natural, but gener-ally not robust or versatile

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 9

Outline Introduction Modeling Control Conclusions

Passive Dynamic Walking

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 10

Outline Introduction Modeling Control Conclusions

Goal: explain and extend passive walkers

Modeling goals:

Build physical models of walking robots usingport-Hamiltonian techniques

Analyze models and explain walking behavior

Control goals:

Use natural passive motions as much as possible

Use adaptive passive elements to change natural motions

Augment passive walking with active control if needed

In this way, combine efficiency, versatility, and robustness.

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 11

Outline Introduction Modeling Control Conclusions

Models of Mechanisms in Contact

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 12

Outline Introduction Modeling Control Conclusions

Model setup

Build up models as power-port interconnection of subsystemsMechanism + ground contact + actuation + other partsContinuous-time model with switching and state jumpsImplemented in project software 20sim (www.20sim.com)

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 13

Outline Introduction Modeling Control Conclusions

Dynamics of general rigid mechanisms

Standard result for dynamics of rigid mechanisms

M(q)q + C(q, q)q + G(q) = τ

with coordinates q(t) and velocities q(t) as dynamic states.

Allows only joint spaces isomorphic to Rn → singularities

Not suitable for more general joints, e.g. ball joints withconfiguration R(t) ∈ SO(3) and velocity ω(t) ∈ R3

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 14

Outline Introduction Modeling Control Conclusions

Dynamics of general rigid mechanisms

Proposed solution:1 Parameterize joints with local and global coordinates2 Write down Boltzmann-Hamel equations in local

coordinates, parameterized by global coordinates3 Evaluate results at origin of local coordinates4 Result: similar equations with extra coupling on joint-level

p1

p2

u1

v1

u2

v2

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 15

Outline Introduction Modeling Control Conclusions

Dynamics of general rigid mechanisms

Generalized dynamics equations

Works for all Lie groups (take exponential coordinates aslocal coordinates)

Can be directly extended to nonholonomic constraints(e.g. rolling-but-no-slipping)

Has been implemented into 20sim 3d mechanics toolbox

Paper still to be written, so comments are very welcome!

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 16

Outline Introduction Modeling Control Conclusions

Contact modeling

Contact models consist of two parts

Kinematics: what are the closest points between bodies?Dynamics: what forces are involved, how do bodies react?

Compliant: finite compression and contact forcesRigid: limit-case compression and contact forces

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 17

Outline Introduction Modeling Control Conclusions

Contact kinematics

Extension and ‘geometrification’ of David Montana’s equations

αf = M−1f

(

Kf + Ko)−1

([

−ωy

ωx

]

− Ko

[

vx

vy

])

αo = M−1o Rψ

(

Kf + Ko)−1

([

−ωy

ωx

]

+ Kf

[

vx

vy

])

ψ = ωz + Tf Mf αf + ToMoαo

0 = vz

Limitations with this formulationOnly suitable when bodies are in contactNot symmetric in two bodiesDepends heavily on surface parameterization

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 18

Outline Introduction Modeling Control Conclusions

Contact kinematics

f

f−1 g

D ⊂ R2

S ⊂ E3 S2 ⊂ E3

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 19

Outline Introduction Modeling Control Conclusions

Contact kinematics

p1p2

Ψ1Ψ2 ∆

Basic observationsContact points are separated by line along normal vectors

p1 + ∆g1 = H12 p2

Normal vectors are equal in direction but opposite

g1 = −H12 g2

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 20

Outline Introduction Modeling Control Conclusions

Contact kinematics

p1 + ∆g1 = H12 p2

g1 = −H12 g2

Time-differentiation and merging gives contact kinematics(

g1∗ + H12 g2∗H

21 (I + ∆g1∗)

)

p1 = T 1,12 g1 + H1

2 g2∗

(

∆g2 − T 2,21 p2

)

(

g2∗ + H21 g1∗H

12 (I + ∆g2∗)

)

p2 = T 2,21 g2 + H2

1 g1∗

(

∆g1 − T 1,12 p1

)

Geometric equations, add surface coordinates separately

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 21

Outline Introduction Modeling Control Conclusions

Compliant contact dynamics

First model of contact dynamics:

Assumption: forces generated by spring and damperImplementation:

Upon impact, connect spring/damper at contact pointsDuring contact, keep connected between these fixed pointsRelease contact when distance ∆ > 0

Model only realistic for small deformations (reasonable formost walking robots)

Simple submodel, can be used at different locations

Stiff, fast contact → Stiff differential equations

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 22

Outline Introduction Modeling Control Conclusions

Compliant contact dynamics

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 23

Outline Introduction Modeling Control Conclusions

Rigid contact dynamics

Simpler rigid dynamics through limiting operationAssumptions: impact and deformation phaseinstantaneous, no slipping, impulsive contact forcesImpact = discontinuity in velocity/momentum on impactFor walking robots, results mostly in instantaneous releaseof rear leg on impact of front legInteresting detail: release of contact not determined byforce direction but by acceleration direction

f1

f2 u

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 24

Outline Introduction Modeling Control Conclusions

Efficient Model-Based Control ofWalking Robots

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 25

Outline Introduction Modeling Control Conclusions

Finding natural walking gaits

How to find the most efficient walking gait?

Purely passive: Search space of initial conditions that givestable cycle (Poincare mappings)

Efficient (almost-passive): Search space of all trajectories?

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 26

Outline Introduction Modeling Control Conclusions

Finding natural walking gaits

Make problem solvable by polynomial approximation

Parameterize joint trajectories over one step as

q(t) = α0 + α1t + α2t2 + . . . + αntn

Force cyclic behavior by matching initial to final conditions.

Minimize torque requirements

minα,T

∫ T

0‖τ(t)‖2 dt

with τ expressed in terms of α using model equations.

Does not say anything about gait stability.

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 27

Outline Introduction Modeling Control Conclusions

Finding natural walking gaits

Gait search as minimization problemRecovers passive gait if availableOtherwise, gives ‘most efficient’ gaitCan be extended with other parameters, e.g. formechanical structure.

xs

xs

xm

xm

k0

m0

m0

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 28

Outline Introduction Modeling Control Conclusions

Constructing natural walking gaits

Optimization of mechanical structure for variable speed walkingExample: compass-gait walker with inter-leg spring andvariable mass distribution

0.6 0.8 1.0 1.2

10

1

0.1

0.01

0.001

v (m/s)

J

0.6 0.8 1.0 1.2

3.0

2.0

1.0

0.0

4

0

8

12

16

v (m/s)

m

k

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 29

Outline Introduction Modeling Control Conclusions

Constructing natural walking gaits

Optimization of mechanical structure for variable speed walkingExample: compass-gait walker with inter-leg spring andvariable mass distribution

0.6 0.8 1.0 1.2

10

1

0.1

0.01

0.001

v (m/s)

J

0.6 0.8 1.0 1.2

3.0

2.0

1.0

0.0

4

0

8

12

16

v (m/s)

m

k

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 29

Outline Introduction Modeling Control Conclusions

Power-continuous tracking

Given efficient trajectory, how to follow it?Time-synchronization not important, onlyjoint-synchronizationAssume full actuation → n degrees of freedom1 degree of freedom for energy/speed control(e.g. potential-energy shaping)n − 1 degrees of freedom for curve-tracking(zero-energy, or, power-continuous control)

Related workP.Y. Li and R. Horowitz (1995–2001)PVFC: Passive Velocity-Field Control

q1(t)

q2(t)

q3(t)

t

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 30

Outline Introduction Modeling Control Conclusions

Power-continuous tracking

Given efficient trajectory, how to follow it?Time-synchronization not important, onlyjoint-synchronizationAssume full actuation → n degrees of freedom1 degree of freedom for energy/speed control(e.g. potential-energy shaping)n − 1 degrees of freedom for curve-tracking(zero-energy, or, power-continuous control)

Related workP.Y. Li and R. Horowitz (1995–2001)PVFC: Passive Velocity-Field Control

q1(t)

q2(t)

q3(t) q1

q2

q3

t

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 30

Outline Introduction Modeling Control Conclusions

Power-continuous tracking

Given efficient trajectory, how to follow it?

Time-synchronization not important, onlyjoint-synchronization

Assume full actuation → n degrees of freedom

1 degree of freedom for energy/speed control(e.g. potential-energy shaping)

n − 1 degrees of freedom for curve-tracking(zero-energy, or, power-continuous control)

Related work

P.Y. Li and R. Horowitz (1995–2001)PVFC: Passive Velocity-Field Control

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 30

Outline Introduction Modeling Control Conclusions

Step 1: encode desired behavior

q(t)

qd (t)

q(t)

curve

Encode the desired behavior1 Extend desired curve to vector field2 Split kinetic energy in M(q)-orthogonal

good and bad directions3 Transform into good/bad coordinates

Result: kinetic energy is sum of two parts, onedescribing desired behavior, the other describingundesired behavior.

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 31

Outline Introduction Modeling Control Conclusions

Step 1: encode desired behavior

q(t)

q(t)

curve

Encode the desired behavior1 Extend desired curve to vector field2 Split kinetic energy in M(q)-orthogonal

good and bad directions3 Transform into good/bad coordinates

Result: kinetic energy is sum of two parts, onedescribing desired behavior, the other describingundesired behavior.

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 31

Outline Introduction Modeling Control Conclusions

Step 1: encode desired behavior

q(t)

q(t)

wcurve

Encode the desired behavior1 Extend desired curve to vector field2 Split kinetic energy in M(q)-orthogonal

good and bad directions3 Transform into good/bad coordinates

Result: kinetic energy is sum of two parts, onedescribing desired behavior, the other describingundesired behavior.

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 31

Outline Introduction Modeling Control Conclusions

Step 1: encode desired behavior

q(t)

q(t)

wcurve

Encode the desired behavior1 Extend desired curve to vector field2 Split kinetic energy in M(q)-orthogonal

good and bad directions3 Transform into good/bad coordinates

Result: kinetic energy is sum of two parts, onedescribing desired behavior, the other describingundesired behavior.

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 31

Outline Introduction Modeling Control Conclusions

Step 1: encode desired behavior

Example (2d point mass in a circular field)

Point mass dynamics

ddt

q1

q2

p1

p2

=

0 0 1 00 0 0 1−1 0 0 00 −1 0 0

00p1mp2m

+

0 00 01 00 1

[

u1

u2

]

Representation of desired vector field

w(q) =

[

−q2

q1

]

−2 -1.5 -1 -0.5 0 0.5 1 1.5 2

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

q1

q2p/m

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 32

Outline Introduction Modeling Control Conclusions

Step 1: encode desired behavior

Example (2d point mass in a circular field)

Coordinate transformation (only for momentum)[

p1

p2

]

=1|q|

[

−q2 q1

q1 q2

] [

α1

α2

]

Dynamics equations in transformed coordinates

ddt

q1

q2

α1

α2

=

0 0 − q2|q|

q1|q|

0 0 q1|q|

q2|q|

q2|q| − q1

|q| 0 − α1|q|

− q1|q| − q2

|q|α1|q| 0

00α1mα2m

+

0 00 0

− q2|q|

q1|q|

q1|q|

q2|q|

[

u1

u2

]

and the energy equals H(q, α) = H(α) = 12m α2

1 + 12m α2

2.

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 33

Outline Introduction Modeling Control Conclusions

Step 1: encode desired behavior

Example (2d point mass in a circular field)

input G J

desired energy

undesired energy

12m α2

2

12m α2

1

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 34

Outline Introduction Modeling Control Conclusions

Step 2: design controller

Step 2: derive the controller almost trivially1 Keep energy in separate bins2 Create uni-directional flow from bad to good3 Take care of the potential energy4 Design 1D speed/energy controller

power- continuousinterconnection

desired(good)energy

undesired(bad)

energy

u

y

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 35

Outline Introduction Modeling Control Conclusions

Step 2: design controller

Step 2: derive the controller almost trivially1 Keep energy in separate bins2 Create uni-directional flow from bad to good3 Take care of the potential energy4 Design 1D speed/energy controller

power- continuousinterconnection

desired(good)energy

undesired(bad)

energy

decouplingcontroller

u

y

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 35

Outline Introduction Modeling Control Conclusions

Step 2: design controller

Step 2: derive the controller almost trivially1 Keep energy in separate bins2 Create uni-directional flow from bad to good3 Take care of the potential energy4 Design 1D speed/energy controller

desired(good)energy

undesired(bad)

energy

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 35

Outline Introduction Modeling Control Conclusions

Step 2: design controller

Step 2: derive the controller almost trivially1 Keep energy in separate bins2 Create uni-directional flow from bad to good3 Take care of the potential energy4 Design 1D speed/energy controller

desired(good)energy

undesired(bad)

energy

asympt.controller

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 35

Outline Introduction Modeling Control Conclusions

Step 2: design controller

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 36

Outline Introduction Modeling Control Conclusions

Dribbel – experimental walking robotFeatures

First walking robot at the University of Twente

Planar six link mechanism

One actuator in hip joint

Electro-magnetic knee lock

Design and controller fully tested insimulation, setup worked on first try

Very simple control algorithm

Low energy consumption (6 W)

Starting point and testbed for newresearch projects

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 37

Outline Introduction Modeling Control Conclusions

Dribbel – experimental walking robot

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 38

Outline Introduction Modeling Control Conclusions

Dribbel – experimental walking robot

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 39

Outline Introduction Modeling Control Conclusions

Conclusions

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 40

Outline Introduction Modeling Control Conclusions

Conclusions

Physical models can help in rigorous design and analysis ofwalking robots, to go beyond physical intuition

Benefit of port-based approach in mechanics usually a matterof taste, but sometimes gives just right level of abstraction

Theoretical results still need to be tested in experiments!

CHESS Seminar @ UC Berkeley — Oct 31 / Nov 7, 2006 41

Recommended