Voici un projet de mini voiture RC autonome que je mène actuellement. J'ai pensé que ça pouvait peut être intéresser certaines personnes ici. L'objectif final du projet est d'être capable de faire des courses de véhicules autonomes.
J'ai séparé mon projet en plusieurs phases :
Phase 1 : Création de l'électronique pour faire une voiture RC le tout intégré sur une carte de type UNO (ESC + Radiocommande)
Phase 2 : Transformation en suiveur de ligne avec l'ajout de capteurs IR, centrale inertielle et mémoire Flash
Phase 3 : Ajout d'une camera Stereo avec un Raspberry CM4 afin de faire évoluer la voiture sur un circuit (détection virage à l'avance, évitement des autres voitures)
Les specs du projet sont les suivantes :
ESC (Engine speed controler) basé sur une Atmega328p (identique à Arduino Uno)
Une carte maitre de type Arduino Uno
Un transmetteur RF CC2500 (Radio et récepteur)
Radio basée sur un STM32F103C8T6 (identique à la carte BluePill)
Un Raspberry CM4 couplé à deux caméras IMX296 Global Shutter (camera stereo)
Le tout doit tenir sur un petit chassis 1/28 pour que je puisse y jouer dans mon salon !!
Voici quelques photos du projet dans cette différentes phases :
J'essaye aussi de faire quelques videos ludiques du projet :
Comme vous pouvez le voir j'essaye d'intégrer au maximum tous les capteurs afin de pouvoir rentrer sur un petit chassis 1/28ème, ce qui n'est pas une chose aisée, surtout pour rajouter le Raspberry !
J'ai bien prévu d'expliquer en détails chaque configurations avec les schémas et codes (Voiture RC, suiveur de ligne ... etc). Il me faut juste un peu de temps pour formaliser tout ça. J'éditerai le 1er post au fur et à mesure.
J'aurai peut être une restriction sur le code interne de l'ESC mais tout le reste est OK.
Superbe réalisation et encore un seul superlatif n'est pas à l'hauteur du travail
Surtout sur un format 1/28 ieme, j'ai d'ailleurs quelques équivalent miniZ qui traine.
Je ne connais pas le format exact du Raspberry CM4, mais a tu regardé la possibilité d'utiliser un esp32 ou RP2040 pour la reconnaissance vidéo ?
J’aimerais traiter les images de la camera stereo avec un raspberry pour integrer de l’IA (reseau de neurones entre autres) et utiliser des bibliothèques spécialisées dans le traitement de l’image comme OpenCV.
Avec l’ESP32 ou le RP2040 je ne crois pas que ça puisse être possible.
Si c'est possible, par contre je ne connais pas les limites, c'est pour ça que je t'ai posé la question.
Expressif ont deux projets, l'un pour la reconnaissance facial, l'autre pour la reconnaissance vocale.
il y a l'ESP32-S3 qui possède fonctionnalité pour ça.
Je crois aussi qu'onpencv est disponible pour l'ESP32-CAM
N'est-ce pas trop lourd pour un ESP32, la gestion images + traitement de l'image ? Certes c'est plus puissant qu'un Arduino, mais cela reste tout de même un micro-contrôleur, pas un Raspberry.
Franchement je ne peux pas te répondre techniquement.
Je peux juste te dire qu'Expressif fait beaucoup de communication autour des fonctionnalités de leur "nouvelles" versions de leur microcontrôleur avec des fonctionnalités à l'IA.
Ils ont un projet là-dessus
Je vais regarder mais je pense vraiment que pour faire de l'analyse d'image à une fréquence de 30fps ça soit limité. A mon avis même sur le Raspberry ça sera limité et si je veux augmenter les performances il faudra passer sur du Nvidia Jetson.
Je suis déjà pas mal avancé sur le design de l'intégration du CM4 ça devrait tout juste rentrer sur un shield UNO.
Bah, il faut limiter la résolution des images ou travailler sur des sous-ensembles de l'images.
Le problème, lorsqu'on monte en puissance c'est qu'il y a tellement de batteries que la voiture ne peut plus bouger et si on limite les batteries l'autonomie devient ridicule.
Je ne saurais te dire, je t'avais posé la question, justement au cas ou tu aurais fait des recherches dans ce sens
Pourquoi tu as choisis 30 FPS et pas 15 ou 60 ?
Le pifometre me dit qu’il faut au moins une image tout les 10cm. Comme j’aimerai pouvoir rouler à une vitesse de 3m/sec, il me faut donc une cadence de 30 image/sec.
Les tests disent toujours la vérité de toute façon, après tous les tests n'ont pas la même vérité par contre
Je n'ai aucune idée réelle de ce qu'il faut, mais j'aurais plus pris le raisonnement à quel distance tu dois détecter un objet pour avoir le temps de l'éviter à ta vitesse maximum(10km/h).
Mais bon ce n'est suffisant car je n'ai pas vraiment d'idée immédiatement sur comment calculer tout ça