Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case:...

23
Robotics 2 Prof. Alessandro De Luca Adaptive Trajectory Control

Transcript of Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case:...

Page 1: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Robotics 2

Prof. Alessandro De Luca

Adaptive Trajectory Control

Page 2: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Motivation and approach

!  need of adaptation in robot motion control laws !  large uncertainty on the robot dynamic parameters !  poor knowledge of the inertial payload

!  characteristics of direct adaptive control !  the direct aim is zeroing asymptotically the trajectory error

(position and velocity) !  without necessarily identifying on line the true values of the

dynamic coefficients of the robot (as opposed to indirect adaptive control)

!  main tool and methodology !  linear parameterization of robot dynamics !  nonlinear control law of the dynamic type (the controller has

its own ‘states’)

Robotics 2 2

Page 3: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Summary of robot parameters

!  parameters assumed to be known !  kinematic description based, e.g., on Denavit-Hartenberg parameters

({!i, di, ai, i = 1,…,N} in the all revolute joints case), including link lengths (kinematic calibration)

!  uncertain parameters that can be identified off line !  masses mi, positions rci of CoMs, and inertia matrices Ii of each link,

appearing in combinations (dynamic coefficients) ⇒ 10 ! N !  parameters that are (slowly) varying during operation

!  viscous Fvi, dry Fsi, and stiction FDi friction at each joint ⇒ 1÷3 ! N !  unknown and abruptly changing parameters

!  mass, CoM, inertia matrix of the payload w.r.t. the tool center point

when a payload is firmly attached to the robot E-E, only the 10 parameters of the last link are modified, influencing however most part of the robot dynamics

Robotics 2 3

Page 4: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Goal of adaptive control

!  given a twice-differentiable desired joint trajectory qd(t) !  possibly obtained by kinematic inversion + joint interpolation !  with desired velocity qd(t) and acceleration qd(t) also known

!  execute this trajectory under large dynamic uncertainties !  with a trajectory tracking error vanishing asymptotically

!  guaranteeing global stability, no matter how far are the initial estimates of the unknown/uncertain parameters from their true values and how large is the initial trajectory error

!  parameter identification is not of particular concern !  if the desired trajectory is persistently exciting, one obtains also

parameter identification as a by-product !  indirect adaptive control schemes are more complex, but allow also

systematic convergence of dynamic coefficients to their true values

. ..

Robotics 2 4

Page 5: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Linear parameterization

!  there always exists a (p-dimensional) vector a of dynamic coefficients, allowing to write the robot model in the linear form

!  vector a contains only unknown or uncertain coefficients !  each component of a is in general a combination of the

robot physical parameters (not necessarily all of them) !  the model regression matrix Y depends: linearly on q,

quadratically on q, nonlinearly (trigonometrically) on q .

..

neglected in the following

Robotics 2 5

Page 6: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Trajectory controllers based on model estimates

!  inverse dynamics feedforward + PD (linear) control

!  (nonlinear) control based on feedback linearization

!  approximate estimates of dynamic coefficients may also lead to instability due to a partial and/or inappropriate cancelation of nonlinearities from the robot dynamics

!  making these schemes adaptive is possible but not trivial

Robotics 2 6

estimate

Page 7: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

A control law easily made ‘adaptive’ !  nonlinear trajectory tracking control (without cancelations)

having global asymptotic stabilization properties stabilizzazione

!  a natural adaptive version would require ... designing a suitable update law

(in continuous time) !  it can be shown that velocities could be “clamped” in this way to

the desired trajectory (eventually, with zero velocity error), but that a permanent residual position error may be left

!  idea: on-line modification of a reference velocity

typically (all matrices will be chosen diagonal) Robotics 2 7

Page 8: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Intuitive interpretation of qr !  elementary case

!  a mass ‘lagging behind’ its mobile reference on a linear rail

.

q qd(t) e

u

mobile reference

controlled mass

q .

qd . qr = qd + "e . .

s = qr - q > qd - q = e . . . . .

‘enhanced’ velocity error

