Augmented Reality Sandbox Presentation

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Augmented Reality Sandbox

“Building something” and


“Building something that can survive in an Elementary School”
are two different things.

When I first saw this project described on the UC Davis website of Oliver Kreylos, I thought this was
going to be a fairly straightforward process. During the building process, I discovered that I needed to
build-in requirements to prevent grade-school kids from destroying it or changing the calibration.

I prototyped it in my garage using an old computer, a borrowed projector and an Xbox Kinect. I used zip-
ties and a bungee cord to mount the projector on a single pole, and a beige bath towel for the sand. It
worked, and was fun to play with, but I wasn’t always thinking about it being used by Kindergarteners!
When I started buying supplies, I trended towards affordable, rather than the best methods… Namely,
the projector. An $800 BENQ short-throw projector would allow for a much more stable and compact
infrastructure than the $60, long-throw projector I ended up with. However, I splurged on the $350
graphics card to run the water-flow simulations.

The entire project was achieved for approximately $800 at the time of writing (November, 2015). It took
me far more than the 100 hours I anticipated, especially while learning to understand the Linux
commands (I still feel like a complete Linux newbie). A lot of my time was spent towards the end, setting
up the sandbox in its permanent location, fine-tuning the calibration at Innovations Academy where it is
installed, and making it more like a self-running “Kiosk” than a science fair project.

Using this tutorial and learning from my successes and setbacks, a technically-minded, project-oriented
person, with a “Maker” mentality, should be able to build an “Augmented Reality” sandbox on a defined
budget and timeline.

- Rick Wilkinson
November, 2015
Basic Costs, (Summer 2015):
Cost Description Vendor
$350 New Nvidia GTX970 Graphics Card Amazon.com
$160 Used Intel Corei3 computer with CD drive and 4GB RAM Craigslist
$160 Wood, brackets, fasteners and play sand for the sandbox Lowe’s (Discounted 20%)
$60 Used Dell 1100MP projector (Lucky at $60, trending at $100) Craigslist
$30 New Logitech Trackman trackball Best Buy
$20 Used Dell 1100MP remote (The projector is too high to reach) eBay
$20 Misc. bolts, screws and butterfly anchors Home Depot
$20 Lighted, metal buttons for “Rain” and “Dry” Adafruit.com
$15 New Kinect to USB adapter eBay
$10 New VGA and AC power extension cables eBay

Prototype Proof of Concept


I read all the documents at Oliver Kreylos’ UC Davis AR Sandbox website, and watched his videos for
calibration and Linux setup. It took me just a few days to stand-up a prototype on my home workbench
in my garage, using an old (c. 2004) Pentium dual-core computer and graphics card, a borrowed
projector, and a borrowed Xbox Kinect. Over long evenings after work that week, I purchased a USB-to-
Kinect adapter, attached the projector and Kinect to a vertical, “stop-sign post” support using zip ties
and bungee cords, installed Linux and the video drivers, and performed the calibrations.

On the 10-year old Pentium dual-core, it would only run for a few seconds before crashing, and was not
well-calibrated yet, but here is my first “proof-of-concept” photo taken quickly before it crashed:
After the “Proof of Concept”, I went to Home Depot and began pricing supplies for the table itself, and
watched Craigslist for the minimum-required “Intel Core i3” computer.

Since the sand is heavy (200 lbs.), and should be damp (so it will form more than simple conical
mountains and valleys), I priced ¾” plywood, 4x4 posts, 90° shelf brackets, and Thompson’s Water Seal.

For the recommended 40x30 sandbox, I sketched a materials design that could be made from a single
4x8 sheet of ¾” plywood, and can be cut sequentially by the industrial saws at Home Depot or Lowe’s:

With this basic concept in mind, I cut-out my design from cardboard, and made a scale mockup from
cardboard, hot glue, and plastic rods for the legs. It looked good:
6th Grade Design Team
I took my cardboard model and a bunch of graph paper, cardboard and hot glue to my son’s 6th grade
class, along with a list of design features that they needed to consider, and guided them towards a
similar design. In the span of about 4 hours, over 3 different days, the 6th grade design team came up
with a BETTER design for the wood cutting pattern, and made their own cardboard prototypes. Their
design is the one we actually took to Lowe’s to have cut!
Design issues to think about
 The “Best” design may not win… If it costs too much money.
 An inexpensive design may not win if it’s too fragile or doesn’t work.
 The sandbox table will be 40 x 30 inches
 Must support 200 pounds of sand
 The sand must not spill out when played with
 Where will you put the computer? (Hint: not on the floor!)
 What is the age range of users, and how does that help define the design?
