Está en la página 1de 25

Instituto Tecnológico de

Chihuahua

REPORTE FINAL
“ROBOT SEGUIDOR DE LINEA”

SISTEMAS INTELIGENTES

Leonardo Saldivar Piñon CHIHUAHUA, CHIH.

06061085 13 DE DICIEMBRE DE 2010

1
INDICE
I. Introducción 3

II. Diseño de Plataforma de Hardware 5

1. Mecánica 5
2. Electrónica 7

III. Diseño del Control Básico 9

IV. Diseño y Programación del Control Difuso 11

V. Resultado de Pruebas y Análisis 23

VI. Observaciones y Conclusiones 24

VII. Referencias 25

2
I. INTRODUCCION
La robótica es una de las aplicaciones más apasionantes de la electrónica. Un robot
seguidor de línea se clasifica en el campo de la robótica móvil un grupo de la rama de
robótica. La tarea fundamental de un robot móvil es el desplazamiento en un entorno
conocido o desconocido, por tanto es necesario que posea tres funciones fundamentales, la
locomoción (nivel físico), la percepción (nivel sensorial) y la decisión (nivel de control).
Entre las aplicaciones de robots móviles se encuentra el transporte de carga en la industria,
robots desactivadores de explosivos, exploración de terrenos no aptos para el hombre.

Un seguidor de línea es un robot el cual es capaz de seguir una línea sobre un fondo
contratante, puede ser una línea blanca en un fondo negro o vice-versa. Todos los
seguidores basan su funcionamiento en los sensores. Sin embargo, dependiendo de la
complejidad del recorrido, el robot debe ser más o menos complejo (y, por ende, utilizar
más o menos sensores).

Los seguidores más simples utilizan 2 sensores, ubicados en la parte inferior de la


estructura, uno junto al otro. Cuando uno de los 2 sensores detecta el color blanco, significa
que el robot está saliendo de la línea negra por ese lado. En ese momento, el robot gira
hacia el lado contrario hasta que vuelve a estar sobre la línea. Esto en el caso de los
seguidores de línea negra, ya que también hay seguidores de línea blanca.

Las 2 maneras más comunes de armar los rastreadores son: OPAMPS (Amplificadores
Operacionales), o con simples transistores trabajados en su zona de saturación. Esto
dependiendo de la complejidad con la que se quiera armar el circuito. Podemos utilizar un
micro controlador para realizar las funciones de control o guardar en él la forma del
recorrido por una pista.

Estos robots pueden variar desde los más básicos (van tras una línea única) hasta los robots
que recorren laberintos. Todos ellos, sin embargo, poseen (por lo general) ciertas partes
básicas comunes entre todos:

Sensores: Un seguidor detecta la línea a seguir por medio de sensores. Hay muchos tipos
de sensores que se pueden usar para este fin; sin embargo, por razones de costos y
practicidad los más comunes son los sensores infrarrojos (IR), que normalmente constan de
un LED infrarrojo y un fototransistor.

Motores: El robot se mueve utilizando motores. Dependiendo del tamaño, el peso, la


precisión del motor, entre otros factores, éstos pueden ser de varias clases: motores de
corriente continua, motores paso a paso o servomotores.

3
Ruedas: Las ruedas del robot son movidas por los motores. Normalmente se usan ruedas
de materiales anti-deslizantes para evitar fallas de tracción. Su tamaño es otro factor a tener
en cuenta a la hora de armar el robot.

Fuente de energía: El robot obtiene la energía que necesita para su funcionamiento de


baterías o de una fuente de corriente alterna, siendo esta última menos utilizada debido a
que le resta independencia al robot.

Tarjeta de control: La toma de decisiones y el control de los motores están generalmente a


cargo de un micro controlador. La tarjeta de control contiene dicho elemento, junto a otros
componentes electrónicos básicos que requiere el micro controlador para funcionar.

4
II. DISEÑO DE PLATAFORMA DE HARDWARE
El diseño de la plataforma de hardware se puede dividir en dos partes, mecánica y
electrónica, las cuales se explican más adelante por separado.

