0% found this document useful (0 votes)
5 views16 pages

Adaptive Control - Final Project

robots

Uploaded by

Jorge Zarate
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views16 pages

Adaptive Control - Final Project

robots

Uploaded by

Jorge Zarate
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16



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:

particular, this is true if the elements of ($  % are defined as:


 / 0# 0#2 0#2
( + ' 1$ 
%2,
 0 0 0
34
Property 2: There exists a m-vector 5 with components depending on mechanical parameters

#$%& ' ($  % ' )$% 6$7 7  & %5


(masses, moments of inertia, etc.), such that

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

< < <


system of n-coupled, second order nonlinear ordinary differential equations of the form:

> ?      
<= <  <
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

The kinetic energy is a quadratic function of the vector  of the form:


Equations of Motion

  / 
@ 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
!" !" !"

 Q9RS Q9RT Q9TS


So, the Christoffel symbols of the first kind:

LMNO F P ' U
 Q7T Q7S Q7R

A$%& ' V$  % ' B$%


Therefore, the matrix form of Euler-Lagrange equations will be:

Where the k, j-th element of the matrix V$  % is defined as

V!"3 1 V!"3 $%  !


!4

/    
 0<2 0<2 0<
1 P ' U 
 0 0 02 !
!4

A$%& ' V$  % ' B$%


Therefore, the equations of motion for a two link manipulator can be written as

A$% : 2x2 symmetric positive definite inertia matrixes


V$  % : 2x1 centripetal and coriolis torques vector

B$% : 2x1 gravitational torque vector


: 2x1 applied torque input vector

8 8X & \ \$ ' %  ) X


W YZ [ ' Z [Z [ ' W Y W Y
8X 8XX & \ ]  )X X

8 8 ^_ ' 8 $^ ' ^_ '  ^ ^_ `ab$%% ' c ' c
With

8X 8X 8 $^_ ' ^ ^_ `ab$%% ' c


8XX 8 ^_ ' ^ ^_ `ab$%% ' c
\ 8 ^ ^_ bT;$%
) $8 ^_ ' 8 ^% $B `ab$%% ' 8 ^_ B `ab$ ' %
)X 8 ^_ `ab$ ' %
m1=10, m2=5, l1=l2=1, lc1=lc2=0.5, I1=10/12, I2=5/12.

‡‰”‡••‘”ƒ–”‹š
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

A$%& ' V$  % ' B$% d$   & % e


to give

d$   & %: n x r Regressor matrix


ș: parameter vector containing the robot and payload parameters.

e 8  ^C ' c ; e 8  ^C  ^; ef 8  ^C ' 8  ^ ' c ; eg 8  ^C ' 8  ^;
Let the parameters be:
 

eh 8  ^C

8 e ' ef '  e  `ab$ %


So, the expressions change to

8X 8X e ' e  `ab$ %


8XX e
\ e  bT;$  %
) eg  B `ab$ % ' eh  B `ab$ '  %
)X eh  `ab$ '  %

d$   & % +  f g h


The Regressor matrix is a 2 x 5 matrix with following elements:

  f g h ,

%    
  & ' & ; 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:

”‘’‘•‡†‘–”‘ŽŽ‡”

d $    & %ei ' 2j I\-kl. ' 2m I\$no% 


The proposed control law [5] is given by
(22)
Where p  7 denotes the tracking error;
2j 9T:qr2j   2j s and 2m 9T:qr2m   2m s positive definite matrices
n Positive constant and estimated velocity kl is obtained from the following nonlinear filter:

'    
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  .

2ˆ ‰ bŠ‹ B$% and ] † !‡„ Œ 2ˆ


For robots with revolute joints, the vector of gravitational torque is bounded i.e.

Closed Loop system


The closed loop system is obtained by replacing the value for in the robot dynamic model

The parameter estimation error: e e ei ;e& ei&.


equation with the one in the control law above.

Therefore, closed loop system equation is as follows

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

Velocity Estimator Block

    
Controller Block

Parameter estimator 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:

B = diagonal {10, 10}; ī = diagonal {1.6,2.5,8,10,2.5}; ‡„ Ž]; ‡„ Ž;

Joint 1 Position tracking Output

Joint 2 Position tracking Output

    
Tracking error Output

Parameter Estimator Output

    
Control Torque 1 Output

Control Torque 2 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)

a11 = qdes1_dot2 + qdes2_dot2;


a12 = (cos(qdes2)*(2*qdes1_dot2+qdes2_dot2)) -
(sin(qdes2)*(2*qdes1_dot*qdes2_dot));
a13 = qdes1_dot2;
a14 = 9.8 * cos(qdes1);
a15 = 9.8 * cos(qdes1 + qdes2);
a21 = qdes1_dot2 + qdes2_dot2;
a22 = (qdes1_dot2*cos(qdes2))+(qdes1_dot*qdes1_dot* sin(qdes2));
a23 = 0;
a24 = 0;
a25 = cos(qdes1 + qdes2);
Ydes = [a11,a12,a13,a14,a15;a21,a22,a23,a24,a25];

b11 = qdes1_dot3 + qdes2_dot3;


b12 = (cos(qdes2)*((2*qdes1_dot3)+qdes2_dot3-(qdes1_dot*qdes1_dot)-
(2*qdes1_dot*qdes2_dot)))-
(sin(qdes2)*((2*qdes1_dot2)+qdes2_dot2+(2*qdes1_dot)+(2*qdes1_dot*qdes2_dot2)
+(2*qdes1_dot2*qdes2_dot)));
b13 = qdes1_dot3;
b14 = -9.8*sin(qdes1);
b15 = -2*9.8* sin(qdes1 + qdes2);
b21 = qdes1_dot3 + qdes2_dot3;
b22 = (sin(qdes2)*(2*qdes1_dot-qdes1_dot2)) +
(cos(qdes2)*(qdes1_dot3+(qdes1_dot*qdes1_dot)));
b23 = 0;
b24 = 0;
b25 = -2*sin(qdes1 + qdes2);
Ydes_dot = [b11,b12,b13,b14,b15;b21,b22,b23,b24,b25];

%    
To find the value of ȟ

'    

You might also like