…. is over. The new release of leJOS EV3 is here. leJOS EV3 0.9.1 brings computer vision, cooperation, extra brains and improved locomotion to your robot.
Computer vision is made possible as leJOS for the EV3 now supports webcams and a powerful library, OpenCV 2.4, to process images. Cooperation between bricks can be realized using a PAN (Personal Area Network). Up to 16 EV3’s, computers or mobiles can be connected using wifi, USB or Bluetooth (max 8 devices). Extra brains can be added by using external libraries. Locomotion has improved support for differential and holonomic drive systems.
You can now hook up a webcam to the USB port of your brick. We do not have much experience with different brands of camera’s. The leJOS forum is the most up to date place to find out what brands are supported. There were several articles introducing webcam support on leJOS News. These provide fine examples for coding. Included in this new release of leJOS is the OpenCV library that you can use to proces your images. object tracking, face recognition, it is all there. lejos News has an article about using OpenCV, more will follow.
OpenCV is not the only external library you can use. You can also add other libraries of your choice to your projects. All you need to do is to add a jar file to your Eclipse project in the normal way, by selecting Java Build Path from the project Properties page, and clicking on “Add Jar”or “Add External Jar”. The Eclipse plugin will then automatically upload the jar file(s) to the EV3, and include them in the classpath in the jar file Manifest file. The files are uploaded to /home/lejos/programs/lib. If different projects use a jar file with the same name, it must be the identical jar file, as only all projects share the same lib directory.
Using the menu on your brick you can now create or join a PAN (Personal Area Network). The network allows your bricks to communicate with each other or with other devices in the network. You can connect the PAN to your home network and the Internet. There are several different techniques to program for a network of bricks. Ranging from using remote ports in a system where one brick controls all the others, to using sockets and custom commands for systems where each brick performs it’s own unique task. There is a series of articles elaborating the different techniques.
When building mobile robots is your thing you might benefit from the Chassis class. It allows you to describe the setup of your mobile robot, the robot being a differential or a holonomic robot. It can be used on its own in your programs. For example to create line followers or remote controlled robots. A code example of a Remote controlled robot (RcControlChassis) can be found in the samples that ship with leJOS. It however is also on the basis of the control systems for navigation as pilots rely on it. See the articles on Navigation for some background on control systems for navigation. Thanks to the Chassis, leJOS now needs just a single pilot. This pilot, the MovePilot, will replace all other pilots. For the moment they are still there as you might use them in your program, but eventually these other pilots (DifferentialPilot, OmniPilot, etc) will be removed.
There are some enhancements to the Eclipse plugins. Support for external libraries is mentioned already. You can also specify the name of a brick in the run configuration of your program. This makes it easy to write a program for a specific brick. This comes in very handy when having a project with multiple bricks. A brick can be referred to by its name or by its IP address.
There were a some bug fixes. The most noticable are in the Monte Carlo Localization (MCL). But overall, there were few this time. This makes the developers believe that leJOS is getting very close to a first stable release.
The new release can be downloaded from here. Installation instructions can be found on the leJOS wiki, existing users should also update the leJOS plugin for Eclipse, by selecting Help then Installation Details, and then selecting the leJOS EV3 plugin, and clicking “Update …”..
You can discuss this release on the leJOS forum. This is also the place to report bugs. Please do not use comments to this post or Facebook for this.