Está en la página 1de 40

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE

INGENIERÍA ELECTRÓNICA

Escuela Profesional de Ingeniería Electrónica

PRÁCTICA Nº 3 de ROBÓTICA

CINEMÁTICA INVERSA Y JACOBIANO DEL ROBOT

Autor: Lizardo Pari.

Alumnos: Gutierrez Oppe, Edisson

Kcana Saico, Alexander

Link de Video y Archivos:

https://drive.google.com/drive/folders/1e7hy9Tphu5ibgZNbn65Oa5_eTpt
6k2v4?usp=sharing
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

26 de Junio del 2022


I .- OBJETIVOS:

● Hallar la cinemática inversa de un robot


● Visualizar la trayectoria en 3D del robot para valores articulares hallados por
cinemática inversa.
● Hallar el jacobiano del robot.
● Verificar la pérdida de un gdl para una posición singular del robot.

II.- CONOCIMIENTOS PREVIOS

● ¿Cómo se encuentra la cinemática inversa de un robot?

● Problema difícil de resolver.


○ Obtener los valores de las variables articulares para que el enlace
terminal tenga una determinada posición y orientación.
● Se deben resolver un conjunto de ecuaciones algebraicas no lineales
simultáneas.
● Problemas fundamentales:
○ Ecuaciones no lineales (sen, cos en matrices de rotación).
○ Existen múltiples soluciones.
○ Es posible que no exista una solución.
○ Singularidades.

● ¿Qué es el jacobiano del robot?

Dentro de la cinemática diferencial, es encontrar la relación entre la velocidad (lineal


y angular) del efector final y la velocidad de las articulaciones. Formulación:
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
J es una matriz 6Xn llamada “jacobiano del robot”, que es función de las
articulaciones del robot. En algunas situaciones J puede ser reescrito como:

Donde Jp es una matriz 3Xn relativa a la contribución de q a la velocidad lineal y Jo


es una matriz 3Xn relativa a la contribución de q a la velocidad angular.

La ecuación anterior puede reescribirse como:

Donde Jp1 y Joi son vectores 3X1.


NOTA: qi representa una articulación general que puede ser prismática (de
traslación): i d , ó de rotación: θi .

● Cual es la condición del robot para comprobar que ha llegado a un punto


singular?

Singularidades son aquellas configuraciones donde la movilidad de la estructura es


reducida, es decir no se puede alcanzar, en esta situación, se pierden grados de
libertad, por ejemplo, cuando dos o más ejes de movimiento están alineados. Se
comprueba que en estas configuraciones el rango de J es deficiente, es decir que se
cumple que:

Cuando la estructura se encuentra en una singularidad, puede haber infinitas


soluciones a la cinemática inversa.

III.- PROCEDIMIENTO

1.- Introducción

La cinemática inversa responde al siguiente enunciado: “dada la posición y orientación del


efector final del robot, hallar los valores articulares correspondientes”. La solución a este
enunciado no siempre se consigue con una solución cerrada, sino que se recurre a métodos
iterativos, y por lo tanto dependiente del valor inicial de búsqueda. Asimismo, los resultados
matemáticos encontrados no siempre corresponden a los físicos pues pueden estar fuera
del rango de operación del robot.
El Jacobiano del robot relaciona los cambios diferenciales (velocidades) del efector final
(posición y orientación) con los cambios diferenciales de los valores articulares del robot.
Las posiciones singulares son aquellas donde el robot pierde gdl, en esta condición el rango
del Jacobiano es disminuido, o lo que es lo mismo: su determinante es cero. En Robotics
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
toolbox de Matlab se halla la cinemática inversa con el comando “ikine()” e “ikcon()”,
asimismo se halla el jacobiano del robot (para una posición particular de las articulaciones)
con “jacobn” y “jacob0”, el primero referido al sistema del extremo del robot y el segundo
referido a la base del robot.

2.- Cinemática inversa de un robot.

2.1.- Robot plano de 2 gdl:

a). Los parámetros D-H par el robot plano de la figura1, están dados en la Tabla1.

b) Definimos los eslabones del robot:


L(1)=Link([0 0 1 0 0]);
L(2)=Link([0 0 1 0 0]);
donde se ha considerado: l1=1, l2=1, y R=0.

c) Definimos el robot: rob=SerialLink(L,’name’,’robot1’,’comment’,’unsa’).


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

d) graficamos el robot para una posición específica: rob.plot([0 pi/2]).

e) Hallar la cinemática directa para estos dos valores de q1 y q2:


T1=rob.fkine([0 pi/2]).

f) Hallar la cinemática inversa:


rob.ikcon(T1);
se obtiene los valores iniciales de q1 y q2?.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