1. Mecánica

Para la hacer la estructura donde se van a montar los sensores, tablillas y motores se utilizo
una pieza de acrílico transparente de 3mm de espesor como se muestra a continuación

11 cm

MOTOR MOTOR
DERECHO IZQUIERDO ORIFICIOS
PARA
ESTRUCTURA
DE PILAS

TARJETA DE TABLILLA DE
DESARROLLO COMPARADOR
ARDUINO Y DE POTENCIA
DUEMILANOVE

16 cm

TABLILLA DE
SENSORES

LLANTA LOCA

5
Sobre esta estructura está montada otra en la cual se colocaron las 6 pilas que utiliza el
robot seguidor y se utilizaron tornillos de 4cm de largo para unir las dos estructuras.

11 cm

Los motores utilizados son motores de DC con sus correspondientes reductores metálicos y
unas llantas de un diámetro de 6.5 cm.

El resultado final de la estructura se muestra en las siguientes fotografía.

6
ESTRUCTURA
DE PILAS

LLANTA LOCA

ESTRUCTURA
PRINCIPAL
La parte mecánica es la misma para los dos tipos de control.

2. Electrónica

La parte electrónica esta formada por 4 bloques los cuales son:

Sensores
Acondicionamiento de la señal
Etapa de potencia
Control

Motor 1

Sensores Acondicionamiento Control Etapa de


de la señal potencia

Motor 2

Estas etapas son diferentes para el control ON-OFF y para el control difuso ya que el
control ON-OFF es un control más sencillo y requiere menos elementos que el control
difuso. A continuación se muestran los circuitos electrónicos, el diseño y la programación
para cada uno de estos controles.

7
SENSORES

El seguidor de líneas está basado en un fototransistor y un diodo emisor infrarrojo o en el


conocido opto acoplador QRD1114 como sensores de reflejo de luz.

En el sensor vienen solo el led y el fototransistor con el objeto de poder añadir


externamente sus resistencias de led y de colector respectivas de acuerdo a la alimentación
que usaremos , si no tenemos este opto acoplador igual podemos usar un led separado del
fototransistor que consigamos , como las corrientes a manejar son pequeñas los valores no
son críticos mientras no se excedan los 20 mA para el led y un mínimo de 1k ( 5k por
seguridad ) para el resistor de colector del fototransistor , sin embargo a mayor resistencia
de emisor se consigue mayor ganancia , de como es censado el piso.

ACONDICIONAMIENTO DE SEÑAL

En el acondicionamiento de la señal se trata de digitalizar la señal análoga de los sensores. L a forma


más sencilla es usar comparadores para obtener una salida digital que determine un "blanco" o un "negro".

Como regla general y debido a que los voltajes están referidos a tierra observemos que el comparador tiene
dos entradas: una positiva y otra negativa, la regla práctica fuera de fórmulas es muy sencilla: Cuando el
voltaje en el terminal positivo es mayor que el voltaje en el terminal negativa la salida del comparador es
ALTA. Cuando el voltaje en el terminal positiva en MENOR que el voltaje en el terminal negativa la salida
del comparador es BAJA.

De esta manera es muy sencillo tener una señal que nos indique cuando el sensor se encuentra en la línea
blanca o en el fondo negro.

CONTROL

La etapa de control puede ser diseñada de diferentes maneras y utilizar diferentes métodos.

El método más común utilizado en los robots seguidores de línea es el control ON-OFF el cual se basa en dos
sensores infrarrojos y dos amplificadores operacionales para realizar el control que es analógico.

8
Otro tipo de control utilizado es el control difuso el cual está basado en 2 o mas sensores para
detectar la línea y se incluye un micro controlador al cual se le va a implementar el control, por lo
general con este tipo de control el seguidor de línea tiene menos oscilaciones al momento de
avanzar sobre la línea por lo que en teoría debería de reducir el tiempo del recorrido de la pista.

ETAPA DE POTENCIA

La etapa de potencia se basa en el funcionamiento del transistor en corte y saturación, de esta


