|
Principal Arriba
| |
SENSORES PARA UN SIGUELINEAS
(by avlober)
Cuando una persona quiere hacer un
robot siguelineas, ya sea velocista o un rastreador o similar, una de las cosas
mas importantes que tiene que plantearse es la elección del sistema de sensores.
Antes de nada hay que decir que el
sistema de sensores depende primeramente de como será la configuración de
nuestro robot, es decir, donde tiene los motores el robot, cuantos tiene, si los
sensores se mueven o van fijos, si la configuración es diferencial, hackerman ((Ackerman.wmv),
etc, etc. Para dejarnos de especulaciones y palabrerías varias, nos centramos en
lo práctico y funcional. La mayoría de los robots siguelineas tiene una
configuración diferencial, esto es, el robot tiene dos motores situados en la
parte trasera, los cuales pueden girar de forma independiente y los sensores
están situados en la parte delantera y van fijados al chasis de alguna manera,
no se pueden mover de forma independiente. Podemos ver un ejemplo:

Vamos a tomar como referencia este
modelo para decidir el sistema de sensores. Este tutorial no pretende ser un
desarrollo teórico sobre sistemas de sensores, sino mas bien lo contrario, se
propone un sistema de sensores concreto, basado en la práctica y se dejan al
margen los desarrollos teóricos y la explicación del funcionamiento de los
sensores.
Por tanto vamos a plantear como será es sistema de
sensores:
SENSORES: Podríamos plantearnos las discusión sobre que modelo concreto
de sensores utilizamos, sin embargo directamente proponemos los sensores
CNY70. La razón es muy simple, son los mas
utilizados para este tipo de robots, son asequibles, no solo económicamente,
sino también que los podemos conseguir en cualquier tienda de electrónica y
funcionan perfectamente para lo que queremos: detectar una linea negra sobre
un fondo blanco (o viceversa)
Nº DE SENSORES: Como se comentará en otro tutorial de control de
motores necesitamos que el sistema de sensores nos de información sobre como
se encuentra el robot con respecto a la linea que tiene que seguir. Para un
algoritmo sencillo (pero poco práctico) únicamente necesitaríamos saber si el
robot esta sobre la linea, si esta hacia la derecha, o está hacia la
izquierda, para así actuar sobre los motores con un sistema “todo o nada”, en
este caso nos valdría con un sistema de sensores que tuviese 3, 2 o incluso 1
sensor. Nuestro objetivo es que podamos tener un sistema de sensores que nos
diga la situación del robot sobre la linea con varios grados o niveles de
distinción. Por tanto si lo que pretendemos es hacer un
robot velocista un sistema de 6 sensores nos dará una buena
resolución en la lectura. Si lo que queremos es hacer un
robot rastreador un sistema de 8 sensores cubre todas las
expectativas.
DISPOSICIÓN DE LOS SENSORES: La disposición de los sensores en un
velocista es simple; formando una linea
recta, en cuanto a la separación entre los sensores se podría hablar largo y
tendido pero lo que hay que tener en cuenta es que depende sobre todo del
algoritmo de lectura de sensores utilizado. Dado que se propondrán algunos
algoritmos de lectura se aconseja la siguiente regla práctica:
la separación debe ser tal que dos sensores puedan
simultáneamente detectar la linea pero tres simultáneamente no (siempre que la
linea de sensores esté perpendicular a la linea a seguir). También
es interesante que los dos sensores centrales estén ligeramente mas juntos
entre si que el resto de los sensores. Si lo que tenemos es un rastreador es
interesante que los sensores se dispongan en forma de 'V' o formando un arco
no demasiado cerrado; también siguiendo el mismo criterio en cuanto a la
separación.

Ilustración 1: Disposición de sensores para velocista

Ilustración 2: Disposición de sensores para rastreador
DISTANCIA AL SUELO: La distancia al suelo viene determinada por el tipo
de sensor y por el tipo de lectura que estamos haciendo. En la mayoría de los
casos la lectura es digital, es decir, leemos '1' o '0' y por tanto lo que nos
dice el fabricante es que la distancia máxima es de unos 5 mm. Como regla
práctica podemos decir que en el caso de lectura digital,
cuanto mas pegado esté el sensor al suelo mejores
resultados obtendremos, incluso si el robot es lo suficientemente
ligero y el peso no está distribuido excesivamente hacia la parte delantera
podemos llevar los sensores tocando el suelo. No obstante si podemos disminuir
el rozamiento colocando un ball caster u otro dispositivo similar el robot irá
mucho mejor; aunque a veces es complicado encontrar un dispositivo adecuado in
spain. En el caso de que se realice una lectura analógica de los sensores la
distancia correcta puede estar entre 5 y 8 mm, aunque este caso se escapa de
este tutorial.



Separación de sensores para lectura analógica
DISTANCIA RESPECTO AL EJE DE LOS MOTORES: En este punto tendremos que
buscar el equilibro entre: cuanto mas alejados del eje de los motores
coloquemos los sensores más anticiparemos la llegada de una curva pero sin
embargo peor responderá o dicho de otra forma los motores deberán de hacer
mas fuerza para mover o corregir el robot. También podemos considerar que
cuanto más alejados estén los sensores del eje de motores deberán estar mas
separados entre si. Como regla práctica podemos decir que
si medimos la distancia entre una rueda y otra, una
colocación aceptable estará entre 0,8 y 1,2 veces esa distancia.

ELECTRÓNICA ASOCIADA AL SENSOR: Antes de nada tenemos que decir que
que lo lógico es que la lectura de cada sensor nos de un '1' lógico cuando
el sensor está encima la linea y un 0 cuando no lo está, aunque esto no es
imprescindible ya que se puede corregir por software. Existen (al menos) dos
posibilidades para conectar los sensores al microcontrolador, podemos
conectarlo directamente al micro o utilizar un driver intermedio
(típicamente el 40106). Después de múltiples robots con diferentes
configuraciones la opción más sencilla, es decir,
conectarlos directamente al micro ha funcionado correctamente en
todos los casos.

CIRCUITO PROPUESTO PARA UN
VELOCISTA
Una vez dicho todo lo anterior
el circuito propuesto para un velocista es el siguiente:

A partir de este circuito se ha realizado la placa. Esta placa ha sido
diseñada y realizada sin ningún problema por alumnos de 1º de EEC por el
procedimiento de la “plancha”. Se han utilizado resistencias en encapsulado de
montaje superficial de tamaño 1206 para que puedan familiarizarse con este
tipo de componentes. El pcb resultante es el siguiente:

Y la placa una vez realizada ha quedado así:


Los ficheros de esta placa (para eagle 5.4) son:
CIRCUITO PROPUESTO PARA
RASTREADOR
Por priorizar otros tutoriales,
se pospone :(
OTRAS POSIBILIDADES
Simplemente poner alguna
fotografía a modo de idea.
Sensores móviles. Los
sensores pueden moverse mediante un eje motorizado. No es necesario poner un
número grande de sensores.

Lectura analógica de sensores. Esta opción es muy interesante puesto
que mediante la lectura analógica podemos conseguir la precisión que queramos
en la lectura. Por ejemplo el robot que se ve puede tener un vector de
dirección con mas de 1000 valores (esto es, puede distinguir que desviaciones
de la trayectoria de décimas de mm). Interesante verdad, y que pensais si os
digo que para hacerlo no utiliza entradas analógicas
del micro lo hace con entradas digitales. Se puede hacer con un
simple 18f84


|