TECNOLOGICO DE ESTUDIOS SUPERIORES DE … · PRESENTACIÓN El Presente manual de prácticas fue...
Transcript of TECNOLOGICO DE ESTUDIOS SUPERIORES DE … · PRESENTACIÓN El Presente manual de prácticas fue...
TECNOLOGICO DE ESTUDIOS
SUPERIORES DE ECATEPEC
DIVISIÓN DE INGENIERÍA ELECTRÓNICA Y
TELEMÁTICA
PRÁCTICAS DE LABORATORIO
ASIGNATURA:
ROBÓTICA II
REALIZÓ:
GERARDO PAZOS RODRÍGUEZ
PRESENTACIÓN
El Presente manual de prácticas fue realizado, para la asignatura de Robótica II,
intenta proporcionar a los docentes y estudiantes un material de apoyo que facilite
el proceso enseñanza-aprendizaje, a través del trabajo en el laboratorio,
reforzando de esta manera, la teoría mostrada en el salón de clases, de tal forma
que el estudiante obtenga el conocimiento y las habilidades necesarias para
utilizar software para el diseño, control y simulación de robots.
Las prácticas de este manual, son presentadas para que el estudiante logre un
aprendizaje significativo, debido a que están diseñadas de forma que el docente
actúe como guía y el estudiante participe activamente, haciendo experimentos y al
mismo tiempo aprendiendo por descubrimiento.
Dicho lo anterior, se justifica el brindar a los estudiantes un manual que los
encamine a la aplicación de los conceptos teóricos, permitiendo profundizar más
en los casos prácticos.
Tabla de contenido PROTOCOLO DE PRÁCTICA DE ROBÓTICA II ................................................................... 1
MODELO DINÁMICO DE UN ROBOT ............................................................................... 2
1. OBJETIVOS .......................................................................................................................... 2
2. INTRODUCCIÓN A LA HERRAMIENTA .......................................................................... 2
3. MODELO DINÁMICO DE UN ROBOT .............................................................................. 3
3.1 OBTENCIÓN DEL MODELO DINÁMICO DE UN ROBOT .................................... 3
REFERENCIAS BIBLIOGRÁFICAS ................................................................................... 8
GENERACIÓN DE TRAYECTORIAS .............................................................................. 10
1. OBJETIVOS ........................................................................................................................ 10
2. INTRODUCCIÓN A LA HERRAMIENTA ........................................................................ 10
3. TRABAJO PRÁCTICO ....................................................................................................... 11
3.1 GENERACIÓN TRAYECTORIAS ............................................................................ 11
3.2 VELOCIDADES ARTICULARES / CARTESIANAS: JACOBIANOS ................ 144
3.3. RESOLUCIÓN DE PROBLEMAS. ......................................................................... 144
REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 15
PROGRAMACIÓN DE ROBOTS SOBRE UN SIMULADOR .......................................... 177
1. OBJETIVOS ...................................................................................................................... 178
3. DESCRIPCIÓN DE LA TAREA A ROBOTIZAR .......................................................... 188
4. TRABAJO PRÁCTICO ..................................................................................................... 222
4.1 INTRODUCCIÓN AL SIMULADOR ....................................................................... 222
4.2 TRABAJO A DESARROLLAR ................................................................................ 233
4.2.1 SESIÓN 1 .................................................................................................................... 233
4.2.2 SESIÓN 2 .................................................................................................................... 244
REFERENCIAS BIBLIOGRÁFICAS ............................................................................... 255
PROYECTO .................................................................................................................. 266
1
PROTOCOLO DE PRÁCTICA 1 DE ROBÓTICA II 1.-DATOS GENERALES 1.- Ciclo Escolar:__________ 2.- Institución: TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC 3.- Asignatura: Robótica II 4.- Clave:ACB-0804 5.- Profesor titular:__________________________ 6.- Laboratorista:____________________________ 7.- Grupo:_________ 8.- Horario del laboratorio:_______________hrs 9.- Practica No._1_ 10.- Unidad: _2_ 11.- Temática: Modelado de robots. 12.- Nombre de la práctica: Modelado dinámico de un robot. 13.- Número de sesiones que se utilizaran para esta práctica:_4_
2.- EQUIPO # ___________ INTEGRANTES
1.-
2.-
3.-
Coordinador:
Apellido Paterno Apellido Materno Nombre(s)
3.- PLANTEAMIENTO DEL PROBLEMA Obtener el modelo dinámico del robot Puma 560, para lograr el diseño del control y la generación de trayectorias.
4.- MARCO TEÓRICO El estudiante investigará la teoría del modelo dinámico de un robot manipulador.
5.- OBJETIVO Adquirir el conocimiento en el manejo de herramientas matemáticas que permitan resolver de forma sencilla problemas relacionados con la obtención de modelos dinámicos de cualquier robot manipulador.
6.- ACTIVIDAD Utilizar el Toolbox de robótica para crear y manipular tipos de datos de funciones específicas de los robots manipuladores (tales como matrices jacobianas, matrices de Denavit-Hartenberg, D’Alenbert, etc.). Además, realizar simulaciones y analizar los resultados del comportamiento dinámico de robots reales.
7.- PLAN DE TRABAJO Con la información presentada el estudiante elaborará un plan de trabajo para concluir satisfactoriamente en el tiempo previsto la práctica.
8.- DESARROLLO A partir del plan de trabajo el estudiante desarrollará la práctica y presentará un reporte de resultados.
9.- MATERIAL Y EQUIPO Equipo de cómputo con Matlab y Toolbox de robótica.
10.- CONCLUSIONES El estudiante concluirá de acuerdo a resultados obtenidos.
11.- BIBLIOGRAFÍA La consultada por los estudiantes.
2
PRÁCTICA 1
MODELO DINÁMICO DE UN ROBOT
1. OBJETIVOS
El objetivo principal de esta práctica es el modelado dinámico de robots
industriales. En el semestre anterior, el estudiante se familiarizó tanto con el robot
Puma 560 (implementado en la Toobox de Robotics) como con otro industrial que
él seleccionó partiendo de catálogos actuales de robots comerciales. El objetivo
principal es obtener el modelo dinámico de un robot sencillo de 3GDL, para
abordar posteriormente la etapa de diseño de control. El modelado dinámico se
tratará de obtener, mediante una serie de funciones implementadas en Robotics
Toolbox de Matlab, los componentes que caracterizan y definen la ecuación del
modelo dinámico de un robot multiarticular (tales como: matriz de inercias, vector
de fuerzas de Coriolis, vector de fuerzas gravitatorias, vector de elementos de
fricción, etc). Todos estos componentes actúan e influyen de manera considerable
en la precisión de un robot.
2. INTRODUCCIÓN A LA HERRAMIENTA
Como en esta práctica se va a trabajar con el modelado dinámico, se
aconseja visualizar del tutorial de Robotics Toolbox las siguientes opciones:
>>rtdemo
Jacobianos
Dinámica Directa
Dinámica Inversa
3
3. MODELO DINÁMICO DE UN ROBOT
3.1 OBTENCIÓN DEL MODELO DINÁMICO DE UN ROBOT
En este apartado se va a obtener el modelo dinámico, en variables
simbólicas del robot planar de 3 GDL que se muestra Figura 1. Las tres
articulaciones son de rotación.
Para facilitar la resolución del problema dinámico se supondrán las masas
M1 y M2 concentradas en los extremos de los elementos. La posición de los
centros de masas viene dada por los vectores que en este caso son vectores
nulos. Teniendo en cuenta la hipótesis de las masas concentradas, el tensor de
inercia en cada centro de masas para los elementos 1 y 2 son nulos, mientras que
el tensor de inercia para el tercer elemento es:
Figura 1
Por tanto, ya se tienen todos los datos necesarios para construir la matriz
de parámetros cinemáticas y dinámicos. Ver la ayuda con la función dyn.
>>help dyn
DYN Contiene los parámetros cinemáticos y dinámicos del manipulador.
4
Cada vez que se quiera utilizar una función relacionada con la dinámica
será necesario introducir en una matriz los parámetros de Denavit-Hartenberg del
manipulador, junto con ciertos parámetros dinámicos, El modo de introducir esta
información en dicha matriz (a la que se denominará genéricamente DYN) en el
siguiente
- Hará una fila porcada elemento que tenga el manipulador
- Cada fila tendrá el siguiente formato:
1 alpha (i-1) Parámetros de Denavit-
Hartenberg
2 a (i-1)
3 theta (i)
4 d (i)
5 sigma (i) Tipo de articulación; 0 si
es de rotación y 1 si es prismática
6 masa. Masa del elemento i
7 rx Cm del elemento respecto al sist
de referencia de dicho elemento
8 ry
9 rz
10 lxx Elementos del tensor de inercia
referido al centro de masas del
elemento.
11 lyy
12 lzz
13 lxy
14 lyz
15 lxz
16 Jm Inercia de la armadura.
17 G Velocidad de la articulación /
velocidad del elemento.
18 B Fricción, viscosa, referida al
motor.
19 Tc+ Fricción de Coulomb (rotación
positiva), referida al motor.
20 Tc- Fricción de Coulomb (rotación
negativa), referida al motor.
5
Todos los ángulos deberán ser introducidos en radianes. El resto de parámetros de la matriz
pondrán tener las unidades que se deseen, siempre que se sea coherente en el uso de dichas
unidades. Es decir que si se introducen las masas en Kg y los centros de masas en metros, al
escribir el tensor de inercia se deberá expresar en Kg .
a. Obtener una expresión simbólica de los pares que se ejercen en cada una de las articulaciones,
es decir, resolver el problema dinámico inverso.
Además obtener los términos por separado que intervienen en el modelo dinámico, es decir, la matriz
de masas M ( ), los términos centrifugados y de Coriolis H ( ) y el termino gravitatorio G ( ). Ver
la ayuda de las funciones inertia_H, gravity_H y coriolis_H.
>>syms th1 th2 th3 real; % Variables articulares 1, 2 y 3
>>syms td1 td2 td3 real; % Velocidades articulares
>>syms tdd1 tdd2 tdd3 real; % Aceleraciones articulares
>>syms l1 l2 real; % Longitudes de los elementos
>>syms m1 m2 m3 real; % Masas de los elementos
>>syms g real; % Aceleración de la gravedad
% Matriz con los parámetros cinemáticas y dinámicos del manipulador
>>dyn=[0 l1 th10 0 m1 l1 0 0 0 0 0 0 0 0 0 1 0 0 0;
0 l2 th2 0 0 m2 l2 0 0 0 0 0 0 0 0 0 1 0 0 0;
0 0 th3 0 0 m3 0 0 0 0.05 0.1 0.1 0 0 0 0 1 0 0 0];
>>q=[th1 th2 th3]; % Vector de variables articulares
>>qd=[td1 td2 td3]; % Vector de velocidades articulares
>>qdd=[tdd1 tdd2 tdd3]; %Vector de aceleraciones articulares
6
>>grav=[0 -g 0]; %Vector de la gravedad
>>tau=me_H (dyn,q,qd,qdd,grav)
% Para identificar de dicha ecuaciones la matriz de masas M, el vector Coriolis y de fuerzas
Centrípetas H y el vector de gravedad G:
>>M=inertia_H (dyn,q)
>>H=coriolis_H (dyn,q,qd)
>>G=gravity_H (dyn,q,grav)
b. Obtener la trayectoria que seguiría el mismo manipulador plano al aplicarle los pares siguientes,
es decir, resolver el problema dinámico directo.
Para ello es necesario crear un archivo tau3gdl.m con los pares que se aplican:
function tau=tau3gdl(t,q,qd)
tau=[30+(1+exp(-t))*10*sin(t); 10+10-cos(t); 2+2*sin(t)];
Para integrar la dinámica se emplea la función fdyn (help fdyn):
FDYN Permite integrar la dinámica directa para obtener las trayectorias articulares.
[T Q QD]=FDYN(ROBOT,T0,T1)
[T Q QD]=FDYN(ROBOT,T0,T1,TORQFUN)
[T Q QD]=FDYN(ROBOT,T0,T1,TORQFUN,Q0,QD0)
[T Q QD]=FDYN(ROBOT,T0,T1,TORQFUNQ0,QD0,ARG1,ARG2, …)
7
La función FDYN se encarga de integrar las ecuaciones del movimiento del manipulador en el
intervalo del tiempo que va desde T0 a T1, usando la función de integración ODE45. Y ROBOT es un
objeto robot y describe cinemática y dinámica del manipulador. También es posible pasar como
parámetros dos vectores Q0y QD0 con los valores iníciales de las posiciones y velocidades
articulares.
Esta función devuelve como resultado un vector de tiempo T y dos matrices Q y QD, que
corresponden respectivamente con las posiciones y velocidades articulares. Cada una de estas
matrices tiene una fila por cada instante contenido en el vector T, y tantas columnas como variables
articulares haya.
El par con el que se actúa sobre el manipulador puede ser especificado mediante una función:
TAU = TORQFUN (T, Q, QD, ARG1, ARG2,…)
Donde T es el tiempo, Q y QD son los vectores de n elementos que contienen las posiciones y
velocidades articulares. Dicha función debe devolver un vector fila. Si no se especifica el parámetro
TORQFUN, entonces se asume que se está aplicando un par nulo al manipulador. Asimismo, se
puede introducir el vector aceleración de la gravedad que sufre el manipulador. Si no se indica
ninguno, por defecto se asume una aceleración de 9.81 en la dirección y sentido del vector –Z
(es decir GRAV=[0 0 -9.81]).
Para ello, antes de ejecutar dicho comando fdyn, es necesario dar los siguiente valores numéricos a
las masas, a las longitudes, suponer nulo el vector de coordenadas articulares y construir el objeto
robot.
>>m1=4.7; m2=2.6; m3=1.1; lxx3=0.05; lyy=0.1; lzz3=0.1; l1=0.8; l2=0.8;
>>th1=0; th2=0;th3=0;
>>dyn
8
>>r=robot(dyn);
>>[tsim,q,qd]=fdyn (r, tini, tfin, ‘tau3gdl’, q0, qd0);
Se pide:
Visualizar la animación del robot.
Visualizar los pares aplicados y los valores de la variables articulares correspondientes a la
aplicación de los pares dados.
REFERENCIAS BIBLIOGRÁFICAS
Manual de la Robotics Toolbox.
9
PROTOCOLO DE PRÁCTICA 2 DE ROBÓTICA II 1.-DATOS GENERALES 1.- Ciclo Escolar:__________ 2.- Institución: TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC 3.- Asignatura: Robótica II 4.- Clave:ACB-0804 5.- Profesor titular:__________________________ 6.- Laboratorista:____________________________ 7.- Grupo:_________ 8.- Horario del laboratorio:_______________hrs 9.- Practica No._1_ 10.- Unidad: _3_ 11.- Temática: Modelado de robots. 12.- Nombre de la práctica: Generación de trayectorias 13.- Número de sesiones que se utilizaran para esta práctica:_3_
2.- EQUIPO # ___________ INTEGRANTES
1.-
2.-
3.-
4.-
5.-
Coordinador:
Apellido Paterno Apellido Materno Nombre(s)
3.- PLANTEAMIENTO DEL PROBLEMA Analizar la interpolación de trayectoria, tanto como articulares como cartesianas, del robot PUMA 560
4.- MARCO TEÓRICO El estudiante investigará la teoría del modelo dinámico de un robot PUMA.
5.- OBJETIVO Adquirir el conocimiento en el manejo de herramientas matemáticas que permitan analizar la interpolación de trayectorias, tanto articulares como cartesianas de cualquier robot manipulador.
6.- ACTIVIDAD El estudiante, realizará la programación necesaria para obtener una trayectoria en un robot industrial real seleccionado por él.
7.- PLAN DE TRABAJO Con la información presentada el estudiante elaborará un plan de trabajo para concluir satisfactoriamente en el tiempo previsto la práctica.
8.- DESARROLLO A partir del plan de trabajo el estudiante desarrollará la práctica y presentará un reporte de resultados.
9.- MATERIAL Y EQUIPO Equipo de cómputo con Matlab y Toolbox de robótica.
10.- CONCLUSIONES El estudiante concluirá de acuerdo a resultados obtenidos.
11.- BIBLIOGRAFÍA La consultada por los estudiantes.
10
PRÁCTICA 2
GENERACIÓN DE TRAYECTORIAS
Leer definidamente el enunciado completo de la práctica, analizando la resolución
de las cuestiones planteadas.
1. OBJETIVOS
El objetivo principal de esta práctica es profundizar en aspectos
relacionados con la generación de trayectorias. Concretamente se realizarán la
interpolación de trayectorias, tanto articulares como cartesianas, del robot PUMA
560.
Otro de los objetivos a tener en cuenta en la generación de trayectorias es
la presencia de configuraciones singulares. Por ello, en esta práctica se tratará de
detectar y comprender las singularidades y sus efectos en el seguimiento de
trayectorias del robot PUMA 560.
2. INTRODUCCIÓN A LA HERRAMIENTA
Visualizar en la demo de Robotics Toolbox las opciones correspondientes a
la generación de trayectorias, y animación, familiarizándose con las funciones
disponibles y su utilización.
>>rtdemo
Generación de trayectorias Animación
11
3. TRABAJO PRÁCTICO
3.1 GENERACIÓN TRAYECTORIAS
a. Definir para el robot PUMA dos posiciones articulares q1 = [1, 0 -0.3, 0.1, 0.1,
0.1] y q2 = [0, 0, -0.3, 0.1, 0.1, 0.1]. Obtener una trayectoria coordinada articular
compuesta de unos 40 puntos entre q1 y q2 en un tiempo de 1 segundo. Para ello
utilizar la función jtraj que genera una trayectoria con un polinomio de orden 7,
que proporciona continuidad de velocidad y aceleración.
Plotear la posición, la velocidad y la aceleración en el tiempo.
Visualizar la animación de dicha trayectoria.
b. Escalar el vector de tiempos para asegurar que no se sobrepasan en ninguna
articulación la velocidad máxima de 2rad/s, ni la aceleración de 5 rad/ . ¿Cuánto
tiempo le costaría realizar el movimiento considerando esas restricciones?
c. Obtener la localización cartesiana de las dos localizaciones articulares
anteriores. A partir de ellas obtener una trayectoria en el espacio cartesiano
entre ambos puntos (función ctraj).
d. Obtener la evolución articular de la trayectoria cartesiana utilizando el
modelo inverso (utilizar ikine tomando q1 como semilla inicial).
e. Compara el movimiento articular de la trayectoria cartesiana y la coordinada
articular, ploteando su evolución en el tiempo para las seis articulaciones.
¿Con cuál de las dos trayectorias se podrá mover el robot de forma más rápida?
Comentar ventajas e inconvenientes de ambos tipos de trayectorias.
12
NOTA_1
En coordenadas articulares:
>>q1=[1,0,-0.3,0.1,0.1,0.1];
>>q2=[0,0,0.3,0.1,0.1,0.1];
>>t=[0:0.03:1.2]; %crear el vector de tiempo
>>Q=jtraj(q1,q2,t);
>>subplot(3,2,1)
>>plot(t,Q(:,1))
>>xlabel(‘Time (s)’);ylabel(‘art-1’)
>>subplot(3,2,2)
>>plot(t,Q(:,2))
>>xlabel(‘Time (s)’);ylabel(‘art-2’)
…
En coordenadas cartesianas
>>T1=fkine(…);
>>T2=fkine(…);
>>Tc=ctraj(T1,T2,41);
>>Qc=ikine(p560,Tc,q1);
>>subplot(3,2,1)
>>plot(t,Qc(:,1))
13
>>xlabel(‘Time (s)’); ylabel(‘art-1’)
>>subplot(3,2,2)
>>plot(t, Qc(:,2))
>>xlabel(‘Time (s)’; ylabel(‘art-20’))…
Visualizar la animación de esta trayectoria y la
realizada en el apartado anterior (b). Para ello mira la ayuda de robot/plot
utilizando la opción de visualizar dos robots puma en la misma ventana
gráfica.
NOTA_2:
>>p560_2=p560;
>>p560_2.name=’otro’;
>>p560_.base=transl(-0.5,0.5,0);
>>hold on
>>plot(p560,Q);plot(p560_2,Qc)
14
3.2 VELOCIDADES ARTICULARES / CARTESIANAS: JACOBIANOS
a. Considerar unas coordenadas articulares qc = [0, 0, -pi/4, 0, 0.1, 0] para el robot
Puma. Visualizar dicha localización.
Obtener la velocidad de cada una de las
articulaciones para mantener una velocidad cartesiana de translación pura
de la muñeca de 0.5 en el eje Y de la referencia asociada a la base del
robot (para ello utilizar el jacobiano).
b. Hace lo mismo con qc = [0, 0, -pi/4, 0, 0.001, 0].
Comparar ambas velocidades articulares. ¿Qué
ocurre? ¿Qué implicaciones tiene esto en la generación de trayectorias?
3.3. RESOLUCIÓN DE PROBLEMAS.
a. Considerar una articulación de rotación. Utilizando un interpolador lineal de
ajuste parabólico (función parab), generar la trayectoria articular que cumpla las
siguientes especificaciones:
- posición inicial: 10 rad posición final: 90 rad en 4 segundos
- aceleración inicial: 30 rad/s2 aceleración final: 30 rad/s2
Visualiza la trayectoria articular resultante, así como
la velocidad y aceleración articular.
Dibuja en la misma figura la gráfica correspondiente
a la misma trayectoria aumentando su aceleración a 80 rad/s2. ¿Qué le
ocurre al tramo del ajuste parabólico?
b. Generar una trayectoria linear con ajuste parabólico que salga del punto de
coordenada articular 0 y llegue al punto 5 rad pasando por el punto 10 rad. La
15
duración especificada para cada uno de los dos tramos es de 1 segundo y la
aceleración en los tres en laces es de 40 rad/s2. Visualiza la trayectoria resultante,
así como la velocidad y aceleración articular.
c. Trata de dibujar una trayectoria de tipo polinómico que cumpla las mismas
especificaciones
(Utilizar pol5). Comparar resultados.
REFERENCIAS BIBLIOGRÁFICAS
Toolbox de Robotics ,
http://www.cat.csiro.au/cmst/staff/pic/robot/
A. Ollero, ‘Robótica, Manipuladores y Robots
Móviles’, Ed. Marcombo, 2001.
16
PROTOCOLO DE PRÁCTICA 3 DE ROBÓTICA II 1.-DATOS GENERALES 1.- Ciclo Escolar:__________ 2.- Institución: TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC 3.- Asignatura: Robótica II 4.- Clave:ACB-0804 5.- Profesor titular:__________________________ 6.- Laboratorista:____________________________ 7.- Grupo:_________ 8.- Horario del laboratorio:_______________hrs 9.- Practica No._1_ 10.- Unidad: _3_ 11.- Temática: Simulación. 12.- Nombre de la práctica: Programación de robots sobre un simulador. 13.- Número de sesiones que se utilizaran para esta práctica:_2_
2.- EQUIPO # ___________ INTEGRANTES
1.-
2.-
3.-
4.-
5.-
Coordinador:
Apellido Paterno Apellido Materno Nombre(s)
3.- PLANTEAMIENTO DEL PROBLEMA Controlar a través de simulador un robot de máximo 3 grados de libertad utilizando su modelo dinámico
4.- MARCO TEÓRICO El estudiante investigará la teoría del modelo, diseño y control de robots.
5.- OBJETIVO Simular un robot de máximo 3 grados de libertad.
6.- ACTIVIDAD Simular un robot industrial mediante el uso de software.
7.- PLAN DE TRABAJO Con la información presentada el estudiante elaborará un plan de trabajo para concluir satisfactoriamente en el tiempo previsto el proyecto.
8.- DESARROLLO A partir del plan de trabajo el estudiante desarrollará la práctica y presentará un reporte de resultados.
9.- MATERIAL Y EQUIPO Equipo de cómputo con software de simulación de robots.
10.- CONCLUSIONES El estudiante concluirá de acuerdo a resultados obtenidos.
11.- BIBLIOGRAFÍA La consultada por los estudiantes.
17
PRÁCTICA 3
PROGRAMACIÓN DE ROBOTS SOBRE UN SIMULADOR
1. OBJETIVOS
El objetivo principal de esta práctica es conocer y valorar la utilidad de un
simulador gráfico de robots manipuladores. Además, el estudiante aprenderá y
practicará las distintas formas de programación de los robots industriales, tanto
gestuales como textuales.
Concretamente, el objetivo de programación es implementar sobre el
simulador una tarea de ensamblado y pegado utilizando guiado y lenguaje textual
explícito. Adicionalmente, el estudiante documentará la aplicación incluyendo
explicaciones sobre la asignación de referencias y la planificación de movimientos
realizada (evitación de obstáculos, tipos de movimientos, etc.).
Así, El estudiante se acercará con mayor realidad al entorno de
programación de los robots industriales y tratara de resolver problemas que se
presentan habitualmente al programar una tarea robotizada (como son: evitar
obstáculos, localizar objetos, evitar singularidades, seleccionar configuraciones del
robot, etc.).
18
2. INTRODUCCIÓN A LA HERRAMIENTA
Leer el manual del simulador. El lenguaje de robot que utiliza el simulador
(llamado CVAL2) es parecido al VAL II pero con sintaxis de lenguaje C. Permite la
composición de localizaciones directamente con el operador producto (*). Mirar
detenidamente los ejemplos de programas que se ejecutan para familiarizarse con
las características del lenguaje.
Planificar la tarea a programar, pensando en los sistemas de referencia
necesarios y los tipos de movimientos y trayectorias a utilizar.
Suponiendo que estuviera localizada la pieza base a ensamblar, escribir
una primera versión del código necesario para implementar la tarea que se
describe. Utilizar referencias relativas a una referencia asociada al objeto, que
ustedes deben elegir teniendo en cuenta que debe ser una referencia fácilmente
localizable guiado (ver el escenario en la Fig 5.).
3. DESCRIPCIÓN DE LA TAREA A ROBOTIZAR
Se propone implementar una tarea de pegado y ensamblado. La tarea
consiste en ensamblar 2 piezas por medio de 2 pernos. Cada una de las piezas
dispone de un asidero y de 2 agujeros de dimensiones adecuadas.
19
Figura 2
Las dos piezas ensambladas conforman un paralelepípedo
Figura 3
20
Antes de ensamblar las piezas es necesario aplicar un sellador que pegue
las dos piezas entre sí. Para ello se dispone de una pistola de sellado que puede
ser tomada por la garra del robot. Dicha pistola se simula mediante un objeto
alargado acabado en punta, que se encuentra en un soporte (Fig 1). La pistola se
activa y se desactiva con la señal de salida 2. El pegado debe realizarse
recorriendo a velocidad constante (100 mm/seg) el perímetro de la superficie a
pegar, a una distancia de 60 mm del contorno. Además la pistola se debe
mantener perpendicular a la superficie a sellar y a una distancia de 5 mm de la
misma.
Figura 4
21
Para coger la pistola se deberá aprender su localización mediante guiado.
El eje principal de la pistola deberá ser lo más paralelo posible al eje Z de la garra.
Una vez cogida la pistola, se debe calibrar la transformación TOOL. Para ello
llevar mediante guiado la punta de la pistola a una posición conocida y calcular la
transformación TOOL, de forma que podamos programar movimientos de una
referencia situada en el extremo de la pistola. Se puede utilizar por ejemplo la
esquina de la mesa de trabajo cuya posición respecto a la base del motor es (-
250, 650, 292).
Figura 5
Se dispone del modelo CAD de las piezas (Fig. 1), pero no se conoce su
situación en la bancada de trabajo. Para localizar las piezas se recomienda utilizar
la pistola de sellado (utilizada como palpador) y mediante guiado localizar los
puntos necesarios de cada pieza que permitan definir un sistema referencia del
objeto (se puede considerar que la mesa de trabajo es horizontal, paralela al plano
XY, y que se encuentra a una sola altura de 292mm.). A partir de la localización de
dichos puntos se puede localizar, respecto a la referencia absoluta, el sistema
referencia del objeto. A través del modelo CAD se puede definir referencias
locales al objeto y por tanto es posible obtener el resto de localizaciones
significativas de las piezas respecto a la referencia absoluta.
22
Las piezas se encuentran situadas según el escenario de la Fig. 5. En
principio es posible realizar la tarea sin mover la pieza base de sitio para realizar el
sellado y el ensamblado. Cualquier cambio que se realice en una situación de
partida de dicha pieza debe justificarse adecuadamente.
Figura 6
4. TRABAJO PRÁCTICO
4.1 INTRODUCCIÓN AL SIMULADOR
Una vez instalado el simulador SGRobot en la computadora, lo primero que
se debe hacer es ejecutar GUIADO:EXE para familiarizarse con el simulador. Se
puede mover el robot mediante guiado a partir de coordenadas articulares o
cartesianas (ya sea sobre la referencia base, sobre la referencia de la herramienta
o sobre una referencia situada en la herramienta y paralela al sistema de
referencia base.). Se puede modificar fácilmente el punto de vista de la escena y
el modo de visualización de los objetos. Se puede cargar distintas herramientas y
actualizar las referencias TOOL y BASE. Se puede repetir una trayectoria e
incluso ver las gráficas de la evolución articular. Se pueden grabar en un fichero
localizaciones aprendidas por guiado para ser utilizadas posteriormente en un
programa textual.
23
Se puede cargar o guardar un determinado escenario de objetos alrededor del
robot.
Una vez familiarizados con el guiado conviene compilar y ejecutar un
programa conocido. Para ello ejecutar el compilador CCVAL2.EXE, abrir el fichero
democonfig.val y compilarlo. Al ejecutarlo aparecerá el mismo entrono del guiado
donde se puede modificar puntos de vista, velocidades, escenarios, etc. Se puede
simular el programa dando PLAY, pero antes conviene cargar como herramienta la
garra standard.
Hacer lo mismo con demoTren.val, en el que se puede ver además
primitivas para cargar el escenario de trabajo y la garra.
4.2 TRABAJO A DESARROLLAR
Una vez familiarizados con el simulador, la secuencia lógica de trabajo es la
siguiente:
4.2.1 SESIÓN 1
Ejecutar GUIADO. Abrir el escenario de la práctica (practica.esc)
Coger la pistola-palpador, aprendiendo por guiado su localización. Conviene
guardar su localización para utilizarla en el código final.
Calibrar su posición llevando el extremo de la pistola a una posición
conocida, por ejemplo la esquina de la mesa de trabajo cuya posición
respecto a la base del robot es (-250,650,292). Puede ser conveniente
actualizar la referencia TOOL para programar sobre el extremo de la
pistola.
Localizar el objeto base a ensamblar. Para ello se debe aprender por
guiado varios puntos del mismo que os permitan asociarle un sistema de
referencia (se puede utilizar el método de los tres puntos o bien asumir que
la mesa es horizontal y que la altura 292 mm.). Localizar también los pernos
(se puede asumir que están situados paralelos a los sistemas de referencia
base).
24
Conviene guardar dichas localizaciones.
Dejar la pistola-palpador en el soporte.
4.2.2 SESIÓN 2
Escribir el código CVAL2 que permita realizar la tarea de sellado y
ensamblado. La secuencia de operaciones es la siguiente:
- Aplicar el sellante sobre la pieza base, utilizando la pistola.
- Insertar los dos pernos en la pieza base.
OPCIONAL: Coger la otra pieza y ensamblarla sobre los pernos y la pieza
base.
Compilar y ejecutar la tarea
Analizar los problemas que aparecen y tratar de solucionarlos.
Posiblemente sea conveniente realizar comprobaciones mediante guiado.
En particular hay que planificar con especial cuidado el movimiento de
sellado y el movimiento de la pieza a ensamblar para que no haya
colisiones con el robot y la mesa cuando se coge y se levanta. Puede ser
interesante realizar pruebas por guiado cambiando su configuración
repitiendo trayectorias, etc.
Limites articulares y de velocidad del robot
Articulación q mínimo q máximo q reposo vel.máx (º/seg)
q1 160º 160º 0º 135
q2 -45º 225º 90º 135
q3 -225º 45º -90º 135
q4 -110º 170º 0º 210
q5 -100º 100º 0º 210
q6 -266º 266º 0º 210
25
La velocidad lineal máxima es de 1000 mm/seg
REFERENCIAS BIBLIOGRÁFICAS
Simulador de robots (SGRobot) desarrollado en el Departamento de
Ingeniería de Sistemas y Automática de la Universidad de Zaragoza (J.J.
Guerrero).
26
PROYECTO PROTOCOLO DE PRÁCTICA DE ROBÓTICA II
1.-DATOS GENERALES 1.- Ciclo Escolar:__________ 2.- Institución: TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC 3.- Asignatura: Robótica II 4.- Clave:ACB-0804 5.- Profesor titular:__________________________ 6.- Laboratorista:____________________________ 7.- Grupo:_________ 8.- Horario del laboratorio:_______________hrs 9.- Practica No._1_ 10.- Unidad: _4_ 11.- Temática: Control de Robots. 12.- Nombre de la práctica: Proyecto 13.- Número de sesiones que se utilizaran para esta práctica:_7_
2.- EQUIPO # ___________ INTEGRANTES
1.-
2.-
3.-
4.-
5.-
Coordinador:
Apellido Paterno Apellido Materno Nombre(s)
12.- PLANTEAMIENTO DEL PROBLEMA Controlar a través de simulador un robot de máximo 3 grados de libertad utilizando su modelo dinámico.
13.- MARCO TEÓRICO El estudiante investigará la teoría del modelo, diseño y control de robots.
14.- OBJETIVO Diseñar, modelar, simular y controlar un robot de máximo 3 grados de libertad.
15.- ACTIVIDAD Controlar un robot mediante el uso de software.
16.- PLAN DE TRABAJO Con la información presentada el estudiante elaborará un plan de trabajo para concluir satisfactoriamente en el tiempo previsto el proyecto.
17.- DESARROLLO A partir del plan de trabajo el estudiante desarrollará la práctica y presentará un reporte de resultados.
18.- MATERIAL Y EQUIPO Equipo de cómputo con Mechanical Desktop, Visual Nastran, Matlab y Toolbox de robótica.
10.- CONCLUSIONES El estudiante concluirá de acuerdo a resultados obtenidos.
11.- BIBLIOGRAFIA La consultada por los estudiantes.