Close

Making it whole.

A project log for Perceptoscope

A public viewing device for mixed reality experiences in the form factor of coin-operated binoculars.

bensaxbensax 05/30/2016 at 05:180 Comments

With the optics produced and rendering concept working, it was now time to make the system self contained. Initially, I used usb and hdmi extension cables to tether the scope to my computer, but that wouldn't work in a public deployment. Figuring out what computer should go inside the system was key.

Because I was anticipating long deployments in areas of little to no power access, I initially worked towards using an ARM processor based system. My brother Adam had done some work previously in thin clients for digital kiosks, and gave me an ODROID X2 to play with.

Going with the ODROID meant we'd focus on Android as our OS, and though I had initially done some early prototyping pulling sensors from an Arduino into Unity through USB, we needed to go a different direction for ARM, particularly if we wanted to use the shaders required for stereo VR rendering.

We started playing around with Jmonkey, an open source Java game engine, thinking that a Java approach would translate well to Android. With a little nudging we got there, integrating an Arduino with sensors providing positional information to the virtual camera of the Jmonkey VR scene. I had to write a decent amount of the particulars of the renderer myself, as VR distortion shaders were just starting to make their way into the engine, but we couldn't have gotten there without the larger effort of the open-source community.

Along the way I started building a more rugged shell out of a cheap little camera case, and used Actobotics to create the geared axles and mounts for the encoders.

We were now ready to get the scope out of my apartment and in front of people.


Discussions