ROBOTICA 299011-1 Fase 3. Realizar el modelamiento cinemático de un sistema robótico.
Presentado por. YOOLFRAN ARRIETA RADA COD. 12436687 HAROLD FAVIAN DIAZ LEONIS COD. 77171510 ZARINA ESTHER GONZALEZ COD. 1065647463 HEIGLER ENRIQUE OSPINO COD. 1129569265 JHONY MANUEL LUNA COD
Tutor. SANDRA ISABEL VARGAS
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD) ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIAS PROGRAMA DE INGENIERIA ELECTRONICA 2018
INTRODUCCION La cinemática del robot estudia el movimiento del mismo con respecto a un sistema de referencia. Se interesa por la descripción analítica del movimiento espacial del robot como una función del tiempo, y en particular por las relaciones entre la posición y la orientación del extremo final del robot con los valores que toman sus coordenadas articulares. Con el fin de controlar y programar un robot se debe tener conocimiento tanto de su disposición espacial y un medio de referencia del entorno. C i nem nemáti áti ca. ca. Se conoce como el estudio analítico de la geometría del movimiento de un brazo robótico: Con respecto a una referencia fija de un sistema de coordenadas. Sin tener en cuenta las fuerzas o momentos que causan el movimiento.
1. Tabla donde se relacionen los enlaces a los videos creados por cada estudiante para evidenciar el desarrollo de la práctica # 1. YOOLF RAN ARR I E TA RADA COD. 12436687 HAR OLD F AVI AN DI AZ LE ONI S COD. 77171510
https://www.youtube.com/watch?v=9ssiBibvY4&feature=youtu.be
https://youtu.be/SgFO0RKUMpM
ZAR I NA E STH E R G ONZALE Z COD . 1065647463 HE I GLER E NRI QUE OSPI NO COD. 1129569265 J H ONY MANUE L LUNA COD .
2. Tabla con definiciones de los conceptos desconocidos sobre Cinemática directa e inversa del robot.
CONCEPTOS Cinemática directa.
DEFINICION Las posiciones de las articulaciones ya están determinadas y el problema radica en encontrar la configuración del efector final. En la cinemática directa para posición, las posiciones de las articulaciones, es decir, los ángulos de las articulaciones de revoluta y el desplazamiento de las articulaciones prismáticas se conocen. La tarea es encontrar la configuración del efector final, es decir, su posición y orientación.
Cinemática inversa.
Matriz de traslación.
Matriz de rotación. Matriz transformación homogénea.
Se resuelve inverso, es decir, la posición del efector final está determinada y el problema radica en encontrar los ángulos de las articulaciones. El problema de la cinemática inversa consiste en la determinación de las variables de articulaciones correspondientes a una orientación y posición específicas del efector final. La solución de este problema es de fundamental importancia con el fi n de transformar las especificaciones de movimiento asignadas al efector final en el espacio operacional en los correspondientes movimientos de espacio de las articulaciones. En la cinemática inversa es mucho más complejo debido a las siguientes razones. Por lo general, las ecuaciones por resolver son no lineales en las variables de articulaciones; de este modo, no siempre es posible encontrar una solución explícita. Pueden existir múltiples soluciones. También pueden existir soluciones infinitas, por ejemplo, en el caso de manipuladores robóticos cinemáticamente redundantes. Posiblemente no hay soluciones admisibles debido a la arquitectura del manipulador. Las traslaciones se conocen como movimientos directos sin cambios de orientación, es decir, mantienen la forma y el tamaño de las figuras u objetos trasladados, a las cuales deslizan según el vector. Las matrices de rotación son el método más extendido para la descripción de orientaciones, debido principalmente a la comodidad que proporciona el uso del álgebra matricial.
de Sus principales ventajas residen en su capacidad de representación conjunta de posición y orientación y en la comodidad con la que se puede realizar la composición de transformaciones. Para ello bastará únicamente multiplicar, en el orden adecuado, las matrices de transformación correspondientes. Es posible, además, la aplicación de una transformación sobre un vector referido a un sistema fijo únicamente multiplicando la matriz de transformación correspondiente por el vector. Como principal inconveniente presenta su alto nivel de redundancia (necesita definir 12 componentes para sólo seis grados de libertad). Debe considerarse, además, que por los inevitables errores de redondeo, la multiplicación sucesiva de varias matrices de transformación homogénea, puede resultar en un matiz que no lo sea (su caja de rotación no sea ortonormales). Esto dificulta su implementación en computador. Se trata del método más popular, pues al trabajar con matrices permite el uso de su álgebra que es extensamente conocida.
Parámetros Hartenberg.
Denavit- Los parámetros DH aparecieron por vez primera en 1955 (Denavit y Hartenberg, (1955) para representar una línea dirigida que no es otra cosa que el eje de una articulación de par inferior. Para describir la relación que existe entre dos elementos contiguos se puede hacer uso de cualquier sistema de referencia ligado a cada elemento, la forma habitual que se suele utilizar en robótica es la representación de Denavit-Hartenberg (D-H). Denavit y Hartenberg [DENAVIT-55] propusieron en 1955 un método matricial que establece la localización que debe tomar cada sistema de coordenadas {Si} ligado a cada eslabón i de una cadena articulada, para poder sistematizar la obtención de las ecuaciones cinemáticas de la cadena completa. Escogiendo los sistemas de coordenadas asociados a cada eslabón según la representación propuesta por DH, será posible pasar de uno al siguiente mediante 4 transformaciones básicas que dependen exclusivamente de las características geométricas del eslabón. Hay que hacer notar que si bien en general una matriz de transformación homogénea queda definida por 6 grados de libertad, el método de Denavit-Hartenberg, permite, en eslabones rígidos, reducir éste a 4 con la correcta elección de los sistemas de coordenadas. Estas 4 transformaciones básicas consisten en una sucesión de rotaciones y traslaciones que permiten relacionar el sistema de referencia del elemento i– 1 con el sistema del elemento i. Las transformaciones en cuestión son las siguientes (es importante recordar que el paso del sistema {Si-1} al {Si} mediante estas 4 transformaciones está garantizado sólo si los sistemas {Si – 1} y {Si} han sido definidos de acuerdo a unas normas determinadas que se expondrán posteriormente). 1. Rotación alrededor del eje Zi-1 un ángulo . 2. Traslación a lo largo de Zi-1 una distancia di; vector di (0, 0, di). 3. Traslación a lo largo de xi una distancia ai; vector ai (ai, 0, 0). 4. Rotación alrededor del eje xi un ángulo αi. Donde las transformaciones se refieren al sistema móvil. Dado que el producto de matrices no es conmutativo, las transformaciones se han de realizar en el orden indicado. Junto con la definición de los 4 parámetros de Denavit Hartenberg, conforman el siguiente algoritmo para la resolución del problema cinemático directo. DH 1. Numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y acabando con n (último eslabón móvil). Se numerará como eslabón 0 a la base fija del robot. DH 2. Numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad) y acabando en n. DH 3. Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su propio eje de giro. Si es prismática, será el eje a lo largo del cual se produce el desplazamiento. DH 4. Para i de 0 a n - 1 situar el eje Z i sobre el eje de la articulación i +1.
DH 5. Situar el origen del sistema de la base {S0} en cualquier punto del eje z0. Los ejes x0 e y0 se situarán de modo que formen un sistema dextrógiro con z0. DH 6. Para i de 1 a n - 1, situar el origen del sistema {Si} (solidario al eslabón i) en la intersección del eje Zi con la línea normal común a Zi-1 y Zi. Si ambos ejes se cortasen se situaría {Si} en el punto de corte. Si fuesen paralelos {Si} se situaría en la articulación i + 1. DH 7. Situar xi en la línea normal común a Zi-1 y Zi. DH 8. Situar yi de modo que forme un sistema dextrógiro con xi y Zi. DH 9. Situar el sistema {Sn} en el extremo del robot de modo que Zn coincida con la dirección de Zn-1 y xn sea normal a Zn-1 y Zn. DH 10. Obtener como el ángulo que hay que girar en torno a Zi-1 para que xi – 1 y xi queden paralelos. DH 11. Obtener di como la distancia, medida a lo largo de Zi-1, que habría que desplazar {Si – 1} para que xi y xi – 1 quedasen alineados. DH 12. Obtener ai como la distancia medida a lo largo de xi (que ahora coincidiría con xi – 1) que habría que desplazar el nuevo {Si – 1} para que su origen coincidiese con {Si}. DH 13. Obtener αi como el ángulo que habría que girar en torno a xi, para que el nuevo {Si – 1} coincidiese totalmente con {Si}. DH 14. Obtener las matrices de transformación i – 1Ai definidas en [4.10]. DH 15. Obtener la matriz de transformación que relaciona el sistema de la base con el del extremo del robot T = 0A1 * 1A2 * n – 1An. DH 16. La matriz T define la orientación (sub matriz de rotación) y posición (sub matriz de traslación) del extremo referido a la base, en función de la n coordenada articulares.
3. Modelo cinemático directo del sistema robótico a desarrollar, de acuerdo con la estructura seleccionada en la Fase # 2. El problema cinemático directo consiste en determinar cuál es la posición y orientación del extremo final del robot, con respecto a un sistema de coordenadas que se toma como referencia, conocidos los valores de las articulaciones y los parámetros geométricos de los elementos del robot.
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 relaciona la posición y orientación del extremo final del robot respecto del sistema fijo situado en la base del mismo. Así, dado un robot de 6gdl, se tiene que la posición y orientación del eslabón final vendrá dado por la matriz T.
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. Estas transformaciones básicas consisten en una sucesión de rotaciones y traslaciones que permiten relacionar el sistema de referencia del elemento i con el sistema del elemento i − 1. Las transformaciones en cuestión son las siguientes. Rotación alrededor del eje zi−1 un ángulo .
Traslación a lo largo de zi−1 una distancia . Traslación a lo largo de xi una distancia . Rotación alrededor del eje xi un ángulo αi.
Teniendo ya los valores de , di, ai,αi, que son los denominados parámetros D-H del eslabón i, la matriz de transformación que relaciona los sistemas de referencia {Si−1} y {Si} es la siguiente.
Desarrollando esta expresión en términos de los parámetros D-H, resulta esta matriz.
4. Capturas de pantalla de la simulación del modelo cinemático en Matlab. Algoritmo. % Despliega en 3D el brazo robotico segun parametros a, b, phi, alp, w, Mp. % Universidad Nacional Abierta y A Distancia (UNAD) %function M = DisplayBrazoRobotico(a,b,phi,alp,w,Mp) clear,clc disp('Brazo robotico') disp('Cambiar valor de Alfa (1)') disp('Variacion de phi (2)') disp('Cambiar eje w (3)') n = input('Digite el numero correspondiente:') switch n case 1 alfa = input('Digite el valor de alfa:') for alp = 0:0.01:alfa; figure(1) %Ejemplo: a = 10; b = 15; phi = pi/4; %alp = pi/2; w = pi/10;
Mp = [0 1 1 1]'; %p -> q %[ Xq ] [ Xp ] %[ Yq ] = Sqp [ Yp ] %[ Zq ] [ Zp ] %[ 1 ] [ 1 ] bet = pi - alp; Sqp = [1 0 0 cos(bet) 0 sin(bet) 0 0 % 2) q % [ Xr % [ Yr % [ Zr % [ 1 Srq =
0 -sin(bet) cos(bet) 0
0 -b*cos(alp) b*sin(alp) 1];
-> r ] [ Xq ] ] = Srq [ Yq ] ] [ Zq ] ] [ 1 ] [1 0 0 0 0 cos(phi) -sin(phi) a*cos(phi) 0 sin(phi) cos(phi) a*sin(phi) 0 0 0 1]; % 3) r -> o % [ X ] [ Xr ] % [ Y ] = Sor [ Yr ] % [ Z ] [ Zr ] % [ 1 ] [ 1 ] Sor = [cos(w) -sin(w) 0 0 sin(w) cos(w) 0 0 0 0 1 0 0 0 0 1]; % 4) Transformacion total p->o Sop = Sor*Srq*Sqp; M = Sop*Mp; % Grafica del modelo clf Sro = inv(Sor); Sqr = inv(Srq); Spq = inv(Sqp); % definicion de los ejes E = [1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1]; % Ejes del sistema de coordenadas o Eo = E; plot3(Eo(1,:),Eo(2,:),Eo(3,:),'r') hold on text(Eo(1,1),Eo(2,1),Eo(3,1),'X') text(Eo(1,3),Eo(2,3),Eo(3,3),'Y') text(Eo(1,5),Eo(2,5),Eo(3,5),'Z') % Ejes del sistema de coordenadas r Er = Sor*E;
plot3(Er(1,:),Er(2,:),Er(3,:),'r') text(Er(1,1),Er(2,1),Er(3,1),'Xr') text(Er(1,3),Er(2,3),Er(3,3),'Yr') %text(Er(1,5),Er(2,5),Er(3,5),'Zr') % Eje del sistema de coordenadas q Eq = Sor*Srq*E; plot3(Eq(1,:),Eq(2,:),Eq(3,:),'r') text(Eq(1,1),Eq(2,1),Eq(3,1),'Xq') text(Eq(1,3),Eq(2,3),Eq(3,3),'Yq') text(Eq(1,5),Eq(2,5),Eq(3,5),'Zq') % Eje del sistema de coordenadas p Ep = Sor*Srq*Sqp*E; plot3(Ep(1,:),Ep(2,:),Ep(3,:),'r') text(Ep(1,1),Ep(2,1),Ep(3,1),'Xp') text(Ep(1,3),Ep(2,3),Ep(3,3),'Yp') text(Ep(1,5),Ep(2,5),Ep(3,5),'Zp') % Diagrama del Brazo B = [Eo(:,2) Eq(:,2) Ep(:,2)]; plot3(B(1,:),B(2,:),B(3,:),'b') text(B(1,1),B(2,1),B(3,1),'o') text(B(1,2),B(2,2),B(3,2),'q') text(B(1,3),B(2,3),B(3,3),'p') % Ubicacion del punto Mp plot3(M(1),M(2),M(3),'*') axis([-20 20 -20 20 0 40]) xlabel('X'); ylabel('Y'); zlabel('Z'); view(98,11) grid on title(sprintf('phi=%4.0f, alpha=%4.0f, b=%4.1f.',phi*180/pi,alp*180/pi,w*180/pi,a,b)) pause(0.05) end case 2 for phi=0:0.01:1.4; figure(1) %Ejemplo: a = 10; b = 15; %phi = pi/4; alp = pi/2; w = pi/10; Mp = [0 1 1 1]'; %p -> q %[ Xq ] [ Xp ] %[ Yq ] = Sqp [ Yp ] %[ Zq ] [ Zp ] %[ 1 ] [ 1 ] bet = pi - alp; Sqp = [1 0 0 0
w=%4.0f,
a=%4.1f,
0 cos(bet) -sin(bet) 0 sin(bet) cos(bet) 0 0 0 % 2) q -> r % [ Xr ] [ Xq ] % [ Yr ] = Srq [ Yq ] % [ Zr ] [ Zq ] % [ 1 ] [ 1 ] Srq = [1 0 0 0 cos(phi) -sin(phi) 0 sin(phi) cos(phi) 0 0 0
-b*cos(alp) b*sin(alp) 1];
0 a*cos(phi) a*sin(phi) 1];
% 3) r -> o % [ X ] [ Xr ] % [ Y ] = Sor [ Yr ] % [ Z ] [ Zr ] % [ 1 ] [ 1 ] Sor = [cos(w) -sin(w) 0 sin(w) cos(w) 0 0 0 1 0 0 0 % 4) Transformacion total p->o Sop = Sor*Srq*Sqp; M = Sop*Mp; % Grafica del modelo clf Sro = inv(Sor); Sqr = inv(Srq); Spq = inv(Sqp); % definicion de los ejes E = [1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1]; % Ejes del sistema de coordenadas o Eo = E; plot3(Eo(1,:),Eo(2,:),Eo(3,:),'r') hold on text(Eo(1,1),Eo(2,1),Eo(3,1),'X') text(Eo(1,3),Eo(2,3),Eo(3,3),'Y') text(Eo(1,5),Eo(2,5),Eo(3,5),'Z') % Ejes del sistema de coordenadas r Er = Sor*E; plot3(Er(1,:),Er(2,:),Er(3,:),'r') text(Er(1,1),Er(2,1),Er(3,1),'Xr') text(Er(1,3),Er(2,3),Er(3,3),'Yr') %text(Er(1,5),Er(2,5),Er(3,5),'Zr') % Eje del sistema de coordenadas q Eq = Sor*Srq*E; plot3(Eq(1,:),Eq(2,:),Eq(3,:),'r') text(Eq(1,1),Eq(2,1),Eq(3,1),'Xq')
0 0 0 1];
text(Eq(1,3),Eq(2,3),Eq(3,3),'Yq') text(Eq(1,5),Eq(2,5),Eq(3,5),'Zq') % Eje del sistema de coordenadas p Ep = Sor*Srq*Sqp*E; plot3(Ep(1,:),Ep(2,:),Ep(3,:),'r') text(Ep(1,1),Ep(2,1),Ep(3,1),'Xp') text(Ep(1,3),Ep(2,3),Ep(3,3),'Yp') text(Ep(1,5),Ep(2,5),Ep(3,5),'Zp') % Diagrama del Brazo B = [Eo(:,2) Eq(:,2) Ep(:,2)]; plot3(B(1,:),B(2,:),B(3,:),'b') text(B(1,1),B(2,1),B(3,1),'o') text(B(1,2),B(2,2),B(3,2),'q') text(B(1,3),B(2,3),B(3,3),'p') % Ubicacion del punto Mp plot3(M(1),M(2),M(3),'*') axis([-20 20 -20 20 0 40]) xlabel('X'); ylabel('Y'); zlabel('Z'); view(98,11) grid on title(sprintf('phi=%4.0f, alpha=%4.0f, b=%4.1f.',phi*180/pi,alp*180/pi,w*180/pi,a,b)) pause(0.05) end case 3 for w = 0:0.01:1.4; figure(1) %Ejemplo: a = 10; b = 15; phi = pi/4; alp = pi/2; %w = pi/10; Mp = [0 1 1 1]'; %p -> q %[ Xq ] [ Xp ] %[ Yq ] = Sqp [ Yp ] %[ Zq ] [ Zp ] %[ 1 ] [ 1 ] bet = pi - alp; Sqp = [1 0 0 cos(bet) 0 sin(bet) 0 0 % 2) q -> r % [ Xr ] [ Xq ] % [ Yr ] = Srq [ Yq ] % [ Zr ] [ Zq ]
0 -sin(bet) cos(bet) 0
0 -b*cos(alp) b*sin(alp) 1];
w=%4.0f,
a=%4.1f,
% [ 1 ] [ 1 ] Srq = [1 0 0 0 0 cos(phi) -sin(phi) a*cos(phi) 0 sin(phi) cos(phi) a*sin(phi) 0 0 0 1]; % 3) r -> o % [ X ] [ Xr ] % [ Y ] = Sor [ Yr ] % [ Z ] [ Zr ] % [ 1 ] [ 1 ] Sor = [cos(w) -sin(w) 0 0 sin(w) cos(w) 0 0 0 0 1 0 0 0 0 1]; % 4) Transformacion total p->o Sop = Sor*Srq*Sqp; M = Sop*Mp; % Grafica del modelo clf Sro = inv(Sor); Sqr = inv(Srq); Spq = inv(Sqp); % definicion de los ejes E = [1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1]; % Ejes del sistema de coordenadas o Eo = E; plot3(Eo(1,:),Eo(2,:),Eo(3,:),'r') hold on text(Eo(1,1),Eo(2,1),Eo(3,1),'X') text(Eo(1,3),Eo(2,3),Eo(3,3),'Y') text(Eo(1,5),Eo(2,5),Eo(3,5),'Z') % Ejes del sistema de coordenadas r Er = Sor*E; plot3(Er(1,:),Er(2,:),Er(3,:),'r') text(Er(1,1),Er(2,1),Er(3,1),'Xr') text(Er(1,3),Er(2,3),Er(3,3),'Yr') %text(Er(1,5),Er(2,5),Er(3,5),'Zr') % Eje del sistema de coordenadas q Eq = Sor*Srq*E; plot3(Eq(1,:),Eq(2,:),Eq(3,:),'r') text(Eq(1,1),Eq(2,1),Eq(3,1),'Xq') text(Eq(1,3),Eq(2,3),Eq(3,3),'Yq') text(Eq(1,5),Eq(2,5),Eq(3,5),'Zq') % Eje del sistema de coordenadas p Ep = Sor*Srq*Sqp*E; plot3(Ep(1,:),Ep(2,:),Ep(3,:),'r') text(Ep(1,1),Ep(2,1),Ep(3,1),'Xp') text(Ep(1,3),Ep(2,3),Ep(3,3),'Yp') text(Ep(1,5),Ep(2,5),Ep(3,5),'Zp')
% Diagrama del Brazo B = [Eo(:,2) Eq(:,2) Ep(:,2)]; plot3(B(1,:),B(2,:),B(3,:),'b') text(B(1,1),B(2,1),B(3,1),'o') text(B(1,2),B(2,2),B(3,2),'q') text(B(1,3),B(2,3),B(3,3),'p') % Ubicacion del punto Mp plot3(M(1),M(2),M(3),'*') axis([-20 20 -20 20 0 40]) xlabel('X'); ylabel('Y'); zlabel('Z'); view(98,11) grid on title(sprintf('phi=%4.0f, alpha=%4.0f, b=%4.1f.',phi*180/pi,alp*180/pi,w*180/pi,a,b)) pause(0.05) end end
w=%4.0f,
a=%4.1f,
5.
Practica No 1. Investigar la función de tres (3) de los siguientes comandos, y su sintaxis en el software Matlab.
Harold Diaz. COMANDO
FUNCIÓN
SINTAXIS link([alpha a theta d sigma]) L1=link([0 1 0 0 0]) L2=link([0 1 0 0 0])
Link
construir un objeto de enlace de robot
Roty
matriz de rotación para rotación alrededor del eje Y
>> roty(pi/2)
construir un objeto robot
r=robot({L1 L2})
Robot
YOOLFRAN ARRIETA COMANDO
FUNCIÓN
Transl
Para crear una traslación pura se utiliza la función “transl”
SINTAXIS tr = transl(x, y, z) >> transl (0.5, 0.0, 0.0)
Roty
Para crear una matriz de rotación se utiliza “rote” donde e es el eje de rotación, y el ángulo como siempre en mathlab, se indica en radianes, pudiéndose utilizar la constante pi.
r = roty(theta) >> roty(pi/2)
Troty
Para crear una matriz de transformación homogénea de rotación se antepone la t:
tr=troty(theta)
“TROTY”
>> troty(theta)
Basándose en los parámetros de la matriz crearemos los eslabones del robot mediante la función LINK.
link([alpha a theta d sigma])
Link Esta función toma como parámetros los elementos de Denavit-Hartenberg
>> L1=link([0 1 0 0 0]) >> L2=link([0 1 0 0 0])
Fkine
“fkine” toma como parámetros un objeto robot y un vector de tr = fkine(robot, q) movimiento en el que se especifica el valor del parámetro variable de cada articulación y devuelve la matriz homogénea que describe la posición y orientación del extremo final. >> puma560 >> fkine(p560, qz) q = ikine(robot, t, q, m)
Ikine
“ikine” toma como argumentos un objeto de tipo robot y una >> puma560 matriz de transformación que indique la posición final >> T=fkine(p560, qz) deseada. >> ikine(p560, T)
Angvec2tr
forma de ángulo / vector a transformada homogénea
Tr2eul
matriz homogénea de transformación o rotación a ángulos de Euler
Trplot
trazar una transformación homogénea de un marco de coordenadas
Ikine560
calcular la cinemática inversa para Puma 560 como brazo
Drivebot
conducir un robot gráfico
Robot
construir un objeto robot
HEIGLER OSPINO COMANDO: transl FUNCION: crea una trasformada translacional SINTAXIS: T = transl(X, Y, Z) EJEMPLO: A=[1 2 3; 3 5 6; 7 8 9] B=transl(A)
COMANDO: Link FUNCION: Robot manipulator Clase de enlace SINTAXIS: L = Link([theta d a alpha]) EJEMPLOL=Link([0 1.2 0.3 pi/2]); L(2)=Link([0 1.2 0.3 0]); R=SerialLink(L)
COMANDO: drivebot FUNCION: Conducir un robot gráfico SINTAXIS: DRIVEBOT (ROBOT, Q) function drivebot(a,b) bgcol = [135 206 250]/255; if isstr(a) % drivebot(name, j), graphical callback function name = a; % name of the robot j = b; % joint index %disp(name) rh = findobj('Tag', name); %disp(rh) handles = get(gco, 'Userdata'); scale = handles{3}; for r=rh', rr = get(r, 'UserData'); q = rr.q; if isempty(q), q= zeros(1,rr.n); end if gco == handles{1}, % get value from slider q(j) = get(gco, 'Value') / scale(j);
set(handles{2}, 'String', num2str(scale(j)*q(j))); else % get value from text box q(j) = str2num(get(gco, 'String')) / scale(j); set(handles{1}, 'Value', q(j)); end rr.q = q; set(r, 'UserData', rr); plot(rr, q) end
20
.
6. Investigar los modelos de robots que se encuentran en el Toolbox de robótica Harold Diaz. En el Toolbox de robótica, encontramos los siguientes modelos: 3link3d
Ball
Baxter
Cobra600
Coil
Fanuc10l
Hyper2d
Hyper3d
Irb140_mdh
Irb140
Jaco
Kr5
Lwr
M16
Mico
Motomanhp6
Nao
Offset
Onelink
P8
Phantomx
Planar1
Planar2
Planar3
Puma560
Puma560akb
Quadrotor
S4abb2p8
Simple6
Stanford_mdh
Standford
Twolink
Twolink_mdh
Twolink_sym
Ur3
Ur5
Ur10
HEIGLER OSPINO
YOOLFRAN ARRIETA
21
.
22
.
Conclusiónes.
A través de los robots se dan beneficios en diferentes actividades del hombre, las principales son: montaje, soldadura, pintura, entornos peligrosos, salud, vigilancia y seguridad. En La Robótica permite una producción más eficiente, reducción del desperdicio de material, y de costos, además de mejorar sustancialmente la calidad de los productos.
Se aprendió a utilizar la herramienta de software Matlab, para poder trasladar, rotar y simular un elemento en el espacio dentro de los tres ejes (x,y,z) correspondiente a u na pinza mecánica, utilizando las matrices de transformación y traslación.
23
.
REFERENCIAS BIBLIOGRAFICAS Barrientos, A., Peñin, L. F., Balaguer, C., & Aracil, R. (2007). Fundamentos de robótica. Segunda Edición. Pag 65 a 214. McGraw-Hill, Interamericana de España. Recuperado de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10566097 Saha, S. K. (2000). Introducción a la Robótica. McGraw-Hill Interamericana. Pag 112 a 130. Recuperado de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?docID=10515179 Vargas, S. (2017). Cinemática directa. [video]. Recuperado de http://hdl.handle.net/10596/12434 Arnáez Braschi, E. (2015). Enfoque práctico de la teoría de robots. Con aplicaciones en Matlab. Universidad Peruana de Ciencias Aplicadas (UPC). Recuperado de http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=1&docID=11127145&tm =1499207822286 Hermosilla, D. M., & Castilla Pérez, A. (2016). Generación de trayectorias para el brazo robótico (ArmX). Ingenieria Electronica, Automatica Y Comunicaciones, 37(3), 58-71. Recuperado de http://bibliotecavirtual.unad.edu.co:2051/login.aspx?direct=true&db=a9h&AN=119317869&lang =es&site=eds-live