Sunteți pe pagina 1din 10

1

Sistema autónomo de detección de obstáculos y


seguidor de línea negra médiate el uso de LEGO
Mindstorms
Luna Jaime
Facultad de Ingeniería y Ciencias Básicas, Programa Ingeniería Industrial, Politécnico Grancolombiano
Bogotá DC, Colombia

jaluname@poligran.edu.co

Abstract— The following paper is a synthesis of the el cual se hace una emulación de los equipos
work done based on the LEGO Mindstorms platform for autónomos que se encuentran en la industria
the development of an autonomous systems using moderna y presentes ampliamente en la práctica
programming techniques combined with the use of profesional.
actuator (gearmotors) and data input (sensor)
hardware.
II. METODOLOGIA
Resumen— El presente documento es la síntesis del trabajo
realizado por medio de la implementación de la plataforma
LEGO Mindstorms para la generación de sistemas autónomos a) OBJETIVO GENERAL
mediante el uso de técnicas de programación combinadas al uso
de hardware tanto de actuadores como de entrada de datos Ensamblar y programar un sistema autónomo
(sensores).
seguidor de línea negra capaz de evitar obstáculos
mediante el uso de la interfaz LEGO.
Índice de Términos — Motores DC,
Motorreductores, Sensores, LEGO, Programación, b) OBJETIVOS ESPECIFICOS
SCADA, Seguidor de línea, Robótica.
Programar el Sistema LEGO Mindstorms para
I. INTRODUCCIÓN
cumplir funciones de desplazamiento mediante las
especificaciones de:
En la automatización industrial y sus ares
subyacentes como la robótica, es imperativo el Avance
conocimiento de la iteración entre los actuadores Detección de obstáculos en el entorno
finales (motores, palancas, pinzas), la iteración con Seguimiento de la línea negra
el entorno (sensores) y el sistema de control por Reconocimiento de la Intensidad de luz
medio de la programación. reflejada
Control de giro (Velocidad Angular)
El proyecto del que hace mención este documento se Retorno a la posición inicial.
desenvuelve como el desarrollo de un sistema
autónomo para el reconocimiento del entorno por Programar el sistema para realizar su desplazamiento
medio de la detección de obstáculos, así como de mediante la implementación de un ciclo
movilidad por medio del seguimiento una ruta del condicionado a la detección o no de obstáculos a
tipo “línea negra” por medio de la detección de la través del sensor ultrasónico con el que cuenta el
intensidad de luz reflejada en el medio, método por sistema de este modo al realizar la detección de
2

obstáculos se cambia el curso mediante un giro de En la gama de motor de corriente continua los más
desvió y retorno a su posición de ruta comunes suelen ser los motores de imán permanente,
proporcionando al usuario mediante el LCD los en estos su campo magnético permanece constante
estados de en ruta (cara feliz) y con obstáculo (cara dado el imán por el cual está formado el núcleo, por
de enojo) así como alerta sonora (claxon). lo cual su velocidad se puede mantener constante. [2]

III. MARCO TEÓRICO

• Motores Eléctricos

Los motores eléctricos son básicamente maquinas


eléctricas que transforman la corriente eléctrica que
pasa por un embobinado en movimiento por medio
de la fuerza magneto motriz, por lo cual se puede
definir que un motor eléctrico es un circuito
magnético que transforma el campo magnético y la
corriente en movimiento. [1]
Ilustración 3 Composición básica de motor DC de imán
permanente [2].

• Motorreductores

Los motorreductores, básicamente son motores de


corriente continua con un acoplamiento mecánico
que le permite mejorar el torque producido por el
motor, sin cambiar las especificaciones de
alimentación, así como su velocidad, o sentido de
giro [2], los motorreductores son ampliamente
Ilustración 1 Núcleo Magnético básico en una maquina usados dada su versatilidad ya que pueden
eléctrica. [1]
proporcionar movimiento a mecanismos tan
• Motor DC complejos como un reloj hasta en potentes proyectos
electrónicos.
Un motor DC es una maquina eléctrica que acepta
corriente continua, generalmente proveniente de una
batería, dichos motores se dividen en 2 categorías:
conmutados y sin conmutación, la diferencia entre
ambos tipos de motor de corriente continua radica en
la capacidad de invertir el giro de la rotación por
parte del motor conmutado. [2].

Ilustración 4 Acople redactor basico en motor DC. [2]

• Sensores de presencia

Los sensores de presencia son sistemas de entrada de


datos capaces de detectar la presencia de objetos en
un radio de distancia determinado –sujetos a una
Ilustración 2 Motor de 12V con conmutación [1]
3

tolerancia específica– a través del contacto o no de IV. TEORIA SEGUIDOR DE LINEA


objeto u obstáculos dentro de dicho radio. El sensor
ultrasónico es un sensor de distancias por Un sistema seguidor de línea negra, es un sistema
ultrasonidos capaz de detectar objetos y calcular la autónomo encargado de seguir una ruta delimitada
distancia a la que se encuentra en un rango de 3 a 300 por una línea negra dentro de un fondo blanco, del
cm. El sensor funciona por ultrasonidos y contiene tipo robots de control sensorizado, donde el sensor
toda la electrónica encargada de hacer la medición. emite un haz de luz y luego mide que tanto refracta
Su uso es tan sencillo como enviar el pulso de en la superficie y por la longitud de onda de cada uno
arranque y medir la anchura del pulso de retorno. [3] se determina el espectro lumínico perteneciente a
cada color en este caso, la luz reflejada por blanco y
En robótica, estos motores son complementarios a negro para la toma de decisiones.
los sistemas de posición y guía, tanto que en procesos
y sistemas de automatización industrial se utilizan
generalmente como finales de carrera.

Ilustración 7 Sistema seguidor de línea. Fuente: Elaboración


Ilustración 5 Diagrama básico - Sensor tipo ultrasónico [4] propia.

• Ciclos Condicionales

Los ciclos condicionales son sentencias de control V. DESCRIPCIÓN DEL SISTEMA LEGO
que determina una orden especifican dentro de un MINDSTORM
algoritmo –programa-. Estas sentencias de control LEGO Mindstorms es una herramienta usada para
dependen de una condición previamente –pregunta emular modelos de sistemas integrados con partes
de decisión- especificada para decidir la acción electromecánicas controladas por computador,
correspondiente a ejecutar. [5] acercando a esta herramienta a una funcionalidad
similar a la de las aplicaciones reales de los modelos
robóticos e industriales [6].

La construcción del sistema se basa en la unión de


bloques de plástico, característicos del sistema
LEGO convencional, en conjunto con otras familias
de piezas como lo son las de tipo plegable y otras que
permiten la rotación de ruedas u otros elementos. El
Ilustración 6 Sintaxis y semántica para la forma del "if" modelo se debe centrar en el bloque programable, ya
simple de la sentencia if en un ciclo [4] que este bloque provee la energía necesaria para el
movimiento del modelo diseñado. Adicional a las
piezas convencionales y los ya mencionados motores
de movimiento se puede hacer uso de varios tipos de
4

sensores que se incluyen con el kit del sistema, esto


dependiendo del uso específico para cada práctica.

Para esta práctica se utilizaron en concreto los


siguientes componentes:

• Motor grande (2 unidades): El cual permite


que las acciones sean precisas, ya que se
encuentra formado principalmente por un Ilustración 10 Sensor de proximidad LEGO Mindstorms
sensor de rotación. empleado en la práctica [6]

• Giro sensor: Tiene la capacidad de detectar el


movimiento de rotación en un eje simple.

Ilustración 8 Motor grande LEGO Mindstorms empleado en


la práctica [6]

• Bloque EV3: Centro de control y central Ilustración 11 Giro sensor LEGO Mindstorms empleado en la
eléctrica del dispositivo, está compuesto de 8 práctica [7]
puertos de entrada (4 para sensores y 4 para
motores), parlante, conexión para PC, USB y
tarjeta SD. • Sensor de color: Distingue 8 colores en el
ambiente y así mismo, permite la detección
de luz tanto la reflejada como la ambiental.

Ilustración 9 Bloque EV3 LEGO Mindstorms empleado en la


Ilustración 12 Sensor de color LEGO Mindstorms empleado
práctica [6]
en la práctica [6]
• Sensor ultrasónico en modo proximidad: Que
utiliza las ondas de luz reflejadas por los
objetos y que según el tamaño varía
distancias de detección.
5

Área de programación

El área de programación está constituida por un área


en blanco donde es posible ordenar las acciones que
se espera realice el dispositivo LEGO, estas acciones
se evidencian en paletas de programación que a su
vez contienen bloques, allí podemos seleccionar el
tipo de motor, sensores, operaciones de datos, entre
otras opciones, estos bloques reciben el nombre
de bloques de acción.

Ilustración 13 Sistema LEGO Mindstorms empleado en la


práctica. Fuente: Elaboración propia.

