Materialien zum Unterricht

Alles dreht sich...

Zur besseren Orientierung werden die Himmelsrichtungen benutzt. Aus der ursprünglichen Himmelsrichtung und der Zielrichtung wird berechnet, wie weit sich der Roboter drehen soll und vor allem in welche Richtung. Die neue Richtung soll immer auf dem kürzesten Weg erreicht werden.

Von Nord nach Ost darf sich der Roboter eben nicht über Westen drehen, da dieser Weg drei Mal so lang ist wie direkt nach Osten. Damit der kürzeste Weg berechnet werden kann, bekommen die Himmelsrichtungen Ziffern zugewiesen. Wenn die Ziffern der Anfangs- und Endpunkte subtrahiert werden, dann die erforderliche Drehung bestimmt werden.

Die Tabelle listet alle Drehmöglichkeiten auf. Also der erste Eintrag bedeudet, dass sich der Robotor von Norden nach Osten drehen soll. Das geht mit einer 90°-Drehung nach rechts.

Wie man sieht, gibt es nur drei Drehmöglichkeiten: rechts und links mit je 90° und rechts mit 180° (man kann auch nach links mit 180° drehen)

Man muss nun nur noch herausfinden, unter welchen Bedingungen eine der drei Drehungen auszuführen ist.

richtung_alt richtung_neu Differenz Richtung Drehwinkel
0 1 -1 R 90°
0 3 -3 L 90°
0 2 -2 R 180
1 2 -1 R 90°
1 0 1 L 90°
1 3 -2 R 180°
2 3 -1 R 90°
2 1 1 L 90°
2 0 2 R 180°
3 0 3 R 90°
3 2 1 L 90°
3 1 2 R 180°

Es wird eine Funktion geschrieben, der die Himmelsrichtung als Buchstabe übergeben wird. Aus eine Liste wird die Ziffer für diese Richtung rausgesucht, die Differenz bestimmt und dann die Richtungsnummer gespeichert.

Der Befehl zum Drehen ist dann ganz einfach.

Wichtig: In der Roboterkonfiguration müssen der Rahtdurchmesser und der Radabstand. Falls es kleine Abweichungen gibt, kann man dort noch etwas nachjustieren.

zurück