Está en la página 1de 5

Aplicación del accionamiento

articulado del robot ABB, IRB140


hacia el entorno experimental del
traslado de una probeta para su
muestreo correspondiente mediante la
librería ARTE
Yarasca Jara Cristian, Christian Quispe Canchari, David Carbajal
Facultad de Ingeniería Eléctrica y
Electrónica, Perú

ccyarascaj@unac.edu.pe
cquispec@unac.edu.pe
djcarbajalc@unac.edu.pe

Abstract— El proyecto se basa en la simulación mediante pruebas espacio de trabajo del que disponga el robot, correspondiente a
de funcionamiento y traslado de puntos en vectores y matrices de una esfera cuya dimensión viene determinada por el tamaño de
un robot ABB, IBR140 con 6 grados de libertad manteniendo un los eslabones y la distribución en la cadena cinemática
punto fijo establecido, obteniendo como resultado el movimiento
de un robot mediante el software de ingeniería MATLAB y la Consta de 6 GDL o más que permiten la total ubicación en el
librería ARTE. El uso de la probeta simulada en gestos de marcas espacio, orientación incluida, a la hora de analizar la posición
dimensionadas en un espacio 3D muestran un mejor enfoque a su del extremo, donde se dispone el actuador pertinente para la
aplicación casi directa del uso de un robot. actividad que se quiera realizar con el robot, como puede ser
soldadura, traslado de objetos o pintura.
I. INTRODUCCIÓN
Para dar consistencia al análisis se presenta como
El comando de cinemática directa como cinemática inversa ejemplificación del estudio el análisis, modelado y control
implica el reconocimiento del robot de las posiciones finales, cinemático de una adaptación de un brazo robot ABB de tres
como del reconocimiento de las matrices de direcciones. grados de libertad que realiza un trazado (dibujo) construido
Sabiendo una de ellas el reconocimiento de su inversa se con el kit Lego Mindstorms.
destaca solo con el nombramiento de un comando.
Se utilizan herramientas reales y simuladores para llevar a
cabo la simulación y programación del prototipo

II. DESARROLLO DEL MODELADO


Para la mejor comprensión de los sistemas físicos reales se
busca describir la realidad de un fenómeno de forma abstracta a
fin de definir su comportamiento y respuesta en términos de
ecuaciones matemáticas.
Un sistema es un conjunto de elementos que contribuyen
conjuntamente a una función, pudiendo estudiarse cada
componente de forma particular y dentro del conjunto. Un
sistema físico es estático si su salida permanece constante en la
Figura 1. Simbología de cinemáticas directa e inversa medida en la que lo haga la entrada, dependiendo
exclusivamente de la entrada en curso, por otra parte un sistema
El robot antropomórfico es la configuración más utilizada
dinámico depende en su salida de una entrada previa siendo la
dentro de los robots industriales dada la habilidad que
variación progresiva en el tiempo hasta alcanzar el estado de
presenta el extremo final para definir su posición gracias a las
equilibrio.
seis articulaciones rotacionales que componen el cuerpo,
siendo un robot IRB140. Esto permite realizar un movimiento El modelado matemático de un sistema real se puede
en el espacio con total posibilidad de orientación dentro del desarrollar a partir de las leyes físicas que lo gobiernan. Sin
embargo, estas leyes no siempre están completamente definidas
y la formulación de un modelo matemático resulta imposible, entre la posición del motor y el voltaje aplicado al motor, lo
o contiene parámetros desconocidos que han de evaluarse cual llevado al dominio de Laplace resulta:
mediante pruebas y mediciones en el sistema físico real. Este Se encarga de la descripción analítica del movimiento
procedimiento de modelado experimental somete al sistema a espacial del robot en función del tiempo, estudiando las
una serie de entradas conocidas y se miden las salidas relaciones entre la posición del extremo final del robot con los
definidas previamente, siendo tanto entradas como salidas parámetros de cada articulación que lo compone.
medibles y de interés. De la relación entre entradas y salidas
Figura3. Movimiento del robot articulado.
se construye el modelo matemático.
Existen dos casos de estudio: la posición del efector en
A. Articulación
Comúnmente los eslabones del manipulador están
conectados al actuador a través de un par de engranajes. En el
caso de la utilización de motores de CD se utilizan engranajes
para reducir la velocidad ya que la eficiencia es mejor a altas
velocidades.
Se modela entonces el conjunto como en la gráfica
mostrada para ello se toma por una parte la relación existente
en los engranajes, donde se da por η que es la razón de radios
entre el primer y último engranaje. Las inercias se denotan
con Il para el eslabón, Ig para los engranajes e Ia para el función del movimiento de las articulaciones, lo cual se
actuador. Se considera que existe fricción viscosa en las corresponde con el problema de cinemática directa, o el análisis
escobillas y en los engranajes que se condensará en el de la posición y movimiento de las articulaciones en función de
coeficiente bm. la posición que se quiera para el efector final siendo este un
El modelado se realiza en función del ángulo de rotación análisis de cinemática inversa como puede verse en la Figura 3.
del motor θm, por lo que teniendo en cuenta el par aplicado al B. Especificación del Proyecto
motor comentado ya previamente y el par de la carga tl. Las transformaciones homogéneas se obtienen basándose en
sus parámetros DH, de tal modo que se tienen cuatro matrices,
una por articulación:

Figura4. Parámetros de DH.


A fin de controlar el movimiento que realiza un manipulador
es necesario establecer las características del mismo.
Generalmente, determinar un camino de solución no implica
condiciones de tiempo sobre el cual deben alcanzarse las
configuraciones previstas para el robot.
Figura2. Diseño de una articulación rotacional de un grado Figra5. Traza de la trayectoria experimental.
de libertad. Sin embargo, la planeación de trayectorias implica un
conjunto de algoritmos cuyo objetivo es definir cómo y cuándo
I q + b q = t - tl
Lego se define la siguiente fórmula:
tl = Ilql + blql
Expresando el par de torsión de la carga en función de los
parámetros de la misma, ángulo de rotación dado por θl y
fricción viscosa en los cojinetes de la carga por bl
Para representar la función de transferencia del conjunto
motor y articulación se relaciona la ecuación que modela el
motor y la que modela la articulación, siendo una relación
debe alcanzarse cada configuración que conforma la solución debe tener un sistema para que funcione a tiempo, esto implica
de la tarea a realizar, con valores de posición, velocidad y que a respuesta ante una entrada ha de producirse y mantenerse
aceleración además de las restricciones y características en un tiempo aceptable
concretas que deban cumplirse durante la operación, como
pueden ser las zonas del espacio de trabajo por las que no III. Programación y diseño
puede pasar debido a la presencia de obstáculos Teniendo en cuenta estas características, ha de elegirse un
Figura6. Valores de la matriz de la primera dirección del valor de las componentes de forma conjunta para asegurar un
robot. buen funcionamiento.
La trayectoria del efector final es habitualmente una línea Para proceder con el diseño conviene determinar la respuesta
recta cuya solución puede obtenerse mediante una del sistema sin controlador haciendo hincapié en el
interpolación lineal, en el caso de requerirse otro camino hay comportamiento dinámico que presenta. Se define entonces la
distintos tipos de interpolación que facilitan la solución como respuesta requerida en función del amortiguamiento, el error
son splines o curvas de Bezier. La obtención de la trayectoria estacionario y las restricciones de tiempo.
se realiza aplicando a cada uno de los seis parámetros que
definen la posición y orientación del efector final una A. Espacio de trabajo y compilación de valores
interpolación que permita cumplir las especificaciones. El espacio de trabajo se corresponde con un cilindro de
radio igual a la suma de las longitudes de los eslabones de las
A) PRIMEO, CARGA DE ROBOT dos primeras articulaciones rotacionales l1+l2. Los sistemas
% robot = load_robot('abb','irb140'); de referencia se sitúan como se indica en el esquema, teniendo
% OR el robot cuatro grados de libertad como ya se describió
% robot = load_robot('abb','irb52'); anteriormente. Con esta distribución analizamos los
parámetros Denavit-Hartenberg (DH), siendo JV una variable
B) SIGUIENTE, CARGA DEL EQUIPO articular (joint variable).
% robot.equipment{1} = TABLA I
load_robot('equipment','tables/table_two_areas'); Eslabón di θi li αi

1 d1 θ1(JV) l1 0
C) AHORA, CARGA Y FINALIZACIÓN DEL
MOVIMIENTO DE CARGA 2 d2 θ2(JV) l2 0

% robot.tool= 3 -d3(JV) 0 0 0
load_robot('equipment','end_tools/parallel_gripper_0');

D) FINALMENTE, CAGA DEL ROBOT Y LIBERACIÓN En términos generales en el control de un robot se busca un
DE LA PROBETA tiempo de respuesta rápido sin error en estado estable y con una
% respuesta sobre- amortiguada, ya que las oscilaciones no suelen ser
deseables en el movimiento de un robot.
robot.piece=load_robot('equipment','cylinders/cylinder_tiny');

E) SI ES NECESARIO, CAMBIAR LA POSICIÓN Y


ORIENTACIÓN DE LA PIEZA,
% relative to the robot's base reference system.
%
% robot.piece.T0= [1 0 0 -0.1;
% 0 1 0 -0.5;
% 0 0 1 0.2;
% 0 0 0 1 ];

Durante la simulación, se llama el comando


“simulation_open_tool”; luego, “simulation_close_tool” para Figura7. Direccionamiento del robot ABB, IRB140.
cerrarlo.
En el dominio de Laplace, un sistema será estable cuando
todos sus polos se encuentren a la izquierda del eje imaginario,
proporcionando una salida que se estabilizará entorno a un
valor constante.
La exactitud es un aspecto importante ya que el sistema ha
de ser capaz de reducir el error entre la señal producida y la
deseada a unos límites aceptables y determinados. Según la
aplicación la exactitud será más o menos estricta,
incrementándose el coste del control en la medida que sea
necesario un aumento de la exactitud.
Finalmente la rapidez de respuesta es la característica que
B. Script en Matlab

****************************************** main
function practice_1_programming end

global robot TD_gripper RT_initial function main()


