Lejos Del Mundo
   HOME

TheInfoList



OR:

leJOS is a
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
replacement for
Lego Mindstorms Lego Mindstorms (sometimes stylized as ''LEGO MINDSTORMS'') is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022. Mindstor ...
programmable bricks. Different variants of the software support the original
Robotics Invention System Lego Mindstorms (sometimes stylized as ''LEGO MINDSTORMS'') is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022. Mindstor ...
, the NXT, and the EV3. It includes a
Java virtual machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally descr ...
, which allows Lego Mindstorms robots to be programmed in the
Java programming language Java is a high-level, general-purpose, memory-safe, object-oriented programming language. It is intended to let programmers ''write once, run anywhere'' ( WORA), meaning that compiled Java code can run on all platforms that support Jav ...
. 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 Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
students. The leJOS-based robot ''Jitter'' flew around on the
International Space Station The International Space Station (ISS) is a large space station that was Assembly of the International Space Station, assembled and is maintained in low Earth orbit by a collaboration of five space agencies and their contractors: NASA (United ...
in December 2001.


Pronunciation

According to the official website: : ''In
English English usually refers to: * English language * English people English may also refer to: Culture, language and peoples * ''English'', an adjective for something of, from, or related to England * ''English'', an Amish ter ...
, 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 Spanish might refer to: * Items from or related to Spain: **Spaniards are a nation and ethnic group indigenous to Spain **Spanish language, spoken in Spain and many countries in the Americas **Spanish cuisine **Spanish history **Spanish culture ...
, 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 Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
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 is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is li ...
-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 is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). In the most widely used mode, transmission power is li ...
support using the Bluecove library, and allows access to many other NXT features. In 2008, versions 0.5, 0.6 and 0.7 were released. In addition to numerous improvements to the core classes, the
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
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 LEGO Mindstorms EV3 (stylized: LEGO MINDSTORMS EV3) is the third and final generation of LEGO's Mindstorms robotics kit line. It is the successor to the second generation LEGO Mindstorms NXT kit. The "EV" designation refers to the "evolution" ...
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.


Architecture

leJOS NXJ provides support for access to the robot's
I²C I2C (Inter-Integrated Circuit; pronounced as "" or ""), alternatively known as I2C and IIC, is a synchronous, multi-master/multi-slave, single-ended, serial communication bus invented in 1980 by Philips Semiconductors (now NXP Semiconduct ...
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 and HiTechnic have extended this basic set by providing advanced sensors, actuators and multiplexers. leJOS NXJ includes Java APIs for these products. By taking advantage of the
object-oriented Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impleme ...
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 PID or Pid may refer to: Medicine * Pelvic inflammatory disease or pelvic inflammatory disorder, an infection of the upper part of the female reproductive system * Primary immune deficiency, disorders in which part of the body's immune system is ...
and the
Kalman filter In statistics and control theory, Kalman filtering (also known as linear quadratic estimation) is an algorithm that uses a series of measurements observed over time, including statistical noise and other inaccuracies, to produce estimates of unk ...
noise reduction algorithm. leJOS NXJ also provides libraries that support more abstract functions such as navigation, mapping and
behavior based robotics Behavior-based robotics (BBR) or behavioral robotics is an approach in robotics that focuses on robots that are able to exhibit complex-appearing behaviors despite little internal variable state to model its immediate environment, mostly gradually ...
. Here is a simple leJOS program: import lejos.nxt.Motor; import lejos.nxt.Button; public class Example


Community

Since the first alpha release of leJOS NXJ in 2007, the project has had a consistently active following. # Between January 2007 and October 2011 there were over 225,000 downloads # In 2011 the downloads averaged between 4000 and 6000 a month # In 2011 over 500 topics were discussed in the forums. Each topic often generated several hundred posts. # Between May 2012 and March 2013 there were over 36,000 download of release 0.91 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 An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
and
NetBeans NetBeans is an integrated development environment (IDE) for Java (programming language), Java. NetBeans allows applications to be developed from a set of modular software components called ''modules''. NetBeans runs on Microsoft Windows, Windows, ...
. 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

*
List of Java virtual machines This article provides non-exhaustive lists of Java SE Java virtual machines (JVMs). It does not include every Java ME vendor. Note that Jakarta EE runs on the standard Java SE JVM but that some vendors specialize in providing a modified JVM optimi ...
*
Lego Mindstorms Lego Mindstorms (sometimes stylized as ''LEGO MINDSTORMS'') is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022. Mindstor ...
*
Robotics Invention System Lego Mindstorms (sometimes stylized as ''LEGO MINDSTORMS'') is a discontinued line of educational kits for building programmable robots based on Lego bricks. It was introduced on 1 September 1998 and discontinued on 31 December 2022. Mindstor ...
*
URBI Urbi is an Open-source software, open-source cross-platform software computing platform written in C++ used to develop applications for robotics and complex systems. Urbi is based on the UObject distributed C++ component architecture. It also in ...
*
Robotics suite A 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. Developers can ...


References


Further reading

* Brian Bagnall (2011). ''Intelligence Unleashed: Creating LEGO NXT Robots with Java''. Variant Press * Brian Bagnall (2002). ''Core LEGO Mindstorms Programming''. Prentice Hall PTR. * Giulio Ferrari et al. (2002). ''Programming LEGO Mindstorms with Java''. Syngress. * Max Schöebel et al. (2015). ''Roberta - EV3 Programmieren mit Java''. Fraunhofer Verlag.


External links

*
Step-by-Step Instructions for installing and running leJOS



Ebook: Develop leJOS programs step by step
{{Lego Lego Mindstorms Embedded operating systems Java virtual machine Robot programming languages 1999 software 1999 in robotics Software using the Mozilla Public License Software using the GNU General Public License