Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:informatics:le_trajet_et_les_trajectoires [29/09/2024 18:17]
Keuronde En cours de création
fr:informatics:le_trajet_et_les_trajectoires [30/09/2024 21:52] (Version actuelle)
Keuronde [Module Trajet]
Ligne 36: Ligne 36:
 La vitesse suivant la courbe de décélération (V<sub>dec</sub>)s’obtient à la l’aide de la distance restante à parcourir. La distance parcourue sur le trajet se calcule en additionnant à chaque pas de temps la distance parcourue au pas de temps. La distance restant se calcule en soustrayant la distance parcourue à la longueur de la trajectoire. La vitesse suivant la courbe de décélération (V<sub>dec</sub>)s’obtient à la l’aide de la distance restante à parcourir. La distance parcourue sur le trajet se calcule en additionnant à chaque pas de temps la distance parcourue au pas de temps. La distance restant se calcule en soustrayant la distance parcourue à la longueur de la trajectoire.
  
-$$ V_dec = \sqrt{2 \times acceleration \times Distance\_restante} \newline +$$ Distance\_restante = longueur\_trajectoire - Distance\_parcourue$$ 
-a =b$$+$$ V_{dec} = \sqrt{2 \times acceleration \times Distance\_restante} $$
  
 Note : nous utilisons la même valeur pour l’accélération et la décélération. Note : nous utilisons la même valeur pour l’accélération et la décélération.
 +
 La vitesse retenue est la plus faible de ces trois vitesses. La vitesse retenue est la plus faible de ces trois vitesses.
  
-Note : Pour une version plus détaillée, vous pouvez-vous référer à cet article Consigne de vitesse (https://poivron-robotique.fr/Consigne-de-vitesse.html)+{{ :fr:informatics:trajectoire_vitesse.png?400 |}} 
-Module simplifié de trajectoire+ 
 +Note : Pour une version plus détaillée, vous pouvez-vous référer à cet article [[https://poivron-robotique.fr/Consigne-de-vitesse.html|consigne de vitesse]]
 + 
 +=== Fin du trajet === 
 + 
 +Reste à savoir quand le trajet est terminé. Le plus évident est de tester la valeur de l’abscisse. Si celle-ci est supérieure ou égale à 1 alors le trajet est terminé. 
 +Mais avec certaines trajectoires, les erreurs d’arrondis font que le trajet ne se termine pas à tout à fait à 1. Pour palier à ce problème, nous proposons de tester que la vitesse obtenue avec la courbe de décélération est inférieure à un seuil. 
 +==== Module simplifié de trajectoire ==== 
 Le module simplifié ne gère qu’une seule trajectoire, une trajectoire droite de 50 cm de long, partant de (0,0) et avançant uniquement selon X. Le module simplifié ne gère qu’une seule trajectoire, une trajectoire droite de 50 cm de long, partant de (0,0) et avançant uniquement selon X.
-Voici les interfaces avec le module Trajet et leur implémentation sommaire +Voici les interfaces avec le module Trajet et leur implémentation sommaire. 
-Avancer sur la trajectoire à partir d’une abscisse +=== Avancer sur la trajectoire à partir d’une abscisse === 
-float Trajectoire_avance(float abscisse, float distance){ + 
- return abscisse + distance / longueur_trajectoire +  float Trajectoire_avance(float abscisse, float distance){ 
-+   return abscisse + distance / longueur_trajectoire 
-Obtenir la position dans le plan  à partir de l’abscisse curviligne +  
-struct point_t Trajectoire_get_point(float abscisse){ +=== Obtenir la position dans le plan  à partir de l’abscisse curviligne === 
- struct point_t point; +  struct point_t Trajectoire_get_point(float abscisse){ 
- point.x_mm = abscisse * longueur_trajectoire; +   struct point_t point; 
- point.y_mm = 0; +   point.x_mm = abscisse * longueur_trajectoire; 
- return point ; +   point.y_mm = 0; 
-+   return point ; 
-Obtenir la longueur de la trajectoire +  
-float Trajectroire_get_longueur_mm(){ +=== Obtenir la longueur de la trajectoire === 
- return 500; +  float Trajectroire_get_longueur_mm(){ 
-+   return 500; 
-Code de démonstration+  
 +===== Code de démonstration ===== 
 Faites parcourir à votre PAMI la trajectoire simplifiée en variant les paramètres d’accélération et de vitesse maximale. Faites parcourir à votre PAMI la trajectoire simplifiée en variant les paramètres d’accélération et de vitesse maximale.
-Débogage+===== Débogage ===== 
 Surveillez la vitesse consigne et la consigne de position. En cas de comportement erratique du PAMI en début ou en fin de trajectoire, contrôlez l’erreur d’orientation au niveau de l’asservissement en position. Surveillez la vitesse consigne et la consigne de position. En cas de comportement erratique du PAMI en début ou en fin de trajectoire, contrôlez l’erreur d’orientation au niveau de l’asservissement en position.