V. SOFTWARE EV3

La razón principal por la cual el sistema LEGO es


base de los principios de estudio de robótica y
automatización es que además de la precisión de las
piezas que conforman la figura, éstas permiten ser
programadas mediante un software que a través de
ilustraciones ayuda al fácil entendimiento de cada
herramienta y así servir en conjunto al estudio de
movimientos, robótica y principios de
programación. Ilustración 15 Área de programación empleada en la práctica
Fuente: Elaboración propia.
Este consta principalmente de
En el desarrollo de esta práctica, se tuvieron en
• Área de programación cuenta las paletas que contenían bloques de acción,
• Paletas y bloques de acción bloques de sensores y bloques de control de flujo.
• Página de Hardware
• Editor de contenidos • Bloques de acción. En esta paleta se
• Barra de herramienta de programación contienen aquellas funciones que controlan
los motores, así como las imágenes que se
evidencian en el visualizador (display) del
bloque, así como también los sonidos y las
luces.

Podemos evidenciar esta paleta donde se


almacenan las funciones (de izquierda a
derecha), motor mediano, motor grande,
mover en la dirección, mover tanque,
pantalla, sonido y luz de estado del bloque.
[6]

Ilustración 14 Entorno básico LEGO Mindstorms EV3


empleado en la práctica [6]
6

puerto B y C, izquierdo y derecho respectivamente),


el funcionamiento de los sensores en este caso, los
sensores de color y sensor ultrasónico,
posteriormente se ejecuta la programación de las
Ilustración 16 Bloques de acción (verde) [6]
secuencias. Todas las secuencias ejecutadas en la
• Bloques de flujo. Esta paleta permite el pista se realizaron en sentido anti horario por parte
acceso a las funciones de control del flujo del del sistema autónomo y detección de obstáculos
programa, allí encontramos decisiones,
esperas, entre otros. a) SECUENCIA 1: Seguimiento línea negra
con 1 sensor de color.
Se muestran a continuación, las funciones
que componen esta paleta (de izquierda a Mediante la programación empleada en la Ilustración
derecha), inicio, espera, bucle, interruptor e 20 se ha configurado el sistema para el seguimiento
interrumpir bloque. [6] de la línea negra mediante el reconocimiento del
entorno blanco de la pista, según la rutina de
programación al detectar la línea negra regresa al
cauce de la ruta original en un giro de 180º.

Ilustración 17 Bloques de flujo (naranja) [6]

• Bloques de sensores. En esta paleta están


contenidas las funciones que permiten la
lectura de datos a través de sensores e
interacción con el medio.

En la Ilustración 17, se muestran las


