Braitenberg Vehikel: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Martin.teufel (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
== [[Datei:Icon_story.png|20px|Icon]] Wie intelligent müssen Insekten sein? ==
== [[Datei:Icon_story.png|20px|Icon]] Wie intelligent müssen Insekten sein? ==


[[Datei:pic1.jpg|right|500px|border|Ein Braitenberg Vehikel mit dem BBC micro:bit]]
[[Datei:Braitenberg1.jpg|right|300px|border|Ein Braitenberg Vehikel mit dem BBC micro:bit]]
: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!“
: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 …“
:: Lea: „ez …“


== [[Datei:icon_gluehbirne.png|20px|Icon]] Aufgabenstellung==
== [[Datei:icon_gluehbirne.png|20px|Icon]] 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.
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 zB Licht ausgestattet werden („LDR“ – Light Dependent Resistor“). Dafür gibt es entweder fertige Bausätze, wie zB von [https://kitronik.co.uk/products/5638-line-following-buggy-for-the-bbc-microbit-v20 Kitronik] und Sensoren wie zB von [https://www.az-delivery.de/products/licht-sensor-modul AZ-Delivery].
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 [https://kitronik.co.uk/products/5638-line-following-buggy-for-the-bbc-microbit-v20 Kitronik] und Sensoren wie zB von [https://www.az-delivery.de/products/licht-sensor-modul AZ-Delivery].




== [[Datei:icon_material.png|20px|Icon]] Materialien ==
== [[Datei:icon_material.png|20px|Icon]] Materialien ==


[[Datei:pic2.jpg|right|500px|border|Braitenberg Vehikel von vorne]]
[[Datei:Braitenberg2.jpg|right|300px|border|Braitenberg Vehikel von vorne]]
[[Datei:Braitenberg3.jpg|right|300px|border|Braitenberg Vehikel von oben]]
* BBC micro:bit
* BBC micro:bit
* 1 Fahrzeug für den BBC micro:bit mit 2 Motoren, zB von [https://kitronik.co.uk/products/5638-line-following-buggy-for-the-bbc-microbit-v20 Kitronik]
* 1 Fahrzeug für den BBC micro:bit mit 2 Motoren, z.B. von [https://kitronik.co.uk/products/5638-line-following-buggy-for-the-bbc-microbit-v20 Kitronik]
* 2 lichtabhängige Widerstände (LDR) und 2 passende Widerstände (je nach Modell des LDR) oder fertige Module wie zB von [https://www.az-delivery.de/products/licht-sensor-modul AZ-Delivery]
* 2 lichtabhängige Widerstände (LDR) und 2 passende Widerstände (je nach Modell des LDR) oder fertige Module wie z.B. von [https://www.az-delivery.de/products/licht-sensor-modul AZ-Delivery]




== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand ==
== [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand ==


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


== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad ==
== [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad ==
Zeile 29: Zeile 30:


Du lernst
Du lernst
* vernetztes und fachübergreifendes Denken
* vernetzt und fachübergreifend zu denken
* das Formulieren und Kodieren von einfachen Abläufen in formalen Algorithmen
* das Formulieren und das Kodieren von einfachen Abläufen in formalen Algorithmen
* Verständnis für einfache Mess- und Steueraufgaben
* dein Verständnis für einfache Mess- und Steueraufgaben
* dass scheinbares komplexes Verhalten schon durch einfache Strukturen und Regel erzeugt werden können
* dass scheinbar komplexes Verhalten schon durch einfache Strukturen und Regeln erzeugt werden kann


== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer ==
== [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer ==
INF, BU, PH
Informatik, Biologie, Physik


== [[Datei:Icon_hilfe.png|20px|Icon]] Tipps und Hilfestellung ==
== [[Datei:Icon_hilfe.png|20px|Icon]] 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.
* 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“.
* 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).
** 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.
* 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“.
** Würde ich den gleichen linken Sensor hingegen mit dem rechten Motor verdrahten, so würde er sich zum Licht hindrehen.
* Je nachdem wo du bei deinem Gefährt vorne und hinten definierst, musst du auch noch die Drehrichtung der Motoren festlegen.
** 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“.
* 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.
** 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.


===Erforderliche Programmierblöcke===
*[[Variablen|Variable]] <spoiler text="Block"> [[Datei:Variable.png|border|500px|Icon]]</spoiler>
*Verschachtelte  [[Bedingte_Anweisungen|bedingte Anweisungen]] <spoiler text="Block"> [[Datei:Geschachtelte verzweigung.png|500px|Icon|border|Bedingte Anweisung verschachtelt]]</spoiler>
*[[Schleifen|dauerhaft]] <spoiler text="Block"> [[Datei:dauerhaft.png|500px|Icon|border|]]</spoiler>
*[[Schleifen|beim Start]] <spoiler text="Block"> [[Datei:Beimstart.png|500px|Icon|border|]]</spoiler>
*schreibe analogen Pin <spoiler text="Block"> [[Datei:Schreibepin.png|500px|Icon|border|]]</spoiler>


===Eckpfeiler zur Programmierung===
Weitere Infos, Hinweise und auch eine mögliche, komplette Lösung findest du auf der [[Braitenberg_Lösung|Lösungsseite zu diesem Beispiel]].
 
===[[Braitenberg_Lösung|Schritt für Schritt zur Lösung]]===
:Hinweise zur Lösungsfindung und die Lösung findest du auf der [[Braitenberg_Lösung|Lösungsseite zu diesem Beispiel]].


== [[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion ==
== [[Datei:presentation.png|20px|Icon]] Präsentation und Reflexion ==
Zeile 66: Zeile 63:
== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==
== [[Datei:icon_plus.png|20px|Icon]] Weiterentwicklung ==


* Recherchiere im Internet nach den „Braitenberg Vehikel“ und schaue dir genau an, welche unterschiedlichen Verhaltensmuster diese zeigen
* 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!
* 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?

Aktuelle Version vom 30. März 2022, 07:02 Uhr

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?