Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

15
PRÁCTICA 2: SELECCIÓN DE SERVOS PARA UN MITSUBISHI PA-10 En esta segunda práctica se realiza el estudio de los pares máximos que soporta un robot Mitsubishi PA-10 (en la peor posición) y con esos datos simulados se selecciona el servo que mejor se adapta, usando como herramienta el software MATLAB con su extensión SIMULINK. SAMUEL LÓPEZ REDONDO 10/12/2012

description

Se realiza el estudio de los pares máximos que soporta un robot Mitsubishi PA-10 (en la peor posición) y con esos datos simulados se selecciona el servo que mejor se adapta, usando como herramienta el software MATLAB con su extensión SIMULINK.

Transcript of Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

Page 1: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

En esta segunda práctica se realiza el estudio de los pares máximos que soporta un robot Mitsubishi PA-10 (en la peor posición) y con esos datos simulados se selecciona el servo que mejor se adapta, usando como herramienta el software MATLAB con su extensión SIMULINK.

SAMUEL LÓPEZ REDONDO10/12/2012

Page 2: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

1

SAMUEL LÓPEZ REDONDO

INDICE

1. DESCRIPCIÓN DEL PROBLEMA 1

2. RESOLUCIÓN CON MATLAB 2

1. DETERMINACIÓN DE LA “PEOR” POSICIÓN Y DE LA “PEOR” CARGA DEL ROBOT 2

2. OBTENCIÓN DE LOS PARES PARA CADA ARTICULACIÓN 7

3. OBTENCIÓN DE LOS MOTORES PARA EL ROBOT DE 3 GRADOS DE LIBERTAD 9

3. OBSERVACIONES 10

4. BIBLIOGRAFÍA 11

Page 3: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

2

CONTROL Y PROGRAMACIÓN DE ROBOTS

1. DESCRIPCIÓN DEL PROBLEMASe van a estudiar los servoaccionamientos que se emplean en un robot de 3

grados de libertad. El robot de tres grados de libertad considerado corresponde al

robot Mitsubishi PA-10 tomando únicamente sus tres primeras articulaciones.

A continuación se muestra la tabla con los parámetros de Denavit-

Hartenberg del robot considerado.

Articulación θ α a (mm) d (mm)

1 θ1+π/2 -π/2 0 315

2 θ2 0 450 0

3 θ3 0 0 400

El robot Mitsubishi PA-10 es un robot manipulador y tiene una estructura de

aluminio ligero lo que le confiere un peso de 5,5 Kg. Siendo su articulación 1 de

2,5 Kg, la articulación 2 de 1,5 Kg y la articulación 3 de 1,5 Kg.

La ligereza del robot es muy importante, ya que el robot Mitsubishi PA-10 es

capaz de manipular 10 Kg de manera estable.

En la siguiente figura se representan las articulaciones del robot con coeficientes de rozamiento

viscoso 0.3 m2/s, 0.1 m2/s y 0.1 m2/s respectivamente.

Page 4: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

3

SAMUEL LÓPEZ REDONDO

2. RESOLUCIÓN CON MATLABEl objetivo de esta práctica es utilizar MATLAB para realizar el estudio de los

servoaccionamientos del robot Mitsubishi PA-10.

1. DETERMINACIÓN DE LA “PEOR” POSICIÓN Y DE LA

“PEOR” CARGA DEL ROBOT

En primer lugar hay que destacar que la peor posición en la que se puede encontrar el robot se

produce cuando la segunda articulación (q2) este horizontal y como se muestra en la siguiente figura

en la que esta articulación puede variar entre ±94 º por lo que su peor posición se intuye en torno a

±π radianes. El valor de la primera y tercera coordenada como se ve en la figura no influye en el

calculo de los pares máximos.

Page 5: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

4

CONTROL Y PROGRAMACIÓN DE ROBOTS

Por lo tanto la búsqueda de la peor posición con MATLAB se ha realizado evaluando el par

máximo en el rango de variación de la articulación 2 como sigue:

% PRACTICA 2: SELECCIÓN DE SERVOS PARA UN MITSUBISHI PA-10

clcclearclose all

% La posición de las articulaciones 1 y 3 no afectan al par con lo que les% tomaremos como 0 rad por comodidad.

tita1=0; tita3=0;

% Ahora buscaremos la peor posición del eje 2 entre 0 y 2pi radianes.

tita2_peor_pos=0; Part1_peor=0; Part2_peor=0; Part3_peor=0;for tita2=-pi/2:.01:pi/2 sim('selmotor3'); if max(Part2_peor)<max(Part2) tita2_peor_pos=tita2; Part1_peor=Part1; Part2_peor=Part2; Part3_peor=Part3; end clear Part1 Part2 Part3end

% Se muestra por pantalla de comandos el angulo de la peor posición y el% par maximo en esa situación de las tres articulaciones.

fprintf('La peor posición se alcanza para Tita2=%frad.\n',tita2_peor_pos);fprintf('El par maximo de la articulación 1 en la peor posición es: %f.\n',max(Part1_peor));fprintf('El par maximo de la articulación 1 en la peor posición por un factor de seguridad de 1,5 es: %f.\n',max(Part1_peor)*1.5);fprintf('El par maximo de la articulación 2 en la peor posición es: %f.\n',max(Part2_peor));fprintf('El par maximo de la articulación 2 en la peor posición por un factor de seguridad de 1,5 es: %f.\n',max(Part2_peor)*1.5);fprintf('El par maximo de la articulación 3 en la peor posición es: %f.\n',max(Part3_peor));fprintf('El par maximo de la articulación 3 en la peor posición por un factor de seguridad de 1,5 es: %f.\n',max(Part3_peor)*1.5);

% Se realizan las gráficas de la evolución del par en cada una de las tres

figureplot(Part1_peor);grid ontitle('Par en la peor posición de la Articulación 1');figureplot(Part2_peor);grid ontitle('Par en la peor posición de la Articulación 2');figureplot(Part3_peor);grid ontitle('Par en la peor posición de la Articulación 3');

Page 6: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

5

SAMUEL LÓPEZ REDONDO

Este script está basado en el modelo dinámico inverso del robot Mitsubishi PA-10 realizado con

SIMULINK (selmotor3.mdl) que se representa en la siguiente figura.

Con lo que ejecutando el script desde PRACTICA.m se obtiene que la peor posición por

comodidad del robot será:

q=(01,56920)

Donde para las articulaciones rotacionales se van a utilizar reductores de 500, ya que

suponemos que se van a utilizar motores que trabajan a 5000 rpm. Esto se debe a que la velocidad

máxima permitida es de π /3 rad/s, o sea 10 rpm, por lo que si se utilizan motores que funcionan a

5000 rpm, se obtiene un factor de reducción de 5000/10=500. Este factor puede ser comercialmente

obtenido colocando en serie un reductor de 200 por piñones y un reductor de factor 1:2,5 obtenido

por transmisión de correa.

Por otra parte para obtener los pares máximos requeridos hay que considerar que el robot tiene

en su extremo la máxima carga permitida. Para nuestro robot como ya vimos la carga máxima que

puede manipular de modo estable es de 10 Kg y su matriz de inercia es:

Inercia=[0,0167 0 00 0,0167 00 0 0,0167 ]

La dinámica inversa para el robot de 3 grados de libertad que calcula el par utilizando el método

de Newton-Euler es:

% DININV3GDL Dinámica inversa de un robot de 3GDL.% PAR = DININV3GDL(ENTRADA) calcula el vector 3x1 de pares/fuerzas de% entrada a las articulaciones utilizando el método de Newton-Euler.% ENTRADA(1:3) representa la posición de cada articulación.% ENTRADA(4:6) es la velocidad de cada articulación. ENTRADA(7:9)% es la aceleración de cada articulación.%

Page 7: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

6

CONTROL Y PROGRAMACIÓN DE ROBOTS

% Ver también NEWTONEULER3.

function par = dininv3gdl(entrada)

q = entrada(1:3); % Posición de cada articulaciónqp = entrada(4:6); % Velocidad de cada articulaciónqpp = entrada(7:9); % Aceleración de cada articulación

