leJOS

Source: Wikipedia, the free encyclopedia.
LeJOS RCX
Initial releaseAugust 6, 2000; 23 years ago (2000-08-06)
Stable release
v3.0 / September 17, 2006; 17 years ago (2006-09-17)
Written in
Cross-platform
Licenseopen-source (MPL)
Websitelejos.sourceforge.io
LeJOS NXT
Initial releaseJanuary 6, 2007; 17 years ago (2007-01-06)
Stable release
v0.9.1 / February 6, 2012; 12 years ago (2012-02-06)
Written in
Cross-platform
Licenseopen-source (MPL)
Websitelejos.sourceforge.io
LeJOS EV3
Initial releaseJanuary 14, 2014; 10 years ago (2014-01-14)
Stable release
v0.9.1 / November 16, 2015; 8 years ago (2015-11-16)
Written in
Cross-platform
Licenseopen-source (GPL v3)
Websitelejos.sourceforge.io

leJOS is a

Robotics Invention System, the NXT, and the EV3. It includes a Java virtual machine, which allows Lego Mindstorms robots to be programmed in the Java programming language. It also includes 'iCommand.jar' which allows you to communicate via bluetooth with the original firmware of the Mindstorm. It is often used for teaching Java to first-year computer science students.[1] The leJOS-based robot Jitter flew around on the International Space Station in December 2001.[2]

Pronunciation

According to the official website:

In English, the word is similar to Legos, except there is a J for Java, so the correct pronunciation would be Ley-J-oss. If you are brave and want to pronounce the name in Spanish, there is a word "lejos" which means far, and it is pronounced Lay-hoss.

The name leJOS was conceived by José Solórzano, based on the acronym for Java Operating System (JOS), the name of another operating system for the RCX,

legOS
, and the Spanish word "lejos."

History

leJOS was originally conceived as TinyVM and developed by José Solórzano in late 1999. It started out as a hobby open source project, which he later forked into what is known today as leJOS. Many contributors joined the project and provided important enhancements. Among them, Brian Bagnall, Jürgen Stuber and Paul Andrews, who later took over the project as José essentially retired from it.

As of August 20, 2006, the original leJOS for the RCX has been discontinued with the 3.0 release. Soon afterwards, iCommand, a library to control the NXT from a Bluetooth-enabled computer via LCP, was released. This library made use of the standard Lego firmware. This library was later superseded by leJOS NXJ 0.8. In January 2007, a full port to the new Lego Mindstorms NXT was released as a firmware replacement. This is far faster (x15 or so) than the RCX version[citation needed], has more memory available, a menu system, Bluetooth support using the Bluecove library, and allows access to many other NXT features.[3]

In 2008, versions 0.5, 0.6 and 0.7 were released. In addition to numerous improvements to the core classes, the Eclipse plugin was released along with a new version of the tutorial. In 2009, there were 2 more major releases: 0.8 and 0.85. In May 2011 0.9 was released. Broadly speaking, the releases have concentrated on improvements to navigation algorithms, as well as support for numerous 3rd party sensors and the Eclipse plug-in.

In 2013, development began on a port to the Lego Mindstorms EV3 brick. In 2014, the 0.5 and 0.6 alpha versions were released. In 2015, beta versions 0.9 and 0.9.1 were released.

Since November 2014 leJOS is used in a slightly adapted version also in the open-source project Open Roberta.[4]

Architecture

leJOS NXJ provides support for access to the robot's

APIs
for these products.

By taking advantage of the

behavior based robotics
.

Here is a simple leJOS program:

import lejos.nxt.Motor;
import lejos.nxt.Button;
public class Example {
    public static void main(String[] args) {
        Motor.A.forward();
        Button.waitForPress();
        Motor.A.backward();
        Button.waitForPress();
        System.exit(1);
    }
}

Community

Since the first alpha release of leJOS NXJ in 2007, the project has had a consistently active following.

  1. Between January 2007 and October 2011 there were over 225,000 downloads[7]
  2. In 2011 the downloads averaged between 4000 and 6000 a month [7]
  3. In 2011 over 500 topics were discussed in the forums. Each topic often generated several hundred posts.[8]
  4. Between May 2012 and March 2013 there were over 36,000 download of release 0.91[9]

The core development team has been a relatively small group. Contributions are accepted from other members of the community. Several of the interfaces to third party sensors and actuators have been contributed by members outside the core team. The platform has been used in university robotics courses, undergraduate research projects and as a platform for robotics research.

NXJ and the Java platform

As leJOS NXJ is a Java project, it builds on the wealth of functionality inherent in the Java platform. There are leJOS NXJ plugins for the two leading Java

IDEs: Eclipse and NetBeans
. Robotics developers can take advantage of the standard functionality of an IDE (code completion, refactoring and testing frameworks) as well as point-and-click implementation of NXJ functions: compiling, linking and uploading. A wealth of java open source projects (such as Apache Math) are likewise available to the NXJ robotics developer.

See also

References

  1. ^ Elouafiq, Ali. "The Lego Mindstorms Robotics Invention Systems 2.0 Toolkit: A Study Case" (PDF). Archived (PDF) from the original on September 3, 2020. Retrieved January 8, 2024.
  2. ^ "Jitter on the NASA site". Archived from the original on 25 November 2010. Retrieved 5 December 2011.
  3. ^ "LeJOS, Java for Lego Mindstorms". Retrieved 4 November 2011.
  4. S2CID 8272806
    .
  5. ^ "Mindsensors". Retrieved 22 August 2012.
  6. ^ "HiTechnic Products". Dataport Systems, Inc. Retrieved 22 August 2012.
  7. ^ a b "Statistics from Sourceforge". Retrieved 2 December 2011.
  8. ^ "Statistics from NXJ forums". Retrieved 5 December 2011.
  9. ^ "Statistics from NXJ forums". Retrieved 10 March 2013.

Further reading

External links

This page is based on the copyrighted Wikipedia article: LeJOS. Articles is available under the CC BY-SA 3.0 license; additional terms may apply.Privacy Policy