|In the following article, I am going to outline a project that we have been working on for Adidas to help them promote the release of their sneaker collection MEGA. We've basically created a system that would allow dancers to create their own beat or music with their shoes. Some sort of modern tap dancing|
|Aside from this film, we've also build a real interactive installation in several Shops in France to allow real people to test and play with the Megalizer.
We had to meet the following requirements :
Hardware and assembly
The concept is rather straightforward: I needed two force sensors for each shoe (one for the heel and one for the toe), and a wireless transmitter per shoe to capture the pressure applied on each of the sensors.
I used the Force Sensitive Resistor from Interlink [http://www.sparkfun.com/products/9376]. They have the right square size, are super-thin, and accurate enough to sense the pressure of a dancer’s foot on the ground.
As for the transmitter, I just had a size constraint: I wanted something really small, capable of handling two analogical inputs: one for the heel and one for the toe.
Only thin components such as the sensors can be placed under the internal sole of the shoe.
The first transmitter prototype I built was using a BlueTooth chip (class 3). Although the result was satisfactory at half-a-meter distance from the receiver, the latency increased with the distance. At 7 meters, the latency went as much as 1/8th second.
Then I gave XBee technology a try: these wireless modules have very narrow settings, a low power consumption, and I was confident I could reach a minimum latency at a decent distance.
Once I had solved the range / latency issue, one of the major challenges was to make the XBee module so small as to be wearable on a shoe. As we didn’t have the budget to industrialize the process, all of the assembly was made by hand
Below the two final prototypes before and after building optimization :
On each shoe, the module included:
Finally, a receiver is connected to the computer to gather the signals from all the XBee chips.
The XBee chip (the emitter) can be programmed so that it emits on its own at a certain frequency both analogical inputs to another XBee chip (the receiver).
The receiver is a XBee chip plugged on a USB dongle. At the beginning, I had a single Xbee chip to handle the signal of the 6 emitters. I became quickly aware of performance and latency issues, due to colliding packets. To solve this, I put three XBee chips as receivers. Each chip was in charge of handling two emitters and the collision/latency issue was gone.
As for the software, two separate programs had to be developed:
The communication between the processing server and the air application is achieved by a socket server hosted by the processing server.
The signal analysis was not an easy task. My intention was to assess when the heel or the toe was hit. The major difficulty is that when the dancer dances or even stands, there can be significant shifts of balance from one sensor to another, without an actual impact having really happened.
I created a rather simple algorithm, which you’ll find the basics below:
The application offered the following options:
To design the frontend of the AIR application, I used the Minimal Components of Keith Peters.
I did face loads of technical and hardware problems during the production and tests. Generating live music requires very low latency, and creating a shoe-wearable wireless system was a real challenge.
The dancers that operated on the video clip did train a lot to succeed in synchronizing to play the actual song.
Aside from the technical standpoint, it has been for me a great and fulfilling experience to discover the dance environment.
Film : YAK Films
Dancers & Singer : Lamine, Laurent & Larry (Twins), Mounir, La Fouine.
Thanks to Keith Petters Minimal Components [http://www.minimalcomps.com/]
Thanks to my brothers Fabien & Fabrice for their help.
If you have any questions on programming XBees, on the processing server or anything else, share them with me in the comments: I am no electronics expert, but I did learn a few things on that project
Sparkfun shopping list : http://www.sparkfun.com/wish_lists/13870
Making-of full res photos pack : http://sidlee.didierbrun.com/adidas/megalizer_photos.zip
Emitter electronic scheme PDF : http://sidlee.didierbrun.com/adidas/megalizer_electronic_scheme.pdf
Processing server sources : http://sidlee.didierbrun.com/adidas/megalizer_processing_sources.zip