9
CINEMÁTICA INVERSA DEL ROBOT PUMA 560 USANDO LA LIBRERÍA A.R.T.E. EN EL SOFTWARE MATLAB I.- Descripción del Robot PUMA 560: PUMA (Programmable Universal Machine for Assembly, or Programmable Universal Manipulation Arm) es un brazo robot industrial desarrollado por Victor Scheinman en la empresa pionera en robótica Unimation. Inicialmente desarrollado para General Motors, el brazo robot PUMA nació de los diseños iniciales inventados por Scheinman mientras se encontraba en el MIT y en la Stanford University. Unimation produjo PUMAs durante algunos años hasta que fue absorbida por Westinghouse (ca. 1980), y posteriormente por la empresa suiza Stäubli (1988). Nokia Robotics manufacturó cerca 1500 brazos robots PUMA durante los años 1980, siendo el PUMA-650 el modelo más popular entre los clientes. Nokia vendió su división de robótica en 1990. En 2002, La organización General Motors Controls, Robotics and Welding (CRW) donó el prototipo original del brazo robot PUMA al Museo Nacional de Historia Americana, reconociéndose así su importancia en el desarrollo de la robótica.

Cinemática Inversa Del Robot Puma 560 Usando La Librería A

Embed Size (px)

DESCRIPTION

robotica

Citation preview

CINEMTICA INVERSA DEL ROBOT PUMA 560 USANDO LA LIBRERA A.R.T.E. EN EL SOFTWARE MATLAB

I.- Descripcin del Robot PUMA 560:PUMA (Programmable Universal Machine for Assembly, or Programmable Universal Manipulation Arm) es un brazo robot industrial desarrollado por Victor Scheinman en la empresa pionera en robtica Unimation. Inicialmente desarrollado para General Motors, el brazo robot PUMA naci de los diseos iniciales inventados por Scheinman mientras se encontraba en el MIT y en la Stanford University.Unimation produjo PUMAs durante algunos aos hasta que fue absorbida por Westinghouse (ca. 1980), y posteriormente por la empresa suiza Stubli (1988). Nokia Robotics manufactur cerca 1500 brazos robots PUMA durante los aos 1980, siendo el PUMA-650 el modelo ms popular entre los clientes. Nokia vendi su divisin de robtica en 1990.En 2002, La organizacin General Motors Controls, Robotics and Welding (CRW) don el prototipo original del brazo robot PUMA al Museo Nacional de Historia Americana, reconocindose as su importancia en el desarrollo de la robtica.

Las dimensiones de un robot PUMA 560 es como sigue:

El alcance de un robot PUMA 560 describe la siguiente geometra:

II.- Simulacin:1. Cargamos el software MATLAB y entramos en la carpeta arte3.2.3 que es la que contiene todos los archivos necesarios para nuestra aplicacin.

2. Inicializamos la librera escribiendo el comando init_lib.

3. Invocamos el modelo del robot Puma 560 con la orden:robot = load_robot('UNIMATE','puma560').

4. Para apreciar mejor el robot ejecutamos el comando:robot.graphical.draw_axes=0.

5. Con el comando drawrobot3d(robot,[0 0 0 0 0 0]) redibujamos el robot sin los ejes y en la posicin Q=[0 0 0 0 0 0]

6. Usamos la herramienta Rotate 3D para tener una mejor vista del robot.

7. Declaramos el vector del efector para el robot Puma 560 con el siguiente comando:TD_tool0=[1,[[0,0,0],[1,0,0,0]],[0,[0,0,0],[1,0,0,0],0,0,0]]

8. A continuacin procedemos a definir los puntos a los que se va a mover el efector final, estos puntos han sido probados con la interfaz teach de la librera, para verificar que son puntos que estn dentro del rango de trabajo del robot Puma 560.

a) Definimos el punto inicial del efector final:RT_tp0=[[0.4521, -0.1501, 0.4718],[1.0000, 0.0000, 0.0000, 0.0000], [-1, 0, 0, 0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

b) Definimos dos puntos de destino:RT_tp1=[[0.5000, 0.2000, -0.4000],[1.0000, 0.0000, 0.0000, 0.0000], [0, 0, -1, 0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

RT_tp2=[[-0.1000, 0.5000, -0.4000],[1.0000, -0.0000, 0.0000, -0.0000], [1, 0, -2, 0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

9. Para visualizar el movimiento del robot de un punto a otro, utilizamos el comando MoveL.

Con la siguiente orden el efector final del robot se desplaza al punto RT_tp1:

MoveL(RT_tp1, 'vmax' , 'fine' , TD_tool0, 'wobj0');

Y luego al punto RT_tp2:MoveL(RT_tp2, 'vmax' , 'fine' , TD_tool0, 'wobj0');

El tercer movimiento lo realiza regresando a su posicin inicial:MoveL(RT_tp0, 'vmax' , 'fine' , TD_tool0, 'wobj0');

10. A continuacin presentamos el script completo en MATLAB:clear all; clc;init_lib % Cargamos la librera A.R.T.E.robot = load_robot('UNIMATE','puma560'); % Inicializamos el robot puma 560robot.graphical.draw_axes=0; % Eliminamos los ejesdrawrobot3d(robot,[0 0 0 0 0 0]) % Dibujamos el robot 3DTD_tool0=[1 [[0 0 0] [1,0,0,0]] [0,[0,0,0] [1,0,0,0] 0 0 0] ]; % Declaramos tool0 definicin del efector del robot

% Matriz que describe la posicin inicial del efector con sus valores de variables de articulacin correspondientes.RT_tp0=[[0.4521, -0.1501, 0.4718],[1.0000, 0.0000, 0.0000, 0.0000], [-1, 0, 0, 0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

% Matriz que describe mi primer punto de destino con sus valores de variables de articulacin.RT_tp1=[[0.5000, 0.2000, -0.4000],[1.0000, 0.0000, 0.0000, 0.0000], [0, 0, -1, 0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];% Matriz que describe mi segundo punto de destino con sus valores de variables de articulacin.RT_tp2=[[-0.1000, 0.5000, -0.4000],[1.0000, -0.0000, 0.0000, -0.0000], [1, 0, -2, 0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

% Describe una trayectoria de lnea recta entre punto y punto.MoveL(RT_tp1, 'vmax' , 'fine' , TD_tool0, 'wobj0');MoveL(RT_tp2, 'vmax' , 'fine' , TD_tool0, 'wobj0');

% Regresa a la posicin inicial a travs de una lnea recta.MoveL(RT_tp0, 'vmax' , 'fine' , TD_tool0, 'wobj0');