Adaptive Control - Final Project
Adaptive Control - Final Project
In many industrial robots the joint velocity is estimated from position measurements rather than
from velocity sensors such as tachometer, which may provide signals with noise. Also in
practice, robotic actuators have physical constraints that limit the amplitude of the available
torques. Possible problems that could result from the implementation of controllers based on the
unlimited available torque assumption include degraded link position tracking and thermal or
mechanical failure. Therefore, when designing control strategies for such mechanisms, it is
important to take into account those actuator limits.
Most of the previous work on the design of such output feedback controllers with bounded
torque inputs has been targeted at the set-point control. From a review of the literature, it seems
that the more general tracking control problem has received less attention [1, 2]. In this project,
an adaptive controller with proper parameter estimation update law is designed so that the error
between the time-varying desired position and actual position of the robot system goes
asymptotically to zero. To achieve this, the adaptive controller uses only joint position
measurement, estimates the velocity and produces a saturated torque input. With this controller,
the local exponential stability for closed loop system is guaranteed.
We consider a mechanical system with n degree-of-freedom whose generalized coordinates are
q1, q2,…qn. The Lagrange equations describing the motion of the system are
(1)
Where , T and P are the kinetic energy and potential energy respectively, and is
the generalized force. The kinetic energy can be expressed as:
!"
(2)
Where is a function of the generalized coordinates. In the following, we denote q = [q1 q2 …
qn]T, then langrage equation (1 ) can be manipulated to derive:
#$%& ' ($ % ' )$%
When the * matrix D(q) is positive definite and symmetric, and is related to the inertial
(3)
properties of system, the vector function ( $ % is in general a nonlinear function of its
arguments and + ,T.
In the following development we only consider the system with the following two simplifying
Property 1: A suitable definition of ($ % makes the matrix -# (. skew-symmetric. In
properties:
Where 6 is * 8 matrix of known functions of $7 7 & % and 5is the m-vector of inertia
The control objective can be specified as: given desired 79 7 9 :;9 & <, which are assumed to be
parameters.
bounded, determine a control law for such that q asymptotically converge to qd, satisfying the
following conditions :
• All the parameters in the manipulator system (3) are unknown
• Use only joint position measurements
• Bounded torque inputs are used
It is necessary to use a two-link manipulator with the parameters given in previously to verify the
control algorithm.
The dynamics of robot manipulators has been given increasing attention in recent years whereas
the kinematic equations express the motion of the robot without consideration of the forces and
torques producing the motion, the dynamic equations describes the relationship between force
and motion. In the design of robots, the equations of motion are important to be considered. The
Euler-Lagrange equations are used to describe the mechanical system subject to holonomic
constraints. The Euler-Lagrange approach has a simple derivation of these equations from
Newton’s Second Law for a one-degree-of-freedom system. In order to determine the Euler-
Lagrange equations in a specific situation, one has to form the Lagrangian of the system, which
is the difference between the kinetic energy and the potential energy [3].
The Euler-Lagrange equations have several very important properties that can be exploited to
design and analyze feedback control algorithms. Among these are explicit bounds on the inertia
matrix, linearity in the inertia parameters, and the so-called skew symmetry and passivity
properties.
In general, for any system of the type considered, using the Euler-Lagrange equations leads to a
> ?
<= < <
By the number of so-called generalized coordinates that are required to describe the evolution of
the system, the order n of the system can be determined. We shall see that the n Denavit-
Hartenberg joint variables serve as a set of generalized coordinates for an n-link rigid robot.
Kinetic Energy for an n-Link Robot
By considering a manipulator consisting of n links, the linear and angular velocities of any point
on any link can be expressed in terms of the Jacobian matrix and the derivative of the joint
variables. Since in our case the joint variables are indeed the generalized coordinates, it follows
/
In general form, the kinetic energy of the manipulator can be written in the form of:
@ A$%
Where M(q) is a dependent symmetric positive definite matrix, the matrix M is called the inertia
matrix.
Potential Energy for an n-Link Robot
The only source of potential energy is gravity where the potential energy of the i-th link can be
computed by assuming that the mass of the entire object is concentrated at its center of mass and
B/ C! 8
is given by:
Where g is vector giving the direction of gravity in the inertial frame and the vector rci gives the
coordinates of the center of mass of link i. The total potential energy of the n-link robot is
therefore:
1 1 B/ C! 8!
!4 !4
/
@ 1 <$%D E F A$%
!"
Where the * inertia matrix M(q) is symmetric and positive definite for each qG H and
second the potential energy P=P(q) is dependent of . So, the Euler-Lagrange equations for such
a system can be derived as follows:
@ 1 <$%D E $%
!"
0
1 <2
03
"
< 0 <
1 <2 & ' 1 <2
<I 03 <I
" "
0 0< 0
1
02 02 02
!"
Thus the Euler-Lagrange equation can be written:
0<2 0< 0
1 <2 & ' J1 K 2
0 02 D 02
" !"
By interchanging the order of summation and taking advantage of symmetry, it can be shown:
0<2 0< 0<2 0<2 0<
J1 K 1 J1 ' K
0 02 D 0 0 02 D
!" !" !"
LMNO F P ' U
Q7T Q7S Q7R
/
0<2 0<2 0<
1 P ' U
0 0 02 !
!4
8 8 ^_ ' 8 $^ ' ^_ ' ^ ^_ `ab$%% ' c ' c
With
For implementing adaptive control, the parameters (link lengths, mass, moment of inertia etc)
need to be estimated [3]. So, the dynamic model equation can be re-arranged in following form
e 8 ^C ' c ; e 8 ^C ^; ef 8 ^C ' 8 ^ ' c ; eg 8 ^C ' 8 ^;
Let the parameters be:
eh 8 ^C
%
& ' & ; f & ; g B `ab$ %; h B `ab$ ' %;
$ & ' & % `ab$ % $ ' % bT;$ %
h `ab$ ' %; f g ];
& `ab$ % ' $ % bT;$ %
For all values of ,x,y,z; the inertia and coriolis matrix satisfy following properties [4,5]:
||x||2 = square root (xT. x) is the norm of vector x; Ȝmin{A(x)} and ȜMax{A(x)} denote the
minimum and maximum Eigen values of a symmetric positive definite matrix A(x).
Residual dynamics satisfy:
'
Velocity estimation
= tI\$ kl%
kl = ' uo
Implies that: kl uo v tI\$ kl%
Where w 9T:qr: :;s x 9T:qry y;s are positive definite matrices, and ei G cH
is the estimated parameter vector obtained from an update law [6].
Parameter Update
The parameter estimation update is as follows:
ei z {d / $ & %o |rd / $ & %o ' }d / $ & % +I\- kl. ~:;$no%,s <I
z is positive definite matrix; } is strictly positive constant between $}! } %.
! !
Bounded Torque
! refers to the maximum capability of torque provided by the robot actuator for the joint .
Lyapunov function
The closed loop system is globally stable in the lyapunov sense for some domain belonging to
the three dimensional space. The assumptions considered to prove stability are:
ȜMin{2m } > Ȗ1 and ȟmin < ȟ < ȟmax. The values are defined in the appendix.
2
The block diagram for the adaptive OFT controller is as follows
.
Robot Manipulator block
Controller Block
ı =10; 2j = diagonal {250,250}; 2m = diagonal {10, 10}; ȟ =0.05; A = diagonal {10, 10};
Following values are used for the tuning and limit parameters:
Tracking error Output
Control Torque 1 Output
The tracking control for the two link robot manipulator subject to parameter estimation, joint
position feedback and constrained torque is studies. The model is successfully implemented in
Simulink and the results are provided. The tracking error for the joint position measurements is
within 0.001 radians or 0.03 degrees. The settling time is less than 5 seconds for the steady state.
[1] M.A. Arteaga, “Robot control and parameter estimation with only joint position
measurements”, Automatica, Vol. 39, pp. 67–73, 2003.
[2] F. Zhang, D.M. Dawson, M.S. de Queiroz and W. Dixon, “Global adaptive output feedback
tracking control of robot manipulators”, IEEE Transactions on Automatic Control, Vol. 45, No.6
pp. 1203– 1208, 2000.
[3] M.W. Spong and M. Vidyasagar, Robot dynamics and control, John Wiley and Sons, New
York, 1989.
[4] L. Sciavicco and B. Siciliano, Modeling and control of robot manipulators, Springer,
London, 2000.
[5] Javier Moreno-Valenzuela, Víctor Santibáñez, Ricardo Campa, A Class of OFT Controllers
for Torque-Saturated Robot Manipulators: Lyapunov Stabilityand Experimental Evaluation,
Journal of Intelligent Robot Systems (2008) 51:65–88.
[6] Javier Moreno and Salvador Gonzalez , An Adaptive Output Feedback Tracking Controller
for Manipulators Subject to Constrained Torques, Proceedings of the 45th IEEE Conference on
Decision & Control, December 13-15, 2006.
/
#00" !!$
function [Ydes,Ydes_dot] =
fcn(qdes1,qdes2,qdes1_dot,qdes2_dot,qdes1_dot2,qdes2_dot2,qdes1_dot3,qdes2_do
t3)
%
To find the value of ȟ
'