From 4de29cd37c73c2b16e11dbf9763f879fef4d63b6 Mon Sep 17 00:00:00 2001 From: Samuel Date: Wed, 2 Apr 2025 11:04:27 +0200 Subject: [PATCH] =?UTF-8?q?Rectification=20du=20d=C3=A9placement=20absolu?= =?UTF-8?q?=20-=20en=20panne=20depuis=20le=20changement=20de=20signe=20de?= =?UTF-8?q?=20l'angle=20de=20la=20triangulation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cerveau/Cerveau.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cerveau/Cerveau.ino b/Cerveau/Cerveau.ino index c0d73b6..6bb44a8 100644 --- a/Cerveau/Cerveau.ino +++ b/Cerveau/Cerveau.ino @@ -383,7 +383,7 @@ enum etat_action_t Strategie(void){ break; case STRAT_ALLER_GRADINS_1: - etat_action = deplacement_absolu(730, 550, M_PI/2., 0); + etat_action = deplacement_absolu(800, 800, -M_PI/2., 0); if(etat_action == ACTION_TERMINEE){ etat_strategie = STRAT_RECULE_BANDEROLE; return ACTION_TERMINEE; @@ -429,10 +429,10 @@ void compar_cinematique(int consigne_x_mm, int consigne_y_mm, float consigne_ori // Distance à parcourir float distance_calculee = sqrt(sq(compar_X) + sq(compar_Y)); - float angle_robot_vers_destination = M_PI_2 - atan2(compar_Y, compar_X); + float angle_robot_vers_destination = M_PI + atan2f(compar_Y, compar_X); - chassis_emission->translation_x_mm = sin(angle_robot_vers_destination - Angle_Robot_RAD) * distance_calculee; - chassis_emission->translation_y_mm = cos(angle_robot_vers_destination - Angle_Robot_RAD) * distance_calculee; + chassis_emission->translation_x_mm = cos(angle_robot_vers_destination - triangulation_reception.angle_rad) * distance_calculee; + chassis_emission->translation_y_mm = sin(angle_robot_vers_destination - triangulation_reception.angle_rad) * distance_calculee; chassis_emission->rotation_z_rad = 0; chassis_emission->status = MOUVEMENT_EN_COURS; }