Voici CubDog, un robot chien

image principale Voici CubDog, un robot chien

Difficulté:

Bonjour à tous, Voici CubDog, Cube car il est carré et dog car il est cencé nous suivre partout comme un toutou.. J'hésite aussi avec follower-cube pour le cube-suiveur, bref on s'en fous un peu :-D J'ai beaucoup hésiter à le poster ici, car il n'est pas terminé! Mais il est intéressant car il utilise une webcam avec OpenCV pour reconnaître et suivre les visages et les couleurs, donc je me dis que même non terminé c'est un bon début pour celui qui serait tenté par cette voie. Et comme la documentation sur OpenCV n'est pas si évidente au début, (ça doit surtout être dû à mon niveau d'anglais..) j'ai fini par penser que finalement il a aussi sa place sur OAM :-D

Matériel :

Budget : Non défini

Fichiers :

Etape 1 : Présentation vidéo

Petite présentation du suivi des couleur par sa tête

Etape 2 : Vue d'ensemble

Il est muni d'une webcam (sous ses anciens yeux ultrason qui ne sont plus utilisés..), d'un Raspberry Pi ainsi qu'un écran de contrôle. Il a aussi 2 petits bras, qui se replient dans son ventre à la façon de Wall-E :-)  Le chassi est réalisé avec des pièces Makeblock.

Le code est en Python, j'ai joint 2 scripts dans les fichiers de ce tuto, un pour suivre le visage, l'autre pour suivre la couleur bleue.

Etape 3 : Contrôler les servomoteurs

Donc pour faire tourner la tête j'utilise le module PCA9685 de chez Adafruit, que je branche comme sur le schéma (voir sous les sources pour + d'info).

Pour installer OpenCV sur le raspberry, dans la console taper:

 sudo apt-get install python-opencv

 sudo apt-get install libopencv-dev

Etape 4 : Le code Python du suivi du regard

Et maintenant pour la détection du visage en Python avec OpenCV

(Voir aussi dans les fichiers joints..)

Etape 5 : Contrôle des moteurs DC

Pour faire tourner les moteurs DC des chenilles, j'ai fait un pont en H disponible ici:

http://nagashur.com/blog/2013/01/05/utilisation-dun-circuit-l293d-pour-commander-des-moteurs

Mais ça manque un peu de précision, il serait préférable d'utiliser des servomoteurs à rotation continue, mais perso je n'ai jamais réussi à les utiliser avec du code Python (il y a bcp de tuto en langage C sur internet, mais rien trouvé de concluant en python).

Etape 6 : Conclusion

Son chassi est réalisé avec des pièce Makeblock, c'est ça qui fait monter terriblement le prix du robot!! mais je pense que c'est un investissement qui vaut la peine, car c'est une super qualité et on peut toujours le réutiliser / adapter pour faire tellement de choses..

Comme je disais, mon robot n'est pas terminé. Pour l'instant il suit les visages et les couleurs, mon but à terme sera de repérer mon regard, récupérer la moyenne de couleur contenu dans un rectangle sous ma tête (donc la couleur de mon t-shirt) puis de la suivre comme un toutout :-D

Mais j'espère que ce petit tuto aura donné envie de tester OpenCV, et si quelqu'un a un peu d'expérience n'hésitez pas à critiquer mon code, car je tatonne grave donc il doit y avoir plein d'erreurs...

Bonnes bidouilles à tous!

Sources :

https://www.adafruit.com/product/815 http://nagashur.com/blog/2013/01/05/utilisation-dun-circuit-l293d-pour-commander-des-moteurs http://docs.opencv.org/3.1.0/df/d9d/tutorial_py_colorspaces.html http://www.makeblock.com/distributors http://openlab.makeblock.com/topic/56e231e9b56dce362b00749c


Nous vivons tous dans le ventre d'un chien géant,
Tout le monde le sais mais personne ne dis rien du tout.

Ces tutoriels devraient vous plaire

vignette Montez facilement votre console de jeu rétrogaming avec RECALBOX !
Montez facilement votre console de jeu rétrogaming avec RECALBOX !
vignette Préparer un fichier pour une découpe et une gravure laser
Préparer un fichier pour une découpe et une gravure laser
vignette Écran Tactile et Raspberry Pi
Écran Tactile et Raspberry Pi

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers