Industrial Robots Industrial Robots Control Control Part 1 Control - - PowerPoint PPT Presentation

industrial robots industrial robots
SMART_READER_LITE
LIVE PREVIEW

Industrial Robots Industrial Robots Control Control Part 1 Control - - PowerPoint PPT Presentation

Industrial Robots Industrial Robots Control Control Part 1 Control Control Part 1 Part 1 Part 1 Introduction to robot control The motion control problem motion control problem consists in the design of control algorithms for the robot


slide-1
SLIDE 1

Industrial Robots Industrial Robots

Control Control – Part 1 Part 1 Control Control Part 1 Part 1

slide-2
SLIDE 2

Introduction to robot control

The motion control problem motion control problem consists in the design of control algorithms for the robot actuators In particular it consists in generating the time functions of the li d i h h h TCP i generalized actuating torques, such that the TCP motion follows a specified task specified task in the cartesian space, fulfilling the specifications on transient and steady state response specifications on transient and steady‐state response requirements

Basilio Bona 2 ROBOTICA 03CFIOR

slide-3
SLIDE 3

Tasks

T f t k t k b d fi d Two types of tasks tasks can be defined:

  • 1. Tasks that do not require an interaction with the environment

(f i ) h i l i TCP f ll i (free space motion); the manipulator moves its TCP following cartesian trajectories, with constraint on positions, velocities and accelerations due to the manipulator itself or the task accelerations due to the manipulator itself or the task requirements

Sometimes it is sufficient to move the joints from a specified value

( ) q t

Sometimes it is sufficient to move the joints from a specified value to another specified value without following a specific geometric path

( )

i

q t ( )

i f

q t

  • 2. Tasks that require and interaction with the environment, i.e.,

where the TCP shall move in some cartesian subspace while subject to forces or torques from the environment We will consider only the first type

  • nly the first type of task

Basilio Bona 3 ROBOTICA 03CFIOR

slide-4
SLIDE 4

Motion control

In particular the motion control problem motion control problem consists in generating the time functions of the generalized actuating torques, such that the TCP motion follows a specified task in the cartesian space, fulfilling the specifications on transient and steady‐state i response requirements Control schemes can be developed for:

Joint space control p Task space control

considering that the task description is usually specified in the considering that the task description is usually specified in the task space, while control actions are defined in the joint space

Basilio Bona 4 ROBOTICA 03CFIOR

slide-5
SLIDE 5

Joint space control

Th I Ki ti bl k t f th d i d t k iti The Inverse Kinematics block transforms the desired task space positions and velocities into desired joint space reference values. The Transducer measures the value of the joint quantities (angles The Transducer measures the value of the joint quantities (angles, displacements) and compares them with the desired ones, obtained, if necessary, from the desired cartesian quantities. The Controller uses the error to generate a (low power) signal for the Actuator that transforms it in a (high power) torque (via the Gearbox) that

Basilio Bona 5 ROBOTICA 03CFIOR

moves the robot joints

slide-6
SLIDE 6

Task space control

Controller Actuator Gearbox Robot

d

p p

Transducer

In this case, the Transducer must measure the task space quantities in order to

Transducer

In this case, the Transducer must measure the task space quantities in order to compare them with desired ones. Usually this is not an easy task, since it requires environment‐aware sensors; y y , q ; the most used ones are digital camera sensors (vision‐based control) or other types of exteroceptive exteroceptive sensors (infra‐red, ultra‐sonic, ...). Otherwise one uses the direct kinematics to estimate the task space pose Torques are always applied to the joints, so Inverse Kinematics is hidden inside

Basilio Bona 6 ROBOTICA 03CFIOR

the Controller block

slide-7
SLIDE 7

Joint space control architectures

T i j i t t l hit t j i t t l hit t ibl Two main joint space control architectures joint space control architectures are possible Decentralized control or independent joint control: each i‐th joint motor has a p j j local controller that takes into account only local variables, i.e., the joint position and velocity The control is of SISO type usually based on a P PD or PID architecture

( )

i

q t ( )

i

q t

  • The control is of SISO type, usually based on a P, PD or PID architecture

The controller is designed considering only an approximated model of the i‐ th joint. This scheme is very common in industrial robots, due to its simplicity, modularity and robustness The classical PUMA robot architecture is shown in the following slide The classical PUMA robot architecture is shown in the following slide Centralized control: there is only one MIMO controller that generates a command vector for each joint motor; it is based on the complete model of the manipulator and takes into account the entire vector of measured positions and velocities

Basilio Bona 7 ROBOTICA 03CFIOR

and velocities

slide-8
SLIDE 8

Decentralized control

joint 1 reference

Decentralized Joint Control

1( )

q t

controller 1 joint 2

( ) q t

Joint space

controller 2 joint 2 reference

Task space

2( )

q t

controller 6 joint 6 reference

6( )

q t

Basilio Bona 8 ROBOTICA 03CFIOR

slide-9
SLIDE 9

Decentralized control

Teach Disk Teach pendant Other Terminal

PUMA Control

μG

D/ A Amplifier Motor 1

DLV-11J EPROM

Encoder T= 0.875 ms

EPROM RAM

Interface Reference angles T= 28 ms

CPU

D/ A Amplifier Motor 6

μG

Encoder T= 0.875 ms

Basilio Bona 9 ROBOTICA 03CFIOR

COMPUTER ROBOT CONTROL

slide-10
SLIDE 10

Motor and gearbox model (rigid body assumptions)

Gearbox Geartrain Gearbox Friction

′ N r =

Gearbox = Geartrain

′ N

Robot Inertia

,

m r

N; ω τ τ

Friction

m

Inertia

, ′ ′ ′

m r

N ; ω τ

Motor

m

τ

Basilio Bona 10 ROBOTICA 03CFIOR

r m

τ ω ′ ′

r m

τ ω

Output pow er I nput pow er

slide-11
SLIDE 11

Motor and gearbox model

b

β +

m

ω i

a

L

a

R N

b

Γ τ

m p

= +

r

τ τ τ

a

i

a a

N

b m a

v

e

i E

m

Γ ′ N ′ τ τ

m

β

m

τ ′

m

ω

p

τ

m

β

m p

′ ′ ′ = −

r

τ τ τ ′

Basilio Bona 11 ROBOTICA 03CFIOR

p

′ τ

slide-12
SLIDE 12

Losses in geared motor

Motor side Joint side Armature circuit Motor inertia Gearbox Joint inertia

a

Ei

m r

ω τ ′ ′

a a

v i

m r

ω τ

m m

ω τ d d

a a a a

L i R i t + η

gearbox efficiency

d d

m m m m

t Γ ω β ω ′ ′ +

voltage drop efficiency

d Γ ω β ω +

p

τ′ d

b m b m

t Γ ω β ω +

Basilio Bona 12 ROBOTICA 03CFIOR

p

τ

slide-13
SLIDE 13

Gearbox model ρ θ ρθ ρ ω ρω ′ ′ = ′ ′ N r N ρ ρ = = ′ ′ ω τ

Joint side

ρ

ρ ω ρω = N ρ

m r

ω τ

Ideal gearbox:

1 η =

θ

GEARBOX

Power in Power out M t id

θ′ ′

GEARBOX m r

ω τ ′ ′

m r m r

ω τ ηω τ ′ ′ =

Motor side

ρ′

m r

ω τ ′ ′ r τ τ′ =

r r m

r τ τ ω ω ′ =

Basilio Bona 13 ROBOTICA 03CFIOR

m

r

slide-14
SLIDE 14

CC motor equations – 1 d

MOTOR SI DE

d d

a a a a a

L i v R i E K i t φ = − −

e m m

K i E k K

φ ω

ω ω φ φ = ′ ′ = = k k K K ′ ⇒

m m m a a

k i K i

ω τ

τ τ φ ′ ′ = = ′ k k K K

ω τ

′ ≈ ⇒ ≈

m a

i Kτ τ = ′ ′ ′

  • p

m m m m m m m m r m p

τ β ω β τ Γ θ ω τ τ θ Γ ′ ′ ′ = + = + ′ ′ ′ = −

  • Basilio Bona

14 ROBOTICA 03CFIOR

r m p

slide-15
SLIDE 15

CC motor equations – 2

GEARBOX SI DE

′ 1

MOTOR SI DE

( )

r r m p

r r τ τ τ τ ′ = ′ ′ − ⎡ ⎤ = 1 1 ( )

r r

r τ τ ′ = + ( ) ( )

m m m m m m m m m m

r r r r τ ω β ω τ ω β ω Γ Γ ⎡ ⎤ ′ ′ ′ = − − ⎢ ⎥ ⎣ ⎦ ⎡ ⎤ ′ = − − ⎢ ⎥ ⎣ ⎦

  • (

) 1

m p

r τ τ τ ω β ω Γ ⎡ ⎤ = ⎢ ⎥ ⎣ ⎦ = + + +

  • 2(

)

m m m m m m m m m m

r r Γ τ β ω ω ⎣ ⎦ ′ = − +

  • 1

1 1

m b m b m m b m b m

r τ ω β ω τ ω β ω Γ Γ ⎢ ⎥ ⎣ ⎦ ⎡ ⎤ ⎛ ⎞ ⎟ ⎜ ⎢ ⎥ ′ ′ = + ⎟ ⎜ + + ⎛ ⎟ ⎢ ⎥ ⎜ ⎟ ⎞ ⎟ ⎜ + ⎟ ⎜ ⎟ ⎜ ⎟

  • 2

1 1 ( )

m b m b m m b m b m

r r r β Γ τ ω β ω ⎟ ⎢ ⎥ ⎜ ⎟ ⎝ ⎠ ⎟ ⎣ ⎦ ′ ′ = ⎜ ⎝ + ⎟ ⎠ +

  • 2 (

)

m b m b m

r r β

Basilio Bona 15 ROBOTICA 03CFIOR

slide-16
SLIDE 16

Control equations

( ) ( , ) ( ) ( )

T e

+ + + + = H q q C q q q B q q g q J F τ

  • component-wise joint torques

( ) ) ) ( (

n n n ij j ijk j k bi i i fi i

H q q h g q q β τ τ + + + + =

∑ ∑∑

q q q

  • 1

1 1

( ) ) ) ( (

ij j ijk j k bi i i fi ri j j k

q q g q q β

= = =

+ + + +

∑ ∑∑

q q q

1 1

( ) ( ) ( ) ( )

r n n n i ij j ijk j k bi i i fi j i i j i k i

q H q H q q h g q β τ

≠ = =

+ = + + + +

∑ ∑∑

q q q q τ

  • I

ti l t Coriolis & centripetal Friction, gravity

Basilio Bona 16 ROBOTICA 03CFIOR

Inertial torques Co o s & ce t peta torques ct o , g a ty & external torques

slide-17
SLIDE 17

Control equations

( ) ( ) ( ) ( )

n n n

H q h q q g H q q τ τ β + = + + + +

∑ ∑∑

q q q q

  • 1

1

( ) ( ) ( ) ( )

ij j ijk j k ii i bi i fi j i j k ri i

H q h q q g H q q τ τ β

≠ = =

+ = + + + +

∑ ∑∑

q q q q ( )

M i i i f ii i bi i i i

H q q τ τ τ τ β τ + + + + + = q

  • ( )

M i ci gi f r ii i bi i i i

q q τ τ τ τ β τ + + + + + q

Modelled torques “Disturbance” torques

Basilio Bona 17 ROBOTICA 03CFIOR

slide-18
SLIDE 18

From single motor model to robot control equation

θ′ ′ ′

  • mi

mi mi i i i i i i

q q r r q r θ ω ω = = = ′ ′ ′

  • Gearbox transformation

Gearbox transformation

n

H q H q q τ β τ τ τ τ = + + + + + +∑

  • Structured

Structured

ri ii i bi i ij j Mi ci gi fi j i mi mi

H q H q q τ β τ τ τ τ ω β τ τ τ τ Γ ω

= + + + + + ′ + + + + ′ = + +

  • Structured

Structured disturbance disturbance

bi bi Mi ci gi fi i i mi mi

r r β τ τ τ τ ω β Γ ω Γ + + + = ′ + + ′ mi

mi bi bi di i i

r r β Γ τ = + +

Basilio Bona 18 ROBOTICA 03CFIOR

Equation seen at the joint side joint side

slide-19
SLIDE 19

From single motor model to robot control equation

Equation seen at the m otor side m otor side Equation seen at the m otor side m otor side since

( )

1 1 1 Γ β ′ ′ ′

  • (

)

2 ri ri bi mi bi mi di i i i

r r r Γ β ω τ τ ω τ ′ ′ + + ′ = =

  • (

)

ri mi pi mi mi mi mi mi

τ τ τ τ Γ β ω ω ′ ′ ′ ′ = = + ′ ′ − −

  • and

1 1 1 β β Γ Γ ⎛ ⎞ ⎛ ⎞ ⎟ ⎟ ⎜ ⎜ ⎟ ⎟ ′ ′ ′ ′ + ⎜ + +⎜ + + ′

  • we obtain

2 2 mi ri pi bi mi mi bi mi mi di i i i

r r r τ τ τ β β τ Γ ω Γ ω ⎟ ⎟ ′ ′ ′ ′ = + = ⎜ + +⎜ + + ⎟ ⎟ ⎜ ⎜ ⎟ ⎟ ⎟ ⎟ ⎜ ⎜ ⎝ ⎠ ⎝ ⎠ ′

Total inertia Total friction

Basilio Bona 19 ROBOTICA 03CFIOR

slide-20
SLIDE 20

From single motor model to robot control equation

mi pi di ti mi ti mi di

τ τ τ ω β ω τ Γ ′ ′ ′ ′ ′ ′ ′ = + = + + ′ ′ ′ ′ ′ ′ ′ ′ ′ = + = + + B τ τ τ Γ ω ω τ

  • Motor side

Motor side

p d t m t m m d

= + = + + B τ τ τ Γ ω ω τ

Motor side Motor side = + +

t′

Γ

t′

B ⎛ ⎞ ⎛ ⎞

2

1

bi mi i

r Γ Γ ⎛ ⎞ ⎟ ⎜ ⎟ ⎜ + ⎟ ⎜ ⎟ ⎟ ⎜ ⎝ ⎠

2

1

bi mi i

r β β ⎛ ⎞ ⎟ ⎜ ⎟ ⎜ + ⎟ ⎜ ⎟ ⎟ ⎜ ⎝ ⎠

Basilio Bona 20 ROBOTICA 03CFIOR

i

⎝ ⎠

i

⎝ ⎠

slide-21
SLIDE 21

From single motor model to robot control equation

mi pi di ti mi ti mi di

τ τ τ ω β ω Γ τ = + = + +

  • Joint side

Joint side

= + = + + B τ τ τ Γ ω ω τ

  • Joint side

Joint side

p d t m t m d m =

+ = + + B τ τ τ Γ ω ω τ

= + +

t

Γ

t

B

( )

2 bi i mi

r Γ Γ +

( )

2 bi i mi

r β β +

Basilio Bona 21 ROBOTICA 03CFIOR

slide-22
SLIDE 22

Block diagram of open‐loop CC motor (motor side)

For simplicity we drop the prime ′ symbol For simplicity we drop the prime ′ symbol for the motor side quantities, and we consider the generic i-th motor Taking the Laplace transform of the involved variables, we have g p ,

( ) ( ) ( ) ( )

t t m m d

s s s s β ω τ τ Γ + = − ( ) ( ) ( ) ( )

t t m m d m a

K i

τ

β τ = 1 ( ) ( ) s s θ ω

+

d

τ

( ) ( )

m m

s s s θ ω =

+ – + 1

a a

R sL + 1

t t

s β Γ + Kτ 1 s

a

v

a

i

m

τ

m

ω

m

θ –

r

τ Kω E

Basilio Bona 22 ROBOTICA 03CFIOR

ω

slide-23
SLIDE 23

Block diagram of open‐loop CC motor (motor side)

Th t i it i d t i ll d ll b l t d The armature circuit inductance is small and usually can be neglected

v R L i K ω = ≈ ⇒

a a a a m

v R L i Kωω − = ≈ ⇒ τm

a

i Kτ τ =

m a a m

v R K K

ω τ

τ ω − =

m d t m t m a a a

R R R K τ τ ω β ω β Γ Γ = + + ⎡ ⎤ ⎛ ⎞ ⎟ ⎜ ⎢ ⎥

  • a

a a a d t t m

v s K K K K

ω τ τ τ

τ β ω Γ ⎟ ⎜ ⎢ ⎥ ⎟ − = + + ⎜ ⎟ ⎢ ⎥ ⎜ ⎟ ⎜ ⎝ ⎠ ⎢ ⎥ ⎣ ⎦

Basilio Bona 23 ROBOTICA 03CFIOR

slide-24
SLIDE 24

Block diagram of open‐loop CC motor (motor side)

R β

a t

R K K K K

ω ω ω τ

β ′ = + ≈

a t

R K β

  • since
  • friction torque

a t m m

K K

ω τ

ω ω

  • t

m a a m

R i K K i

ω

β ω ω

  • armature losses

armature e.m.f. torque m a

K i

τ τ

Basilio Bona 24 ROBOTICA 03CFIOR

slide-25
SLIDE 25

Block diagram of open‐loop CC motor (motor side)

⎛ ⎞ 1 1

a t a m a d

R R s v K K K K K

τ ω ω τ ω

Γ ω τ ⎛ ⎞ ⎟ ⎜ ⎟ + = − ⎜ ⎟ ⎜ ′ ′ ′ ⎟ ⎜ ⎝ ⎠

d

τ

⎝ ⎠

a t

R T K K Γ = ′

d

τ K

a d

K K R K K

τ ω

=

where –

θ

d

K

+

( )

G s

ω

1 s

a

v

m

ω

m

θ

( ) ( )

1 G s =

Basilio Bona 25 ROBOTICA 03CFIOR

( ) ( )

1 G s K sT

ω ω

′ +

slide-26
SLIDE 26

Matrix formulation (joint side)

Lagrange

( ) ( , ) ( ) ( ) ( )

T e r m m p

+ + + + = ≡ = − H q q C q q q Bq g q J q F R τ τ τ τ τ

  • Lagrange

Equation

( )

r m m p

where

2

= + R R K v R K q τ

  • m

m m a a m ω

+ R R R q τ

2

( ) ( )

m p m m m m m m m m

= + = + R R q B q R q B q τ Γ Γ

  • p

Motor side Joint side Motor side Joint side

K K K ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

  • and

0 ; 0 ;

i m i a ai a i i i

R R K r K Kτ

τ ω ω

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = = = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ R K K

  • Basilio Bona

26 ROBOTICA 03CFIOR

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦

slide-27
SLIDE 27

Matrix formulation (joint side)

Then we have Then, we have Mass matrix Friction matrix

( ) ( )

( ) M q F

( )

( )

( )

2 2

( ) ( , ) ( ) ( )

m m m m ω

+ + + + + + + + = H q R q C q q B R K B q g q J q F R K v Γ

  • T

( ) ( )

e m a a

+ + g q J q F R K v u

Gravity Interaction

c

u

Command input Often we use this symbol to indicate Interaction

( )

( , ) ( , ) = + h q q C q q F q

  • y

the velocity dependent terms

Basilio Bona 27 ROBOTICA 03CFIOR

( )

( ) ( )

slide-28
SLIDE 28

Matrix formulation (joint side)

( ) ( ) ( ) ( )

T

+ + + M h J F

  • Gravity and interaction

( ) ( , ) ( ) ( )

T e c

+ + + = M q q h q q g q J q F u

No interaction

( ) ( , ) ( )

c

+ + = M q q h q q g q u

  • No gravity, no interaction

( ) ( , )

c

+ = M q q h q q u

  • Control Design Problem

Control Design Problem

...?

c =

u

Basilio Bona 28 ROBOTICA 03CFIOR

slide-29
SLIDE 29

Decentralized joint control

A i f i li it

( ) ( , )

c

+ = M q q h q q u

  • Assuming, for simplicity

( ) ( , )

c

q q q q

If …

( )

diagonal

2 2

( )

m m m m m

⇒ + ≈ R I H q R R Γ Γ

  • small

( , ) C q q q

Th Then …

t d c

+ + = q Fq u Γ τ

  • 2

t m m

= R Γ Γ

with disturbance

( )

t c

s + = F u Γ ω

The model is diagonal, i.e., naturally decoupled

Basilio Bona 29 ROBOTICA 03CFIOR

g , , y p Each joint can be controlled by local controllers

slide-30
SLIDE 30

Decentralized joint control

This is the proportional velocity controller

d

τ

This is the proportional velocity controller

  • r velocity compensator

d

K d K

reference voltage – +

( )

G s

ω

1 s

a

v

m

ω

m

θ

D

K

– +

r

v e

( )

K ( )

t

K s

Transducer T.F .

( )

K s K ≈

Basilio Bona 30 ROBOTICA 03CFIOR

(tachimetric sensor)

( )

t t

K s K ≈

slide-31
SLIDE 31

Open loop vs Closed loop

( ) ( ) ( ) (1 )

m D

s K G s v s K s T

ω

ω α α ′ = = ′ + ( ) 1 ( ) ( ) (1 )

m s

G s v s K sT

ω

ω = = ′ + ( ) (1 )

r

v s K s T

ω

α + ( ) (1 )

a

v s K sT

ω

+ ( ) ( ) ( ) ( ) (1 )

m d d

s T G s K G s s sT

ω

ω τ Γ = = − = − + ( ) ( ) ( )

m d d

s K K T G G ω α α ′ ′ ( ) (1 )

d t

s sT τ Γ + ( ) ( ) ( ) ( ) (1 ) (1 )

m d d d d D t

G s G s s K s T K s T

ω ω

α α τ Γ ′ ′ = = − = − = − ′ + + 1 Kω α ′ = <

Basilio Bona 31 ROBOTICA 03CFIOR

1

D t

K K K

ω

α = < ′ +

slide-32
SLIDE 32

The closed‐loop system

d

τ K

d

τ

( )

G s

1

a

v

m

ω

m

θ

d

K

d

K K

+

( )

G s

ω

s

Open loop

D

K

– +

( )

G s

ω

′ 1 s

r

v

m

ω

m

θ s

Closed loop

Basilio Bona 32 ROBOTICA 03CFIOR

slide-33
SLIDE 33

The closed‐loop system

Time constant is reduced

T T α < K

Disturbance gain is reduced

d d D

K K K →

Design parameter

d

τ

when

1

d

K =

d

K

( )

G s

ω

1 s

a

v

m

ω

m

θ

D

K

+

r

v e

+

( )

s

Basilio Bona 33 ROBOTICA 03CFIOR

slide-34
SLIDE 34

Position compensator

d

τ

Controller 1

d

K

( )

G 1

a

v

m

ω

m

θ K

+

e K

+

r

θ

+

( )

G s

ω

s

D

K

P

K

t

K 1

t

K ≈ 1 K θ ≈ K θ

Basilio Bona 34 ROBOTICA 03CFIOR

θ

slide-35
SLIDE 35

Position compensator

( ) θ

1 2

( ) ( ) ( )

m r

s K G s s s s T K θ θ α = = + +

2 2

( ) 1 ( ) ( ) ( )

m s

G s s s s T K τ Γ θ α = = − + + ( ) ( )

d t

s s s T K τ Γ α + +

D P D P

K K K K K K

τ

= =

where

a t

K TK R

ω

Γ = = ′

Configuration dependent Second-order TF with

1 1 · 2 2 K K T K R K K K

τ ω

α α ζ Γ ′ = =

with

2 2 1

a D P t D P

T K R K K K K K K K

τ τ

α α Γ ω = =

Basilio Bona 35 ROBOTICA 03CFIOR

·

n a t

K R ω Γ = =

slide-36
SLIDE 36

Design parameters

The damping coefficient and the natural frequency are inversely proportional to the square root of the inertia moment, that may vary p p q , y y in time when the angles vary

2

1

t b m

r Γ Γ Γ ⎛ ⎞ ⎟ ⎜ = + ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠

( )

( )

b ii

H t Γ ⎝ ⎠ = q Since the damping coefficient and the natural frequency are often used Since the damping coefficient and the natural frequency are often used as control specifications, we can design a controller computing the maximum inertia moment and adjusting the two gains in

t

Γ ,

P D

K K

maximum inertia moment and adjusting the two gains in such a way that the damping ratio is satisfactory, e.g., no overshoot appears in the step response

,max t

ζ ,

P D

Basilio Bona 36 ROBOTICA 03CFIOR

slide-37
SLIDE 37

An alternative

d

τ K

Controller 2 +

d

K

– +

( )

G s

ω

1 s

a

v

m

ω

m

θ

P D

K sK ′ ′ +

– +

r

θ e ( ) ( ) ( )

a P D

v t K e t K e t ′ ′ = +

  • 3

2

( ) / ( ) ( )

m D P D

s K K s K K G s R

τ

Γ θ θ ′ ′ ′ + = = ′

A zero appears

3 2

( ) ( )

r a t a t P

s R s s T K K R

τ

Γ α Γ θ ′ + + ( ) 1 1 ( )

m s

G θ ⎛ ⎞ ⎟ ⎜ ⎟ ⎜ ⎟

4 2

( ) ( )

m d t P a t

G s s s s T K K R

τ

τ Γ α Γ ⎜ = = − ⎟ ⎜ ⎟ ⎜ ′ ⎟ + + ⎟ ⎜ ⎝ ⎠

Basilio Bona 37 ROBOTICA 03CFIOR

slide-38
SLIDE 38

Another alternative

d

τ K

Controller 3 + +

d

K

– +

( )

G s

ω

1 s

a

v

m

ω

m

θ

P D

K sK ′ ′ +

– +

r

θ e

– +

D

K

Basilio Bona 38 ROBOTICA 03CFIOR

slide-39
SLIDE 39

Comparison

Controller 1

( ) ( ) ( ) t K K t K t ( ) ( ) ( )

a D P D m

v t K K e t K t ω = −

Controller 2

( ) ( ) ( ) ( )

a P D r D m

v t K e t K t K t ω ω ′ = + −

Controller 3 Controller 3

( )

( ) ( ) ( ) 1 1 ( )

a D P D D r D D D m

v t K K e t K K t K K K t ω ω ′ ′ ′ ′ = + − +

Basilio Bona 39 ROBOTICA 03CFIOR

slide-40
SLIDE 40

Practical Issues

1.

  • 1. Saturating actuators

Saturating actuators 2.

  • 2. Elasticity of the structure

Elasticity of the structure 3 Nonlinear friction at joints Nonlinear friction at joints 3.

  • 3. Nonlinear friction at joints

Nonlinear friction at joints 4.

  • 4. Sensors or amplifiers with finite band

Sensors or amplifiers with finite band 4.

  • 4. Sensors or amplifiers with finite band

Sensors or amplifiers with finite band

Basilio Bona 40 ROBOTICA 03CFIOR

slide-41
SLIDE 41

Saturating Actuators

It is a nonlinear effect, difficult to be considered a-priori

( ) y t

It is a nonlinear effect, difficult to be considered a priori saturation

( ) y t ( ) u t

( ) u t

( ) y t ( ) u t

Li it saturation Linearity

( ) t ⎧ ⎪ IF

max max min max

( ) ( ) ( ) ( ) y u t u y t ku t u u t u ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ > = ≤ ≤ IF IF

min min

( ) y u t u ⎪ ⎪ ⎪ ⎪ ⎩ < IF

Basilio Bona 41 ROBOTICA 03CFIOR

slide-42
SLIDE 42

Elasticity of the structure

Although we have considered rigid bodies, the elasticity is a phenomenon that limits the closed loop band phenomenon that limits the closed loop band We cannot design controllers that are “too fast” without taking li itl i t id ti t f l ti d l explicitly into consideration some sort of elastic model. Recall that when we use a simplified model

( ) ( )

t m e m

t k t θ θ Γ + =

  • the proper structural resonance (or natural) frequency is

e r

k ω Γ =

t

Γ

Basilio Bona 42 ROBOTICA 03CFIOR

slide-43
SLIDE 43

Elasticity of the structure

Basilio Bona 43 ROBOTICA 03CFIOR

slide-44
SLIDE 44

Nonlinear friction

A li ff t b t l it d f i ti f A nonlinear effect between velocity and friction force

total

( ) f t

i stiction

( )

( ) f t ( ) v t

viscous coulomb stiction

( ) v t

Basilio Bona 44 ROBOTICA 03CFIOR

slide-45
SLIDE 45

Nonlinear friction

Nonlinear static friction models include:

Coulomb + viscous

sign

c

F(v) F (v) v β = +

Static model that includes stiction and “Stribeck effect”: friction decreases with increasing velocity for v < vs (Stribeck velocity)

( )

i

s s

v v

F( ) F F F ( )

δ

β

⎡ ⎤ ⎢ ⎥ ⎢ ⎥ + +

( )

sign

s

c s c

F(v) F F F e (v) v β ⎢ ⎥ = + − + ⎢ ⎥ ⎢ ⎥ ⎣ ⎦

Basilio Bona 45 ROBOTICA 03CFIOR

slide-46
SLIDE 46

Finite pass‐band in sensors and amplifiers

Sensors and amplifiers are often modelled as simple gains, while in the real world they have a finite pass‐band, nonlinearities, saturations, etc. These effects must be taken into account when the simulated and real These effects must be taken into account when the simulated and real behaviours differ. Fortunately, very often the band of sensors and amplifiers is much wider than the final closed loop band of the controlled system.

46 ROBOTICA 03CFIOR Basilio Bona