RT_approach1 RT_grip RT_approach2 RT_release
global TD_gripper RT_initial RT_approach1
RT_grip RT_approach2 RT_release
robot = load_robot('ABB','IRB140'); %cerrar la herramienta
robot.equipment{1} = simulation_close_tool; %Set do1;
load_robot('equipment','tables/table_two_areas');
robot.tool= %desplazarse al punto inicial
load_robot('equipment','end_tools/parallel_gripper_0 MoveJ(RT_initial, 'vmax' , 'fine' , TD_gripper,
'); 'wobj0');
robot.piece{1}=load_robot('equipment','cylinders/
cylinder_tiny'); % abre la herramienta
simulation_open_tool; %Reset do1;
robot.piece{1}.T0(1:3,4)=[-0.1 -0.5 0.2]';
%desplazarse al punto aproximado con MoveJ
MoveJ(RT_approach1, 'vmax' , 'fine' , TD_gripper,
drawrobot3d(robot, robot.q); 'wobj0');
% Hasta el punto de destino con MoveL
MoveL(RT_grip, 'vmax' , 'fine' , TD_gripper,
%Definimos la herramienta (pinza ) 'wobj0');
TD_gripper=[1,[[0,0,0.125],[1,0,0,0]],[0.1,
[0,0,0.100],[1,0,0,0],0,0,0]]; %y cerrar la herramienta y agarrar la pieza. Estas
dos funciones
%Definimos los puntos iniciales para la % debe ser llamado para simular que la pinza tiene
simulacion la pieza agarrada y el herramienta está cerrada
simulation_close_tool; %Set do1;
%Punto de partida simulation_grip_piece;
RT_initial=[[0.5,-0.4,0.5],
[0.427269,0.289111,0.844060,-0.146350],[- %Ahora ve al mismo punto de aproximación para
1.000000,0.000000,-1.000000,0.000000], que las colisiones con la mesa sean se eviten
[9E9,9E9,9E9,9E9,9E9,9E9]]; MoveL(RT_approach1, 'vmax' , 'fine' , TD_gripper,
%punto 1 de acercamiento 'wobj0');
RT_approach1=[[-0.1, -0.5, 0.4],[0.0, 0.70711,
0.70711, 0.0], [-1.00000, -1.00000, 0.00000, %Desplácese a la aproximación junto a la zona de
0.00000], envasado
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; MoveJ(RT_approach2, 'vmax' , 'fine' , TD_gripper,
'wobj0');
%Punto de agarre %bajar al punto de liberación dentro de la caja
RT_grip=[[-0.1, -0.5, 0.28],[0.00000, 0.70711, MoveL(RT_release, 'vmax' , 'fine' , TD_gripper,
0.70711, -0.00000], [-1.00000, -1.00000, 0.00000, 'wobj0');
0.00000],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; %libera la pieza
simulation_open_tool; %Hacer reinicio;
%punto 2 de acercamiento simulation_release_piece; %Hacer reinicio;
RT_approach2=[[0.5, -0.5, 0.4],[0.00000,
0.70711, 0.70711, -0.00000], [-1.00000, -1.00000, %ahora, sube
0.00000, 0.00000], MoveL(RT_approach2, 'vmax' , 'fine' , TD_gripper,
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 'wobj0');

%Punto donde suelta %Ahora, vuelve al punto inicial


RT_release=[[0.5, -0.5, 0.28],[0.00000, 0.70711, MoveJ(RT_initial, 'vmax' , 'fine' , TD_gripper,
0.70711, -0.00000], [-1.00000, -1.00000, 0.00000, 'wobj0');
0.00000],
[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; end
******************************************
*
CONCLUSIONES
El uso de la librería ARTE ofrece una multiplicidad de
desarrollos en aplicaciones de ejercicios hechos en
simulación, usando valores apropiados para su modificación
y formación en el campo de la Robótica. Además, se le
agrega que también tiene detalles importantes de cálculos
definidos y parametrizados que se obtienen usando
comandos comprensibles y bastante adecuados al tipo de
modificación que se deba hacer.
Es esencial para la formación de un robot tener que
redireccionar la posición usando comandos adecuados y
escribiendo correctamente el objeto a direccionar para
conseguir el movimiento exacto del robot.
Si bien es cierto es posible que algunos objetos no se
puedan mostrar por cuestiones de script, pero se concluyó
satisfactoriamente el proyecto teniendo en cuenta todos los
parámetros usados.

REFERENCIAS
[1] S. M. Metev and V. P. Veiko, Laser Assisted Microtechnology, 2nd ed.,
R. M. Osgood, Jr., Ed. Berlin, Germany: Springer-Verlag, 1998.
[2] J. Breckling, Ed., The Analysis of Directional Time Series:
Applications to Wind Speed and Direction, ser. Lecture Notes in
Statistics. Berlin, Germany: Springer, 1989, vol. 61.
[3] S. Zhang, C. Zhu, J. K. O. Sin, and P. K. T. Mok, “A novel ultrathin
elevated channel low-temperature poly-Si TFT,” IEEE Electron
Device Lett., vol. 20, pp. 569–571, Nov. 1999.
[4] M. Wegmuller, J. P. von der Weid, P. Oberson, and N. Gisin, “High
resolution fiber distributed measurements with coherent OFDR,” in
Proc. ECOC’00, 2000, paper 11.3.4, p. 109.
[5] R. E. Sorace, V. S. Reinhardt, and S. A. Vaughn, “High-speed
digital- to-RF converter,” U.S. Patent 5 668 842, Sept. 16, 1997.
[6] (2002) The IEEE website. [Online]. Available: http://www.ieee.org/
[7] M. Shell. (2002) IEEEtran homepage on CTAN. [Online].
Available: http://www.ctan.org/tex-
archive/macros/latex/contrib/supported/IEEEtran/
[8] FLEXChip Signal Processor (MC68175/D), Motorola, 1996.
[9] “PDCA12-70 data sheet,” Opto Speed SA, Mezzovico, Switzerland.
[10] A. Karnik, “Performance of TCP congestion control with rate
feedback: TCP/ABR and rate adaptive TCP/IP,” M. Eng. thesis,
Indian Institute of Science, Bangalore, India, Jan. 1999.
[11] J. Padhye, V. Firoiu, and D. Towsley, “A stochastic model of TCP
Reno congestion avoidance and control,” Univ. of Massachusetts,
Amherst, MA, CMPSCI Tech. Rep. 99-02, 1999.
[12] Wireless LAN Medium Access Control (MAC) and Physical Layer
(PHY) Specification, IEEE Std. 802.11, 1997.

También podría gustarte