Centrale inertielle Rover

[juiz_social buttons= »facebook, twitter, google »]

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

 

 

Grég(ory) Écrit par :

Artificier de passion, Electronicien de formation, Informaticien de métier, Scientifique en herbe, Gamer en carton.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *