Robot que ataca con legos, usando OpenCV

Construí un robot de seguimiento de color completamente automático que te permite pararte en lego con Arduino y OpenCV

Componentes y suministros

Ph a000066 iso (1) ztbmubhmho
Arduino UNO
1
MG996R
1
SG90 180 grados SG90 micro servo
Micro servomotor SG90
1

Aplicaciones y servicios en línea

Acerca de este proyecto

Construí este proyecto como una forma de aprender visión artificial. Y supongo que porque tengo un deseo de muerte contra mis pies.

Documenté el progreso de la construcción en mi canal de YouTube: https://www.youtube.com/channel/UCcT3iGeJJfpGU1QehvG48tg/videosw

Si desea ver las pruebas finales, mire este video, luego, a continuación, le daré más detalles sobre el proceso de construcción.

Empecé con CAD como la mayoría de mis proyectos, y terminé armando el diseño en SolidWorks:

Luego lo imprimí y lo ensamblé. (Lo que no muestro en el video son varias impresiones fallidas y errores en mi diseño donde estaba un poco mal con el ajuste entre los servos y el cuerpo)

Entonces, en la foto de arriba puedes ver tres servos (negro), el cuerpo (gris) y un bastidor (beige). El servo más grande se usa para apuntar el robot, que gira alrededor del soporte del robot, fijado al suelo.

Los dos servos más pequeños se usaron para invertir el engranaje dentado girando un engranaje recto (no se muestra arriba). La ranura en la parte posterior de la espuela que se muestra en la imagen es para una banda elástica, que tira de la espuela para que pueda tomar represalias y disparar una pieza de lego. Se suelta cuando se alcanza una sección del engranaje recto donde no hay dientes.

Las piezas de lego se almacenan en un «revista» (la parte superior del cuerpo) y caen en la cámara. El robot completamente ensamblado se puede ver a continuación, junto con el engranaje recto mientras tira de la cremallera.

Después de ensamblar el hardware, tuve que descubrir cómo hacer que siguiera mis pies. Una vez hice una pistola nerf de seguimiento facial (que me disparó en la cara). Sin embargo, sorprendentemente, usando las haarcascades, que usé para rastrear rostros, fue mucho más difícil rastrear los pies. Por un lado, solo pude encontrar una cascada de haarcas que rastreaba las piernas, que supongo que era mucho más temperamental porque las piernas tienen menos características distintivas.

Al final terminé usando calcetines rojos y usando detección de color en OpenCV para rastrearlos (sé que es un poco engañoso, pero al menos no tuve que mostrar mis pies descalzos en línea).

De cualquier manera, puede ver el seguimiento del pie en acción a continuación. El código de arduino fue bastante simple después de eso, le di las coordenadas del centro de los pies (el cuadrado verde) del script de python, luego el servo se movió para que el centro estuviera en el centro de la imagen (las rayas blancas) . Cuando estaba en ellos, disparaba entonces.

Entonces funciona. Muy mal. Pero creo que podría no ser la mejor idea gastar mi tiempo tratando de mejorar un estúpido robot como este.

¡Gracias por leer! Nuevamente, mira el video completo si quieres verme parado sobre muchos ladrillos de lego, ¡y ve a apoyar el canal!

Fuente arduino.cc

Licencia
© GPL3+