Roboter-Simulationswerkzeug
Unterstützung für Lego-Roboter
Universelle Schnittstellen zur Robotersteuerung
Schnittstellen-Dokumentation
Klassenvorlagen für Roboterprogramme
BlueJ-Integration der benötigten Werkzeuge
 

Willkommen bei Jabotics

Was ist Jabotics?

Jabotics ist eine Sammlung von Schnittstellen und Werkzeugen, die zur Einführung von Schülern in die Java-Programmierung von Robotern erstellt wurden. Zunächst dienten Lego-NXT-Roboter als Hardware. Mit der Entwicklungsumgebung BlueJ wurde eine speziell auf die Bedürfnisse von Programmiereinsteigern konzipierte Software eingesetzt. Anfangs lag der Entwicklungsschwerpunkt auf der Bereitstellung der für den Anfängerunterricht ausgelegten Schnittstellen (APIs) sowie auf der Integration der verwendeten Werkzeuge in die Entwicklungsumgebung BlueJ. Später wurde ein Roboter-Simulationswerkzeug implementiert, das Schülerinnen und Schüler in die Lage versetzt, die Roboterprogramme auch ohne Zugriff auf Roboterhardware, also z.B. zu Hause, zu testen.

APIs and unterstützte Roboter-Hardware

Die Unterstützung der Java-Programmierung von NXT- and EV3-Robotern von Lego baut auf die frei zugänglichen leJOS-Bibliotheken auf. Statt jedoch direkt die leJOS-APIs zu verwenden, wurde eine vereinfachte und im Funktionsumfang reduzierte deutschsprachige API eingeführt. Zu den Vereinfachungen zählt z.B die Bereitstellung einer einheitlichen Schnittstelle für alle Sensoren sowie die Unabhängigkeit der Schnittstellen vom Robotertyp. Programme, die allein auf der Jabotics-API basieren, sind somit ohne Änderungen sowohl auf NXT- als auch auf EV3-Robotern lauffähig, solange diese einen bestimmten Standardaufbau besitzen. Zur Zeit bilden die Jabotics-Schnittstellen weitgehend die Hardware von NXT-Robotern ab. Zukünftig wird es möglicherweise Erweiterungen der Schnittstellen geben, um den EV3-Roboter oder andere Hardware vollständiger zu unterstützen. Es ist z.B. vorgesehen, grundlegende Infrastruktur bereitzustellen, damit Jabotics-Programm auf Selbstbau-Robotern mit dem Raspberry Pi lauffähig werden. Bereits jetzt ist eine englischsprachige Version der Jabotics-API verfügbar.

Roboter-Simulationswerkzeug

Die Trennung der Jabotics-API von der Roboter-Hardware war gleichzeitig Voraussetzung für die Entwicklung des Roboter-Simulationswerkzeugs. Für die Simulation von Roboterprogrammen gelten jedoch gewisse Einschränkungen: Zur Zeit steht nur ein statisches Testszenario mit einer festen Raumaufteilung und ohne bewegliche Objekte zur Verfügung. Es kann immer nur ein Roboterprogramm zur Zeit gestartet werden, d.h. die Interaktion zwischen mehreren Robotern lässt sich nicht simulieren. Auch kann die Robotersimulation niemals die viel komplexeren Verhältnisse einer realen Testumgebung wiedergeben. Dennoch hat sich das Simulationswerkzeug im Unterricht wie auch zu Hause für die Schülerinnen und Schüler als sehr hilfreich erwiesen. Sie können so erste Tests ihrer Software durchführen, ohne sich mit den Komplikationen durch die Roboterhardware oder die Testumgebung herumschlagen zu müssen.

Jabotics im Internet

Ziel dieses Internetauftritts ist es, die Jabotics-APIs und -Werkzeuge anderen Lehrern, Schülern oder Interessierten zugänglich zu machen. Der Abschnitt Grundlagen gibt eine kurzen Überblick über die Intergration der Jabotics-Werkzeuge in die Entwicklungsumgebung BlueJ. Weitere Details zu den Schnittstellen und zum Simulationswerkzeug werden in den Abschnitten Roboter-API bzw. Roboter-Simulation erläutert. Der Abschnitt Installation liefert Installationsanleitungen für verschiedene Rechnerplattformen. Der Download-Bereich findet sich im Abschnitt Projekt.