28. April 2016

Open Roberta – Intuitive Roboterprogrammierung in der Cloud

Mit »Open Roberta« hat das Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme IAIS zusammen mit Google im November 2014 ein innovatives Technologieprojekt innerhalb der langjährigen Fraunhofer-Initiative »Roberta – Lernen mit Robotern« initiiert.

roberta_6.gif

Das Fraunhofer IAIS hat schon 2002 erkannt, dass mehr junge Menschen, vor allem junge Mädchen, für Technik und Naturwissenschaften begeistert werden müssen und hat die Initiative »Roberta – Lernen mit Robotern« ins Leben gerufen. Deutschland als Exportweltmeister von Hochtechnologie ist auf gut ausgebildete Ingenieure, Software-Entwickler und Naturwissenschaftler angewiesen – und dies nicht nur unter Männern. Mit der Roberta-Initiative haben wir seit Bestehen über 350.000 Schülerinnen und Schüler erreicht und über 1.000 Lehrkräfte zu zertifizierten Roberta-Teachern ausgebildet. Grundlage von Roberta bildet das Roberta-Konzept, das zusammen mit Partnern aus Wissenschaft, Politik und Schule im Rahmen einer Förderung durch das Bundesministerium für Bildung und Forschung (BMBF) entwickelt wurde. Kern dieses Konzepts sind gendergerechte hands-on Roboterkurse, die Mädchen und Jungen spielerisch die Lust auf Mathematik, Informatik, Naturwissenschaften und Technik (MINT) vermitteln. In Roberta-Kursen können Schülerinnen und Schüler im Team Roboter bauen und programmieren. Dafür wurden hauptsächlich das LEGO MINDSTORMS System und eine dafür vorhandene grafische und auf LabVIEW basierende Programmiersprache verwendet. Ist die Software installiert und das notwendige Know-how bei Lehrkräften vorhanden, können Schülerinnen und Schüler bereits ab der Grundschule und ohne Vorkenntnisse binnen weniger Minuten einen Roboter mit ersten Befehle programmieren. Innerhalb der Roberta-Initiative wurde in vielen Studien der Erfolg von Roberta-Kursen belegt – siehe: http://roberta-home.de/de/konzept/begleitforschung

Lessons learned

Unsere Erfahrung mit dem LEGO MINDSTORMS System hat gezeigt, dass zum einen der Einsatz der Standard-LEGO-Software für Lehrkräfte mit hohen Hürden im Schulalltag verbunden ist und zum anderen LEGO MINDSTORMS Roboter einen nicht unerheblichen Kostenfaktor für Schulen darstellen. Folgende Punkte spielen dabei eine besondere Rolle:
– Softeware-Lizenzkosten für Schulen
– Nicht für alle Betriebssysteme geeignet, insbesondere Linux-Systeme werden nicht unterstützt
– Benötigt Adminrechte zur Installation
– Nicht open-source
– Hohe Systemanforderungen
– Nicht für Smartphones geeignet
– LabVIEW ist im Bildungssektor eine exotische Programmiersprache
– Auf LEGO MINDSTORMS beschränkt
Um diese Hürden abzubauen, hat Fraunhofer IAIS gemeinsam mit Google Deutschland das Projekt Open Roberta initiiert.

Open Roberta

© Open Roberta

© Open Roberta

Open Roberta besteht dabei zum einen aus einer offenen, kostenfreien und plattformunabhängigen Programmierumgebung, die wir »Open Roberta Lab« nennen. Zum anderen gehört zu Open Roberta die Meta-Programmiersprache NEPO®, die es perspektivisch ermöglicht, ganz unterschiedliche Roboter-Systeme zu programmieren.
Aufgrund der hohen Verbreitung von LEGO MINDSTOMRS Robotern im Roberta-Netzwerk und der langjährigen Zusammenarbeit mit LEGO Education wurde in der ersten Entwicklungsphase bei Open Roberta das LEGO MINDSTORMS EV3 System integriert. Um EV3 an das Open Roberta Lab anzubinden, haben wir die offene EV3-Firmware leJOS für Open Roberta angepasst. Zudem bietet leJOS den Vorteil, seinen MINDSTORMS Roboter via WLAN zu programmieren.

Open Roberta Lab

Open Roberta

© Open Roberta

