Practica 9 Robotica

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

12

ROBOTICA I PRACTICA 9

UNIVERSIDAD CATÓLICA DE SANTA MARIA


FACULTAD DE CIENCIAS E INGENIERIAS FÍSICAS Y FORMALES

ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA-ELÉCTRICA Y


MECATRÓNICA

CURSO:
ROBOTICA 1

INFORME N° 9 – MODELO
COMPUTACIONAL
DOCENTE:
ING. JUAN CARLOS CUADROS

ALUMNO:
LUNA TURPO JOEL PAUL
ZEGARRA PAREDES CARLOS

AREQUIPA - PERU

-2015-
12
ROBOTICA I PRACTICA 9

PRACTICA DE LABORATORIO N° 9 – MODELO COMPUTACIONAL DINAMICO

I. OBJETIVO

I.1. Obtener el modelo dinámico de un robot aplicando las formulaciones de Newton-Euler y Lagrange.

I.2. Obtener el modelo dinámico de un robot aplicando los algoritmos computacionales de Lagrange y
Newton.

I.3. Resolver problemas de dinámica del robot aplicando los conceptos de modelo dinámico y los
algoritmos computacionales de Lagrange y Newton, empleando en la solución herramientas
matemáticas y de software.

II. MARCO TEORICO

FORMULACIÓN DE LAGRAGE-EULER 

La mecánica lagrangiana es una reformulación de la mecánica clásica introducida por Joseph Louis


Lagrange en 1788. En la mecánica lagrangiana, la trayectoria de un objeto es obtenida encontrando
la trayectoria que minimiza la acción, que es la integral del lagrangiano en el tiempo; siendo éste
la energía cinética del objeto menos la energía potencial del mismo.La formulación lagrangiana
simplifica considerablemente muchos problemas físicos. Por ejemplo, los sistemas de referencia
inerciales son tratados en pie de igualdad y a diferencia de las leyes de Newton la forma de las
ecuaciones del movimiento no depende del sistema de referencia elegido.

FORMULACIÓN DE NEWTON-EULER 
Como puede sobreentenderse de su denominación, el modelo dinámico de un robot permite
explicar su movimiento a partir de las causas que lo originan, precisando a estas últimas como las
fuerzas y momentos existentes en sus distintos elementos.
Igual que en el caso del estudio cinemático pueden diferenciarse dos tipos de modelos dinámicos:
directo e inverso. En el modelo dinámico directo se obtiene una descripción del movimiento del
robot en función de  fuerzas y pares; mientras que en el caso del modelo dinámico inverso se busca
una representación de esas mismas fuerzas y momentos, como funciones de los parámetros
articulares y sus derivadas.
Uno de los procedimientos más viables para realizar la tarea nada fácil de modelar dinámicamente
un robot, se basa en la segunda Ley de Newton y en la Ley de Euler que, respectivamente, son:
12
ROBOTICA I PRACTICA 9

Estas dos leyes permiten desarrollar un algoritmo de unos 10 pasos para obtener expresiones de las
Fuerzas en las articulaciones prismáticas y los pares o momentos en las rotoides; todas en función de los
parámetros articulares.

 Algoritmo de Resolución (Método Newton-Euler)

1.   Obtención de los parámetros de Denavit-Hartenberg.

2.  Obtención de las matrices de Rotación y sus inversas.

3.   Establecer Condiciones iniciales: Velocidad angular, aceleración angular, velocidad lineal,


aceleración lineal.

4.   Calcular las velocidades angulares de cada sistema.

5.   Calcular las aceleraciones angulares de cada sistema.

6.   Calcular las aceleraciones lineales de cada sistema.

7.   Calcular las aceleraciones lineales de los centros de masa de cada eslabón.

8.  Calcular la fuerza ejercida sobre cada eslabón.

9.   Calcular el par ejercido sobre cada eslabón.

10. Calcular el par o la fuerza sobre cada articulación.

III. MATERIAL Y EQUIPO


III.1. Una PC con SO Windows XP y MATLAB
12
ROBOTICA I PRACTICA 9

IV. PROCEDIMIENTO
IV.1. Obtener las ecuaciones del movimiento del robot de la figura, considerando que la masa de cada
uno de los enlaces se concentra en su centro de masas. Emplear los algoritmos computacionales de
Lagrange y Newton en la solución. Aplicar MATLAB.

 Por Euler, haciendo un análisis de la figura:

∑ τ=I∗θ̈+ θ̇∗I∗θ̇
τ =M 1∗L12∗θ̈1 + M 2∗d22∗θ̈1

 Lagrange

d dL dL
− =τ
dt d θ̇1 d θ 1

1 2 2 1 2 2
L=− ( M 1+ M 2 )∗g∗h+ ∗M 1∗L 1 ∗θ̇1 + ∗M 2∗d 2 ∗θ̇1
2 2
2 2
τ =M 1∗L1 ∗θ̈1 + M 2∗d2 ∗θ̈1
12
ROBOTICA I PRACTICA 9

Modelo Computacional

CODIGO MATLAB

syms t
%definicion simbolica de la posicion
%algoritmo de Lagrange para la solucion del modelo dinamico
%definicion de la trayectoria
%definicion simbolica de la trayectoria de posicion
sq1=sin(2*t)+pi/2;
sq2=t^2;
%obtencion simbolica de la velocidad y acelracion
sqd1=diff(sq1,'t');sqdd1=diff(sqd1,'t');
sqd2=diff(sq2,'t');sqdd2=diff(sqd2,'t');
%parametros dimensionales
L1=10;
m1=20;
m2=10;
g=9.8;
G=[g 0 0 0];
r11=[0 0 L1 1]';
r22=[0 0 0 1]';
%Matrices de derivacion
Qr=zeros(4);Qr(1,2)=-1;Qr(2,1)=1;
Qd=zeros(4);Qd(3,4)=1;
%bucle de paso de
tiempo
for tk=1:1:50;
t=(tk-1)/10;
%evaluacion numerica e posicion, velocidad y aceleeracion
q1=eval(sq1);Q1(tk)=q1 ;qd1=eval(sqd1) ;qdd1=eval(sqdd1);
q2=eval(sq2);Q2(tk)=q2 ;qd2=eval(sqd2) ;qdd2=eval(sqdd2);
%pasos 1 y 2 obtencion de las matrices de tranformacion Aij
%matrices A00 y A11 son la identidad
A00=eye(4);
A11=eye(4);
%evalua las matrices A01 y A02
A01 = [cos(q1) 0 -sin(q1) 0;sin(q1) 0 cos(q1) 0; 0 -1 0 0;0 0 0 1];
A12 = [1 0 0 0; 0 1 0 0;0 0 1 q2;0 0 0 1];
%Evalua la matriz A02=A011*A2
A02 = A01*A12;
%PASO 3 evaluacion matrices Uij
U11=A00*Qr*A01;
U12=zeros(4);
U21=A00*Qr*A02;
12
ROBOTICA I PRACTICA 9

U22=A01*Qd*A12;

%Paso 4 Evaluacion de las matrices Uijk


%-------------------------------------
U111=A00*Qr*A00*Qr*A01;
U112=zeros(4);
U121=zeros(4);
U122=zeros(4);
U211=A00*Qr*A00*Qr*A02;
U212=A00*Qr*A01*Qd*A12;
U221=A00*Qr*A01*Qd*A12;
U222=A01*Qd*A11*Qd*A12;

%PASO 5 evaluacion mtraices de pseudoinercia Ji


J1=zeros(4);J1(3,3)=L1^2*m1;J1(3,4)=L1*m1;J1(4,3)=L1*m1;J1(4,4)=m1;
J2=zeros(4);J2(4,4)=m2;

%PASO 6 Evaluacion de matriz de Inercias D