manera cuando el amplificador operacional o un micro controlador le inyecta una señal alta a la
base del transistor entra en saturación proporcionando una gran potencia a los motores.

Los transistores utilizados son el TIP 41 y pueden utilizarse con un PWM para controlar la
velocidad del motor.

III. DISEÑO Y PROGRAMACION DEL CONTROL ON-OFF


Este tipo de control es muy sencillo ya que no requiere un procesamiento digital, el control
se realiza de manera análoga.

Se utilizaron 2 sensores QRD1114, cada salida de los sensores está conectada a un


comparador el cual no proporcionara los estados encendido y apagado para controlar los
motores.

El diagrama del circuito electrónico se muestra a continuación:

La resistencia del fotodiodo del sensor fue determinada para que hubiera la mayor
diferencia de voltaje a la salida entre la línea blanca de la pista y el fondo negro, así como
también se tomo en cuenta la distancia a la que se encontraban los sensores de la pista. La

9
resistencia del fototransistor es la ideal para que circule la corriente necesaria y a la salida
se obtenga el voltaje justo que es necesario en la entrada del comparador. El potenciómetro
de 10k proporciona un voltaje de referencia y determina el umbral entre la línea blanca y el
fondo negro, se coloco un potenciómetro para tener la capacidad de adaptarse a otras pistas
que posiblemente estén construidas de un material diferente a la pista donde fueron
realizadas las pruebas. El AMP-OP tiene una salida de 6v cuando el sensor detecta el fondo
negro de la pista y una salida de 0v cuando detecta la línea blanca, la salida del AMP-OP es
transmitida a la base del transistor TIP 41 el cual está trabajando en saturación y corte para
poder transmitirle la mayor potencia posible a los motores.

Si visualizamos el circuito anterior en forma de bloques podemos ver como se estructura el


circuito anterior.

Control y
Acondicionamiento

Etapa de
potencia
Sensor

En la siguiente figura se muestra el arreglo de los dos sensores hecho para este tipo de
control.

10
2 cm

1.5 cm

La línea blanca tiene un ancho de 1.5 cm por lo cual para reducir un poco las oscilaciones
del robot, la distancia entre los sensores es de 2 cm. Cuando los sensores se encuentran
sobre el fondo negro (como se muestra en la figura anterior) los motores giran a la máxima
velocidad, cuando uno de los sensores detecta la línea blanca el motor de su lado se detiene
para corregir el curso del robot y de esta manera funciona el robot seguidor de línea con un
control ON-OFF

IV. DISEÑO Y PROGRAMACION DEL CONTROL DIFUZO


La lógica difusa es una metodología de manera simple y elegante de obtener una conclusión
a partir de información de entrada, ambigua, imprecisa o incompleta, en general la lógica
difusa modela como una persona toma decisiones basada en información con las
características mencionadas, en esto se diferencia la lógica difusa de la convencional, que
trabaja con información bien definida y precisa.

En las técnicas tradicionales se obliga a que las representaciones del mundo real que se
realizan encajen dentro de modelos muy precisos, tomando la imprecisión como un factor
de distorsión.

En este tipo de control se utilizo un arreglo de 4 sensores, cuatro amplificadores


operacionales, una tarjeta de desarrollo Arduino Duemilanove, dos TIP 41 y dos motores.

En la siguiente imagen se puede observar el circuito electrónico implementado para este


tipo de control.

11
12
La configuración de los sensores y del amplificador operacional es la misma que para el
control ON-OFF, la diferencia es que ahora se tienen 4 sensores en lugar de 2. La etapa de
potencia es igual, implementada con dos TIP41 solo que ahora la señal que reciben a la
base es un PWM generado por el micro controlador. Se utilizo un micro controlador
Atmega328p en cual se programo un control difuso.

En las siguientes imágenes se muestran las tablillas del arreglo de los sensores, la etapa de
potencia y acondicionamiento de señal así como la tablilla de desarrollo Arduino.

Sensores
Sensores

Sensores