Das Open Roberta Lab ist der zentrale Anlaufpunkt im Rahmen von Open Roberta. Das Lab stellt alle Funktionalitäten zur Programmierung von Robotern zur Verfügung. Über das Open Roberta Lab können Roboter mit dem Open Roberta Server von Fraunhofer IAIS verbunden werden. Weitere Funktionalitäten des Lab sind:
– Anlegen eines Kontos: Damit Benutzer ihre Programme abspeichern oder mit anderen teilen können, kann ein Benutzerkonto angelegt werden. Schülerinnen und Schüler können somit auch von Zuhause an ihrem Programm weiter arbeiten.
– Roboter-Konfiguration: Da Roboter oftmals mit unterschiedlichen Motoren und Sensoren ausgestattet sind, muss die entsprechende Konfiguration im Open Roberta Lab hinterlegt werden.
– Anzeigen der NEPO-Programme als Java-Code: Ein wichtiger Schritt für eine nachhaltige Motivation von Kindern und Jugendlichen ist es, einen Blick »hinter« die NEPO-Blöcke werfen zu können. Deshalb bietet das Lab eine Konvertierung von NEPO zu Java und Python an.
– Weiterleitungen zur Open Roberta Wiki und FAQ-Seiten: Bei Open Roberta steht ein umfangreiches Wiki zur Verfügung, in dem alles Wissenswerte zum Lab und zu NEPO enthalten ist.
– Importieren und exportieren von NEPO-Programmen: NEPO können als XML-Dateien lokal gespeichert werden.
– Simulation von NEPO-Programmen mit Open Roberta Sim
– Mehrsprachigkeit: Durch die Open-Source-Community ist das Lab bereits in fünf verschiedenen Sprachen verfügbar.

Open Roberta Sim

Open Roberta

© Open Roberta

Mit der zweidimensionalen Simulationsumgebung »Open Roberta Sim« bietet das Open Roberta Lab zudem die Möglichkeit, NEPO-Programme zu testen auch wenn kein realer Roboter vorhanden ist. Die Programme werden einfach anstatt auf dem realen Roboter auf einem 2D-Roboter ausgeführt. Als Robotermodell haben wir uns bei OR-Sim für einen differential angetriebenen Roboter mit den Standardsensoren entschieden: Farb-, Berührungs-, Kreisel- und Ultraschallsensor. Zusätzlich beinhaltet der Roboter Radencoder, LED-Anzeige und für das EV3-System ein animiertes EV3-Display.

NEPO®

Open Roberta

© Open Roberta

Die Fraunhofer Meta-Programmiersprache NEPO ist an der vom Massachusetts Institute of Technology (MIT) entwickelten visuellen und kindgerechten Programmiersprache scratch angelehnt. NEPO nutzt zudem die von Google entwickelte, frei verfügbare client-side JavaScript Bibliothek namens blockly. Diese wurde für Open Roberta angepasst und um Funktionalitäten speziell zur Programmierung von Hardware erweitert.

Mit NEPO können, grafische Programmierblöcke einfach aneinandergefügt werden. NEPO bietet dabei unterschiedliche Einstiegsebenen für Beginner und Fortgeschrittene an. Geplant ist, diese Ebenen noch weiter zu ergänzen, um so bereits Einsteiger*innen die Möglichkeit zu geben, in nur wenigen Schritten einen Linienverfolger-Roboter zu programmieren. NEPO bietet darüber hinaus alle wichtigen Komponenten klassischer imperativer Programmiersprachen wie beispielsweise C. Ein Vorteil von NEPO sind seine offenen Schnittstellen. Diese erlauben es beispielsweise weitere NEPO-Programmblöcke zu entwickeln oder aber auch andere Roboter-Systeme anzubinden.

Die Zukunft von Open Roberta: Helfen Sie mit, junge Menschen zu Gestaltern der digitalen Zukunft zu machen

Obwohl Open Roberta ein noch sehr junges Projekt ist, wird es bereits in Schulen überall auf der Welt genutzt. Durch den Open-Source-Ansatz kann sich jede und jeder an der Weiterentwicklung von Open Roberta beteiligen. Geplant ist für die Zukunft vor allem die Integration anderer Roboter-Systeme wie beispielsweise fischertechnik, Bayduino, VEX oder auch Tinkerbots.
Dabei sind nicht nur Softwareentwickler*innen gefragt. Ebenso können sich auch Gestalter*innen und Pädagog*innen an der Entwicklung von Open Roberta beteiligen. Gerade hinsichtlich der geplanten Konzeption von Online-Tutorials und Moocs ist jede Mithilfe gerne willkommen. Ziel von Roberta und Open Roberta ist es, jungen Menschen die Chance zu geben, sich von reinen Anwendern zu Gestaltern einer digitalen Zukunft zu entwickeln. Dafür benötigen wir die Mithilfe aus der gesamten Robotik-Gemeinschaft.

Links:
Die Roberta-Initiative: www.roberta-home.de
Das Open Roberta Projekt: www.open-roberta.org
Das Open Roberta Lab: lab.open-roberta.org
Das Open Roberta Wiki: wiki.open-roberta.org
Für Entwickler*innen: github.com/OpenRoberta

Von Thorsten Leimbach und Beate Jost