o Table height
o No sharp edges
o No fragile connections
 How will you keep the table from rocking?
 Design some good support for the projector posts
 Design good air flow for the computer
 Allow space for a power strip for the computer and projector
 Can you reach everywhere to install screws and bolts?
 Can you design a table that comes apart easily to move or store?
In one trip to Lowe’s, my son and I bought everything from the list, and had the 4x8 sheet cut. With a
letter from the school, we received a 20% discount because it was a project for the school.

My plan was to have the 6th graders build the sandbox, with my direction. However, as we approached
the last weeks of school in May & June 2015, the class simply didn’t have time, so my kids and I built,
sanded, and water-sealed the sandbox in my garage over a weekend.

The original design had the sandbox on heavy-duty casters, but they proved to be too wobbly, even with
a brake, so I removed them and returned them to the store. I used L-Brackets to support the center of
the sandbox.
Learn from my mistake: Measure the height of your computer tower.
The kids wanted the sandbox to be lower, so I cut a few inches off the legs, but those few inches made
the space underneath the table too small for the computer tower, and I had to re-configure the
computer in a min-tower case for it to fit under the table.

Learn from my mistake: Re-seat the video card after transport.


During transport to the school, just after the above picture was taken of the sandbox in the Minivan, the
large graphics card wiggled loose during the drive. When I booted-up the computer at the school the
next day, the loose video card shorted-out the motherboard. I had to buy a new motherboard ($70 not
included in the price) and it set me back far enough that Summer Break started, and the sandbox
wouldn’t run until the next school year. 

Learn from my experience: Measure your room and the doorways.


During the Summer Break, I installed the new motherboard into the mini-tower case, and managed to
find a $60 Dell 1100MP projector on Craigslist. This projector casts a 40x30 display from 6.5 feet away.
6.5 feet was closer than the 9-feet of the projector I had borrowed from the school, but when mounted
to a sandbox whose average sand height is about 2.5 feet from the floor, I needed a support that was
almost 10 feet high.

The room where the sandbox is installed has a drop-ceiling, so I needed to remove a tile from the roof,
so the projector can extend into the ceiling. Without a remote, it required a very long stick to turn it on
and off… So I went back to eBay and bought a $20 remote.

I fabricated a mount for the Kinect, and positioned it on the riser posts, so that it did not cast a shadow.
The projector shines through the center of this mount. It took me 2 or 3 hours to figure out the solution
I ended-up with. (Remember, zip-ties and bungee cords holding components probably won’t be robust
enough for an elementary school installation) There are many different types of projector and Kinect
mountings in photos from the AR Sandbox Forum, but with the resources I had available, this mounting
worked for me.

Notes about the Sand


The sand needs to be wet. Not muddy, but not dry. Dry sand only makes conical shaped mountains and
valleys because it doesn’t stick together. “Play Sand” from Lowe’s or Home Depot has uniform grains,
and works pretty well. So far, I have not had any problems with dust getting into the trackball or
projector.
However, the sand dries out in a few days here in So. Cal, and it takes about 2 liters of water to
completely rehydrate 200 lbs. of dry sand. I have a 2-liter bottle next to the sandbox now.
I suppose I could make a flat cover with handles, which fits inside the box and rests on the sand when
it’s not being used, but I’m not convinced that would help much. It would also risk damaging my “Rain”
and “Dry” buttons every time it was removed or replaced. Remember: kids use this sandbox.
Projection off Projection on
Making it Rain
The default SARndbox software looks for stationary objects above the highest point of the sand. It
interprets those objects as “clouds” and generates a rain simulation on the terrain. With my Kinect
much higher than 40-inches from the sand, any elbow, arm, or head that leaned over the sandbox for a
moment got interpreted as rain, and “flooded” the sandbox with the water simulation.

The solution for my projector height vs. rain problem was making it rain only when a button is pushed.
There are two options for that: One is easy, the other is more involved:

Solution 1: Lightly rain everywhere


When the rain button is pressed, simulated water rains over the entire surface. The rain strength is a
variable parameter in the command line, but that parameter also defines the rate at which the water
“dries”. Lighter rain makes for interesting rivers, but longer dry times.

Solution 2: Make it rain only at the cursor.


Once again, the AR Sandbox Forum has user suggestions, code tweaks, and cloud icons for the cursor.
The hard part is calibration, because when tracking a cursor, you can’t use the “fixed projector view”
alignment built into the SARndbox software. The camera, projector and cursor all need to be lined-up
manually. Even the software author says perfect alignment is not possible. At the time of this writing, I
have not had enough time to try manual calibration of the camera and projector.

Rain and Dry Buttons


To make this more like a user-friendly “kiosk”, rather than a computer-driven science project that needs
adult supervision, I ordered lighted, momentary buttons (it’s dark in the sandbox room), and connected
them to the brain of an old USB keyboard. Soldering a few wires between the keyboard brain and the
lighted switches allowed me to light colored switches using the USB’s 5-Volt power pins, and “strike”
certain keys on the keyboard with those buttons. The buttons remove the keyboard from the computer,
leaving only 2 buttons for “Rain” and “Dry”. There are pre-fabricated, commercial options for USB
buttons, but they were more expensive than a free keyboard and $6 lighted buttons.

I forgot to take photos of my own keyboard brain


I wrapped my hacked keyboard brain in shrink-
wiring, so this photo is from another Sandbox builder
tubing. This is a photo of it before I secured the
who did a similar thing. There are many tutorials
wires behind the table with zip ties.
online about hacking a keyboard for external buttons.
Final Touches
I mounted the green and red “Rain” and “Dry” switches to the back of the sandbox, so everyone can see
them. Now, the computer boots directly into sandbox mode, and starts running in less than 2 minutes. It
takes longer for the projector to warm up, than to boot into Sandbox mode!

Learn from my experience:


Use a computer monitor to make Linux changes and change text parameters.
The sand is an uneven surface, and it is nearly impossible to read Linux commands projected onto it.
A computer monitor was invaluable in reducing my Linux setup and calibration time.

A short-throw projector allows the Kinect to be closer to the sand.


The designer suggests that the Kinect be mounted above the center of the sandbox, as high as the
sandbox is wide. In my case, that would have been 40 inches. However, since my (long-throw) projector
must be 6.5 feet above the sand to project a 30x40 image, mounting the Kinect hardware just 40 inches
above the sand created shadows in the box. I had to move the Kinect mounting farther away from the
box, and luckily, the increased distance doesn’t pose a problem for camera resolution in our sandbox.
However, the increased height amplifies the vibrations of the sandbox when several kids are playing in
it, leading to a shaky image that sways back and forth. My temporary solution is to wedge a large piece
of spongy foam between the supports and the wall, to dampen the vibrations. It reduces image sway,
but this is a kluge solution for now.

Future Projection Option: A Mirror


I may take the sandbox home over summer break, and try installing the projector facing up, with a
mirror reflecting it back down onto the sand. This could effectively halve the height above the table,
from 6.5 feet to around 3 feet... Much easier to get through a doorway. Plus, the shorter distance of a
mirror above the sand enables the Kinect to be placed lower for better resolution, and better
implementation of the hands-on “rain” feature. A “first surface” projection mirror costs about $50.
Learning Resources:
The community at the AR Sandbox Forum includes sandbox builders from, museums and schools. This
community has created blueprints, professional posters, and a facilitation guide for how to use the
sandbox in a learning environment:
If I had more time and resources…
 I would get a short-throw projector.
 I would enlist the help of a Linux expert, and not try to figure it out all by myself.
 I would make the box a little larger, maybe 40 x 53 (instead of 30 x 40)
 I would use better, brighter sand. Probably Sandtastik™ play sand. $119 (vs. $20) for 200 lb.
 I would install professional “Kiosk” buttons and an industrial trackball for the rain cloud.
 I would mount everything overhead, so the sandbox could be used from all sides with no wires.
(See the cleverly designed museum installation below.)

Rick Wilkinson

November, 2015

You might also like