ROBOTICA 03CFIOR 03CFIOR
Basilio Bona DAUIN – Politecnico di Torino
Basilio Bona ROBOTICA 03CFIOR 1
ROBOTICA 03CFIOR 03CFIOR Basilio Bona DAUIN Politecnico di - - PowerPoint PPT Presentation
ROBOTICA 03CFIOR 03CFIOR Basilio Bona DAUIN Politecnico di Torino Basilio Bona 1 ROBOTICA 03CFIOR Control Part 1 Introduction to robot control The motion control problem consists in the design of control algorithms for the
Basilio Bona ROBOTICA 03CFIOR 1
Basilio Bona 3 ROBOTICA 03CFIOR
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
Basilio Bona 4 ROBOTICA 03CFIOR
( )
i
q t ( )
i f
q t
Basilio Bona 5 ROBOTICA 03CFIOR
The Inverse Kinematics block transforms the desired task space positions
Basilio Bona 6 ROBOTICA 03CFIOR
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, 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 moves the robot joints
In this case, the Transducer must measure the task space quantities in order to
Controller Actuator Gearbox Robot Transducer
d
Basilio Bona 7 ROBOTICA 03CFIOR
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; the most used ones are digital camera sensors (vision-based control) or other types of 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 the Controller block
Two main joint space control architectures are possible Decentralized control or independent joint control: each i-th joint motor has a 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 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,
( )
i
q t ( )
i
q t ɺ
Basilio Bona 8 ROBOTICA 03CFIOR
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 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
Joint space
controller 2 joint 1 reference joint 2 reference
Decentralized Joint Control
1( )
Task space
controller 1
2( )
Basilio Bona 9 ROBOTICA 03CFIOR
…
controller 6 joint 6 reference
6( )
DLV-11J EPROM
Disk Teach pendant Other Terminal
µG
D/A Amplifier Encoder Motor 1 T=0.875 ms
PUMA Control
Basilio Bona 10 ROBOTICA 03CFIOR
EPROM RAM CPU
Interface
COMPUTER ROBOT CONTROL
D/A Amplifier Encoder Motor 6 Reference angles T=28 ms T=0.875 ms
µG
Robot Gearbox Friction Inertia
m r
m
Gearbox = Geartrain
Basilio Bona 11 ROBOTICA 03CFIOR
Motor Inertia Friction
m r
m
m
r m
r m
Output power Input power
a
a
a
b
b
m
m p
m r
Basilio Bona 12 ROBOTICA 03CFIOR
a
e
m
m
m
m p
m r
p
p
Armature circuit Motor inertia Gearbox Joint inertia
a
m r
a a
m r
m m
Motor side Joint side
Basilio Bona 13 ROBOTICA 03CFIOR
a a a a
m m m m
voltage drop
p
gearbox efficiency
b m b m
p
Joint side
m r
Ideal gearbox:
GEARBOX Power in Power out
Basilio Bona 14 ROBOTICA 03CFIOR
Motor side
m r
GEARBOX
m r
m r m r
r r m m
a a a a a e m m
φ ω
MOTOR SIDE
Basilio Bona 15 ROBOTICA 03CFIOR
m m m a a m a p m m m m m m m m r m p
ω τ
ω τ
JOINT SIDE
( ) ( ) ( )
r r m p m m m m m m m m m m
r r r r r r τ τ τ τ τ ω β ω τ ω β ω Γ Γ ′ = ′ ′ − ′ ′ ′ = − − ′ = − − = ɺ ɺ 1 1 ( ) 1
r r m p m b m b m
r r r τ τ τ τ τ ω β ω Γ ′ = = = + + + ɺ
MOTOR SIDE
Basilio Bona 16 ROBOTICA 03CFIOR
2(
)
m m m m m m m m m m
r r Γ τ β ω ω ′ = − + ɺ
2
1 1 1 1 1 ( )
m b m b m m b m b m m b m b m
r r r r r r τ ω β ω τ ω β ω Γ Γ Γ τ ω β ω = ′ ′ = + + + + ′ ′ = + + ɺ ɺ ɺ
T e
n n n ij j ijk j k bi i i fi ri
component-wise joint torques
Basilio Bona 17 ROBOTICA 03CFIOR
1 1 1
ij j ijk j k bi i i fi ri j j k
= = =
1 1
r n n n i ij j ijk j k bi i i fi j i i j i k i
≠ = =
Inertial torques Coriolis & centripetal torques Friction, gravity & external torques
1 1
n n n ij j ijk j k ii i bi i fi j i j k ri i
≠ = =
Basilio Bona 18 ROBOTICA 03CFIOR
M i ci gi f r ii i bi i i i
Modelled torques “Disturbance” torques
mi mi mi i i i i i i
Gearbox transformation
n ri ii i bi i ij j Mi ci gi fi
Basilio Bona 19 ROBOTICA 03CFIOR
Equation seen at the joint side Structured disturbance
ri ii i bi i ij j Mi ci gi fi j i mi mi bi bi Mi ci gi fi i i mi mi bi bi di i i
≠
Equation seen at the motor side since
2
ri ri bi mi bi mi di i i i
ri mi pi mi mi mi mi mi
and
Basilio Bona 20 ROBOTICA 03CFIOR
2 2
mi ri pi bi mi mi bi mi mi di i i i
we obtain Total inertia Total friction
mi pi di ti mi ti mi di
p d t m t m m d
Motor side
Basilio Bona 21 ROBOTICA 03CFIOR
= + +
t′
t′
2
bi mi i
2
bi mi i
Joint side
mi pi di ti mi ti mi di
p d t m t m d m =
Basilio Bona 22 ROBOTICA 03CFIOR
= + +
t
t
2 bi i mi
2 bi i mi
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
t t m m d m a
τ
Basilio Bona 23 ROBOTICA 03CFIOR
+ – + 1
a a
R sL + 1
t t
s β Γ + Kω Kτ 1 s
a
v
a
i
m
τ
d
τ
m
ω
m
θ – E
r
τ
m m
The armature circuit inductance is small and usually can be neglected
a a a a m
m a
Basilio Bona 24 ROBOTICA 03CFIOR
m a a m m d t m t m a a a a d t t m
ω τ ω τ τ τ
a t a t
ω ω ω τ
since
Basilio Bona 25 ROBOTICA 03CFIOR
armature losses armature e.m.f. torque m a t m m t m a a m a
ω τ ω τ τ
d
τ
d
K
a t a m a d
τ ω ω τ ω
a t a d
τ ω
where
Basilio Bona 26 ROBOTICA 03CFIOR
– +
ω
1 s
a
v
m
ω
m
θ
d
K
d
ω ω
T e r m m p
where
2 m m m a a m ω
2
m p m m m m m m m m
Lagrange Equation
Basilio Bona 27 ROBOTICA 03CFIOR
i m i a ai a i i i
τ ω ω
m p m m m m m m m m
Motor side Joint side Motor side Joint side and
Then, we have
2 2
m m m m e m a a ω
T
Mass matrix Friction matrix
Basilio Bona 28 ROBOTICA 03CFIOR
e m a a
c
Command input
Often we use this symbol to indicate the velocity dependent terms Gravity Interaction
T e c
c
Gravity and interaction No interaction
Basilio Bona 29 ROBOTICA 03CFIOR
c
No gravity, no interaction Control Design Problem
c =
c
Assuming, for simplicity If …
diagonal
2 2
m m m m m
Basilio Bona 30 ROBOTICA 03CFIOR
small
Then …
t d c
2 t m m
with
t c
disturbance The model is diagonal, i.e., naturally decoupled Each joint can be controlled by local controllers
–
d
τ ω
d
K
This is the proportional velocity controller
reference voltage
Basilio Bona 31 ROBOTICA 03CFIOR
– +
G s
ω
1 s
a
v
m
ω
m
θ
D
K
t
K s
– +
r
v e
Transducer T.F. (tachimetric sensor)
t t
K s K ≈
m D r
ω ω
m a
ω ω
m d d
ω
Basilio Bona 32 ROBOTICA 03CFIOR
m d d d d D t
ω ω
D t
ω ω
d t
d
d
– +
( )
G s
ω
1 s
a
v
d
τ
m
ω
m
θ
d
K
Open loop
Basilio Bona 33 ROBOTICA 03CFIOR
– +
G s
ω
′ 1 s
r
m
m
θ
D
Closed loop
Time constant is reduced
Disturbance gain is reduced
d d D
Design parameter
d
τ
Basilio Bona 34 ROBOTICA 03CFIOR
when
t
– +
G s
ω
1 s
a
v
m
ω
m
θ
d
K
D
K
– +
r
v e
–
( )
G s 1
a
v
m
ω
m
θ K
+
e K
+
r
θ
d
τ
d
K
Controller 1
Basilio Bona 35 ROBOTICA 03CFIOR
+
( )
G s
ω
1 s
D
K
– +
P
K
–
1 K θ ≈ K θ
t
K 1
t
K ≈
1 2
m r
2 2
m d t
D P D P
τ
where
Basilio Bona 36 ROBOTICA 03CFIOR
D P D P a t
τ ω
Second-order TF with
1 1 · 2 2 1 ·
a D P t D P n a t
K K T K R K K K K K K K R
τ ω τ τ
α α ζ Γ ω Γ ′ = = = =
Configuration dependent
2
1
t b m
r Γ Γ Γ = + The damping coefficient and the natural frequency are inversely proportional to the square root of the inertia moment, that may vary in time when the angles vary
Basilio Bona 37 ROBOTICA 03CFIOR
( )
b ii
H t Γ = q 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 such a way that the damping ratio is satisfactory, e.g., no overshoot appears in the step response
,max t
Γ ζ ,
P D
K K
– +
G s
ω
1 s
a
v
m
ω
m
θ
P D
K sK ′ ′ +
– +
r
θ e
d
τ
d
K
Controller 2
( ) ( ) ( )
a P D
v t K e t K e t ′ ′ = + ɺ
3 2
m D P D r a t a t P
τ τ
4 2
m d t P a t
τ
A zero appears
Basilio Bona 38 ROBOTICA 03CFIOR
– +
G s
ω
1 s
a
v
m
ω
m
θ
P D
K sK ′ ′ +
– +
r
θ e
d
τ
d
K
– +
D
K
Controller 3 –
Basilio Bona 39 ROBOTICA 03CFIOR
Controller 2 Controller 1
( ) ( ) ( )
a D P D m
v t K K e t K t ω = − ( ) ( ) ( ) ( )
a P D r D m
v t K e t K t K t ω ω ′ = + −
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 40 ROBOTICA 03CFIOR
Basilio Bona 41 ROBOTICA 03CFIOR
saturation
It is a nonlinear effect, difficult to be considered a-priori Linearity saturation
max max min max min min
Basilio Bona 42 ROBOTICA 03CFIOR
Although we have considered rigid bodies, the elasticity is a phenomenon that limits the closed loop band We cannot design controllers that are “too fast” without taking explicitly into consideration some sort of elastic model. Recall that when we use a simplified model
t m t m
the proper structural resonance (or natural) frequency is
t r t
Basilio Bona 43 ROBOTICA 03CFIOR
Basilio Bona 44 ROBOTICA 03CFIOR
total
( ) v t ( ) f t
A nonlinear effect between velocity and friction force
viscous coulomb stiction
( ) v t
Basilio Bona 45 ROBOTICA 03CFIOR
c
Basilio Bona 46 ROBOTICA 03CFIOR
s s
v v c s c
δ
−
47 ROBOTICA 03CFIOR Basilio Bona