MINDSTORMS EV3 Set

Einen Roboter entwickeln, der Gegenstände aufnimmt und ablegt

Ein Robotersystem konstruieren, bauen und programmieren, das einen Gegenstand an einer Stelle aufnehmen kann und an einer anderen Stelle wieder ablegt.

120+ Min.
Fortgeschrittene
Klassen 9–12
3_Make_a_Pick_and_Place_Robot

Unterrichtsplan

Vorbereiten

  • Lesen Sie diese Unterrichtsmaterialien durch.
  • Falls Sie es für nötig erachten, planen Sie eine Unterrichtsstunde ein, in der Sie zur Einführung die Erste-Schritte-Materialien in der EV3 Desktop-Software oder der EV3 Programmier-App bearbeiten. Dies wird Ihren Schülerinnen und Schülern dabei helfen, sich mit LEGO® MINDSTORMS® Education EV3 vertraut zu machen.

Einführen (30 Min.)

  • Nutzen Sie die unten stehenden Diskussionsideen, um ein Gespräch über den Inhalt dieses Projekts anzuregen.
  • Erklären Sie das Projekt.
  • Teilen Sie die Klasse in Zweierteams auf.
  • Geben Sie den Schülerinnen und Schülern Zeit, um Ideen zusammenzutragen.

Erkunden (30 Min.)

  • Lassen Sie die Teams mehrere Prototypen entwickeln.
  • Regen Sie sie dazu an, sowohl beim Bauen als auch beim Programmieren zu experimentieren.
  • Lassen Sie die Teams zwei Lösungen bauen und testen.
  • Geben Sie ihnen ein großes Blatt Millimeterpapier sowie Bunt- oder Filzstifte.

Erklären (60 Min.)

  • Lassen Sie jedes Team seine Lösungen ausprobieren und anschließend die beste auswählen.
  • Achten Sie darauf, dass sie in der Lage sind, eigene Tabellen für die Tests zu erstellen.
  • Lassen Sie den Teams etwas Zeit, um ihre Projekte abzuschließen und Materialien zum Dokumentieren ihrer Arbeit zusammenzustellen.

Vertiefen (60 Min.)

  • Geben Sie den Teams Zeit, um ihren Abschlussbericht zu erstellen.
  • Lassen Sie die Teams einzeln ihre Ergebnisse vorstellen.

Beurteilen

  • Geben Sie allen Schülerinnen und Schülern einzeln Rückmeldung zu ihrer jeweiligen Leistung.
  • Zur Unterstützung können Sie hierfür die Bewertungsraster nutzen.

Eine Diskussion anregen

Roboter, die Gegenstände aufnehmen und wieder ablegen, werden als Industrieroboter eingesetzt, um Objekte an vorab festgelegte Orte zu bringen. Je nach Form, Gewicht und Zerbrechlichkeit des Gegenstands kommen unterschiedliche Greifer zum Einsatz, um die Objekte sicher und präzise aufzunehmen und sie wieder loszulassen.

Engage-Pick-and-Place-Robot-Cover

Regen Sie die Schülerinnen und Schüler dazu an, ihre Ideen auszutauschen.

Bitten Sie sie, über folgende Fragen nachzudenken:

  • Was ist ein Industrieroboter zum Aufnehmen und Ablegen von Gegenständen und wo wird er verwendet?
  • Welcher motorisierte Mechanismus kann verwendet werden, um den Gegenstand aufzunehmen?
  • Wie kann der Roboter den Gegenstand bewegen?
  • Wie kann der Roboter den Gegenstand an einem anderen Ort vorsichtig und präzise ablegen?

Ermutigen Sie die Teams dazu, ihre ersten Ideen zu dokumentieren und zu begründen, warum sie diese oder jene Lösung für den ersten Prototyp ausgewählt haben. Fragen Sie, wie man die ausgewählten Ideen im weiteren Verlauf des Projekts beurteilen könnte. Wenn die Teams später ihre Arbeit überprüfen und überarbeiten, haben sie so bereits genaue Anhaltspunkte, die sie zum Beurteilen ihrer Lösung heranziehen können. Darauf aufbauend können sie entscheiden, ob die Lösung ihren Zweck erfüllt oder nicht.

