Introduction: Training Theo Jansen's Mini BEEST
Let's make a little table-top beast and train it in stages! The origin of this beast has been created by Theo Jansen. He named it "STRAND-BEEST" and he is dreaming of it shall settle in wild.
Against his dream, we tame it as a table-top beast. You are the master of it. You make it act at your command with simple tools. A paper fan, motor, micro-controller or Infrared remote is used in each stage before the final stage. In the final stage you need only finger action, which may look like using something like Force. I was surprised that BEEST becomes very cute in the final stage.
[video 1: Introduction]
We will train and command BEEST in five stages below(*1). You can see these stages briefly in the video above. Stuff used in these stages is listed in Step 11.
- Baby BEEST with a pinwheel
- Rushing BEEST with DC motors
- Dancing BEEST with a microcontroller
- Exercised BEEST with an Infrared (IR) remote
- Tame BEEST following your finger signal
After the final stage above, three extra stages will be shown. In the first extra stage, Tame BEEST will say hello with a smile and ask you for something. In the second, BEEST listens to your command and follows it(*2). In the third extra, Baby BEEST will evolve in other direction. It will walk or stop outdoors with no training nor command.
(*1) I hope pictures and videos in each step can cover my poor English.
(*2) An extra sample sketch is added in Step 9 in return for your votes in a contest. Thank you.
Step 1: Theo Jansen and Mini BEEST
Theo Jansen is a very unique artist, who studied physics at the Delft University of Technology. He has evolved marvelous huge creatures named "STRAND-BEEST" on a beach in Holland. Every BEEST has yellow plastic skeleton and walks on the wind.
In 2011 Gakken, a Japanese publisher, brought out a book featuring his works. This book contains a kit of "mini BEEST" as a free gift. Now this kit is sold around world by Theo Jansen's web site, where it is called "mini STRANDBEEST".
In this book, he tells that he is dreaming of the BEESTs settled in wild in future. However Gakken's "mini BEEST" stimulates us for the opposite dream. We will come to want to domesticate it on the small table-top and to make it act at our commands.
Hence here, we try evolving it in the other direction against Theo Jansen's dream. However we treat it as a living creature with plastic skeleton out of respect for Theo Jansen.
Step 2: Baby BEEST With a Pinwheel
Build the kit normally by following the included manual. You can get a baby BEEST as a kinetic art. Now you are the master of it. It has a pinwheel and you have a paper fan. You can make it walk forward by fanning it briskly. You shall know it is not easy to make the baby walk for a meter or a yard.
[video 2: Baby and Naive Master ]
Step 3: Rushing BEEST With DC Motors
A DC motor and battery can free you from heavy fanning. For more evolution in future, we want to equip our baby BEEST with a DOUBLE-GEARBOX driven with two DC motors.
[video 3: Rushing BEEST with No Fanning]
For the equipment, we release the center joint of baby BEEST and divide it into two blocks. Two steel rods in the kit are not enough, because we should set the gearbox between these two blocks. Hence three longer rods are prepared.
Two of them pierce the original axes between the blocks and additional one pierces the axis between top of blocks. The latter axis was used to attach pinwheel to baby BEEST. Now the pinwheel is removed and the axis is used to improve the rigidity of BEEST.
Though the additional third rod may not be required for short test, it shall be appreciated in the later stages. I recommend also cover each rod with a well fitting plastic pipe. The pipe covering the top rod could prop against a tension of rubber band which fastens two blocks and gearbox.
The most important question in this step is how we should attach gearbox to baby BEEST. It is not obvious, because the crankshaft of BEEST doesn't suit to the outer shaft of gearbox.
We never want to give only a small scratch or stain to baby. Hence we should make good adapter which connects shaft of gearbox to the crankshaft of BEEST. You can see a sample adapter in the pictures above. We need scotch tape and two plastic pipes with different diameters to get the adapter. We should wind scotch tape around gear shaft or inner pipe carefully to get good thickness.
When good adapters are gotten, gearbox (114.7:1 chosen) and battery can set on the lower rods of BEEST with small rubber bands. Now you the master can make your BEEST rush forward with no fanning.
Step 4: Dancing BEEST With Arduino
Though Rushing BEEST gotten in the former step looks like having good muscle, it doesn't seem having good brain. Arduino NANO, a popular microcontroller, can work as a brain. Now we can get it for less than 3 dollars in web-shop.
You the master can make your BEEST step various dances by equipping it with Arduino and motor driver IC. Two batteries are used. One is 6P 9V for Arduino, and the other is 1S LiPo 3.7V for motors. The latter will supply power also to three LEDs in the final stage.
[video 4: Dancing BEEST with Arduino]
A sample code for a dancing is attached below. To get a schematic, see the pin-out figure above and the comments in this sample code. You can also see my earlier article for a self-balancing robot to get it.
Step 5: Exercised BEEST With IR Remote
Dancing BEEST gotten in the former step looks like having a brain. However the dancing steps are programmed in advance. Hence the steps cannot be changed dynamically.
[video 5a: Trained BEEST by Its Master with IR Remote]
You the master want to command BEEST to step various dances in real time, don’t you? If you want, an Infrared (IR) remote can make you a smarter master, who command BEEST in real time. You can get it including its receiver for less than 2 dollar in web-shop.
[video 5b: A Sports Day for Trained BEEST]
Here sample code is not attached. Because the analysis of the signal of IR remote(*) requires long explanation. And we don't use IR remote finally. See the next step.
(*) 0.1uF capacitors can prevent electrical noise of motor from disturbing IR remote signal. See the lower right picture above.
Step 6: Tame BEEST Gazing at Your Finger (1)
The master of Exercised BEEST shown in the former step can command it various steps in real time. He uses a IR remote. However, a well trained beast may be able to follow your command without special gimmick like IR remote.
Now you the master enter the final stage, where your BEEST is tamed better to follow your finger signals. It may look like using something like Force because BEEST follows your command with no physical contact nor special gimmick.
To make BEEST know your finger signal, you the master additionally give it three simple eyes. Photo-transistor works as this simple eye. When you move your finger in front of a photo-transistor, its output voltage changes.
[video 6a: One-Eyed BEEST Has Evolved into Three-Eyed]
Here four basic finger actions are used.
- Shaking finger at a distance from an eye: BEEST steps forward
- Moving finger or palm near to an eye: BEEST steps backward
- Keeping finger far from every three eye: BEEST keeps still at rest
- Moving finger or palm near to an eye quickly twice in a row: BEEST stops its stepping
[video 6b: Basic Finger Signals and Exercising 3Eyed BEEST]
On the other hand, from the view point of the real, the brightness around each eye can change even if no finger is moved. For example, when BEEST turn to a window in the daytime, the light intensity toward the eyes will increase. This change of light intensity can make BEEST steps wrong against the command of you the master.
The fourth additional action above stops this wrong step and resets the normal value of light intensity. Moreover, this Stop-and-Reset can be executed even if this additional action is not done. When the steps of BEEST change widely light intensity toward its eyes, this Stop-and-Reset is done automatically. See the lower chart in the lower right picture in the next step. (Stop-and-Resets are executed three times intendedly, not automatically, in this chart.)
Step 7: Tame BEEST Gazing at Your Finger (2)
To make BEEST know better your finger signals, we attach LED beside each eye. It corresponds a head lamp for a walker in a poor light place. Here we use Infrared (IR) LEDs, because the appearance of BEEST could be kept simpler. (We cannot see IR light.)
Now you the master can command BEEST by your finger signal. However you may not be able to command it well. The main reason(*) is the automatic Stop and Reset described in the former step.
Against this problem, an additional LED which emits visible light helps us. It tells us whether the automatic Stop and Reset is done or not. BEEST with this LED becomes more interactive pet. You will feel that it becomes very cute.
[video 7: Commanding BEEST to Walk around Tabletop by Finger Signals]
A sample sketch to make your mini BEEST change interactive cute pet is attached below. It will work well with stuff in Step 11.
Before training, you have to watch [video 6b] and [video 7] carefully. Then you can know how to command your BEEST. Enjoy!
(*) Near the window on a sunny day or under the incandescent lamps, these light sources can overwhelm IR LED and make BEEST act wrong against your command. In such places, the automatic Stop-and-Reset is done very often and BEEST cannot react you well.
You can see two line charts in the lower right picture above. These charts show time series of R, C and L in the sample sketch attached below. These charts will help you understand this sample sketch or train your BEEST.
Step 8: Extra 1 (Expressive BEEST With an OLED Monitor)
The LED introduced in the former step works enough for interactive communication. You can substitute a small OLED monitor for it, if you want. It is not expensive (less than 4 dollar). You may feel good to be asked by your BEEST to take it for a walk. However it rarely contributes for training.
[video 8: BEEST says hello and asks you to take it for a walk]
On the other hand, it can display important information dynamically, such as the level of brightness or the variation of it. If you saw such information in real time, you might be able to train BEEST better. See the later half in the video above.
Especially, you will come to appreciate it in a bright place, where IR LED is overwhelmed by other light sources described in "(*)" in the former step. You can see a training in such place after 2:30 in the video above. In this training, every three IR LEDs beside phototransistors is turned off. And a few lines in the sketch are corrected.
Step 9: Extra 2 (Tame BEEST Listening to Your Command)
Eyes and face, your BEEST has gotten so far. Here it get an ear. Your BEEST listens to your command and follows it.
Voice analysis or FFT would be overkill, though it looks neat. "Tut-tut" can work well enough. However it should be distinguished from the noise of gearbox or the electrical noise of motors. Hence a good filter is required in the sketch (program) for a faithful BEEST listening to you.
[video 9: BEEST listens to your command and follows it]
In the video above, hand-clapping or rapping-on-a-table is used to command BEEST. Though tut-tutting can work as well, here it might sound unpleasant or bad-mannered. Also a cheap sound detector (@US$1) is used with hand-clapping and a cheap microphone with amplifier(*) is used with rapping-on-a-table. The detector will require more efforts to distinguish your command from noise than the plain microphone. See the lower right picture above.
(*) The small microphone in the picture above has no amplifier. Hence a louder voice or sound is required to command BEEST at a distance.
(**) A sample sketch for the cheap sound detector is attached below in return for your votes in a contest. An alternative sketch for the cheap microphone with amplifier will be posted in near future.
Step 10: Extra 3 (Normally Evolved BEEST With Solar Power)
In the former steps we have domesticated mini BEEST as a cute table-top pet. Maybe it doesn’t suit for Theo Jansen’s dream.
Out of respect for him, an extra BEEST is shown here. It walks by solar power in the open air. It is thought as a normally evolved BEEST along Theo Jansen’s dream.
[video 10: A Normally Evolved BEEST Walking in the Open Air]
The BEEST in the video 10 can walk well in the sunlight. However it stops soon in the shade. Click the lower left picture above, you can see the information about materials used here.
Step 11: Stuff
You can see all components used in each step except the extra stages (Step 8 to 10). See Step1 about the kit of mini BEEST.
- Kit of mini BEEST or mini STRANDBEEST
- DOUBLE GEARBOX (2 DC motors included, Gear ratio 114.7:1 chosen)
- Scotch tape
- Thicker plastic pipe for adapter (6-7mm inner diameter)
- Thinner plastic pipe for adapter (3-4mm inner diameter)*
- Steel rod (2mm diameter, 1000mm length)
- Small solderless breadboard
- Battery (3-4V, 1S LiPo used here)
- Some small rubber bands
(*) This thinner pipe must be inserted the thicker pipe. This thinner pipe can be also used to cover steel rod above or to support eye units in the final stage.
- Arduino NANO
- Motor driver IC (L298N used here)
- 6P battery (9V)
- Some jumper wires or pins
- Infrared (IR) photo-transistor (3pcs, OP505A used here)
- IR LED (3pcs, SFH4554DWEW used here)
- Thin bamboo sticks (7pcs, 2mm diameter, 100-150mm length)
- Additional plastic pipe (3mm inner diameter)
- Additional small rubber bands (4pcs)
[video 11: A Longer Walking on Table and a Harder Training with a Smile]