Entrada de
Lm324
Entrada de PWM
Señales de
los sensores
TIP 41

Salidas al
Arduino

6v 9v GND M1 M2
Etapa de potencia y acondicionamiento Respectivamente

Arduino Duemilanove

13
Se utilizo un arreglo de sensores como el que se muestra a continuación:

Vista frontal

0.6cm
S1 S2 S3 S4

1.5 cm

Vista superior

Este arreglo de sensores proporciona 5 posiciones del robot que se muestran a


continuación:

IZQUIERDA IZQ- CENTRO DER- DERECHA


CENTRO CNTRO
S1 0 0 0 1 1
S2 0 0 1 1 0
S3 0 1 1 0 0
S4 1 1 0 0 0

Para la implementación del control difuso se realizo con una entrada la cual es la posición
del robot con respecto la línea y dos salidas las cuales corresponden a los motores
utilizados.

14
La entrada consta de 5 funciones de membrecía dos trapezoidales y tres triangulares como
se muestra en la siguiente figura, las cuales corresponden a las 5 diferentes posiciones que
el arreglo de sensores pueden proporcionar.

Variable de entrada “Posición”

Las variables de salida contienen 3 funciones de membrecía del tipo trapezoidal las cuales
corresponden a las diferentes velocidades que los motores del robot que se utilizaran para
controlar el robot.

Las funciones de membrecía son las mismas para las salidas del control motor 1 y motor2.

Variable de salida “Velocidad Motor 1”

15
Variable de salida “Velocidad Motor 2”

Ya que se tienen las funciones de membrecía se procedió a realizar las reglas que con las
cuales funcionara el control difuso. Se definieron 5 reglas una para cada posición del
vehículo.

Las reglas son las siguientes:

1.- Sí (Posición es centro) entonces (Velocidad Motor 1 es Alta) y (Velocidad motor 2 es


Alta)

2.- Sí (Posición es Izq-centro) entonces (Velocidad Motor 1 es Alta) y (Velocidad motor 2


es Media)

3.- Sí (Posición es Der-centro) entonces (Velocidad Motor 1 es Media) y (Velocidad motor


2 es Alta)

4.- Sí (Posición es Izquierda) entonces (Velocidad Motor 1 es Alta) y (Velocidad motor 2 es


Baja)

5.- Sí (Posición es Derecha) entonces (Velocidad Motor 1 es Baja) y (Velocidad motor 2 es


Alta)

16
Regla 1:

Regla 2:

17
Regla 3:

Regla 4:

18
Regla 5:

A continuación se muestra las respuestas de las salidas con respecto a la entrada por medio
de graficas.

Después de diseñar el control difuso se procedió a pasarlo al hardware (Atmega 328)


buscando la manera de que el procesamiento en el micro controlador no fuera demasiado
para que no afectara al desempeño del robot en cuestión de tiempo de respuesta.

19
Para implementar el control difuso se vieron varias técnicas: Definir las funciones de
membrecía, implementar las reglas o definir una tabla con todos los valores posibles de
entradas y salidas del control difuso.

La primera técnica mencionada no se aplico porque el procesamiento es demasiado y el


robot no respondería rápidamente a los cambios en los estados de los sensores.

La técnica que se decidió a usar fue la de implementar las reglas ya que para este caso los
sensores solo proporcionaran dos valores cada uno lo que nos indica blanco o negro, no hay
valores intermedios, el valor de las salidas fue tomado de acuerdo al diseño antes
mencionado del control difuso.

Código:

const int sensor1 = 2; //declaracion de constantes para


const int sensor2 = 3; //asignar el numero de pines de salidas
const int sensor3 = 4; //y entradas
const int sensor4 = 5;
const int motor1 = 9;
const int motor2= 10;
boolean s1; //declaracion de variables para la
boolean s2; //lectura de las entradas
boolean s3;
boolean s4;

//estructura de configuracion de entradas y salidas


void setup() {
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(sensor3, INPUT);
pinMode(sensor4, INPUT);
}