Erweiterungen

Erweiterung: sprachliche Ausdrucksfähigkeit

Um die sprachliche Ausdrucksfähigkeit zu fördern, können Sie die Schülerinnen und Schüler Folgendes tun lassen:

Option 1

  • Mithilfe von schriftlichen Aufzeichnungen und/oder Fotos den Konstruktionsprozess zusammenfassen und einen Abschlussbericht erstellen
  • Ein Video erstellen, das den Konstruktionsprozess zeigt – von den ersten Ideen bis zum fertigen Projekt
  • Eine Präsentation über ihr Programm erarbeiten
  • Eine Präsentation erarbeiten, in der sie eine Verbindung zwischen ihrem Projekt und Anwendungen ähnlicher Systeme aus dem Alltag herstellen sowie neue Erfindungen beschreiben, die man auf Grundlage ihrer Arbeit entwickeln könnte

Option 2
Um die sprachliche Ausdrucksfähigkeit zu fördern, können Sie die Schülerinnen und Schüler Folgendes tun lassen:

  • Verschiedene Maschinen recherchieren, die Medikamente und Impfstoffe herstellen, und dann die Arbeit in einem automatisierten Medizinlabor beschreiben – einschließlich eines Vorteils und eines Nachteils dieser Automatisierung

  • Vor dem Hintergrund des Datenschutzes diskutieren, warum es für das Urheberrecht problematisch sein kann, wertvolle Medikament-Zusammensetzungen in einem Online-System zu speichern; dabei Folgendes berücksichtigen:

  • welche Folgen der Verlust von Medikamentendaten für ein Unternehmen haben kann

  • welche Vorteile das Speichern von vertraulichen Daten in Online-Systemen hat

Erweiterung: Mathematik

Für diese Aufgabe haben die Teams einen Roboter entwickelt, der Gegenstände aufnimmt und ablegt. Wie bei allen automatisierten Systemen ist es auch hier entscheidend, die Leistung des Roboters beurteilen und verbessern zu können. Mithilfe des maschinellen Lernens können solche Roboter ihre eigene Leistung messen und darauf aufbauend Anpassungen vornehmen, um ihre Leistung aufrechtzuerhalten oder zu verbessern.

Um mathematische Fähigkeiten zu fördern und das maschinelle Lernen zu erforschen, können Sie die Schülerinnen und Schüler Folgendes tun lassen:

  • Die Begriffe „Genauigkeit“ und „Präzision“ definieren und diese Definitionen bei den Robotern anwenden
  • Die Variablen bestimmen, die Einfluss auf die Genauigkeit und Präzision der Systeme haben (z. B. die Geschwindigkeit des Roboters kann die Genauigkeit, die Präzision oder beides beeinflussen)
  • Mini-Experimente durchführen, um zu testen, ob die ausgewählten Variablen die Genauigkeit, Präzision oder beides beeinflussen

Bautipps

Anregungen zum Bauen
Geben Sie den Schülerinnen und Schülern die Möglichkeit, verschiedene Beispiele (siehe Links unten) zu bauen. Regen Sie sie dazu an, selbst zu erforschen, wie diese Systeme funktionieren. Anschließend sollen sie Ideen dazu sammeln, wie man diese Systeme zum Lösen der Konstruktionsaufgabe nutzen könnte.

Tipps zum Testen der Lösung
Ermutigen Sie die Teams dazu, ein eigenes Testverfahren zu entwerfen, um die beste Lösung zu bestimmen. Diese Tipps können ihnen dabei helfen:

  • Position der Maschine auf dem Millimeterpapier markieren, damit sie bei jedem Testlauf an derselben Stelle steht
  • Mithilfe der Raster 1 x 1 cm große Quadrate festlegen, mit denen die Ergebnisse jedes Testlaufs aufgezeichnet werden können
  • Mit Stiften den erwarteten und den tatsächlichen Ablageort markieren
  • Testtabellen zum Aufzeichnen der Beobachtungen vorbereiten
  • Präzision des Roboters auswerten, indem die erwarteten Ergebnisse mit den tatsächlichen Ergebnissen verglichen werden
  • Test mindestens dreimal wiederholen

