LeJOS
Encyclopedia
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.
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."
ports, as well as a variety of third-party sensors, including NMEA
GPS inputs and Bluetooth SPP keyboards. leJOS also provides extensive class libraries that support various interesting higher-level functions such as navigation and mapping
and behavior based robotics.
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.
Firmware
In electronic systems and computing, firmware is a term often used to denote the fixed, usually rather small, programs and/or data structures that internally control various electronic devices...
replacement for Lego Mindstorms
Lego Mindstorms
The LEGO Mindstorm series of kits contain software and hardware to create small, customizable and programmable robots. They include a programmable 'Brick' computer that controls the system, a set of modular sensors and motors, and LEGO parts from the Technics line to create the mechanical...
programmable bricks. It currently supports the LEGO RCX brick and leJOS NXJ supports the NXT brick. It includes a Java virtual machine
Java Virtual Machine
A Java virtual machine is a virtual machine capable of executing Java bytecode. It is the code execution component of the Java software platform. Sun Microsystems stated that there are over 4.5 billion JVM-enabled devices.-Overview:...
, which allows Lego Mindstorms robots to be programmed in the Java programming language
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
. It is often used for teaching Java to first-year computer science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
students. The leJOS-based robot Jitter flew around on the International Space Station
International Space Station
The International Space Station is a habitable, artificial satellite in low Earth orbit. The ISS follows the Salyut, Almaz, Cosmos, Skylab, and Mir space stations, as the 11th space station launched, not including the Genesis I and II prototypes...
in December 2001.
Pronunciation
According to the official website:- In EnglishEnglish languageEnglish is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...
, 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 SpanishSpanish languageSpanish , also known as Castilian , is a Romance language in the Ibero-Romance group that evolved from several languages and dialects in central-northern Iberia around the 9th century and gradually spread with the expansion of the Kingdom of Castile into central and southern Iberia during the...
, 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."
Programming
leJOS provides a Java programming environment for the Lego Mindstorms RCX and NXT robots. On the NXT, it provides support for access to the robot's I²CI²C
I²C is a multi-master serial single-ended computer bus invented by Philips that is used to attach low-speed peripherals to a motherboard, embedded system, cellphone, or other electronic device. Since the mid 1990s, several competitors I²C ("i-squared cee" or "i-two cee"; Inter-Integrated Circuit;...
ports, as well as a variety of third-party sensors, including NMEA
NMEA
NMEA 0183 is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by,...
GPS inputs and Bluetooth SPP keyboards. leJOS also provides extensive class libraries that support various interesting higher-level functions such as navigation and mapping
Robotic mapping
Robotic mapping is related to cartography. The goal for an autonomous robot to be able to construct a map or floor plan and to localize itself in it...
and behavior based robotics.
History
leJOS was originally conceived as TinyVMTinyVM
TinyVM is a small Java Virtual Machine primarily designed for use embedded systems with low memory. In 2000 the project was forked into LeJOS.-References:* Energy-Efficient Programming Environments for Wireless Sensor Networks * LeJOS technology...
and developed by José Solórzano in late 1999. It started out as a hobby open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
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
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...
-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
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...
support using the Bluecove library, and allows access to many other NXT features.
See also
- List of Java virtual machines
- Lego MindstormsLego MindstormsThe LEGO Mindstorm series of kits contain software and hardware to create small, customizable and programmable robots. They include a programmable 'Brick' computer that controls the system, a set of modular sensors and motors, and LEGO parts from the Technics line to create the mechanical...
- LeJOS Development ToolkitLeJOS Development ToolkitAn Eclipse plug-in for developing programs for the LeJOS environment on the Lego Mindstorms systems.- External links :* *...
- Robotics Invention System
- URBIURBIUrbi is an open source cross-platform software platform in C++ used to develop applications for robotics and complex systems. Urbi is based on the UObject distributed C++ component architecture. It also includes the urbiscript orchestration language which is a parallel and event-driven script...
- Robotics suiteRobotics suiteA robotics suite is a visual environment for robot control and simulation. They are typically an end-to-end platform for robotics development and include tools for visual programming and creating and debugging robot applications...