DGN v6.x : en.david.grajal.net (Blog en inglés) •  www.bullsmind.com (Blog técnico) •

Inicio > proyectos > L1_robot_electronica   Twitter: Thanks for the mention! bennyhertach http://t.co/fxjEMMwN Sun May 20 15:13:52 2012 204228455318036480 Thanks for the mention! bennyhertach http://t.co/fxjEMMwN <a href="http://ifttt.com" rel="nofollow">ifttt</a> false false 0 false 2855791 David Grajal dgrabla Shanghai, China #entrepeneur #travel #coworking #mobile #berlin #china #brazil #ceibs #coppeadufrj http://a0.twimg.com/profile_images/1096164648/2009_pro_original_96_normal.JPG https://si0.twimg.com/profile_images/1096164648/2009_pro_original_96_normal.JPG http://about.grajal.net false 300 FFFFFF 000000 C3AB24 ffffff ababab 385 Thu Mar 29 16:39:22 2007
[+]

Información personal
- FAQ
- Blog - 04 / 05 / 06 / 07 / 08 / 09
- Viajes
- Información de contacto

Nube temática
alimentación antonio no artículos asterisk business case Canada crítica deportes empresas emulación entrevista fsf historias humor internet java javascript linux música naturaleza opinión pfc pucelawireless radioafición radioclub reflexión retos review spring stallman struts teleco telefonía Toronto twitter Valencia valladolid Viajes videojuegos voip web web 2.0 web2.0 wifi wii windows wireless


David.Grajal.net v6.x
- Info
- RSS: Blog | Toda la web




El contenido publicado en este sítio web se encuentra licenciado bajo la licencia Creative Commons en su modalidad no comercial.


04/01/2006

Microbot L1: Electrónica

Microbot L1 (2005)
1. Introducción
2. Armazón
3. Electrónica

Una vez terminado el armazón y preparada la parte mecánica, era el momento de empezar a construir la lógica del robot para dotarle de vida. Para empezar preparé un circuito en una placa de prototipos con el PIC16F84 y monté una pequeña placa con 2 sensores ópticos (CNY70) para hacer que el robot rastrease el perfil de una linea negra sobre el suelo.



Circuito montado sobre placa de pruebas (pila de 9v para electrónica, blister de 4 pilas AA para motores)


Pequeña placa con 2 CNY70 (Los sensores que hacen de ojos)

Con estos elementos el microbot ya estaba listo para dar su primer paseo (796K, OGM) No os riáis demasiado de los movimientos del microbot porque a estas alturas ya estaba en la cumbre de su capacidad.

Era hora de probar el modo de visión completa con todos los ojos funcionando a la vez. Quedaban 8 patas de entrada/salida del PIC16F84 libres así que preparé una placa con 8 CNY70. Con 8 sensores ópticos es posible seguir el trazado de una linea con movimientos suaves y es posible la detección de las intersecciones. (Lo sabía porque había visto vídeos de microbots funcionando bien con sólo 8 sensores ópticos)



PCB con los 8 CNY70


Posición de la PCB. Se ve también dónde esta la pila de 9v que alimenta a la electrónica

Un problema que sé ve en el vídeo de los primeros pasos es la excesiva torsión del microbot al efectuar giros. Se puede ver mejor en este vídeo (496Kb, OGM). Mi idea era que el robot rastrease las lineas rectas y las curvas que tuvieran poco ángulo mediante las dos ruedas traseras en modo de tracción y el servomotor como único sistema de dirección. De esta manera se podría hacer una trayectoria de permanente movimiento y sin las correcciones de trayectoria típicas de los microbots rastreadores basados en dos ruedas motrices. El movimiento seria fluido y suave. Cuando el microbot llegase a una curva con ángulo demasiado cerrado (como un ángulo recto), se pasaría a un modo tradicional: las ruedas traseras se usarían como ruedas de dirección para girar al microbot sobre sí mismo. Sin embargo el robot no está mecánicamente preparado para soportar esto: las ruedas de tracción y la de dirección están excesivamente próximas y además la rueda de dirección se agarra sorprendentemente bien al suelo (es una rueda de mecano). El resultado es que el microbot al final no puede usar las ruedas de tracción para apoyarse y hacer giros cerrados, o al menos no puede hacerlo sin retorcerse y desarmarse.

