Das wird eine gute Diskussion.

Vorschlag für die Steuerungskommandos von meiner Seite:
1. Geradeausfahrt mit unbestimmter Wegstrecke
2. Stop (muß schnell reagieren)
3. Auslesen der gefahrenen Strecke
4. Drehen auf der Stelle um einen bestimmten Winkel
5. Geradeausfahrt einer bestimmten Strecke, trotzdem durch Stop unterbrechbar!
Optional noch:
6. Fahren bestimmter Bögen, ebenfalls durch Stop unterbrechbar
7. Aneinanderhängen von einigen Kommandos zum Fahren bestimmter Wegstrecken und Bögen, ohne daß der Roboter dazwischen stoppt.

Die Reaktion auf Hindernisse kann man nicht ganz wegdenken. Deshalb das Stoppen auf externes Kommando. Im Zusammenspiel mit einem trägen Windows-Rechner wäre mir ein direktes Reagieren des Microcontrollers auf Sensorsignale fast lieber. Aber ein elegantes Ausweichen wäre übertrieben. Mir genügt Stehenbleiben und dem Hauptrechner Zeit zum Denken geben.

Abschätzung zum Takt von Algorithmus und Lichtschranken:
Aufgrund der Trägheit selbst kleinster Motoren muss der Algorithmus nicht öfter als 10mal pro Sekunde laufen. Oder? So richtig kenne ich mich da nicht aus. Und zwischen den Durchläufen muss eine vernünftige Anzahl von Lichtschrankenimpulsen zusammenkommen, es genügt wohl ein Byte voll. Das ergibt bei einer gegebenen Endgeschwindigkeit des Roboters die Auflösung.

Werde als Beispiel mal die Auflösung meines Roboters berechnen, die sich einfach aus den mechanischen Möglichkeiten ergab.

Tom.