leJOS

LeJOS is a Java operating system for the programmable Lego bricks Lego Mindstorms RCX ( leJOS RCX ) NXT ( leJOS NXJ ) and EV3 ( leJOS EV3 ). This software is to program the controller of Lego constructions in Java allowed. For this purpose a part of the Java Virtual Machine has been ported to the RCX / NXT.

LeJOS is distributed as free software under the terms of the Mozilla Public License 1.0 (MPL ).

History

LeJOS was originally developed under the name of José Solórzano TinyVM in 1999. It started as a hobby open source project and became leJOS later. Many contributors joined the project and developed major enhancements. Among the contributors to Brian Bagnall, Jürgen Stuber and Paul Andrews, who later took over the project after Solórzano had withdrawn it were.

Application

LeJOS is often used for training purposes, or in the computer training to teach the basics of programming in Java. Using leJOS was developed in 2001 as part of a competition of autonomous robots jitter, which was then transported to the Space Station. Under the conditions of weightlessness jitter is able to be independently and purposefully move and collect herumvagabundierende parts.

Since 2006 is also supported by leJOS Lego Mindstorms NXT. In addition to many new features and Bluetooth is now supported.

Since the fall of 2013, there is a port to the notice published in the Summer 2013 hardware generation Lego Mindstorms EV3 in work. Although still in alpha stage next to the new hardware ( motors, sensors ) and Bluetooth and WiFi are supported.

Programming

Programming with leJOS is based on Java. For the used RCX or NXT brick with a customized JVM (Java Virtual Machine) is flashed. After that programs can be loaded using the supplied tools on the LEGO block.

Example ( Hello World )

The following sample code demonstrates the Programming with a hello world program:

Lejos.nxt import *. ;    public class HelloWorld {      public static void main ( String [ ] args ) {        System.out.println ("Hello World ");        Button.waitForAnyPress ();      }    } Added value compared to the Lego software

  • Sophisticated parallel processing using multithreading, including all Java - board tools ( synchronize, the package java.util.concurrent )
  • Easy way to version the source code with version control systems
  • Robotics API: behavior -based robotic, control models for steering and chain drive robot, abtrakte navigation classes

While the original software from Lego based on the needs of technically minded children and young people to leJOS addressed more specifically to adult hobbyists.

LeJOS EV3

With the generation EV3 the Lego block has been significantly expanded and is now based on a Linux system. Oracle itself offers a ported to ARM version of the current Java runtime, so no noticeable restrictions compared to other systems affect the development of own programs. With the SD slot of the EV3 it is no longer necessary to flush the original firmware - leJOS EV3 is launched from a bootable SD card, without changing the data stored on the Lego block data. Likewise, WiFi dongles are supported for the USB port, so no cable connection is a communication ( debug, transmitted programs, even a login via SSH on the Lego block at any time directly ) is possible.

Naming

The name leJOS was conceived by José Solórzano, based on an acronym for Java Operating System ( JOS, German: Java Operating System) and the Spanish word " lejos " which means as much as far away, or simply far.

Bibliography

  • Brian Bagnall: core LEGO Mindstorms Programming. Prentice Hall PTR, 2002, ISBN 0-13-009364-5 (English speaking)
  • Giulio Ferrari et al. Programming LEGO Mindstorms with Java. Syngress, 2002, ISBN 1-928994-55-5 (English speaking)
  • Thorsten Leimbach et al.: Roberta - Programming with Java. Fraunhofer IRB, 2009, ISBN 978-3-8167-8401-2 ( German)
506198
de