Cette année, la programmation est un élément crucial. En effet, sur les 5 défis du « At Home Challenge », 3 sont basés uniquement sur le déplacement du robot, dont 2 en totale autonomie c’est-à-dire sans aucune intervention humaine.
Cette semaine nous avons travaillé sur les rampes d’accélération. Cela consiste à faire accélérer progressivement le robot pour mieux contrôler sa vitesse. Si on fait varier trop brutalement la vitesse du robot, celui-ci patine, tremble et/ou rentre en résonance ; cette réaction est terrible pour nous car si les roues du robot tournent sans que celui-ci avance, cela brouille le suivi du robot, il n’arrivera pas à destination et nous ne validerons pas le défi.
Pour éviter cela tout en voulant aller le plus vite possible, nous devons programmer des rampes d’accélération et de décélération.
Pour bien comprendre notre problématique, il faut savoir que plus un moteur reçoit de l’énergie, plus il va vite.
Actuellement nous ne savons dire aux moteurs que « je vous donne 8 Volts, tournez », or il faudrait être capable de leur dire « avancez à 20km/h », afin de mieux suivre et contrôler la progression robot.
Pour cela, dès samedi, nous avons commencé des tests de vitesse avec différents voltages, afin de récupérer un maximum de données : vitesse, accélération, rotation, …
A partir des données récoltées, nous sommes maintenant capables de dire au robot d’aller à 20km/h, et le programme se charge de traduire cela en un voltage précis.
Nous utilisons l’équation simplifiée :
Voltage appliqué = Kv*Vitesse + Ka*Accélération + Kc
où Kv, Ka et Kc sont des constantes que nous avons calculées à partir des milliers de données récoltées lors de nos tests de vitesse.
Elles définissent un plan pour chaque moteur dans « un espace 3D » où les coordonnées des points sont [ vitesse, accélération, voltage ].
Ci-dessous un lien pour télécharger un fichier HTML contenant les données 3D interactives récoltées lors de nos tests.