Industrial Robots Industrial Robots Control Control Part 1 Control - - PowerPoint PPT Presentation
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
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
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
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
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
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
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
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
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
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
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
′ τ
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
τ
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
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
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
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
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
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
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
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
⎝ ⎠
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
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
ω
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
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
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
Kτ
+
( )
G s
ω
1 s
a
v
m
ω
m
θ
( ) ( )
1 G s =
Basilio Bona 25 ROBOTICA 03CFIOR
( ) ( )
1 G s K sT
ω ω
′ +
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
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ ⎣ ⎦
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
( )
( ) ( )
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
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
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 ≈
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
ω
α = < ′ +
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
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
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
θ
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 ω Γ = =
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
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
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
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
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
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
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
Elasticity of the structure
Basilio Bona 43 ROBOTICA 03CFIOR
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
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
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