Analysis and Control of Multi-Robot Systems Elements of - - PowerPoint PPT Presentation

analysis and control of multi robot systems elements of
SMART_READER_LITE
LIVE PREVIEW

Analysis and Control of Multi-Robot Systems Elements of - - PowerPoint PPT Presentation

Elective in Robotics 2014/2015 Analysis and Control of Multi-Robot Systems Elements of Port-Hamiltonian Modeling Dr. Paolo Robuffo Giordano CNRS, Irisa/Inria ! Rennes, France Introduction to Port-Hamiltonian Systems Port-Hamiltonian


slide-1
SLIDE 1

Elective in Robotics 2014/2015

Analysis and Control

  • f Multi-Robot Systems

Elements of Port-Hamiltonian Modeling

  • Dr. Paolo Robuffo Giordano

CNRS, Irisa/Inria! Rennes, France

slide-2
SLIDE 2
  • Port-Hamiltonian Systems (PHS): strong link with passivity
  • Passivity:
  • I/O characterization
  • “Constraint” on the I/O energy flow
  • Many desirable properties
  • Stability of free-evolution
  • Stability of zero-dynamics
  • Easy stabilization with static output-feedback
  • Modularity: passivity is preserved under proper compositions
  • However, no insights on the structure of a passive system
  • PHS: focus on the structure behind passive systems

Introduction to Port-Hamiltonian Systems

2

Σ

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-3
SLIDE 3
  • Review of the mass-spring-damper example
  • This system was shown to be passive w.r.t. the pair

with , , and as storage function the total energy (kinetic + potential)

  • Indeed, it is
  • But why is it passive? We must investigate its internal structure...

Mass-spring-damper vs. PHS

4

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-4
SLIDE 4
  • The spring-mass system is made of 2 components (2 states)
  • Assume for now no damping
  • Mass = kinetic energy
  • Spring = elastic energy
  • Let us consider the 2 components separately
  • Note that these (elementary) systems are the “integrators with nonlinear outputs”

we have seen before

  • We know they are passive w.r.t. and , respectively

Mass-spring-damper vs. PHS

5

Linear momentum Kinetic energy storing Potential energy storing

V :    ˙ x = vx fx = ∂V ∂x = kx

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-5
SLIDE 5
  • Let us interconnect them in “feedback”
  • The resulting system can be written as

(■) where is the total energy (Hamiltonian)

  • Prove that (■) is equivalent to

Mass-spring-damper vs. PHS

6

Kinetic energy storing Potential energy storing

V :    ˙ x = vx fx = ∂V ∂x = kx

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-6
SLIDE 6
  • How does the energy balance look like?
  • We find again the passivity condition w.r.t. the pair
  • The subsystems and exchange energy

in a power-preserving way – no energy is created/destroyed

  • The subsystem exchanges energy with the “external world” through the pair
  • Total energy can vary only because of the power flowing through

Mass-spring-damper vs. PHS

7

Skew-symmetric

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-7
SLIDE 7
  • What if a damping term is present in the system?
  • By interconnecting and as before (feedback interconnection), we get

(■)

  • Prove that (■) is equivalent to
  • The energy balance now reads

Mass-spring-damper vs. PHS

8

Skew-symmetric Positive semi-def.

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-8
SLIDE 8
  • Again the passivity condition w.r.t. the pair
  • Total energy can now
  • vary only because of the power flowing through
  • decrease because of internal dissipation
  • But still, power-preserving exchange of energy between and

Mass-spring-damper vs. PHS

9

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-9
SLIDE 9
  • Summarizing, this particular passive system is made of:
  • Two atomic energy storing elements and
  • A power-preserving interconnection among and
  • An energy dissipation element
  • A pair to exchange energy with the “external world”
  • Why passivity of the complete system?
  • and are passive (and “irreducible”)
  • Their power-preserving interconnection is a feedback interconnection (thus,

preserves passivity)

  • The element dissipates energy
  • Therefore, any increase of the total energy is due to the power flowing

through . For this reason, this pair is also called power-port

  • How general are these results?

Mass-spring-damper vs. PHS

10

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-10
SLIDE 10
  • In the linear time-invariant case (■)

passivity implies existence of a storage function such that and

  • If (always true if )

then (■) can be rewritten as and energy balance

  • is called the Hamiltonian function

Introduction to Port-Hamiltonian Systems

11

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-11
SLIDE 11
  • Similarly, most nonlinear passive system can be rewritten as

with being the Hamiltonian function (storage function) and showing the passivity condition

  • Roles:

represents the energy stored by the system represents the internal dissipation in the system represents an internal power-preserving interconnection among different components represents a “power-port”, allowing energy exchange (in/out) with the external world

Introduction to Port-Hamiltonian Systems

12

˙ H = −∂HT ∂x R(x)∂H ∂x + ∂HT ∂x g(x)u ≤ yT u

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-12
SLIDE 12
  • In the mass-spring-damper case, the generic Port-Hamiltonian formulation

specializes into , ,

Introduction to Port-Hamiltonian Systems

13

J(x) =  0 1 −1

  • g(x) =

0 1

  • R(x) =

0 b

  • Robuffo Giordano P

., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-13
SLIDE 13
  • In the (more abstract) example we have seen during the Passivity lectures, we

showed that is a passive system with passive output and Storage function

  • Can it be recast in PHS form with being the Hamiltonian?
  • Yes:

Introduction to Port-Hamiltonian Systems

14

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

y = x2 H(x) = V (x) 8 > > < > > :  ˙ x1 ˙ x2

  • =

 0 1 −1 ∂H ∂x + 0 1

  • u

y = ⇥0 1⇤ ∂H ∂x V (x) = 1 4x4

1 + 1

2x2

2 ≥ 0

slide-14
SLIDE 14
  • What is then Port-Hamiltonian modeling?
  • It is a cross-domain energy-based modeling philosophy, generalizing Bond Graphs
  • Historically, network modeling of lumped-parameter physical systems (e.g.,

circuit theory)

  • Main insights: all the physical domains deal, in a way or

another, with the concept of Energy storage and Energy flows

  • Electrical
  • Hydraulical
  • Mechanical
  • Thermodynamical
  • Dynamical behavior comes from the exchange of energy
  • The “energy paths” (power flows) define the internal model structure

Introduction to Port-Hamiltonian Systems

15

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-15
SLIDE 15
  • Port-Hamiltonian modeling
  • Most (passive) physical systems can be modeled as a set of simpler subsystems

(modularity!) that either:

  • Store energy
  • Dissipate energy
  • Exchange energy (internally or with the external world) through power ports
  • Role of energy and the interconnections between subsystems provide the basis for

various control techniques

  • Easily address complex nonlinear systems, especially when related to real “physical”
  • nes

Introduction to Port-Hamiltonian Systems

16

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-16
SLIDE 16
  • Port-Hamiltonian systems can be formally defined in an abstract way
  • Everything revolves about the concepts of
  • Power ports (medium to exchange energy)
  • Dirac structures (“pattern” of energy flow)
  • Hamiltonian (storage of energy)
  • We will now give a (very brief and informal) introduction of these concepts
  • Big guys in the field:
  • Arjan van der Schaft
  • Romeo Ortega
  • Bernard Maschke
  • Mark W. Spong
  • Stefano Stramigioli
  • Alessandro Astolfi
  • and many more (maybe one of you in the future?)

Introduction to Port-Hamiltonian Systems

17

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-17
SLIDE 17
  • A power port is a pair of variables called “effort” and “flow” that mediates a

power exchange (energy flow) among 2 physical components

Introduction to Port-Hamiltonian Systems

18

Physical domain

Flow Effort

