Seguidor de Linea Ardruino-libre

January 5, 2018 | Author: Christian Mauricio Caiza | Category: Robotics, Light Emitting Diode, Robot, Technology, Operational Amplifier
Share Embed Donate


Short Description

Descripción: proyecnto seguidor de linea con arduino totalemente independiente...

Description

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 2. Electrónica

5 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 DERECHO

MOTOR IZQUIERDO

TARJETA DE DESARROLLO ARDUINO DUEMILANOVE

ORIFICIOS PARA ESTRUCTURA DE PILAS

TABLILLA DE COMPARADOR Y DE POTENCIA

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 de la señal

Control

Etapa de 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 Señales de los sensores

Lm324

Entrada de PWM

TIP 41 Salidas al Arduino

Etapa de potencia y acondicionamiento

Arduino Duemilanove

13

6v 9v GND M1 M2 Respectivamente

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:

S1 S2 S3 S4

IZQUIERDA IZQCENTRO 0 0 0 0 0 1 1 1

CENTRO 0 1 1 0

DERCNTRO 1 1 0 0

DERECHA 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. 2. 3. 4. 5.

www.wikipedia.com http://www.scribd.com/doc/490126/Seguidor-de-linea-negra http://www.scribd.com/doc/17461903/Robot-Seguidor-de-Linea Matlab

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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF