LeJOS - LinkFang.de





LeJOS


leJOS ist ein Java-Betriebssystem für die programmierbaren Lego-Steine Lego Mindstorms RCX (leJOS RCX), NXT (leJOS NXJ) und EV3 (leJOS EV3). Diese Software erlaubt es, die Steuerung von Lego-Konstruktionen in Java zu programmieren. Dazu wurde ein Teil der Java Virtual Machine auf den RCX/NXT portiert.

leJOS wird als freie Software unter den Bedingungen der Mozilla Public License 1.0 (MPL) verbreitet.

Geschichte

leJOS wurde ursprünglich unter dem Namen TinyVM von José Solórzano im Jahre 1999 entwickelt. Es begann als Hobby-Open-Source-Projekt und wurde erst später zu leJOS. Viele Mitwirkende traten dem Projekt bei und entwickelten wichtige Erweiterungen. Unter den Mitwirkenden befanden sich auch Brian Bagnall, Jürgen Stuber und Paul Andrews, welche später das Projekt übernahmen, nachdem Solórzano sich davon zurückgezogen hatte.

Anwendung

leJOS wird oft zu Schulungszwecken, oder in der Informatiker-Ausbildung eingesetzt, um die Grundlagen der Programmierung in Java zu lehren. Unter Verwendung von leJOS wurde 2001 im Rahmen eines Wettbewerbs der autonome Roboter Jitter entwickelt, der daraufhin zur Weltraumstation ISS transportiert wurde. Unter den Bedingungen der Schwerelosigkeit ist Jitter in der Lage, sich eigenständig und zielgerichtet zu bewegen und herumvagabundierende Teile einzusammeln.[1]

Seit 2006 wird von leJOS auch Lego Mindstorms NXT unterstützt. Neben vielen neuen Merkmalen wird nun auch Bluetooth unterstützt.

Seit Herbst 2013 befindet sich eine Portierung auf die im Sommer 2013 erschienene Hardware-Generation Lego Mindstorms EV3 in Arbeit. Obwohl noch im Beta-Stadium werden neben der neuen Hardware (Motoren, Sensoren) auch Bluetooth und WiFi unterstützt.

Seit November 2014 wird leJOS in einer leicht adaptierten Variante auch im open-source Projekt Open Roberta eingesetzt.

Programmierung

Die Programmierung mit leJOS basiert auf Java. Dafür wird der verwendete RCX- bzw. NXT-Baustein mit einer angepassten JVM (Java Virtual Machine) geflasht. Danach können Programme mit Hilfe der mitgelieferten Tools auf den LEGO-Baustein geladen werden.

Beispiel (Hello World)

Der folgende Beispielscode demonstriert die Programmierung anhand eines Hallo-Welt-Programms:

  import lejos.nxt.*;
  public class HelloWorld {
    public static void main (String[] args) {
      System.out.println("Hello World");
      Button.waitForAnyPress();
    }
  }

Mehrwert gegenüber der Lego-Software

  • ausgefeilte Parallelverarbeitung durch Multithreading inklusive aller Java-Bordmittel (synchronize, das Paket java.util.concurrent)
  • einfache Möglichkeit, den Source-Code mit Versionskontroll-Systemen zu versionieren
  • Robotik-API: behavior-based robotic, Steuerungsmodelle für Lenk- und Kettenantriebs-Roboter, abstrakte Navigations-Klassen

Während sich die Original-Software von Lego an den Bedürfnissen von technisch interessierten Kindern und Jugendlichen orientiert, richtet sich leJOS eher an erwachsene Hobbyisten.

leJOS EV3

Mit der Generation EV3 wurde der Lego-Baustein deutlich erweitert und basiert nun auf einem Linux-System. Oracle selbst bietet eine auf ARM portierte Version der aktuellen Java-Runtime an, so dass keine spürbaren Einschränkungen gegenüber anderen Systemen die Entwicklung von eigenen Programmen beeinträchtigen. Mit dem SD-Slot des EV3 ist es auch nicht mehr nötig, die originale Firmware zu flashen - leJOS EV3 wird von einer bootbaren SD-Karte gestartet, ohne die auf dem Lego-Baustein gespeicherten Daten zu verändern. Ebenso werden WiFi-Dongles für den USB-Port unterstützt, so dass ohne Kabelverbindung eine Kommunikation (debuggen, Programme übertragen, selbst ein Login via SSH direkt auf den Lego-Baustein ist jederzeit möglich) möglich ist.

Bibliographie

  • Brian Bagnall: core LEGO Mindstorms Programming. Prentice Hall PTR, 2002, ISBN 0-13-009364-5 (englischsprachig)
  • Giulio Ferrari et al.: Programming LEGO Mindstorms with Java. Syngress, 2002, ISBN 1-928994-55-5 (englischsprachig)
  • Thorsten Leimbach et al.: Roberta - Programmieren mit Java. Fraunhofer IRB, 2009, ISBN 978-3-8167-8401-2 (deutschsprachig)
  • Max Schöbel, Thorsten Leimbach, Beate Jost: Roberta - EV3 Programmieren mit Java. Fraunhofer IRB, 2015, ISBN 978-3-8396-0840-1 (deutschsprachig)

Weblinks

Einzelnachweise

  1. http://www.nasa.gov/mission_pages/station/research/experiments/Konstructor.html

Kategorien: Mindstorms | Java (Programmiersprache) | Freies Betriebssystem

Quelle: Wikipedia - http://de.wikipedia.org/wiki/LeJOS (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.