Ajout de la fonction de maintien de position après un trajet.

This commit is contained in:
Samuel 2023-03-29 23:11:36 +02:00
parent 4fc35d5c1e
commit 30977bb4f1
3 changed files with 14 additions and 1 deletions

View File

@ -5,6 +5,8 @@
#define GAIN_P_POSITION 100
#define GAIN_P_ORIENTATION 20
struct position_t position_maintien;
/// @brief Asservissement de la position du robot. Les gains sont déterminés pour des positions très proches du robot
/// C'est à la consigne d'être défini avant pour être atteignable.
/// Nécessite l'appel des fonctions QEI_update(); Localisation_gestion(); AsserMoteur_Gestion(_step_ms);
@ -38,4 +40,12 @@ void Asser_Position(struct position_t position_consigne){
commande_vitesse(vitesse_robot_x_mm_s, vitesse_robot_y_mm_s, rotation_radian_s);
}
void Asser_Position_set_Pos_Maintien(struct position_t position){
position_maintien=position;
}
void Asser_Position_maintien(){
Asser_Position(position_maintien);
}

View File

@ -1,2 +1,4 @@
#include "Geometrie.h"
void Asser_Position(struct position_t position_consigne);
void Asser_Position(struct position_t position_consigne);
void Asser_Position_set_Pos_Maintien(struct position_t position);
void Asser_Position_maintien();

View File

@ -67,6 +67,7 @@ enum etat_trajet_t Trajet_avance(double pas_de_temps_s){
Asser_Position(position);
if(Trajet_terminee(abscisse)){
Asser_Position_set_Pos_Maintien(position);
trajet_etat = TRAJET_TERMINE;
}
return trajet_etat;