funciones (de izquierda a derecha botones del
bloque, sensor de color, sensor infrarrojo,
rotación del motor, temporizado y sensor Ilustración 19 Pista implementada para la ejecución de la
táctil. [6] secuencia 1. Fuente: Elaboración propia.

En el caso de esta secuencia, se hace la respectiva


programación inicialmente de la detección de la luz
reflejada donde se espera localizar la línea negra de
la pista.
Ilustración 18 Bloques de sensores (amarillo) [6]

VI. MARCO PRÁCTICO

Para el desarrollo de la práctica pertinente a este


escrito se realizaron dos (2) secuencias de práctica,
para el análisis de movimientos del dispositivo y
diferentes iteraciones en cuanto a la funcionalidad y
programación del sistema.
Ilustración 20 Detección de línea negra (Valores menores o
Inicialmente, se comprueba en la página de
iguales a la calibración) Fuente: Elaboración propia
Hardware la posición de los motores (en este caso,
7

Una vez localizada, se activa el sensor ultrasónico


con el fin de detectar la existencia de obstáculos
próximos al vehículo, en el caso de haberlos, en el
display se evidencia una cara de enojo (Angry) y el
sonido del claxon, se procede a esquivarlos y
continuar el camino.

Ilustración 24 Detección de giros del vehículo (cambios


mayores a 20° en el girosensor). Fuente: Elaboración propia.

Si por el contrario, el sensor ultrasónico no detecta


ningún obstáculo en el camino, continua su camino
por la línea negra y se repite el ciclo.

Ilustración 21 Reacción del vehículo cuando se detecta un


obstáculo. Fuente: Elaboración propia.

Ilustración 25 Seguimiento de línea negra. Fuente:


Elaboración propia.

En el caso de no detectar la línea negra, el vehículo a


través del bloque de acción “mover dirección”
realizará un movimiento hacia adelante mientras
Ilustración 22 Detección de obstáculo a menos de 13 cm de muestra en pantalla una cara sonriendo (BigSmile),
distancia. Fuente: Elaboración propia. de la misma forma, estará activa la detección del
obstáculo.
A su vez, dentro del mismo bucle se puede encontrar
de forma paralela la acción del girosensor encargado
de detectar los giros correspondientes que realiza el
vehículo y enseñarlos en el display, en este caso por
la sensibilidad del girosensor, se asume que debe
mostrar el giro en pantalla cuando se detecte un
cambio mayor a 20°.

Ilustración 26 Detección de luz diferente a la negra (valores


Ilustración 23 Salida en el display cuando se realiza un giro mayores a la calibración). Fuente: Elaboración propia.
en el vehículo. Fuente: Elaboración propia
8

programación utilizada para la implementación de la


En la Ilustración 20, se puede observar la secuencia secuencia 2.
completa en esta etapa.

Ilustración 28 Programación completa del sistema LEGO


Mindstorms para el seguimiento de línea y evasión de
Ilustración 27 Secuencia de programación del LEGO obstáculos. Fuente: Elaboración propia.
Mindstorms, para la detección de línea negra y obstáculos
con 1 sensor de color, 1 sensor de ultrasonido y 1 girosensor VII. ESTRATEGIA DE PROGRAMACIÓN
Fuente: Elaboración propia.

b) SECUENCIA 2: Seguidor de línea con Los sistemas autónomos para el seguimiento de línea
implementación de dos sensores de color. negra sobre pista de fondo blanco, básicamente como
su nombre lo indica son sistemas diseñados para el
La implementación de la capacidad de detección de movimiento autónomo basados en el reconocimiento
obstáculos había sido ideada únicamente para la de la intensidad de luz reflejada en el medio, siendo
secuencia final, pero se decidió implementarle en negro los valores menores al correspondiente
ambas secuencias dada la diferencia de dificultad que calibrado (línea) y blanco los valores mayores al
representaba en cada una, por lo cual ha sido valor calibrado (pista), estos valores responden a las
explicada su lógica computacional mas adelante respectivas decisiones.
dentro de las estrategias de programación.
La pista utilizada se ilustra en la siguiente
La idea de esta secuencia es recorrer cualquier pista Ilustración.
de línea negra, en la cual se añadan obstáculos, el
robot los detecta y evaluará la decisión a tomar, para
luego continuar la ruta previa evitando el obstáculo.

Fundamentalmente se realiza la adición del estado de


inicialización del sensor ultrasónico dentro de la
secuencia principal del seguidor de línea, donde
llamará a un estado de decisión frente al obstáculo y
asignar la secuencia correspondiente, de no encontrar
obstáculo alguno continuara la ejecución de las
secuencias del programa principal. Como alternativa
se había pensado utilizar el sensor ultrasónico como Ilustración 29 Pista implementada para la ejecución de la
estado de inicialización principal, pero suponía ser secuencia 2. Fuente: Elaboración propia.
invocado antes de la secuencia de control de los Para todas las etapas del proyecto se realizó previa
sensores de color y presentaba problemas de calibración de los sensores de color según lo indicado
enrutamiento en la pista para la toma de decisiones en la ecuacion 1.
entre sensores. En la ilustración 28 se muestra la
9

b : Blanco
n : Negro
bn
Calibración 
2
Ecuación 1 Ecuación de calibración de color para el sensor
correspondiente en LEGO Mindstorms

a) Estrategia para la Secuencia 1

Ilustración 31. Variable de estado del sensor de giro. Fuente:


Se programa el sistema con un único sensor de color Elaboración Propia
posicionado sobre el color blanco, y empleando un
condicional no anidado (simple) donde evalúa la c) Detección de línea negra con 2 sensores
posición del cuerpo sobre la línea o en caso contrario
Utiliza 2 sensores paralelos entre sí, considerando la
se reposiciona para encausar el camino realizando
línea negra en medio de ambos, donde mediante el
una rectificación en los motores para tal fin.
uso de dos condicionales simples anidaos se activa la
secuencia de movimiento, donde en caso de ambos
b) Implementación sensor de giro sensores estar en superficie blanca se moverán
Secuencia 1 ambos motores en modo tanque, en caso contrario
que alguno este posicionado en línea negra se girara
en sentido contrario al sensor posicionado
Para la compensación de giro en la secuencia 1 con verificando la posición y actuando en tanque dentro
la implementación de un único sensor de color se de un ciclo infinito.
utilizó los datos provenientes del sensor de giro
(girosensor) con un ángulo de 20º para mantener el
cauce del sistema sin perder estabilidad en la d) Detección de línea negra con 2 sensores
adquisición de datos provenientes de la pista dado y detección de obstáculos
que un giro en los motores mayores a 20º hace que el
sistema pierda su rumbo, en la Ilustración ## se
Complementaria a la secuencia b del literal anterior
muestra la secuencia de programación empleada para
se ha añadido dentro de un tercer condicional simple
tal fin.
la condición de detección de obstáculos mediante el
sensor de ultrasonido provisto con el sistema LEGO
Mindstorms, donde a detectar obstáculo a una
distancia de 13cm, y análogo a el caso de la línea
negra se realizara un giro de 400º-450° para abortar
el camino así como rectificación de los motores para
encausar la ruta original y terminar el recorrido,
adicional a ello el visor LCD desplegará dos
imágenes "Big smile" o "Angry", para el caso de
Ilustración 30. Secuencia de compensación de giro a través del sensor estar sin obstáculo y con obstáculo en la ruta
de giro. Fuente: elaboración Propia. respectivamente.
El sensor de giro debe reiniciar su secuencia después
de cada ejecución para que la variable de decisión se
mantenga libre, es decir evitar el almacenamiento de
datos, dado que es una variable de estado
Ilustración 32. Display LCD (Big Smile) al no detectar obstáculo y
únicamente. (Angry) en caso contrario. Fuente: Elaboración Propia
10

Detección de obstáculos BIBLIOGRAFÍA


Como se ha descrito anteriormente el sensor
ultrasónico de proximidad emite ondas de sonido de [1 S. j. Chapman, Maquinas electricas, Mexico: McGraw Hill
baja frecuencia, para aprovechar esto durante la pista ] Interamericana, 2012.
se le ha dado una distancia mínima de detección de [2 M. Scarpino, Motors for Makers - A Guide to Steppers,
13cm, en el caso de giro en la pista se encontró el ] Servos, and Other Electrical Machines, Indianapolis: Que,
problema de giro a cortas distancias, por lo cual se 2015.
usó compensación de giro en los motores para lograr [3 A. Barrientos, Funademntos de Robotica, Madrid :
] McGraw Hill, 2007.
la precisión en el giro y una etapa de bloqueo en los
motores para el giro sea suave. Esta estrategia de [4 Uvigo, [En línea]. Available:
] http://www.dte.uvigo.es/recursos/capacitivos/funcionamie
programación se muestra en la Ilustración 33. nto/diagrama%20de%20bloques.gif el 21/02/2017..
[Último acceso: 21 02 2017].
[5 J. S. Dean, Introduccion a la programacion con JAVA,
] MExico DF: McGraw Hill Interamericana, 2009.
[6 The LEGO group, «MindStorms,» 10 2 2017. [En línea].
] Available: https://www.lego.com/es-
es/mindstorms/history.
[7 F. Posada Prieto, «Robótica Lego EV3,» Enero 2015. [En
] línea]. Available:
http://canaltic.com/rb/legoev3/index.html.
[8 R. L. Norton, Diseño de Maquinaria, Mexico Df: McGraw
] Hill Interamericana, 2009.
[9 E. Jung Park, Exploring LEGO Mindstorms EV3 Tools and
Ilustración 33. Etapa de control sensor ultrasónico y compensación de
giro Fuente: Elaboración Propia
] Techniques for Building and Programming Robot, New
York: Wiley, 2014.
[1 G. Gerber, Learning LEGO Mindstorms EV3, New York:
0] Packt Publishing, 2015.
VIII. CONCLUSIONES [1 M. Rollins, Beginning LEGO MINDSTORMS EV3,
1] Boston: Apress, 2014.
La instalación de bucles permite arrojar resultados
exactos y precisos conforme a una condición dada en
el código del Software, esta herramienta no da lugar
a que por error humano se presente conflicto entre el
código y la ejecución del mismo.
La exploración de todos los comandos disponibles
permite al usuario ampliar su capacidad deductiva y
analítica debido a que para el buen desarrollo de la
práctica es necesario recrear lo planeado en el
software de manera que sea entendible y se ejecute
satisfactoriamente.
Las experiencias tanto teóricas como prácticas del
equipo de trabajo sirvieron para entender el
funcionamiento en apariencia simple del robot, pero
complejo en su descripción, de esta manera se pudo
estructurar los comandos para que este describiera lo
planeado.

S-ar putea să vă placă și