Saludos.
Hoy vengo a hablaros de unos robots que hemos estado desarrollando en el trabajo,
la finalidad de los cuales es emplearlos
para realizar experimentos o de introducción
a la robótica. La idea empezó hace años cuando comencé a trabajar con arduino.
En la universidad los estudiantes empleaban un robot e-puck un robot muy versátil y muy caro para
que negarlo. La cuestión es que para algunos experimentos no era necesaria la
potencia que tenía el e-puck y quizá con un robot más “tonto” podríamos realizar
las mismas funciones.
Figura 1a.E-puck
|
Figura 1b.Prototipo
de robot
|
Las diferencias son muchas, pero el coste también, la
plataforma de la figura 1b es un hibrido de la estructura que fue y la nueva
placa de control, pero para haceros una idea de lo que era la idea principal. El modelo en
si no fue un diseño mio me inspire en los carritos que llevan los barrenderos
de la ciudad condal.
Figura 2. Carro de recogida de basuras
de la ciudad de Barcelona
|
El material empleado para la estructura fue metacrilato y el
prototipo quedo como una curiosidad que podías conectar al móvil y jugar con el como un radio control. Pues
bien la cosa fue evolucionando y fraguando en un nuevo proyecto crear una
plataforma económicamente asequible y que pudiese emplearse para cursos de iniciación
a la robótica y la neurociencia. Evidentemente con la incursión de las impresoras 3D el resultado era mucho más versátil.
Los robots mostrados en las imágenes anteriores son diferentes
versiones del mismo concepto modificando el tipo de sensores y actuadores. En
la figura 3a. se muestra la versión que se empleó para el primer curso que se realizó
para profesores de Bachillerato, el robot tiene un seguidor de línea, antenas y un sensor de
distancia GP2Y.
Como actuador lleva una pinza accionada por un servo,
las ruedas son servos
de 360, y un módulo de bluetooth
. En la figura 3b, se ha añadido la pixy
y se ha quitado las antenas y la pinza. El modelo de la figura 3c. es una evolución
a hacer el modulo más compacto pero con más sensores, al seguidor de línea se
le ha añadido cuatro sensores de distancia la cámara Pixy y una pinza. Así
mismo bajo la plataforma lleva un fiducial que
se emplea para traquear sus movimientos por la reactable.
Todos estos modelos han sido desarrollado con sketchup una herramienta simple, fácil de usar y
gratuita para comenzar a hacer piezas en
3D.
Figura 4 diferentes modelos de robos en
Sketchup
|
Al igual que la estructura ha ido evolucionando he hecho lo
mismo con la electrónica, la necesidad
ha sido la principal razón. Para desarrollar una placa con conectores no es
necesario gastarse mucho dinero os podéis hacer una con una Proto
shield, cuando tienes que hacer 15 para un curso es un trabajo muy pesado y
hay muchas posibilidades que algo falle. Por ello decidí hacer una placa para
ahorrarme trabajo en cablear que no en soldar. Encontré un distribuidor
americano OSH Park que da un servicio muy
bueno, obviamente si sabéis de algún distribuidor nacional que ofrezca este
servicio hacédmelo saber. He pedido placas en dos ocasiones y han sido rápidos,
y económicamente asequibles.
Figura 5 muestras de las diferentes
placas empleadas
|
Como se puede observar en la figura 5, aquí vemos la evolución
que han tenido las placas, el empleo del regulador viene dado que con los
nuevos servos en continua, requieren más potencia y cuando se ponen en marcha
hacen que el arduino se reinicie, por ello normalmente hago que tengan un
circuito de alimentación independiente con un L7805cv. La segunda placa fue la
primera que solicitamos y la tercera la que se ha usado en el curso de este
año. La mayor dificultad a la hora de hacer una placa para arduino está en que
los pines no están colocados en una medida estándar. Para hacer los esquemas podéis
emplear la aplicación eagle que esta
en libre distribución. Yo en mi caso he empleado Proteus, que lo he utilizado para
simular algún proyecto con pics. Aquí entra
la imaginación y el espacio que necesites, las dos placas fabricadas tienen bus I2C, conector para
Servos, entradas/salidas digitales alimentadas, al igual que las analógicas,
luego algunas variaciones, la tercena placa de la figura tiene un conector para instalar un L298 (equivalente
a esta placa)
que da la opción de conectar 2 motores en continua o un motor paso a paso. Con
la misma placa añadimos una placa para montar los sensores de línea y como teníamos
espacio otro circuito L298, el precio del conjunto era 15$ por tres placas.
Figura 6 diseño de PCB
|
Con todo esto este año teníamos nuevamente un curso para
profesores de bachillerato “La
Neuro-Robótica como herramienta para entender el cerebro” Para esta ocasión
llame a los robots Martibots, mi compañero que imparte el curso se llama Marti,
si no ganare un premio de originalidad.
Para este curso necesitábamos que los sensores de línea estuvieran
lo más próximo al centro del giro del robot, por lo que tuve que variar el
diseño para que la altura de la base quedara más pegada al suelo.
Figura 7a modelo diseñado en Sketchup
|
Figura 7b modelo impreso
|
De esta forma la base está más próxima al suelo y los
sensores quedan mas centrados, a diferencia de otros montajes en esta ocasión los
seguidores de line están conectados a unas entradas analógicas lo que permite
hacer una discretización de colores aparte de seguir la línea, se simplifica el
número de sensores a emplear pues se iba a utilizar una pixy. Como con las
versiones anteriores modificarlo para añadirle amas elementos es posible.
|
Figura 8 modelo con pinza y “casco”
|
Un punto importante y que en esta sesión nos ha dado quebraderos
de cabeza es las baterías no parece ser complicado pero cuando tienes un presupuesto limitado es fácil cagarla. En esta
ocasión calcule mal, y compre un porta pilas 4xAA con interruptor a lo sumo tendríamos
6 Vdc y la corriente que proporcionases las baterías. Al pasar por los diodos y
los reguladores la corriente que recibía los motores era de 3Vdc, menos si utilizábamos
baterías recargables pues no suelen tener 1,5Vdc. Tal y como estaba montada el circuito el
arduino y las entradas digitales se podrían emplear cuando este estaba
conectado al pc, pero los motores y las entradas analógicas solo cuando estaba
conectado a la batería. La solución fue comprar porta pilas de 6x AA, que suele
dar 9V y la corriente en función de las baterías. El curso al ser una introducción
a la robótica se emplean sensores pasivos como LDR, potenciómetros o sensores
de distancia que ayudan a los profesores a tener una primera toma de contacto
con el software del arduino.
Y con el software
de la pixy . Así como principios de neurociencia, ya sé que esto queda muy vago,
pero no es mi especialidad. En nuestro laboratorio empleamos estos robots para
simular modelos neuronales de insectos, ratones o comprobar teorías como el de
las grid cell.
Con la introducción de las impresoras 3D hemos conseguido
robots realmente asequibles y que cumplen con las expectativas ahora os pongo
una foto de la familia :p.
Figura 9 Brazo automatizado, balancing
robot, spider y dos tanques
|
Figura 10
el robot iCub H5W o como le llamamos nosotros Jordi
|
Anakleto
Impresionante trabajo querido Anakleto, y esto es solo el principio.
ResponderEliminarMuy interesante, gracias por compartirlo.
ResponderEliminarPor cierto, los diseñadores del carrito de barrendero a su vez se están "inspirando" en tu robot, para diseñar y acoplar una pinza frontal que agarre a los cochinos que van tirando basura por la calle. xD
Quizá en una distopía LOL.
ResponderEliminar