electric Current Voltage magnetic Voltage Current Potential (mechanics) Velocity Force Kinetic (mechanics) Force Velocity Potential (hydraulic) Volume flow Pressure Kinetic (hydraulics) pressure Volume flow chemical Molar flow Chemical potential thermal Entropy flow temperature

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-18
SLIDE 18
  • A generic port-Hamiltonian model is then
  • A set of energy storage elements (with their power ports )
  • A set of resistive elements (with their power ports )
  • A set of open power-ports (with their power ports )
  • An internal power-preserving interconnetion , called Dirac structure
  • An explicit example of a “Dirac structure” is the power-preserving interconnection

represented by the skew-symmetric matrix

Introduction to Port-Hamiltonian Systems

19

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-19
SLIDE 19
  • Any mechanical system (also constrained) described by the Euler-Lagrange equations

can be recast in a Port-Hamiltonian form

  • Start with a set of generalized coordinates
  • Define the Lagrangian with

being the kinetic energy, the potential energy, and the positive definite Inertia matrix

  • Apply a change of coordinates where are usually called

“generalized momenta”

  • The kinetic energy in the new coordinates is

General Mechanical System

20

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-20
SLIDE 20
  • Define the Hamiltonian (total energy) of the system as
  • The Euler-Lagrange equations for the system are

(■)

  • Since we can rewrite (■) as

General Mechanical System

21

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-21
SLIDE 21
  • It follows that
  • If (i.e., ) is bounded from below, the system is passive w.r.t. the

power port

  • Similarly, a mechanical system with collocated inputs and outputs (also

underactuated) is generally described by

  • Again, passivity w.r.t.

General Mechanical System

22

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-22
SLIDE 22
  • As one can expect, the “proper” interconnection of a number of Port-Hamiltonian

Systems through a Dirac structure is again a Port-Hamiltonian System with

  • Hamiltonian
  • State manifold
  • Dirac structure
  • This allows for modularity and scalability

Modularity

23

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-23
SLIDE 23
  • Example: given two Port-Hamiltonian System
  • Define an interconnecting Dirac structure as (for example)
  • The composed system is again Port-Hamiltonian

with Hamiltonian function

Modularity

24

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-24
SLIDE 24
  • Much more could be said on Port-Hamiltonian System….
  • Can model distributed parameters physical systems (wherever energy plays a role)
  • Transmission line
  • Flexible beams
  • Wave equations
  • Gas/fluid dynamics
  • Are modular (re-usability)
  • Network structure (…. -> multi-agent)
  • Are flexible
  • State-dependent (time-varying) interconnection structure

Further generalizations

25

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-25
SLIDE 25
  • PHS are a powerful way to model a very large class of physical systems
  • For instance, every physical system admitting an Energy concept (the whole

physics?)

  • In PHS, the emphasis in on the internal structure of a system. A PHS system is a

network of

  • Power ports: medium to exchange energy
  • Elementary/irreducible energy storing elements endowed with their power ports
  • Dissipating elements endowed with their power ports
  • “External world” power ports for external interaction
  • A power-preserving interconnection structure (Dirac structure) among the

internal power ports

  • The total energy of a PHS is called Hamiltonian. If the Hamiltonian is bounded from

below, a PHS is passive w.r.t. its external ports

  • Proper compositions of PHS are PHS

Summary

26

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-26
SLIDE 26
  • How to control a Port-Hamiltonian System?
  • A PHS is still a dynamical system in the general form

hence, one could use any of the available (nonlinear) control techniques

  • However, in closed-loop, we want to retain and to exploit the PHS structure
  • PHS plant and controller
  • Power-preserving interconnection among them

Control of PHS

27

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-27
SLIDE 27
  • The general idea is: assume a plant and controller in PHS form, and interconnected

through a suitable where we split the plant port into and , and use for the interconnection with the controller port

  • In general, one can imagine two distinct control goals
  • Regulation to or tracking of for the plant state variables
  • Desired (closed-loop) behavior of the plant at the interaction port
  • The latter is for instance the case of Impedance Control for robot manipulators