Beispiellösung
Hier ist eine Beispiellösung, die alle Kriterien der Konstruktionsaufgabe erfüllt:

pick-and-place-solution-bi-cover
Pick-and-Place-Solution-Cover

Programmiertipps

Beispielprogramm mit EV3 MicroPython

#!/usr/bin/env pybricks-micropython

from pybricks import ev3brick as brick
from pybricks.ev3devices import Motor, TouchSensor, ColorSensor
from pybricks.parameters import (Port, Stop, Direction, Button,
                                 ImageFile, SoundFile)
from pybricks.tools import wait

# Configure the gripper motor with default settings.
gripper_motor = Motor(Port.A)

# Configure the elbow motor.  It has an 8-tooth and a 40-tooth gear
# connected to it.  Set the motor direction to counterclockwise, so
# that positive speed values make the arm move upward.
elbow_motor = Motor(Port.B, Direction.COUNTERCLOCKWISE, [8, 40])

# Configure the motor that rotates the base.  It has a 12-tooth and a
# 36-tooth gear connected to it.  Set the motor direction to
# counterclockwise, so that positive speed values make the arm move
# away from the Touch Sensor.
base_motor = Motor(Port.C, Direction.COUNTERCLOCKWISE, [12, 36])

# Limit the elbow and base accelerations.  This results in very smooth
# motion, like that of an industrial robot.
elbow_motor.set_run_settings(60, 120)
base_motor.set_run_settings(60, 120)

# Set up the Touch Sensor.  It is used to detect when the base has
# moved to its starting position.
touch_sensor = TouchSensor(Port.S1)

# Set up the Color Sensor.  It is used in Reflected Light Intensity
# Mode to detect the white beam when the elbow is in its starting
# position.
color_sensor = ColorSensor(Port.S3)

# Initialize the elbow.  This is done by first moving down for 1 second
# and then slowly moving up until the Color Sensor detects the white
# beam.  Then the motor stops, holds its position, and resets the angle
# to "0."  This means that when it rotates backward to "0" later on, it
# returns to this starting position.
elbow_motor.run_time(-30, 1000)
elbow_motor.run(15)
while color_sensor.reflection() < 30:
    wait(10)
elbow_motor.stop(Stop.HOLD)
elbow_motor.reset_angle(0)

# Initialize the base.  This is done by first running the base motor
# counterclockwise until the Touch Sensor is pressed.  Then the motor
# stops, holds its position, and resets the angle to "0."  This means
# that when it rotates backward to "0" later on, it returns to this
# starting position.
base_motor.run(-60)
while not touch_sensor.pressed():
    wait(10)
base_motor.stop(Stop.HOLD)
base_motor.reset_angle(0)

# Initialize the gripper.  This is done by running the motor forward
# until it stalls.  This means that it cannot move any further.  From
# this closed gripper position, the motor rotates backward by 90
# degrees, so the gripper opens up.  This is the starting position.
gripper_motor.run_until_stalled(200, Stop.COAST, 50)
gripper_motor.reset_angle(0)
gripper_motor.run_target(200, -90)

def robot_pick(position):
    # This function rotates the base to the pick up position.  There,
    # it lowers the arm, closes the gripper, and raises the arm to pick
    # up the wheel stack.
    base_motor.run_target(60, position, Stop.HOLD)
    elbow_motor.run_target(60, -45)
    gripper_motor.run_until_stalled(200, Stop.HOLD, 50)
    elbow_motor.run_target(60, 0, Stop.HOLD)

