REPARACIÓN Y PUESTA EN SERVICIO DE LOS ROBOTS RHINO Y ...
Transcript of REPARACIÓN Y PUESTA EN SERVICIO DE LOS ROBOTS RHINO Y ...
REPARACIÓN Y PUESTA EN SERVICIO DE LOS ROBOTS RHINO Y GAMMA DE LA UNIVERSIDAD DE LOS ANDES
LUIS IGNACIO LOPERA GONZÁLEZ
ASESOR: PROFESOR ALAIN GAUTHIER
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA
DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA BOGOTÁ
2003
IEL2-I-2003-14
AGRADECIMIENTOS
Este trabajo marca la culminación de 5 años de arduos estudios, trasnochadas constantes, disertaciones, luchas, alegrías y tristezas. Por esto se lo dedico a mis padres, Luis Enrique Lopera Ch. y Martha Lucia González R. por que siempre creyeron en mí e hicieron todo esto posible, también a mis compañeros de clase y amigos que me que estuvieron con migo en las buenas y en las malas y me ayudaron en los momentos que más los necesité. También quisiera agradecer a Alain Gauthier, quien me dio total libertad para la realización de este proyecto, y a Alfredo Restrepo quien me enseñó que la matemática es un tercer idioma y que con la perseverancia alcanza grandes metas.
CONTENIDO
1. INTRODUCCIÓN 1
1.1 OBJETIVOS 2
1.1.1 Objetivo principal 2
1.1.2 Objetivo específico 2
1.2 ALCANCE 2
1.3 METODOLOGÍA 3
2. MARCO TEORICO 5
2.1 ROBOT RHINO 5
2.2 ROBOT GAMMA 6
3. ESTADO PREVIO Y POSTERIOR A MANTENIMIENTO 8
3.1 SÍNTOMAS PRESENTADOS 8
3.1.1 Robot Rhino 8
3.1.2 Robot Gamma 9
3.2 REPARACIONES REALIZADAS 9
3.2.1 Robot Rhino 9
3.2.2 Robot Gamma 10
4. PROGRAMA BOTCONSOLE 11
4.1 JUSTIFICACIÓN 11
4.2 DESCRIPCIÓN 11
IEL2-I-2003-14
4.2.1 BotID 12
4.2.2 PuertoDirect 14
4.2.3 ScriptMaker 15
5. PRÁCTICAS DE LABORATORIO 17
5.1 CONCEPTO 17
5.2 PRÁCTICAS PROPUESTAS 17
5.2.1 Mantenimiento 18
5.2.1.1 Objetivos 18
5.2.1.2 Materiales 18
5.2.1.3 Procedimiento 19
5.2.1.4 Recomendaciones 20
5.2.2 Rangos de Movimiento 20
5.2.2.1 Objetivos 21
5.2.2.2 Materiales 21
5.2.2.3 Procedimiento 21
5.2.2.4 Recomendaciones 22
5.2.3 Transporte de Objetos I 22
5.2.3.1 Objetivos 23
5.2.3.2 Materiales 23
5.2.3.3 Procedimiento 23
5.2.3.4 Recomendaciones 24
5.2.4 Transporte de Objetos II 24
5.2.4.1 Objetivos 24
IEL2-I-2003-14
5.2.4.2 Materiales 24
5.2.4.3 Procedimiento 25
5.2.4.4 Recomendaciones 26
5.2.5 Sistema Compuesto (Inteligencia Artificial) 26
5.2.5.1 Objetivos 26
5.2.5.2 Materiales 26
5.2.5.3 Procedimiento 27
5.2.5.4 Recomendaciones 27
5.2.6 Sistema de Automatización 27
5.2.6.1 Objetivos 27
5.2.6.2 Materiales 28
5.2.6.3 Procedimiento 28
5.2.6.4 Recomendaciones 28
6. DEMOSTRACIÓN 29
6.1 MATERIALES 29
6.2 CIRCUITO ELÉCTRICO 29
6.3 DESCRIPCIÓN DE FUNCIONAMIENTO 30
6.4 ALGORITMO 30
6.5 OBSERVACIONES 32
7. CONCLUSIONES Y TRABAJOS FUTUROS 33
8. REFERENCIAS 35
IEL2-I-2003-14
TABLA DE FIGURAS
Figura 1: Editor de perfiles. ..............................................................................................13
Figura 2: Asistente para perfiles. ....................................................................................14
Figura 3: Programa PuertoDirect ....................................................................................15
Figura 4: Programa BotConsole ......................................................................................16
Figura 5: Detector de variaciones de luz .......................................................................29
IEL2-I-2003-14
1
1. INTRODUCCIÓN
Este trabajo obedece al interés que existe por crear nuevas herramientas
didácticas, en los diversos campos de la ingeniería electrónica y que puedan ser
utilizadas en la universidad. También surge como propuesta el recuperar equipos
que se encuentran almacenados, ahorrándole así a la universidad la adquisición
de costosos (y no necesariamente mejores) equipos para realizar prácticas de
laboratorio.
Las nuevas corrientes de la docencia se están encaminando hacia lo que se
denomina una educación experiencial, la cual consiste en hacer que el estudiante
participe activamente en su aprendizaje. Esta nueva filosofía de educación se
puede dividir en dos corrientes distintas, la primera es aquella donde los ejercicios
son independientes, es decir cada vez que el estudiante realiza un ejercicio, el
siguiente puede ser totalmente nuevo, y la segunda es una serie de ejercicios
progresivos, en donde cada práctica construye algo que será utilizado en la
siguiente.
En la universidad ambos estilos están presentes, tenemos los laboratorios tipo
APA (Aprender Haciendo), muy utilizados en el área de control, y tenemos
IEL2-I-2003-14
2
aquellos no progresivos donde el estudiante se enfrenta en cada práctica con un
problema totalmente nuevo. Sin embargo estas prácticas no son el origen del
aprendizaje, el conocimiento no surge inicialmente de acá, este es el lugar donde
se refuerza la teoría vista previamente en clase.
En este documento no se pretende romper con el esquema actual que la
universidad lleva utilizando más bien se trata de aportar a estas prácticas con
herramientas y actividades nuevas para que los estudiantes obtengan el mayor
provecho de estos espacios.
1.1 OBJETIVOS
1.1.1 Objetivo principal
Reparar los robots Rhino y Gamma de la Universidad de los Andes, y realizar
unas prácticas de laboratorio para que regresen al servicio activo.
1.1.2 Objetivo específico
Desarrollar un programa de computador que sea capaz de controlar robots
conectados a los puertos serial y paralelo del computador y en particular los robots
Rhino y Gamma.
1.2 ALCANCE
• Readecuación de equipos de la universidad.
IEL2-I-2003-14
3
• Utilización de elementos didácticos para la comprensión de principios
fundamentales.
• Creación de guías de laboratorio para que futuras generaciones utilicen los
robots y aprendan con ellos.
• Se crea un elemento motivador para estudiantes en nuestra carrera, para
que se interesen en el área y puedan hacer aportes interesantes.
• Se crea un aplicativo permanente que puede ser utilizados en exposiciones
y muestras de la universidad.
• Se crea un documento que sirve para que diferentes profesores que vean la
utilidad de los robots en su clase puedan desarrollar fácilmente prácticas o
experimentos para ilustrar temas de clase.
• Se actualiza la plataforma robótica que puede ser utilizada en diversas
clases de proyectos.
• Los robots pueden ser utilizados para prueba de algoritmos, es decir sirvan
como herramientas en la implementación de prototipos.
• Se convierten en base para mecanismos robóticos mucho más complejos y
de mayor grado de funcionalidad.
1.3 METODOLOGÍA
El trabajo será realizado de la siguiente manera:
§ Análisis del Estado actual de los robots.
• Revisión mecánica.
• Revisión eléctrica.
IEL2-I-2003-14
4
• Revisión de controladores existentes.
• Búsqueda y Revisión de dispositivos utilizables por los robots.
§ Análisis de las capacidades y limitaciones de los robots.
• Revisión de documentación
• Revisión de proyectos realizados anteriormente
• Análisis de posibles ejercicios y experimentos
§ Desarrollo y Montaje de demostraciones.
Basado en los pasos anteriores, se realizará una sencilla pero llamativa
demostración con cada uno de los robots.
§ Elaboración de las guías de laboratorio.
• Escogencia de las materias a las cuales los robots son pertinentes.
• Revisión de sus objetivos de curso y número de estudiantes, con
base a esto la planeación de las prácticas.
• Elaboración de las guías de laboratorio.
§ Elaboración de un documento que facilite la elaboración de guías de
laboratorio en el futuro o en materias las cuales no hayan sido
contempladas en la elaboración de este proyecto.
IEL2-I-2003-14
5
2. MARCO TEORICO
2.1 ROBOT RHINO
El robot Rhino es una mano mecánica hecha en EE.UU. acoplada de 6 grados de
libertad, con capacidad de manejar 2 periféricos que en este caso pueden ser una
banda transportadora, una plataforma móvil, y una bandeja rotatoria. Cada eje de
la mano o periférico, es movido por un motor DC con encoder óptico que es
conectado al controlador Mark III. Los motores están ubicados convenientemente,
con respecto al eje de movimiento y teniendo en cuenta la necesidad de acoplar el
movimiento de la muñeca el antebrazo y el brazo.
El controlador Mark III tiene 8 salidas para manejar motores, 8 pines de entrada y
8 de salida compatibles con niveles TTL, 2 fuentes de 20V de polaridad reversible
mediante sus respectivo selector, un conector D25 para conectarse al puerto serial
del computador, un interruptor de reset, un interruptor para apagar los motores, un
conector D25 para el Teach Pendant y el selector de modo de control que escoge
entre el computador y el Teach Pendant.
IEL2-I-2003-14
6
El Teach Pendant es un dispositivo separado del controlador que sirve para
manejar y programar el robot en ausencia de un computador. Ofrece todas las
posibilidades del computador y es capaz de aprender rutinas de movimiento para
que el robot trabaje de manera autónoma.
La placa circuital del encoder está acoplada a la base del motor DC, y de la placa
de circuito se conecta el interruptor de tope, la energía para el motor, las
referencias lógicas y del motor. El encoder funciona con dos emisores receptores
que emiten luz hacia una placa que se encuentra montada en el rotor del motor y
toman la lectura al ser reflejada por las bandas brillantes de la placa. Este tren de
pulso que es generado es transmitido al controlador quien se encarga de contar el
número de pasos que ha tomado.
El robot adopta la siguiente nomenclatura para identificar los diferentes ejes del
motor: A para la pinza, B para la rotación de la pinza, C para la muñeca, D para el
codo, E para el Hombro y F para la cintura, como aparece en el manual del
usuario del Rhino.
2.2 ROBOT GAMMA
El robot Gamma es también una mano mecánica acoplada de seis grados de
libertad de fabricación francesa, utiliza motores de paso y encoders ópticos para
controlar estados.
IEL2-I-2003-14
7
El controlador es una unidad cerrada con 4 conectores D25 para conectar
sensores, motores, un puerto para monitorear los estados del robot conectándolo
al puerto paralelo del computador y otro puerto centronics; un interruptor de
emergencia para cortar la energía de los motores y un botón de reset.
Los motores de este robot se encuentran en el hombro, los mecanismos de conteo
son ruedas dentadas con bandas blancas y negras en sus costados, se utiliza un
sistema de diodo emisor receptor, para realizar la lectura y por ende un conteo de
verificación.
IEL2-I-2003-14
8
3. ESTADO PREVIO Y POSTERIOR A MANTENIMIENTO
En esta sección del documento se describe el estado en el que se encontraron los
robots, las reparaciones que se realizaron y su estado actual.
3.1 SÍNTOMAS PRESENTADOS
3.1.1 Robot Rhino
El robot Rhino se encontró con los siguientes daños: algunos motores F y G eran
reiniciados por el Teach Pendant pero nunca quedaban activos, los motores A y B
no respondían a los comandos de iniciación del Teach Pendant.
El Teach Pendant presentaba dígitos incoherentes y no todos los botones
funcionaban adecuadamente.
El tornillo de sujeción del eje dentado que conecta el motor B con la pinza estaba
había reventado las paredes del engrane.
Lo demás funcionaban correctamente.
El Software original del Rhino no se encontró.
IEL2-I-2003-14
9
3.1.2 Robot Gamma
El robot presentaba buen funcionamiento de todos sus motores ya que era capaz
de energizarlos. Los sensores de fin de carrera estaban funcionando
adecuadamente pero el controlador no respondía a ningún comando mandado por
el computador. El Software tampoco fue encontrado.
3.2 REPARACIONES REALIZADAS
3.2.1 Robot Rhino
Se encontró que el problema de inicialización de los motores era debido a daños
en los multiplexadores y los negadores de entrada que le dicen al Microcontrolador
cual motor es el que está funcionando. Se cambiaron los multiplexadores por unos
de la misma referencia 74LS151 y lo mismo se hizo con los negadores 74LS14.
Además se encontró que algunos de los amplificadores operacionales de los
encoders estaban quemados, haciendo que este no contara apropiadamente.
Los motores A y B tenían completamente quemada la etapa de potencia, así que
se remplazaron los TIPs quemados por nuevos de la misma referencia TIP122.
El problema de los dígitos del Teach Pendant resultó ser el bus que lo conecta con
el controlador, así que se acortó el bus 3 cm. y quedó funcionando. Para arreglar
los botones se desmontó todo el teclado del Teach Pendant, se limpiaron los
contactos y se reorganizaron los resortes.
IEL2-I-2003-14
10
3.2.2 Robot Gamma
Al robot solo se le hizo una limpieza porque no se logró hacer que los motores
respondieran.
IEL2-I-2003-14
11
4. PROGRAMA BOTCONSOLE
4.1 JUSTIFICACIÓN
El programa nace como una respuesta al problema de no haber encontrado los
programas originales de cada uno de los robots, y de haberlo hecho de todas
maneras necesitarían una renovación ya que son muy viejos.
También se buscaba conseguir una plataforma unificada para controlar robots y
que los estudiantes pudieran realizar sus prácticas desde un origen común y
probarlas en múltiples plataformas.
4.2 DESCRIPCIÓN
El programa BotConsole es una plataforma unificada de control de robots,
pensada en las necesidades del estudiante, como tener una herramienta poderosa
que le permita experimentar con los robots ya existentes (Rhino y Gamma) o
nuevas plataformas que sean de su propio diseño pero que estén pensadas para
comunicarse con un computador.
El programa es la unión de tres módulos básicos, BotID, PuertoDirect y
ScriptMaker, esta división es importante porque ayuda al estudiante a organizar su
trabajo, logrando una reducción en el tiempo de diseño y desarrollo.
IEL2-I-2003-14
12
Está concebido para que genere ejecutables, así que si se desea llevar el robot a
otro sitio no es necesario llevar todo el BotConsole sino que con solo llevar el
programa generado por el ScriptMaker es suficiente, además se aprovecha la
velocidad del computador al ser un programa en lenguaje de máquina y no
interpretado.
4.2.1 BotID
Este modulo es una base de datos de robots, donde se pueden almacenar
características importantes como número de ejes, como accionar cada eje,
número de sensores, como leer de los sensorers, puertos de comunicación,
comandos especiales etc.
Cada registro del robot se denomina perfil, y cada perfil está constituido por tres
entidades importantes, la primera es la caracterización de los ejes, aquí se
registran el número de ejes, unidades en que el eje responde, un nombre a cada
eje, desplazamientos máximo, origen del movimiento y el comando que hace que
cada eje se mueva; luego la caracterización de los senesores y actuadores,
nuevamente se pide una serie de información relevante como nombre la forma del
dato que el sensor o el actuador envía y código o la forma en que se le indica al
robot que lea el sensor y envíe la información al computador. La siguiente parte es
donde se ingresan una serie de variables globales, como por ejemplo el puerto (o
los puertos) al que se conecta el robot, el carácter que indica el fin de comando y
IEL2-I-2003-14
13
un poco la sintaxis de los comandos específicos del robot y un nombre para el
perfil.
El módulo se compone de dos interfaces accesibles desde el menú de Archivo del
programa principal: la primera interfaz es un ayudante que guía al estudiante
ingresar inequívocamente los datos del perfil y la segunda es una forma donde se
pueden editar y ajustar el perfil por si se desea hacer cambios, también sirve como
elemento de consulta.
Figura 1: Editor de perfiles.
IEL2-I-2003-14
14
Figura 2: Asistente para perfiles.
4.2.2 PuertoDirect
Este módulo es un programa independiente, cuyo propósito es servir de interfaz
estándar para realizar pruebas de comunicación con el robot, es decir, solo abre el
puerto donde se quieren hacer las pruebas y se pueden escribir comandos que
son enviados al oprimir la tecla retorno, está escrito para que constante mente lea
información del puerto y la escriba en una nueva línea inmediatamente fue
enviada por el robot. También sirve como simulador, se conecta entre dos
computadores y se realiza la conexión por el puerto en el que supuestamente está
conectado el robot, se escriben las posibles respuestas que daría el robot y se
observa si el programa escrito está haciendo lo que debe.
IEL2-I-2003-14
15
Figura 3: Programa PuertoDirect
4.2.3 ScriptMaker
Este módulo es el centro del BotConsole, tiene como función servir de plataforma
para escribir códgo que luego es compilado en programas para utilizar los robots.
El lenguaje de programación es C++ y tiene formas predefinidas que pueden ser
utilizadas para crear aplicaciones que resulten agradables para el usuario, y útiles
para llevar acabo ejercicios didácticos, demostraciones etc.
IEL2-I-2003-14
16
Está basado en el compilador bcc32 de Borland1, este es el que se encarga de
hacer la verificación de la sintaxis y ensamblar el ejecutable.
Figura 4: Programa BotConsole
1 Borland y bcc32 son marcas registradas de Borland Software Corporation.
IEL2-I-2003-14
17
5. PRÁCTICAS DE LABORATORIO
5.1 CONCEPTO
La idea detrás de las prácticas de laboratorio es mantener en servicio continuo los
robots Rhino y Gamma y presentar al estudiante con ejercicios que reten su
capacidad para resolver problemas.
Además se busca que el estudiante se involucre de manera activa con el cuidado
del robot, para que los que vengan después de el cuenten con las mismas
herramientas y posibilidades para trabajar.
5.2 PRÁCTICAS PROPUESTAS
Después de un estudio riguroso se consideró que para cualquier curso que desee
utilizar los robots para afianzar la teoría, estas son las prácticas básicas que
garantizan el buen uso del robot por parte de los estudiantes y brindan una idea de
cómo se podrían construir prácticas adicionales. Las prácticas están pensadas
para grupos de estudiantes con 4 integrantes como máximo y no más de 4 grupos
por sesión de laboratorio.
IEL2-I-2003-14
18
5.2.1 Mantenimiento
Esta práctica es creada con el fin de que el estudiante conozca a fondo el
funcionamiento de los robots y garantizar que durante el semestre este funcione al
100%.
5.2.1.1 Objetivos
• Lograr que el estudiante reconozca las fallas en el robot y sea capaz de
arreglarlas.
• Familiarización con el funcionamiento básico del robot.
5.2.1.2 Materiales
• Aceite.
• Cautín y soldadura.
• Multímetro.
• Trapo.
• Grasa.
• Disolvente para grasa (gasolina).
• Cepillo de dientes.
• Kit de llaves y destornilladores.
IEL2-I-2003-14
19
5.2.1.3 Procedimiento
Hay 4 tareas básicas para realizar: limpieza, lubricación, reparaciones mecánicas
y reparaciones eléctricas. Dado que hay un máximo de 4 grupos por sección, a
cada grupo se le otorgará una de las tareas, si este grupo no logra terminar en el
tiempo asignado para la práctica, un grupo de la sección siguiente se encargará
de terminar la tarea, igualmente si se determina que hay que conseguir repuestos,
un grupo de la sección siguiente se encargará de instalarlos.
5.2.1.3.1 Limpieza
Se debe desarmar el cuerpo del robot y limpiar el polvo acumulado, dejándolo lo
más limpio que sea posible, se debe abrir las cajas de engranajes de los motores
y quitar la grasa, se debe soplar la caja del controlador para quitar el polvo y por
último se debe organizar el cableado.
5.2.1.3.2 Lubricación
Estos deben armar el cuerpo del robot lubricando rodamientos, engrasando las
cajas de los motores procurando no ensuciar el armazón. Deben asegurarse que
el robot quede bien armado.
5.2.1.3.3 Reparaciones Mecánicas
En el caso de encontrar partes gastadas y que necesariamente deben ser
remplazadas se deben hacer una completa descripción de cual es la parte para
IEL2-I-2003-14
20
que el responsable del laboratorio la consiga (puede ser un estudiante). Si el daño
es menor los estudiantes deben tratar de repararlo de la mejor manera posible.
5.2.1.3.4 Reparaciones Eléctricas
Los estudiantes encargados de realizar la verificación del funcionamiento eléctrico
del robot, deben arreglar todos aquellos daños que no impliquen reemplazo de
partes, en el caso de tener que cambiar algún componente deben dejar
especificado cual es y el lugar donde va, para que los estudiantes de la siguiente
sección lo puedan reemplazar fácilmente.
5.2.1.4 Recomendaciones
Debido que el robot puede estar listo en una sola sesión, los estudiantes de las
demás secciones deberán realizar comprobaciones del buen funcionamiento, y
lógicamente si algo llegase a fallar, deberán proceder a arreglarlo.
Los estudiantes deberán leer el manual del usuario del robot para que estén
familiarizados con sus partes y su funcionamiento.
5.2.2 Rangos de Movimiento
Es importante que el estudiante conozca las limitaciones de los robots, para que
en el momento de realizar programas no fuerce los mecanismos a estados en los
cuales pueda averiarse.
IEL2-I-2003-14
21
5.2.2.1 Objetivos
• Entender la forma en que le robot realiza los movimientos.
• Realizar transformaciones para diferentes ejes de coordenadas.
5.2.2.2 Materiales
• 1 Pliego de cartulina blanco.
• Una regla de 50cm o más.
• Escuadra.
• Transportador
• Lápiz
• Compás
5.2.2.3 Procedimiento
Coloque el robot sobre el pliego de cartulina de tal manera que la cartulina le sirva
para realizar una cuadrícula de referencia.
Primero el debe anotar cuales son los puntos máximos del robot para cada eje en
términos de las unidades intrínsecas del robot ej, número de pasos para el Rhino.
Para esto se debe escoger una posición de inicio, y calcular los topes y el rango.
Luego se debe calcular la extensión máxima del robot, esta se mide desde el
centro de rotación de la cintura hasta la base de la pinza. Sobre la cartulina
marque la máxima extensión horizontal y trace un círculo de tal forma que le sea
fácil visualizar las regiones de acción.
IEL2-I-2003-14
22
Luego se debe calcular la ecuación de acople relativa a cada eje, es decir la forma
en que la pinza se mueve cuando movemos cada uno de los ejes acoplados.
Luego se deben calcular los subrangos de acción, esto es sacar funciones para
cada eje de tal manera que sepamos si movemos un eje, como afecta
directamente el campo de acción de los ejes dependientes. Trate de proyectarlos
sobre la cartulina dándole nombre a cada región resultante.
Una vez terminada la descripción se debe sacar un modelo para pasar de las
unidades intrínsecas a un sistema de coordenadas cartesianas, se debe realizar
un programa para comprobar que el modelo es valido. Calcule los errores en la
conversión.
Trace referencias del plano cartesiano escogido en la cartulina y compruebe que
el robot si se desplaza al lugar deseado.
5.2.2.4 Recomendaciones
Se puede pegar al cada punto de rotación escalas de medida para facilitar la
medición de ángulos y por ende las conversiones.
Se puede pasar a diferentes sistemas de coordenadas como polares, o esféricas,
con el fin de que el estudiante afiance sus conocimientos.
5.2.3 Transporte de Objetos I
El estudiante debe familiarizarse con la manipulación de todo tipo de objetos, y la
forma en que los robot reaccionan a ellos, debe ponerle total atención a
IEL2-I-2003-14
23
características como peso forma tamaño, de tal manera que no se dañe ni el robot
ni el objeto que está siendo manipulado.
5.2.3.1 Objetivos
• Llevar objetos de un punto A a un punto B.
5.2.3.2 Materiales
• 3 Cubos de 3 x 3 x 3 cm. (Balso, Papel, Metal o madera fina).
• 3 Cubos de 6 x 6 x 6 cm. (Balso, Papel, Metal o madera fina).
• 2 Cilindros de 1 cm. de diámetro por 10cm de largo (Balso, Papel).
• Objetos propuestos por el estudiante de diferentes formas, pesos y
materiales (Vidrio, plástico, espuma, arcilla, etc.)
• Banda transportadora.
5.2.3.3 Procedimiento
Determinar cuales objetos el brazo del robot es capaz de mover por peso y por
dimensión. Una vez escogidos los objetos que pueden ser movidos determine en
que forma debe ser sujetados, tenga en cuenta que no se debe auxiliar al robot en
ningún momento, pero este si puede utilizar objetos cercanos para lograr su
objetivo. Hecho esto haga un primer ensayo, debe iniciar desde cualquier
posición, recoger el objeto, desplazarse y colocar el objeto en otro sitio sin dejarlo
caer; si esta rutina no es cumplida el ejercicio no vale. Intente ahora con los
objetos que trajo, recuerde que el objetivo es que el objeto transportado no sea
IEL2-I-2003-14
24
dañado. Luego intente armar una pirámide con los 3 cubos de 6 cm y los 3 de 3
cm.
Primero utilice el programa PuertoDirect para mover los objetos, luego intente
escribir un programa que pida el sitio donde debe recoger el objeto, el sitio donde
debe llevarlo y alguna condiciones más como posición de la pinza etc, de tal
manera que el robot ejecute el movimiento solo, si desea puede utilizar el
programa escrito en la práctica anterior.
5.2.3.4 Recomendaciones
Podría ser interesante que al final el estudiante monte un sistema complejo de
movilización utilizando la banda transportadora y la base móvil.
Se puede utilizar también el Teach Pendant.
5.2.4 Transporte de Objetos II
Una vez el estudiante á dominado el transporte de toda clase de objetos, debe
lograr trabajar en ambientes complejos y de manera exitosa
5.2.4.1 Objetivos
• Llevar objetos de un punto A a un punto B esquivando los obstáculos en el
camino.
5.2.4.2 Materiales
• 3 Cubos de 3 x 3 x 3 cm. (Balso, Papel, Metal o madera fina).
IEL2-I-2003-14
25
• 3 Cubos de 6 x 6 x 6 cm. (Balso, Papel, Metal o madera fina).
• 2 Cilindros de 1 cm. de diámetro por 10 cm de largo (Balso, Papel).
• Objetos propuestos por el estudiante de diferentes formas, pesos y
materiales (Vidrio, plástico, espuma, arcilla, etc.)
• Base Móvil
5.2.4.3 Procedimiento
El instructor montará un escenario donde el robot tendrá una serie de obstáculos
que el estudiante debe superar, inicialmente el robot estará montado sobre la
plataforma móvil y guardado en una especie de hangar, robot debe salir de allí y
colocarse en el extremo opuesto del riel de la base mobil, allí debe extenderse
para iniciar a trabajar, una ves terminado el ensayo el robot debe volver a el
hangar.
En el punto de trabajo se encuentran una serie de obstáculos que no permiten que
el desplazamiento de la zona de carga a la zona de descarga sea directo, el brazo
tendrá que evitar todos los obstáculos.
Nuevamente haga el ejercicio con el programa PuertoDirect y luego elabore un
programa que cumpla con lo establecido, tenga en cuenta que el programa debe
realizar todo lo que se explicó anteriormente y debe ser total mente automático.
IEL2-I-2003-14
26
5.2.4.4 Recomendaciones
Por facilidad esta práctica está pensada para el robot Rhino, pero si se logra
montar el Gama en la base móvil del Rhino y controlarla de alguna manera sería
interesante hacerlo.
5.2.5 Sistema Compuesto (Inteligencia Artificial)
La ciencia moderna está muy interesada en desarrollar sistemas que
aparentemente estén vivos, máquinas que sean capaces de replicar el
comportamiento de la naturaleza hasta cierto grado, y todo esto con el fin de lograr
sistemas y mecanismos eficientes. Esta es una práctica abierta, es decir el
estudiante plantea un proyecto a ser trabajado durante un periodo de tiempo, debe
estar relacionado con el tema de Inteligencia Artificial, como por ejemplo hacer
que el robot busque la luz o reaccione a comandos de voz.
5.2.5.1 Objetivos
• Desarrollar un sistema donde el robot reacciones a su ambiente.
5.2.5.2 Materiales
El estudiante debe determinar cuales materiales requiere para implementar su
sistema de I.A.
IEL2-I-2003-14
27
5.2.5.3 Procedimiento
Se debe presentar un anteproyecto, al cual debe contener introducción, marco
teórico, descripción del sistema, materiales, y un cronograma.
Una vez se decida el número de prácticas que se van a destinar a la elaboración
de este proyecto, se debe aprovechar las horas con instructor para que ayude en
la solución de problemas que puedan surgir durante el ejercicio.
Cada grupo debe montar una demostración de nomás de 15 minutos donde se
explicarán los logros y fracasos de la práctica.
5.2.5.4 Recomendaciones
Se puede pedir asesoría en toda la parte de los sensores, y se debe hacer énfasis
en que los estudiantes den respuestas muy creativas y de bajo costo.
5.2.6 Sistema de Automatización
El estudiante debe familiarizarse con el uso más común de los robots actualmente,
y este es su participación en líneas de ensamblaje, o tareas automatizadas en las
que se remplaza la presencia del operario.
5.2.6.1 Objetivos
• Desarrollar un sistema donde el robot tenga una serie de tareas las cuales
realice de forma autónoma.
IEL2-I-2003-14
28
5.2.6.2 Materiales
El estudiante debe determinar cuales materiales requiere para implementar su
sistema de automatización. Se propone utilice los siguientes periféricos.
• Banda transportadora (Rhino)
• Base móvil (Rhino)
5.2.6.3 Procedimiento
Se debe presentar un anteproyecto, al cual debe contener introducción, marco
teórico, descripción del sistema, materiales, y un cronograma.
Una vez se decida el número de prácticas que se van a destinar a la elaboración
de este proyecto, se debe aprovechar las horas con instructor para que ayude en
la solución de problemas que puedan surgir durante el ejercicio.
Cada grupo debe montar una demostración de nomás de 15 minutos donde se
explicarán los logros y fracasos de la práctica.
5.2.6.4 Recomendaciones
Hay que buscar que las tareas escogidas por los estudiantes tengan la mayor
cantidad de partes móviles, es decir que los sistema sea bastante dinámico.
IEL2-I-2003-14
29
6. DEMOSTRACIÓN
La demostración montada es un sistema que sigue el punto de luz más intenso, lo
que se que se pretendió mostrar con esto fue que con circuitos muy básicos y
económicos se pueden realizar experimentos muy interesantes.
6.1 MATERIALES
• 2 Totoceldas
• 2 Transistores C547B
• 2 Comparadores LM339.
• 2 Potenciómetros se 20K.
• 16 Resistencia de 2K.
6.2 CIRCUITO ELÉCTRICO
Figura 5: Detector de variaciones de luz
IEL2-I-2003-14
30
6.3 DESCRIPCIÓN DE FUNCIONAMIENTO
El sensor está constituido por dos “ojos”, cada ojo tiene un comparador que sirve
para determinar la posición del nivel de voltaje, la salida de cada comparador está
conectado a uno de los bits de entrada del controlador MarkIII, esto hace que cada
ojo tenga 5 estados posible, 0000, 0001, 0011, 0111, 1111. Se escogieron cuatro
comparadores por ojo porque el controlador hace la lectura del puerto de entradas
en dos momentos separados, con un comando lee los puertos del 5 al 8 y con otro
comando lee del 1 al 4 entonces resultaba fácil por código hacer la distinción de
cual era el ojo que se estaba leyendo.
6.4 ALGORITMO
El algoritmo escogido es basado en un manejo de estados, se definen una serie
de estados donde se puede encontrar la mano, y se toman acciones pertinentes
para buscar o que se llamaría el estado óptimo que en nuestro caso sería 0001
para ambos ojos.
El algoritmo empieza leyendo el ojo izquierdo y aplicando las conversiones
necesarias obtiene la representación decimal de los estados anteriores, es decir 1,
3, 7 o 15, luego hace lo mismo para el ojo derecho.
Una vez obtenidos los estados para el ojo izquierdo y el derecho se prosigue a
detectar el estado en que se encuentra, entonces las acciones que toma son las
siguientes:
Si ojo izquierdo > ojo derecho
IEL2-I-2003-14
31
Mueva F 10 pasos
Si ojo izquierdo < ojo derecho
Mueva F -10 pasos
Si ojo izquierdo = ojo derecho
Caso 1, ojo derecho = 15
Mueva E 10 pasos
Caso 2, ojo derecho = 7
Mueva E 10 pasos
Caso 3, ojo derecho = 3
Mueva E 10 pasos
Caso 4, ojo derecho = 0
Mueva E -10 pasos
Volver a leer los estados de los ojos
fin
este algoritmo en principio funciona, pero resulta que tiene un problema, y es que
si los sensores están calibrados para estados muy sensibles, puede quedar
brincado entre el estado 3 y el estado 0 infinitamente, para esto se incluyó la
variable de última dirección con la cuál se varía el tamaño del paso dependiendo
del último movimiento, así se evita el quedar atrapado en ciclos y que el robot
nunca encuentre el estado óptimo. Por ejemplo si estaba en el estado 3, se mueve
10 pasos, pero supongamos que quedó en el estado 0, si se mueve -10 pasos
queda en el mismo sitio y por ende queda brincando de un lugar a otro, con la
IEL2-I-2003-14
32
variable de dirección el hace que de cada vez menos pasos, siguiendo con el
ejemplo, cuando llega al estado 0 pregunta ¿la última dirección fue hacia
adelante? (entiéndase +X pasos) si sí entonces retroceda X-2 pasos, suponga que
nuevamente llega al estado 3, así que se pregunta ¿La última dirección fue hacia
atrás? Si sí, muévase X-2 pasos hacia adelante.
Como podemos ver en el ejemplo el algoritmo se asegura de encontrar
eventualmente el centro.
6.5 OBSERVACIONES
Hay que ser muy cuidadosos con la calibración del sensor, ya que si por algún
motivo estos varían de manera distinta va ser muy difícil que el robot llegue al
estado óptimo.
IEL2-I-2003-14
33
7. CONCLUSIONES Y TRABAJOS FUTUROS
El programa BotConsole debe ser mejorado, de tal manera que sea cada vez más
y más amigable con el usuario y sea mucho más potente.
El robot Gamma hay que terminar de arreglarlo, quedan los esquemáticos pero se
espera que se logre poner a funcionar nuevamente y en su totalidad.
El robot Rhino aunque ya está funcionando se puede pensar en actualizar su
circuitería para mejorar su rendimiento, ya que él tiene un puerto para periféricos,
se puede pensar en construir nuevos periféricos que puedan resultar mucho más
interesantes en el momento de hacer aplicaciones.
Las prácticas tienen que estar sujetas a reevaluación constante, para que se
mantenga su validez, sin dejar a un lado la posibilidad de aumentar el número de
prácticas.
La falta de un sistema de manejo independiente para el robot Gamma hizo que
hubiera que esperar a que se terminara el programa PuertoDirect para que se
IEL2-I-2003-14
34
probara, luego de intentar varias veces que el robot respondiera a las
instrucciones del programa se llegó a la conclusión que probablemente el daño si
sea en uno de los procesadores, o por que se encontró que le hacían falta
circuitos integrados, los cuales no se pudieron determinar tras una primera
inspección de la tarjeta de circuito. Se puede pensar en construir una especie de
Teach Pendant para el robot Gamma.
Se encontró que uno de los principales problemas del control de puertos es que
para cada proyecto hay que escribir mucho código para hacerse cargo de esto.
Por esto BotConsole es importante que sea lo más amplio posible en este aspecto
para que nuevos robots y proyectos más interesantes puedan ser desarrollados.
Queda por ampliar compatibilidad con puertos como Fire Wire y USB.
IEL2-I-2003-14
35
8. REFERENCIAS
1. Manual del Usuario Robot Rhino
2. Manual del Usuario Robot Gamma.
3. http://www.national.com/pf/LM/LM339.html