Está en la página 1de 18

UNIVERSIDAD NACIONAL DE

INGENIERÍA
FACULTAD DE INGENIERÍA
MECANICA

Informe #1
“Cinemática directa e inversa”

Curso: Análisis y control de robots MT517

Sección: A

Fecha: 25 de septiembre de 2017

Profesor: Ing. Calle Flores Iván

Integrantes:

Arteaga Meléndez, Dalton Marcel 20140264E


Chancafe Valladares, Fernando José 20144097F
Maita Asmat, Kevin Jose Luis 20140015E

FACULTAD DE INGENIERÍA MECÁNICA 1


ÍNDICE

Introducción 3

Objetivos 3

Cinemática directa 4

Representación Denavit-Hartenberg 5

Solución 6

Código de Matlab 7

Cinemática indirecta 11

Solución 12

Código de Matlab 13

Conclusiones 14

Anexos 15

FACULTAD DE INGENIERÍA MECÁNICA 2


INTRODUCCIÓN

La cinemática del robot estudia el movimiento del mismo con respecto a un sistema
de referencia. Así, la cinemática se interesa por la descripción analítica del
movimiento espacial del robot entre cualquier punto, siendo el más importante el
extremo final, con las coordenadas articulares.

Existen dos problemas fundamentales a resolver en la cinemática del robot, la


cinemática directa y la cinemática inversa.

La cinemática directa determina cual es la posición y orientación del extremo final


del robot, con respecto a un sistema de coordenadas que se toma como referencia,
mayormente el primer sistema o sistema cero, conociendo las dimensiones de las
articulaciones y parámetros geométricos del robot.

La cinemática inversa resuelve que configuración debe tener el robot para una
posición y orientación deseada.

OBJETIVOS

 Encontrar la cinemática directa e inversa.

 Relacionar la posición y orientación espacial del extremo del robot a partir de


sus coordenadas articuladas.

 Describir el método geométrico para la resolución de la cinemática inversa.

FACULTAD DE INGENIERÍA MECÁNICA 3


CINEMÁTICA DIRECTA

La cinemática de un robot es el estudio de los movimientos de un robot. En un


análisis cinemático la posición, velocidad y aceleración de cada uno de los
elementos del robot son calculados sin considerar las fuerzas que causan el
movimiento. La relación entre el movimiento y las fuerzas asociadas son estudiadas
en la dinámica de robots.

El estudio de la cinemática de manipuladores se refiere a todas las propiedades


geométricas y basadas en el tiempo del movimiento. Las relaciones entre los
movimientos y las fuerzas y movimientos de torsión que lo ocasionan constituyen
el problema de la dinámica.

La cinemática directa es una técnica usada en gráficos 3D por computadora, para


calcular la posición de partes de una estructura articulada a partir de sus
componentes fijas y las transformaciones inducidas por las articulaciones de la
estructura.

La cinemática directa se refiere al uso de ecuaciones cinemáticas para calcular la


posición de su actuador final a partir de valores específicos denominado
parámetros. Las ecuaciones cinemáticas de un robot son usadas en robots, juegos
de computadoras y la animación.

En general, un robot de n grados de libertad está formado por n eslabones unidos


por n articulaciones, de forma que cada par articulación - eslabón constituye un
grado de libertad. A cada eslabón se le puede asociar un sistema de referencia
solidario a él y, utilizando las transformaciones homogéneas, es posible representar
las rotaciones y traslaciones relativas entre los distintos eslabones que componen
el robot. La matriz de transformación homogénea que representa la posición y
orientación relativa entre los distintos sistemas asociados a dos eslabones
consecutivos del robot se denomina i-1Ai. Del mismo modo, la matriz 0Ak, resultante
del producto de las matrices i-1Ai con i desde 1 hasta k, es la que representa de
forma total o parcial la cadena cinemática que forma el robot con respecto al
sistema de referencia inercial asociado a la base. Cuando se consideran todos los
grados de libertad, a la matriz 0An se le denomina T, matriz de transformación que

FACULTAD DE INGENIERÍA MECÁNICA 4


relaciona la posición y orientación del extremo final del robot respecto del sistema
fijo situado en la base del mismo.

Representación Denavit-Hartenberg

