Comment programmer l’assistance inertielle du rover ?
But du programme :
Le programme commande les déplacements du Rover. Il transmet aux contrôleurs de moteur les informations issues de la télécommande, pondérées par les données de la centrale inertielle (IMU). Grace à ce programme, le Rover sera capable de répondre aux ordres de la télécommande (ou sous-programme), d’avancer en ligne parfaitement droite à vitesse constante et d’adapter sa vitesse maximale.
Variables d’entrées:
“consigneVitesse” :
INT variant de 1000 à 2000. 1000 est la vitesse maximale en arrière, 2000 la vitesse maximale en avant, et 1500 est la valeur d’arrêt des moteurs.
“consigneRotation” :
INT variant de 1000 à 2000. 1000 est la vitesse de rotation maximale en sens trigonométrique (anti-horaire) sur l’axe de lacet, 2000 est la vitesse de rotation maximale en sens horaire. La valeur 1500 stoppe le mouvement de rotation.
“angleL” :
FLOAT variant de -180 à +180 (ou de 0 à 360) image de la rotation sur l’axe de lacet. Cette valeur est initialisé à 0 au démarrage du Rover et ne peut-être ré-initialisé durant un déplacement.
“angleR” :
FLOAT variant de -180 à +180 (ou de 0 à 360) image de la rotation sur l’axe de roulis. Cette valeur est initialisé à 0 au démarrage du Rover et ne peut-être ré-initialisé durant un déplacement.
“accX” :
FLOAT variant de -5 à +5 image de l’accélération sur l’axe X (avant-arrière).
Variables intermédiaire :
“cap” :
Variable contenant le cap à suivre.
Variables de sorties :
“valeurVitesse” :
INT variant de 1000 à 2000. 1000 est la vitesse maximale en arrière, 2000 la vitesse maximale en avant, et 1500 est la valeur d’arrêt des moteurs.
“valeurRotation” :
INT variant de 1000 à 2000. 1000 est la vitesse de rotation maximale en sens trigonométrique (anti-horaire) sur l’axe de lacet, 2000 est la vitesse de rotation maximale en sens horaire. La valeur 1500 stoppe le mouvement de rotation.
Contraintes :
- Le rover doit impérativement suivre son cap. Exemple : en admettant que le rover rencontre un obstacle susceptible de modifier sa trajectoire, le programme doit compenser l’action sur les roues afin que le rover continue de progresser en ligne droite.
- Tout en suivant son cap, le programme doit prend en compte les consignes de la télécommande et intégrer tout changement de trajectoire voulu par l’utilisateur.
- La vitesse du rover doit diminuer lorsque l’axe de roulis dépasse les 45°. La diminution de la vitesse sera proportionnelle à l’angle et atteindra son minimum pour un roulis de 80°.
- La vitesse du rover doit-être constante (accélération nulle). Exemple : en admettant que le rover rencontre une pente frontale montante, le programme doit augmenter la vitesse des roues pour maintenir la vitesse.
Solutions et résultats :
Si vous avez des questions, n’hésitez pas à les poser en commentaire.
envoyez vos propositions de codes à : contribution@mission-kepler.space
Soyez le premier à commenter