À propos du projet

DroidDeck est une plateforme de contrôle robotique de qualité production conçue pour les robots animatroniques WALL-E. Elle remplace les solutions existantes par un système unifié construit autour d'un Raspberry Pi 5 et d'une interface Steam Deck. Le backend est un serveur WebSocket Python asyncio avec gestion série partagée et mixage de mouvements, tandis que le frontend est une application PyQt6 pour Steam Deck avec télémétrie en temps réel, édition de scènes et calibration des contrôleurs. Une interface web Flask/Socket.IO est disponible sur le port 5000. Le contrôle matériel couvre deux contrôleurs de servos Pololu Maestro 24 canaux partageant un seul UART, un moteur pas-à-pas NEMA 23 avec pilote TB6600, et un contrôleur de moteurs à balais Sabertooth 2×60 pour la conduite sur chenilles. Un ESP32-CAM fournit la diffusion vidéo et la reconnaissance de gestes. Les fonctions de sécurité incluent un arrêt d'urgence, des interrupteurs de fin de course, un watchdog matériel, la surveillance de tension et des valeurs par défaut de sécurité. Le système de mouvement utilise un mixage en couches avec des calques joystick, idle et scène, plus un pipeline de contraintes pour la limitation de vitesse et le clampage de position. Les animations Bottango peuvent être importées via un observateur de dossier qui convertit les JSON exportés en scènes avec interpolation cubique de Bézier, ou contrôlées en direct via TCP pour des tests avant export. La configuration est gérée via des fichiers JSON avec rechargement à chaud. Le README documente le câblage matériel, l'alimentation, les paramètres des DIP switches, l'installation, l'association des contrôleurs Bluetooth, les commandes de l'API WebSocket, et le dépannage des problèmes série, pas-à-pas, d'import Bottango et de pilotes en direct.