Braitenberg Vehikel
Wie intelligent müssen Insekten sein?
- Jakob staunt über Käfer, der vor seiner Taschenlampe wegläuft „Boah!. Wer sagt, dass Insekten dumm sind! Das ist ja gar nicht so leicht mit den Augen und Fühlern Dinge wahrzunehmen und dann überlegen, wohin man läuft! Einen Roboter so zu programmieren, stelle ich mir mega-schwierig vor!“
- Lea: „ez …“
Aufgabenstellung
Diese „Wesen“ wurden vom Südtiroler Valentin Braitenberg erdacht und zeigen, dass schon einfache Mechanismen recht komplexe Verhaltensmuster erzeugen können. Er konzipierte insgesamt 14 Fahrzeugtypen deren Verhalten bewusst teilweise mit tierischen Verhaltensmustern verglichen wurden. Je nachdem wie Sensoren mit zwei Motoren verschaltet werden, ergeben sich Verhaltsmuster wie zB die Flucht vor Geräuschen oder Licht, oder ein aggressives darauf zusteuern.
Der BBC micro:bit soll auf einem Fahrzeug mit 2 unabhängigen Rädern angebracht werden und mit 2 Sensoren für zB Licht ausgestattet werden („LDR“ – Light Dependent Resistor“). Dafür gibt es entweder fertige Bausätze, wie zB von Kitronik und Sensoren wie zB von AZ-Delivery.
Materialien
- BBC micro:bit
- 1 Fahrzeug für den BBC micro:bit mit 2 Motoren, zB von Kitronik
- 2 lichtabhängige Widerstände (LDR) und 2 passende Widerstände (je nach Modell des LDR) oder fertige Module wie zB von AZ-Delivery
Zeitaufwand
- etwa 2 Schulstunden (eine Stunde für das Entwickeln des allgemeinen Codes und eine Stunde für Experimente mit verschiedenen Verhaltensmustern)
Schwierigkeitsgrad
Kompetenzen
Du lernst
- vernetztes und fachübergreifendes Denken
- das Formulieren und Kodieren von einfachen Abläufen in formalen Algorithmen
- Verständnis für einfache Mess- und Steueraufgaben
- dass scheinbares komplexes Verhalten schon durch einfache Strukturen und Regel erzeugt werden können
Unterrichtsfächer
INF, BU, PH
Tipps und Hilfestellung
- Die Lichtsensoren sollten am besten nicht beide gerade nach vorne schauen. Wie bei den meisten Insekten ist es besser, diese nach außen zeigen zu lassen. Befestige sie gut, aber so, dass man sie später auch wieder leicht entfernen kann, zB mit einem Stück Klebestreifen.
- Je nach Modell des LDR muss du diese noch mit dem BBC micro:bit korrekt verbinden. Die meisten Sensoren benötigen eine Spannungsversorgung (3V und GND) und haben eine Ausgang für den Messwert, den du mit einem passende Eingang des BBC micro:bit verbinden musst (hier haben wir P1 und P2 verwendet).
- Du musst darauf achten, dass die Motorgeschwindigkeit in einem für die jeweilige Motoren erlaubten Bereich bleibt. Du musst also bevor du die Sensorwerte an die Motoren schickst, diese noch eventuell „zurechtstutzen“.
- Je nachdem wo du bei deinem Gefährt vorne und hinten definierst, musst du auch noch die Drehrichtung der Motoren festlegen.
- Damit der Roboter nicht sofort losdüst, solltest du am besten noch so etwas wie eine Start- und Stoppfunktion einbauen, wie zB bei A fährt er los und bei B bleibt er wieder stehen. Das kann man elegant über eine Variable lösen, die man beim Drücken von A auf einen bestimmten Wert setzt und bei B auf einen anderen, und dann dauerhaft nur dann die Motoren auf eine gewünschte Geschwindigkeit setzt, wenn die Variable den richtigen Wert hat und sonst die Motoren ausschaltet.
Erforderliche Programmierblöcke
- Variable <spoiler text="Block"> </spoiler>
- Verschachtelte bedingte Anweisungen <spoiler text="Block"> </spoiler>
- dauerhaft <spoiler text="Block"> </spoiler>
- beim Start <spoiler text="Block"> </spoiler>
- schreibe analogen Pin <spoiler text="Block"> </spoiler>
Eckpfeiler zur Programmierung
Schritt für Schritt zur Lösung
- Hinweise zur Lösungsfindung und die Lösung findest du auf der Lösungsseite zu diesem Beispiel.
Präsentation und Reflexion
- Stelle dein Ergebnis vor! Was kann dein Projekt?
- Was hat dir bei der Entwicklung deines Produkts gefallen?
- Welche Schwierigkeiten hast du gehabt? Wie konntest du sie lösen?
- Erläutere, wie dein Programm aussieht!
- Welches Verhalten erzeugt dein spezielles „Insekt“ und was hast du dafür gemacht?
Weiterentwicklung
- Recherchiere im Internet nach den „Braitenberg Vehikel“ und schaue dir genau an, welche unterschiedlichen Verhaltensmuster diese zeigen
- Versuche einige dieser unterschiedlichen Kreaturen nachzubauen, indem du die eingelesenen Messwerte der Sensoren auf unterschiedliche Art und Weise in Kommandos für die beiden Motoren umrechnest!