Control of PHS

28

Controller Plant

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-28
SLIDE 28
  • Consider two PHS
  • And assume we want to transfer some amount of energy among them by keeping the

total energy constant

  • This can be done by interconnecting the two PHS as
  • Note that this is an example of a state-modulated power preserving interconnection

Energy Transfer Control

29

Skew-symmetric

J(x) =  −αy1(x1)yT

2 (x2)

αy2(x2)yT

1 (x1)

  • u1

u2

  • =

 −αy1(x1)yT

2 (x2)

αy2(x2)yT

1 (x1)

 y1 y2

  • ,

α ∈ R

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-29
SLIDE 29
  • Since the interconnection is power-preserving, it follows that the total Hamiltonian

stays constant, i.e.,

  • However, what happens to the individual energies?
  • Exercise: show that ,
  • Thus, depending on the parameter , energy is extracted/injected from system 1 to

system 2 (no energy transfer with )

  • If is lower-bounded, a finite amount of energy will be transferred to system
  • 2. Indeed, at the minimum, and
  • The same of course holds for
  • We will use these ideas in some of the following developments

Energy Transfer Control

30

y1 = 0 = ⇒ ˙ H1 = 0

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

H(x1, x2) = H(x1) + H(x2)

slide-30
SLIDE 30
  • Let us examine a concrete example of the Energy Transfer Control technique
  • To this end, we introduce the concept of “Energy Tank”
  • Assume the usual PHS
  • We know it is passive w.r.t. since

Energy Tanks

31

(u, y)

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

˙ H = −∂HT ∂x R(x)∂H ∂x + ∂HT ∂x g(x)u ≤ yT u

slide-31
SLIDE 31
  • In its integral form, the passivity condition reads
  • Let and
  • Over time,

Energy Tanks

32

20 40 60 80 100 120 −800 −600 −400 −200 200 400 600 800

time [s] H [J], Eext [J]

Ein(t) = H(t) − H(t0) Ein(t) ≤ Eext(t) Eext(t) = Z t

t0

yT u dτ

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

H(t) − H(t0) = Z t

t0

yT u dτ − Z t

t0

∂HT ∂x R(x)∂H ∂x dτ | {z }

≤0

slide-32
SLIDE 32
  • Why this gap over time

between and ?

  • Because of the integral of the dissipation

term

  • However, we would be happy (from the passivity point of view) by just ensuring a

lossless energy balance

Energy Tanks

33

20 40 60 80 100 120 −800 −600 −400 −200 200 400 600 800

time [s] H [J], Eext [J]

H(t) − H(t0) = Z t

t0

yT u dt Ein(t) = Eext(t)

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

H(t) − H(t0) = Z t

t0

yT u dτ − Z t

t0

∂HT ∂x R(x)∂H ∂x dτ | {z }

≤0

slide-33
SLIDE 33
  • Dissipation term: passivity margin of the system
  • Imagine we could recover this “passivity gap”
  • This recovered energy can be freely used for

whatever goal without violating the passivity constraint

  • This idea is at the basis of the Energy Tank machinery
  • Energy Tank: an atomic energy storing element with state and energy

function

Energy Tanks

34

20 40 60 80 100 120 −800 −600 −400 −200 200 400 600 800

time [s] H [J], Eext [J]

T(xt) = 1 2x2

t ≥ 0

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-34
SLIDE 34
  • We want to exploit the tank for:
  • storing back the natural dissipation of a PHS
  • allowing to use the stored energy for implementing some action on the PHS
  • this tank-based action will necessarily meet the passivity constraint
  • How to achieve these goals? Let us consider again the PHS and Tank Energy element
  • Let represent the (scalar) dissipation rate of the PHS
  • We start by choosing in the Tank dynamics

Energy Tanks

ut = 1 xt D(x) + ˜ ut

35

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

D(x) = ∂HT ∂x R(x)∂H ∂x

