Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: algorithme.h
- Revision:
- 3:97827746c632
- Parent:
- 0:9eb40ee5ff41
- Child:
- 4:c393c14f4502
diff -r d2e002754654 -r 97827746c632 algorithme.h
--- a/algorithme.h Fri May 31 11:17:32 2019 +0000
+++ b/algorithme.h Fri May 31 13:45:02 2019 +0000
@@ -17,23 +17,23 @@
// Paramètres de la voiture "fixe" mais à varier pour optimiser
float largeur_voiture=0.3; // (m) distance de sécurité comprise dedans
float vitesse_max=1.5; // (m/s)
-float angle_max = 20.0; // (degrees)
+float angle_max = 30.0; // (degrees)
float lidar_dmax = 5; // (m)
//float distance_securite=0.5; // A VOIR -> Inutile en faite
-float tau_prog = 0.050; // (s)
+float tau_prog = 2.0; // (s) La moitié de la fréquence du lidar à peu près
//float lidar_frequence = 10.0; // (Hz)
float rot_limite=(pi/2)*(180/pi)/0.5; // (deg/s)
-float acc_limite=3; // (m/s2)
+float acc_limite=5; // (m/s2)
// Paramètres de la voiture variable
float voiture_angle = 0.0; // self.angle (angle du repère)
-float voiture_angle_actuel = 0.0; // self.angleroues
+float voiture_angle_roues = 0.0; // self.angleroues
float facteur_angle = 0.0;
float facteur_distance = 0.0;
-float voiture_vitesse = 0.0;
+float voiture_vitesse = 2.0;
// Paramètres internes aux fonction
float angleSuivreSol;
@@ -228,7 +228,7 @@
float signe;
//On utilise self.ind pour calculer l'évolution de l'angle des roues
- float ancien_angle = voiture_angle_actuel;
+ float ancien_angle = voiture_angle_roues;
float nouveau_angle = exp(-deltat/tau_prog)*facteur_angle; // delta t définie pour toute la voiture
//On commence par limiter l'angle de variation:
@@ -264,16 +264,14 @@
signe = abs(nouvelleVitesse)/nouvelleVitesse;
nouvelleVitesse = signe*vitesse_max;
}
+ // Vitesse négative ?
return nouvelleVitesse;
}
void avancer(float deltat){
- vitesse_suivre = calculVitesse(deltat);
- angle_suivre = calculAngle(deltat);
-
- voiture_vitesse = vitesse_suivre;
- voiture_angle_actuel = angle_suivre;
+ voiture_vitesse = calculVitesse(deltat);
+ voiture_angle_roues= calculAngle(deltat);
facteur_angle = (angle_suivre-voiture_angle)*(1-exp(double( -1/50)));
facteur_vitesse = (vitesse_suivre-voiture_vitesse)*(1-exp(double(-1/50)));