Department of Industrial Design
Eindhoven University of Technology
Den Dolech 2, 5600MB Eindhoven, NL
m.t.bhomer@student.tue.nl, christoph@bartneck.de, j.hu@tue.nl, r.m.c.ahn@tue.nl, f.l.m.delbressine@tue.nl, l.m.g.feijs@tue.nl
Abstract - Lego Mindstorms NXT is a platform highly suitable for prototyping in the field of interactive social robotics. During a technology masterclass at Eindhoven University of Technology students from the department of Industrial Design have developed five novel extensions (sensors and actuators) for the Lego Mindstorms NXT which extend the ability of Lego to prototype for robotics even further. Applications include a water-pump, GPS sensor, wireless sensor bridge, optical mouse sensor and a magnetic grabber. In this paper we will present these extensions and showcase applications in which these extend possibilities of Lego Mindstorms NXT to a new level.
Keywords: robot, Lego, Mindstorms, NXT, social, prototyping
In social robotics there are many questions regarding which social role an intelligent robotic product should take [3]. An approach to answer this question is to prototype the behavior of an intelligent social agent and to empirically test the portrayed behavior by user testing.
There are many robotic platforms available which enable the designer to prototype the behavior of intelligent robotics, for example PeopleBot [17], Nao [1], HOAP [8], iCat [9] and the iRobot Create [10]. The downside of these platforms is that the appearance is pre-defined and can not be designed in parallel with the behavior.
A rapid prototyping method was introduced to define the user requirements of the appearance and the behavior of interactive robots. In this approach available common robotics parts from Lego Mindstorms [12] (sensor, actuators and mechanical parts) were combined with clothing to give a higher fidelity appearance [4]. The mechanical properties of Lego make it very suitable to rapidly prototype social robotics and evaluate the social role. Another advantage is that Lego models can be virtually built and shared with other people [6].
Because of the potential to easy prototype interactive robots there are large communities [16] with enthusiasts developing new applications and stretching the border of what Lego can do as interactive robot prototyping platform.
In the masterclass at Eindhoven University of Technology we contributed to the field of interactive robots by developing sensors and actuators which provide new tools to prototype a wide range of social interactive robots. The challenge was to develop novel extensions which did not exist before, but would be useful for the community. Another important requirement was the seamless compatibility with Lego NXT in hardware and software. The design of the casing should support the standard Lego connections and the software protocol should be able to work with the standard Lego NXT.
Various kind of firmware has been developed which allows the use of programming languages other than the native language developed by Lego, for example LabView [21], RobotC [20] and LeJOS [2]. Because our preferred programming language is Java we have decided to use the LeJOS firmware [2].
Besides the ability to extend the software, Lego NXT also has abilities to connect custom hardware using the built in I2C connections. The I2C bus has been developed in the beginning of the 80's by Philips with the goal to create an easy connection between processor and chips of a television [15]. A number of the extensions we will present use this protocol to communicate with the Lego NXT.
Besides taking courses about classical engineering [18] and machine learning [14] [19] students of Industrial Design were asked to develop their own Lego extension during the 6 weeks long masterclass. In this section we will present the five extensions which have been developed by the students.
A big challenge in the field of interactive robots is navigation. Global Positioning System (GPS) information can give more information about the location of a robot in the world. Unfortunately for rapid prototyping with Lego NXT this technology is not easy to implement. Martijn ten Bhömer solved this problem by developing a GPS sensor extension for Lego NXT.
The GPS module used in this sensor is the USGlobalSat EM-406A2. This is a relatively cheap module which has 10 meter Positional Accuracy and even 5 meter when it receives a WAAS signal (Wide Area Augmentation System). The GPS module uses a serial connection to communicate based on the NMEA-0183 [10] standard.
Because the GPS module communicates through serial connection, but the NXT's digital input uses I2C a conversion in between was needed. To realize this an intermediary micro controller was used. The NXT can communicate with the micro controller and GPS module as any other Lego sensor.
Because there needed to be an intermediary micro controller, it was logical to do as much as possible pre-processing on this micro controller to lower the resources needed on the NXT. The NXT can poll for certain data, for example latitude and the sensor returns the latest latitude information it acquired from the GPS module.
Using this new sensor and the HiTechnic NXT Compass Sensor [7] a simple application has been developed which enables a robot to navigate in a straight line between two coordinates. With the same sensor a whole new array of applications can be created. For example to log location information about the actions of a robot or to even integrate location information with external maps including other information. Small mobile robots which can be created with Lego NXT would benefit from noise-free location data. A Kalman filter approach [5] could be applied to obtain more accurate data and to estimate position when precise data is not available (for example when the GPS signal is blocked).
The idea of Tom van Bergen was to design a Lego water pump which would be able to transport water over distance. Requirements were that the pump was able to create enough force so it would be able to work from a distance, without the danger of electronics coming in contact with water.
The challenge of this extension was in developing a pump which was capable of creating a partial vacuum without being partly submerged in water. It was chosen to use the gear-pump principle [11] because of its simplicity, reliability and high power ratings. The gear pump was strong enough to locate the pump on a safe distance from the water.
A pump manufactured by Kavan was chosen for this extension because of its ability to flow up to 1,8 liters per minute and its compatibility with the Lego NXT power supply. The casing around the pump exists of two parts with the two nozzles sticking out of the casing to connect the host. The two electronic connection points (positive and negative DC poles) were soldered directly to an NXT plug, allowing the pump to be run forwards and backwards using Pulse Width Modulation (PWM) signals.
A demo application has been created which uses this new extension. A construction with Lego and an NXT distance sensor were attached to a water reservoir. When a person approaches the distance sensor more water is pumped up by the pump. The result is an interactive water fountain. This extension can open the door to many new Lego applications with water, for example: water displays, plant watering systems, fire extinguishing systems, water jet propulsion, transportation of liquids, pressurizing of liquids and cooling.
The Bluetooth connection of the Lego NXT enables communication over a range of several meters. The goal of Tom Frissen was to create an easy to use extension which would enable sensors to be connected to the NXT wirelessly over a distance of more than 1 kilometer.
A solution for this challenge was found by using XBee modules. With these small RF transceivers it is possible to create direct input and output pins, which enable a 1 on 1 mapping between the transmitter input and the receiver output pins.
To prepare the data for transmission a micro controller was used. This enables the wireless bridge to handle analog sensors such as the light and touch sensor, but also more complex I2C sensors such as the ultrasonic sensor. Because the sensor is not directly connected to the NXT there is a need for an external power source in the form of a battery. On the side of the NXT there is also a micro controller which can convert the received sensor data back to input for the NXT.
To demonstrate the proof of concept an application has been built which connects a Lego switch wirelessly. For the prototyping of interactive robots with a need of long distance communication this technology can be of interest. Also for applications where the sensors can not be installed close to the NXT this wireless sensor bridge can be a solution, for example applications with moving parts.
A computer mouse is accurate and can detect movement smaller than a millimeter. Because of this reason Martijn Jansen decided to contribute to the field of mobile robot navigation by developing an optical mouse sensor for NXT.
As a basis of the sensor the technology of an optical mouse was used. An optical mouse provides a good platform for this type of sensor because it has no mechanical parts which can break or wear off. Other advantages include price, size and the possibility to be used on many different surfaces.
To read the information from the optical sensor a similar 2-wire protocol as I2C communication is used. Because the protocol is slightly different to the NXT, an intermediary micro controller has been used to translate the data into a proper NXT I2C protocol.
Because of the calibration of the sensor the casing needed to support the sensor to be exactly 7.45 mm above the surface. Also the clip to hold the lens needed to be designed exactly according to the data sheet of the mouse. Martijn created a casing which met all these requirements.
This new sensor for Lego NXT enables a robot to have more precise data about their location. For example the exact distance which has been covered and the velocity which can be derived from this information. When the sensor is used in a feedback loop with the motor the robot can use it to follow routes more precise.
Eelco Klaver wanted to create a new actuator to expand the possibilities to influence the real world using Lego NXT. There are opportunities in the combination of Lego with magnetic force to provide automatic attaching and detaching of parts. To realize this a magnetic grabber was developed.
The basic idea of the grabber is that two solenoids can attract a modified Lego piece though a special guiding system. The challenge was to create a mechanical solution to guide the attaching process.
Two solenoids of the magnetic latching type were used. The solenoid used is designed for low duty cycle applications where the solenoid’s energized position is needed for an extended period of time. The plunger latches magnetically in his basic position, until a negative electrical pulse is applied to allow the plunger to unlatch.
The solenoid attracts the modified Lego beam through a special guiding system. However, when the guider is a stiff construction, this would have no effect. The guider should have the possibility to adjust its position a few millimeters to the position of the modified Lego beam. For that purpose a buffer construction was build which holds the guider with springs, so that the guider can change its position a bit, but always returns to its original position.
The demo application which was created used a single arm which was able to grab Lego objects. Using this principle it becomes possible to develop interactive robots which are able to modify their appearance, or even create new interactive robots autonomously.
Fig. 5 . The demo application. An object has been attached to the robot arm with the magnetic grabber based on the color of the ball.
During this masterclass five innovative extensions for Lego NXT were developed. Besides the creative ideas behind the extensions, the students also developed working prototypes showcasing the proof of concept.
The extensions in this masterclass were built in a time span of 6 weeks. We argue that Lego Mindstorms is indeed a good platform for rapid prototyping for interactive robots because of its open character and availability of good resources.
We think that general availability of these extensions would help the prototyping of interactive robots because new dimensions in the fields of robot navigation, robot interaction with the physical world and robot communication were found.
On the project website (http://www.bartneck.de/2009/02/16/results-lego-beyond-toys-2/) more detailed information about all the extensions can be found, including photos, movies and reports.
We would like to thank all the students who participated in this Masterclass: Tom van Bergen, Martijn ten Bhömer, Tom Frissen, Martijn Jansen and Eelco Klaver.