Overhead Robotic Gantry for Tethered VR Headsets

  Posted on April 4, 2017   ·   4 min read   ·   # comments   ·   #work  #programming  #design  #electrical 

Project Overview

Objective: Create an autonomous gantry to follow the HTC Vive headset around, keeping its cable behind the user at all times.

Motivation: An extravagant party prop for an evening at CES 2017, hosted by MistyWest.


  • CoreXY planar gantry design
  • System built with 8020 aluminum extrusions and laser cut acrylic components
  • Stepper motor control through Teensy 3.2
  • HTC Vive pose tracking through C++
  • Patent pending


  • Mechanical design with rapid prototyping methods
  • C++ software development
  • Arduino-based firmware development



This project was completed under MistyWest with the help of:

  • Derek Disanjh - Project Supervisor
  • Div Gill - Firmware Advisor
  • Ryan Walker - Software Advisor
  • Denis Godin - Filming
  • Madison Reid - Video Editing

Demo video of the gantry in action.

The gantry being used at a penthouse party hosted by MistyWest during CES 2017. (Photo by Natalia Leva)

The Development Story

We wanted a solution to increase and maintain presence in virtual reality; having to worry about tripping over the cable takes away from it. What we needed was a way to mimic a cable sherpa, following our every movement to prevent tension in the cable and entanglement around our legs. Whether we were moving forward, backward, left, right, or turning around, we wanted a way to roam freely as if virtual reality was already wireless.

Design and Testing

We wanted to make this as quickly as possible, so I designed the rig using off-the-shelf parts and laser cut acrylic parts.

The gantry frame designed in SolidWorks 2017.

Preliminary tests were less than stellar. I initially used relative position commands, but as the clip below shows, but it wasn’t responsive enough for practical use.

Initial testing of the tracking using relative position commands, almost as if it has a mind of its own.

Changing the motor control to use absolute coordinates instead of relative showed promising results.

Revised tracking using absolute position commands for significantly improved precision.

An overview of the software algorithm to parse the user’s current position and command the stepper motors is shown in the flowchart below.

Flowchart of the software algorithm.

User Testing

The results were so promising, in fact, that we decided to strap it to the ceiling and do some user testing. The results were… Loud due to the rattling and vibrations from the stepper motors. System responsiveness was slow, so more work needed to be done.

First user test with the gantry attached to the lab ceiling (rotation tracking not yet implemented).

Many revisions later, and the rig was finally working as expected!

After many hardware, software, and firmware tweaks, the gantry finally became usable.

Making it “Portable”

Since this was an internal project with MistyWest, the value was in showing this prototype around. The social media content was one thing, but physically bringing it around was thought to have additional “wow” factors. Since CES 2017 was coming up and MistyWest would be hosting a penthouse party during one of the evenings, it was time to make this thing free standing.

Continuing the theme with 8020 extrusions, the external frame was assembled and tested.

Construction of the free standing frame in preparation for bringing the rig to CES.

Testing the free standing setup to gain confidence in its sturdiness.

Yes, it is in fact portable!

Mission Complete

On January 6, 2017, the rig was set up in Las Vegas and (after some headache and remote debugging) the rig came alive at the Founders and Friends 2017. It was a huge hit amongst the tech enthusiasts and ran beautifully through the night.

People showing interest in the high-tech marriage between robotics and virtual reality. (Photo by Natalia Leva)

Founders and Friends 2017. (Photo by Natalia Leva)

The rig is now retired and sleeps soundly in its storage container. On to the next project!

comments powered by Disqus