Para describir la relación que existe entre dos sistemas de referencia asociados a
eslabones, se utiliza la representación Denavit - Hartenberg (D-H). Denavit y
Hartenberg propusieron en 1955 un método matricial que permite establecer de
manera sistemática un sistema de coordenadas {Si} ligado a cada eslabón i de una
cadena articulada. Además, la representación D-H permite pasar de un sistema de
coordenadas a otro mediante 4 transformaciones básicas que dependen
exclusivamente de las características geométricas del eslabón de la configuración
del robot (existen soluciones múltiples).

Figura N°1. Representación de Denavit-Hartenberg

FACULTAD DE INGENIERÍA MECÁNICA 5


Solución

𝐿𝑏
𝐿𝑎

𝑍1
𝐿𝑐 𝜃2 𝑌1
𝑑3
𝑋1 𝑍2
𝑍0 𝑌2
𝜃1 𝑌0 𝑋2
𝑋0

Figura N°2. Representación de Denavit-Hartenberg de nuestro brazo

PARÁMETROS DENAVIT-HARTENBERG

ARTICULACIÓN θ d a α

1 θ1 Lc La 0

2 θ2 -d3 Lb 0

MATRICES DE PASO HOMOGÉNEAS

𝐶θ −𝐶α𝑆θ 𝑆α𝑆θ 𝑎𝐶θ


𝐴𝑖−1
𝑖 = [ 𝑆θ 𝐶α𝐶θ −𝑆α𝐶θ 𝑎𝑆θ ]
0 𝑆α 𝐶α 𝑑
0 0 0 1

𝐶1 −𝑆1 0 𝐿𝑎𝐶1
𝐴10 = [ 𝑆1 𝐶1 0 𝐿𝑎𝑆1 ]
0 0 1 𝐿𝑐
0 0 0 1

𝐶2 −𝑆2 0 𝐿𝑏𝐶2
𝐴12 = [ 𝑆2 𝐶2 0 𝐿𝑏𝑆2 ]
0 0 1 −𝑑3
0 0 0 1

FACULTAD DE INGENIERÍA MECÁNICA 6


MATRIZ DEL ROBOT

𝐶12 −𝑆12 0 𝐿𝑏𝐶12 + 𝐿𝑎𝐶1


𝑇 = 𝐴10 𝐴12 = [𝑆12 𝐶12 0 𝐿𝑏𝑆12 + 𝐿𝑎𝑆1 ]
0 0 1 𝐿𝑐 − 𝑑3
0 0 0 1

CODIGO DE MATLAB

Codigo para obtener las matrices.

clc; clear all; close all

%--------------------------------------
%1. DEFINICION DE VARIABLES SIMBOLICAS
%--------------------------------------
syms theta1 d1 a1 alpha1 la lc
syms theta2 d2 a2 alpha2 lb d3

%-----------------------------------------------------------
%2. DEFINICION DE LAS MATRICES DE TRANSFORMACION HOMOGENEAS
"Ai"
%-----------------------------------------------------------

%2.1. MATRIZ "A1"


alpha1=0; %fijo
A1=matriz_homogenea_DH(theta1,lc,la,alpha1);

%2.2. MATRIZ "A2"


alpha2=0; %fijo
A2=matriz_homogenea_DH(theta2,-d3,lb,alpha2);

%----------------------------------------------------
%3. CALCULO DE LA MATRIZ DE TRANSFORMACION DEL ROBOT
%----------------------------------------------------

%3.1. PRIMER SISTEMA


T01=simplify(A1);
disp('Matriz T01')
pretty(T01)

%3.2. SEGUNDO SISTEMA


T02=simplify(T01*A2);
disp('Matriz T02')
pretty(T02)

FACULTAD DE INGENIERÍA MECÁNICA 7


Codigo Simulación cinemática directa.

%Tema: Cinematica de un manipulador antropomorfico de 2GDL


clc;clear all; close all
%-----------------------------------
%1. DEFINICION DEL SISTEMA INERCIAL
%-----------------------------------

%1.1. MATRIZ HOMOGENEA


T0=eye(4);

%1.2. PLOTEO DEL SISTEMA


plot_frame(T0,'color','k','view', 'auto');
axis([-2 4 -2 4 0 3])
hold on
grid on
xlabel('x(m)')
ylabel('y(m)')

%-----------------------
%2.SISTEMA COORDENADO 1
%-----------------------

%2.1DEFINICION DE PARAMETROS D_H


