Hologram Box

It is the future!

At work there was a challenge to utilize a lunchbox to produce something cool and hip. The idea was to see what could be made with a limited form factor and a minimum budget.  The original idea came to be when a Raspberry Pi conveniently fit in our microwave safe compartments, and it was a great way to learn any new tech  sharpen our engineering skills.

My team member was adamant on making his miniature turret with a raspberry pi to scan and shoot things down. The box reminded me of the HUD holograms often used in Japan for their miniature dancing holograms, or full scale concerts. We decided to meet half way. Our project…

HOLOGRAM TANKS!

  • An IR scanner would search for any vicious signals (in our case the evil TV remote).
  • The direction would be sent to the HUD
  • The tank would fire in the same direction.

We split the tasks into 2, where we would utilize two boxes, the turret and hologram HUD respectively.

The IR sensor was attached to a motor, both attached a Raspberry Pi. We used a pen tube to cover the sensor to remove interfering signals. When requested, the turret device would raise, and begin rotate continuously. The python program detected when a signal was most likely a valid TV remote signal and note it’s current orientation.

We recycled an android phone with a magnetic phone cover to attached it to the the cover of the lunchbox. I got a clear piece of plastic to reflect the phones image at 45 degrees a la Haunted Mansion. The top cover of the box darkened the hologram area and was held up by Lego pieces which could easily be adjusted if needed.

I decided to learn a bit of Unreal Engine 4 to see if I could get a quick project deployed (and it was nice to get back to something compiled) on a phone. Some parts felt at home having UDK experience, and I was able to get a mobile project deployed.

Websockets were supported natively in Unreal, and we used the phones hotspot to create a network linking to the turret’s Raspberry pi. I imported a tank model and made all the surrounding background black. Added some bright spotlights in game to help when the hologram box was in bright environments. I added some fire projectiles and sound effects. The tank’s own turret would rotate when receiving a new direction.

tank

While we more or less met our project goals, I felt there was a bit missing. With only a few days left to finish the project, the issue with HUDs is that they are static, and it’s human nature to immediately spot a gimmick by looking around it. Feeling confident with the interfacing between Unreal and a Raspberry Pi, my solution was to try and track the viewer and rotate the model to create a better hologram effect.

I decided to purchase my own Rasberry pi and ribbon camera. I used an open source Python solution to detect the eye position. The position from my own Raspberry Pi was to sent to the Android device. The program rotated the model accordingly (Fun times when the Camera is on top, reflecting off a clear material). There was also problems when there wasn’t enough lighting on the face, so we had to buy a mini flashlight last minute, and bopped it on top.

Did it work? I mean technically Yes… was it smooth, far from it. I think there could be more setting optimizations with the face detection.  Ultimately the finished line was crossed and it was great seeing people’s surprised reactions.

If I get the chance I’d like to create a dynamic hologram rotating solution, where a piece of material would rotate in the direction of the viewer. While I think I’m quite behind the hologram world,  the project was a good experience and intro to new technologies.

Leave a comment