Arbeitsblatt: Wie rede ich mit einem Roboter?

Ähnliche Dokumente
Programmablaufplan. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

Pacman. Projektbeschreibung. Aus was wir Pacman nachgebaut haben. Anpassungen and die physikalische Welt, oder wie wir das

Kapitel 2: Programmfluss steuern

LEGO WeDo: SCRATCH-Programmierung

Tutorial zum Umgang mit Scratch

Welche Roboter kennst du? Wo brauchst du zuhause Roboter?

Wie Sensoren funktionieren

2. Teil: Programmierung der Roboter

Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:

1 Karol stellt sich vor

Kara-Programmierung. Mag. Karen Hollweger, BG/BRG Bad Ischl Informatik, Mathematik

Fragen? Wie komme ich effizient zu einem Programm? Wie beschreibe/dokumentiere ich meine Idee?

Lego Roboter mit NXT-G programmieren. Hochschule Mannheim

Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS. Abb. 1: Programmfenster. Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter

2. Die Grundbausteine

Programmieren mit RoboLab Bauen mit Lego

Übungen mit Anleitung. Hamster-Simulator. Nicola Ramagnano 23. Oktober 2011

Infokarte: Snap4Arduino

Programmieren mit dem Java-Hamster-Modell. VP Orientierung Informatik WS 2008/09 H.Hagenauer

4-Betriebsarten-Bedienfeld für Ablaufsteuerungen Seite: 1. 4-Betriebsarten-Bedienfeld für Ablaufsteuerungen

Bedienung Escort Temperaturlogger

Mikrocontroller: Einführung

Kara programmieren als Automat

Mikrocontroller: Einführung

Die NXT-Motoren im Detail

mblock & mbot Roboter Programmierung auf der Basis von Scratch

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

5. Elementare Befehle und Struktogramme

Voran-auf-Distanz. Stufenplan zum Aufbau von

Mathematik. Technik. Programmieren. Physik. Mechanik. Elektronik. Getriebeverhältnisse. Sensoren Antwort/ Feedback. Einfache Maschinen

Ein Tabellenverfahren zur Lösung linearer Gleichungssysteme

Projektarbeit. Roboterbau. Von Natascha Gieser Gruppe 6

Grundlegende Programmierkonzepte: Abläufe mit Wiederholungen (Schleifen)

Trainingseinheiten Beachvolleyball

Teamprojekt: Programmierung verteilter eingebetteter Systeme

Basisanforderungen: EVA-Prinzips. Erweiterte Anforderungen: wirtschaftlichen und privaten Alltag.

Mit dieser kleinen Adapter-Platine können HD44780 kompatible LCD-Displays am I2C-Bus betrieben werden.

Inhaltsverzeichnis. Andreas Stadler. Mein LEGO -EV3-Buch. Eigene Roboter bauen und programmieren mit LEGO MINDSTORMS. ISBN (Buch):

KAPITEL 1. Rapport. * aus Wikipedia. Der Unterschied zwischen einem hochgradig einflussreichen Menschen und einem arbeitslosen Bankkaufmann?

Programmieren. Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda

Zugang Website:

Greenfoot: Verzweigungen

1/12. IdeenSet Robotik. Pro-Bot Aufgabenblätter. IdeenSet Robotik. PHBern 2015,

Grundlagen der Programmierung

Lego Mindstorm. Aufgabe 1 II

Unterrichtseinheit. Code ist cool - Kinder lernen programmieren. Autoren

Wo finde ich Audacity? Audacity steht kostenlos zum Download auf bereit.

September Schülerinnen, 18 Schüler der Klassen G1 bis G4. Sabine Kaufmann, Barbara Hofmänner, Alexander Zerr

Aufgabe Im Quadrat fahren

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Roboter programmieren

Checkliste und Problemlösung für Markisen

Rund ums Fahrrad Ein Unterrichtsprojekt für den 7. Jahrgang

THRUSTMASTER BENUTZERHANDBUCH ENGLISH DEUTSCH TECHNISCHE MERKMALE HOTLINE

Zusätzlich erforderlich: einige Blätter Papier (A4-A3) - Arbeitsblatt Station 5: Olympische Disziplin Geschicklichkeit

