# Open Roberta

Open Roberta, bzw. das Open Roberta Lab, ist eine Open-Source-Programmierplattform der Initiative Roberta – Lernen mit Robotern des Fraunhofer-Instituts für Intelligente Analyse- und Informationssysteme IAIS in Sankt Augustin bei Bonn. Ziel von Open Roberta ist es, das Programmieren leichter zugänglich zu machen, indem technische und fachliche Barrieren abgebaut werden. Open Roberta richtet sich an Lehrkräfte und Schüler sowie an Studierende (z. B. Lehramt) und Auszubildende. Sie steht webbasiert ohne Installationsaufwand kostenlos zur Verfügung und kann von jedem Gerät mit gängigem Browser genutzt werden. Der Launch und die Weiterentwicklung von Open Roberta wurden von Google.org unterstützt. Zusätzlich zum Einsatz in Bildungseinrichtungen wird die Verbreitung von vielen freien Organisationen vorangetrieben – auch international. Inzwischen greifen Nutzer aus bis zu 120 Ländern auf die Plattform zu.

## Open-Source-Community

Die Programmierplattform Open Roberta Lab wird komplett Open Source entwickelt. Sowohl die Software als auch die Open-Source-Entwicklertools stehen über Server der Fraunhofer-Gesellschaft bereit. Zunächst bezieht das Entwicklungsteam des Fraunhofer-Instituts für Intelligente Analyse- und Informationssysteme IAIS Lehrkräfte, IT- und Bildungsexperten aus dem Roberta-Netzwerk in die Entwicklungsarbeiten ein, ebenso Hochschulen und ihre Studierenden. Im zweiten Schritt wird die Open-Source-Community dann für alle interessierten Programmiererinnen und Programmierer geöffnet. Dabei sollen, dem Leitgedanken des Roberta-Projekts entsprechend, vor allem auch weibliche Studierende angesprochen werden, die auf diese Weise eine Vorbildfunktion für Schülerinnen einnehmen.

## Programmiersprache NEPO

NEPO ist eine an Scratch angelehnte visuelle Programmiersprache, welche die frei verfügbare Blockly-Bibliothek nutzt und diese um eigene Funktionalitäten erweitert und, wo notwendig, für Open Roberta angepasst hat. Mit NEPO können grafische Programmierblöcke einfach aneinandergefügt werden. Ein Vorteil von NEPO sind seine offenen Schnittstellen. Diese erlauben es beispielsweise, weitere NEPO-Programmblöcke zu entwickeln oder aber auch andere Hardware-/Robotersysteme anzubinden.

## Integrierte Systeme

| System | Programmiersprache | Simulation vorhanden | Übertragung | Compiler |
| Arduino | C/C++ | nein | USB | arduino-bilder |
| BBC micro:bit | MicroPython | ja | USB | |
| Bionic Flower | C/C++ | nein | USB | |
| Bionics Kit | C/C++ | nein | USB | |
| BOB3 | C/C++ | nein | USB, Bluetooth | arduino-bilder |
| Bot'n'Roll | C/C++ | nein | USB | arduino-bilder |
| CalliBot | C | ja | USB, Bluetooth | |
| Calliope mini | C/C++ | ja | USB, Bluetooth | |
| Edison | MicroPython | nein | Audio | |
| Lego Mindstorms NXT | NXC | ja | USB | NXC |
| Lego Mindstorms EV3 | C, Java, Python | ja | USB, WLan | arm-linux, Java |
| Lego WeDo | Token basiert | nein | Bluetooth | Leo Original |
| mBot | C++ | ja | USB | arduino-bilder |
| mBot 2 | Python | nein | USB | arduino-bilder |
| NAO | Python | ja | WLan, Ethernet | |
| ROB3RTA | C/C++ | ja | USB, Bluetooth | |
| senseBox | C/C++ | nein | USB | arduino-bilder |
| Thymio | Aseba | ja | USB, Bluetooth | arduino-bilder |

## Künstliche Neuronale Netze

Seit August 2022 bietet das Open Roberta Lab die Funktionalität Künstliche Neuronale Netze (KNN) zu programmieren. Mit der Integration der KNN wurde das Thema „Künstliche Intelligenz“ in das Open Roberta Lab eingebunden. Das erfolgt entlang des Rahmenlehrplans für Informatik in Nordrhein-Westfalen. Gefördert ist das Projekt durch das Ministerium für Schule und Bildung des Landes Nordrhein-Westfalen. Die grafische Integration der KNN ermöglicht einen niederschwelligen Zugang. Durch die Funktion sind KI-Algorithmen durch grafische Programmierung intuitiv erleb- und verstehbar. Ziel ist es, dass Schülern ab den Klassen 5 und 6 verstehen, was ein Künstliches Neuronales Netz ist und wie es funktioniert. Sie erlernen außerdem selbst ein KNN zu programmieren, um beispielsweise einem Roboter zu ermöglichen, sich selbstständig in seiner Umwelt zu bewegen.
Der Aufbau und die Funktionsweise einfacher Neuronaler Netze kann Schritt für Schritt nachvollzogen werden. Die von den Schülern programmierten KNN können direkt in der im Open Roberta Lab bereitgestellten 2D-Simulation getestet werden, sodass die Kinder eine unmittelbare Rückmeldung des programmierten KNN erhalten. Sobald die Grundlagen verstanden wurden, können die Schüler das KNN trainieren. Einem Roboter kann so „beigebracht“ werden Hindernissen auszuweichen, wie es beispielsweise Staubsaugerroboter tun.
Neuronale Netze können lernen, indem sie mit Daten trainiert werden. Das ermöglicht es ihnen, komplexe Muster und Zusammenhänge zu erfassen, ohne dass diese explizit programmiert werden müssen. Das Open Roberta Lab bildet diese Möglichkeit seit der Version ORA-5.2.10. Diese Option wird Open Roberta xNN genannt. xNN steht für explainable Neural Networks. Im Tab NEURONALES NETZ Definieren kann das Netz definiert werden. Im Tab NEURONALES NETZ Lernen kann das Netz trainiert werden. Hierfür können Trainingsdaten eingegeben werden oder bestehende Daten mittels csv-Datei hochgeladen werden.