% Parámetros de la carga

masaext = 10;inerciaext = [0.0167 0 0;0 0.0167 0;0 0 0.0167];

% Se calcula el vector de pares/fuerzas utilizando Newton-Euler

par = newtoneuler3(q,qp,qpp,9.8,masaext,inerciaext);

Entonces por la morfología ya vista del robot como la matriz de Denavit-Hartenberg, la masa de

las articulaciones, los coeficientes de rozamiento viscoso de cada articulación los parámetros que

caracterizan la función de Newton-Euler que calcula los pares de cada articulación son:

% NEWNTONEULER3 Calculo de la dinamica de un manipulador de 3 gdl utilizando% el método de Newton-Euler.% NEWTONEULER3(TETA, QP, QPP, G, M4, IEXTER) devuelve el vector 3x1% de pares/fuerzas de entrada a las articulaciones en funcion de% los parámetros:% - TETA: Vector 3x1 de posición de las articulaciones (rad)% - QP: Vector 3x1 de velocidad de cada articulación (rad/s)% - QPP: Vector 3x1 de aceleración de cada velicidad (rad/s^2)% - G: Valor de la gravedad (m/s^2)% - M7: Masa de la carga externa (Kg)% - IEXTER: Matriz 3x3 de inercia de la carga exterior (Kg-m^2)

function tau=newtoneuler3(teta,qp,qpp,g,m4,Iexter);

%------------------------------------------------------------% Parámetros Denavit-Hartenberg del robot%------------------------------------------------------------

a = [0 0.45 0];d = [0.315 0 0.4];alfa = [-pi/2 0 0];

% ------------------------------------------------------------% Factores de posicionamiento de los centros de gravedad% ------------------------------------------------------------

factor1 = -0.5; factor2 = -0.5; factor3 = -0.5;

% ------------------------------------------------------------% Masa de cada elemento (Kg) Peso total del robot 5,5 Kg% ------------------------------------------------------------

m1 = 2.5; m2 = 1.5; m3 = 1.5;

Page 8: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

7

SAMUEL LÓPEZ REDONDO

% ------------------------------------------------------------% Coeficiente de rozamiento viscoso de cada articulación% ------------------------------------------------------------

b1 = 0.3; b2 = 0.1; b3 = 0.1;

% ------------------------------------------------------------% Matrices de Inercia (Kg-m^2)% ------------------------------------------------------------

r10I_r01 = [0.0285 0 0;0 0.0285 0;0 0 0.0074];r20I_r02 = [0.0044 0 0;0 0.0697 0;0 0 0.0697];r30I_r03 = [0.0074 0 0;0 0.0437 0;0 0 0.0437];

2. OBTENCIÓN DE LOS PARES PARA CADA ARTICULACIÓN

Simulando el modelo SIMULINK del robot Mitsubishi PA-10 (selmotor3.mdl) ya mostrado en el

apartado anterior para la peor posición del robot q=(01,56920) en las condiciones de máxima

carga (10 Kg) a través de la ejecución del script PRACTICA.m se obtienen los siguientes resultados

para cada articulación:

Se aprecia para la articulación 1 que el par nominal es de 0,0006175 Nm y el par máximo es de

0,075278 Nm.

Page 9: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

8

CONTROL Y PROGRAMACIÓN DE ROBOTS

Se aprecia para la articulación 2 que el par nominal es de 0,0000367 Nm y el par máximo es de

0,092467 Nm.

Se aprecia para la articulación 3 que el par nominal es de 0,0002001 Nm y el par máximo es de

0,002616 Nm.

Page 10: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

9

SAMUEL LÓPEZ REDONDO

Como los pares nominales son prácticamente nulos como resumen se muestra una tabla con los

pares máximos de cada articulación.

Articulación 1 2 3

Par nominal (Nm) 0,0006175 0,0000367 0,0002001

Par máximo (Nm) 0,075278 0,092467 0,002616

3. OBTENCIÓN DE LOS MOTORES PARA EL ROBOT DE 3

GRADOS DE LIBERTAD

El valor del par máximo y nominal que han sido obtenidos en el apartado anterior para cada

actuador es necesario multiplicarlos por un factor de seguridad de 1,5 antes de proceder a buscar los

datos de los motores en catálogos comerciales.

Articulación 1 2 3

Par nominal (Nm) 0,0009262 0,00005505 0,00030015

Par máximo (Nm) 0,112918 0,138700 0,003924

A partir de los pares obtenidos al aplicar el factor de seguridad se procede a buscar en catálogos

comerciales los datos de los motores que satisfagan los requerimientos de par.

Se ha considerado que los actuadores del robot corresponden a motores brushless DC. Para

obtener los datos de los parámetros de los motores que satisfacen los requerimientos de par se ha

consultado el catálogo de motores brushless DC de Eastern Air Devices, Inc. Siendo la familia de

motores que más se ajusta a nuestros requerimientos de para la familia Size 17 Brushless DC Servo

Motor.

Para el actuador 1 la selección del servomotor que satisface los requerimientos de par (el par

nominal es de 0,0009262 Nm y el par máximo es de 0,112918 Nm) en el catálogo es el modelo

DB17CDB (Par nominal de 0,05 Nm y Par máximo de 0,13 Nm).

Para el actuador 2 la selección del servomotor que satisface los requerimientos de par (el par

nominal es de 0,00005505 Nm y el par máximo es de 0,138700 Nm) en el catálogo es el modelo

DB17EDB (Par nominal de 0,06 Nm y Par máximo de 0,18 Nm).

Para el actuador 3 la selección del servomotor que satisface los requerimientos de par (el par

nominal es de 0,00030015 Nm y el par máximo es de 0,003924 Nm) en el catálogo es el modelo

DB17CDB (Par nominal de 0,05 Nm y Par máximo de 0,13 Nm).

Page 11: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

10

CONTROL Y PROGRAMACIÓN DE ROBOTS

Page 12: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

11

SAMUEL LÓPEZ REDONDO

3. OBSERVACIONESEn esta práctica se han seleccionado los servomotores para cada una de las articulaciones del

robot Mitsubishi PA-10 (3 primeros grados de libertad). Los pasos que se han seguido para su

elección son:

1º. Conocida la morfología del robot determinar su peor posición (la que implique mayores

pares), bien porque la facilite el fabricante, por intuición (experiencia) o por simulación

como es en nuestro caso ayudados por la herramienta software MATLAB con su

extensión SIMULINK.

2º. Con la carga máxima que soporta el robot y que es facilitada por el fabricante obtener la

matriz de inercias.

3º. Entonces pasamos a obtener los pares máximos y nominales de cada una de las

articulaciones por simulación en la peor posición y condición de carga y les aplicamos un

factor de seguridad.

4º. Por ultimo acudiendo a catálogos de servomotores comerciales seleccionar para cada

articulación el servomotor que mejor se ajuste a los requisitos de par de cada

articulación del robot.

Para verificar los resultados obtenidos ejecutar el archivo PRACTICA.m, de este modo podremos

simular todo lo visto en los anteriores apartados a través de MATLAB y SIMULINK.

Page 13: Estudio de los pares máximos que soporta un robot Mitsubishi PA-10

12

CONTROL Y PROGRAMACIÓN DE ROBOTS

4. BIBLIOGRAFÍAA continuación se lista una serie de páginas web libros que han sido consultados para realizar

esta práctica:

Robótica: Manipuladores y Robots Móviles, Aníbal Ollero Baturone, Ed. Marcombo.

Fundamentos de Robótica, Antonio Barrientos, 2ª Edición, Ed. Mc Graw Hill.

Robótica, John J. Craig, 3ª Edición, Ed. Prentice Hall.

Dynamic identification of a Mitsubishi PA-10 robotic manipulator, R. Van Der Aalst.

Diseño y construcción de una estructura articulada RRR acoplada a un manipulador PA-

10, Iván Perea, Universidad de Alicante.

http://www.youtube.com/watch?v=CfrCGE2EwBc