Einfaches Labyrinth Kleeblatt-Suche

Learning Machine. Inhaltsverzeichnis

Wiederholung von Äquivalenzumformungen (Lösen linearer Gleichungen): Wiederholung von Äquivalenzumformungen (Lösen von Ungleichungen):

Frage 8.3. Wozu dienen Beweise im Rahmen einer mathematischen (Lehramts-)Ausbildung?

Inhaltsverzeichnis. Ramona Betschart

VU Grundlagen digitaler Systeme

Übungen auf instabiler Unterlage

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

SCOPA-COG. Gedächtnis und Lernen

Einführung in die Programmierung mit VBA

Flussdiagramm / Programmablaufplan (PAP)

Deinen EV3-Kasten vorbereiten

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

WI-05 Projekt Mobile Agenten Protokoll

Techtelmechtel mit der Technik

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt Semester ARBEITSBLATT 14. Systeme linearer Ungleichungen in einer Variablen

S4A-Zoo. Programmieren mit Scratch in der Grundschule. von Sabine Wolff & Annelie v. Trotha betreut von Prof. E. Modrow

Programmieren für Wirtschaftswissenschaftler SS 2015

Einführung in die Programmiersprache SCRATCH

Erkenne deine Muster...

- Der heisse Draht - Physical Computing. Workshop Oktober 2015 Olav Schettler

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren

Programmierkonventionen - 1 -

Übungen auf instabiler Unterlage

Access Grundlagen. David Singh

Objektorientierte Programmierung

Volleyball: Champ-Ball - Gliederung

Technik veranschaulichen und begreifen mit LEGO MINDSTORMS Robotern

Entwurf von Algorithmen - Kontrollstrukturen

Werkrealschule/Hauptschule Deutsch (WRS/HS) 6 (WRS/HS) Michaela Kratz Vier Stunden

Beschreibung des Bedienteils (Zugangsmodul mit Bediensegmenten) GARAGE HAUS KOMPLETT SCHARF KOMPLETTE SCHARFSCHALTUNG

ModernOffice - Outlook-Synchronisation

Flappy Bird Greenfoot Station 1: Flappy erstellen und bewegen

( ) 30. Baue das Basismodel von NXT. Halte dich dabei an die bereitgestellte Bauanleitung auf der Website oder am Arbeitsplatz.

II. Grundlagen der Programmierung

64 Szene 1: Am Bahnhof Zoo 65 Szene 2: In der Linie 100 durch Berlin 66 Szene 3: Das Buddy-Bears-Projekt Texte der Hörszenen: S.

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Schleifen in C/C++/Java

Wirkungsvoll vorlesen Übersicht

Übungen auf instabiler Unterlage

Ein eigenes kleines Buch selbst herstellen

Arbeitsheft zum Handbuch Programmieren für Kinder

Werkstattunterricht Religion - Jona

Didaktische Umsetzung des Themas "Modellierung und Problemlösung" mit Programmierumgebungen in der Sekundarstufe I

Schulwegsicherheit Eine Infoveranstaltung der Elternräte und der Stadtpolizei

Transkript:

Arbeitsblatt: Wie rede ich mit einem Roboter? Ausgangslage: Ein Roboter besitzt Sensoren, um seine Umgebung wahrzunehmen, und Aktoren, um seine Umgebung zu beeinflussen. Auch Menschen besitzen Sensoren (Ohren, Augen ) und Aktoren (Füsse, Hände ). In vielen alltäglichen Situationen benutzt der Mensch seine Sensoren und Aktoren, ohne dabei bewusst zu überlegen. Dies macht es schwierig, zu erkennen, welche Fähigkeiten zum Erfüllen einer einfachen Aufgabe nötig sind. Zudem muss beim Roboter das ganze Programm bereits vorgängig festgelegt werden. Man kann dem Roboter während eines Ablaufs keine zusätzlichen Befehle oder Korrekturen mehr geben. Deshalb muss für den Roboter das ganze Programm im Voraus und in einer für ihn verständlichen Sprache festgelegt werden. Mit den folgenden Aufgaben wirst du dies üben und die wichtigsten Befehle und Begriffe der Robotersprache kennenlernen. Regeln: In den folgenden Übungen übernimmt die Lehrperson oder jemand aus der Klasse die Rolle des Roboters. Versuche, den Roboter bei allen Aufgaben so präzise wie möglich und so effizient wie möglich (also mit möglichst wenigen Befehlen) zu «programmieren». Beachtet dabei, dass der Roboter immer nur genau das ausführen kann, wozu er programmiert wurde, und selber keine intelligenten Entscheidungen treffen kann. Beispiel: Ein Befehl «Roboter, beginne eine Bewegung nach vorn!», gefolgt von «Roboter, beende deine Bewegung, wenn du im Ziel stehst», ist natürlich nicht möglich! Da der Roboter selber weder weiss noch erkennen kann, wo das Ziel liegt. Vorbereitung: Vereinbart miteinander Befehle, die der Roboter verstehen soll. So zum Beispiel: - vorwärtsgehen - Stopp - x Schritte vorwärtsgehen (anstelle von x kann eine beliebige Zahl stehen) - Robotervokabular/Befehle Elementare Aktionen Gehen Stopp Drehen links Drehen rechts Die Roboterperson geht. Die Roboterperson steht still. Die Roboterperson dreht sich nach links. Die Roboterperson dreht sich nach rechts. 1

Elementare Ablaufregelungen (x steht für eine beliebige Zahl) Warten x Schritte Warten x Sekunden Warten bis Berührung Warten, bis x Grad gedreht Warten, bis Distanz kleiner x Warten heisst nicht stillstehen, sondern die vorangehende Tätigkeit (Bewegung) wird ausgeführt, bis x Schritte getan sind. Warten heisst nicht stillstehen, sondern die vorangehende Tätigkeit (Bewegung) wird ausgeführt, bis x Sekunden vorbei sind. Falls dies verwendet wird, soll der Roboterspieler die Hand ausstrecken. x ist positiv für Drehungen nach rechts und negativ für Drehungen nach links. Die vorangehende Tätigkeit wird weitergeführt, bis die Distanz nach vorne kleiner x ist. «Intelligente» Aktionen mit integrierter Ablaufregelung (x steht für eine beliebige Zahl) Gehen x Schritte Gehen x Sekunden Gehen bis Berührung Drehen (links oder rechts) x Grad Gehen, bis Distanz kleiner x Die Roboterperson geht x Schritte und stoppt automatisch. Die Roboterperson geht x Sekunden lang und stoppt automatisch. Die Roboterperson geht, bis die Hand etwas berührt, und stoppt automatisch. Die Roboterperson dreht sich um x Grad und stoppt automatisch. Die Roboterperson geht, bis Distanz kleiner x, und stoppt automatisch. Weitere wichtige Ablaufregelungen (Schleife und Ablaufverzweigung) Wiederholen Schleife Befehle bis x Mal durchgeführt Prüfen, ob Sensorwert grösser x Falls wahr: Befehle A Falls falsch: Befehle B Ende Verzweigung Schleife: Die Roboterperson wiederholt die genannte Sequenz x Mal. Die Ablaufverzweigung ist von einem Sensorwert abhängig: Wenn der Sensorwert grösser x ist, werden die Befehle A durchgeführt, sonst werden die Befehle B durchgeführt. 2

Aufgabe 1: Sequenzieller Programmablauf Beschreibung: Beachtet, dass der Roboter für die folgende Aufgabe weder sehen noch hören kann. Er kann nur klaren Befehlen gehorchen, wie sie in seinem Programm von Anfang an festgeschrieben sind. 2. Programmiererinnen und Programmierer: Überlegt euch, mit welchen Befehlen aus den obigen Tabellen ihr das Programm des Roboters schreiben wollt, und schreibt sie hier wörtlich auf (jeder Befehl eine Zeile): 3. Programmiererinnen und Programmierer: Erklärt die Startposition. Lest die Befehle dem Robotermenschen vor. Wenn er alle verstanden hat, könnt ihr den Robotermenschen mit dem Befehl «Start» laufen lassen. 3

