Diseño y desarrollo de Robots

Diseño y simulación de una estación de trabajo robotizada en una celda de manufactura industrial.

El proyecto consiste en diseñar y simular una solución de trabajo robotizada en una celda de manufactura en el ámbito de la industria de metal mecánica y automotriz, usando uno o varios robots del tipo brazo manipulador. En este caso, estaremos trabajando con los robots industriales de la empresa ABB en su entorno de simulación RobotStudio, topando temas como cinemática directa e inversa, Simulación en Matlab y normas ANSIS RIA para el diseño de la celda de manufactura.

En este proyecto pude desarrollar sistemas basados en robots capaces de ejecutar una trayectoria dictada por la tarea a realizar considerando las normas de seguridad en ambientes industriales y poder plantear e implementar soluciones en sistemas automáticos de manufactura y en el desarrollo de sistemas mecatrónicos.

Cinemática

Obtener la cinemática directa es fundamental en el movimiento de un robot. La cinemática directa ayuda a determinar mediante ecuaciones el movimiento de las articulaciones de un robot y la inversa es calcular los movimientos que debe realizar el robot para un punto determinado en el espacio.

Dentro del estudio de movimiento de un robot se deben considerar algunos aspectos que nos ayuda a describir de forma analítica el movimiento espacial de este con respecto a un sistema de referencia, como: su número de eslabones, la distancia de estos, sus articulaciones y Grados de libertad. Cuidado, las articulaciones y los grados de libertad no son lo mismo aunque comúnmente se los asocia al resolver la cinemática de los brazos robóticos.

Para calcular los GDL general de un mecanismo robótico se emplea la formula de Grübler, que determina el número de Grados de Libertad de un acoplamiento de cuerpos rígidos mediante restricciones mecánicas. Si les interesa adentrarse más a fondo en teoría y una muy buena introducción a la robótica les recomiendo «Modern Robotics by Kevin M. Lynch and Frank C. Park May 3, 2017»

Dando una introducción rápida. Existen múltiples mecanismos en la mayoría de robots, considerando sus articulaciones y eslabones (Joints + Links). Hay algunos tipos:

Typical robot joints from the book MODERN ROBOTICS by Kevin M. Lynch and Frank C. Park May 3, 2017

Cada uno de estas articulaciones tienen sus GDL y restricciones respectivamente, considerando cómo lo evalues, planar 3 de forma lineal (x,y,z) o espacial 6 incluyendo los ángulos (roll, pitch, yaw). Los más comunes implementados en brazos robóticos industriales y colaborativos son el Revolute (R) y el Prismático (P) con un grado de libertad permitiendo un movimiento rotacional o de translación lineal respectivamente. En la siguiente gráfica podemos observar un cuadro con los grados de libertad según las restricciones de sus mecanismos planar o espacial.

The number of degrees of freedom f and constraints c provided by common joints from the book MODERN ROBOTICS by Kevin M. Lynch and Frank C. Park May 3, 2017

Retomando el tema de cómo calcular los GDL se aplica la siguiente fórmula de Chebychev–Grübler–Kutzbach, «Grübler Formula».

Donde m es el tipo de mecanismo (planar o espacial), N el número de enlaces considerando la Tierra como uno más (por ello se resta dentro de la ecuación), J el número de articulaciones y fi el número de libertades dadas por las articulaciones Ji, y Ci el número de dichas restricciones. Donde m = fi + Ci

Hay que asumir que las restricciones proporcionadas por las articulaciones son independientes.

From the book MODERN ROBOTICS by Kevin M. Lynch and Frank C. Park May 3, 2017

En el Siguiente ejemplo se resolverá la cinemática directa e inversa de un brazo robótico con 2 articulaciones rotativas y una lineal y con 3 eslabones.

%% Borrar variables
clc
clear

%% Links
L1=10;
L2=10;
L3=10;

%% Solicitud de Angulos
q1=input('q1:'); 
q2=input('q2:'); 
q3=input('q3:'); 

%% Cinematicsdirecta
y=L2*cosd(q1)+L3*cosd(q1+q2);
x=-L2*sind(q1)-L3*sind(q1+q2);
z=L1-q3;

