Tablet Based Virtual Reality System

For downloads and instructions of how to build a tablet based virtual reality system, visit the links on the menu.

Multiple input interfaces are supported:

  • Touchscreen tablet, to detect footfalls;
  • Computer mouse or rotation encoders, to detect motion on an air-suspended ball or a treadmill;
  • Standard inputs such as a keyboard or a joystick.
Smoothwalk - Hardware Setup
Touchscreen based virtual reality system that tracks footfalls, is highly configurable and is easy to interface with data acquisition systems.
Smoothwalk - Hardware Setup Diagram
Example setup with a microscope: The main tablet (placed underneath the mouse) translates footfalls into movement in the virtual environment which is presented to the mouse using other tablets around its field of view (e.g. north, west and east). Imaging or electrophysiological recordings are synchronized with an Arduino connected to one of the tablets. The design of the maze and input settings such as translational and rotational gains are defined directly in the tablets using the user interface or entering commands. Alternatively configurations and behavioral data are parsed by another computer program to generate complex tasks in real-time.
Smoothwalk - Hardware Setup
Smoothwalk - Parsing footfalls
Footfalls captured by the touchscreen are used to compute speed and produce movement in the virtual environment: the higher the frequency of the foot strokes the higher the speed.

Method Summary

  • Compact, easy to implement, customizable, and readily available Virtual Reality System for behavioral data collection.
  • Customizable settings allowing flexible experimental design.
  • Multiple input interfaces supported: touchscreen tablet, to detect footfalls; computer mouse or rotation encoders, to detect motion on an air-suspended ball or a treadmill respectively; or standard inputs such as a keyboard.
  • Immersive views with multiple tablets or computers.
  • Synchronization with data acquisition systems using an Arduino.
  • Data streaming for real-time interaction or complex behaviors.
  • Data logging and playback.