Professional Documents
Culture Documents
+ n(q, q ) = u
B(q)q
c(q, q ) + g(q) + friction model
ud = B(qd )q d + n(qd , q d )
In practice ...
a number of differences from the nominal condition
"
"
"
"
"
Robotics 2
Introducing feedback
u d = B (qd )q d + n (qd , q d )
. ..
open loop)
! ON LINE (
closed loop)
only local
stabilization of
trajectory
error
e(t)=qd(t)-q(t)
the most robust to uncertainties, but also the most complex to implement in real time
Robotics 2
q d + K Dq d
a
B (q)
+ K Pqd
B (q)
"1
+
_
"
"
n(q, q )
symmetric and
!
positive definite
matrices KP, KD
in nominal
conditions
(B=B,
n=n)
!
K!
D
n (q, q )
KP
+ n(q,!
B(q)q
q ) = u = B(q)a + n(q, q )
Robotics 2
= a
q
linear and
decoupled
system
6
a=q
"
+
-
KD
diagonal, > 0
"
KP
linearity
decoupling
+ K D e + K P e = 0 " e
i + K Di e i + K Pi e i = 0
e
Remarks
"
qd (0)
d (t)
q
!
"
"
"
qd (0)
q d (t)
"
qd(t)
^
.
!
real-time
computation
Newton-Euler algo: uFL=NE!(q,q,a)!!
!
simulation
of feedback!linearization control
!
!
.
qd(t), qd(t),
..
qd(t)
!
by
feedback
linearization
q
q
robot
Note: there is no sense in simulating the ideal case (" = " ), since the robot behavior
!
will be identical to the linear and decoupled case of stabilized double integrators
Robotics 2
Further comments
"
e(t)=qd(t)-q(t)
"
parametric identification
"
"
"
e(0)
Robotics 2
4N state
variables
(1)
(2)
dt
Robotics 2
10
"
"
"
"
"
"
symmetric and
positive definite matrices
.
..
the q and q that appear linearly in the model are evaluated on the
desired trajectory
Robotics 2
11
"
V = " e T (K D + FV )e # 0
"
V = 0 " e = 0
direct
! application of LaSalle is not allowed, since the system is
time-varying (because of qd(t))
!
Robotics 2
12
"
= "2 e T (K + F ) e
V
D
V
"
"
.
q is
bounded
S(q, q ) " # S q
bounded bounded
bounded
in norm by " S q
Robotics 2
bounded
bounded
!
!
V = 0
tlim
"#
13
"
V = 0 " e = 0
"
= "K Pe
B(q)e
!
= 0 # e = 0
" e
(e, e ) = (0,0)
is the largest.
invariant set in V=0
!
!
Robotics 2
14
"
"
"
no special simplifications
"
Robotics 2
15
"
"
"
"
Robotics 2
16
plug-in
signal
c(s)
w(s) =
y(s)
p(s)c(s)
=
y d (s) 1+ p(s)c(s)
p(s)
Robotics 2
p(s)
v k (s)
1+ p(s)c(s)
recursive expression
of feedforward term
" (s)c(s)
v k+1 (s) =
y (s) + (# (s) $ " (s)w(s) ) v k (s)
1+ p(s)c(s) d
recursive expression
of error e=yd-y
!
1 - " (s)
e k+1 (s) =
y (s) + (" (s) # $ (s)w(s) ) e k (s)
1+ p(s)c(s) d
"
v " (s) =
Robotics 2
y d (s)
# (s)w(s)
p(s) 1 $ % (s) + # (s)w(s)
e" (s) =
y d (s)
1 # $ (s)
1+ p(s)c(s) 1 # $ (s) + % (s)w(s)
18
(cont)
"
v " (s) =
y d (s)
p(s)
Robotics 2
19
Application to robots
"
!
Robotics 2
i =1,,N
] [
Experimental set-up
"
$90% gravity
balanced
through springs
50/s
160
high level of
dry friction
Harmonic Drives
transmissions
with ratio 160:1
DSP Tc = 400s
D/A = 12 bit
R/D = 16 bit/2$%
A/D = 11 bit/(rad/s)%
Robotics 2
resolvers and
tachometers
21
Experimental results
Robotics 2
feedback uk for k = 1, 3, 6, 12
joint 3
joint 2
error for k = 1, 3, 6, 12
22