This program is for an autonomous robot for the competition at the Hochschule Luzern. http://cruisingcrepe.wordpress.com/ We are one of the 32 teams. http://cruisingcrepe.wordpress.com/ The postition control is based on this Documentation: Control of Wheeled Mobile Robots: An Experimental Overview from Alessandro De Luca, Giuseppe Oriolo, Marilena Vendittelli. For more information see here: http://www.dis.uniroma1.it/~labrob/pub/papers/Ramsete01.pdf

Dependencies:   mbed

Fork of autonomous Robot Android by Christian Burri

Revision:
5:48a258f6335e
Parent:
4:3a97923ff2d4
Child:
6:48eeb41188dd
--- a/main.cpp	Fri Mar 08 09:54:34 2013 +0000
+++ b/main.cpp	Thu Mar 21 08:56:53 2013 +0000
@@ -100,37 +100,40 @@
     state.startTimerFromZero();
     state.start();
 
-    robotControl.setPositionAngle(-1.20f, 1.50f,  3*PI/4);
+    robotControl.setDesiredPositionAndAngle(START_X_OFFSET, START_Y_OFFSET, PI/2);
+    wait(0.1);
+
+    robotControl.setDesiredPositionAndAngle(-1.20f, 1.50f,  3*PI/4);
     while(!(robotControl.getDistanceError() <= 0.4)) {
         state.savePlotFile(s);
     };
 
-    robotControl.setPositionAngle(-1.20f, 2.6f,  PI/4);
-    while(!(robotControl.getDistanceError() <= 0.4)) {
-        state.savePlotFile(s);
-    };
-
-    robotControl.setPositionAngle(-0.45f, 3.4f,  PI/2);
+    robotControl.setDesiredPositionAndAngle(-1.20f, 2.5f,  PI/4);
     while(!(robotControl.getDistanceError() <= 0.4)) {
         state.savePlotFile(s);
     };
 
-    robotControl.setPositionAngle(-1.0f, 3.6f,  PI);
+    robotControl.setDesiredPositionAndAngle(-0.45f, 3.2f,  3*PI/4);
     while(!(robotControl.getDistanceError() <= 0.4)) {
         state.savePlotFile(s);
     };
 
-    robotControl.setPositionAngle(-1.5f, 3.9f,  PI);
+    robotControl.setDesiredPositionAndAngle(-1.0f, 3.6f,  PI);
+    while(!(robotControl.getDistanceError() <= 0.2)) {
+        state.savePlotFile(s);
+    };
+
+    robotControl.setDesiredPositionAndAngle(-1.5f, 3.6f,  PI);
     while(!(robotControl.getDistanceError() <= 0.03)) {
         state.savePlotFile(s);
     };
-    
-        robotControl.setPositionAngle(-2.5f, 3.0f,  -PI/2);
+
+    robotControl.setDesiredPositionAndAngle(-2.5f, 3.0f,  -PI/2);
     while(!(robotControl.getDistanceError() <= 0.4)) {
         state.savePlotFile(s);
     };
-    
-            robotControl.setPositionAngle(-1.75f, 1.30f,  -PI/2);
+
+    robotControl.setDesiredPositionAndAngle(-1.75f, 1.30f,  -PI/2);
     while(!(robotControl.getDistanceError() <= 0.04)) {
         state.savePlotFile(s);
     };