Installation Instructions (v1.0)

The GravBox v1.0 software was coded in Python 2.7 and is native to Unix based systems. With Python 2.7 and supporting packages (listed below) installed:

  1. Clone our GitHub repository to a new directory using 'git clone'
  2. Navigate to the src folder to modify the startup file for your directory,
    • If you have the UC Davis AR Sandbox installed, change line 13 to include its installation directory. If you do not have it installed, simply comment out line 13.
  3. Create an alias to GravBox for use from any directory.
    • Open your ~/.bashrc
    • At the end, add: alias gravbox='cd YOUR_GRAVBOX_DIRECTORY && bash
  4. From anywhere in the terminal type gravbox to start the GravBox

Required Python packages (install using 'pip install PACKAGE_NAME'):

  • numpy
  • scipy
  • scikit-image
  • libfreenect
  • pyqtgraph

Required system package (install using 'sudo apt-get install PACKAGE_NAME'):

  • libusb

Features to be developed:

  • Make contour calculations faster and more accurate

Calibration and Initial Setup

The majority of calibration is shared with UC Davis AR Sandbox-Calibration. Gravbox uses the BoxLayout.txt produced by the above process to define the base plane and surface boundaries. Following AR Sandbox calibration, copy the BoxLayout.txt file from the AR Sandbox directory to install_dir/gravity_sandbox/src/aux/BoxLayout.txt

Now, we will run the gravbox in "calibration" mode. To do this, navigate to install_dir/gravity_sandbox/src/ and type "python --calibrate" in the terminal. The following interface should appear wherein you can fine-tune the position of the displayed contours relative to the sand. Record the satisfactory values for the next step.


 Finally, we will save the new settings. Open with vim, Sublime, etc. and navigate to lines 743-744. The values (i.e. self.left_margin) correspond to the calibration dialog settings you just recorded. After typing in the new, calibrated defaults, save the file. To quickly check that everything works, type 'python' and repeat this procedure as needed.



Flow Chart


Detailed Algorithm Description

Converting Height to Density

Converting Height to Density screenshot

Calculating Acceleration

Calculating Acceleration capture

Orbit Integration

Orbit Integration

Orbit Integration