Modification fin trajet + correction bug dans la fin de la strategie
This commit is contained in:
parent
c66f1011bc
commit
24912e2bda
@ -31,8 +31,10 @@ void temps_cycle_reset(){
|
||||
}
|
||||
|
||||
void Monitoring_display(){
|
||||
while(1){
|
||||
temps_cycle_display();
|
||||
}
|
||||
}
|
||||
|
||||
void temps_cycle_display(){
|
||||
uint32_t temps;
|
||||
|
@ -116,7 +116,7 @@ void Strategie(enum couleur_t couleur, uint32_t step_ms){
|
||||
|
||||
case LANCER_PANIER:
|
||||
if(lance_balles_dans_panier(couleur, step_ms)== ACTION_TERMINEE){
|
||||
etat_homologation = STRATEGIE_FIN;
|
||||
etat_strategie = STRATEGIE_FIN;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -278,6 +278,7 @@ enum etat_action_t lance_balles_dans_panier(enum couleur_t couleur, uint32_t ste
|
||||
Asser_Position_maintien();
|
||||
if(lance_balles(step_ms) == ACTION_TERMINEE){
|
||||
etat_action = ACTION_TERMINEE;
|
||||
etat_lance_balles_dans_panier = CALAGE_PANIER_1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
4
Trajet.c
4
Trajet.c
@ -18,6 +18,7 @@ struct trajectoire_t trajet_trajectoire;
|
||||
struct position_t position_consigne;
|
||||
|
||||
float distance_obstacle_mm;
|
||||
float distance_fin_trajectoire_mm;
|
||||
const float distance_pas_obstacle = 2000;
|
||||
|
||||
/// @brief Initialise le module Trajet. A appeler en phase d'initilisation
|
||||
@ -96,7 +97,7 @@ int Trajet_terminee(float abscisse){
|
||||
}*/
|
||||
|
||||
if(trajet_trajectoire.type != TRAJECTOIRE_BEZIER){
|
||||
if(abscisse >= 1 ){
|
||||
if(abscisse >= 1 || distance_fin_trajectoire_mm < 0.1){
|
||||
return 1;
|
||||
}
|
||||
}else{
|
||||
@ -126,6 +127,7 @@ float Trajet_calcul_vitesse(float pas_de_temps_s){
|
||||
// Calcul de la vitesse maximale due à la contrainte en fin de trajectoire (0 mm/s)
|
||||
// https://poivron-robotique.fr/Consigne-de-vitesse.html
|
||||
distance_contrainte = Trajectoire_get_longueur_mm(&trajet_trajectoire) - position_mm;
|
||||
distance_fin_trajectoire_mm=distance_contrainte;
|
||||
// En cas de dépassement, on veut garder la contrainte, pour l'instant
|
||||
if(distance_contrainte > 0){
|
||||
vitesse_max_contrainte = sqrtf(2 * acceleration_mm_ss * distance_contrainte);
|
||||
|
Loading…
Reference in New Issue
Block a user