Next Step


Project Details

What We Are Working On

Why Are We Doing This?

Around the world there are people who are struggling with basic motor skills. From walking, holding, and or stretching, patients are in need of devices to help aid physical therapy.

Our Job

The aim is to have a game system that interfaces the Biomechatronics Lab's open-source rehabilitation technology to help researchers around the globe develop effective clinical tools/interventions for those with mobility impairments. Short Term: Have a framework for a flexible gamified rehabilitation tool. Long Term: Build off the framework to enable researchers to easily design their own gamified rehabilitation strategies.

High-Level Requirements

Instant visual/auditory feedback

Giving the patient and the researcher real time biometric data for instant feedback on the patient's movements.

"Gamification" of feedback

Presenting the patient's data in the form of a game will help encourage and excite users to continue training.

Custom set goals

Each patient is different. Our software will allow researchers to create custom goals for their patients to execute. Allowing for use across any and all kinds of movement.

Open Source

Currently, there is no pre-existing open-source software built for rehabilitation technology. Our goal is to create a foundation and example of others to use and also expand upon.

Envisioned Solution

Frontend

- Display engaging intractable visuals for the users. Using any pre-existing game engines such as pyGame, Unity, Unreal, etc. users will be able to see their own real-time progress.

- The frontend will also allow researchers to choose different installed games, set/adjust user goals, and grant the ability to change exoskeleton parameters at any time, all within the pre-existing python application.

Backend

- Develop a framework that takes in the raw biometric data of a user, and translate it into standardized controls for game engine platforms. Using python libraries such as vGamepad, biometric data can then be understood by any game engine platform that has controller support.

- After a user's game is finished, a csv file of data will be created. Displaying a user's success rate, amount of exoskeleton assistance, and the researcher's set goals.

chart describing the flow of the application

Technologies In Use

The pre-existing Biomechatronics Lab's software is built all in Python. Expanding upon the current program, most of our backend will be written in Python.


Bleak is a low-level bluetooth connection Python library used by the pre-existing program to connect the exoskeleton to the pre-existing Python application.


vGamepad is another key Python library. The library allows us to take biometric data and map it to virtual controller inputs. Giving us and other developers the ability to develop games and experiences on any platform/game engine.


Although any game library would work, we chose Pygame due to its simplicity and ability to be ran on almost any modern computer.


Unlike Pygame, Unity is a more complex game engine software. This allows us to showcase our solution's accessability across multiple environments. As a team, it is the game engine we are the most familiar with.