ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino - - PowerPoint PPT Presentation

robotics 01peeqw
SMART_READER_LITE
LIVE PREVIEW

ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino - - PowerPoint PPT Presentation

ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino Control Part 2 Introduction to centralized control Independent joint decentralized control may prove inadequate when the user requires high task velocities, since


slide-1
SLIDE 1

ROBOTICS 01PEEQW

Basilio Bona DAUIN – Politecnico di Torino

slide-2
SLIDE 2

Control – Part 2

slide-3
SLIDE 3

Introduction to centralized control

Independent joint decentralized control may prove inadequate when

the user requires high task velocities, since structured disturbance torques (Coriolis, centrifugal) greatly influence the robot behavior motors are of direct drive type, since no gearboxes are present, cancelling their beneficial effect. Nonlinearities and coupling effects become important

In these cases the disturbance torques may cause large errors on the reference trajectory tracking that the independent control architecture is unable to reduce

Basilio Bona - DAUIN - PoliTo 3 ROBOTICS 01PEEQW - 2016/2017

slide-4
SLIDE 4

Introduction to centralized control

Since in these cases it is not possible to sufficiently reduce the effects due to the disturbance torques, it is more convenient to try to cancel such torques, adopting control algorithms that use nonlinear compensation terms We call this architecture “centralized” since the applied joint command torques are function of the all other joint positions and velocities. The approach is not “local” anymore, as happens in the decentralized architecture, where each joint controller uses

  • nly the local joint information (position and velocity)

Basilio Bona - DAUIN - PoliTo 4 ROBOTICS 01PEEQW - 2016/2017

slide-5
SLIDE 5

In the centralized control architectures the robot is considered as a MIMO system, with n inputs (the joint torques) and n

  • utputs (the joint positions) that interact with each other

according to the nonlinear dynamic equations of the robot model The centralized control algorithms shall take into account this dynamic model, and usually they present a nonlinear structure The main centralized control architecture is called inverse dynamics, since the command torques are computed from the robot model dynamic equation and from the knowledge of the joint variables (positions and velocities), i.e., as a solution of a model-based inverse dynamic problem

Centralized control

Basilio Bona - DAUIN - PoliTo 5 ROBOTICS 01PEEQW - 2016/2017

slide-6
SLIDE 6

Inverse dynamics control

Basilio Bona - DAUIN - PoliTo 6 ROBOTICS 01PEEQW - 2016/2017

( ) ( , )

c

+ = M q q h q q u ɺɺ ɺ

Consider again the following simplified dynamic model of the robot

+ + + –

q ɺ q

c

u

c

a

r

q ɺɺ h ɵ

  • M

ROBOT

We can compute a control command as a function of the dynamic model, where one tries to cancel the inertia and other terms

( )

r c c

− + q u M a h ɺ ≐ ɺ ɵ

Reference acceleration Additional acceleration command signal

( )

r c c

− + q u M a h ɺ ≐ ɺ ɵ

slide-7
SLIDE 7

Approximate linearization

Basilio Bona - DAUIN - PoliTo 7 ROBOTICS 01PEEQW - 2016/2017

Hence, developing the previous equation, we have:

  • ( )

( , ) ( )

r c

+ = − + M q q h q q M h q a ɵ ɺɺ ɺɺ ɺ

  • (

)

1 1

( ) ( ) ( , ) ( )

r c − −

− − − = q M q M M q h q q q a h ɵ ɺɺ ɺ ɺɺ

( )

( , ) ( , ) ∆ − = h q q h h q q ɵ ɺ ɺ

  • 1

1

( ) ( ) ( ) ( )

− −

= + = − M q M I E q E q M q M I

Here we try to invert the inertia matrix Here we try to send to zero the disturbance terms

slide-8
SLIDE 8

Conclusions

Basilio Bona - DAUIN - PoliTo 8 ROBOTICS 01PEEQW - 2016/2017

( )

