Ups, ich hoffe ich greife jetzt nicht etwas vor.

Teil 1, 2 und 3 habe ich mir so 'gedacht' und hab deshalb schon mal bei Punkt 4 angefangen. Dabei habe ich gleich das 'volle' Programm von P, I und D genutzt und einen PID-Regleger zusammengestellt und in C-Code umgesetzt. Punkt 5 ist bei mir funktionsfähig. (mein Gedanke zur Optimierung ist jetzt, dass ich in Kurven noch die Geschwindigkeit runterregeln möchte. Weiterer PID-Regler in Sicht. Aber wer weiss, was eine Kurve ist, wenn man nur 2 Detektoren hat?)

In Datei gerade.c werden am Anfang Werte an die Variablen p1, p2, q0, q1 und q2 zugewiessen. Diese Werte habe ich mit Hilfe der im ZIP enthaltenen EXCEL-Datei ermittelt.
Der Reiter 'Tabelle1' ist dafür zuständig.
Der Reiter 'Tabelle2' kann die vom ASURO gesamelten Messwerte anzeigen. (Muster in PID.txt)

Um die 'richtigen' Parameter zu finden habe ich mein Gefühl auf Reiter 'Tabelle1' losgelassen. Die grün hinterlegten Felder musste ich 'mal hier und mal dort' ändern um eine halbwegs 'schöne' Kurve zu bekommen.
Dann habe ich die blauen Felder in gerade.c in die oben erwähnten Variablen (eigendlich Konstanten) übernommen.

P.S.: Die kleine Formel unter /* Berechnung der Reglerausgangsgroesse */ ist der PID-Regler. Hier kann ich nur auf eine Z-Faltung der Summe aus proportionalem, integralem und differentialem Anteil in der Literatur hinweisen. Jedenfalls hat das da so gestanden. (Quelle ist leider im internet verloren gegangen. bzw. ich habe mal wieder keinen Bookmark gesetzt. sorry)