Wiki: Mathe und Info

Unterrichtsmaterialien für Mathematik und Informatik

Benutzer-Werkzeuge

Webseiten-Werkzeuge


info:sek-i:9:mindstorms:l4-autonomes-fahren-2

Autonomes Fahren II

Info

In der letzten Stunde hat euer Roboter gelernt - mehr oder weniger - einer Linie zu folgen. In dieser Stunde werden wir ein neues Programmierkonzept kennen lernen, das es uns ermöglicht, den Roboter zu verbessern, sodass er einer Linie viel besser folgen kann.

Aufgabe 0

Öffne MakeCode und starte ein neues Projekt.

Fachkonzept - Variable

Variablen dienen in der Informatik dazu, Daten zu verwalten. Eine Variable ist ein Name, der mit einem Datenobjekt verknüpft ist. Betrachte als Beispiel eine Situation, in der Daten über eine Preisberechnung verwaltet werden.

Variable Datenobjekt Kommentar
listenpreis80.0Der Preis eines Fernsehers
mwst_prozentsatz0.19Die Mehrwertsteuer beträgt 19%
mehrwertsteuer15.2listenpreis * mwst_prozentsatz
endpreis95.2listenpreis + mehrwertsteuer

Hier wird u.a. die Variable mit dem Namen mehrwertsteuer benutzt, um die Zahl 15.2 als Datenobjekt zu verwalten.

Als Wert einer Variablen wird das Datenobjekt angesehen, das von der Variablen verwaltet wird.

Bei der Wahl der Variablennamen sollte man sprechende Namen benutzen. Das sind Namen, die möglichst gut erklären, welche Daten mit der Variablen verwaltet werden.

Aufgabe 1 - Kalibrierung

Eine Problematik, weswegen der Roboter unzuverlässig fährt, ist die Tatsache, dass der Lichtsensor relativ empfindlich ist. Er reagiert auch auf Änderungen an der Umgebungshelligkeit (z.B. Sonneneinstrahlung).

Um dieses Problem zu beheben, ist es wichtig, den Lichtsensor vor dem Start des Programms zu kalibrieren.

a) Erstelle die vier Variablen Schwarz, Weiß, Mitte und Aktuell.

b) Um den Lichtsensor zu kalibrieren, ist es sinnvoll zu messen, welche Werte er tatsächlich für schwarz bzw. weiß misst. Dazu muss der Roboter zuerst auf eine schwarze Fläche und danach auf eine weiße Fläche gesetzt werden. Diese Werte kann man speichern, um sie später wieder abrufen zu können. Außerdem sollte ein Wert für die Mitte zwischen diesen beiden Werten berechnet werden, der entscheidet, ob man eher nach links oder rechts fahren sollte.

Aufgabe 2 - Verbessertes autonomes Fahren

a) Um diese Werte nun auch verwenden zu können, müssen wir zum Fahren auch jedes Mal den aktuell gemessenen Wert auslesen. Dann können wir mit Hilfe dem in der Variable Mitte gespeicherten Wert entscheiden, ob wir nach links oder rechts fahren müssen.

b) Damit scheinen wir allerdings das Problem noch nicht behoben zu haben. Besser wäre es doch, wenn der Roboter sich ausrechnen könnte, wie viel er sich drehen müsste, anstatt sich immer mit dem gleichen Drehverhältnis zu drehen. Dazu benötigen wir eine neue Variable Faktor.

  • Diese muss zuerst im beim Start-Block auf 1 gesetzt werden:

  • Danach kann die benötigte Drehkorrektur wie folgt berechnet werden:

c) Das scheint schon etwas besser zu funktionieren, allerdings immer noch nicht gut. Wäre doch schön, wenn es hierfür eine Stellschraube gäbe, die wir verändern könnten, damit der Roboter besser funktioniert, oder? Genau dafür ist die Variable Faktor gedacht. Verändert den Wert der Variablen und experimentiert, mit welchem Wert der Roboter am besten funktioniert.

  • Tipp: Kommazahlen müssen mit Punkt statt Komma eingegeben werden, als $1.5$ statt $1,5$!
info/sek-i/9/mindstorms/l4-autonomes-fahren-2.txt · Zuletzt geändert: 2021-12-10 11:35 von christian.weber