slide-35
SLIDE 35
  • The choice allows to store back the dissipated energy
  • In fact,
  • In order to exploit this stored energy to implement an action on the PHS system, we

must design a suitable (power-preserving) interconnection among the PHS and Tank element

  • We will make use of the ideas seen in the Energy Transfer Control technique!
  • Implement the desired action as a “lossless energy transfer” between Tank and PHS
  • This action will always preserve passivity by construction

Energy Tanks

36

ut = 1 xt D(x) + ˜ ut ˙ T(xt) = xt ✓ 1 xt D(x) + ˜ ut ◆ = D(x) + xt˜ ut

   ˙ xt = 1 xt D(x) + ˜ ut yt = xt

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-36
SLIDE 36
  • Assume we want to implement the action on the PHS ( )
  • We then interconnect the PHS and the Tank element by means of this state-

modulated power-preserving interconnection

  • Since this coupling is skew-symmetric, no energy is created/lost during the transfer

Energy Tanks

37

w ∈ Rm m = dim(u)    ˙ xt = 1 xt D(x) + ˜ ut yt = xt

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-37
SLIDE 37
  • After this coupling the individual dynamics become

and

  • And altogether, a new PHS with Hamiltonian

Energy Tanks

38

˙ x = [J(x) − R(x)]∂H ∂x + g(x) ✓ w xt yt ◆ = [J(x) − R(x)]∂H ∂x + g(x)w ˙ xt = 1 xt D(x) − wT xt y = 1 xt D(x) − wT xt gT (x)∂H ∂x

Skew-symmetric

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

 ˙ x ˙ xt

  • =

B @ 2 6 4 J(x) w xt −wT xt 3 7 5 − 2 6 4 R(x) − 1 xt ∂HT ∂x R(x) 3 7 5 1 C A 2 6 6 4 ∂H ∂x ∂H ∂xt 3 7 7 5

slide-38
SLIDE 38
  • Fact 1: action is correctly implemented on the original PHS
  • Fact 2: the composite PHS is (altogether) a passive (lossless) system whatever the

expression of

  • Proof: evaluating along the system trajectories, we obtain a lossless energy

balance

Energy Tanks

39

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

 ˙ x ˙ xt

  • =

B @ 2 6 4 J(x) w xt −wT xt 3 7 5 − 2 6 4 R(x) − 1 xt ∂HT ∂x R(x) 3 7 5 1 C A 2 6 6 4 ∂H ∂x ∂H ∂xt 3 7 7 5

˙ H = −∂HT ∂x R(x)∂H ∂x + ∂HT ∂xt 1 xt ∂H ∂x R(x)∂H ∂x = 0

slide-39
SLIDE 39
  • Fact 3: the machinery proposed so far becomes singular when
  • What does the condition represent?
  • From the definition of the Tank energy function we have that

the Tank energy is depleted

  • Therefore, this singularity represents the impossibility of passively perform the

desired action

  • One can always imagine some (safety) switching parameter such that

and implement instead of (i.e., implement only if you can in a “passive way”). If cannot implement , wait for better times (the Tank gets replenished)

Energy Tanks

40

T(xt) = 1 2x2

t ≥ 0

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

slide-40
SLIDE 40
  • Note that the Tank dynamics is made of two terms
  • The first term is always non-negative, and represents the “refilling” action due to

the dissipation present in the PHS plant

  • The second term can have any sign, also negative. It is then possible for the action

to actually refill the tank!

  • Finally, note that no condition is present on ! This can be chosen as any
  • In other words, complete freedom in choosing the initial amount of energy in the

tank

  • In fact, passivity ultimately is: bounded amount of extractable energy, but for

whatever initial energy in the system (only needs to be finite)

Energy Tanks

41

Robuffo Giordano P ., Multi-Robot Systems: Port-Hamiltonian Modeling

˙ xt = 1 xt D(x) − wT xt gT (x)∂H ∂x w xt(t0) xt(t0) > 0

T(xt(t0))