diff --git a/Fahrzeug/README.md b/Fahrzeug/README.md
index eeee850709c3c0f30401fb0c6da8fb6c0eb12d71..93b34fdf5d00a2bb1f6e93b0c066e70a6808ac79 100644
--- a/Fahrzeug/README.md
+++ b/Fahrzeug/README.md
@@ -44,6 +44,15 @@ course_state_t state_table[] = {
  {4, 0.00, 0.00, 1, 0, 0},     // 2 = linke Seite
  {5, 0.00, 0.00, 1, 0, 0}      //Parken  1: vorwaerts , 2: rueckwaerts , 3: seitlich
 }
+
+//Die Zustandstabelle des vollstaendigen BITS3 Parkhaus sieht wie folgt aus:
+course_state_t state_table[] = {
+   {1, 0.00, 0.70, 0, 0, 0},
+   {2, 2.00, 0.70, 2, 0, 0},
+   {3, 2.00, 2.40, 1, 0, 0},
+   {4, 0.00, 2.40, 1, 0, 0},
+   {5, 0.00, 0.70, 1, 0, 0}
+};
 ```
 
 ### Fahrzeug Parameter
diff --git a/Fahrzeug/bits3-bare-minimum/basic_functions.h b/Fahrzeug/bits3-bare-minimum/basic_functions.h
index 827ae1b30bbf7c002ef2275d18959691dabc06a2..5a161ac14abcb243ad95557ee4df3ed5260d1f80 100644
--- a/Fahrzeug/bits3-bare-minimum/basic_functions.h
+++ b/Fahrzeug/bits3-bare-minimum/basic_functions.h
@@ -338,21 +338,26 @@ void proof_drive() {
     Motor.stop();     //falls ja, ausschalten des Motor und aktivieren der Warnblinke (5 sek)
     warn_signal();
   }
-  v = v_start;;     //Setzen einer Startgeschwindigkeit, damit kein Feststecken in Logikschleife
+  v = v_start;     //Setzen einer Startgeschwindigkeit, damit kein Feststecken in Logikschleife
 }
 
 //Regelung für die Fahrt parallel zu einer seitlichen Wand (abh. von Fahrbahnbreite)
 void course_correction_side(int side) {
+  //Zeitintervall seit letzter Regelung bestimmen
+  now = millis();
+  dt = (now - last_time) / 1000;
+  last_time = now;
+
   if (side == 1) {                                    //Korrektur auf rechter Seite
     tof_r_1 = tof_controller.get_distance_mm(2);      //Nutzung des vorderen rechten TOF Sensors
     wall_difference = tof_r_1 - wall_distance;        //Regelung erfolgt anhand eines Soll-Abstandes
-    output_value = pid.compute(wall_difference);
+    output_value = pid.compute(wall_difference, dt);
     servo_steering_angle = STEER_START_POS - output_value;
   }
   else if (side == 2) {                                    //Korrektur auf linker Seite
     tof_l_1 = tof_controller.get_distance_mm(1);        //Nutzung des vorderen linken TOF Sensors
     wall_difference = tof_l_1 - wall_distance;          
-    output_value = pid.compute(wall_difference);
+    output_value = pid.compute(wall_difference, dt);
     servo_steering_angle = STEER_START_POS + output_value;
   }
   else {                                       //wird 0 anstatt 1 oder 2 übergeben erfolgt keine Regelung
diff --git a/Fahrzeug/bits3-bare-minimum/bits3-bare-minimum.ino b/Fahrzeug/bits3-bare-minimum/bits3-bare-minimum.ino
index c24fd31f74b8f80c5ba56d7d58f85af187867910..7f3770a180e933aaf0e83662487ba808606c7b4c 100644
--- a/Fahrzeug/bits3-bare-minimum/bits3-bare-minimum.ino
+++ b/Fahrzeug/bits3-bare-minimum/bits3-bare-minimum.ino
@@ -12,13 +12,16 @@
   - Name des Skripts
 
   Description:
-  - Beschrebiung was dieses Skript macht
+  - Beschreibung was dieses Skript macht
 
   Author:
   - Namen der Autoren 
 
 **************************************************/
 
+// Das folgende define Statement auskommentieren, um die Funktion des Fahrzeugs ohne Schranke zu testen
+#define SCHRANKE
+
 /* ******************************* *
    Kommunikation des Arduino Megas
  * ******************************* */
@@ -94,8 +97,8 @@ void setup() {
 
   // Initialisierung abgeschlossen
   _println_("Ready!");
-  // buzzer_signal(350, 2, 100); //tone() und IR-Empfangen läuft nicht gleichzeitig!!!!
 
+#ifdef SCHRANKE
   // Heranfahren an Schranke
   drive_light_on();
   ServoSteer.turn(STEER_START_POS);
@@ -111,8 +114,11 @@ void setup() {
   set_led_color(0, 100, 0);
   all_led_blink(2, 200);
   delay(3000); // Warten bis Schranke offen ist
-}
 
+#endif
+
+  pid_start = millis();
+}
 
 /* ************* *
    Hauptprogramm
diff --git a/Fahrzeug/bits3-bare-minimum/config.h b/Fahrzeug/bits3-bare-minimum/config.h
index a197edddaeed27d3f95907c4a92a23e051e10f9e..3195e0ae1593f563deab35e8caae08b3d0ed5ab2 100644
--- a/Fahrzeug/bits3-bare-minimum/config.h
+++ b/Fahrzeug/bits3-bare-minimum/config.h
@@ -85,9 +85,9 @@ float distance = 0.00;             //Distanz [m] die das Fahrzeug zurück gelegt
  * Servomotor Lenkung *
  * ****************** */
 const int STEER_SERVO_PIN = 11;
-const int STEER_ANGLE_MAX = 138;    // Muss eventuell angepasst werden!
-const int STEER_ANGLE_MIN = 64;     // Muss eventuell angepasst werden!
-const int STEER_START_POS = 93;     // Muss eventuell angepasst werden!
+const int STEER_ANGLE_MAX = 110;    // Muss angepasst werden!!!
+const int STEER_ANGLE_MIN = 70;     // Muss angepasst werden!!!
+const int STEER_START_POS = 90;     // Muss angepasst werden!!!
 thk_ServoController ServoSteer(STEER_SERVO_PIN, STEER_START_POS, STEER_ANGLE_MAX, STEER_ANGLE_MIN);
 
 int STEER_HALF_RIGHT = STEER_START_POS + (STEER_ANGLE_MAX-STEER_START_POS)/2;
@@ -199,6 +199,10 @@ const double diff_gain = 0.0;     //D-Glied
 uint8_t setpoint = 0;             //Zielwert Regeldifferenz
 double wall_difference;           //Regelgroeße: Differenz zwischen TOF-Wert und Soll Wert
 double output_value;              //korrigierter Lenkwinkel durch PID
+double last_time = 0.0;           //Zeitvariable zum berechnen von dt
+double now = 0.0;                 //Zeitvariable zum berechnen von dt
+double dt = 0.0;                  //Zeit der Regelstrecke
+double pid_start = 0.0;               //Startzeit zur pid MESSUNG
 thk_PIDController pid(prop_gain, int_gain, diff_gain, 0);
 
 double left_right_difference;           //Differenz TOF vorne
@@ -223,11 +227,11 @@ typedef struct course_state_t
 // Hier wird der Fahrkurs in einer Tabelle für das Fahrzeug definiert:
 // Leere Zustandstabelle, Daten kommen mit Hilfe von Funk/IR von Parkplatzinfrastruktur
 course_state_t state_table[] = {
- {1, 0.00, 0.00, 0, 0, 0},
- {2, 0.00, 0.00, 2, 0, 0},
- {3, 0.00, 0.00, 1, 0, 0},
- {4, 0.00, 0.00, 1, 0, 0},
- {5, 0.00, 0.00, 1, 0, 0}
+   {1, 0.00, 0.00, 0, 0, 0},     
+   {2, 0.00, 0.00, 2, 0, 0},
+   {3, 0.00, 0.00, 1, 0, 0},
+   {4, 0.00, 0.00, 1, 0, 0},
+   {5, 0.00, 0.00, 1, 0, 0}
 };
 
 const int ABSCHNITTE = sizeof(state_table) / sizeof(course_state_t);    //Größe der Tabelle (Anzahl der Abschnitte siehe Parklayout)
diff --git a/Fahrzeug/bits3-bare-minimum/custom_config.h b/Fahrzeug/bits3-bare-minimum/custom_config.h
index 8ed825e906e5bb5ec07567408ce63139e8e3ea41..be9611b1de61e75e21bdb901e0ca6a87e769ca8a 100644
--- a/Fahrzeug/bits3-bare-minimum/custom_config.h
+++ b/Fahrzeug/bits3-bare-minimum/custom_config.h
@@ -1,6 +1,20 @@
 #ifndef CUSTOMCONFIG_H
 #define CUSTOMCONFIG_H
 
-int pl_halter = 0;
+#ifndef SCHRANKE
+//Diese Statetable kann zum testen der Reglerfunktion an einer beliebigen Strecke verwendet werden.
+//Die verwendete Strecke muss dazu vermessen werden und die Abschnitte müssen sorgtfältig in die Statetable eingetragen werden.
+//Lesen Sie die Readme für mehr Informationen zur Statetable.
+    course_state_t state_table[] = {
+        {1, 0.00, 0.00, 0, 0, 0},     
+        {2, 0.00, 0.00, 2, 0, 0},     //1 = rechts
+        {3, 0.00, 0.00, 1, 0, 0},     //2 = links
+        {4, 0.00, 0.00, 1, 0, 0},
+        {5, 0.00, 0.00, 1, 0, 0}
+    };
+#endif
+
+int pl_halter = 0
+
 
 #endif
\ No newline at end of file