Robots for Stroke Rehab: How It All Works

Robots for Stroke Rehab: How It All Works

In the world of rehabilitation, robots are starting to play a larger and larger role. But have you ever wondered how a robot works? This article will be a brief primer into robotics for stroke rehab.

What Makes a Robot?

There are two components to every robot, the hardware and the software. Hardware refers to the physical design of the system. This accounts for the motors, the mechanical linkages, the screws and nuts, every part that actually makes up the robot. Software is all of the code and programming that controls that hardware and makes it move. [1]

Robots can be further divided into two classes by how the linkages that make them are arranged. For example if all the links are connected one after another, this is called a serial robot. ArmeoSpring is an example of such a machine for stroke, and these types of robots generally have a human like design. One advantage of this type of robot is that it has a larger workspace, or range of reach, which can be beneficial when trying to help a patient relearn upper body motor patterns.  [2,3]

Conversely there are also parallel robots, where the links are arranged in parallel to one another. A well-known example of such a machine is a 3D printer. These designs are well suited for simple constructions that need accurate positioning like ankle rehabilitation after stroke as the ankle has a precise range of motion to be exercised. [2,4]

11124  2

Figure 1: ArmeoSpring, an example of a serial robot used for stroke rehab. Each link is attached to one another giving a design that mimics a human arm.

 Figure 2: A 3D printer, a common example of a parrallel robot. Note how the three links are arranged next to each other, giving precise control.

As mentioned before, software is just the code the roboticist programs. These programs are a set of instructions written in a language understandable by a computer that tells the computer how to control the robot. Usually this control software needs to take data from the system via sensors to check some conditions, like if the robot is moving too far, and then the code corrects this error by commanding the robot’s motors to move just the right way. [1]

To now illustrate how the software code works in conjunction with the hardware, let’s look below at this simple wiring diagram.


Figure 3: A simplified wiring diagram. A microcontroller is small computer in a robot that takes data from sensors like a potentiometer, and then calculates the right way to control the robot’s actuators so it can move properly.

A microcontroller (think small onboard computer) has inputs that a roboticist can attach sensors to. Common sensors used in robotics are potentiometers which can tell you what position the robot is currently in, or force sensors that can read out the force the robot is generating. These are the values that are then taken in by the microcontroller and checked in the control software which a roboticist programs on this small computer.

The control software basically makes sure the robot behaves as intended.  For example if a stroke patient is moving in an arm exoskeleton and not reaching the point they are intending to go, the position sensors will capture this information, and then the software will command the robot to help the patient get to this location. These commands are issued to the outputs of the system, and in this case that is the motor which powers the robot. [1]

Robotics and Stroke

While the above was just a brief primer in how a robot works in general, there are also special conditions when designing a robot for stroke survivors. One key condition is picking motors that are strong enough to assist someone in need, but also mechanically “back drivable” meaning a person can move against them without resistance or damaging the actuator. This is key since therapy is all about assisting someone just enough to keep things challenging. Some examples of back drivable actuators are pneumatics and DC motors. [5,3]

Beyond hardware, the best control systems to help someone with a stroke are also a hot topic in research as well. Some paradigms of interest are error-amplification, which is making a person’s errors larger so they notice them, or more basic assistive schemes that simply help a person move along a predetermined trajectory when they can’t do so themselves. There is still on-going research to understand what control scheme gives the best therapeutic outcome. [6]

This article gave a brief primer to robotics, explaining how the physical hardware a roboticist designs comes together with the software controls they code to make a functional system. Additionally an introduction to special design issues for stroke rehabilitation was given. Have you ever had robotic therapy? Share your comments with us in the section below!

About the Author:

Yasemin Sarigul is a PhD student at the University of California, Irvine. Currently they are working on a novel robotic device for gait rehab in stroke and spinal cord injury. Their profession interests include mechanical design, robotics, mathematics, gait, and control theory


[1] Jones, Joseph L., and Anita M. Flynn. Mobile robots: inspiration to implementation. AK Peters, Ltd., 1993.

[2] Merlet, Jean-Pierre. Parallel robots. Vol. 74. Springer Science & Business Media, 2012.

[3] Sanchez Jr, R. J., et al. “A pneumatic robot for re-training arm movement after stroke: Rationale and mechanical design.” Rehabilitation Robotics, 2005. ICORR 2005. 9th International Conference on. IEEE, 2005.

[4] Deutsch, Judith E., et al. “Post-stroke rehabilitation with the Rutgers Ankle System: a case study.” Presence: Teleoperators and Virtual Environments 10.4 (2001): 416-430.

[5] Krebs, Hermano I., et al. “Rehabilitation robotics: pilot trial of a spatial extension for MIT-Manus.” Journal of NeuroEngineering and Rehabilitation 1.1 (2004): 5.

[6] Marchal-Crespo, Laura, and David J. Reinkensmeyer. “Review of control strategies for robotic movement training after neurologic injury.” Journal of neuroengineering and rehabilitation 6.1 (2009): 20.