Braitenberg Vehikel

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen

Icon Wie intelligent müssen Insekten sein?

Ein Braitenberg Vehikel mit dem BBC micro:bit
Ein Braitenberg Vehikel mit dem BBC micro:bit
Jakob staunt über einen Käfer, der vor dem Licht 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 …“

Icon Aufgabenstellung

Diese „künstlichen 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 wurde. Je nachdem, wie die Sensoren mit zwei Motoren verschaltet werden, ergeben sich bestimmte Verhaltensmuster, z.B. ein Fluchtverhalten oder umgekehrt ein Angriffsverhalten bei Geräuschen oder Licht.

Der BBC micro:bit soll auf einem Fahrzeug mit 2 unabhängigen Rädern angebracht werden und mit 2 Sensoren für z.B. Licht ausgestattet werden („LDR“ – Light Dependent Resistor“). Dafür gibt es entweder fertige Bausätze, wie z.B. von Kitronik und Sensoren wie zB von AZ-Delivery.


Icon Materialien

Braitenberg Vehikel von vorne
Braitenberg Vehikel von vorne
Braitenberg Vehikel von oben
Braitenberg Vehikel von oben
  • BBC micro:bit
  • 1 Fahrzeug für den BBC micro:bit mit 2 Motoren, z.B. von Kitronik
  • 2 lichtabhängige Widerstände (LDR) und 2 passende Widerstände (je nach Modell des LDR) oder fertige Module wie z.B. von AZ-Delivery


Icon Zeitaufwand

  • ca. 2 Schulstunden (eine Stunde für das Entwickeln des allgemeinen Codes und eine Stunde für Experimente mit verschiedenen Verhaltensmustern)

Icon Schwierigkeitsgrad

borderlessborderlessborderless

Icon Kompetenzen

Du lernst

  • vernetzt und fachübergreifend zu denken
  • das Formulieren und das Kodieren von einfachen Abläufen in formalen Algorithmen
  • dein Verständnis für einfache Mess- und Steueraufgaben
  • dass scheinbar komplexes Verhalten schon durch einfache Strukturen und Regeln erzeugt werden kann

Icon Unterrichtsfächer

Informatik, Biologie, Physik

Icon Tipps und Hilfestellung

  • Die grundlegende Idee hinter diesen „Vehikeln“ ist, dass man 2 Motoren fast direkt mit den Werten von 2 Sensoren ansteuert – in der Elektronik würde man sagen „verdrahtet“.
    • Verbinde ich z.B. einen Lichtsensor auf der linken Seite eines Vehikels mit dem linken Motor, dann wird der Motor schneller drehen umso größer der Sensorwert, also umso heller es links ist. Das Vehikel dreht sich somit vom Licht weg.
    • Würde ich den gleichen linken Sensor hingegen mit dem rechten Motor verdrahten, so würde er sich zum Licht hindrehen.
    • Macht man das mit 2 Sensoren links und rechts und mit 2 Motoren gleichzeitig, ergibt sich je nach Verbindungsmuster zwischen den Sensoren und Motoren ein unterschiedliches „Verhalten“.
    • Bringt man noch etwas Mathematik mit ins Spiel, sodass man die Werte vorher noch nach bestimmten Mustern umrechnet, lassen sich recht komplexe Verhaltensmuster erzeugen, wie man sie von einfachen Tierarten kennt.
  • 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, z.B. 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 einen Ausgang für den Messwert, den du mit einem passenden 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 jeweiligen 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 sie, wie gewünscht, vor- und nicht rückwärtsfahren (einfach ausprobieren!).
  • Damit der Roboter nicht sofort los düst, solltest du am besten noch so etwas wie eine Start- und Stoppfunktion mit den Tasten des BBC micro:bit einbauen, z.B. 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.


Weitere Infos, Hinweise und auch eine mögliche, komplette Lösung findest du auf der Lösungsseite zu diesem Beispiel.

Icon Präsentation und Reflexion

  1. Stelle dein Ergebnis vor! Was kann dein Projekt?
  2. Was hat dir bei der Entwicklung deines Produkts gefallen?
  3. Welche Schwierigkeiten hast du gehabt? Wie konntest du sie lösen?
  4. Erläutere, wie dein Programm aussieht!
  5. Welches Verhalten erzeugt dein spezielles „Insekt“ und was hast du dafür gemacht?

Icon Weiterentwicklung

  • Recherchiere im Internet nach den „Braitenberg Vehikeln“ und schaue dir genau an, welche unterschiedlichen Verhaltensmuster diese zeigen. Weiter oben haben wir ja schon den "Lichtflüchter" und den "Lichtfolger" erwähnt, aber es gibt noch einige andere.
  • 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!
  • Statt Licht könnte das Insekt auch auf andere Umweltreize reagieren, z.B. Schall. Oder was wäre noch möglich?