## Datenschutz

Ab der Version 3.8 verzichtet das Open Roberta Lab komplett auf Cookies (inkl. Tracking- und Analyse-Cookies). Zudem wird zur Verwendung kein Benutzerkonto benötigt. Alle Daten, die dennoch anfallen, werden in der Fraunhofer-Cloud in Deutschland gespeichert.

## Simulationsumgebung

Das Open Roberta Lab bietet seine eigene Simulationsumgebung an. Sowohl Programme für fahrende Roboter wie den Lego Mindstorms oder mBot als auch für die Mikrocontroller Calliope mini und der BBC micro:bit und den humanoiden Nao können online zusammengestellt und durch virtuelle Roboter und Controller ausgeführt werden. Die Programmierung der simulierten Roboter erfolgt ebenfalls mit der Programmiersprache NEPO. Die simulierten Modelle beinhalten die Simulation verschiedener Sensoren, etwa eines Ultraschallsensors, eines Berührungssensors oder eines Farbsensors und der Anzeige einer LED. Zusätzlich stehen mehrere Umgebungen zur Auswahl. Zudem beinhaltet die Simulationsumgebung einen Debugging-Modus. Damit können einzelne Programmschritte gezielt ausgeführt und zusätzliche Haltepunkte im Programm festgelegt werden.
Des Weiteren können mehrere Roboter-Modelle gleichzeitig simuliert sowie mehrere Objekte und Farbfelder generiert und genutzt werden.

## Galerie-Funktion

In der Open-Roberta-Galerie können eigene Programme mit der ganzen Welt geteilt werden: Dafür gehen angemeldete Nutzer mit einem verifizierten Benutzerkonto im Menüpunkt „Bearbeiten“ auf „Meine Programme“ und klicken anschließend auf das Galerie-Icon. Mit einem Doppelklick auf ein Programm in der Galerie-Übersicht, lädt man das entsprechende Programm und kann es anschließend ansehen, bearbeiten oder herunterladen.

## Open-Roberta-Wiki

Das Open-Roberta-Wiki unterstützt Interessierte bei der Benutzung des Open Roberta Labs und beschreibt, welche Komponenten für die Nutzung von Open Roberta benötigt werden. Zusätzlich listet das Wiki eine Beschreibung der meisten im Open Roberta Lab genutzten NEPO-Blöcke auf.

## Geschichte und Vorgänger

Open Roberta ist der technologische Kern von „Roberta – Lernen mit Robotern“, einer Bildungsinitiative, die im Jahr 2002 als BMBF-Projekt „Roberta – Mädchen erobern Roboter“ vom Fraunhofer-Institut für Intelligente Analyse- und Informationssysteme IAIS (ehem. AIS) initiiert wurde. Kindern und Jugendlichen sollen Technik und Naturwissenschaften (MINT-Fächer) näher gebracht werden.

## Preise

Open Roberta gehört zu den 100 Preisträgern des bundesweiten Wettbewerbs „Ausgezeichnete Orte im Land der Ideen“ 2015. Open Roberta ist zudem Bundessieger 2015 in der Kategorie Bildung beim Wettbewerb Deutschland – Land der Ideen.

## Lernspiel-App NEPO Missions

2021 veröffentlichte das Fraunhofer IAIS ein Lernspiel, in dem Kinder und Jugendliche spielerisch einen virtuellen Mars-Rover programmieren können, der auf dem Rover „Rosalind Franklin“ der Europäischen Weltraumorganisation ESA basiert. Wie im Open Roberta Lab können Nutzer auch mit der Lernspiel-App NEPO Missions simulierte Roboter programmieren – jetzt allerdings in einem besonderen Szenario: Die Mission bringt Spieler auf den Mars. Sie erhalten den Forschungsauftrag, mithilfe eines ferngesteuerten Rovers die Oberfläche des Planeten zu erkunden. Schritt für Schritt lösen sie dafür immer schwierigere Programmieraufgaben: vom Fahren auf der Mars-Oberfläche über das Sammeln von Daten mittels Sensoren bis hin zu Bohrungen, um tiefere Bodenschichten zu untersuchen. Wie im Open Roberta Lab stellen die Kinder die Programme intuitiv mit den grafischen NEPO-Blöcken zusammen und erzielen im Handumdrehen erste Erfolgserlebnisse.