void loop() { //programa principal


//lectura de sensores
s1= digitalRead(sensor1);
s2= digitalRead(sensor2);
s3= digitalRead(sensor3);
s4= digitalRead(sensor4);
//Regla 1
if (s1 == LOW && s2 == HIGH && s3 == HIGH && s4 == LOW) {
analogWrite(motor1,255);
analogWrite(motor2,255);

20
}
else {
//Regla 2
if (s1 == HIGH && s2 == HIGH && s3 == LOW && s4 == LOW) {
analogWrite(motor1,255);
analogWrite(motor2,117);
}

else {
//Regla 4
if (s1 == HIGH && s2 == LOW && s3 == LOW && s4 == LOW) {
analogWrite(motor1,255);
analogWrite(motor2,39);
}
else {
//Regla 3
if (s1 == LOW && s2 == LOW && s3 == HIGH && s4 == HIGH) {
analogWrite(motor1,117);
analogWrite(motor2,255);
}
else {
//Regla 5
if (s1 == LOW && s2 == LOW && s3 == LOW && s4 == HIGH) {
analogWrite(motor1,39);
analogWrite(motor2,255);
}
}
}
}
}
}

21
A continuación se muestran algunas imágenes del resultado final del robot seguidor de línea.

22
V. RESULTADOS DE PRUEBAS Y ANALISIS

Control ON-OFF

El control ON-OFF cumplió con el objetivo de completar la pista varias veces, el tiempo
promedio del recorrido de la pista fue de 32 segundos, teniendo una gran cantidad de
oscilaciones sobre la línea, las oscilaciones se pudieron reducir disminuyendo la distancia
entre los sensores y la pista para que la línea fuera detectada de una mejor manera.

El funcionamiento de los circuitos implementados fue el esperado.

Control difuso

El control difuso fue el que mejor funciono ya que el tiempo promedio se reducio de 32
segundos a 28 segundos. Las oscilaciones que se presentaron en el control anterior fueron
reducidas a una cantidad muy pequeña, en las curvas se presentaban un promedio de 1 a 2
oscilaciones.

El robot seguidor se mejoro aumentando el voltaje en la etapa de potencia, de 6v a 9v y


colocando los sensores mas cercas de las ruedas.

Análisis Comparativo

En cuestión de tiempo el control difuso tuvo el mejor desempeño con un promedio de 28


segundos por vuelta, 4 segundos de diferencia con el control ON-OFF.

La implementación de un control difuso tiene un grado de complejidad mayor que el


control difuso, con el cual se tienen que tener ciertas consideraciones a la hora de
programarlo ya que se puede perder la rapidez de respuesta del robot. El control ON-OFF
se realiza de manera analógica por lo que es más fácil su implementación.

En el aspecto económico, el control difuso es el que requiere de una menor inversión que el
control ON-OFF ya que el implementar un micro controlador representa una inversión
mayor.

23
VI. OBSERVACIONES Y CONCLUSIONES
Los dos controles implementados funcionaron satisfactoriamente, el difuso mejor que el
ON-OFF, y estos dos controles tendrían mejores resultados si se cambiaran los motores por
otros que tengan una menor reducción de velocidad y cambiando el arreglo de sensores por
uno que tenga una mejor resolución de la línea.

En conclusión, el control difuso tuvo un mejor desempeño ya que podía seguir la línea más
suavemente, con menos oscilaciones, que el control ON-OFF que es útil cuando no
importan las oscilaciones que se tengan cuando trata de seguir la línea.

24
VII. REFERENCIAS

1. www.wikipedia.com
2. http://www.scribd.com/doc/490126/Seguidor-de-linea-negra
3. http://www.scribd.com/doc/17461903/Robot-Seguidor-de-Linea
4. Matlab
5. http://www.grsbahiablanca.com.ar/ARCHIVOS%20ACTIVOS/Informes%20Y%20docs/ro
bot_paper.pdf
6. http://www.arduino.cc/es/Main/ArduinoBoardDuemilanove
7. http://www.scribd.com/doc/4250236/robotseguidorlinea#

25

También podría gustarte