Rétro-ingénierie du moteur Unitree GO-M8018-6
Thomas Flayols a entrepris le reverse-engineering du driver propriétaire des moteurs GO-M8018-6 équipant le robot quadrupède Go2 de Unitree Robotics. Ces actionneurs, proches des GO-M8010-6 du Go1 déjà vendus séparément par Unitree, intègrent dans un boîtier compact un réducteur, un encodeur magnétique, un onduleur triphasé, une mesure de courant, un bus RS-485 et un microcontrôleur Cortex-M0 CMS32M57xx de la série CMS32M. La démarche a commencé par l'analyse physique du PCB, rendue difficile par le fait qu'Unitree a délibérément effacé toutes les sérigraphies sur les composants. Un examen aux rayons X combiné à du travail d'investigation a permis d'identifier le MCU et les autres circuits. L'accès SWD via OpenOCD a ensuite été établi, permettant d'extraire la clé de firmware depuis la SRAM du bootloader. Malgré le chiffrement du firmware, cette clé récupérée localement a suffi à le déchiffrer. Un premier firmware personnalisé a pu être développé, que Flayols entend faire évoluer vers une solution open source complète.
L'enjeu dépasse le simple exercice technique : un firmware libre pour ces moteurs les rendrait accessibles à un écosystème bien plus large que celui de Unitree, notamment pour des laboratoires de recherche, des intégrateurs et des makers qui souhaitent exploiter ces actionneurs sans dépendre d'un SDK propriétaire fermé. Sur le plan mécanique, ces moteurs offrent un rapport prix/performance solide pour la robotique à articulations compactes. La démarche répond aussi à des préoccupations concrètes de sécurité : le firmware officiel du Go2 a fait l'objet d'accusations sérieuses de malware et de failles documentées, ce qui posait un problème réel pour tout déploiement dans des environnements sensibles. Un firmware alternatif auditée permettrait de contourner ces risques.
Unitree s'est imposé ces dernières années comme l'un des rares fournisseurs à proposer des robots quadrupèdes à prix accessible, le Go2 étant commercialisé autour de 1 600 dollars en version Education. Cette accessibilité a généré une communauté active de développeurs, mais l'écosystème propriétaire a toujours constitué une limite. Les moteurs GO-M8010-6 sont déjà vendus séparément et utilisés dans divers projets open hardware, notamment des robots bras. Le travail de Flayols s'inscrit dans une dynamique plus large de démocratisation des actionneurs robotiques, en parallèle d'initiatives comme les moteurs de T-Motor ou les designs ouverts de Mjbots. La prochaine étape annoncée est le développement d'un firmware complet avec contrôle de couple, ouvrant potentiellement la voie à une réutilisation du Go2 dans des contextes où le firmware officiel est inacceptable.
Les laboratoires de recherche et intégrateurs européens utilisant des robots Unitree pourraient adopter ce firmware alternatif open source pour contourner les failles de sécurité documentées du firmware officiel, rendant le Go2 déployable dans des environnements sensibles.
Dans nos dossiers