g) repetir e) y f) para los valores T2: [0 -pi/2], T3: [pi/2 –pi/2], T4: [0 pi].

2.2.- ROBOT PUMA (Programmable Universal Machine for Assembly):

a) ejecute la instrucción:
>>mdl_puma560
se define el robot puma con el identificador “p560” y las posiciones articulares por
defecto: qz=[0 0 0 0 0 0], qr=[0 pi/2 –pi/2 0 0 0], qs=[0 0 –pi/2 0 0 0], y qn=[0 pi/2 pi 0 pi/2 0].
Grafique el robot con “p560.teach()”.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

2.2.1.- POSICIONES ARTICULARES PARA UNA TRAYECTORIA RECTA:

b) defina un vector de tiempo: t=0:0.056:2;

c) defina una posición inicial y final: Ti=transl(0.6,-0.5, 0), Tf=transl(0.4,0.5,0.2).


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

d) hallar la trayectoria en el espacio cartesiano: T=ctraj(Ti,Tf,length(t)).


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

.
.
.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
e) calcule las posiciones articulares correspondientes a estas posiciones cartesianas:
q=p560.ikine(T).

f) graficamos el resultado: p560.plot(q) ó p560.plot(q,’loop’)


Nota: Se podría dibujar la recta, antes de f) hacer:
lin=zeros(length(t),3);
for i=1:length(t)
tmp=T(1:3,4,i);
lin(i,:)=tmp’;
end
plot3(lin(:,1),lin(:,2),lin(:,3)),grid on.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

2.2.2.- POSICIONES ARTICULARES PARA UNA TRAYECTORIA EN FORMA DE


OCHO

g) definir una frecuencia de oscilación: w=pi;

h) definir un punto 3D de inicio: po=[0.5 0.1 0.2];

i) posiciones en la coordenada X: px=po(1)+0.2*sin(w*t).*cos(w*t);


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
j) posiciones en la coordenada Y: py=po(2)+0.5*sin(w*t);

k) posiciones en la coordenada Z: pz=po(3)*ones(1,length(t));

l) graficar en 3D la forma en ocho deseada: plot3(px,py,pz,’*’),grid on


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

m) se forma la terna: Tcar=[px’ py’ pz’];

.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

.
.
n) matriz identidad auxiliar: id=eye(3);

o) se forma la matriz homogénea de posición:


for i=1:length(t)
Tc(:,:,i)=[id Tcar(i,:)’;0 0 0 1];
end
p) para estas posiciones cartesianas hallamos sus correspondientes posiciones
articulares: q=p560.ikine(Tc);

.
.
.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
q) ploteamos: p560.plot(q,’loop’)

2.2.3.- POSICIONES ARTICULARES PARA UNA TRAYECTORIA EN FORMA DE


ESPIRAL

r) defina un vector de tiempo: t2=0:0.1:7*pi;

.
.
.
s) posiciones en la coordenada X: py2=0.015*t2.*cos(t2);
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

.
.
.

t) posiciones en la coordenada Y: px2=0.6-0.15*t2.*t2/(50*pi);

.
.
.
u) posiciones en la coordenada Z: pz2=0.3+0.015*t2.*sin(t2);
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

.
.
.
v) graficar en 3D la forma de espiral: plot3(px2,py2,pz2),grid on

w) se forma la terna: Tcar2=[px2’ py2’ pz2’];


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

.
.
.

x) se forma la matriz homogénea de posición:


for i=1:length(t2)
Tc2(:,:,i)=[id Tcar2(i,:)’;0 0 0 1];
end

y) para estas posiciones cartesianas hallamos sus correspondientes posiciones


articulares: q2=p560.ikine(Tc2);
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

.
.
.
z) ploteamos: p560.plot(q2)

3.- JACOBIANO DEL ROBOT.

3.1.- robot plano de 2 gdl


a) Para el robot plano del apartado 2.1, hallar el jacobiano para la posición [0 pi/2]
J1=rob.jacob0([0 pi/2])
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
b) verificar el resultado con el cálculo teórico realizado en clase.
c) probar la instrucción “jacobn()”, cuál es la diferencia con “jacob0()”?.

%jacobO depende de la base del rbt y jacobe depende del extremo del rbt

d) calcular el jacobiano para: J2: [0 -pi/2], J3: [pi/2 -pi/2], J4: [0 pi].

Singularidades
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

e) Para el jacobiano de la posición [0 pi/2] hallar su rango y determinante:


rank(J1(1:2,:)), det(J1(1:2,:)).

f) Para el jacobiano para la posición [0 pi] (J4), hallar su rango y determinante,


explique el resultado.

g) Representar el robot para esta posición [0 pi/2].


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
3.2.- Robot Puma

a) Para el robot puma, hallar el jacobiano respecto a la base para la posición [0.1
0.75 -2.25 0 0.75 0]
J1=p560.jacob0([0.1 0.75 -2.25 0 0.75 0])

b) hallar su rango y determinante: rank(J1), det(J1).

c) hallar el jacobiano para la posición “qr”: J2=p560.jacob0(qr).

d) hallar su rango y determinante para este último jacobiano J2, explicar.


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
e) representar el robot para la posición “qr” e identificar la posición singular:
p560.plot(qr).

4 INFORME.

4.1.- Para el robot Puma (apartado 2.2a), obtenga la animación para la trayectoria de
su efector final en un plano horizontal de

a) un cuadrado de lado=0.4.

CODIGO MATLAB
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

b) una circunferencia de radio 0.2.


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

4.2.- Repetir 4.1a y 4.1b, para la animación en un plano genérico 3D (oblicuo).

a) un cuadrado de lado=0.4.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

CUADRADO INCLINADO
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

b) una circunferencia de radio 0.2.


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

CIRCUNFERENCIA INCLINADA
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

4.3.- Para la muñeca esférica de 3 gdl mostrado en la Figura 2:

a) Calcular manualmente la cinemática directa.


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

b) Calcular manualmente el jacobiano.


UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

c) Definir el robot en el simulador, encontrar la cinemática inversa y el jacobiano


para algunas posiciones angulares de θ1, θ2, y θ3.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

d) Analizar la existencia de posiciones singulares y bajo que condiciones. Nota:


verificar el rango de J eliminando tres filas convenientemente de acuerdo al aporte al
movimiento por los grados de libertad.

El robot en la coordenadas de theta 1,theta 2 y theta 3 posee singularidades ya que su


determinante es 0.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

V. APLICACIONES

● Se encontró una aplicación para la cinemática inversa de un robot, el artículo


pertenece a : Felipe J. Torres, Felipe J.Trujillo,Sergio A. Coy y Juan Mota, Reynaldo
Alanís.
● En resumen, el presente trabajo plantea la solución de la cinemática inversa y
directa de un manipulador Melfa Mitsubishi RV-M1, a través de una interfaz de
operación. Se comienza con una recopilación de la investigación realizada del robot
en el que se incluían sus soluciones cinemáticas y la explicación de la manipulación
por medio de software, de esto se toman datos guías. De esta forma se realizó la
solución por medio de un programa de cálculo y programación que permite al
usuario ver por medio de una interfaz gráfica la ubicación inicial y final del
manipulador.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA

● Nuestra referencia se encuentra en:


https://repository.udistrital.edu.co/bitstream/handle/11349/13402/G%C3%B3mezCam
posDar%C3%ADoAndr%C3%A9s2018.pdf?sequence=1&isAllowed=y

VI. CONCLUSIONES

● Dada la posición del efector final y la longitud de cada enlace, encontrar los ángulos
de las articulaciones.
● El objetivo consiste en encontrar los valores que deben adoptar las coordenadas
articulares del robot q=(q1,q2,...,qn)expT para que su extremo se posicione y oriente
según una determinada localización espacial.
● El procedimiento de obtención de las ecuaciones es dependiente de la configuración
del robot.
● La mayor parte de los robots poseen cinemáticas relativamente simples que facilitan
en cierta medida la resolución de su problema cinemático inverso.
VII. BIBLIOGRAFÍA

1. Andres, J., Gracia, L., & Tornero, J. (2011). Robotics and Computer-Integrated
Manufacturing. El sevier Ltd, SciVerse ScienceDirect, 265-274.
2. Aracil, R., Saltarén, R., Sabater, J. M., & Reinoso, O. (2006). ROBOTS PARALELOS:
MÁQUINAS CON UN PASADO PARA UNA ROBÓTICA DEL FUTURO. Revista
Iberoamericana de Automática e Informática Industrial., 3(1), 28.
3. Barraza, A., Rúa, J., Sosa, J., Yime, E., & Roldan, J. (2015). Modelado dinámico del
manipulador serial Mitsubishi Movemaster RV-M1 usando SolidWorks. Revista de la
facultad de Ingenierias Físicas Mecánicas, 49-62.
4. Barrientos, A., Peñín, L. F., Balaguer, C., & Aracil, R. (2007). Fundamentos de
robótica. MC GRAW HILL.
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN - ESCUELA PROFESIONAL DE
INGENIERÍA ELECTRÓNICA
5. Benbelkacem, Y., & Mohd-Mokhtar, R. (26-29 de Noviembre de 2012). Explicit
kinematic model of the Mitsubishi RV-M1 robot arm. IEEE, 404-409. Obtenido de
http://ieeexplore.ieee.org/document/6466627/

También podría gustarte