def robot_release(position):
    # This function rotates the base to the drop-off position.  There,
    # it lowers the arm, opens the gripper to release the wheel stack,
    # and raises the arm again.
    base_motor.run_target(60, position, Stop.HOLD)
    elbow_motor.run_target(60, -45)
    gripper_motor.run_target(200, -90)
    elbow_motor.run_target(60, 0, Stop.HOLD)

# Define the 3 destinations for picking up and dropping off the wheel
# stacks.
LEFT = 200
CENTER = 100
RIGHT = 0

# Rotate the base to the center.
base_motor.run_target(60, CENTER, Stop.HOLD)

# This is the main part of the program.  It is a loop that repeats
# endlessly.
#
# First, the robot waits until the Up or Down Button is pressed.
# Second, the robot waits until the Center Button is pressed.
# Finally, the robot picks up the wheel stack and drops it off in the
# center.
#
# Then the process starts over, so the robot can pick up another wheel
# stack.
while True:

    # Display a question mark to indicate that the robot should await
    # instructions.
    brick.display.image(ImageFile.QUESTION_MARK)

    # Wait until the Up or Down Button is pressed.
    while True:
        # First, wait until any button is pressed.
        while not any(brick.buttons()):
            wait(10)
        # Then store which button was pressed.
        button = brick.buttons()[0]
        # If the Up or Down Button was pressed, break out of the loop.
        if button in (Button.UP, Button.DOWN):
            break

    # Play a sound and display an arrow to show where the arm will move.
    brick.sound.file(SoundFile.AIR_RELEASE)
    if button == Button.UP:
        brick.display.image(ImageFile.FORWARD)
    elif button == Button.DOWN:
        brick.display.image(ImageFile.BACKWARD)

    # Wait until the Center Button is pressed, then display a check
    # mark to indicate that the instruction has been accepted.
    while not Button.CENTER in brick.buttons():
        wait(10)
    brick.display.image(ImageFile.ACCEPT)

    # Pick up the wheel stack. Depending on which button was pressed,
    # move left or right.
    if button == Button.UP:
        robot_pick(RIGHT)
    elif button == Button.DOWN:
        robot_pick(LEFT)

    # Drop off the wheel stack in the center.
    robot_release(CENTER)

In welchen Berufen sind diese Fähigkeiten gefragt?

Schülerinnen und Schüler, die sich für diese Aufgabe begeistern, könnten sich auch für folgende Berufszweige interessieren:

  • Informationstechnik (Computer-Programmierung)
  • Fertigungstechnik und Maschinenbau (Maschinenbau)

Leistungsbewertung

Checkliste für Beobachtungen
Erstellen Sie eine geeignete Bewertungsskala, wie zum Beispiel:

  1. Erwartungen zum Teil erfüllt
  2. Erwartungen vollständig erfüllt
  3. Erwartungen übertroffen

Nutzen Sie die folgenden Kriterien, um den Lernfortschritt der Schülerinnen und Schüler zu beurteilen:

  • Sie können konkurrierende Lösungen auf Grundlage von priorisierten Kriterien beurteilen. Dabei denken sie auch über Kompromisse nach, die sie eingehen müssen.
  • Sie können selbstständig eine kreative Lösung finden und entwickeln.
  • Sie können ihre Ideen klar und deutlich kommunizieren.

Selbsteinschätzung
Wenn die Teams einige Leistungsdaten zusammengetragen haben, geben Sie ihnen Zeit, um über ihre Lösungen nachzudenken. Geben Sie Impulse durch Fragen wie:

  • Erfüllt die Lösung die Kriterien aus der Konstruktionsaufgabe?
  • Könnte man die Bewegung(en) des Roboters noch präziser gestalten?
  • Wie haben andere Teams die Aufgabe gelöst?

Bitten Sie die Teams, Ideen dazu zu sammeln, wie sie ihre Lösungen verbessern könnten. Anschließend sollen sie zwei Verbesserungsmöglichkeiten dokumentieren.

