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:
9:d3cdcdef9719
Parent:
8:696c2f9dfc62
Child:
10:09ddb819fdcb
--- a/StateDefines/defines.h	Sat Mar 30 06:55:08 2013 +0000
+++ b/StateDefines/defines.h	Sat Mar 30 16:35:22 2013 +0000
@@ -12,10 +12,10 @@
 #define PULSES_PER_STEP       6u            // Pulses per electrical step Hallsensor, have 6 steps
 
 // Physical Dimension of the car
-#define WHEEL_RADIUS_DIFF     -0.00015f      // positiv zu weit rechts, given in [m]
-#define WHEEL_RADIUS_LEFT     0.040280f     // radius of the left wheel, given in [m] 0.040479f
+#define WHEEL_RADIUS_DIFF     0.0000f      // positiv zu weit rechts, given in [m]
+#define WHEEL_RADIUS_LEFT     0.040280f     // radius of the left wheel, given in [m] 0.040280f
 #define WHEEL_RADIUS_RIGHT    (WHEEL_RADIUS_LEFT - WHEEL_RADIUS_DIFF)    // radius of the left wheel, given in [m]
-#define WHEEL_DISTANCE        0.1875f       // Distance of the wheel, given in [m] Grösser --> mehr drehen
+#define WHEEL_DISTANCE        0.2000f       // Distance of the wheel, given in [m] Grösser --> mehr drehen
 
 // State Bits of the car
 #define STATE_STOP            1u            // Bit0 = stop pressed 
@@ -24,12 +24,12 @@
 #define STATE_RIGHT           8u            // Bit3 = right ESCON in error state     
 
 // ESCON Constands
-#define ESCON_SET_FACTOR      1200.0f       // Speed Factor how set in the ESCON 
-#define ESCON_GET_FACTOR      1400.0f       // Speed Factor how get in the ESCON 
+#define ESCON_SET_FACTOR      1500.0f       // Speed Factor how set in the ESCON 
+#define ESCON_GET_FACTOR      1600.4f       // Speed Factor how get in the ESCON 
 
 //Error patch of the drift of Analog input and pwn output
-#define SET_SPEED_PATCH       (1+0.0029f)  // patch factor of set speed
-#define GET_SPEED_PATCH       (1+0.0019f)  // patch factor of get speed              
+#define SET_SPEED_PATCH       (1+0.00262f)  // patch factor of set speed
+#define GET_SPEED_PATCH       (1+0.0019f)   // patch factor of get speed              
 
 // Start Defintition
 #define START_X_OFFSET        -0.8f         // Sets the start X-point [m]
@@ -40,9 +40,9 @@
 #define THETA_ACCELERATION    1.0f          // maximum rotational acceleration, given in [rad/s2]
 
 // position controller
-#define GAIN                  0.30f         // Main Gain
-#define K1                    1.0f * GAIN
-#define K2                    3.0f * GAIN
+#define GAIN                  0.8f         // Main Gain
+#define K1                    0.8f * GAIN
+#define K2                    3.0f * GAIN // deafult 3.0f
 #define K3                    2.0f * GAIN   // deafult 2.0f
 #define MIN_DISTANCE_ERROR    -0.005f         // min. Distance to switch the position controller off. Because when Distance Error goes to zero the ATAN2 is not define, given in [m]