last update: 31/1/2003
We have been challenged to produce a LEGO-robot for the Luxembourg Science Club. The challenge was to design a robot that would attract the attention of children and also adults and let them be astonished.
See what we've done so far.
The interested group: Luc, Max, Ben and Scharel
The group-name: B.I.T.
During a creative brainstorming the group decides to build and program a robot with the following characteristics:
The programming will be done with ROBOLAB 2.5
To express the following feelings, the robot's face must allow to change the position of the mouth and the eyebrows.
Scharel is building the face, Luc the rest of the head. Ben is occupied with the mobile base. Max takes notes and starts with the CAD-drawings.
We'll need special parts for the mobile base: 9938 5x --> treads
(Photo: Mario Ferrari)
The mobile base should be equipped with our direction-master in order to control the robot's orientation. The eyebrows are almost ready.
Luc at work. (Photo: Änny Keller)
Ben works with LEOCAD. (Photo: Luc)
The robot has got a name : "De wëlle Gast" (Gast is the short-form of the French Gaston)
Max writes in his notes: " Haut hu mir géint ee grousst LEGO-Gesetz verbrach! Nee, mir 4 Studenten hun näischt dermat ze din! Et wor de Chef, deen eise Mond zerschnidden huet!"
Scharel with Gaston's head. (Photo: Änny Keller)
The prototype of the new phase-sound sensor is ready.
The head and the neck are nearly finished. Now comes the body.
similarities ! (Photos: Luc)
Marc Hansen from 100,7 (Soziokulturelle Radio) makes interviews. They will be sent on saturday 23th at 15h00.
(Photos: Luc and Max)
Changes from the original plan:
The robot will NOT be able to whistle a tune. There is no sensor-port left. It is more important to precisely move the head in both directions and to control the face. The temperature-sensor is added to allow Gaston to react on heat. The ultrasonic-sensor will be replaced by bumpers. The ultrasonic frequencies disturb the audio-sensor too much.
Ben's horror: LEOCAD crashed and some of his CADs are lost. (Photo: Luc)
Scharel reflects about the robot's body. (Photo: Luc)
Max is taking notes. (Photo: Luc)
The mobile base. (Photo: Luc)
The mobile base from above. (Photo: Luc)
Working over an alternative body. (Photo: Max)
How to? (Photo: Luc)
Someone stole the CAD-files!
Discussions about the head.
The chief says, the neck has to be improved.
Another link to a similar project: http://www.daimi.au.dk/~chili/feelix/feelix_home.htm
The RCXs must be removable for battery-replacement. This complicates the construction. Ben and Scharel work over this problem.
Some notes about GASTON's face:
How do humans communicate emotions?
Facial movement and expression play the primary role in communicating emotions. C.E. Izard (1971) The face of emotion New York: Appleton-Century-Crofts says that the human face can generate six to seven thousand different expressions. There is a discussion about which part of these expressions are innate -so universal to mankind- and which part is learned. There seems to be a basic pattern of facial expressions that is universally related to certain emotions. P. Ekman (1984) Expression and the nature of emotion in K. Sherer & P. Ekman (Eds.), Approaches to emotion. Hillsdale, NJ: Lawrence Erlbaum Associates distinguishes seventeen types of smiles, including "false smiles", which are aimed at convincing another person that enjoyment is occuring; "masking smiles", which hide unhappiness...
Our goal is to produce a robot capable of communicating without ambiguity some basic emotions through facial expression. The problem is known by painters (everyone knows about the mysterious smile of Mona Lisa), cartoonists, who have to fix certain emotive moments. Even theatre or film-actors must select several basic facial movements in order to emphasize expressions. This will mostly have some carricature-effect.
A cartoon-example: Captain Haddock expresses well different emotions:
Dolores Cañamero and Jakob Fredslund (FEELIX) chose three different aspects of facial movement:
Playing around with GASTON's face we thought that using mouth and eye-brows would be sufficient to produce carricatural expression of emotions.
new LEGO-pieces arrived today.
Life chat with Prof. Chris Rogers, the author of ROBOLAB
The GASTON-project is presented at SCIENCE-Club .
Ben adds pieces to assure that later the LEGO camera might be fixed to GASTON's thorax.
GASTON does not appreciate this too much, does he?
There is only one sensor input left, so we need a signal multiplexer. We choose Mike Gasperi's presented in Nuts and Volts magazine . The two 50k potentiometers give us information about the positions of mouth and eyebrows. The third multiplexer input is occupied by a CdS light-sensor.
GASTON's facial expression is readable without ambiguity. (Luc did a great job with those photos!)
GASTON is getting electronic ears.
Gaston's head from above. You recognize Luc's ear-supports to which the L/R microphones will be fixed. The eyebrows-potentiometer is visible too.
Another view. The dimensions of the EARS' PCboard are optimal.
The mouth is activated via worm-screw. You see Mike Gasperi's signal multiplexer.
Luc fixed the ear-supports. Scharel still tried to implement the neck-motors into the thorax. Ben and Max are realizing the hands with the temperature-sensor and the light-sensor.
Other head-interior views:
Luc is adding the roof !
Ben adds the hands. The right hand holds the temperature sensor. The left hand has got the light sensor. GASTON should react on temperature: be happy if the ambient temperature increases a bit, which will happen if anyone gives hands.
The neck is heavy stuff ! But Scharel doesn't give up.
Luc and Gaston. The CdS-lightsensor has been fixed to Gaston's chest.
The following programs control GASTON's eyebrows and mouth. GASTON should look malicious when the CdS-lightsensor values are around 50 (=ambient light). He should express sadness if the light becomes too intensive (=100) or too dark (=0). Therefore we convert the CdS-values through a parabolic function:
Y = -0.008*CdS2 + 0.8*CdS
The eyebrows-potentiometer values variate between 30 and 40. The mouth-potentiometer-values are between 30 and 90. Because of the RCX internal 10k pull-up resistor, the values are hyperbolic. For the eye-brows this does not matter, but for the mouth, the values have to be linearized.
For GASTON's sake some attention has to be paid that any malfunction does not cause any hardware dammage. The mouth and eyebrows mechanisms could overdrive for instance. The programs issue soem error-code for easy debugging.
As pointed out the positioning potentiometers and the CdS-sensor are driven via Mike GASPERI's input-multiplexer. Mike uses a CMOS 4017 multiplexer which selects another output at every clock-pulse. The chip-selection is leaded to a 4066 analog switch. The 4017 pin0 provides a 100 value. Then the selection passes to the CdS-sensor with values (0 <= x < 100), followed by the eyebrows-potentiometer, then the mouth-potentiometer. Finally pin3 is connected to the 4017 reset pin and the cycle starts again. The clock-pulses are generated by switching the RCX-sensor input from unpowered (5V) to powered (7.2V during 3ms and 5V for 0.1ms (sample time)).
To control the positions, it is not possible to drive the motors at full power. The sensor sampling rate is too slow. So the motors must be pulsed at a more or less slow rate. The program checks whether ther is any error-condition, whether the target-position (HEADING) is reached or not, whether the sensor-values change when the should do so.
The following program part recognizes if the eyebrows or the mouth mechanisms still work in the allowed operation range.
The PC-board of the hearing sense is made of two parts which are fixed together at a flat angle to fit into GASTON's head. This is not too clear on the photos above.
Some of the CAD-drawings are ready. So does the head:
a first (bad quality) photo of GASTON who is ready for programming now. (Some better shots will follow.)
Last hardware-works that remain to be done:
Concerning GASTON's behaviour, Max proposes the follwing tasks:
There is a discussion whether GASTON should combine all these behaviours in one hierarchically structured program or in single programs that may be run individually by the operator. The group decides to combine them. This will produce a more "LIFE-LIKE" total behaviour.
GASTON's behaviour must be hierarchized:
The CAD-files all are ready now. We may set up an inventary of the 1100 engaged LEGO-pieces. GASTON has a considerable weight (batteries inclosed): 1.985 kg.
GASTON with LeoCAD. (Note that LeoCAD has no temperature-sensor in its library. GASTON's hair is also missing.)
Continue with GASTON JOURNAL 2