Este es un problema grave y la solución fue poner los sensores ópticos más próximos al eje de giro (entre las ruedas de tracción y la de dirección en vez de en la parte frontal del microbot) y hacer giros usando exclusivamente la rueda de dirección, es decir, haciendo giros mucho más abiertos. En los vídeos el robot se separa demasiado de la recta pero porque aún no estaba preparado un sistema que ajustase el ángulo de giro (A estas alturas la rueda de dirección o bien no gira, o gira 20 grados a la izquierda o 20 grados a la derecha).

Por consejo de Pedrito, decidí cambiar el sentido del microbot. A partir de este momento iríamos de culo. En todos los sentidos. Ahora usaría la rueda de dirección en la parte trasera del robot para poder hacer giros mas bruscos. Aunque esta decisión al principio no dio mas que problemas (859Kb, OGM), a medio plazo (Al hacer que el robot girase un ángulo proporcional a la separación acumulada respecto de la linea) parecía viable.

Era el momento de hacer una placa para la electrónica. Y este es el momento donde las cosas se empezaron a torcer definitivamente. Usé una placa de tiras y hice todas las soldaduras por el reverso de la placa. Enorme error. El tener 1000 cables cruzando el circuito de punta a punta no me dio mas que problemas: falsos contactos y falsas soldaduras imposibles de detectar.



Recorte de la placa y primeros elementos soldados


Follón de cables. Imposible soldar aquí.


Placa terminada. Muy bonita por delante, un infierno por detrás. Aunque la idea original era usar un control de motores mediante puentes H sin integrar, al final opté por usar un circuito integrado para facilitarme la vida.

Axiomas a repetir todos los días antes de acostarse:
1. Hacer todos los circuitos en PCB. Mucho más tedioso. Muchísimo más fiable.
2. Huir de las placas de puntos/tiras como de la peste.
3. NUNCA soldar (la mayoría de) cables por el reverso.

Con la placa haciéndome falsos contactos irresolubles, era el momento de probar si el robot era mínimamente capaz de recorrer el circuito. Primero unas pruebas de visión (859K, OGM). Y unos paseitos sencillitos con la nueva placa (799K, OGM) y el primer intento de controlar el servomotor de dirección (847K, OGM).

Como curiosidad, el robot tiene el peso descentrado y por eso al hacer los cambios de sentido bruscos tiende a hacer caballitos (778K, OGM). Una vista más cercana (132K ,OGM). La solución era poner mas peso justo encima de la rueda de dirección. La solución improvisada fue la mejor posible: añadí un blister de pilas adicional y así, además de incrementar el peso, el robot tenia reserva de combustible.

Ahora que los problemas de tracción estaban (mas o menos) resueltos, quedaba resolver lo más duro: El algoritmo de dirección. Las primeras pruebas salieron bastante bien (409K, OGM) y los primeros paseos con todos los sistemas funcionando fueron alentadores (796K, OGM). Pero enseguida quedó patente que la acumulación de deficiencias físicas y los problemas con la electrónica del robot eran imposibles de arreglarse por software (800K, OGM). Al final el robot únicamente tenia 3 ojos (CNY70) funcionando (no centrados) y no se podía hacer mucho por software para solventar la falta de datos.

Y no tenía tiempo de preparar una PCB nueva. Mi robot me había salido tonto.



Microbot L1 "listo".

Aún sabiendo que el robot no funcionaba bien, era el momento de llevarlo a competir. Las pruebas en la pista (784K, OGM) demostraron que el robot hacia lo que quería, lo que le valió el apelativo de "robot rebelde" ya que "posee algoritmos de inteligencia artificial avanzados y de vez en cuando se le cruzan los cables y decide por si mismo abandonar su tarea principal de seguir la linea negra para explorar a su libre albedrío su entorno cercano". Cualquiera que me escuchara decir eso y entendiera mínimamente de robótica se lo tomaría a coña o pensaría que soy un perfecto gilipollas. Pero una chica se lo creyó. Suficiente.

Evidentemente el día de la competición tuve una actuación patética. El robot se empezó a mover y a los 3 segundos ya estaba descalificado. Por salirse del recorrido, aunque si le hubiesen dejado un par de segundos más igual atropellaba a algún espectador. ¿Bonus?

Sin embargo esta actuación tan decepcionante no es el final de L1. Yo creo que el armazón tiene posibilidades. Algún día le haré una nueva placa de control y con todos los sensores funcionando será capaz de seguir la linea mucho mejor.



Microbot L1 pide una segunda oportunidad. ¿Tal vez en el 2006?

Ya no se pueden añadir nuevos comentarios en esta historia.






David.Grajal.net v6.5.16
© 2009 David Grajal Blanco
1.0000 s