theta1=0;%Variable
d1=2; %Fijo
a1=1.5; %Fijo
alpha1=0; %Fijo

%2.2. DEFINICION DE LA MATRIZ HJOMOGENEA 'A1'


A1=matriz_homogenea_DH(theta1,d1,a1,alpha1);

%2.3.PLOTEAMOS EL SISTEMA COORDENADO


T01=A1;
h1=plot_frame(T01,'frame','1','color','b');

FACULTAD DE INGENIERÍA MECÁNICA 8


%------------------------
%3. SISTEMA COORDENADO 2
%------------------------

%3.1. DEFINICION DE PARAMETROS D_H


theta2=0;%Variable
d2=-2; %Fijo
a2=1.5; %Fijo
alpha2=0; %Fijo

%3.2. DEFINICION DE LA MATRIZ HJOMOGENEA 'A2'


A2=matriz_homogenea_DH(theta2,d2,a2,alpha2);
%3.3.PLOTEAMOS EL SISTEMA COORDENADO
T02=A1*A2;
h2=plot_frame(T02,'frame','2','color','m');

%----------------------
%4. LAZO DE SIMULACION
%----------------------
%4.1 MENSAJES
disp(' Presione una tecla para empezar ña simulacion!!!!')
pause

%4.2. LAZO PRINCIPAL


MOVE_JUNTA1=1; %ACTIVAR MOVIMIENTO DE LA JUNBTA 1
MOVE_JUNTA2=1; %ACTIVAR MOVIMIENTO DE LA JUNBTA 2

%4.3. LAZO
STEPS=18;
for i=1:STEPS
%A. ESTABLECEMOS NUEVOS VCALORES DE LAS JUNTAS
if(MOVE_JUNTA1)
theta1=theta1+4*pi/180;
end
if(MOVE_JUNTA2)
theta2=theta2+4*pi/180;
end
%B. MATRICES DE TRANSFORMACION HOMOGENEAS
A1=matriz_homogenea_DH(theta1,d1,a1,alpha1);
A2=matriz_homogenea_DH(theta2,d2,a2,alpha2);
T01=A1;
T02=A1*A2;
%C. PLOTEAMOS LOS SISTEMAS COORDENADOS
plot_frame(h1,T01);
plot_frame(h2,T02);

%D. DELTA DE TIEMPO


pause(0.3)
end

FACULTAD DE INGENIERÍA MECÁNICA 9


(a)

(b)

Figura N°3. Simulación de nuestro brazo robótico con ayuda del


programa Matlab. (a) Posición inicial. (b) Posición Final.

FACULTAD DE INGENIERÍA MECÁNICA 10


CINEMÁTICA INVERSA

La Cinemática inversa es la técnica que permite determinar el movimiento de una


cadena de articulaciones para lograr que un actuador final se ubique en una
posición concreta. El cálculo de la cinemática inversa es un problema complejo que
consiste en la resolución de una serie de ecuaciones cuya solución normalmente
no es única.
El objetivo de la cinemática inversa es encontrar los valores que deben tomar las
coordenadas articulares del robot para que su extremo se posicione y oriente según
una determinada localización espacial. Depende de la configuración del robot
(existen soluciones múltiples).

Siempre que se especifica una posición de destino y una orientación en términos


cartesianos, debe calcularse la cinemática inversa del dispositivo para poder
despejar los ángulos de articulación requeridos. Los sistemas que permiten
describir destinos términos cartesianos son capaces de mover el manipulador a
puntos que nunca fueron capaces de mover el espacio de trabajo a los cuales tal
vez nunca haya ido antes. A estos puntos los llamaremos puntos calculados.
El movimiento de una cadena cinemática ya sea si es un robot o un personaje
animado es modelado por ecuaciones cinemáticas propias de la misma cadena.
Estas ecuaciones definen la configuración de la cadena en términos de sus
parámetros.
Por ejemplo, las fórmulas de la cinemática inversa permiten el cálculo de los
parámetros de unión del brazo de un robot para levantar un objeto. Ya que una de
las Fórmulas similares es determinar las posiciones del esqueleto de un personaje
animado que se va a mover de una manera en particular.

Figura N°4. Representación de un brazo robótico con sus coordenadas


globales(O1) y locales (O2 y O3).

FACULTAD DE INGENIERÍA MECÁNICA 11


Solución

