Seguidor de línea (profesional) 1. Meta Meta del del Pro Proy yecto ecto En este pequeño artículo intentaremos lograr que construyas un robot seguidor de línea negra velocista, realmente muy sencillo con pocos conocimientos, pero muy rápido y eficaz.
2. Mate Materi rial ales es a Usa Usar r Para empezar crearemos una lista de todos los materiales que necesitas, aparte de esto te hará falta herramientas básicas como destornilladores, alicates, cautín, estaño, y muchas ganas de empezar. empezar. Fíate que todos los elementos del robot !elampago los puedes conseguir en tdrobotica, solo haz clic en el nombre del producto para que puedas ver su precio y proceder a realizar la compra para tu pr"#imo robot seguidor de línea.
2 Motores Pololu 10:1 : $racias a las características de reducci"n y el diseño del robot este motor acopla perfectamente con las necesidades requeridas. IMPO!"#!$: Si se quiere un robot más grande o pesado recomendamos usar %0:1. motores Pololu %0:1. Soporte para &icro &otores: &otores: Este soporte te permite fiar el motor a la base del robot con mucha seguridad, especializado para micromotores pololu.
egleta Sensores '! ": ": Estos sensores ya ensamblados te permiten ahorrar mucho t iempo y dinero, son % sensores ya arreglados para una detecci"n de línea "ptima. Entre mayor n&mero de sensores tienes mayor es la velocidad a la cual el robot puede ir ya que siempre puede encontrar la línea que debe de seguir. 'emos visto robot seguidor de línea con hasta () sensores***
egulador "usta*le 2.+,-: 2.+,-: Es absolutamente indispensable para no dañar los sensores, ya que funcionan con +v. El regulador lo puedes austar desde una entrada de (.+ hasta - para que te entre entrege ge el volta voltae e de salida salida a + y puedas puedas alime alimenta ntarr tus circuito circuitos s o puede puedes s utiliz utilizar ar un regulador de + / (&0+).
Placa a*y Orangut3n: Orangut3n: Esta pequeña placa agrupa un puente ' para controlar los motores y un microcontrolador conectados previamente ahorrándote prácticamente toda la parte electr"nica y será nuestro controlador. efinitivamente es la meor opci"n que puedes tener para tu robot basados en las características de tamaño, precio, potencia y fácilidad de programaci"n.
uedas para pa ra seguidor segui dor de línea : /on indispensables este tipo de ruedas ya que aunque el robot es un seguidor de línea, al alcanzar velocidades de más de ( mts segundo necesita un agarre optimo en cada curva. Placa4 P5 o*ot: Esta placa será la estructura del robot, donde se soldaran y acoplaran todos los componentes. 0ambi1n puedes encontrar los diseños en el archivo adunto al final.
atería .6/ %00&"7: %00&"7 : 2as baterías de 2iPo son la meor opci"n en rob"tica el día de hoy, está en particular es e#celente opci"n para el robot ya que su tamaño y peso en relaci"n a su eficiencia es muy buena. 0en en cuenta que estás baterías no se puede cargar con cualq cualquie uierr carga cargador dor,, sino sino que se necesi necesita ta un carga cargador dor especi especial al que tambi1 tambi1n n encue encuentr ntras as en tdrobotica3 cargador de *aterías de iPo. iPo. !ro&pa !ro&pa o*ot: Este componente es de acrílico, al final del tutorial encontraras un archivo zip en donde se encuentran los planos para que lo puedas fabricar. Progra Pro gra&ad &ador or " Pol Pololu olu:: Para Para prog progra rama marr el 4aby 4aby 5ran 5rangu guta tan n es nece necesa sari rio o usar usar este este prog progra rama mado dorr de 6!, pued puedes es prog progra rama marl rlo o ya sea sea desd desde e el 6! /tud /tudio io o la inte interf rfaz az de programaci"n de 6rduino como será nuestro caso. 2 5a*les 5a* les de d e + Pines: Pi nes: 2o usaras para conectar los sensores a la placa del robot. egleta 60 Pines: Esto lo usaras en conunto con los cables de + pines, igualmente para conectar la batería a la placa. egleta 7e&*ra: Esta Esta se usara usara para para conect conectar ar la baby baby orang orangutá után n a la placa placa princi principal pal.. Este Este elemen elemento to al igual igual que que los los sigui siguient entes es los los conseg conseguir uiras as con tu provee proveedor dor favori favorito to de partes partes electr"nicas. 5a*le 8elgado 1&ts: /era necesario para conectar el motor a la placa. 2 eds %&&: 0e indicara el estado del robot, y será una buena decoraci"n. 1 Interruptor: Permite el paso de energía para programar, o usar el robot. 1 Pulsador: 0e permitirá activar el robot para que empiece a funcionar. esistencias Superficiales 19: !esistencias para los leds y el pulsador, su funci"n es no dañar los leds y no crear un corto con el pulsador al microcontrolador de la placa 4aby 5rangutan. Super onder: onder: 7ás conocido conocido como pegante pegante instantán instantáneo, eo, se usara usara demasiad demasiado o para algunos austes. 8. 9onstrucci"n y iseño 8.: Placa, P94 !obot En este caso el chasis del robot es la misma placa P94, se ha realizado así para minimizar el peso peso del robot robot y hacer hacer que que la potenc potencia ia de los motores motores se aprove aproveche che de la meor meor manera manera..
6dicionalmente es uno de los principales componentes del robot, ya hemos realizado el diseño y te lo presentamos para que te guíes, por supuesto te aconseamos que lo modifiques y le des a tu robot una forma &nica. Puedes fabricar esta placa manualmente o mandarla fabricar seg&n sea tu e#periencia. Puedes encontrar en el zip del proyecto una carpeta con todos los diseños para que los modifiques y un archivo en pdf que te puede servir tambi1n para crear tu propio chasis. El diseño se realiz" en el P94 ;izard, puedes descargar una versi"n de prueba en el sitio
8.8 /oldar y 9olocar 7otores El siguiente paso es soldar a cada una de las terminales del motor un cable corto de + cm, los otros e#tremos del cable deberán ser soldados a la placa teniendo en cuenta la imagen anterior. /iguiente a esto, se debe con los soportes para motores, austar los motores uno en cada lado, siguiendo los agueros de referencia en la placa. 8.) 0rompa del !obot 9omo antes especificamos en la lista de materiales necesitas una trompa para el robot donde colocaras los sensores para que detecten la línea, hemos diseñado unos archivos para que la mandes a fabricar y que puedes encontrar en el zip al final del tutorial. 2os archivos corresponden a3 =0rompa !obot 6rchivo 9orel >9orte 2aser? =0rompa !obot PF >9orte 6rtesanal?
9uando tengas ya tu trompa debes pegar la parte n&mero uno, a la placa principal del robot. /eguidamente con ( pequeños tornillos austar a la parte numero uno la n&mero dos que ira abao, encaando los agueros perfectamente, con esto podrías cambiar el largo del robot. 8.+ /ensores y 9ables @7uy bien*, pronto terminaras tu seguidor velocista* 6hora el siguiente paso es soldar la regleta que tiene incluida los sensores, de esta manera3
IMPO!"#!$: Ao soldar nada en el B4y PassC /eguidamente colocar los sensores en la base numero ( de la trompa del robot, entran perfectamente, y para austarlos debes tener ( pequeños tornillos. 9uanto ya tengas todo esto armado el siguiente paso es usar los ( cables de + pines y conectar un e#tremo de ambos cables a la regleta de sensores, y el otro e#tremo a la regleta de :: pines que soldamos en nuestro robot. /i hiciste correctamente todos los pasos todo debería verse algo así3
8.D !uedas 0u seguidor cada vez tiene más forma, y es hora de colocarle sus respectivas ruedas, como antes hemos mencionado aunque estas ruedas sean de sumo, son e#celentes para el seguidor de línea velocista ya que tienen un agarre increíble. Para colocar las ruedas de tu robot debes insertar el ee del motor en el rin, verificando que la parte plana del ee este contra el tornillo, seguidamente pasar austarlo.
a austado debes insertar el neumático a presi"n y ya tienes una de las dos ruedas en el robot /igue los mismos pasos para la otra. ). Programaci"n Esta es la etapa final de tu seguidor, no queremos que esta sea una etapa complea y para esto te daremos todo para que tu seguidor funcione y lo puedas adaptar a tus necesidades.
).: 6rduino y 9onfiguraci"n
a que la idea del robot es que sea muy sencillo y fácil de comprender, se decidi" usar el famoso soft
;%.a (/ersi?n 1 del progra&ador ") ttps:;;<<<.pololu.co&;docs;0=>;6.1 (/ersi?n 2 del progra&ador ") espu1s de estos pasos, hay que guardar las siguientes librerías en esta direcci"n en tu P93 93IProgram Files >#%D?I6rduinoIlibraries En el caso que 6rduino est1 instalado en otra direcci"n tienes que buscarla y guardar las librerías en la carpeta libraries. Adjunto Archivo ).( Programa @@@En buena hora solo falta programar tu robot y lo tendrás en pista de inmediato***. Para programar la placa debes conectarla el programador de 6! 6l 4aby 5rangutan. 9on la batería puesta debes prender el robot y verificar que en la placa 4aby 5rangutan prenda el led verde, de otra forma alguno de los pasos anteriores incluso la P94 puede estar mal. /i todo sale bien conecta el programador a tu P9 ya configurado y este a tu 4aby 5rangutan. 6bre el entorno 6rduino y pega el siguiente 9"digo, tambi1n lo encuentras en la documentaci"n adunta. Jinclude KL0!/ensors.hM Jinclude K5rangutan7otors.hM NN====================================================================================NN NN/ensores de 2inea P Jdefine AO7/EA/5!/ D NN Aumero de sensores que usa Jdefine AO7/67P2E/PE!/EA/5! + NN 7uestras por sensor Jdefine E7H00E!PHA ( NN emitter is controlled by digital pin ( NN sensors Q through + are connected to analog inputs Q through +, respectively L0!/ensors6nalog qtra>>unsigned charRS? TQ, :, (, 8, ), +U, AO7/EA/5!/, AO7/67P2E/PE!/EA/5!, E7H00E!PHA?V unsigned int sensoraluesRAO7/EA/5!/SV 5rangutan7otors motorsV NN======================================================================================NN NNelocidad 7a#ima !obotNN==========================NN==================================NN const int ma#imum W %QV NN======================================================================================NN NN625!E/ PNN==========NN625!E/ PNN==================================================NN int Proporcional W :.)+V int erivativo W :DV NN======================================================================================NN NNelocidad de 9alibracion int velcalibrate W (QV NN======================================================================================NN void setup>? T int inPin W :QV int val W QV pin7ode>-, 5O0PO0?V pin7ode>%, 5O0PO0?V pin7ode>inPin,HAPO0?V
val W digital!ead>inPin?V val WW 'H$'? T digital;rite>-, 'H$'?V digital;rite>%, 'H$'?V val W digital!ead>inPin?V UV if >val WW 25;? T digital;rite>-, 25;?V digital;rite>%, 25;?V UV motors.set/peeds>Q,Q?VNN 7otores detenidos
NN=============Hnstrucciones para Empezar /ensores======================================NN
a
hacer
la
9alibracion
delay>:+QQ?V digital;rite>-, 'H$'?V digital;rite>%, 'H$'?VNN Enciende el leds para indicar que se esta calibrando. for >int counterWQV counterK(:V counterXX? T if >counter K D YY counter MW :+? 5rangutan7otors33set/peeds>=velcalibrate, velcalibrate?V else 5rangutan7otors33set/peeds>velcalibrate, =velcalibrate?V qtra.calibrate>?V delay>(Q?V U digital;rite>-, 25;?V NN 6paga el led para indicar que se termino la calibracion. digital;rite>%, 25;?V 5rangutan7otors33set/peeds>Q, Q?V delay>(QQ?V digital;rite>-, 'H$'?V digital;rite>%, 'H$'?V delay>(QQ?V digital;rite>-, 25;?V NN Parpadeo para indicar que el robot esta listo. digital;rite>%, 25;?V delay>(QQ?V NN Parpadeo para indicar que el robot esta listo. digital;rite>-, 'H$'?V digital;rite>%, 'H$'?V NN Parpadeo para indicar que el robot esta listo. delay>(QQ?V digital;rite>-, 25;?V NN Parpadeo para indicar que el robot esta listo. digital;rite>%, 25;?V delay>(QQ?V NN===========================Fin 9alibracion de /ensores====================================================NN pin7ode>inPin,HAPO0?V val W digital!ead>inPin?V val WW 'H$'? T digital;rite>-, 'H$'?V digital;rite>%, 'H$'?V
de
val W digital!ead>inPin?V UV if >val WW 25;? T digital;rite>-, 25;?V digital;rite>%, 25;?V delay>:QQQ?V NN !etardo Z segundos antes de Empezar a andar UV U unsigned int lastproportional W QV long integral W QV void loop>? T unsigned int position W qtra.read2ine>sensoralues?V NN leemos posicion de la linea en la variable position NN !eferencia donde seguira la linea, mitad sensores. int proportional W >int?position = (+QQV NN 9alculos P int derivative W proportional = lastproportionalV integral XW proportionalV lastproportional W proportionalV int popopopoma#imum, ma#imum X poma#imum = po
6ntes de programarlo deberás seleccionar la placa 4aby 5rangutan y el Programador 6! H/P v( de la siguiente forma3 /elecci"n 4aby 5rangutan3
/elecci"n Programador3
9uando ya tengas esto seleccionado, lo &nico que falta es que programes y tu robot debería funcionar torpemente. +. 6uste del 9ontrol En esta etapa si hablaremos un poco más del control para que entiendas el funcionamiento básico y porque tienes que austarlo. 0u robot tiene programado un control llamado P8 (Proporcional – Derivativo), no entrare en detalle acerca del 1l, ya que matemáticamente es un poco compleo, este control tiene ( variables
que cambian la respuesta del robot en cada situaci"n, literalmente son ( numero que pueden cambiar todo. Esto quizá es la parte más complea del robot austar esos dos n&meros mediante muchas pruebas, aunque algunos tips te pueden facilitar la obtenci"n de los valores adecuados, a continuaci"n veras cuales y donde se encuentran en el c"digo estos n&meros3 NN======================================================================================NN NN625!E/ PNN==========NN625!E/ PNN==================================================NN int Proporcional W :.)+V int erivativo W :DV 5tro valor importante es la velocidad del robot, que varía de Q a (++ y se encuentra en este lugar3 NN======================================================================================NN NNelocidad 7a#ima !obotNN==========================NN==================================NN const int ma#imum W %QV !etomando los valores del P para lograr austarlos, una vez que estás seguro que el robot funciona, debes al valor llamado Proporcional3 darle un numero bao, y el alor llamado 8eri/ati/o3 arle un valor de Q, una vez hagas esto programas el robot y pruebas que quede oscilatorio pero siguiendo la línea, sin volverse loco a la velocidad que tu deseas, te recomiendo empezar con menos de :+Q. 'ay dos posibilidades, una que el robot oscile de una manera adecuada sin descontrolarse, y otra que el robot se vuelva BlocoC, si sucede esto debes conectar al P9 nuevamente y probar otro valor hasta encontrar la oscilaci"n adecuada. /i ya has encontrado la oscilaci"n adecuada, es el momento para agregarle un n&mero al valor llamado8eri/ati/o, podrías agregarle un n&mero mayor al valor de Proporcional, prográmalo y prueba el robot Podrás notar que el robot tiene un comportamiento totalmente diferente y que ese valor cambio todo, ahora es cuesti"n de cambiar esos valores hasta encontrar que el robot funcione como en los videos que te hemos mostrado. Esto es un arduo trabao y lo que más toma tiempo, lo que yo te recomendaría es que varíes el valor 8eri/ati/omás que el Proporcional ya que este una vez encontrado es efectivo, una forma de darte cuenta es que en rectas no oscile y acelere al :QQ\ de la velocidad establecida, en este punto tuProporcional esta casi perfecto, ahora si se sale en las curvas debes cambiar el 8eri/ati/o poco a poco hasta encontrar el valor adecuado que haga conunto con tu valor Proporcional y poco a poco vallas subiendo la velocidad y cambiando los valores, la velocidad del robot afecta los valores directamente. #O!": 'ay que tener en cuenta que cada vez que el robot se apague debe calibrar sensores, esta funci"n está incluida en el c"digo, y mueve el robot para que los sensores pasen por toda la línea, cuando la batería esta descargada el robot le cuesta hacer esta operaci"n y debe ser recargada.
7i primer seguidor de linea X RHndicador de bateríaS Luiero aclarar que soy un principiante en el área de electr"nica, actualmente estoy cursando el curso de electr"nica : en la universidad. 9urso en el cual tenemos >/aludos a 5lmar, es el amigo con el que estoy trabaando este proyecto? que hacer dos robots seguidores de linea, el primero es el que a continuaci"n les voy a mostrar. El segundo robot conlleva más especificaciones, es por eso que oalá lse logre hacer y poder compartirlo tambi1n por este medio.
2os robots seguidores de línea son robots muy sencillos, que cumplen una &nica misi"n3 seguir una línea marcada en el suelo normalmente de color negro sobre un tablero blanco >normalmente una línea negra sobre un fondo blanco?. /on considerados los ]'ola mundo] de la rob"tica.
Empecemos3
Estos robots pueden variar desde los más básicos >van tras una línea &nica? hasta los robots que recorren laberintos. 0odos ellos, sin embargo, poseen >por lo general? ciertas partes básicas comunes entre todos3
Sensores: On rastreador detecta la línea a seguir por medio de sensores. 'ay muchos tipos de sensores que se pueden usar para este finV sin embargo, por razones de costos y practicidad los más comunes son los sensores infrarroos >H!?, que normalmente constan de un 2E infrarroo y un fototransistor. En
Este
mi
caso
es
por
el
razones
diagrama
de
que
fiabilidad
se
utilic1
utiliz"
dos
para
sensores
L!:::)
ambos
sensores
Motores: El robot se mueve utilizando motores. ependiendo del tamaño, el peso, la precisi"n del motor, entre otros factores, 1stos pueden ser de varias clases3 motores de corriente continua, motores paso a paso o servomotores.
uedas: 2as ruedas del robot son movidas por los motores. Aormalmente se usan ruedas de materiales anti=deslizantes para evitar fallas de tracci"n. /u tamaño es otro factor a tener en cuenta a la hora de armar el robot.
@uente 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 <ima menos utilizada debido a que le resta independencia al robot.
!areta de control: 2a toma de decisiones y el control de los motores están generalmente a cargo de un microcontrolador. 2a tareta de control contiene dicho elemento, unto a otros componentes electr"nicos básicos que requiere el microcontrolador para funcionar.
@unciona&iento
0odos los rastreadores basan su funcionamiento en los sensores. /in embargo, dependiendo de la compleidad del recorrido, el robot debe ser más o menos compleo >y, por ende, utilizar más o menos sensores?. 2os rastreadores más simples utilizan ( sensores, ubicados en la parte inferior de la estructura, uno unto al otro. 9uando uno de los dos 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 tambi1n hay seguidores de línea blanca. 2as dos maneras más comunes de armar los rastreadores son3 5P67P/ >6mplificadores 5peracionales?, o con simples transistores trabaados en su zona de saturaci"n. Esto dependiendo de la compleidad con la que se quiera armar el circuito. Podemos utilizar un microcontrolador para realizar las funciones de control o guardar en 1l la forma del recorrido por una pista. 0ambi1n sirve como escaneador el1ctrico.
Materiales para el ro*ot seguidor de ínea
^ ^ ^
:
pila
cuadrada
de
( :
5pcional puden ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
a
los
led led infrarroo sensores
dos Placa de
de
y los L!:::)
-vs fototransistores infrarroo
fototransistores se o 9A_Q
fibra u led con
de
vidrio 'oas Papel couche hoas de acetato : infrarroo ( os minimotores caa reductora 6lambre Estaño ( transistores (A8-Q) : resistencia de :QQ 5hm >caf1, negro, caf1? ( resistencias 8.8` >narana=narana=roo? : clip para batería
Materiales para el indicador de *atería
^ ^ ^ ^ ^ ^ ^ ^
(
( : resistencia de : resistencia de resistencias de 8-Q 5hms, : diodo ener de : potenciometro : diodo : diodo
iagrama
del
transistores :Q`, de 88`, de de B!#C, ver 8.8 >B#C, ver de :Q` 2E 2E
indicador
de
(A8-Q).
batería
6 continuaci"n