Robot simulation tool
Support for Lego robots
Universal interfaces for controlling robots
Interface documentation
Robot class templates
BlueJ integration of necessary tools

Welcome to Jabotics

What is Jabotics?

Jabotics is a collection of APIs and tools that have been developed for giving pupils an introduction into programming robots in Java. Lego NXT robots have initially been used as robot hardware, and BlueJ has been chosen as the preferred IDE for beginners. At the beginning, the focus was on providing APIs adopted for use in class and on integrating all necessary tools into BlueJ. Later, a robot simulation tool has been implemented that allowed pupils to run robot programs at home without having access to robot hardware.

APIs and supported robot hardware

Currently an English and a German version of the Jabotics API is available. The support of Lego NXT and EV3 robots is based on the leJOS libraries. Instead of directly using the leJOS APIs, a German API has been introduced at first in order to make life as easy as possible for the young German audience. There have been some further simplifications like providing a single interface for all kinds of sensors. In turn, the Jabotics API by far does not cover the functionality of the leJOS APIs. As a result of the separation from the leJOS APIs, robot programs based on the Jabotics API can be run on either NXT or EV3 robots without any changes as long as the robots are build in a certain standard configuration. Currently, the Jabotics API closely reflects the capabilities of the NXT robot. There will be some changes in the future to better support other robot hardware like EV3 robots or robots based on the Raspberry Pi. For the latter type of hardware some basic infrastructure might be provided, too.

Robot simulation tool

The separation of the Jabotics API from the robot hardware has been a prerequisite for the development of a robot simulation tool, also. There are certain limitations to the use of the robot simulation: Currently there is only a fixed scenario with a given arrangement of walls and without any moveable parts. Only a single robot program can be run at a time. Consequently no interaction between different robots can be simulated. Even though the scenario in the simulation is much simpler than any real world scenario, the simulation tool turned out to be very helpful in class or at home. Pupils can perform first tests of the software without having to deal with the complications of the robot hardware and the testing environment.

Jabotics website

The purpose of this website is to make the Jabotics APIs and tools available to other teachers, pupils and a broader public. The basics section will give a short introduction into the BlueJ integration of the Jabotics tools. Some further details of the Jabotics API and the robot simulation tool will be described in the Robot API and Robot simulation section, respectively. The Installation section will provide installation instructions for some supported environments. The download page can be found in the Project section.