Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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< | La vitesse suivant la courbe de décélération (V< | ||
| - | $$ V_dec = \sqrt{2 \times acceleration \times Distance\_restante} | + | $$ Distance\_restante = longueur\_trajectoire - Distance\_parcourue$$ |
| - | a =b$$ | + | $$ V_{dec} |
| 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, | + | {{ : |
| - | Module simplifié de trajectoire | + | |
| + | Note : Pour une version plus détaillée, | ||
| + | |||
| + | === 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, | ||
| + | ==== Module simplifié de trajectoire | ||
| Le module simplifié ne gère qu’une seule trajectoire, | Le module simplifié ne gère qu’une seule trajectoire, | ||
| - | 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 | + | |
| - | } | + | 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, | Surveillez la vitesse consigne et la consigne de position. En cas de comportement erratique du PAMI en début ou en fin de trajectoire, | ||