Project showcase


Low cost robots to assist recovery of patients with non-traumatic brain injuries.

  • 4 respects

Components and supplies

Apps and online services

About this project

1. Introduction

Inter-Departmental Senior Design Project presented May 5th, 2017 at the University of Pennsylvania and advised by the Perelman School of Medicine’s Rehabilitation Robotics Research and Design Laboratory.

2. Kickstarter Video

3. Executive Summary

Our senior design group collaborated with the Perelman School of Medicine’s Rehabilitation Robotics Research and Design Laboratory to help develop a low-cost, assistive system that aids patients after non-traumatic brain injuries (ie. stroke, cerebral palsy, spinal cord injuries). One of the projects the Rehabilitation Robotics Lab has been working on is building extremely affordable robotics for countries where the shortage of rehabilitation professionals and access to them prevents a full recovery post-injury. Our team was initially given an exercise machine, which is used by patients with physician oversight. We were challenged with the task of making the machine adaptive. Ultimately, we created a magnetic encoder to detect the angular position of a user’s arm, mapped this position to the position of a goalie in a Unity soccer game, and attached a motor that increased or decreased the resistance of the machine based on a user’s performance in the game. Our objective was to create a solution which is adaptive to the patient, easily applied to other exercise machines, affordable, and engaging. In the future, the lab hopes to make our pseudo-active solution fully active by adding features that will make the machine assistive, such as a motor to the crank arm.

4. Overview of Project

The Rehabilitation Robotics Lab from Perelman School of Medicine seeks to build an affordable robotics gym for countries where the shortage of rehabilitation professionals and access to them prevents a full recovery post-injury for a large majority of the population. This gym includes a variety of different machines which allow operation without physician oversight leading to strong clinical outcomes, and a fun, interactive therapy in the form of video games. Although the project has been started, it is not close to completion. We were able to help the Rehabilitation Robotics lab in furthering this objective by adding external features to a Carci exercise machine, in order to make the machine adaptive. We mapped the angular position of a patient’s arm to a game, in order to incentivize the patient to perform well, and then automated the resistance of the exercise machine based on the patient’s performance in the game. We were also able to store the patient’s performance in the game by introducing a webapp, which in the future can be used to allow physicians to store patient progress remotely.

One element of our senior design project involved creating a magnetic encoder to detect the angular position of a user’s arm. We used hall effect sensors and a magnet to send a signal to the arduino. If there is a voltage drop we send the corresponding degree to the Game which maps to the soccer goalie. Our senior design project also involves automating resistance on assistive machines. When a patient is having a hard time operating on a machine, we want to reduce the resistance to make the exercise easier. Likewise, if a patient is able to complete an exercise seamlessly, we may want to increase the resistance so that said patient is able to continue strengthening affected muscles and motor skills. We integrated the system with a Unity soccer game in order to develop the algorithm to determine when it is appropriate to change the resistance. We created add-on features to the assistive machines that would allow us to physically adjust the resistance dial. Lastly, we began a webapp that will allow rehabilitation professionals to track patient data during a game session.

This implementation is applicable in various other settings. For example, another student at our Senior Design Demo Day implied that remote assistance would be helpful not just in developing countries, but even in America. Many patients recovering from injuries are told that their recovery time could be reduced if they were able to go to therapy every day of the week, rather than just once a week. However, many times patients cannot afford frequent therapy appointments or have to wait months to get just one appointment. By taking the physician assistance away from post-injury therapy, we could impact millions of patients.

5. Method of Solution

The following is the flow of our solution:

Session Begins: A patient sits next to the Carci machine and is given instructions on how their arm movement controls the goalie in the soccer game.

Game Begins: Certain variables about the game (ie. ball size, speed) can be adjusted to best suit a patient’s needs. The “Play” button is pressed to begin.

Encoder Retrieves Angular Position: As the patient moves the arm handle, a magnetic encoder detects the position of the arm. To make this encoder, we used hall effect sensors (US5881LUA) placed around the shoulder wheel and a magnet on the handle. When the magnet moves across a sensor, the voltage drops and the corresponding angle is printed.

Game Maps Position: The objective of the game is to test the patient’s range of motion. The game maps the position of the patient’s shoulder to the position of the goalie. The encoder position is sent in degrees to the game using Serial Out. The game then reads the position to map the goalie. The patient is incentivized to “catch” as many goals as they can. There are 3 lives total in the case the patient misses a ball we don’t want them to lose immediately. If the user gets a score of 3 or less, we send a signal to resistor to make it easier. If the user gets a score of 10 or more then we want to challenge them. These variables can be altered based on the therapist’s preference for their patient.

Resistance Adjustment: Based on the patient’s performance in the game, a stepper motor will increase or decrease the resistance of the machine accordingly. Using a stepper motor allows us to define each “level” precisely. We use a SN754410ne H-Bridge to drive the motor. We designed an external piece to mount the motor on the machine. This device is easily detachable in order to use this system on other Carci machines with the resistance knob on the bottom.


Team Theragym

Jessica Weiner
  • 1 project

Additional contributors

  • Teammate: computer science engineer by Natalie Melo
  • Teammate: computer science engineer by Ankita Chadha
  • Teammate: computer engineer by Michelle Adjangba
  • Advisor at the perelman school of medicine’s rehabilitation robotics research and design laboratory by Michelle Johnson

Published on

June 14, 2017

Members who respect this project

Openbuildslogo blueboxDefault

and 3 others

See similar projects
you might like

Similar projects you might like

LX' Arduino Tetris

Project showcase by RomanSixty

  • 58 respects

LCD Game

Project showcase by Team Iron_SalsaStudio

  • 23 respects


Project showcase by aerodynamics

  • 16 respects

Bongo Hero: A Fun and Easy Arduino Game

Project showcase by Etienne Daspe

  • 14 respects

Arduino Game By LCD

Project tutorial by Mohammed Magdy

  • 194 respects

Caravaggio, A Drawing Machine

Project showcase by Michele

  • 151 respects
Add projectSign up / Login