x1 = 0;
y1 = 0;
z1 = L1;

y2 = L2*cosd(q1);
x2 = -L2*sind(q1);
z2 = L1;

y3 = L2*cosd(q1)+L3*cosd(q1+q2);
x3 = -L2*sind(q1)-L3*sind(q1+q2);
z3 = L1;

%% Grafica
figure
hold on
grid on 

plot3([0 x1],[0 y1],[0 z1], 'r')  
plot3([x1 x2],[y1 y2],[z1 z2],'b')  
plot3([x2 x3],[y2 y3],[z2 z3],'y')  
plot3([x3 x],[y3 y],[z3 z],'r')
plot3(x,y,z,'bd')           
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
title ('Robot') 
%% Borrar variables
clc
clear
%% Links
L1=10;
L2=10;
L3=10;
%% Solicitar ángulos
q1=input('q1:'); %Ángulo
q2=input('q2:'); %Ángulo
q3=input('q3:'); %Longitud
%% Barras
y=L2*cosd(q1)+L3*cosd(q1+q2);
x=-L2*sind(q1)-L3*sind(q1+q2);
z=L1-q3;
%% Grafica TCP
plot3(x, y, z,'b*');
grid on;
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
axis equal
title TCP
%% Borrar Variables
clc
clear

%% Links
L1=10;
L2=10;
L3=10;

%% Grafica 
figure
hold on;
grid on;

for q1 = -85:10:265          
    for q2 = -175:10:175     
        for q3 = 0:2:10      
            y=L2*cosd(q1)+L3*cosd(q1+q2);
            x=-L2*sind(q1)-L3*sind(q1+q2);
            z=L1-q3;
        plot3(x,y,z,'*b'); 
        end
    end
end
axis equal
xlabel('Eje x')
ylabel('Eje y')
zlabel('Eje z')
title Workspace

RobotStudio

Es un entorno virtual para aplicaciones robóticas, es uno de los más populares simuladores de programación fuera de línea creada por la marca ABB. Tienes todos los robots que ellos ofrecen con sus controladores y grippers y también tienes la opción de importar otros objetos con extensión STL y modificar los materiales y colores dentro del entorno. Para realizar el proyecto tuvimos una breve introducción del uso del simulador, no entraré mucho a detalle en el uso del programa, pero les compartiré una de las prácticas que realicé.

Practicar y practicar

Desarrollo de Proyecto

Luego de entender de forma básica la cinemática de los brazos robóticos y una breve introducción a RobotStudio vamos a entrar en materia en lo que conlleva el proyecto.

Como bien se menciona al inicio, debemos desarrollar y diseñar una solución de trabajo robotizada en una celda de manufactura para el la industria de metal mecánica y automotriz. Específicamente la celda de manufactura será una estación de trabajo robotizada para ensamblaje mediante
soldadura láser de piezas de aluminio con equipo ABB, que cumpla con un ciclo de trabajo de 25 segundos. Se debe acompañar de documentación que justifique la implementación del equipo además de una cotización que evalúe la viabilidad del proyecto.

Independientemente del uso que se le de a la celda de manufactura, es un espacio que se destina para procesar piezas en diferentes ámbitos o, en su defecto, como almacén, donde un robot cartesiano realiza el proceso programado. Se deben considerar diferentes factores dependiendo el proceso a realizar: espacio, seguridad, personal, etc.

Descripción del objetivo del proyecto

  • Objetivo General: Diseñar y simular una celda de manufactura robotizada haciendo uso de equipo ABB, que incluye un sistema neumático de mordazas que aseguren las piezas individuales y un robot capaz de soldar la trayectoria requerida en un ángulo de 90 grados.
  • Objetivo en Cinemática: Optimización de la trayectoria del brazo robótico soldador por medio del cálculo de las posibles combinaciones que permite el equipo proporcionado y sus grados de libertad.
  • Objetivo en Diseño: Generación de un sistema de mordazas capaz de mantener ambas piezas juntas y con la capacidad de rotar durante el proceso de soldadura.
  • Objetivo en Control: Desarrollo de un modelo de control de posición y velocidad para el proceso de soldadura.

