Practica 9 Robotica
Practica 9 Robotica
Practica 9 Robotica
ROBOTICA I PRACTICA 9
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
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.
FORMULACIÓN DE LAGRAGE-EULER
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.
7. Calcular las aceleraciones lineales de los centros de masa de cada eslabón.
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.
∑ τ=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;
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;
C(1,1)=-m1*G*U11*r11-m2*G*U21*r22;
C(2,1)=-m1*G*U12*r11-m2*G*U22*r22;
%VERIFICACION DE RESULTADOS
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
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
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
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)
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