VirtuRoll

Team Name

VirtuRoll

Timeline

Fall 2024 – Spring 2025

Students

  • Hasnain Bharmal – Computer Science 
  • John Corr – Computer Engineering 
  • Joshua Mora – Computer Science 
  • Subodh Neupane – Computer Science 

Sponsor

Dr. Shawn Gieser

Abstract

This project involves the development of an advanced Virtual Reality (VR) wheelchair system designed to enhance the immersive experience for users with mobility impairments. The system integrates three key components: the Virtual Environment Layer, the VR Headset Layer, and the Wheelchair Layer. The Virtual Environment Layer manages the simulated environment and user interactions, while the VR Headset Layer provides visual output through the Quest headset, ensuring that the user’s real-world movements are accurately reflected in the virtual world. The Wheelchair Layer controls the physical wheelchair, including the motors, actuators, and encoders, to facilitate real-world movement and provide data to the virtual system. 

A key improvement in this system is the inclusion of an updated virtual map within the Virtual Environment Layer, enabling more detailed navigation and interaction in the virtual space. This enhanced map provides a dynamic representation of the user’s movements within a larger, more complex environment, thereby improving immersion. The tilt feature, previously included in the design, has been removed in this iteration, simplifying the user interface and focusing solely on linear movement. The system remains highly responsive, ensuring that real-time movements of the wheelchair are accurately mapped to the virtual environment, offering a seamless, interactive experience. 

By abstracting the system into three independent yet interconnected layers, the design supports modularity, flexibility, and scalability, enabling future expansions while maintaining ease of use and high performance. This work represents a significant step toward improving virtual reality-based mobility solutions for users with physical disabilities. 

Background

The VR Wheelchair Movement simulator aims to create a virtual reality simulator that accurately replicates real world movement in wheelchairs by using an actual wheelchair as the input device. This is necessary to provide training for people who will be using wheelchairs in the future. People who have not needed to use wheelchairs face a learning curve as they have to navigate the world with new limitations. This service aims to lessen the learning curve and allow for new wheelchair users to be better prepared. The simulator also acts as a tool to build empathy from non-wheelchair users. Sometimes it is hard to truly understand the burdens of another without experiencing it yourself; the simulator works to give people who are not wheelchair users a space to experience the world through the point of view of someone who is without the risk of appearing insensitive to someone in that condition, and without the risk of injuring themself or others with unfamiliar equipment. The product’s sponsor is Dr. Gieser. He is the professor of the course and the sponsor of the product; he wanted us to work on this product to build a prototype machine and environment for use in his research. As a more technically knowledgeable sponsor, Dr. Gieser can better help the group bring his vision of the product to life, while better understanding of the progress on the product due to his close proximity. Due to Dr. Gieser’s expertise in the related field, he is both a valuable resource for the group, but also a technically competent sponsor who is easy to get in touch with and is realistic with his expectations. 

Project Requirements

  • Real-Time User Interaction: The system must accurately track and reflect the user’s real-world movements within the virtual environment, ensuring minimal latency for a seamless experience. 
  • Wheelchair Movement Control: The system must allow users to control the wheelchair through physical movement, with the wheelchair’s actuators and motors responding accurately to the user’s input. 
  • Virtual Environment Navigation: The VR environment should allow users to navigate through various spaces using the wheelchair, with smooth transitions and accurate mapping of physical movements to virtual space. 
  • Modular Layer Design: The system should be designed with a modular architecture, where each component (virtual environment, VR headset, wheelchair) operates independently but integrates seamlessly for a unified experience. 
  • Data Synchronization: The system must synchronize data across the VR headset, wheelchair controller, and any connected devices to ensure real-time updates and consistency in user experience. 
  • Scalability and Extensibility: The system should be designed with future enhancements in mind, such as the addition of more complex virtual environments, integration with other assistive technologies, or expansion to other mobility devices. 
  • User Customization: The system should allow users to customize certain settings, such as wheelchair speed, virtual environment themes, or control preferences to enhance user experience and accessibility. 
  • Feedback Mechanisms: The system should include feedback systems, such as haptic feedback or auditory cues, to inform users of system status, task completion, or alerts. 
  • System Performance: The system should function smoothly without noticeable delays, with a frame rate that supports realistic movement in the virtual environment, aiming for at least 60 FPS to avoid motion sickness. 
  • Integration with Existing Technologies: The system should be designed to integrate with other assistive technologies (e.g., hearing aids, mobility aids), allowing for further customization and accessibility based on the user’s needs. 

Design Constraints

  • Economic: Consideration of the costs involved in creating realistic and high-quality virtual reality environments. 
  • Ethical: Importance of accurately representing the experiences of wheelchair users to ensure the simulations are genuine and respectful. 
  • Health and Safety: Attention to users’ comfort, ensuring that the VR experience does not cause motion sickness or discomfort, especially during extended use. 
  • Manufacturability: Ensuring the VR system is compatible with the physical wheelchair setup. 
  • Compliance with Standards: The design must adhere to relevant safety, accessibility, and industry standards. 
  • Functionality: The system must reliably translate user inputs in the virtual environment into corresponding physical actions of the wheelchair. This includes accurate tracking of user orientation, movement, and commands in VR, and synchronized execution on the wheelchair hardware. Failure in functionality can compromise the immersive experience and potentially create safety risks. 

