Robust Trajectory Control: Robotics 2
Robust Trajectory Control: Robotics 2
questions:
which should be the conditions on the estimates?
can we guarantee stability/performance, based on known
bounds on the uncertainties?
Robotics 2 2
Closed-loop equations -1
Robotics 2 3
Closed-loop equations -2
Robotics 2 4
Solution approach
Robotics 2 5
Working assumptions
1. bound on the desired trajectory
Robotics 2 6
Bound on the inertia matrix
assumption 2. can always be satisfied, knowing some upper and
lower bounds (that always exist due to the positive definiteness)
on the inverse of the inertia matrix
with
Robotics 2 7
Control design – step 1
linear control law with an added robust term
being
Robotics 2 8
Control design – step 2
(same) bound on nonlinear terms and added robust term
Robotics 2 9
Control design – step 3
solve an associated (linear) Lyapunov equation, for any
given symmetric matrix
Robotics 2 10
Solving the Lyapunov equation
in general, using lyap in Matlab (only once, in advance)
closed-form solution in an interesting scalar case (one
robot joint/link), to get a “feeling”...
if ⇒
if ⇒ ⇒
note: because of the discontinuity
we cannot directly conclude on the
(global) asymptotic stability of e=0 ⇒
Robotics 2 12
A smoother robust controller
Theorem 2
With the above continuous robust control law, any solution
, with , of the closed-loop error system is
uniformly ultimately bounded with respect to a suitable set
(a neighborhood of the origin)
Proof in Appendix B
Robotics 2 13
Case study: Single-link under gravity
model (no friction)
error equations
Robotics 2 14
Calculations for robust control
% real robot % bounding dynamic terms
I=5; mgd=7; % inertia
% initial robot state m=1/I_max; M=1/I_min;
th0=0;thp0=0; c=(M+m)/2;
% range of uncertainties alpha=(M-m)/(M+m);
I_min=5; I_max=10; Ihat=1/c; % =6.6667
mgd_min=5;mgd_max=7; % nonlinear terms (only gravity)
% linear tracking stabilizer gains Mphi=M*(mgd_max-mgd_min);
kp=25; kd=10; % two poles in -5 mgdhat=5;
% overall bounding
% robust control part rho0=Mphi/(1-alpha) % =0.6
% Lyapunov matrix P and b^T P term rho1=alpha/(1-alpha) % =0.5
A=[0 1; -kp -kd]; % smoothed version
q=1; Q=q*eye(2); epsilon=5*10^-4;
P=lyap(A',Q); % solve A'*P+P*A+Q=0
b=[0 1];
bP=b*P; % =[0.02 0.052] red values are used in Simulink
Robotics 2 15
Results
first trajectory – feedback linearization, no robust loop
0.04 10
0.02
5
0
0
position error (rad)
torque (Nm)
−0.02
−5
−0.04
−10
−0.06
0.2
0.15
0.1
velocity error (rad/s)
0.05
on velocity
−0.05
−0.1
−0.15
velocity error
−0.2
0 5 10 15 20 25 30
time (s)
Robotics 2 16
Results
first trajectory – discontinuous robust control
0.04 10
0.02
5
0
0
position error (rad)
torque (Nm)
−0.02
−5
−0.04
−10
−0.06
0.2
0.15
0.1
velocity error (rad/s)
−0.05
−0.1
but control chattering
−0.15
velocity error at high frequency
−0.2
0 5 10 15 20 25 30
(when error is close to zero)
time (s)
Robotics 2 17
Results
first trajectory – smoothed robust control
0.04 10
0.02
5
0
0
position error (rad)
torque (Nm)
−0.02
−5
−0.04
−10
−0.06
0.2
0.15
0.1
velocity error (rad/s)
−0.05
−0.1
without control chattering
−0.15
velocity error
−0.2
(using here )
0 5 10 15 20 25 30
time (s)
Robotics 2 18
Results
second trajectory – fbk linearization, no robust loop
0.03 20
15
0.02
10
0.01
position error (rad)
torque (Nm)
0 0
−5
−0.01
−10
−0.02
0.08
0.02
Robotics 2 19
Results
second trajectory – discontinuous robust control
0.03 20
15
0.02
10
0.01
position error (rad)
torque (Nm)
0 0
−5
−0.01
−10
−0.03 −20
0 5 10 15 20 25 30 0 5 10 15 20 25 30
time (s) time (s)
0.1
0.08
bang-bang acceleration profile
0.06
0.04
0.02
−0.02
Robotics 2 20
Results
second trajectory – smoothed robust control
0.03 20
15
0.02
10
0.01
position error (rad)
torque (Nm)
0 0
−5
−0.01
−10
−0.03 −20
0 5 10 15 20 25 30 0 5 10 15 20 25 30
time (s) time (s)
0.1
0.02
are further reduced,
without control chattering
0
−0.02
−0.04
and same control effort as
velocity error without robustifying term
−0.06
−0.08
−0.1
0 5 10 15
time (s)
20 25 30 (using here )
Robotics 2 21
Appendix A
Proof of bounds on the inertia matrix
so that, with the choice made for its estimate, it follows that
Robotics 2 22
Appendix B
Proof of Theorem 2
provided that