Instituto Tecnológico Superior de Coatzacoalcos
Seguidor de Líneas Marco Teórico Jorge Alberto Silva Valenzuela; Josué Waldestran Domínguez; Claritza Ordaz López; Luis Enrique Hernández Ramos; Edgar Alberto; Jairo F. Rueda De León
11
ÍNDICE Tabla de contenido TEMA: Construcción de un Robot Autónomo Seguidor de Línea Blanca. ........................................... 3 PROBLEMA DE INVESTIGACIÓN: ..................................................................................................... 3 OBJETIVO GENERAL: ........................................................................................................................ 3 OBJETIVOS ESPECÍFICOS: ................................................................................................................. 3 JUSTIFICACIÓN: ............................................................................................................................... 4 LIMITACIONES: ................................................................................................................................ 4 FACTIBILIDAD: ................................................................................................................................. 4 HIPÓTESIS: ....................................................................................................................................... 5 1 INTRODUCCIÓN: ............................................................................................................................... 6
2
1.1
¿Qué es un Robot?.............................................................................................................. 6
1.2
¿Qué es un Seguidor de Líneas? ......................................................................................... 6
1.3
¿Cómo Funcionan? ............................................................................................................. 7
1.4
Partes Básicas del Seguidor de Líneas................................................................................ 7
1.5
Configuraciones Mecánicas Más Comunes........................................................................ 9
DISEÑO MECÁNICO................................................................................................................... 10 2.1
Sistema De Dirección ........................................................................................................ 10
En las curvas necesitamos que: ................................................................................................. 10 2.1.1 Sistema De Dirección........................................................................................................ 10 2.1.1.1 Matemáticas en la frenada ........................................................................................... 12 2.1.1.2 Matemáticas en la frenada. Recta genérica. ................................................................. 13 2.2 CONTROL DE VOLTAJE .......................................................................................................... 14 2.3
ACONDICIONAMIENTO DE SEÑAL .................................................................................... 14
2.4
CONTROL DE MOTORES.................................................................................................... 15
2.5 MODELO DINÁMICO: ESTABILIDAD DIRECCIONAL.................................................................. 16 2.5.1 Posición de la plataforma. ................................................................................................ 17 2.5.2 Movimiento de la plataforma .......................................................................................... 18 2.6
Equilibrio estático ................................................................................................................ 23
2.7 Equilibrio de momentos ....................................................................................................... 24
1
3
DISEÑO ELECTRÓNICO .............................................................................................................. 25 3.3
Sensores ............................................................................................................................ 25
3.3.1
Selección de los Sensores ......................................................................................... 25
3.3.2
Número de Sensores y Alineación ........................................................................... 26
Sistema de Control ........................................................................................................................ 27 3.3.3
Metodología de Control ........................................................................................... 27
3.3.4
Control Proporcional – Integral – Derivativo ........................................................... 28
3.3.4.1
Fórmulas Principales para el Control PID. ............................................................... 29
3.3.5
Elección del Microcontrolador ................................................................................. 29
3.3.1
El uso de PWM en el seguidor de linea .................................................................... 30
3.3.2 Periodo PWM .................................................................................................................... 31 3.3.3
Ciclo de trabajo del PWM ................................................................................................ 31
3.3.4
CONFIGURACIÓN DEL PWM: ....................................................................................... 32
2
TEMA: Construcción de un Robot Autónomo Seguidor de Línea Blanca. PROBLEMA DE INVESTIGACIÓN: Hallar la Mejor forma de diseño mecánico, construcción y diseño electrónico de un robot autónomo seguidor de línea blanca que sea capaz de alcanzar una velocidad mínima de 1.5
,
además de ser compatible con futuras actualizaciones tanto de software como de hardware.
OBJETIVO GENERAL: Construir un robot seguidor de línea blanca capaz de alcanzar velocidades mínima de 1.5 m/h y que sea capaz de controlar su velocidad de acuerdo al ángulo de la curva de la cual girará. así como también sea compatible con las nuevas versiones de software que vayan emergiendo en el mercado para el control de robots autónomos.
OBJETIVOS ESPECÍFICOS: -
Investigar las disciplinas y áreas de trabajo que están involucradas en el desarrollo del robot seguidor de línea. Diseñar un prototipo por computadora en un programa como Inventor o Solid Works del robot seguidor de líneas. Realizar pruebas con distintos materiales propuestos con el fin de ajustarnos a un material para el diseño mecánico del robot. Solucionar la problemática de peso del robot, velocidad y fuente de energía que alimentara los circuitos electrónicos del seguidor. Conseguir el material eléctrico, electrónico y mecánico que se ajuste a nuestro diseño y propósitos. Ensamblar el robot mecánicamente. Realizar la parte electrónica del robot seguidor de líneas (placa electrónica). Unir la parte mecánica del robot seguidor de líneas adaptándola a la aparte electrónica del mismo. Hacer un algoritmo que controle el robot seguidor de líneas y que nos sirva de base para la siguiente y última fase que es programación. Programar el robot con un lenguaje de programación como “C”, para que el robot realice lo que nosotros esperamos.
3
JUSTIFICACIÓN: Actualmente no hay información suficiente y satisfactoria en cuanto a lo que se refiere a la construcción de un robot seguidor de línea, al análisis del algoritmo, los desarrollo de los modelos matemáticos y físicos que muestren el correcto desempeño del robot; y por tal motivo hemos decidido investigar los temas que estén relacionados en la construcción de un seguidor de línea para recolectar los conocimientos adecuados para la construcción de uno y poder llevarlo acabo y que al termino de su realización podamos tener una investigación bien estructurada y confiable sobre los robot seguidores de línea. Otra razón para hacer un robot seguidor de línea blanca es que sea capaz de alcanzar una velocidad mínima de 1.5 m/s, que participe en el “concurso de robot seguidor de línea” y que tenga un buen desempeño en la competencia y de ser posible obtener el primer lugar en el concurso
LIMITACIONES: Es pertinente precisar los límites del problema, su alcance, para ello es necesario tener en cuenta la viabilidad. Uno de los límites en los que podemos tener en el proceso o desarrollo del dicho proyecto velocista seguidor de líneas son: Proveedores de productos El conocimiento amplio Preparación y Habilidades Uso de los conocimientos Economía Tiempo en realización del proyecto Mantener estable la idea Orientación externa en el trabajo
FACTIBILIDAD: A nivel de factibilidad podemos llenar o abastecer los 3 principales aspectos en el seguidor de líneas que son:
Factibilidad técnica: Si se dispone de los conocimientos y habilidades en el manejo métodos, procedimientos y funciones requeridas para el desarrollo e implantación del proyecto. En el aspecto técnico se tiene la experiencia en haber concursado ya en otra ocasión y el tener ya algunos de los elementos que nos pueden servir de mucha ayuda.
4
Factibilidad económica: se dispone del capital en efectivo o de los créditos de financiamiento necesario para invertir en el desarrollo del proyecto, Se pueden cubrir algunos de los gastos por que la compra del material ya es mínimo, ya gran parte de los materiales ya tenemos.
Factibilidad operacional: Existe el personal requerido para llevar a cabo el proyecto con una estructura funcional de tipo formal o informal que faciliten las relaciones entre el equipo.
HIPÓTESIS: En primera instancia, el seguidor de línea cuenta con los sensores ópticos y lo cual ayuda a que este obtenga el desplazamiento sobre una superficie totalmente blanca/negra, siendo el resultado un movimiento entrecortado. Este defecto se ha tratado de ir mejorando por pasos; hasta lograr un avance continuo. Los conjuntos de fotodiodos-fototransistores diferencian bien el blanco del negro. Luego, al ensayarse el robot sobre la línea blanca/negra con diferentes curvas se cree que los resultados serán satisfactorios. Los movimientos de seguimiento que realiza en las curvas para corregir la dirección son buenos, aunque perceptibles, manteniendo la homogeneidad en el recorrido. Esperado que cumpla con el objetivo. Se puede presentan inconvenientes con curvas menores a 10 cm de radio curvatura. En curvas cerradas, el efecto de su inercia es mayor que la velocidad de corrección en el seguimiento, quedando los sensores en la zona negra/blanca. El posible resultado de esta inconsistencia es un avance muy lento y con un avance entrecortado, con un leve giro a la derecha. Para evitar este comportamiento, se ha considerado modificar el programa de control a los efectos registrar en la memoria lo cual enviara la información al sensor en abandonar la línea para lograr un desplazamiento que le permita recuperar su trayectoria. Esta modificación permitirá que el robot se desplace tanto en curvas más cerradas, curvas poligonales, o en diferentes configuraciones de líneas.
5
1 INTRODUCCIÓN: Dentro de los inventos del siglo XX, los robots pueden considerarse a la cabeza en cuanto a popularidad, por lo que la Robótica es una nueva disciplina, con sus propios problemas, sus fundamentos y sus leyes. Tiene dos vertientes: la teórica y la práctica. En el aspecto teórico se aúnan las aportaciones de la automatización, la informática y la inteligencia artificial. Por el lado práctico o tecnológico encontramos aspectos de construcción (mecánica, electrónica), y de gestión (control, programación). La robótica, pues, presenta un marcado de carácter multidisciplinario. El fuerte desarrollo experimentado por la robótica se debe más a las crecientes necesidades de automatizar la industria, y a la inquietud que a lo largo de los tiempos ha existido en el hombre por crear reproducciones de sí mismo y de otros seres vivos. Actualmente el robot es una máquina más que podemos encontrar en cualquier empresa en las líneas de producción de fabricación en serie. El objetivo del presente trabajo es mostrar el desarrollo de un robot seguidor de líneas blancas, tanto a nivel mecánico como electrónico, con el fin de participar en el 2 do Concurso de Robótica del Instituto Tecnológico Superior de Coatzacoalcos, con el fin de tener una documentación técnica confiable en caso de requerir cambios tanto mecánicos como electrónicos según su desempeño durante el concurso.
1.1 ¿Qué es un Robot? Un robot es una entidad virtual o mecánica artificial. En la práctica, esto es por lo general un sistema electromecánico que, por su apariencia o sus movimientos, ofrece la sensación de tener un propósito propio
1.2 ¿Qué es un Seguidor de Líneas? Estos robots tienen la capacidad de seguir una línea marcada en el suelo (normalmente una línea negra sobre un fondo blanco). Son considerados los "Hola mundo" de la robótica.
6
Ilustración 1: Seguidor de Líneas Comercial 3pi
1.3 ¿Cómo Funcionan? Tal como los seres humanos, funcionan gracias a estímulos del medio ambiente, en este caso obtenidos gracias a sensores ópticos Reflectivos y de acuerdo a lo que les dice su “computador”, son capaces de tomar decisiones. En los modelos más avanzados, incluso cuentan con sistemas de lazo cerrado, es decir toman decisiones en base a más estímulos, por ejemplo verifican su velocidad gracias a enconders en los motores o incluso con el uso de acelerómetros y giroscopios electrónicos. En los seguidores de líneas (en nuestro caso líneas blancas), básicamente funcionan gracias a 2 motores colocados a cada lado de un chasís, 2 sensores ópticos reflectivos ubicados boca abajo en la parte central inferior del chasís y su sistema electrónico de control, el cuál apagará o encenderá cada motor conforme se requiera, con el objetivo de mantener a los 2 sensores dentro de la línea a seguir.
1.4 Partes Básicas del Seguidor de Líneas Los seguidores de Líneas, cuentan por lo general con las siguientes partes básicas identificables:
Motores de CD: Usados por lo general para mover al robot en el espacio a desempeñarse, de estos dependerá la velocidad límite del robot. Chasís: En muchas configuraciones, el chasís del robot puede diseñarse con diferentes materiales, aunque en la mayoría de las ocasiones, se busca que sea lo más ligero posible. Aquí irá básicamente todos los demás componentes del robot. Sensores: Esta será la forma en la que el robot obtendrá la información de su ambiente, para ser posteriormente procesada por su unidad de procesamiento central y obtener una respuesta a su lectura. Por lo general en un seguidor de líneas se usan los siguientes sensores:
7
o
Sensores ópticos Reflectivos Infrarrojos: Son sensores que emiten un haz infrarrojo y si se refleja en la superficie, es captado por su fototransistor. Son los más comunes y baratos. o Sensores ópticos en base a CCD´s: Son cámaras de video especialmente diseñadas para su uso en robots y existen tanto en versiones monocromáticas como a colores. Son de los sensores más caros y requieren una CPU de muy alta velocidad para obtener la imagen, procesarla y obtener una respuesta en tiempo real. o Sensores a base de Leds y Fototransistores: Son muy parecidos a los sensores ópticos Reflectivos infrarrojos, aunque su uso puede no ser muy precisos, ya que cualquier fuente de luz que incida sobre los fototransistores o fotorresistencias (más usadas en este caso) dará una lectura errónea. Placa de Control Electrónico: Es la parte en la cual se procesarán los datos obtenidos de los sensores y se ejecutará la respuesta correspondiente. Se diferencian los diferentes métodos: o Electrónica Digital con Microcontroladores: Se usa un Micro controlador (Un C.I. con CPU, RAM, ROM y Puertos de Uso específico programado comúnmente en Ensamblador o Código C) para programarle un algoritmo que cumpla con la función de seguir la línea. Es la forma más fácil de crear la lógica del robot, además de aumentar su complejidad con el fin de obtener el menor error posible en el seguimiento de la línea. o Electrónica Digital con Compuertas Lógicas: Se diseña el algoritmo de seguimiento de la línea en función de Lógica Digital (AND, OR, NOT…etc.) con los sensores (comúnmente en configuración digital, es decir si el sensor lee es igual a un 1 en su salida, si no, es 0, por decir un ejemplo) y para reducir el uso de compuertas, se procede a reducirlas por la técnica llamada Mapa de Karnaugh. Dependiendo del diseño del algoritmo, pueden ser muy eficientes, sin embargo, es muy complicado realizar modificaciones futuras. o Electrónica Analógica: Creada por lo general con ayuda de amplificadores Operaciones en Diversas configuraciones, para ejecutar las diversas acciones de respuestas según la lectura de los sensores. o Electrónica Transistorizada: Su principal forma de controlar el robot es con sensores en configuración digital y conectados casi directamente a un puente H (controladores de sentido de motores) con transistores. Unidad de Poder: Es la fuente de poder del robot y los motores, por lo general son baterías recargables, aunque los principales factores a revisar son tener una gran cantidad de mAH (Mili Amperes Por Hora) según los motores a utilizar y tener el menor peso posible.
8
1.5 Configuraciones Mecánicas Más Comunes Nombre
Ventajas No usa rueda loca Eficiente en ángulos rectos Ideales para seguidores transistorizados.
Desventajas Debe tener todos los pesos muy bien repartidos para evitar desequilibrarlo.
Solo se usan 2 motores Se usa una “rueda loca” para poder girar sin problemas De fácil construcción Pueden girar en Ángulos Rectos de forma rápida.
Si la parte mecánica no está bien diseñada, es más fácil que hayan desvíos, haciendo que entre en un tipo de zig-zag.
Aptos para curvas abiertas Pueden alcanzar altas velocidades Su control se base en regulación de velocidad diferencial
Pierden mucha velocidad o incluso pierden la pista en ángulos rectos.
Eje de los Sensores Móvil
Se dificulta el control pues pueden haber
Triciclo
Velocista Rígido
9
Soporta mejor los ángulos a 90 grados
hasta 3 motores funcionando al mismo tiempo.
Velocista con Eje Móvil Tabla 1: Configuraciones Mecánicas más comunes
2 DISEÑO MECÁNICO 2.1 Sistema De Dirección El sistema de dirección se construye con un engranaje y un tornillo sin fin acoplado al motor que controla el Puente H, y en el eje del engranaje se fija la rueda de dirección y los sensores. En las curvas necesitamos que: 1. Vaya el robot a la velocidad que vaya en tramo recto, al tocar la zona negra con un sensor rectifique la trayectoria. 2. La rectificación de la trayectoria se hace disminuyendo la velocidad del motor donde está colocado el sensor (motor freno) respecto del otro motor que provoca el giro (motor giro).
2.1.1 Sistema De Dirección Caben muchas posibilidades:
El motor frenado disminuye su velocidad. El motor que gira continúa a la velocidad que llevaba en recta.
El motor de frenado disminuye su velocidad. Aunque menos, también frena el que gira.
El motor de frenado disminuye su velocidad incluso hasta hacerse negativa. Aunque menos, también frena el que gira.
10
El motor de frenado disminuye su velocidad. El que gira la aumenta.
El motor de frenado disminuye su velocidad e incluso gira hacia atrás. El que gira la aumenta.
En todo caso, siempre se debe cumplir que la relación entre la potencia de frenado y la potencia del motor que gira es menor que 1. Potf / Potg < 1 Y de todas formas, si la frenada es corta y sigue el sensor detectando línea negra, deberemos hacer que dicha relación sea aún menor, y si tras calcular una relación menor sigue aun estando en línea negra, aún otra menor... y así recursivamente hasta que gire lo que necesite y se salga de la línea.
Ejemplo de situación. Vamos a suponer que nuestro robot se encuentra con una curva a derechas, donde está el sensor 2. Si en la recta desde donde proviene iban los motores a 90 de potencia, la primera vez que detecte y calcule una reducción de potencia suponemos que el motor que frena lo hace a 80 y el otro sigue igual.
11
Y si de nuevo al girar no se ha salido de la zona negra, deberé hacer que el motor que frena frene aún más respecto del que gira. Por ejemplo, disminuyendo en 50, 40, etc. Voy a suponer que ya en diez pasos se ha salido de la curva. Si represento en cada paso la potencia de cada uno:
El paso 0 significa que ambos van rectos... El problema es: ¿cómo calculo una reducción de potencia de ese tipo automáticamente en el programa cuando voy contando los pasos.
2.1.1.1 Matemáticas en la frenada Observando el gráfico anterior observamos que la potencia de frenado parece ir disminuyendo siguiendo una recta, en la que la “X” son los pasos y la “Y” son las potencias. Parte de un valor inicial de 90 y termina en un valor final de -10. Calculo la pendiente, la ordenada en el origen
y
la
ecuación
de
la
recta.
12
2.1.1.2 Matemáticas en la frenada. Recta genérica. Convendría calcular la ecuación de la recta según ciertos parámetros genéricos; así parto de una potencia “a” hasta una potencia “b” (a>b). Calculo pendiente, ordenada en el origen y ecuación de la recta.
Así se consigue una recta genérica.
13
2.2 CONTROL DE VOLTAJE Si se trabaja con una batería de 12V ó superior a 5V es necesario utilizar reguladores de voltaje. Los sensores y circuitos integrados que controlan el carro consumen 5V y como se tiene una batería superior a 5V se utiliza un regulador de voltaje puede ser un 7805 con su respectivo disipador. Por el pin 1 entra el voltaje de la batería, el pin 2 va a 0V de la batería y por le pin3 obtenemos 5V.
2.3
ACONDICIONAMIENTO DE SEÑAL
La finalidad de este proyecto es la de un carro seguidor de línea negra en fondo blanco si evaluamos la tabla que nos entrega los sensores, estos censan cuando están en color blanco, la mayoría de la pista es de color blanco, sería mejor acondicionar la señal para que los sensores censen en color negro para esto debemos invertir la señal de los sensores con una compuerta veamos:
14
Utilizamos el integrado 40106 que además de ser inversora es un disparador Smith Trigger que mediante la entrada de un voltaje entre el rango de 0V a 5V este nos convierte esta señal en una señal digital pura.
2.4
CONTROL DE MOTORES
Veamos lo siguiente teniendo en cuenta: - 0 No censa línea negra - 1 Censa línea negra - SR Sentido manecillas del reloj - IR Inverso sentido manecillas del reloj Sensor de línea negra Centro Centro
Motor
Dirección
Izquierdo Derecho Izquierda
Derecha
CI 0 0 1 1
CD 0 1 0 1
Carro MI
MD
IR SR IR SR
IR IR SR SR
Reversa Curva derecha Curva izquierda Adelante
Para esto vamos a utilizar el driver para motores L293B que maneja señales de control para nuestro caso son los sensores y a partir de esta se puede controlar hasta 2 motores y su sentido de giro a través de un puente H. Este integrado en su pin1 y pin9 maneja el Enable (habilitador), si es un 1 lógico habilita el canal para que el motor gire pero si es un 0 lógico inhabilita el canal evitando que el motor gire.
15
Recordaran que hicimos un circuito para que el carro pare en el cuadro negro, la señal de salida de ese circuito se lo mandamos tanto al pin1 como al pin9 y con esto logramos que el carro seguidor de línea pare en el cuadro negro de 120mm x 120mm.
2.5 MODELO DINÁMICO: ESTABILIDAD DIRECCIONAL
Para localizar un cuerpo rígido en el espacio es necesario contar con una herramienta que permita la localización espacial de sus puntos. La forma más intuitiva y utilizada para especificar la posición de un punto son las coordenadas cartesianas. En un plano, el posicionamiento tiene dos grados de libertad, y por tanto la posición de un punto está definida por dos componentes independientes. Para la descripción del movimiento de una plataforma móvil en un plano bidimensional se requieren varios aspectos: Plantear un sistema de referencia fijo y un sistema de referencia móvil para la plataforma. Formular una expresión con la cual se pueda determinar la posición del sistema de referencia
16
móvil, en función de un giro y una traslación. Especificar las posiciones de los elementos que constituyen la plataforma, referenciados al sistema móvil.
2.5.1 Posición de la plataforma. El sistema de referencia fijo se escoge como el sistema de coordenadas cartesianas; por otro lado conviene especificar el sistema de referencia móvil como la posición de un punto representativo en la plataforma, referente a las coordenadas cartesianas y la posición angular de la plataforma respecto al sistema, como se indica en la figura anterior. Para cualquier tipo de movimiento, existen 4 tipos de fuerzas que se oponen a éste: la fuerza de rozamiento, las fuerzas de inercia, la fuerza aerodinámica y la resistencia a la pendiente. En nuestro caso, al tratarse de robots que se mueven mediante ruedas en pista plana, la resistencia a la pendiente no existe y la fuerza de rozamiento es una resistencia a la rodadura. Para el modelado del robot velocista, la dinámica que más influye es la lateral. En un primer concepto vemos que en la plataforma de posición el punto c es fijo en la plataforma y tiene coordenadas (xc,yc) y el ángulo γ, se toma con referencia al eje vertical y se define positivo el sentido horario. Una nueva posición del centro c puede ser determinada por un cambio en el ángulo γ y un desplazamiento endicha dirección, como: θ= Desplazamiento angular de la plataforma, o giro. l = Longitud recorrida por la plataforma.
17
Y la nueva inclinación γ se da por:
De esta forma se puede describir la cinemática de la plataforma, dado que el desplazamiento puede darse directamente, o en términos de velocidades; con el fin de hallar el giro θ y el desplazamiento l y evaluar (1). Con las ecuaciones (1) y (2) se puede calcular además la posición de cualquier elemento en la plataforma, siguiendo el método de girar y luego avanzar.
2.5.2 Movimiento de la plataforma En un segundo concepto que hay que introducir para este análisis es el de deriva en la curva. Esta deriva es un ángulo que mide la diferencia entre la velocidad de la rueda longitudinal y la verdadera trayectoria de ésta.
18
Aplicando este concepto a un robot diferencial con tracción trasera, como es el caso del Robot Zero, se tiene lo siguiente:
Donde el eje trasero se ha obtenido a partir del efecto que provocan las dos ruedas motrices en la línea central del robot:
Una primera conclusión que se puede obtener es que el ángulo de giro no sólo depende del radio de la curva, sino también de los ángulos de deriva, que son función de las fuerzas laterales que actúan en cada rueda:
19
Por esta razón, para que el robot siga la curva marcada por la línea con más facilidad, no sólo hay que dar distinta velocidad a las ruedas para que éste gire según la línea, sino tener en cuenta también la deriva real de las ruedas. Para el planteamiento de las ecuaciones dinámicas, se escogerá un sistema de referencia en movimiento con el robot:
El equilibrio de fuerzas queda:
Las fuerzas longitudinales (eje x) son la fuerza motriz menos la aerodinámica y el rozamiento y las laterales (eje y) se pueden aproximar por:
A Ca se le denomina rigidez a la deriva de los neumáticos, que se puede entender como la resistencia de éstos a desplazarse lateralmente en un movimiento longitudinal.
20
Para este estudio se ha despreciado efectos como el balanceo (transferencia de carga vertical en las curvas de la rueda interior a la exterior), el cabeceo, etc que se tendrán en cuenta en futuras entradas. La estabilidad direccional del sistema, como en todo sistema dinámico, viene condicionada por los autovalores y autovectores que son el resultado de resolver la parte homogénea de este sistema de ecuaciones diferenciales. Para que un sistema sea estable, es decir, tienda a la solución estacionaria, su autovalor ha de tener parte real negativa. En este sistema, esta condición se da cuando:
Por esto, dependiendo de las distribuciones del peso del vehículo y de las rigideces de los neumáticos, se tienen tres tipos de comportamiento direccional: I. Virador neutro (Ks=0): En este caso, el ángulo que se requiere para tomar la curva es el propio de la curva (L/R), por lo que en la curva puede aumentarse la velocidad sin tener que modificar el ángulo de giro. En este caso, siempre será estable la solución de la estabilidad direccional. II. Subvirador (Ks>0): En esta situación, el ángulo necesario para tomar la curva aumenta con el cuadrado de la velocidad longitudinal: cuando se aumenta la velocidad en la curva es necesario girar más de lo que indica la línea de giro o el robot girará menos de lo debido. En este caso, también es estable la solución de la estabilidad direccional. III. Sobrevirador (Ks<0): En este caso, el ángulo necesario para tomar la curva disminuye con el cuadrado de la velocidad longitudinal. Es el caso contrario al subvirador. El tipo sobrevirador, aunque es por esta razón más rápido y nervioso, no siempre presenta una solución estable a la ecuación de estabilidad: existe para ellos una velocidad crítica para la cual el robot se mantiene en curva yendo las ruedas a la misma velocidad longitudinal, esto es, pierde la estabilidad direccional. La expresión de esta velocidad crítica es la siguiente:
21
En los siguientes gráficos se pueden ver simulaciones que indican cómo en el caso de los sobreviradores tener una velocidad mayor en la curva se traduce en el giro más rápido de los tres casos, pero limitado a alcanzar la inestabilidad:
Observando las componentes de Ks, se puede ver cómo un coche con el peso concentrado en el eje delantero tiende a ser subvirador mientras que si lo tiene en el trasero, será sobrevirador. Tener ruedas motrices traseras también es un factor para ser sobrevirador.
22
2.6
Equilibrio estático
El equilibrio mecánico es un estado estacionario en el que se cumple alguna de estas dos condiciones:
Un sistema está en equilibrio mecánico cuando la suma de fuerzas y momentos sobre cada partícula del sistema es cero. Un sistema está en equilibrio mecánico si su posición en el espacio de configuración es un punto en el que el gradiente de energía potencial es cero.
La segunda definición es más general y útil, especialmente en mecánica de medios continuos. Como consecuencia de las leyes de la mecánica, una partícula en equilibrio no sufre aceleración lineal ni de rotación, pero puede estar moviéndose a velocidad uniforme o rotar a velocidad angular uniforme. Esto es ampliable a un sólido rígido. Las ecuaciones necesarias de equilibrio mecánico son:
Una partícula o un sólido rígido está en equilibrio de traslación cuando: la suma de todas las fuerzas que actúan sobre el cuerpo es cero.
En el espacio se tienen tres ecuaciones de fuerzas, una por dimensión; descomponiendo cada fuerza en sus coordenadas resulta:
La posición de las marcas con respecto a los ejes x e y indica la localización angular del desequilibrio, pero no la magnitud. No es probable que las marcas queden unas a 180º de otras. El desequilibrio se puede corregir eliminando material en los puntos donde hemos hecho las marcas o si se prefiere añadiendo material a 180º de ellas. Como no se conoce la magnitud del desequilibrio las correcciones deberán hacerse tanteando. Si queremos precisar la corrección que hay que introducir, podemos añadir una masa de prueba m:
23
Al añadir esta masa de prueba m (conocida), el disco girará un ángulo φ y luego se detendrá otra vez. Ése ángulo será fácil de determinar. Las dos masas (la de prueba y la del centro de masas del disco) provocarán una fuerza cada una (el peso de cada una de ellas) que a la vez harán que haya dos momentos. Para calcular el desequilibrio plantearemos el equilibrio de momentos como se puede ver en la figura.
2.7 Equilibrio de momentos
Ecuación 1
Ecuación 2
Es el desequilibrio Para equilibrar el sistema habrá que colocar una masa en el punto A', es decir, a 180º de la marca hecha.
24
3
DISEÑO ELECTRÓNICO 3.3Sensores 3.3.1 Selección de los Sensores
Al realizar los diseños mecánicos del primer prototipo, se llegó a la conclusión que la distancia óptima es de alrededor de unos 3.00mm ± 0.05mm medida desde la superficie del sensor hasta el suelo o superficie reflectante. Además para cumplir con las especificaciones técnicas del PCB, además para reducir el tamaño de las placas electrónicas, se decidió usar componentes SMD, por lo que el modelo de sensor elegido después de una revisión exhaustiva comparando sus características técnicas y su desempeño en un modelo real (gracias a la verificación técnica del robot comercial 3pi, ya que sus diagramas están disponibles de manera libre por los autores) fue el sensor QRE1113GR del fabricante Fairchild Semiconductor. Así mismo, basándonos en los estudios de la empresa Pololu (debido a falta de equipo apropiado de medición), podemos observar el funcionamiento real de los sensores:
Ilustración 2: Pulso en línea blanca a 3.175 mm de distancia
Ilustración 3: Pulso sobre línea blanca a 9.525mm de distancia
25
Ilustración 4: Laboratorio y Metodología de Pruebas Las conclusiones de las pruebas realizadas en laboratorio por Pololu indican que conforme se aleja el sensor de la zona reflectiva, la reflexión obtenida por el sensor disminuye por lo que el rango del sensor disminuye. Por ejemplo, la diferencia de voltajes entre sensado y no sensado a una distancia de 3.1mm es de 4.25V, mientras que a 9.25mm es de tan sólo 1.2V, haciendo más difícil lograr una lectura precisa e introduciendo posibles errores debido a la luz externa del ambiente. Así mismo, como se observa en los gráficos, las vibraciones logran meter cierta cantidad de ruido a la señal final, por lo que recomiendan si se llegase a usar en un ambiente ruidoso en cuanto a vibraciones, usar un filtro pasa-bajos entre la salida del sensor y la interfaz al microcontrolador o bien, realizar múltiples lecturas y obtener un promedio.
3.3.2 Número de Sensores y Alineación Para nuestro robot, nos hemos basado en el Principio de Control PID (Por las siglas en Inglés de Proportional-Integral-Derivative) ya que es el que mejor se ha adaptado a nuestras necesidades para lograr conseguir un robot que alcance velocidades superiores a 1 , ya que como se ha observado, los otros métodos no logran buenos resultados a altas velocidades. Como sabemos del método PID, necesitamos obtener una muy buena fuente de información del ambiente a nuestro robot, por lo que la configuración de 2 sensores se queda muy corta, así que lo mejor es instalar 8 sensores en línea a una separación de 9.525mm (verificado con el desempeño de otros prototipos). Entonces definimos nuestro método de corrección de error dependiendo de la información de los sensores, tratando de siempre mantener alineado al robot en los sensores centrales.
26
Sensores Principales
Sensores
9.525mm
x8
Sensores de %Error Ilustración 5: Configuración de los Sensores
Sistema de Control 3.3.3 Metodología de Control
El sistema de control representado en la figura de arriba, se trata de un control de lazo cerrado que maneja la dirección del robot usando un control proporcional variable. Variable Controlada: Valor de Referencia: Elemento de Comparación: Señal de error: Elemento de Control: Elemento de Corrección: Dispositivo de Medición: Realimentación:
Dirección y Velocidad del Robot Es el valor en cuál el sistema se encontraría estable Lectura anterior de los sensores Diferencia entre lectura de sensores y realimentación deseada Sistema Micro controlado Motores Sensores Infrarrojos Reflectivos Negativa Tabla 2: Metodología de Control
27
3.3.4 Control Proporcional – Integral – Derivativo Un controlador PID es una rutina matemática que procesa la información de los sensores, la cual usa para controlar la dirección y velocidad del robot para mantenerlo en la pista (en este caso la línea blanca). A Continuación se definen los conceptos del control PID:
Proporcional: Mide que tan lejos está el robot de la línea. Así mismo, es la base para capturar la posición del robot usando los sensores. Entre más cerca se encuentren los sensores, la información obtenida definirá mejor la posición exacta del robot sobre la línea. Integral: Mide el error acumulado sobre el tiempo. El valor integral incrementa mientras el robot no se centre en la línea, así que entre más tarde en centrarse, el valor integral se incrementará. Derivativo: Mide la velocidad de cambio del robot cuando gira de izquierda a derecha o viceversa. Entre más repita este tipo de movimiento, el valor derivativo incrementará. Factor P (Kp): Es un valor constante utilizado para incrementar o reducir el impacto de la proporcional. Factor I (Ki): Es un valor constante utilizado para incrementar o reducir el impacto de la integral. Factor D (Kd): Es un valor constante utilizado para incrementar o reducir el impacto de la derivada. Mal Ajustado
Bien Ajustado
28
3.3.4.1 Fórmulas Principales para el Control PID. Proporcional
Integral
Derivada
o o
La integral es el valor acumulado de las diferencias. En ocasiones la derivada es dividida entre un intervalo de tiempo o número de mediciones.
3.3.5 Elección del Microcontrolador Para poder cubrir las necesidades de procesamiento que se requieren se ha elegido usar un microcontrolador del fabricante MICROCHIP, modelo PIC16F887-I/P, del cual destacan las siguientes Características aptas para el seguidor de líneas:
Encapsulado TQFP-44 (Tecnología SMD) 24 Entradas y 35 Salidas (24 Máx.) CPU A 8 MHZ sin necesidad de Cristal. CPU a 20 MHZ Con Cristal. Hasta 14 Canales Simultáneos de ADC (Unidades Analógicas – Digitales, ideales para las lecturas de los sensores en Modo Analógico) 2 Unidades de PWM de 10 bits(PWM Por Hardware de hasta 20 Khz, ideales para el control de velocidad en motores) 14 KB de Memoria ROM y 368 Bytes de Memoria SRAM.
29
3.3.1
El uso de PWM en el seguidor de linea
La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de pulse-width modulation) de una señal o fuente de energía es una técnica en la que se modifica el ciclo de trabajo de una señal periódica puede ser una senoidal o una cuadrada, ya sea para transmitir información a través de un canal de comunicaciones o para controlar la cantidad de energía que se envía a una carga. En la actualidad existen muchos circuitos integrados en los que se implementa la modulación PWM, además de otros muy particulares para lograr circuitos funcionales que puedan controlar fuentes conmutadas, controles de motores, controles de elementos termoeléctricos, choppers para sensores en ambientes ruidosos y algunas otras aplicaciones. En el caso del seguidor de líneas nos será útil para poder moderar el paso de energía o de corriente a los motores para poder disminuir el cambio de velocidad en una curva dada y así de esta forma poder evitar que se salga del camino. La modulación por ancho de pulsos es una técnica utilizada para regular la velocidad de giro de los motores eléctricos de inducción o asíncronos. Mantiene el par motor constante y no supone un desaprovechamiento de la energía eléctrica. Se utiliza tanto en corriente continua como en alterna, como su nombre lo indica, al controlar: un momento alto (encendido o alimentado) y un momento bajo (apagado o desconectado), controlado normalmente por relevadores (baja frecuencia) o MOSFET o tiristores (alta frecuencia). Otros sistemas para regular la velocidad modifican la tensión eléctrica, con lo que disminuye el par motor; o interponen una resistencia eléctrica, con lo que se pierde energía en forma de calor en esta resistencia. Otra forma de regular el giro del motor es variando el tiempo entre pulsos de duración constante, lo que se llama modulación por frecuencia de pulsos. En los motores de corriente alterna también se puede utilizar la variación de frecuencia. La modulación por ancho de pulsos también se usa para controlar servomotores, los cuales modifican su posición de acuerdo al ancho del pulso enviado cada un cierto período que depende de cada servo motor. Esta información puede ser enviada utilizando un microprocesador como el Z80, o un microcontrolador por ejemplo, un PIC 16F877A de la empresa Microchip.
30
Lo que podemos encontrar en el módulo PWM del PIC 16F877 tiene una resolución máxima de 10 bit y su salida se toma del pin RC2, por lo cual debe estar configurado como salida en el registro Tris C.
3.3.2 Periodo PWM El Periodo del Módulo PWM es configurado dando un valor al registro PR2. Este periodo puede ser calculado usando la siguiente formula: PWM Period = *(PR2) + 1+ • 4 • TOSC • Prescale del Timer 2 Como ya es sabido la frecuencia está determinada por 1/Periodo PWM Cuando el valor del Timer 2 alcanza el valor de PR2, los siguientes eventos ocurren en el siguiente ciclo de tiempo: -TMR2 es limpiado - El pin CCP1 es puesto a 1 - El Periodo de trabajo del PWM es cambiado de CCPR1H a CCPR1L
3.3.3
Ciclo de trabajo del PWM
El ciclo de trabajo del PWM es determinado escribiendo al registro CCPR1L y CCP1CON<5:4> (10 bits de resolucion). El ciclo de trabajo se obtiene usando la siguiente formula: Tiempo de Trabajo PWM = (CCPR1L:CCP1CON<5:4>) •TOSC • (TMR2 Prescale Value) Para modificar el ciclo de trabajo, en cualquier momento se puede escribir a CCPR1L y CCP1CON<5:4>, pero estos valores no serán tomados en consideración hasta que el Timer alcance al PR2 y reinicie su operación tomando en cuenta los nuevos valores. Tiempo de trabajo = % Ciclo de trabajo / Fpwm
31
Para calcular la máxima resolución del PWM a determinada frecuencia usamos la siguiente formula:
3.3.4
CONFIGURACIÓN DEL PWM:
Pasos para la configuración del Módulo PWM del PIC 16F877A 1. Configurar el Periodo dando un valor al registro PR2 2. Configurar el Ciclo de Trabajo escribiendo en: CCPR1L:CCP1CON<5:4> 3. Limpiar el Tris C, 2 para asignar la salida del modulo (CCP1) 4. Asignar el valor del Prescale del Timer 2 (T2CON) 5. Configurar el módulo CCP1 para operacion PWM.
El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en relación con el período. Expresado matemáticamente:
D es el ciclo de trabajo τ es el tiempo en que la función es positiva (ancho del pulso) T es el período de la función La construcción típica de un circuito PWM se lleva a cabo mediante un comparador con dos entradas y una salida. Una de las entradas se conecta a un oscilador de onda dientes de sierra, mientras que la otra queda disponible para la señal moduladora. En la salida la frecuencia es generalmente igual a la de la señal dientes de sierra, y el ciclo de trabajo está en función de la portadora.
32
En el circuito permite alterar la velocidad desde detenido hasta el máximo posible del motor por medio de un potenciómetro. Gracias a que funciona por modulación de ancho de pulso la fuerza del motor se ve poco afectada incluso a velocidades mínimas.
33
Bibliografía Electronica 2000. (s.f.). Electrónica 2000. Recuperado el 19 de 10 de 2011, de http://www.electronica2000.com/robotica/siguelinea_velocista.htm Kamal, I. (2008, Abril 15). IKA Logic. Retrieved Octubre 19, 2011, from Line tracking sensors and algorithms: http://ikalogic.com/tut_line_sens_algo.php Luna Rodríguez, I. O., & Islas Sánchez, M. F. (2008). Simulador CRS-A465 de 6 GDL usando LabviewOpenGL. Misión Mecatrónica. Maiki. (21 de Febrero de 2011). Club de Informática, robótica y Electrónica. Recuperado el 19 de Octubre de 2011, de Modelo dinámico: Estabilidad direccional: http://webdelcire.com/wordpress/archives/696 W., E. (27 de Octubre de 2007). Chibots.org. Recuperado el 19 de Octubre de 2011, de PID For Line Following: http://www.chibots.org/ Wikipedia.org. (s.f.). Wikipedia: La Enciclopedia Libre. Recuperado el 19 de Octubre de 2011, de Robot: http://es.wikipedia.org/wiki/Robot Wikitecno. (s.f.). Wikitecno. Recuperado el 19 de Octubre de 2011, de Seguidor de Líneas Ultrafast: http://wikitecno.wikispaces.com/Seguidor+de+l%C3%ADneas+ultrafast
Tabla de Imágenes Ilustración 1: Seguidor de Líneas Comercial 3pi ................................................................................. 7 Ilustración 2: Pulso en línea blanca a 3.175 mm de distancia........................................................... 25 Ilustración 3: Pulso sobre línea blanca a 9.525mm de distancia ...................................................... 25 Ilustración 4: Laboratorio y Metodología de Pruebas....................................................................... 26 Ilustración 5: Configuración de los Sensores .................................................................................... 27
34