Skip to content

GergelyTuri/HallPassVR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HallPassVR

Virtual reality system for head-fixed mouse experiments.

See published paper on JOVE.

We developed an inexpensive, single board computer-based, easy-to-use setup for investigation of mouse spatial learning behavior using a visual virtual reality (VR) environment. This system uses a network of microcontrollers (ESP32) and a Raspberry Pi single-board computer to display a virtual linear track to a headfixed mouse running on a wheel. Along with a custom software package written in Python and C++ to generate parameterized virtual environments, this methodology allows researchers the design of various spatial navigation-based experiments to study neural circuits in the brain underlying spatial behaviors. Example video here:

Mouse on wheel

Main hardware requirements:

  1. ESP32 microcontrollers to track and convert mouse movement on a treadmill or wheel to serial data and to control other harware elements (lick spout for reward delivery).
  2. Raspberry Pi 4 for building and simulating the virtual reality environment.
  3. Projector for visualizing the virtual corridor.
  4. PCB shields through OpenMaze

Software requirements:

  1. The virtual corridor was designed with Python.
  2. Native, Linux-based OS for Raspberry Pi.
  3. tkinter was used for designing the graphical user interface.
  4. Arduino IDE for programing the microcontrollers.
  5. Processing for data collection and plotting.
  6. The analysis of behavior files currently requires Matlab.

What we have done:

  1. We built the main part of the system which can simultaneously run and show the virtual reality environment on a computer display and a projector.
  2. We have built a prototype GUI which can be used to build virtual corridors from virtually any kind of jpeg images.
  3. We tested the system with several testbenches.

Work in progress:

  1. Finalizing the code by adding documentation and examples.

Future plans:

  1. Optimization of the system by e.g., adding an RFID sensor to increase wheel tracking accuracy.
  2. Adding other features to the VR software like naturalistic scenes, looming stimulus or cliff-like effects.
  3. Implementing the analysis scripts in Python.
  4. Increasing the flexibility of the existing protocols.
  5. Implementing a wireless (e.g., bluetooth) system using this platform.

Quickstart:

Initializing VR environment:

  1. Open a terminal window in Raspberry Pi and navigate to the HallPassVR folder
cd /home/pi/Documents/HallPassVR
  1. Starting the VR GUI:
python3 HallPassVR_GUI.py
  1. Setting up the floors and corridors in the GUI
  2. Setting up Processing sketch to acquire and plot behavior.
  3. Preliminary analysis of the acquired data can be done in Matlab with the scripts in /Analysis code folder.

GUI:

GUI

Example virtual corridor:

corridor

For feature requests, support or questions, please open a ticket on GitHub.