Equipe : Z. Bai

Motivation : J’ai vu sur internet des gens qui font des robots, et ça m’a fait penser à un projet que j’avais voulu commencer il y a mille ans: un robot de deux roues qui se tient en équilibre tout seul. J’ai démarré avec un kit Ultimate Robot Kit. Sans avoir beaucoup réfléchi, et en considérant des pièces existantes, j’ai fait simplement un robot sous forme de porte, mais avec deux roues sur les pieds. A part le châssis, tout le reste des composants sont choisis car c’étaient les seuls disponibles au bureau.

Le microcontrôleur est un Arduino Uno, j’avais le choix entre celui-là et une carte STM32F4. J’ai pris Arduino j’avais déjà un peu d’expérience en Arduino IDE (l’environnement de développement d’Arduino) pendant mes études en SIAME. En plus, Arduino est plus solide donc j’ai moins de chance de la cramer XD. Pour capturer la motion du robot, j’ai choisi le capteur MPU6050, un capteur très populaire que j’avais vu aussi pendant un projet de drone en SIAME, qui était disponible par hasard au bureau. La dernière composante est un contrôleur de moteur, on avait également des shields d’arduino pour contrôler les moteurs au bureau, ça tombe bien !

Après avoir fait le choix, j’ai monté le circuit facilement : le capteur est digital, sur un bus I2C que jai étudié plusieurs fois déjà le long de plusieurs matières en SIAME, le shield en PWM, c’est également quelque chose qu’on a vu plusieurs fois… Et puis j’ai tout scotché sur le châssis (quel mauvais design…), voilà la partie matérielle.

Le logiciel embarqué est développé dans l’IDE Arduino. L'algorithme de contrôle est PID dont nous avons au moins entendu parler une fois même sans comprendre le fond. J’ai pris quelques heures pour bien le comprendre puis je l’ai implémenté. J’ai aussi vite développé une interface pour contrôler les moteurs et de recevoir les informations du capteur à l’aide des librairies existantes. J’ai eu quelques petites difficultés liées au capteur pour obtenir un mouvement précis du robot (faut le configurer et calibrer correctement), avec Google + doc des librairies + le datasheet du capteur, j’ai fini par régler les problèmes. Et finalement c’est une période longue de bien calibrer les coefficients du PID pour que le robot se tienne bien en équilibre. Finalement, j’ai pris ~20h de travail pour obtenir un résultat que vous voyez dans la vidéo. Et j’ai compris plusieurs défaut de design que j’apporterai dans le projet BogoRobot - balancingBot v1.