LEGO MINDSTORMS Education EV3

4.5
(10254)

Roboter erwacht zum Leben

Es gibt fünf vorgefertigte Roboter mit einer Schritt-für-Schritt Anleitung. Darüber hinaus bieten alle Roboter aus den Kategorien Humanoid, Tier, Fahrzeug oder Industriemaschine verschiedene Variations- und Erweiterungsmöglichkeiten. Wer sich später für ein Studium der Mechatronik begeistern kann oder bereits studiert und an der Entwicklung von Robotern interessiert ist, sollte einen Blick auf den Roboterarm werfen. Das Modell gewährt Einblicke in den Bereichen Elektronik, Mechanik und Informatik mit teils hohem Lernfaktor.

Um einen Roboter in Betrieb nehmen zu können, wird mittels Drag and Drop von Programmblöcken ein Programm erstellt, das keine Programmierkenntnisse im klassischen Sinne erfordert. Bei dem ersten Block handelt es sich immer um den Startblock. Anschließend folgen weitere Blöcke wie der Motorsteuerungs-Block. Neben dem Port, an dem der Motor angeschlossen ist, müssen auch die Stellgrößen Drehzahl, Bewegungswinkel und die Dauer der Bewegung definiert werden. Analog dazu erfolgt auch das Zusammenstellen von Blöcken für Sounds und Textausgabe. Es stehen außerdem Kontrollstrukturen zur Verfügung, um eine Ablaufsteuerung zu realisieren. Mit dem Schleifen-Block kann ein oder mehrere Blöcke wiederholt werden. Nachdem ein Block innerhalb einer Schleife gezogen wurde, kann eine Abbruchbedingung gewählt werden. Die Schleife ist durchlaufen, wenn alle Blöcke innerhalb dieser Schleife einmal ausgeführt wurden. Bei jedem Durchlauf wird die Abbruchbedingung geprüft. Als Beispiel wählen wir eine Ablauf-Regelung für ein fahrbares Modell. Der Roboter soll dabei eine typische Strecke abfahren, die einem Quadrat entspricht. Hierfür sind normalerweise vier Blöcke nötig, um den Roboter um 90° drehen zu lassen und vier Blöcke für die dazwischenliegenden Geraden. Diese Aufgabe lässt sich mit den bereits erwähnten Schleifen wesentlich einfacher und eleganter lösen. Eine Möglichkeit zeigt folgender Schleifen-Block:

Ebenso wie der Schleifen-Block ist auch der Warten-Block für die Umsetzung einer Ablaufsteuerung von großer Bedeutung. Damit kann das laufende Programm für eine gewisse Zeit angehalten werden oder bis zur Übermittlung eines neuen Sensorwerts gewartet werden. Darüber hinaus können Vergleiche zwischen den gemessenen und den vorgegebenen Sensorwerten angestellt werden. Zu den Kontrollstrukturen der Programmiersprachen zählen auch bedingte Anweisungen und Verzweigungen. Beispielsweise kann eine Bedingung für die Verknüpfung zweier Werte aufgestellt werden. Trifft diese Bedingung zu, wird der zugehörige Codeabschnitt ausgeführt. Andernfalls wird ein anderer Abschnitt aufgerufen.

Beispiel:

Bewege Roboter Arm (Schleife)
      Position von Objekt erreicht? (if-Bedingung)
          wenn ja, dann greifen
      Position nicht erreicht (else-Bedingung)
         Roboterarm weiter bewegen

Interessant ist auch, dass Abläufe parallel verlaufen können. Soll der Roboter einen bestimmten Gegenstand greifen und gleichzeitig einen Text ausgeben oder Sounds abspielen, kommen parallele Abläufe zum Einsatz. Wenn wir jetzt einen Schritt weiter gehen, können wir mit Datenleitungen Werte von bestimmten Blöcken an andere Blöcke weiterleiten. Ein sinnvolles Beispiel könnte ein gemessener Sensorwert sein, der auf dem Display ausgegeben werden soll.

Lernfaktor

Je nach Ziel können solche Projekte aber schnell unübersichtlich werden. Deshalb empfiehlt es sich ein Ablaufdiagramm zu erstellen. Nur so lassen sich komplexe Abläufe besser verstehen. Und genau hier beweist LEGO mit seinem MINDSTORMS Education-Set, dass der Lernfaktor das große Ziel ist. Spielerisch beginnt die große Begeisterung für immer aufwendigere Projekte und je mehr man sich damit auseinandersetzt, desto größer wird das Interesse an der Materie. Das Stichwort lautet hier “Weiterbildung”. Denn die Programmierung von Robotern geht weit über die EV3-Software hinaus. Möchte man mit einem LEGO-Fahrzeug eine fest vorgebene Strecke zurücklegen, benötigt man die Anzahl der Motorumdrehungen. Diese und andere Berechnungen müssen vom Anwender selbst durchgeführt werden. Wie wir aus der Mathematik wissen, gibt es einen sogenannten Kreisumfang und unsere Räder sind nun mal rund. Die Räder haben an der Seite den Durchmesser in der Einheit [mm] aufgedruckt. Mit der Kreisumfangsformel pi * d = U lässt sich so der Umfang berechnen. Die Anzahl an Motorumdrehungen lässt sich anschließend mit Strecke/Umfang berechnen. Solche Projekte können aber noch weitaus komplexer werden, wenn beispielsweise der Roboterarm ohne grafische Benutzeroberfläche programmiert wird und zusätzlich ein industrielles Kamerasystem angebracht wird. Dann müssen die Winkel der einzelnen Roboter-Achsen über die Positionskoordinaten berechnet werden. Dadurch sammelt der Anwender Erfahrungen aus den unterschiedlichstens Bereichen wie der Dynamik.

Bewerte diesen Artikel

4.5 / 5. 10254


Vorheriger

PCPointer.de-Verlosung – Unity 5 und C++

Star Wars Battlefront

Nächster

Schreibe einen Kommentar