I recently finished my work on a physical installation in the new finn.no store (“En slags butikk“). I’ve covered a couple of the more technical aspects of this in my two previous posts – here’s a more accessible overview of the installation :-)
The installation is basically a motion controlled slideshow. Swipe your hand to the left over the Leap Motion sensor (mounted in the left wooden box in the picture) and the current picture slides left and a new picture slides in from the right. Swipe your hand to the right, and the opposite happens.
The pictures shown are from typical vacation destinations – the idea being that store visitors would snap selfies of themselves in front of the canvas, upload them to Instagram (tagged with #enslagsbutikk) and thereby have the chance to win an actual vacation.
Functionally simple enough, but not without challenges:
- The installation is located in a somewhat spacious room with lots of light that might confuse the Leap Motion
- The built-in gestures that come with the Leap Motion API don’t include a generic full hand gesture, so I had to solve it without using those
- Given that the whole point was that people would take pictures of themselves in front of the canvas, the projection had to be done from the rear (to avoid shadows)
- Quite a bit of fiddling around and optimization had to be done to ensure a good enough motion detection reliability
The biggest issue in bullet point 4 above was that the store visitors were swiping their hands too close to the Leap Motion sensor. Swipes in the 0 to 4 centimeter zone would go undetected.
Since this proximity blind zone is a physical sensor limit with the Leap Motion, the only way to make sure people kept their hands far enough away was to mount a physical barrier that still didn’t block too much of the sensor’s view. I ended up milling a simple frame on Jens Dyvik‘s excellent CNC milling machine (a Shopbot) and mounting it around the sensor recess:
Although the main point of the frame is to keep swipes at a minimum distance from the sensor, it also provides two more advantages:
- It limits the sensor’s side view, reducing “false positives”, ie. hand movements that the user didn’t intend as a swipe
- It reduces light pollution from lighting sources in the room, improving the sensor’s frame rate
Summary time! Here’s what I did on this job:
- Coded and otherwise made the slideshow app in Unity3d, hooking into Leap Motion’s Unity3D API
- Specified how the Leap Motion sensor needed to be mounted to function well, including guidelines for the ambient lighting
- Milled out a standoff frame to improve sensor accuracy
- Set up a PC to run the app