u = KD s = KD (qr-q) = KD (qd+"e-q) = KDe + KD"e . . . . .

KP !  a mass ‘leading in front’ of its mobile reference

in a symmetric way, a ‘reduced’ velocity error will appear (s < e) .

Robotics 2 8

Page 9: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

!  substituting qr=qd+"e, qr=qd+"e in the previous nonlinear controller for trajectory tracking

!  update law for the estimates of the dynamic coefficients ( becomes the p-dimensional state of the dynamic controller)

dynamic parameterization of the control law using current estimates

(note here the 4 arguments in Y!)

PD stabilization (diagonal matrices, >0)

estimation gains (rate of variations of estimates)

(diagonal)

. . .. .. .

Adaptive control law design

Robotics 2 9

Page 10: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

The introduced adaptive controller makes the tracking error for the desired trajectory globally asymptotically stable

!  a Lyapunov candidate for the closed-loop system (robot + dynamic controller) is given by

‘modified’ velocity error constant matrix (to be specified later)

Asymptotic stability of trajectory error Theorem

Proof

error in parametric estimation

⇔ &

Robotics 2 10

Page 11: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

!  the time derivative of V is

since

Proof (cont)

!  the closed-loop dynamics is given by

subtracting the two sides from leads to

with

Robotics 2 11

Page 12: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

!  from the property of linearity in the dynamic coefficients, it follows

Proof (cont)

!  substituting in V, together with , and using the skew-symmetry of matrix we obtain

!  replacing and being diagonal

Robotics 2 12

Page 13: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

!  defining now (all matrices are diagonal!)

Proof (end)

leads to

and thus

... the thesis follows from Barbalat lemma + LaSalle theorem

the set of states of convergence has zero trajectory error and a constant value for , not necessarily the true one ( )

Robotics 2 13

Page 14: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Remarks !  if the desired trajectory qd(t) is persistently exciting, then also the

estimates converge to their true values

!  condition of persistent excitation

!  for linear systems: # of frequency components in the desired trajectory should be at least twice as large as # of unknown coefficients

!  for nonlinear systems: the condition can be checked only a posteriori (a certain motion integral should be permanently lower bounded)

!  in case of known absence of (viscous) friction (Fv ≡ 0), the same proof applies (a bit easier in the final part)

!  the adaptive controller does not require neither the inverse of the inertia matrix (true or estimated) nor the actual robot acceleration (only the desired acceleration)

!  the non-adaptive version (using accurate estimates) is a static controller based on the property of passivity of robots

Robotics 2 14

Page 15: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Case study: Single-link under gravity

model

linear parameterization

adaptive controller

Robotics 2 15

(with friction)

Page 16: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Simulation data

!  real dynamic coefficients

!  initial estimates

!  control parameters

!  test trajectories (starting with ) !  first

!  second

Robotics 2 16

(periodic) bang-bang acceleration profile with

same test trajectories used also for robust control

Page 17: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Results first trajectory

position and velocity errors control torque

note the nonlinear system dynamics (no sinusoidal regime at steady state!)

!

˙ e

e

Robotics 2 17

Page 18: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Results second trajectory

note the torque discontinuities (due to those of the desired acceleration)

Robotics 2 18

position and velocity errors control torque

!

˙ e

e

(periodic) bang-bang acceleration profile

Page 19: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Estimates of dynamic coefficients

second trajectory first trajectory

errors

only the estimate of the viscous friction coefficient converges

to the true value

all three estimates of dynamic coefficients converge

to their true values

!

I " ˆ I !

mgd "m ˆ g d

!

fv "ˆ f v

!

I " ˆ I

!

fv "ˆ f v

!

mgd "m ˆ g d

Robotics 2 19

Page 20: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

Homework: Comau Smart 6.10R robot

!  6R robot with spherical wrist and symmetric structure (no offsets)

!  freeze the last three joints in the shown configuration (3R robot)

!  assume that each link center of mass is on the kinematic axis of the link

!  assume a diagonal inertia matrix for each link

!  derive the dynamic model !  determine a linear parameterization

(viz., using the least # of coefficients) !  write explicitly the expression of an

adaptive trajectory tracking law !  simulate with initially wrong estimates

(what happens if they are instead correct?)

in the shown configuration

Robotics 2 20

arbitrary

Page 21: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

A special case: Adaptive regulation

!  adaptation in case qd is constant !  no special simplifications for the presented adaptive control

law (designed for the general tracking case…)

since qr = " (qd-q) and qr = -"q do not vanish! !  a different case would be the availability of an adaptive

version of the trajectory tracking controller

since, when qd collapses to a constant, only the adaptation of the gravity term would be left over (which is what one would naturally expect…)

. .. .

Robotics 2 21

Page 22: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

An efficient adaptive regulator

!  use a linear parameterization of the gravity term only

with a pg-dimensional vector ag

!  an adaptive regulator yielding global asymptotic stability of the equilibrium state (qd,0) is provided by

where e=qd-q, KP>0, KD>0 (symmetric), and #>0 is chosen sufficiently large

!

g(q) = G(q)ag

!

u = G(q)ˆ a g + KP(qd "q) "KD˙ q

ˆ ˙ a g = # GT (q) 2e1 + 2 e 2 "$ ˙ q %

& ' '

(

) * * # > 0

Robotics 2 22

(see paper by P. Tomei, IEEE TRA, 1991; available as extra material on the course web)

Page 23: Adaptive Trajectory Control - uniroma1.itdeluca/rob2_en/12_AdaptiveControl.pdf · A special case: Adaptive regulation ! adaptation in case q d is constant no special simplifications

An adaptive regulator Sketch of asymptotic stability analysis

!  use the function

!  a sufficient condition for V to be a Lyapunov candidate is that

!  a sufficient condition that guarantees also

is that

!

V ="

2˙ q TB(q)˙ q + eTKpe( ) # 2˙ q TB(q)e

1 + 2 e2 +

1

2ˆ a g # ag( )T ˆ a g # ag( ) $ 0

!

" >2BM

BmKP,m

!

˙ V = ... " #a e 2#b ˙ q 2 " 0 a > 0,b > 0

!

" > max 2BM

BmKP,m

, 1KD,m

KD,m

2

2KP,m

+ 4BM +#S

2

$

% & &

'

( ) )

$

% & &

'

( ) )

!

AM = "max (A) = "max (ATA) = A

Am = "min(A)

!

S q, ˙ q ( ) "#S˙ q

!

1

2˙ q TB(q)˙ q " 1

2Bm

˙ q 2Note: for any symmetric, positive definite matrix A

and thus, e.g.

Robotics 2 23