Initial release | 6 August 2000[1] |
---|---|
Stable release | v0.9 / May 16, 2011 |
Written in | Java |
Platform | Cross-platform |
License | Open Source (MPL) |
Website | lejos.sourceforge.net |
leJOS is a firmware replacement for Lego Mindstorms programmable bricks. It currently supports the LEGO RCX brick and leJOS NXJ supports the NXT brick. It includes a Java virtual machine, which allows Lego Mindstorms robots to be programmed in the Java programming language. It is often used for teaching Java to first-year computer science students. The leJOS-based robot Jitter flew around on the International Space Station in December 2001.[2]
Contents |
According to the official website:
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."
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, has more memory available, a menu system, Bluetooth support using the Bluecove library, and allows access to many other NXT features.[3]
leJOS NXJ provides support for access to the robot's I²C ports. This allows access to the standard sensors and motors (ultrasonic distance sensor, touch sensor, sound sensor and light sensor). Other companies, such as MindSensors [1] and HiTechnic [2] have extended this basic set by providing advanced sensors, actuators and multiplexers. leJOS NXJ includes the java api’s for these products.
By taking advantage of the object oriented structure of Java, the developers of LeJOS NXJ have been able to hide the implementation details of sensors and actuators behind multiple interfaces. This allows the robotics developer to work with high-level abstractions without having to worry about details like the hexadecimal addresses of hardware components. The project includes implementations of the commonly used feedback controller, the PID controller and the Kalman filter noise reduction algorithm. leJOS NXJ also provides libraries that support more abstract functions such as navigation, mapping and behavior based robotics.
Since the first alpha release of leJOS NXJ in 2007, the project has had a consistently active following.
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.
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.
ISBN 0986832200
|
|