, ) , , (

r c c r

= + − q q q a q a q ɺɺ ɺɺ ɺ ɺɺ η

( )

1

, , , ( ) ( ) ( ) ( , )

r r c c

= − − q q q q a E q M q h q a q η ɺɺ ɺ ɺɺ ɺ

Structured disturbance Approximation in inertia model Approximation in Coriolis model

slide-9
SLIDE 9

Conclusions

Basilio Bona - DAUIN - PoliTo 9 ROBOTICS 01PEEQW - 2016/2017

( )

, ) , , (

r c c r

= + − q q q a q a q ɺɺ ɺɺ ɺ ɺɺ η

If we can cancel the structured disturbance, the system becomes linear and decoupled, but unstable

( )

r c r c c

= − − = ⇒ = ⇒ q q a q q a e a ɺɺ ɺɺ ɺɺ ɺɺ ɺɺ

The chains of double integrators make the system unstable

slide-10
SLIDE 10

In general

If we are able to compute the exact model of the nonlinear dynamical system, we can build the following control architecture, where ac is a suitable acceleration control signal, whose

definition will allow to obtain asymptotic stability and other performances

Basilio Bona - DAUIN - PoliTo 10 ROBOTICS 01PEEQW - 2016/2017

ROBOT

( , ) h q q ɺ q q ɺ

u

( ) M q

+ +

ac

slide-11
SLIDE 11

Exact linearization and decoupling

The control scheme above performs an exact system linearization The resulting system is decoupled: it consists in n double integrators; the i-th component ac,i of the new acceleration signal influences only the behavior of the i-th joint component qc,i that is independent of the other joints motion

Basilio Bona - DAUIN - PoliTo 11 ROBOTICS 01PEEQW - 2016/2017

ROBOT

( , ) h q q ɺ q q ɺ

u

( ) M q

+ +

ac

∫ ∫

ac

q q ɺ

slide-12
SLIDE 12

Exact linearization

+ + + –

q ɺ q

c

u

c

a

r

q ɺɺ

Inner Loop

( , ) h q q ɺ , M h

ROBOT

( ) M q

1 s 1 s 1 s 1 s ⋯

1

q

1

q ɺ

+ –

c

a

r

q ɺɺ

n

q

n

q ɺ

Control design

Basilio Bona - DAUIN - PoliTo 12 ROBOTICS 01PEEQW - 2016/2017

slide-13
SLIDE 13

State variable representation

Basilio Bona - DAUIN - PoliTo 13 ROBOTICS 01PEEQW - 2016/2017

slide-14
SLIDE 14

Error variable representation

Basilio Bona - DAUIN - PoliTo 14 ROBOTICS 01PEEQW - 2016/2017

This term is equivalent to the injection into the system of a structured nonlinear disturbance that can make it unstable in spite of the control design

slide-15
SLIDE 15

Controller design

Basilio Bona - DAUIN - PoliTo 15 ROBOTICS 01PEEQW - 2016/2017

slide-16
SLIDE 16

Controller design

Basilio Bona - DAUIN - PoliTo 16 ROBOTICS 01PEEQW - 2016/2017

+ + + –

q ɺ q

c

u

c

a

r

q ɺɺ h ɵ

  • M

, M h

ROBOT

Linear Outer Loop Nonlinear Inner Loop

slide-17
SLIDE 17

Inner loop – outer loop (nonlinear linearizing control)

Basilio Bona - DAUIN - PoliTo 17 ROBOTICS 01PEEQW - 2016/2017

slide-18
SLIDE 18

Exact linearization

Basilio Bona - DAUIN - PoliTo 18 ROBOTICS 01PEEQW - 2016/2017

slide-19
SLIDE 19

Exact linearization

+ + + –

q ɺ q

c

u

c

a

r

q ɺɺ

Inner Loop

( , ) h q q ɺ , M h

ROBOT

( ) M q

1 s 1 s 1 s 1 s ⋯

1

q

1

q ɺ

+ –

c

a

r

q ɺɺ

n

q

n

q ɺ

Control design

Basilio Bona - DAUIN - PoliTo 19 ROBOTICS 01PEEQW - 2016/2017

slide-20
SLIDE 20

PD outer loop control design

Basilio Bona - DAUIN - PoliTo 20 ROBOTICS 01PEEQW - 2016/2017

slide-21
SLIDE 21

PD outer loop control design

Basilio Bona - DAUIN - PoliTo 21 ROBOTICS 01PEEQW - 2016/2017

slide-22
SLIDE 22

D

−K

P

−K

+ + + – + –

r

q

r

q ɺ

Outer Loop

PD outer loop control design

+ + + –

q ɺ q

c

u

c

a

r

q ɺɺ

Inner Loop

( , ) h q q ɺ , M h

ROBOT

( ) M q

Basilio Bona - DAUIN - PoliTo 22 ROBOTICS 01PEEQW - 2016/2017

slide-23
SLIDE 23

PID outer loop control design

Basilio Bona - DAUIN - PoliTo 23 ROBOTICS 01PEEQW - 2016/2017

slide-24
SLIDE 24

+ + + –

D

K −

P

K −

+ + + – + –

I

K s −

+

r

q ɺ

r

q

r

q ɺɺ

h q ɺ q

c

u

c

a

M

a PID controller for the outer loop

Inner Loop Outer Loop

PID outer loop control design

ROBOT

Basilio Bona - DAUIN - PoliTo 24 ROBOTICS 01PEEQW - 2016/2017

slide-25
SLIDE 25

PID outer loop control design

Basilio Bona - DAUIN - PoliTo 25 ROBOTICS 01PEEQW - 2016/2017

slide-26
SLIDE 26

Practical aspects of exact linearization

Exact linearization hypothesis implies the capacity to compute

  • n-line the model matrices

Dynamic models must be perfectly known, without errors or approximations The model matrices must be computed online; at every sampling time (approx. 1 ms) the inverse dynamics equations must be solved. Software and hardware architectures must be able to do so Unmodeled dynamics (e.g., elastic vibrations) are not taken into account

In practice it is impossible to satisfy all these assumptions at the same time

Basilio Bona - DAUIN - PoliTo 26 ROBOTICS 01PEEQW - 2016/2017

slide-27
SLIDE 27

Approximate linearization

In practice one may adopt a control scheme based on the imperfect compensation of the robot inverse dynamics There are different possibilities to do so:

  • 1. Only a part of the robot dynamics is computed and used in the

controller (usually the dominant one and/or that is best known), leaving to the outer loop the task of guaranteeing the

  • verall stability and the reference trajectory tracking
  • 2. A feedforward compensation of the robot dynamics; it uses

the reference values of the desired trajectory instead of the real measured joint variables and velocities to build the model matrices

Basilio Bona - DAUIN - PoliTo 27 ROBOTICS 01PEEQW - 2016/2017

slide-28
SLIDE 28

Approximate linearization

  • 3. Robust control techniques; these are advanced techniques

that allow to overcome the effects of the approximations and

  • ther errors introduced by the real-time computation of the

inverse dynamics

  • 4. Adaptive control techniques; they provide an online

estimation of the true model parameters that are successively used in the controller

Also for the outer loop controller it is possible to adopt more complex algorithms than the simple PD controller.

A PID controller will be able to cancel the steady state effects

  • f any additive constant disturbance that the inner loop

cannot cancel

Basilio Bona - DAUIN - PoliTo 28 ROBOTICS 01PEEQW - 2016/2017

slide-29
SLIDE 29

Approximate linearization

Basilio Bona - DAUIN - PoliTo 29 ROBOTICS 01PEEQW - 2016/2017

slide-30
SLIDE 30

Approximate linearization

Under the assumption that only an approximate compensation is possible, the external control law becomes:

Basilio Bona - DAUIN - PoliTo 30 ROBOTICS 01PEEQW - 2016/2017

represents an estimate of the true matrices. These matrices could be both the best available approximation of the true matrices, or the result of an “a-priori” decision that simplifies the model ( ) ( , )

c c

= + u M q a h q q ɵ ɺ

  • ;

M M h h ɵ ≃ ≃ Where

slide-31
SLIDE 31

h ɵ

+ + + –

q ɺ q

c

u

c

a

r

q ɺɺ

  • M

ROBOT

Inner loop We assume to use a PD controller for the outer loop

Approximate linearization

Basilio Bona - DAUIN - PoliTo 31 ROBOTICS 01PEEQW - 2016/2017

slide-32
SLIDE 32

Approximate linearization

There are some inverse dynamics architectures with approximate linearization, that include

PD control with gravity compensation Independent joint control Inverse dynamics feedforward control (also called computed torque method)

Basilio Bona - DAUIN - PoliTo 32 ROBOTICS 01PEEQW - 2016/2017

slide-33
SLIDE 33

PD control with gravity compensation

Basilio Bona - DAUIN - PoliTo 33 ROBOTICS 01PEEQW - 2016/2017

Exact knowledge of the gravity terms

slide-34
SLIDE 34

Outer loop Inner loop

+ + + + – + – –

q ɺ q

c

u

c

a

D

K −

P

K −

r

q ɺ

r

q

PD control with gravity compensation

Basilio Bona - DAUIN - PoliTo 34 ROBOTICS 01PEEQW - 2016/2017

ROBOT

e e ɺ

( )

g q

τ

slide-35
SLIDE 35

PD control with gravity compensation

Basilio Bona - DAUIN - PoliTo 35 ROBOTICS 01PEEQW - 2016/2017

(A)

slide-36
SLIDE 36

PD control with gravity compensation

Basilio Bona - DAUIN - PoliTo 36 ROBOTICS 01PEEQW - 2016/2017

slide-37
SLIDE 37

PD control with gravity compensation

Basilio Bona - DAUIN - PoliTo 37 ROBOTICS 01PEEQW - 2016/2017

slide-38
SLIDE 38

PD control with gravity compensation

Basilio Bona - DAUIN - PoliTo 38 ROBOTICS 01PEEQW - 2016/2017

slide-39
SLIDE 39

PD control with gravity compensation

Basilio Bona - DAUIN - PoliTo 39 ROBOTICS 01PEEQW - 2016/2017

slide-40
SLIDE 40

Independent joint control

Basilio Bona - DAUIN - PoliTo 40 ROBOTICS 01PEEQW - 2016/2017

slide-41
SLIDE 41

Independent joint control

Basilio Bona - DAUIN - PoliTo 41 ROBOTICS 01PEEQW - 2016/2017

slide-42
SLIDE 42

+ + + – + –

q ɺ q

D

K −

P

K −

r

q ɺ

r

q

Independent joint control

Basilio Bona - DAUIN - PoliTo 42 ROBOTICS 01PEEQW - 2016/2017

ROBOT

Outer loop Inner loop

e e ɺ

c c

= − u a

slide-43
SLIDE 43

Computed Torque Method

The computed torque method represents an solution midway between the decentralized control and the inverse dynamics control It is mainly used when the reduced processing power cannot afford the complete inverse dynamics implementation When the real-time constraints are strict, the feedforward term can be approximated

Considering only the diagonal terms of the inertia matrix and the gravitational effects, that are dominant when the velocities are small Computing off-line the feedforward torque terms and storing them in a mass memory or look-up table; this is possible when cyclic trajectories are performed again and again

Basilio Bona - DAUIN - PoliTo 43 ROBOTICS 01PEEQW - 2016/2017

slide-44
SLIDE 44

Computed Torque Method

Basilio Bona - DAUIN - PoliTo 44 ROBOTICS 01PEEQW - 2016/2017

slide-45
SLIDE 45

Computed Torque Method

Basilio Bona - DAUIN - PoliTo 45 ROBOTICS 01PEEQW - 2016/2017

slide-46
SLIDE 46

+ + + – + + + – + –

q ɺ q

r

q ɺ

r

q

D

K −

P

K −

c

u

c

a

r

q ɺɺ

Computed Torque Method

Basilio Bona - DAUIN - PoliTo 46 ROBOTICS 01PEEQW - 2016/2017

ROBOT

Outer loop

e e ɺ

slide-47
SLIDE 47

Feedback linearization – the general framework

Basilio Bona - DAUIN - PoliTo 47 ROBOTICS 01PEEQW - 2016/2017

slide-48
SLIDE 48

Feedback linearization – the general framework

Basilio Bona - DAUIN - PoliTo 48 ROBOTICS 01PEEQW - 2016/2017

slide-49
SLIDE 49

Feedback linearization – the general framework

Basilio Bona - DAUIN - PoliTo 49 ROBOTICS 01PEEQW - 2016/2017

slide-50
SLIDE 50

Feedback linearization – the general framework

Basilio Bona - DAUIN - PoliTo 50 ROBOTICS 01PEEQW - 2016/2017