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