D(1,1)=trace(U11*J1*U11')+trace(U21*J2*U21');
D(1,2)=trace(U22*J2*U21');
D(2,1)=D(1,2);
D(2,2)=trace(U22*J2*U22');

%PASO 7-8 Evaluacion de la matriz Coriolis h


h111=trace(U111*J1*U11')+trace(U211*J2*U21');
h112=trace(U212*J2*U21');
h121=trace(U221*J2*U21');
h122=trace(U222*J2*U21');
h211=trace(U211*J2*U22');
h212=trace(U212*J2*U22');
h221=trace(U221*J2*U22');
h222=trace(U222*J2*U22');

H(1,1)=h111*qd1*qd1+h112*qd1*qd2+h121*qd2*qd1+h122*qd2*qd2;
H(2,1)=h211*qd1*qd1+h212*qd1*qd2+h221*qd2*qd1+h222*qd2*qd2;

%PASO 9 evaluacion de la matriz de Gravedad C

C(1,1)=-m1*G*U11*r11-m2*G*U21*r22;
C(2,1)=-m1*G*U12*r11-m2*G*U22*r22;

%PASO 10 Evaluacion de los pares


PARES(:,tk)=D*[qdd1 qdd2]'+H+C;

%FIN DEL ALGORITMO

%VERIFICACION DE RESULTADOS

%Este codigo es unicamente a efectos de verificar


%que la programacion del algoritmo es correcto
%obtiene la solucion analitica obtenidad manualmente
%(expresion [5.18]

T1=(m1*L1^2+m2*q2^2)*qdd1+2*q2*m2*qd1*qd2;
12
ROBOTICA I PRACTICA 9

T1=T1+g*(m1*L1*cos(q1)+m2*q2*cos(q1));
F2= m2*qdd2-q2*m2*qd1^2+m2*g*sin(q1);
PARES2(1,tk)=T1;
PARES2(2,tk)=F2;
end
% fin del bucle de paso de tiempo

%presentacion grafica de los resultados

figure(1);clf
subplot(2,2,1),plot(Q1),grid,legend(strcat('Q1:','sin(2*t)+pi/2'),0)
subplot(2,2,2),hold,
plot(PARES(1,:)),plot(PARES2(1,:),'rx')
grid,title(' PAR Q1 Alg.Lagrange'),hold

subplot(2,2,3),plot(Q2),grid,legend(strcat('Q2:','t'),0)
subplot(2,2,4),hold
plot(PARES(2,:)),plot(PARES2(2,:),'rx')
grid,title(' PAR Q2 Alg.Lagrange'),hold

 Se puede observar que la trayectoria asignada al modelo de robot mostrado es seguida por esta
con torques diferentes de sus actuadores.

IV.2 Obtener las ecuaciones del movimiento del robot de la figura, considerando que la masa de cada
uno de los enlaces se concentra en su centro de masas.
12
ROBOTICA I PRACTICA 9

LAGRANGE

Primer Grado

1 2
∗M 1∗l
2 M ∗g∗l
L= ∗θ̇12− 1 ∗sin ⁡(θ1 )
4 2

d dL dL
− =τ
dt d θ̇1 d θ 1
2
M 1∗l M 1∗g∗l
∗θ̈1− ∗cos ( θ1 )=τ
4 2

Segundo grado

1 2
∗M 2∗l
2
L= ∗θ̇22−M 2∗g∗(l∗sin ( θ1 ) +l∗sen ( θ2 ) )
4

d dL dL
− =τ
dt d θ̇1 d θ 1
2 2
M 1∗l M 1∗g∗l M 2∗l ¨ M 2∗g∗l
∗θ̈1+ ∗cos ( θ 1) + ∗θ2 − ∗cos ( θ 2 )=τ
4 2 4 2
12
ROBOTICA I PRACTICA 9

EULER

∑ τ=I∗θ̈+ θ̇∗I∗θ̇
2
M 1∗l M ∗g∗l
∗θ̈1− 1 ∗cos ( θ1 )=τ
4 2
2 2
M 1∗l M ∗g∗l M ∗l M ∗g∗l
∗θ̈1+ 1 ∗cos ( θ 1) + 2 ∗θ¨2 − 2 ∗cos ( θ 2 )=τ
4 2 4 2

Sumando terminos

M 1∗l 2 M 1∗g∗l M 2∗l 2 M 2∗g∗l M 1∗l 2 M 1∗g∗l


∗θ̈1+ ∗cos ( θ 1) + ¨
∗θ2 − ∗cos ( θ 2 )+ ∗θ̈1− ∗cos ( θ1 )=τ
4 2 4 2 4 2

Modelo Computacional

clc
clear all
close all
syms q1 q2 l1 l2 lc1 lc2 m1 m2 real
syms v1 v2 a1 a2 g real
%TABLA DE PARAMETROS
MP=[ q1-pi/2 0 l1 0; q2 0 l2 0 ]
%MATRICES DE TRANSFORMACION
A01=[ cos(MP(1,1)), (-1)*cos(MP(1,4))*sin(MP(1,1)),
sin(MP(1,4))*sin(MP(1,1)), MP(1,3)*cos(MP(1,1)) ; sin(MP(1,1)),
(cos(MP(1,4)))*cos(MP(1,1)), -sin(MP(1,4))*cos(MP(1,1)),
(MP(1,3))*sin(MP(1,1)) ; 0 (sin(MP(1,4))) cos(MP(1,4)) (MP(1,2)) ; 0 0 0 1 ]
A12= [cos(MP(2,1)) -cos(MP(2,4))*sin(MP(2,1)) (sin(MP(2,4)))*sin(MP(2,1))
(MP(2,3))*cos(MP(2,1)) ; sin(MP(2,1)) (cos(MP(2,4)))*cos(MP(2,1)) -
12
ROBOTICA I PRACTICA 9

sin(MP(2,4))*cos(MP(2,1)) MP(2,3)*sin(MP(2,1)) ; 0 sin(MP(2,4)) cos(MP(2,4))


MP(2,2) ;0 0 0 1 ]
%MATRIZ DE TRANFORMACION HOMEGEA FINAL
A02=A01*A12;
A02=simple(A02)
% PASO 3 Evaluacion matrices Uij
%--------------------------------
%Matrices de Derivación Qr y Qd
Qr=zeros(4);Qr(1,2)=-1;Qr(2,1)=1;
Qd=zeros(4);Qd(3,4)=1;
% Matrices A00 y A11 son la identidad
A00=eye(4);
A11=eye(4);
A22=eye(4);
%DESARROLLO
U11=A00*Qr*A01
U12=zeros(4)
U21=A00*Qr*A02
U22=A01*Qr*A12
%PASO 4 Evaluación de las matrices Uijk
%--------------------------------------
U111=A00*Qr*A00*Qr*A01
U112=zeros(4)
U121=zeros(4)
U122=zeros(4)
U211=A00*Qr*A00*Qr*A02
U212=A00*Qr*A01*Qr*A12
U221=A00*Qr*A01*Qr*A12
U222=A01*Qr*A11*Qr*A12
% PASO 5 Evaluación matrices de pseudoinercia Ji
%-----------------------------------------------
xc2=-(l2-lc2)
yc2=0
zc2=0
xc1=-(l1-lc1)
yc1=0
zc1=0
%J1=zeros(4);J1(1,1)=xc1*m1;J1(1,4)=xc1*m1;J1(4,1)=xc1*m1;J1(4,4)=m1;
J1=[xc1^2*m1 xc1*yc1*m1 xc1*zc1*m1 xc1*m1;
xc1*yc1*m1 yc1^2*m1 yc1*zc1*m1 yc1*m1;
zc1*xc1*m1 zc1*yc1*m1 zc1^2*m1 zc1*m1;
xc1*m1 yc1*m1 zc1*m1 m1]
%J2=zeros(4);J2(1,1)=xc2*m2;J2(1,4)=xc2*m2;J2(4,1)=xc2*m1;J2(4,4)=m2;
J2=[xc2^2*m2 xc2*yc2*m2 xc2*zc2*m2 xc2*m2;
xc2*yc2*m2 yc2^2*m2 yc2*zc2*m2 yc2*m2;
zc2*xc2*m2 zc2*yc2*m2 zc2^2*m2 zc2*m2;
xc2*m2 yc2*m2 zc2*m2 m2]
% PASO 6 Evaluación de la matriz de Inercias D
D(1,1)=trace(U11*J1*U11')+trace(U21*J2*U21')
D(1,2)=trace(U22*J2*U21')
D(2,1)=D(1,2)
D(2,2)=trace(U22*J2*U22')
% PASO 7-8 Evaluación de la matriz de Coriolis H
h111=trace(U111*J1*U11')+trace(U211*J2*U21')
h112=trace(U212*J2*U21')
h121=trace(U221*J2*U21')
12
ROBOTICA I PRACTICA 9

h122=trace(U222*J2*U21')
h211=trace(U211*J2*U22')
h212=trace(U212*J2*U22')
h221=trace(U221*J2*U22')
h222=trace(U222*J2*U22')
H(1,1)=h111*v1*v1 + h112*v1*v2 + h121*v2*v1 + h122*v2*v2;
H(2,1)=h211*v1*v1 + h212*v1*v2 + h221*v2*v1 + h222*v2*v2;
% PASO 9 Evaluación de la matriz de Gravedad C
G=[0 -g 0 0];
r11=[ xc1 0 0 1]';
r22=[xc2 0 0 1]';
C(1,1)=-m1*G*U11*r11-m2*G*U21*r22;
C(2,1)=-m1*G*U12*r11-m2*G*U22*r22;
% PASO 10 Evaluación de los pares
PARES=D*[a1 a2]'+H+C
simple(PARES)

%presentacion grafica de los resultados

figure(1);clf
subplot(2,2,1),plot(Q1),grid,legend(strcat('Q1:','sin(2*t)+pi/2'),0)
subplot(2,2,2),hold,
plot(PARES(1,:)),plot(PARES2(1,:),'rx')
grid,title(' PAR Q1 Alg.Lagrange'),hold

subplot(2,2,3),plot(Q2),grid,legend(strcat('Q2:','t'),0)
subplot(2,2,4),hold
plot(PARES(2,:)),plot(PARES2(2,:),'rx')
grid,title(' PAR Q2 Alg.Lagrange'),hold
12
ROBOTICA I PRACTICA 9

Conclusiones

 Con las formulaciones de Lagrange y Newton-Euler podemos resolver el sistema dinámico de


cualquier robot y poder calcular como actúan las fuerzas dinámicas
 Con el algoritmo computacional podemos visualizar como se mueve el brazo robótico y por
consiguiente como fluctúan los toques
 Podemos desarrollar este análisis para cualquier brazo de n grados pero el inconveniente es
resolverlo manualmente la solución está en el algoritmo computacional
 Se pudo observar que a medida que cambia una trayectoria el torque de los actuadores van
cambiando, pues esto se debe a que en tiempo real el centro de masa a medida que se mueve el
robot cambia.

También podría gustarte