Gegenseitiges Feedback
Regen Sie eine Art „Peer-Review“ an, bei der jedes Team das eigene Projekt und die Projekte der anderen Teams beurteilen soll. Dieser Beurteilungsprozess hilft den Schülerinnen und Schülern dabei, ihre Fähigkeit zu konstruktiver Kritik zu entwickeln. Außerdem lernen sie dabei, auf Grundlage objektiver Daten zu argumentieren und zu urteilen.

Unterstützung für Lehrkräfte

Die Schülerinnen und Schüler werden

  • den Konstruktionsprozess nutzen, um ein Problem mit Alltagsbezug zu lösen.

LEGO® MINDSTORMS® Education EV3 Set

Großes Blatt Millimeterpapier oder anderes Papier mit Raster
Buntstifte oder Filzstifte

Technik

Standards für inhaltsbezogene Kompetenzen
• Technische Innovation
◦ Einfluss von Grundlagenforschung auf die Produkt- und Anwendungsentwicklung
• Technische Systeme
• Optimierung und Automatisierung technischer Prozesse einzelner Systeme
• Systeme des Stoff-, Energie- und Datenumsatzes
◦ Transporttechnik
• Automatisierungstechnik
◦ Digitale Sensoren und Aktoren
◦ Logik-Bausteine, Speicher und Zähler
◦ Austausch elektronischer Daten
◦ Speicherprogrammierbare Systeme
• Entwicklungsfelder neuer Technologien, Zukunftstechnologien, Innovation
◦ Robotik
◦ Informations- und Kommunikationstechnologie

Informatik

Standards für inhaltsbezogene Kompetenzen
• Angewandte Informatik
• Softwaretechnik
◦ Planung und Durchführung kooperativer Arbeitsabläufe
• Programmiersprachen, formale Sprachen, Sprachen und Automaten, Datenstrukturen
• Technische Informatik
◦ Einblick in die Prozessdatenverarbeitung: Signal, Daten, Datentransport, Messen, Steuern, Regeln
• Algorithmen
◦ Analyse, Entwurf und Implementierung einfacher Algorithmen
◦ Beherrschen der Implementierung ausgewählter Algorithmen in einer Programmierumgebung
• Informatik, Mensch und Gesellschaft
◦ Einsatz von Informatiksystemen
◦ Wirkungen und Grenzen der Automatisierung
• Vernetzung von Themenfeldern

Prozessbezogene Kompetenzen
• Argumentieren
• Modellieren
• Implementieren
• Darstellen und Interpretieren
• Kommunizieren und Kooperieren
• Projektorientierter Unterricht
◦ Kooperieren und Kommunizieren
◦ Kreatives Schaffen und Problemlösen

Biotechnologie und Bionik

Standards für inhaltsbezogene Kompetenzen
• Einführung Biotechnologie und Bionik
◦ Trends bei Robotik und Sensorik

Mathematik und Physik

• Diverse Grundlagen aus dem Mathematikunterricht
• Alle aufgeführten prozessbezogenen Kompetenzen

Naturwissenschaft und Technik (Schulversuch Leistungsfach und Basisfach Baden-Württemberg)

Standards für inhaltsbezogene Kompetenzen
• Denk- und Arbeitsweisen in NwT
◦ Systeme und Prozesse
◦ Technische und wissenschaftliche Handlungskompetenzen
◦ Technikfolgenabschätzung
• Technische Mechanik und Produktentwicklung
◦ Technische Mechanik
◦ Produktentwicklung
• Elektro- und Informationstechnik
◦ Messen, Steuern, Regeln
◦ Aufnahme und Verarbeitung von Signalen in der Messtechnik
◦ Datenkommunikation

Prozessbezogene Kompetenzen
• Erkenntnisgewinnung und Forschen
• Entwicklung und Konstruktion
• Kommunikation und Organisation
• Bedeutung und Bewertung

IMPLIZIT: Deutsch

Standards für inhaltsbezogene Kompetenzen
• Texte und andere Medien

Materialien für Schülerinnen und Schüler

Das Schülerarbeitsblatt kann als HTML-Seite oder druckbare PDF-Datei heruntergeladen, angezeigt oder weitergeleitet werden.