Time is good

Dependencies:   RoboClaw mbed

Fork of Robot2016_2-0 by ARES

Files at this revision

API Documentation at this revision

Comitter:
IceTeam
Date:
Thu May 05 01:29:35 2016 +0000
Parent:
68:d19988565dfd
Child:
70:d70a6db1f635
Commit message:
Ca marche pas trop mal ...

Changed in this revision

Map/map.cpp Show annotated file Show diff for this revision Revisions of this file
Odometry/Odometry.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/Map/map.cpp	Thu May 05 00:41:18 2016 +0000
+++ b/Map/map.cpp	Thu May 05 01:29:35 2016 +0000
@@ -3,14 +3,16 @@
 /* Dernier Changement : Romain 20h30 */
 
 void map::Build_Objectives() {
-    logger.printf("map::Build_Objectives Creation des Objectifs ...\n\r");
-    if (couleur == VERT) {
-        addObj (objectif (OBJ_BLOC, 120, 1000, 0, Codo, Parasol, pince));
-        addObj (objectif (OBJ_BLOC, 120, 1000, 0, Codo, Parasol, pince, 10));
-    }
-    else {
-        addObj (objectif (OBJ_BLOC, 3000-120, 1000, 0, Codo, Parasol, pince));
-        addObj (objectif (OBJ_BLOC, 3000-120, 1000, 0, Codo, Parasol, pince));
+    if (objectifs.empty()) {
+        logger.printf("map::Build_Objectives Creation des Objectifs ...\n\r");
+        if (couleur == VERT) {
+            addObj (objectif (OBJ_BLOC, 120, 1000, 0, Codo, Parasol, pince));
+            addObj (objectif (OBJ_BLOC, 120, 1000, 0, Codo, Parasol, pince, 10));
+        }
+        else {
+            addObj (objectif (OBJ_BLOC, 3000-120, 1000, 0, Codo, Parasol, pince));
+            addObj (objectif (OBJ_BLOC, 3000-120, 1000, 0, Codo, Parasol, pince));
+        }
     }
 }
 
@@ -24,6 +26,8 @@
     else {
         Codo->setPos(Y_START, Y_START, -PI);
     }
+    Build();
+    Build_Objectives();
 }
 
 void map::addObs (obsCarr nobs) {
@@ -195,7 +199,7 @@
 void map::Execute(int obj) {
     objectif o = objectifs[obj];
     logger.printf("map::Execute(int obj) Realisation de l'objectif %d\n\r", obj);
-    logger.printf("Depart [%f, %f] Objectif [%f, %f]", Codo->getX(), Codo->getY(), o.getX(), o.getY());
+    logger.printf("Depart [%f, %f] Objectif [%f, %f]\n\r", Codo->getX(), Codo->getY(), o.getX(), o.getY());
     // logger.printf("Findway %f-%f -> %f-%f\n\r", Codo->getX(), Codo->getY(), XObjectif, YObjectif);
     FindWay (Codo->getX(), Codo->getY(), o.getX(), o.getY());
     
@@ -220,7 +224,7 @@
 
 void map::Execute() {
     for (int i = 0; i < objectifs.size();++i) {
-        logger.printf("map::Execute() Realisation de l'objectif %d", i);
+        logger.printf("map::Execute() Realisation de l'objectif %d\n\r", i);
         Execute(i);
     }
 }
--- a/Odometry/Odometry.cpp	Thu May 05 00:41:18 2016 +0000
+++ b/Odometry/Odometry.cpp	Thu May 05 01:29:35 2016 +0000
@@ -107,6 +107,7 @@
 
 void Odometry::GotoThet(double theta_)
 {
+    logger.printf("Odometry::GotoThet...");
     //pos_prog++;
     //logger.printf("Theta : %3.2f\n\r", theta_*180/PI);
     //arrived = false;
@@ -140,18 +141,20 @@
 
     //logger.printf("IniR:%6d\tDistR:%6d\tIniL:%6d\tDistL:%6d\n\r", pos_initiale_right, distance_ticks_right, pos_initiale_left, distance_ticks_left);
 
-    while((m_pulses_right != distance_ticks_right)&&(m_pulses_left != distance_ticks_left))
-        logger.printf ("[Thet] %d\t%d\n\r", m_pulses_right - distance_ticks_right, m_pulses_left - distance_ticks_left); 
+    while((m_pulses_right != distance_ticks_right)&&(m_pulses_left != distance_ticks_left));
+       // logger.printf ("[Thet] %d\t%d\n\r", m_pulses_right - distance_ticks_right, m_pulses_left - distance_ticks_left); 
     //logger.printf("%6d\t%6d\t%6d\t%6d\t%6d\n\r",m_pulses_right - pos_initiale_right, distance_ticks_right, m_pulses_left - pos_initiale_left, distance_ticks_left);
     
     wait(0.4);
     setTheta(theta_);
     //arrived = true;
     //logger.printf("arrivey %d\n\r",pos_prog);
+    logger.printf("End\n\r");
 }
 
 void Odometry::GotoDist(double distance)
 {
+    logger.printf("Odometry::GotoDist...");
     //pos_prog++;
     //logger.printf("Dist : %3.2f\n\r", distance);
     //arrived = false;
@@ -169,6 +172,7 @@
     wait(0.4);
     //logger.printf("arrivey %d\n\r",pos_prog);
     //logger.printf("X : %3.2f\tY : %3.2f\tTheta : %3.2f\n\r", getX(), getY(), getTheta()*180/PI);
+    logger.printf("End\n\r");
 }
 
 void Odometry::TestEntraxe(int i) {
@@ -188,8 +192,8 @@
     
     roboclaw.SpeedAccelDeccelPositionM1M2(accel_angle, vitesse_angle, deccel_angle, distance_ticks_right, accel_angle, vitesse_angle, deccel_angle, distance_ticks_left, 1);
     
-    while((m_pulses_right != distance_ticks_right)&&(m_pulses_left != distance_ticks_left))
-        logger.printf ("[Dist] %d\t%d\n\r", m_pulses_right - distance_ticks_right, m_pulses_left - distance_ticks_left);
+    while((m_pulses_right != distance_ticks_right)&&(m_pulses_left != distance_ticks_left));
+       // logger.printf ("[Dist] %d\t%d\n\r", m_pulses_right - distance_ticks_right, m_pulses_left - distance_ticks_left);
         
     wait(0.4);
 }
--- a/main.cpp	Thu May 05 00:41:18 2016 +0000
+++ b/main.cpp	Thu May 05 01:29:35 2016 +0000
@@ -64,7 +64,6 @@
 {
     init();
     map m(&odo, NULL, &controlleurPince, VERT, 1);
-    m.Build();
     m.Execute(0);
     m.Execute();
     /*drapeau = 0;