Criterios de aceptación del proyecto

  • El proceso debe cumplir con los estándares de calidad para las piezas, la distancia para la soldadura y la precisión del movimiento del robot: Criterios de aceptación ANSI/RIA R15.06 y los requisitos de calidad para la fabricación de pre series ENS-EST-010.
  • Cumplir con el tiempo de ciclo de 25 segundos para todo el proceso de simulación.
  • Los mecanismos diseñados de las mordazas y la trayectoria de soldadura del robot no deben afectar la forma de las piezas.
  • Se debe garantizar que el diseño permita: una producción homogénea, una fácil identificación del sentido y orientación de las piezas para el equipo operativo, y una sencilla manipulación de las estructuras mecánicas.
  • La operación de la celda de manufactura debe ser segura para el operador.
  • Es necesario que se diseñe el proyecto de forma que se anticipen y eviten errores, principalmente humanos o de interacción entre los componentes instalados.
  • Los elementos de sujeción de la pieza deben ser diseñados de forma tal que puedan ser instalados en la mesa giratoria.

Como parte fundamental de un proyecto, es necesario considerar los puntos más frágiles antes de la entrega final establecida, con el objetivo de poder detectar esos factores a tiempo y poder hacer las modificaciones pertinentes para garantizar el cumplimiento de todos los requisitos presentados por el cliente. Es por ello por lo que se analizaron diferentes rubros relacionados con el proyecto, en búsqueda de factores de riesgo, como resultado, se identificaron los diferentes escenarios que pueden afectar el desarrollo del proyecto y se clasificaron conforme la probabilidad y el impacto que habría en caso de que estos sucedan.

En el siguiente documento podemos observar un ejemplo de la matriz que se utilizó para identificar la probabilidad de riesgos

Diseño de Cabina

Considerando todos los puntos anteriores y luego de investigar más a fondo sobre el diseño y desarrollo de celdas de manufactura para ensamble láser se realizó un Modelo Inicial de la cabina.

Prototipo Cabina Imágen.

Para el desarrollo de una celda robótica se deben considerar ciertos estándares internacionales para garantizar la seguridad y el correcto funcionamiento de la misma. Para este proyecto nos basamos en los estándares de la «American National Standards Institute» (ANSI) y «Robotic Industries Association» (RIA) ANSI/RIA 15.06, que se enfocan en los requerimientos de seguridad para robots industriales de manufactura y la instalación/ integración de lo sistemas robóticos. En general, realizar una evaluación de riesgos para identificar tareas y peligros y medidas de protección asociadas para todas las fases de operación.

Un típico cuadro de flujo para la evaluación de riesgos según ANSI/RIA 15.06 consiste en:

  • Establecer límites de uso para los sistemas robóticos
  • Identificación de tareas y peligros
  • Estimación inicial de riesgos
  • Determinación de reducción de riesgos
  • Implementación de medidas de reducción de riesgos
  • Verificación de la reducción de riesgos
  • Documentar

Luego de leer el manual completo de los estándares para la implementación y trabajo de la celda de manufactura se realizaron los siguientes cambios.

A la par del diseño de la cabina se realizó la cotización de todos los componentes que se implementaron para su correcto funcionamiento y seguridad. De la misma forma se realizó un Return on Investment (ROI), que es un cálculo del valor monetario de la inversión versus el costo de implementación para determinar el porcentaje de tiempo del retorno de la inversión. En el siguiente documento se detallan ambos documentos.

Una vez implementados todos los cambios se obtuvo como modelo final realizado por mi compañero Diego Antonio Ramírez Rivera en RobotStudio:

Quiero agradecer a todos los miembros del equipo por llevar acabo todo el proyecto:

  • Diego Antonio Ramírez Rivera
  • Patricio Borbolla Burillo
  • León Carlos Nieto Gómora
  • Miguel Armando Fonllem Salazar
  • Juan Antonio Vélez Moreno

Al finalizar el proyecto se realizó un Paper con el desarrollo del mismo