Aufgabe 2: Programmablauf mit «Warten» Beschreibung: Für diese zweite Aufgabe ist der Roboter mit einem Berührungssensor ausgestattet (beim Menschen z. B. die nach vorne gestreckte Hand). Dies erlaubt neue Möglichkeiten der Programmierung und Steuerung. Der entscheidende Befehl in der Robotersprache lautet: Warten bis Mit diesem Befehl kann man den Roboter eine Bewegung ausführen lassen, bis der Sensor anspricht. Man muss dann einfach noch die Bedingung angeben. Für die Lösung dürfen nur elementare Aktionen mit elementaren Ablaufregelungen verwendet werden. 2. Jede Gruppe überlegt sich, welche Befehle sie in das Programm des Roboters schreiben will, und schreibt sie hier wörtlich auf (jeder Befehl eine Zeile): 3. Programmierer: Erklärt die Startposition. Lest die Befehle dem Robotermenschen vor. Wenn er alle verstanden hat, könnt ihr den Robotermenschen mit dem Befehl «Start» laufen lassen. 4

Aufgabe 3: Programmablauf mit «Schleife» Beschreibung: Gewisse Programme kann man vereinfachen (kürzen), wenn mehrere Programmschritte innerhalb einer «Schleife» zusammengefasst und mehrfach wiederholt werden. Bei der folgenden Aufgabe lässt sich dies anwenden. 2. Jede Gruppe überlegt sich, welche Befehle sie in das Programm des Roboters schreiben will, und schreibt sie hier wörtlich auf (jeder Befehl eine Zeile): 3. Programmiererinnen und Programmierer: Erklärt die Startposition. Lest die Befehle dem Robotermenschen vor. Wenn er alle verstanden hat, könnt ihr den Robotermenschen mit dem Befehl «Start» laufen lassen. 5

Aufgabe 4: Programmablauf mit Verzweigung (auch Schalter genannt) Beschreibung: In gewissen Situationen ist es wünschenswert, dass der Roboter eine Entscheidung treffen kann. Dies wird meistens in Kombination mit einem Sensormesswert angewendet. Versucht, dies bei der folgenden Aufgabe anzuwenden. Der entscheidende Befehl in der Robotersprache lautet: Prüfen, ob Sensorwert grösser x Falls wahr: Programmsequenz A Falls falsch: Programmsequenz B Ende Verzweigung 2. Jede Gruppe überlegt sich, welche Befehle sie in das Programm des Roboters schreiben will, und schreibt sie hier wörtlich auf (jeder Befehl eine Zeile): 3. Programmiererinnen und Programmierer: Erklärt die Startposition. Lest die Befehle dem Robotermenschen vor. Wenn er alle verstanden hat, könnt ihr den Robotermenschen mit dem Befehl «Start» laufen lassen. 6

Zusammenfassung: Der Grundwortschatz für das Programmieren eines Roboters Für das Programmieren eines Roboters brauchst du nur die folgenden vier Befehle und zwei Begriffe zu kennen: Befehlstypen: - Aktion (Aufnahme/Abspielen, Klang und Anzeige funktionieren genau gleich) - Warten - Schleife - Schalter Begriffe: - sequenzieller Programmablauf - Bedingung Mit diesen Befehlen kannst du schon eine ganze Menge programmieren. Der Kreativität sind da fast keine Grenzen gesetzt. Beachte, dass in den Lösungen zu den Aufgaben die gleichen Arten von Befehlen immer mit der gleichen Farbe gekennzeichnet sind. Bei der Programmierung des echten Roboters auf dem Computer werden die gleichen Farben zur Kennzeichnung verwendet. Die wichtigsten Zusammenhänge: - Die Befehle vom Typ «Warten» und «Schalter» sind fast immer an die Bedingung eines Sensors gekoppelt. - Mithilfe des Befehls vom Typ «Schalter» können «Entweder-oder-Entscheidungen» getroffen werden. - Mithilfe von «Schleifen» können Befehle zusammengefasst und wiederholt werden, was eine effiziente Programmierung erlaubt. 7