Figura N°5. Representación del cálculo de la cinemática inversa de nuestro brazo robótico.

1. Uniendo el punto inicial con el final del manipulador y hallando su


distancia:

ℎ2 = 𝑥𝑐 2 + 𝑦𝑐 2

2. Aplicando la ley de cosenos en el triángulo O’O1’O2:

ℎ2 = 𝐿𝑎 + 𝐿𝑏 − 2𝑥𝐿𝑎𝑥𝐿𝑏𝑥𝑐𝑜𝑠(𝑞2)

3. Despejando q2:

𝑥𝑐 2 + 𝑦𝑐 2 − 𝐿𝑎2 − 𝐿𝑏 2
𝑞2 = cos−1 ( )
2𝑥𝐿𝑎𝑥𝐿𝑏

FACULTAD DE INGENIERÍA MECÁNICA 12


4. Se define D:

𝑥𝑐 2 + 𝑦𝑐 2 − 𝐿𝑎2 − 𝐿𝑏 2
𝐷=
2𝑥𝐿𝑎𝑥𝐿𝑏

5. Usando propiedades trigonométricas a partir de 3 se despeja q2 de una


mejor forma:
±√1 − 𝐷 2
𝑞2 = tan−1 ( )
𝐷

6. En el triángulo O’XC’O2 se calcula q1 con una resta de ángulos:

𝑦𝑐 𝐿𝑏𝑥𝑠𝑖𝑛(𝑞2)
𝑞1 = tan−1 ( ) − tan−1 ( )
𝑥𝑐 𝐿𝑎 + 𝐿𝑏𝑥𝑐𝑜𝑠(𝑞2)

Código de Matlab

% CINEMÁTICA INVERSA

% Valores de La y Lb

La=11.5;
Lb=10;

% Ingrese las coordenadas finales xc y yc

xc=input('Ingrese la coordenada xc: ');


yc=input('Ingrese la coordenada yc: ');

% Calculando theta1 y theta2

num=(xc^2+yc^2-La^2-Lb^2);
den=(2*La*Lb);

D=num/den;

FACULTAD DE INGENIERÍA MECÁNICA 13


if(D>1 || D<-1)

display('POSICIÓN IMPOSIBLE DE ALCANZAR')

else

% Ángulo theta2
theta2 = atan2(+sqrt(1-D^2),D);

% Ángulo theta1
num1=Lb*sin(theta2);
den1=La+Lb*cos(theta2);

theta1= atan2(yc,xc)- atan2(num1,den1);


end

% Resultados: Ángulos q1 y q2

q1 = theta1
q2 = theta2

CONCLUSIONES

-La herramienta Matlab nos ayuda para este tipo de problemas, dado que se
puede programar para hacerlo más rápido.

-La cinemática inversa por el método geométrico se facilitó debido a que el robot
es un manipulador 2D de dos grados de libertad.

-Existen diferentes formas de llegar a un punto, esto se demostró en los cálculos,


una con el codo arriba y la otra con el codo abajo.

FACULTAD DE INGENIERÍA MECÁNICA 14


ANEXOS

1. ASPECTOS GENERALES DEL MOTOR

Motor DC Reductor 12v 16 Rpm S330020

Motor de corriente continua con reductor de 12Voltios y 16 revoluciones por


minuto, con una fuerza nominal de 10 Kg·cm y 30 kg·cm a máxima eficiencia.
Este motor de baja velocidad destaca por, su pequeño tamaño y gran potencia.
Especialmente indicado para aplicaciones que requieren baja velocidad y alta
potencia. Tensión: 12V. Consumo:<800 mA. Fuerza: 0,98 N·m. Diámetro del eje:
6mm

Especificaciones

Importante: Los tornillos de montaje no deben penetrar más de 3,5 mm en el


cuerpo del motor, ya que de lo contrario pueden dañar los engranajes del mismo.

FACULTAD DE INGENIERÍA MECÁNICA 15


Dimensiones:

FACULTAD DE INGENIERÍA MECÁNICA 16


2. ALGUNAS DIMENSIONES DEL BRAZO ROBÓTICO

Vista General del Brazo Robótico

Vista Frontal del Brazo Robótico

FACULTAD DE INGENIERÍA MECÁNICA 17


Vista Superior del Brazo Robótico

FACULTAD DE INGENIERÍA MECÁNICA 18

También podría gustarte