fbpx

Augmented Reality Sandbox DIY

Here You will find all the information required to set up your own custom sandbox.

Hardware Requirements

To run our software on you will need:

Minimal setup:

Recommended setup:

Software will also run on older machines like Intel i3 processor+middle class graphic card . Indispensable is Windows 10, Graphic card with DX 12 support, USB 3.0 port, Kinect 2, Projector

Hardware setup

How to correctly place both Kinect sensor and the projector.

Augmented Reality Sandbox DIY

Sensor and projector placement without (left) and with (right) lens shift.
There are two things You'll have to bear in mind: the Augmented Reality Sandbox Software works best when the sensor is close to the light beam source and at the same time, it [sensor] should be placed approximately above the center of the sandpit. To meet both of these requirements we suggest using a lens shift projector. It may be slightly costlier, but will provide great quality of simulation and minimize errors.

Having the projector and kinect far apart may result in parallel shifts in the projection. Those are usually not significant, but still visible. We found that the best way to avoid this issue is to mount a lens shift projector close to the kinect and place them above the center of the sandpit. Such solution is only possible with this certain type of projector.

Augmented Reality Sandbox DIY

Bear in mind the Kinect sensor should be placed exactly above the center of the sandpit, facing downwards. See the overhead view image for clarification.

Example setup

Software requirements

Drivers and packages necessary to run KinectSandbox and modules

Operating system:

KinectSandbox

Kinect for Windows SDK 2.0

FBX Export

Software Calibration

Step by step tutorial.

Augmented Reality Sandbox DIY

Prepare the surroundings

For best results the application requires scrupulous calibration. The outcome of the process depends heavily on surrounding conditions, especially the lightning. It should be constant, evenly distributed and very slightly dimmed, soft daylight-like.

Make sure there are no flashing lights nearby, such as TV screens, or faulty light bulbs. Also cover the windows in case weather conditions (clouds, etc.) could affect lighting in the room.

The areas right next to the sandbox have to be nonreflective – avoid things such as oil-painted walls or tile floors. If necessary, cover them with white paper sheets.

Augmented Reality Sandbox DIY

Set up calibration boxes

To correctly gather calibration data, sensor needs smooth, flat and preferably white surfaces.

Our suggestion is to use cardboard boxes of three different sizes listed below. They should be arranged so that the edges of the same length contact each other and only the height varies. It’s best to not leave any gaps between boxes, however if they occur (eg. because of size of the sandpit), fill them with white paper sheets, so that the lowest surface is also plain white.

Box 1 – 20x20x20cm

Box 2 – 20x20x15cm

Box 3 – 20x20x10cm

Use this scheme to set up the boxes, starting from the edge of the sandpit:

Boxes in sandpit 100cm x 60cm

Calibration automatic mode:

  1. Backup the existing calibration file (D:\ArSandbox_…\KinectSandbox_Data\StreamingAssets\calib.xml) to your chosen location outside D:\ArSandbox_… folder; if the calibration software doesn’t work as intended, you can always move it back to the original location,
  2. Go to “Calibration” folder,
  3. Run “autocalibration – start programs.exe” app as administrator,
  4. Wait about 30 seconds
  5. Run “autocalibration – calibration.exe” app as administrator,
  6. Wait about 2-3 minutes
  7. Copy Calibration\calib.xml file to …\KinectSandbox_Data\StreamingAssets\calib.xml (Replace)
  8. Run AR-Sandbox app to determine whether the calibration process worked; keep in mind the AR-Sandbox app is designed to work with sand, and it may glitch at sharp edges. If you are unsure about the result, try removing the boxes and applying sand instead. Also, slight projection shifts towards outer edges of the sandpit are possible and are a natural thing.

Calibration manual mode:

  1. Backup the existing calibration file (D:\ArSandbox_…\KinectSandbox_Data\StreamingAssets\calib.xml) to your chosen location outside D:\ArSandbox_… folder; if the calibration software doesn’t work as intended, you can always move it back to the original location,
  2. Go to D:\Calibration\procamcalibration\_RAT_ProCamCalibration folder,
  3. Run KinectServer app as administrator,
  4. Run ProjectorServer app as administrator,
  5. Run CalibrateEnsemble app as administrator,
  6. In CalibrateEnsemble open the calibration file (menu File > Open… > D:\ArSandbox_…\KinectSandbox_Data\StreamingAssets\calib.xml),
  1. b) In case xml file doesn’t exist or the results of calibration are very poor: in

CalibrateEnsemble create new file (menu File > New, make sure Number of Projectors and Number of Cameras is 1) and save it to D:\ArSandbox_…\KinectSandbox_Data\StreamingAssets

  1. Run calibration (menu Calibrate > Acquire) and wait until you see ‘Acquire complete’ message at the bottom of log window on the right side of the app window; you may need to left-click with your cursor outside the app window, as the Acquire screen will by default run in the background; this step should take approximately 1 minute, and you should be able to see changing vertical and horizontal pattern across the screen, implying the program is running correctly,
  2. Solve calibration (menu Calibrate > Solve) and wait until you see ‘Solve complete’ message at the bottom of log window on the right side of the app window,
  3. Save calibrated file (menu File > Save),
  4. Run AR-Sandbox app to determine whether the calibration process worked; keep in mind the AR-Sandbox app is designed to work with sand, and it may glitch at sharp edges. If you are unsure about the result, try removing the boxes and applying sand instead. Also, slight projection shifts towards outer edges of the sandpit are possible and are a natural thing.

Troubleshooting

It may happen that the calibration process doesn’t immediately give perfect results. This is because it uses and depends on physical objects and can be affected by their imperfections. Usually it’s a matter of few simple steps to reach the wanted level of accuracy.

The most common problem is projection being shifted compared to the actual shape of the sand. Reason behind this is the program misinterpreting or having wrong input data. First thing to do in such situation is to re-run the calibration software. If it doesn’t help, you should try repeating the actions described in the first chapter. As the lightning plays crucial role in the process, try changing it. Firstly, lower the projector’s brightness. Then, if necessary, brighten up the room. Avoid direct light sources and letting sunlight in.

Another problem that can occur is the projection going completely dark after launching the AR-Sandbox app with new calib.xml file. In such case go to D:\Calibration\procamcalibration\_RAT_ProCamCalibration, run the CalibrateEnsemble program as administrator, open the calib.xml file (menu File > Open…) from D:\ArSandbox_…\KinectSandbox_Data\StreamingAssets and check the number assigned to the display (menu Setup > Show Projector Server Connect Displays). You will see a number on the screen (should be either 0 or 1). Remember this number and then manually edit the calib.xml file (Open with Notepad). Find the line: <displayIndex>…</displayIndex> and write the display number in place of the dots.

One last thing to check is the number of lines in the newly prepared calib.xml file. It should be precisely 187. If it is not, it means the calibration process malfunctioned and has to be repeated. Pay close attention to all the steps.

Should you still have problems with your calibration, keep the old and new calib files and contact us at [email protected]

Operating manual

Quick overview of the most important settings inside the application.

Augmented Reality Sandbox DIY

There are some settings essential for the application to work correctly. These are the Sandbox Top and Bottom Levels. They specify the range of the Kinect sensor. See image for more details.
Presented parameters are specified in the setting file. Their values are the distances in mm. The best way to achieve good results is to tape-measure the distances and then set the right values. It can be done either when the application is running (Z, X keys for Top Level; C, V for Bottom Level; values are shown on the screen), or in the setting file in application root folder (Settings.json in KinectSandbox_Data\StreamingAssets\Settings).  If You choose to change the values with the running app, exit it (Alt + F4) to ensure they save. Also, we recommend that the values You enter have a margin of about 50-100 mm in both directions.
In the graphic You can also see one parameter called WaterDropOffset. It is the distance above the Top Level of your sandbox, required to activate the waterflow. The higher the value, the higher You will have to lift your arm to make it rain. This parameter can only be reached via the setting file (Settings.json in KinectSandbox_Data\StreamingAssets\Settings). Value range 0-300.
To directly control basic water options use computer keyboard or mouse. Press space or left-click mouse to reset water - it will sink into the ground. To disable waterflow press 'b' or right-click mouse. The same goes for enabling waterflow again. Notice: disabling waterflow does not reset current water, so You can have some in your drainage and then sculp it without unnecessarily pouring more.

Touchscreen module

Additional feature for expanded functionality

Augmented Reality Sandbox DIY

Screen setup

As the touchscreen module is now available as a software extension, you can implement it in your custom Sandbox. This allows for quick control over the application via easy to use interface.

For this feature to work, You will have to find a touchscreen that has exactly the same resolution as your projector. Then, when setting up both screens in Windows, make sure they are next to each other (horizontally, not vertically).

FAQ

Your questions

Do you mean by “Kinect PC, Kinect X-BOX with PC Adapter” that both a Kinect for windows (version 1 or version 2.0?) as well as an Kinect for XBOX (1414/1473 or do you mean XBOX one?) with the (expensive J) adapter work? And do you know a webshop where we can still buy one of them (since they are no longer produced if I am correct)?

You will need Kinect 2 PC (it is Xbox ONE + PC adapter) You can buy refurbished one from the eBay.

Would the system also work with an intel Realsense camera (easier to find)?

Our system doesn't work with realsense. It is much much worse depth detector than Kinect 2. With Kinect 2 we get very accurate 3d model. We wish to use Azure Kinect in future.

Is there a way to incorporate the basic buttons you also provide with your systems if we build the system ourselves?

We are going to release full video tutorial, as well as we want to update existing one. Operating buttons is very simple. You can use mouse or wireless mouse to be interface. Just get wires out form mouse buttons and connect your button. We also provide Arduino code for Arduino Leonardo/Micro pro control.

Do you expect that we have to recalibrate if transport the system a lot?

If you will make rigid frame for kinect + projector it will be stable. We have unit with wheels and tower that automatically goes up and there is no need to re-calibrate when moving unit. Calibration is very simple by the way - you need just white boxes.

Do you have a discount for non-profit organizations, or is the price the same for companies and educational organizations?

Contact us, write about your project and let us think. At this moment price is very competitive.

How do you count the “visitors a month”?

We don't count. We wanted to have affordable price even for small organizations but if there is a science center with thousands of visitors a day they have to pay. It's just about being fair.