Lego Mindstorms Robots

The robots

Our lego Mindstorms robot was designed as result of the diploma thesis Macrobot by Kaspar von Gunten and enhanced in a series of student labs. The current state is documented in ARA.

As basic feature, the robots can go forwards by following the line and turn left or right at crossing points. The middleware uses OSGi on iPAQ with Familiar Linux on Java. The iPAQs communicate with the RCX brick over the Lego infrared tower that is attached via serial port. On the RCX a modified version of LeJos is running.

R-OSGi robot controller

R-OSGi robot controller is a sample application to control the basic features of the robots by using R-OSGi and a ServiceUI sample. Every robot has an iPAQ with R-OSGi remoting a basic robot bundle that provides the basic features. Communication channel is a wireless network card on the iPAQ that can either operate in managed, or in ad-hoc mode. Clients are iPAQs or a Sharp Zaurus running R-OSGi and a sample ServiceUI that notifies the user if a robot could be discovered and lets users send robot commands.
Please note that the current version of the ServiceUI looks slightly different than the screenshots below and allows to simultaneously connect to multiple services. This includes the possibility to connect to the same type of service running on different remote hosts. In our Mindstorms example, that means, it is possible to control multiple robots with the same ServiceUI. Additionally, the getQueue button is no longer required. Changes in the content of the queue are signaled to all UI instances by remote events.

sample serviceUI in discovery mode

user has decided to connect to a discovered service

R-OSGi robot controller in action