Engineering Standards

  • USB Standards (USB 2.0, USB 3.0): These standards will be used to connect the VR system with the wheelchair, ensuring reliable and fast data transfer for a wonderful experience. 
  • IEEE 2048.1-2022 (Standard for Immersive Video Taxonomy and Quality Metrics): This standard helps ensure that the immersive experiences are of high quality and supports industry collaboration. 
  • W3C Web Content Accessibility Guidelines (WCAG) 2.1: These guidelines are important for making sure that digital content is accessible to everyone, including those with disabilities. Following these standards ensures that the VR experience is user-friendly for all. 
  • Unreal Engine Marketplace Guidelines (for 3D environment assets): These guidelines will help ensure that the assets used for the VR environment meet the standards necessary for compatibility and quality within Unreal Engine. 
  • ADA Standards for Accessible Design: These standards will be followed to accurately represent accessibility features, ensuring that the virtual environments reflect real-world accessibility considerations effectively. 
  • ASTM F1574 – Standard Test Method for Static and Dynamic Characterization of Wheelchair Seating Systems Using a Test Dummy. This standard outlines how a wheelchair should be mounted to a test surface to ensure it will endure stress testing. The allowable stresses required for testing with test dummy should be similar to those required for use in the simulator. 
  • ASTM F1637 – Standard Practice for Safe Walking Surfaces. This standard outlines carpet as being a surface identified as providing a safe walking surface. 
  • EIA/ECA-310-E: Cabinets, Racks, Panels, and Associated Equipment. This standard outlines dimensions, mounting, and cooling requirements for computer racks. 
  • ISO/IEC 25010: Systems and Software Engineering – Systems and Software Quality Requirements and Evaluation (SQuaRE) – System and Software Quality Models. This specification details requirements for a deliverable software program. 
  • IEEE 1063: Standard for Software User Documentation. This standard details how to provide documentation for software. 
  • IEEE 2700-2017 Standard for Sensor Performance Parameters. 
  • IEC 60034-1: Rotating Electrical Machines – Part 1: Rating and Performance. This standard details performance for electric motors. 
  • Occupational Safety and Health Standards 1910.147 – The control of hazardous energy (lockout/tagout). 
  • ANSI/RIA R15.06-2012 American National Standard for Industrial Robots and Robot Systems, RIA TR15.606-2016 Collaborative Robots. 
  • ISO 12100: Safety of Machinery – General Principles for Design – Risk Assessment and Risk Reduction. This standard outlines how to plan for and minimize risks related to sharp edges on a product. 
  • SEI CERT C++ Coding Standard 

System Overview

The main strategy with which we plan to build this system is to utilize three overall “layers” or “systems”, each of which encompass some broad functionality, resource, or datum within the project. The Virtual Environment Layer is the abstraction which handles resources and data which are located within the code of the application, or data which pertains specifically to the avatar’s simulated environment. The Quest Headset Layer encompasses the hardware of the VR Headset and its associated resources, in addition to the main computer which will run the simulation software and communicate with the other layers/systems. The Wheelchair Layer pertains to the linear actuators, motors, and encoders within the build, as well as the micro-controller which will be used to interface those resources with the rest of the project. Each layer/system has its own domain, but as it may rely on data which resides in another system, there exists an interface to get data from anywhere needed in the design. For example, the Virtual Environment Layer may not have its own methods or resources to physically move the user to match the virtual environment (as it is only concerned with maintaining accuracy within the virtual environment) but it can send that data through the main computer to the VR Headset so that visual output is accurate and also through the main computer to the micro-controller, which will then process the data into which actuators and/or motors should be activated and how. 

Results

Improved Responsiveness: The VR wheelchair system has been significantly enhanced for better responsiveness. The wheelchair now accurately tracks user movements, ensuring smoother and more fluid transitions in the virtual environment. 

  • Straight Wheelchair Movement: One of the key improvements involved addressing an issue where the wheelchair would veer to one side when both wheels were rotated by the user. Previously, if one wheel rotated slightly more than the other, the wheelchair would move unevenly. This problem was identified and fixed, ensuring that both wheels rotate in sync, allowing the wheelchair to move straight as expected. 
  • Enhanced Virtual Environment: The system was updated to work with a new virtual environment, with various modifications made to improve its functionality. These changes have led to a more seamless and immersive experience as users navigate through the environment with the wheelchair. 
  • Enhanced Stability and Control: With these fixes and improvements, users experience a more stable and accurate representation of their movements in the virtual world, improving the overall user experience. 

Future Work

While the current system offers significant improvements in the accuracy of wheelchair movement and real-time interaction with the virtual environment, there are several areas that could be explored for further development: 

  1. Integration of Tilt and Posture Feedback: Future iterations could reintroduce the tilt feature to simulate changes in posture, providing a more immersive and realistic experience for users, especially for those who require posture adjustments while navigating. 
  1. Advanced Environmental Interactions: Expanding the virtual environment to include more interactive elements such as obstacles, environmental changes, or dynamic elements could further enhance the realism and provide more varied experiences for the user. 
  1. Enhanced Mobility Device Integration: The system could be expanded to support additional mobility devices, such as different types of wheelchairs, or even more specialized devices that cater to users with specific mobility needs. 
  2. Long-Term Testing and User Feedback: Conducting extensive real-world testing with a diverse range of users would provide valuable insights into system performance and user experience, enabling the development team to identify areas for further refinement. 

Project Files

Project Charter
System Requirements Specification
Architectural Design Specification
Detailed Design Specification
Poster

Steven McDermott