SeguidorLinea MenaQuiroz
SeguidorLinea MenaQuiroz
SeguidorLinea MenaQuiroz
CONTROL
INTELIGENTE
CONTROL FUZZI – SEGUIDOR DE LINEA
(CARACTERIZACION)
HARDWARE........................................................................................................................................................................3
Placa Base.......................................................................................................................................................... 3
Microcontrolador................................................................................................................................................. 4
Sensores Infrarrojos............................................................................................................................................ 4
Motores............................................................................................................................................................... 5
Controlador De Motores...................................................................................................................................... 5
Batería................................................................................................................................................................. 6
Varios.................................................................................................................................................................. 6
Diagrama Esquemático....................................................................................................................................... 8
Robot Seguidor de Línea.................................................................................................................................................8
SOFTWARE.........................................................................................................................................................................9
1
TABLA DE FIGURAS
Figura 1. Seguidor de Línea Lamborghino.................................................................................................3
Figura 2. Placa PCB Open Lamborghino...................................................................................................3
Figura 3. Arduino NANO............................................................................................................................ 4
Figura 4. Distribución de pines Arduino Nano............................................................................................4
Figura 5. Sensor QTR8A........................................................................................................................... 4
Figura 6. Medidas sensor QTR8A............................................................................................................. 5
Figura 7. Micromotor Pololu....................................................................................................................... 5
Figura 8. Driver Puente H TB6612FNG.....................................................................................................5
Figura 9. Batería LiPo de 7.4V y 300mAh..................................................................................................6
Figura 10. LLantas..................................................................................................................................... 6
Figura 11. Switch....................................................................................................................................... 6
Figura 12. Pulsador................................................................................................................................... 6
Figura 13. Resistencia............................................................................................................................... 7
Figura 14. Buzzer...................................................................................................................................... 7
Figura 15. Espadines................................................................................................................................. 7
Figura 16. Conectores Molex..................................................................................................................... 7
Figura 17. Robot Seguidor de Línea.......................................................................................................... 8
SEGUIDOR DE LINEA
HARDWARE
Placa Base
Open Lamborghino es un robot seguidor de línea diseñado en el año 2013 por ingenieros chilenos. El
diseño tanto de la placa como el software del microcontrolador son Open Source para a partir del diseño
base realizar las modificaciones necesarias para que el robot realice el control y cumpla su objetivo que
es seguir una línea blanca o negra trazada en un circuito abierto o cerrado y lograr el menor tiempo
posible de recorrido.
Las dimensiones de la placa PCB es de 10cmx10cm cumpliendo con los requisitos para una
competición de robótica.
Microcontrolador
El cerebro del robot seguidor de línea esta integrado en la tarjeta de desarrollo Arduino Nano el cual
admite con su lenguaje de programación basado en C, el control para el robot. En este caso se realizará
la implementación de un código que contiene un control fuzzi desarrollado en Matlab el cual permitirá el
desarrollo del robot sobre la pista y seguir la línea del circuito.
A continuación, se muestra la distribución de los pines adecuados para un correcto funcionamiento del
sistema.
Sensores Infrarrojos
Los sensores utilizados para seguir la línea están construidos en una placa del fabricante Pololu llamada
QTR8A la cual tiene 8 sensores infrarrojos. El robot seguidor de línea utiliza 6 de los 8 sensores en la
parte delantera del robot.
Motores
Los motores utilizados son Micromotores con caja reductora acoplada a su eje la cual sirve para
aumentar el torque al giro del motor. Estos pequeños motores reductores de VDC con escobillas están
disponibles en una amplia gama de relaciones de engranajes, desde 5: 1 hasta 1000: 1, y con una
alimentación de 6VDC a 12VDC. Dependiendo del modelo pueden llegar a girar desde 30 a 6000 RPM
todo dependiendo de la caja reductora y el torque que se requiera.
El robot seguidor de línea tiene acoplado dos motores de relación 30:1 los cuales alcanzan 1100 RPM
sin carga y 1.5 A de corriente pico
Controlador De Motores
Para el control del PWM de los motores se encuentra acoplado un Driver Puente H TB6612FNG el cual
puede controlar hasta dos motores DC con corriente constante de 1.2A y hasta 3.2A pico. Posee diodos
de protección y puede controlar señales PWM hasta 100kHz
Varios
Llantas de 32mm diámetro y 7mm de grosor
Switch de 2 posiciones
Buzzer
Conectores Molex
Línea Base
Mecanismo de Inferencia
Interfaz de Fusificación
Interfaz de Defusificación
Mecanismo de Inferencia
Defusificación
Fusificación
Entrada de Referencia
Entradas Salidas
Proceso
Para empezar con el diseño del controlador, se plantea realizar un control Fuzzy únicamente
Proporcional, para tener una noción del comportamiento del sistema ya que en función de la variable de
entrada, se deben controlar los motores del seguidor de línea para realizar una trayectoria adecuada.
Entradas
Error de Posición
El error de posición hace referencia a la desviación que tiene el arreglo de sensores infrarrojos
de su centro con el de la línea a seguir.
2.5cm
2.5cm
La longitud total del arreglo de seis sensores es de 50mm, por lo que la desviación máxima
desde el centro de es 25mm a cada lado.
Según las Reglas establecidas por el CER (Campeonato Ecuatoriano de Robótica), el grosor de
la línea en competencias es de 19mm por lo que permite que existan 2 sensores sobre la pista
en caso de estar correctamente alineados.
Por lo tanto, el valor de la variable de error de posición viene dada con respecto al centro de la
pista en relación con los sensores.
Salidas
Las salidas del sistema están dadas por el valor PWM enviado a cada motor para controlar la
dirección de avance del vehículo.
Los motores izquierdo (A) y derecho (B) se encargan de impulsar al móvil por la pista, por lo que su
configuración indica la velocidad y dirección de avance del vehículo dependiendo de la potencia a la que
estén trabajando.
Si A trabaja a una potencia del 100% y B trabaja a una potencia de 75%, entonces el vehículo empezará
a curvar hacia la derecha, de igual manera sucede pero al lado contrario si los valores de potencia se
intercambian entre A y B. La representación de estas variables está delimitada se la siguiente manera.
𝑤𝑖𝑧𝑞 = 0 − 100%
𝑤𝑑𝑒𝑟 = 0 − 100%
Funciones Miembro
La fusificación tiene como objetivo convertir valores crisp o valores reales en valores difusos. En la
fusificación se asignan grados de pertenencia o de verdad a cada una de las variables de entrada o
preposiciones con relación a los conjuntos difusos previamente definidos utilizando las funciones de
pertenencia asociadas a los conjuntos difusos.
Las funciones miembro de ERROR se encuentran en un rango real de -25mm a 25mm, representadas
en la Figura 19., donde se tienen 5 grupos
Nota: No es necesario representar el error en cinco conjuntos, debido al rango de valores que puede
tomar esa variable, es posible representar la variable con tres conjuntos solamente, NEGATIVO, CERO,
POSITIVO.
Figura 19 Funciones de Pertenencia de ERROR
Las funciones miembro de cada motor (MIZQ, MDER) tienen un rango de 0-100%, por lo que sus
funciones de pertenencia son iguales, representadas en 5 grupos.
ERROR
Salida GN PN Z PP GP
Motor Izq MG G Z P MP
Motor Der MP P Z G MG
Superficie de Control
Debido a que es un control Proporcional, la superficie de control está representada por una recta
bidimensional, como se muestra en la Figura 21 y 22.
Implementación
Para la implementación del control en el móvil real, se deben adaptar y acondicionar las señales al
entorno del procesador del mismo, en este caso un Arduino nano.
Acondicionamiento de Entrada
La entrada, en este caso la posición está representada por un arreglo de seis sensores
infrarrojos separados por 1cm entre cada uno. Cada sensor entrega un valor por lectura ADC de 8 bits,
es decir un rango de 1024 valores.
La entrada del controlador, sin embargo es un solo valor y debe ser de la desviación de posición
respecto al centro, es por esto que se aplican ponderaciones a cada sensor para poder obtener un
rango de valores ponderados según la ubicación del centro de la línea.
0 ⋅ (𝑆1) + 1000 ⋅ (𝑆2) + 2000 ⋅ (𝑆3) + 3000 ⋅ (𝑆4) + 4000 ⋅ (𝑆5) + 5000 ⋅ (𝑆6)
𝑒𝑟𝑟𝑜𝑟𝑑𝑖𝑠𝑡 =
𝑆1 + 𝑆2 + 𝑆3 + 𝑆4 + 𝑆5 + 𝑆6
Esta operación matemática resulta en un valor numérico en un rango de 0-5000 que corresponde a la
ubicación del centro de los sensores respecto al centro de la línea.
Posteriormente se escalan los valores a un rango normalizado por la entrada del controlador, en este caso
-255 a 255.
Acondicionamiento de Salida
La salida del motor debe se aconidionada de igual manera, debido a que la inercia del vehículo genera
un desfase en la línea de acción del móvil, por lo tanto, un valor de offset debe ser agregado para la
correcta operación de los motores.
Conclusiones
Después de realizar pruebas con el control fuzzy proporcional se determnó que mientras más
rápida sea la acción, mejor se da el control, sin embargo, la carencia de un componente
derivativo o predictivo impide una respuesta rápida ante cambios bruscos.
Debido al rango corto de valores entregado por los sensores, se determinó que no es necesario
generar demasiados conjuntos difusos para realizar la operación de control, lo que simplifica el
diseño sin reducir su desempeño.
Bibliografía
Passino, K. M., Yurkovich, S., & Reinfrank, M. (1998). Fuzzy control (Vol. 42, pp. 15-21).
Menlo Park, CA: Addison-wesley.
Morales Luna, G. (2002). Introducción a la lógica difusa. Centro de Investigación y Estudios
Avanzados. México.