# Design and Control of a Low-cost Non-backdrivable End-effector Upper Limb
Rehabilitation Device

Fulan Li1,2 , Yunfei Guo1, Wenda Xu1, Weide Zhang1, Fangyun Zhao1, Baiyu
Wang1, Huaguang Du1, and Chengkun Zhang1 1Engineer at Futronics (NA)
Corporation, Pasadena, CA, USA.2Fulan Li is the corresponding author (email:
lfulan@vt.edu).

###### Abstract

This paper presents the development of an upper limb end-effector based
rehabilitation device for stroke patients, offering assistance or resistance
along any 2-dimensional trajectory during physical therapy. It employs a non-
backdrivable ball-screw-driven mechanism for enhanced control accuracy. The
control system features three novel algorithms: First, the Implicit Euler
velocity control algorithm (IEVC) highlighted for its state-of-the-art
accuracy, stability, efficiency and generalizability in motion restriction
control. Second, an Admittance Virtual Dynamics simulation algorithm that
achieves a smooth and natural human interaction with the non-backdrivable end-
effector. Third, a generalized impedance force calculation algorithm allowing
efficient impedance control on any trajectory or area boundary. Experimental
validation demonstrated the system’s effectiveness in accurate end-effector
position control across various trajectories and configurations. The proposed
upper limb end-effector-based rehabilitation device, with its high performance
and adaptability, holds significant promise for extensive clinical
application, potentially improving rehabilitation outcomes for stroke
patients.

###### Index Terms:

Upper Limb Rehabilitation, End-effector Rehabilitation Robot

##  I INTRODUCTION

Every forty seconds, an individual in the United States experiences a stroke,
and every four minutes, a stroke leads to death. Approximately 7.6 million
Americans aged 20 years and older have experienced stroke. As age progresses,
the prevalence of stroke increases in both males and females. By 2030, the
prevalence rate is projected to increase to 3.9% [1], making stroke a major
health concern in the US. Research shows that between 30% to 66% of hemiplegic
stroke patients experience limited arm motor function six months after a
stroke, with only 5% to 20% demonstrating complete functional recovery [2].
These low patient recovery rates are linked to diminished quality of life and
increased risks to overall well-being.

Figure 1: End-effector rehabilitation devices. (A) InMotion [3] arm
rehabilitation device, commercialized based on the multi-link MIT MANUS [4]
design. (B) H-MAN [5] arm rehabilitation device, utilizing an H-shaped
differential pulley and belt mechanism. (C) Physiobot arm rehabilitation
device using a backdrivable linear actuated mechanism [6]. (D) ArmMotus M2
Gen[7] rehabilitation device utilizing a backdrivable linear actuated
mechanism.

Robotic-assisted therapy (RAT) has been found to be a valuable adjunct to
conventional physical therapy for post-stroke upper extremity rehabilitation,
particularly for subacute stroke patients [8]. Compared to conventional
physical therapy, RAT allows patients to undergo consistent and repetitive
rehabilitation exercises, showing comparable and better outcomes [9]. Among
those frequently researched RAT devices (e.g. rehabilitation exoskeletons and
end-effector devices), the end-effector rehabilitation devices are
particularly popular due to their portability and affordability. Meanwhile,
the end-effector devices can still deliver patient outcomes that are
comparable to more complex systems such as exoskeleton robots [9]. The present
article introduces the design and control of a low-cost end-effector
rehabilitation device. The proposed device and control method shows the
potential to offer tailored and long-term adaptive training for stroke
patients, and extend the device’s product life span.

###  I-A End-effector Upper Limb Rehabilitation Devices

End-effector upper limb rehabilitation devices refer to planar robots enabling
movement along a 2D plane. Numerous prior studies have investigated
rehabilitation techniques using these 2D planar robots through rigorous
experimental methodologies [4, 10, 11, 12, 5, 13, 6]. There are three primary
types of end-effector rehabilitation robots: multi-link robots [4, 10, 11,
12], pulley-driven robots [5, 13], and linear actuated robots [6] ( Fig. 1).
The MIT MANUS is a well-known example of a multi-link rotary robot with a two-
decade history [4]. Stability of the vertical force, resulting from the user
placing their arm on the device, has been a notable concern for multi-link
rotary robots. Despite their portable and backdrivable direct drive mechanisms
providing high accuracy, maintaining this stability remains challenging [5].
Stability issues can be a major issue affecting user experience, motivation,
engagement, and product adoption rate [14, 15]. Pulley-drive robots attempted
to employ a differential drive with pulleys and belts, to address the
stability issues and improve dynamics calculation [5, 16, 13, 17]. However,
the pulley-drive robots require high maintenance due to the frequent wear and
tear on the belt drives. To our knowledge, only one commercialized device
claimed to solve these reported issues using a backdrivable linear actuated
mechanism, but with minimum information revealed [6, 7]. The current paper
explores an alternative system architecture with a non-backdrivable mechanism,
and attempts to provide explicit evidence of the potential benefits.

End-effector upper limb rehabilitation devices typically offer three training
functions tailored to specific rehabilitation interventions: robot-guided
trajectory following, human-guided trajectory following, and free-moving.
These training functionalities aim to map the sequential stages of
conventional physical therapy progression [18, 19, 13]. The robot-guided
trajectory following function is primarily utilized in the early stages of
rehabilitation for stretching and passive range of motion (ROM) exercises
[20]. Patients follow a predetermined 2D trajectory operated by the device,
without using strength or exerting forces. The human-guided trajectory
following function attempts to facilitate active range of motion (ROM)
exercises and resistance training [20, 21]. In this function, the device
provides assistance or resistance as needed. The free-moving function allows
users unrestricted movement within the 2D workspace, facilitating engagement
with rehabilitation games, promoting sensorimotor training, and enhancing
tactile feedback, motor planning, and sensory and proprioceptive awareness
[22].

###  I-B Novel Contributions

This paper introduced the Gantry Arm Rehabilitation Device (GARD), a low-cost,
easily maintainable end-effector-based upper limb rehabilitation robot, as
shown in Fig. 2. The proposed design for GARD featured a non-backdrivable
mechanism where previous research rarely delved into. The design incorporates
two ball-screw-driven linear actuators for the x and y axis. Compared to
conventional multi-link robots, the proposed robot offers better stability
along the z-axis. Compared to the pulley-belt driven robots, the proposed
system exhibits enhanced wear resistance, owing to its ball-screw direct drive
mechanism. The proposed control method based on non-backdrivable design
uniquely offers functionalities such as Range of Motion (ROM) restricted
moving and hard boundary human-guided trajectory following, in addition to
providing all functionalities of existing commercial devices with superior
performance. Three main challenges are addressed in this paper.

First, a virtual dynamics model is required for controlling a non-backdrivable
mechanism with sensor force as input and end-effector velocity as output. We
proposed an admittance control method to emulate a virtual mass, static
resistance, and speed damper, which achieves natural sensation of free moving.

Second, implementing end-effector area restriction control on a non-
backdrivable mechanism using motor velocity control presents the challenge of
position error accumulation. This error arises from both the control
discretization and the motor acceleration limitations. While increasing the
control frequency and using higher quality motors can reduce the error, it
cannot be entirely eliminated and tends to accumulate over time. We proposed a
novel Implicit Euler Velocity Control (IEVC) algorithm which can completely
and efficiently addresses this problem.

Third, trajectory tracking necessitates customization for individual users. No
prior research has proposed a generalized method capable of controlling along
any given trajectory. Existing studies [5, 17] or commercial products [7]
focus on trajectory with symbolic solutions. Our proposal introduces a
numerical solution to provide force assistance or resistance along any
trajectory, including hand-drawn ones. This method entails computer vision
inspired numerical trajectory gradient generation to determine the direction
of force assistance or resistance, coupled with a series of admittance and
impedance controls on the end-effector [23].

Figure 2: The Gantry Arm Rehabilitation Device (GARD) operates in Human-guided
Trajectory Mode along a circular trajectory. The GARD can provide either
assistance or resistance to support physical therapy training.

##  II Gantry Arm Rehabilitation Device

###  II-A Mechanical Design

The Gantry Arm Rehabilitation Device (GARD) end-effector offers a flexible
range of motion within a 65x55cm 2D workspace. This device utilizes two rotary
actuators coupled with ball screws, enabling linear movement along the x and y
axis, as depicted in Fig. 3. The ball screws operate at a ratio of 1 turn to 2
millimeters. The actuators can achieve a maximum speed of 80 revolutions per
second, with acceleration limited to 800 revolutions per second squared.
Additionally, each actuator provides a maximum torque output of 0.22Nm.

Figure 3: Mechanical design of GARD. (A) The top view illustrates the 65x55cm
2D workspace attained through the use of two rotary actuators and ball screws.
(B) The front view showcases the y-axis actuator and ball screw, which can
move both the end-effector and the x-axis actuator with the ball screw in the
y-direction. The x-axis actuator moves the end-effector in the x-direction.

###  II-B Electrical Design

The power source is a medical-grade power supply with a rated output of 24V
and 6.5A. This power is distributed via a power distribution board to various
components including the motor controller, force sensor, and controller board.
Two motor controllers are incorporated to connect with two Brushless DC motors
equipped with 1000CPR resolution optical encoders for precise control over the
x and y axis ball screws. Additionally, the system employs two limit switches
for motor-homing purposes. For force sensing at the end-effector, a low-cost
Galoce GPB160 3-axis load cell is employed, utilizing an ADS1232 SPI ADC
converter. To manage low-level control and communication with the high-level
controller, the limit switches, ADC converters, and motor drivers are all
interfaced with an STM32 microcontroller unit (MCU).

###  II-C Control Hierarchy

The GARD features a two-level control hierarchy comprising a High-level
Virtual Dynamic Model and a Low-level Firmware Controller, as depicted in Fig.
4. At the high level, the Virtual Dynamic Model computes the desired motor
velocity based on sensor data and user settings. At the low level, the
Firmware Controller manages sensor data collection, timing regulation, and
motor control.

The current structural setup diverges from conventional admittance control
systems. Unlike conventional systems, where the virtual dynamic model and
motor control are not separated due to the influence of applied forces on
robot dynamics, both input force and desired velocity must be considered in
motor torque calculations. However, the proposed device GARD features a non-
backdrivable end-effector, where user force does not influence end-effector
motion, allowing the separation of dynamic model and motor control. The
proposed structure enables us to establish a clear control hierarchy, and
maximize the integration advantages of commercial motor controllers, that is,
the integrated commercial motor controller firmware dedicated to motor
velocity control typically operates at much higher control frequencies, and is
more stable and efficient than user’s implementation on a multitask MCU.

Figure 4: Control hierarchy of GARD. The high-level Virtual Dynamics Model
computes the desired motor velocity based on sensor data and user settings.
The Low-level Firmware Controller manages sensor data collection, timing
regulation, and motor control. $F_{smp}$ denotes data from the force sensor.
$P_{in}$ denotes the current position of the end-effector. $Y_{v}$ denotes the
virtual dynamics. $v_{d}$ denotes the desired velocity. $C_{m}$ denotes the
motor controller. $Y_{m}$ denotes the robot dynamics.

##  III GARD Operation Modes

Figure 5: Control hierarchy for Robot-guided Trajectory Mode. The core control
block in Robot-guided Trajectory Mode is the Motion Restriction Controller
which takes a Motion Restriction Map and a velocity as input. The GUI
Controller provides the Motion Restriction Map, which specifies the permitted
end-effector positions. The Velocity Regulator provides a regulated velocity
based on the user’s desired speed and the previous motor velocity direction.
The Motion Restriction Controller will limit the end-effector’s motion inside
the permitted area by modifying the input velocity using the IEVC algorithm.
The output velocity of the Motion Restriction Controller will be sent to the
Low-level Firmware Controller. Figure 6: Control hierarchy for Free Mode and
Human-guided Trajectory Mode with hard boundary. The GUI controller generates
Motion Restriction Map base on the user’s ROM restrictions and pass the map to
the Motion Restriction Controller. The Admittance Virtual Dynamics block
simulates a mass-friction-damper system and outputs the calculated motor
velocity to the Motion Restriction Controller. Figure 7: Control hierarchy for
Human-guided Trajectory Mode. In addition to the Motion Restriction Map, the
GUI controller also generates the Spring Force Map used by the Impedance
Controller. The Impedance Controller calculates the net force of the end-
effector input and the impedance spring-damper system, pass the result to the
admittance virtual dynamics. The rest of the control blocks are identical to
Free Mode.

Three distinct operation modes have been implemented to support patients at
different stages of recovery: Robot-guided Trajectory Mode, Free Mode, and
Human-guided Trajectory mode. Additionally, a Graphical User Interface (GUI)
is provided for all operational modes, offering GUI functionality and
rehabilitation gaming features. This section will introduce these operation
modes and the corresponding control algorithm used.

###  III-A Robot-guided Trajectory Mode

Designed to enable passive rehabilitation training for the patient’s arm,
Robot-guided Trajectory Mode entails the robot automatically following a pre-
set trajectory at a user-defined speed. In this non-interactive mode, exerted
force on the end-effector does not influence the robot’s motion. It’s
typically employed during the early recovery stage when external force
guidance is required for completing arm movements.

The Robot-guided Trajectory Mode control hierarchy is shown in Fig. 5. The GUI
controller in robot-guided mode provides desired moving speed and Motion
Restriction Map. It then passes the map to the Motion Restriction Controller.
The Velocity Regulator provides a regulated velocity based on the user’s
desired speed and the previous motor velocity. The Motion Restriction
Controller will limit the end-effector’s motion inside the permitted area by
modifying the input velocity using the IEVC algorithm. The Motion Restriction
Controller and IEVC algorithm are reused in all modes, details can be found in
Sec. IV-A.

###  III-B Free Mode

The Free Mode is an interactive mode, which can be used in a later recovery
stage to facilitate participation in rehabilitation games and promote
sensorimotor training. The Free Mode allows the user to move the end-effector
within the user’s Range of Motion (ROM). ROM is defined as the area bounded by
a closed trajectory traversed by the end-effector. An example of the
generation of ROM Restriction Map is illustrated in Fig. 13 (A) and (B). The
interaction with the ROM boundary resembles encountering a hard, smooth wall-
like boundary, restricting the user’s arm motion inside a safe workspace to
avoid injuries.

Fig. 6 presents the control hierarchy for the Free Mode. This mode contains
two key control blocks. The first control block is the Motion Restriction
Controller, which is identical to the block in Robot-guided Trajectory Mode.
The second control block is the Admittance Virtual Dynamics block, which
involves implementing virtual robot dynamics where the robot simulates the
behavior of a mass-friction-damper system (detailed shown in Sec. IV-B). The
Admittance Virtual Dynamics block takes net external force as input on body
and sends the desired velocity to the Motion Restriction Controller. The
combination of the Motion Restriction Controller and the Admittance Virtual
Dynamics enables the end-effector to move freely inside the permitted area,
and interact with a hard, smooth wall-like area boundary.

###  III-C Human-guided Trajectory Modes

The Human-guided Trajectory Modes are utilized for both active Range of Motion
(ROM) training and resistance training. The proposed device comprises two
submodes: the Human-guided Trajectory Mode with hard boundary and the Human-
guided Trajectory Mode with soft boundary, offering varying degrees of freedom
for active ROM training.

In Human-guided Trajectory Mode with hard boundary, users can maneuver the
end-effector freely along a trajectory with hard boundaries. The control
structure of this mode mirrors that of the Free Mode, because under our
proposed method the trajectory restriction and the area restriction are
identical. The method used to generate Motion Restriction Map is listed in
Sec. IV-A.

Conversely, the Human-guided Trajectory Mode with soft boundary permits
greater flexibility in rehabilitation training. Here, users can guide the end-
effector along a trajectory with soft boundaries, allowing deviations from the
desired path. Automatic assistance force is applied to realign the end-
effector with the trajectory when necessary. The control hierarchy of the
Human-guided Trajectory Mode with soft boundary is outlined in Fig. 7. This
mode incorporates three primary control blocks. In addition to the Motion
Restriction Controller and Admittance Virtual Dynamics used in previous modes,
an Impedance Controller block is introduced. This block use impedance control
to provide the assistance force for trajectory realignment. This control block
will adjusts the end-effector force based on the Impedance Force Map and end-
effector position, sending the modified net force to the Admittance Virtual
Dynamics for further computation. The detail of Spring Force Map generation
and Impedance Controller can be found in Sec. IV-C.

##  IV Control Algorithms

This section introduces the control algorithms used for GARD to enable
different operation modes. Sec. IV-A describes the algorithm used for motion
restriction and trajectory following. Sec. IV-B describes the algorithms that
allow the end-effector to move with simulated virtual dynamics. Sec. IV-C
describes the algorithms that add a soft boundary to the Human-guided
Trajectory Mode.

###  IV-A Motion Restriction Algorithms

A common practice in implementing the trajectory-following algorithm using
velocity control is to decompose the current velocity into tangential and
radial velocity, and adjust them accordingly. However, these types of
algorithms share a common issue such that the trajectory following error can
accumulate over time resulting in increased deviation. Take circular
trajectory as an example, a trivial way to limit the end-effector movement on
a circular trace is to dynamically calculate the tangential direction at
current position and marching only in that direction. However, with this
method in practice, the error caused by the control discretization and the
motor acceleration limitations will accumulate and will cause the end-effector
to move further away over time. This example of truncation error accumulation
is the same as the local truncation error accumulation in solving the initial
value problems using the Explicit Euler Integral [24]. We proposed the
Implicit Euler velocity control (IEVC) algorithm initially for solving this
error accumulation issue in free moving along an arbitrary trajectory
restriction. However, we discover that this algorithm can be naturally
extended to 2D area restriction or even 3D space restriction. Hence, we define
the Motion Restriction Control as the end-effector moving control under a
virtual positional restriction. Areas in which the end-effector is allowed to
move freely are defined as the permitted area, otherwise are defined
prohibited area.

The proposed IEVC algorithm can effectively restrict the end-effector inside
any permitted area, implemented in Fig. 5 as Motion Restriction Controller
block. This algorithm enables the end-effector to move freely inside the
permitted area and interact with a hard-smooth-wall like area boundary. The
core of this algorithm is dynamically searching and choosing the best chasing
target. To make the algorithm generalizable to any scenario, it is implemented
upon a discretized taskspace with $W_{g}\times H_{g}$ positions, and use a 2D
matrix of equal size to represent the taskspace motion restriction which
referred to as the Motion Restriction Map. The detailed Motion Restriction Map
generation method and IEVC algorithm are described in the following two
subsections.

####  IV-A1 Motion Restriction Map Generation

The task space of GARD is discretized into $W_{g}\times H_{g}$ positions,
generating a 2D matrix of equal size referred to as the Motion Restriction Map
$\textbf{{M}}_{rs}$. The $\textbf{{M}}_{rs}$ can be viewed as a grayscale
image. Each pixel entry on $\textbf{{M}}_{rs}$ corresponds to a physical GARD
end-effector location. A pixel storing a value of 0 indicates that the
corresponding location is the prohibited area; otherwise, the location is the
permitted area. $\textbf{{M}}_{rs}$ will be initialized with all 0, meaning
all prohibited area.

For an trajectory restriction defined using implicit functions $f(x,y)=0$ or
more generalized area restriction defined using $\textbf{F}(x,y)<\textbf{0}$,
$\textbf{{M}}_{rs}$ can be generated by iterating through all entries $[i,j]$
on $\textbf{{M}}_{rs}$ and evaluating $abs(f(j,i))<E_{s}$ or
$\textbf{F}(j,i)<\textbf{0}$. $E_{s}$ is the trajectory width for trajectory
restriction. If $[i,j]$ satisfy the function, $\textbf{{M}}_{rs}[i,j]$ will be
assigned 1, which represents the permitted area.

For other general user-defined motion restrictions such as a hand-drawn
trajectory restriction, $\textbf{{M}}_{rs}$ can also be generated or edited
using an image editing tools.

####  IV-A2 Motion Restriction Controller (IEVC algorithm)

The IEVC algorithm takes the current velocity $\textbf{{V}}_{in}$, current
position $\textbf{{P}}_{in}$ and the Motion Restriction Map
$\textbf{{M}}_{rs}$ as input, and will output the motion restricted end-
effector velocity $\textbf{{V}}_{r}$ which is guaranteed to limit the end-
effector position towards the permitted area.

The key concept of this algorithm is to predict end-effector location in the
next step and adjust the current velocity output, inspired by the Implicit
Euler Method in solving the initial value problem [24]. The algorithm will
first draw a circle centered at the end-effector $\textbf{{P}}_{in}$ with
radius proportional to the current speed magnitude. The proportional gain
$G_{v}$ needs to be adjusted by the transmission ratio between the motor
velocity and the end-effector velocity. Then, the algorithm will mark all
circle’s intersection points with the permitted area as candidate points for
the next chasing target. An array of normalized vectors is generated by
pointing the current end-effector position to all candidate points. Next, the
algorithm will iterate through the generated vector array, and find the vector
that has the most aligned direction with the input end-effector velocity
($\textbf{{V}}_{in}$). The most aligned vector in the vector array is chosen
as the end-effector final direction vector $\textbf{{D}}_{next}$. Finally, the
end-effector output velocity $\textbf{{V}}_{r}$ is calculated by combining the
direction of $\textbf{{D}}_{next}$ with the non-zero clipped magnitude of
$\textbf{{V}}_{in}$’s projection onto the $\textbf{{D}}_{next}$.

Fig. 8 illustrates an example of IEVC output calculation. This example also
shows that even when current position $\textbf{{P}}_{in}$ does not lie inside
the permitted area (trajectory), the IEVC can still effectively restrict the
end-effector location on the area boundary by exponentially minimizing the
divergence distance over time steps. Algo. 1 present the sudo code for IEVC.

The helper functions implementation of IEVC can be found in Algo. 4. The
$circleMap()$ function generates a points-on-the-circle list which contains
all positions on the taskspace that has the distance equal to $R_{circle}$
within a tolerance. The resultant list will be provided to $findIntersec()$
function to find all IEVC candidate points.

Figure 8: Illustration for IEVC calculation at position $\textbf{{P}}_{in}$
with velocity $\textbf{{V}}_{in}$. In this example, the IEVC finds 2
candidates according to the intersection circle centered at
$\textbf{{P}}_{in}$ with radius $G_{v}*\|\textbf{{V}}_{in}\|$. Candidate 1 is
selected due to higher directional alignment with $\textbf{{V}}_{in}$. The
output $\textbf{{V}}_{r}$ is $\textbf{{P}}_{in}$’s projection onto candidate
1’s direction. The IEVC is stable because the restricted velocity given by
IEVC always target towards permitted area. In the example above, even when
current position $\textbf{{P}}_{in}$ does not lie inside the permitted area
(trajectory), the error will decade exponentially over time steps and IEVC can
still effectively restrict the end-effector location on the area boundary.
Algorithm 1 Implicit Euler velocity control (IEVC)

1:$\textbf{{P}}_{in},$ $\textbf{{V}}_{in},$ $\textbf{{M}}_{rs},$ $G_{v}$

2:$\textbf{{V}}_{r}$

3:$R_{circle}\Leftarrow round(G_{v}*norm(\textbf{{V}}_{in}))$

4:$candidatesList\Leftarrow
findIntersec(\textbf{{M}}_{rs},R_{circle},\textbf{{P}}_{in})$

5:if $length(candidatesList)>0$ then

6: $\textbf{{D}}_{next}\Leftarrow None$

7: $maxProj\Leftarrow-\infty$

8: for all $\textbf{{P}}_{c}$ in $candidatesList$ do

9: $\textbf{{D}}_{c}\Leftarrow normalize(\textit{{P}}_{c}-\textbf{{P}}_{in})$

10: $curProj\Leftarrow(\textbf{{V}}_{in}\cdot\textbf{{D}}_{c})$

11: if $curProj>maxProj$ then

12: $maxProj\Leftarrow curProj$

13: $\textbf{{D}}_{next}\Leftarrow\textbf{{D}}_{c}$

14: end if

15: end for

16: $\textbf{{V}}_{r}\Leftarrow max(maxProj,0)*\textbf{{D}}_{next}$

17: return $\textbf{{V}}_{r}$

18:end if

###  IV-B Admittance Virtual Dynamics

Admittance Virtual Dynamics block is used in both Free mode and Human-guided
Trajectory Modes. The goal of this control block is to simulate an adjustable
mass-friction-damper dynamics allowing natural motion of the end-effector.

Given a simulated mass, we have the following equation of motion in the
Laplace domain:

$\begin{split}f&=\textbf{{s}}m_{v}vk_{r}\\\
\dfrac{v}{f}&=\dfrac{1}{m_{v}k_{r}}\cdot\dfrac{1}{\textbf{{s}}}\end{split}$
(1)

where, $m_{v}$ denotes the virtual mass. $k_{r}$ denotes the transmission
ratio between the motor to end-effector velocity. $T_{s}$ denotes the time
step size.

The Laplacian domain model cannot be directly used for discrete control. There
are two steps to convert the Laplacian domain model into discrete control.
First, take the Z-transform with Tustin estimator:

$\begin{split}\dfrac{v}{f}&=\dfrac{1}{m_{v}k_{r}}\cdot\dfrac{T_{s}}{2}\dfrac{\textbf{{z}}+1}{\textbf{{z}}-1}\\\
\Rightarrow
v&=\dfrac{T_{s}}{m_{v}k_{r}}\cdot\dfrac{f+\textbf{{z}}^{-1}f}{2}+\textbf{{z}}^{-1}v\end{split}$
(2)

Second, transform the z-domain result back to the time domain to generate
discrete control implementation:

$v_{k}=\dfrac{T_{s}}{m_{v}k_{r}}\cdot\dfrac{f+f_{k-1}}{2}+v_{k-1}$ (3)

Algo. 2 shows the implementation of Eq. 3. The algorithm takes current input
force $\textbf{{F}}_{in}$, input force on last time step
$\textbf{{F}}_{last}$, velocity on last time step $\textbf{{V}}_{last}$,
virtual mass $m_{v}$, damping ratio $\zeta_{a}$, and friction coefficient
$\mu$ as input, and will output the desired velocity $\textbf{{V}}_{d}$. The
$\textbf{{V}}_{d}$ will be sent to the Motion Restriction Controller. The
motor velocity from the Motion Restriction Controller will be sent to low
level GARD firmware (e.g. MCU, motor controller) for close loop velocity
control.

Algorithm 2 Admittance Virtual Dynamics

1:$\textbf{{F}}_{in},$ $\textbf{{F}}_{last},$ $\textbf{{V}}_{last},$
$\zeta_{a},$ $m_{v},$ $\mu$

2:$\textbf{{V}}_{d}$

3:$Y_{m}\Leftarrow T_{s}/m_{v}/k_{r}$

4:$\textbf{{V}}_{last}\Leftarrow\textbf{{V}}_{last}*(1-\zeta_{a}*Y_{m})$

5:$\textbf{{V}}_{d}\Leftarrow\textbf{{V}}_{last}+(\textbf{{F}}_{in}+\textbf{{F}}_{last})/2*Y_{m}$

6:$\textbf{{V}}_{d}\Leftarrow
max(\textbf{0},\textbf{{V}}_{d}-m_{v}*9.8*\mu*Y_{m})$

7:return $\textbf{{V}}_{d}$

###  IV-C Impedance Controller

Impedance controller is used together with Admittance Virtual Dynamics in the
Human-guided Trajecotry Mode with soft boundary to simulate a permitted area
with spring-damper (impedance) boundary.

The Impedance Controller outputs the net external forces to the Admittance
Virtual Dynamics control block. The output force from the Impedance Controller
is a compositional force of the force applied at the end-effector, the
simulated impedance spring force (referred to as impedance spring force
hereafter), and the simulated impedance damper force (referred to as impedance
damper force hereafter). The impedance spring force and the impedance damper
force are computed using a precalculated Spring Force Map. The detail of the
impedance force calculation is described below.

We proposed an impedance force calculation algorithm that can automatically
calculate the impedance force at any taskspace position on any given Motion
Restriction Map. It is done using a precalculated 2D Spring Force Map which
will provide all information needed for the impedance force calculation. The
Spring Force Map is generated using $M_{rs}$ and 2D convolution.

To demonstrate why convolution is needed, consider a simplified impedance
force calculation problem in 1D. As illustrated in Fig. 9, $M_{rs}(x)$ is our
example 1D Motion Restriction Map. Each $x$ value corresponds to a end-
effector location on the $x$ axis, meaning all positions between $2\leq x\leq
6$ are permitted area. $Kernal_{sw}(x)$ is a unit impulse function that equals
to 1 between $-0.5\leq x\leq 0.5$ which is used as the convolution kernel.
Note that in Fig. 9 (C), the convolution result between $M_{rs}(x)$ and the
$Kernal_{sw}(x)$ shows a straight transaction around the permitted area
boundary same as the ideal characteristic curves of a spring.

Therefore, in our simplified 1D example, we can define the Spring Force Map
$F_{spr}$ as a mapping function which $F_{spr}(x)$ will give the magnitude of
the impedance spring force at position $x$. The Spring Force Map can be
calculated using 1-flipped convolution result between the Motion Restriction
Map $M_{rs}(x)$ and the impulse convolution kernel:

$F_{spr}(x)=K_{sp}L_{max}(1-M_{rs}(x)\circledast Kernal_{sw}(x))$ (4)

where $K_{sp}$ denotes the spring stiffness and $L_{max}$ denotes the width of
the impedance force zone that can be controlled by the width of the impulse
kernel $Kernal_{sw}(x)$. The direction of the impedance spring force can also
be computed by the sign of the negative local derivative:

$F_{dir}=sgn(-\frac{\partial F_{spr}}{\partial x})$ (5)

The impedance damper force can be calculated using the direction of the
impedance spring force and the current end-effector velocity.

The same concept can be generalized into 2D space. The 2D Spring Force Map for
any given trajectory or ROM can be generated using a 2D convolution between
the Motion Restriction Map $\textbf{{M}}_{rs}$ and a 2D uniformly filled
circular kernel. The impedance spring force direction can be computed by the
negative local gradient direction of the Spring Force Map at the current end-
effector position. The width of the impedance force zone can be controlled by
the diameter of the circular kernel. Fig. 10 illustrates an example spring
force vector map calculation process for a hand-drawn restriction map. The
first step is to expand the trajectory in the radial direction. The reason for
expansion can be observed in Fig. 9 (B) and Fig. 9 (C). In Fig. 9 (B), the
permitted area boundaries are at $x=2$ and $x=6$, but in Fig. 9 (C) the
generated impedance force zone is between $1.5\leq x\leq 2.5$ and $5.5\leq
x\leq 6.5$. The generated impedance force zone will be centered at the
original boundary location with a width equal to the diameter of the
convolution kernel. Therefore, the permitted area (trajectory) needs to be
expanded in the radial direction by the radius of the convolution kernel to
create space for the impedance force zone. The expansion can be achieved
through convolution using the same 2D uniformly filled circular kernel,
followed by thresholding the resultant output (setting $x$ to 1 if $x>0$,
otherwise to 0 for all $x$ in $(\textbf{{M}}_{rs}\circledast Kernal_{cir})$).
Fig. 10 (B) shows the resulting expanded Motion Restriction Map using a 6 mm
radius uniformly filled circular kernel. Fig. 10 (C) shows the generated
Spring Force Map with a 12 mm impedance zone along the trajectory. Fig. 10 (D)
shows the derived spring force vector field using the proposed impedance force
calculation algorithm and the Spring Force Map.

Figure 9: Example of 1D Spring Force Map calculation using convolution. (A)
The 1D impulse kernel $Kernal_{sw}(x)$. (B) The 1D Motion Restriction Map
$M_{rs}(x)$. Each $x$ value corresponds to an end-effector location on the $x$
axis. All positions between $2\leq x\leq 6$ are permitted area. (C) Spring
Force Map $F_{spr}$ calculated using 1-flipped convolution result
$(1-M_{rs}(x)\circledast Kernal_{sw}(x))$. The convolution between $M_{rs}(x)$
and the $Kernal_{sw}(x)$ shows a nice straight transaction around the boundary
same as the characteristic curves of a spring. Width of the transaction area
equals width of the impulse kernel.

Algo. 3 shows the implementation of the Impedance Controller. It takes the
input force $\textbf{{F}}_{in}$, the velocity on last time step
$\textbf{{V}}_{last}$, the current position $\textbf{{P}}_{in}$, the
precalculated Spring Force Map $F_{spr}$, the spring stiffness $K_{sp}$, and
the damping ratio $\zeta_{i}$ as input. And output the compositional force
$\textbf{{F}}_{o}$.

Figure 10: Example of impedance force calculation for a hand-drawn Motion
Restriction Map. (A) The original hand-drawn Motion Restriction Map. (B) The
Motion Restriction Map expanded using a 6 mm radius uniformly filled circular
kernel. (C) The generated Spring Force Map with a 12 mm impedance force zone
along the trajectory. (D) The derived spring force vector field using the
proposed impedance force calculation algorithm and the Spring Force Map.
Algorithm 3 Impedance Controller

1:$\textbf{{F}}_{in},$ $\textbf{{V}}_{last},$ $\textbf{{P}}_{in},$ $F_{spr},$
$K_{sp},$ $\zeta_{i},$

2:$\textbf{{F}}_{o}$

3:$[P_{x},P_{y}]\Leftarrow\textbf{{P}}_{in}$

4:$F_{dx}\Leftarrow F_{spr}[P_{y},P_{x}+1]-F_{spr}[P_{y},P_{x}-1]$

5:$F_{dy}\Leftarrow F_{spr}[P_{y}+1,P_{x}]-F_{spr}[P_{y}-1,P_{x}]$

6:$\textbf{{F}}_{dir}\Leftarrow normalize(-[F_{dx},F_{dy}])$

7:$\textbf{{F}}_{o}\Leftarrow\textbf{{F}}_{in}+K_{sp}*F_{spr}[\textbf{{P}}_{in}]*\textbf{{F}}_{dir}$

8:$\textbf{{F}}_{o}\Leftarrow\textbf{{F}}_{o}+\zeta_{i}*(\textbf{{V}}_{last}\cdot\textbf{{F}}_{dir})*\textbf{{F}}_{dir}$

9:return $\textbf{{F}}_{o}$

##  V Experiments

The experiments are performed in three parts. First, the complexity analysis
of the proposed high-level control. Second, the performance assessment of
GARD’s different operation modes and control blocks. Third, comparison to the
state-of-the-art end-effector upper limb rehabilitation devices.

###  V-A Control Algorithms Complexity Analysis

The complexity analysis of the proposed control algorithms is conducted
concerning the taskspace discretization precision ($n\times n$ taskspace
discretization). The results are displayed in Tab. I. The proposed control
algorithms consider $O(n)$ overall runtime time complexity and $O(n^{2})$
overall space complexity.

The proposed algorithm is efficient for several reasons. First, a runtime time
complexity of $O(n)$ is affordable for any modern PC or MCU. Although the
generation of the circle map ($circleMap(R_{circle})$ in helper functions) can
have a time complexity of $O(n^{2})$, since $R_{circle}$ is always an integer
and motors have physical maximum speed limits, precalculating all points-on-
the-circle lists for all possible $R_{circle}$ values is feasible, and will
therefore not affect the runtime performance. Second, adding trajectories,
permitted areas, and obstacles incurs zero run time performance cost.
Designers can create Motion Restriction Maps for games and applications
without concern any runtime performance impact. Third, the proposed Human-
guided Trajectory Mode with soft boundary (the most complicated one),
implemented with C#, under $2200\times 1700$ taskspace discretization costs an
average time step of $10\mu s$ when running on i7-8750H. This indicates that
solving the 2D constraint control problem on modern CPUs using the proposed
algorithm has significant computational surplus. Furthermore, the algorithm’s
high degree of parallelizability underscores its potential for further runtime
optimization, suggesting its substantial potential for real-time 3D taskspace
motion restriction control.

Algorithm 4 IEVC Helper functions implementation

1:procedure $inCircle(x,y,lineWidth)$

2: return $abs(x^{2}+y^{2}-1)<lineWidth$

3:end procedure

1:procedure $circleMap(R_{circle})$:

2: $mapLen\Leftarrow R_{circle}*2+10$

3: $\textbf{{M}}_{cir}\Leftarrow emptyList()$

4: for all $[x,y]$ in $\textbf{{M}}_{cir}$ do

5: $dx\Leftarrow x-R_{circle}-5$

6: $dy\Leftarrow y-R_{circle}-5$

7: $ndx\Leftarrow dx/R_{circle}$

8: $ndy\Leftarrow dy/R_{circle}$

9: $wLine\Leftarrow 2/R_{circle}$

10: if $inCircle(ndx,ndy,wLine)$ then

11: $\textbf{{M}}_{cir}.append([dx,dy])$

12: end if

13: end for

14: return $\textbf{{M}}_{cir}$

15:end procedure

1:procedure $findIntersec(\textbf{{M}}_{rs},R_{circle},\textbf{{P}}_{in})$

2: $[P_{x},P_{y}]\Leftarrow\textbf{{P}}_{in}$

3: $\textbf{{M}}_{cir}\Leftarrow circleMap(R_{circle})$

4: $candidatesList\Leftarrow emptyList()$

5: for all $[dx,dy]$ in $\textbf{{M}}_{cir}$ do

6: if $\textbf{{M}}_{rs}[P_{y}+dy,P_{x}+dx]>0$ then

7: $\textbf{{P}}_{c}\Leftarrow[P_{x}+dx,P_{y}+dy]$

8: $candidatesList.append(\textbf{{P}}_{c})$

9: end if

10: end for

11: return $candidatesList$

12:end procedure

TABLE I: Algorithm complexity with respect to taskspace discretization
accuracy.

Function | Space Complexity | Time Complexity
---|---|---
|  | (runtime)
Motion Restriction Map Generation | $O(n^{2})$ | N/A
IEVC circleMap | $O(n)$ | N/A
IEVC findIntersec | $O(n)$ |  $O(n)$
IEVC Choose candidate | $O(n)$ |  $O(n)$
IEVC overall | $O(n^{2})$ |  $O(n)$
Admittance Virtual Dynamics | $O(1)$ |  $O(1)$
Spring Force Map Generation | $O(n^{2})$ | N/A
Impedance Controller | $O(1)$ |  $O(1)$
Adding Trajectories | $0$ |  $0$
Adding Permitted Areas | $0$ |  $0$
Adding Prohibited Areas | $0$ |  $0$
Proposed method overall | $O(n^{2})$ |  $O(n)$

###  V-B Experimental Validation of Robot-Guided Trajectory Mode

One of the primary functionality of rehabilitation robot revolves around
trajectory tracking. Employing a non-backdrivable end-effector allows us to
strictly follow the desired trajectory without being affected by external
forces in the Robot-guided Trajectory Mode. Fig. 11 shows the trajectory
following test result of the Robot-guided Trajectory Mode. One healthy subject
executed robot-guided trajectory following mode on two function-based and two
hand-drawn trajectories, both the desired end-effector positions and measured
end-effector positions are recorded and plotted. The error is calculated by
measuring the closest distance to permitted area for each recorded end-
effector position. The average Mean Absolute Error (MAE) of four trials
between the intended and recorded end-effector positions stands at $0.012mm$.

Figure 11: Desired and measured end-effector position and error analysis in
Robot-guided Trajectory Mode. One healthy subject operate Robot-guided
Trajectory Mode on two function-based and two hand-drawn trajectories, the
desired end-effector positions and measured end-effector positions are
recorded and plotted on figures. The error is calculated by measuring the
closest distance to permitted area for each recorded end-effector position if
the end-effector is outside the permitted area. (A) Infinite shaped trajectory
calculated using equation: $x^{4}-x^{2}+y^{2}=0$. The Mean Absolute Error
(MAE) between desired and measured is $0.00823mm$. (B) Circle shaped
trajectory calculated using equation: $x^{2}+y^{2}-25^{2}=0$. The MAE between
desired and measured is $0.023mm$. (C) Hand drawn circular trajectory. The MAE
between desired and measured is $0.00878mm$. (D) hand drawn line trajectory.
The MAE between desired and measured is $0.00763mm$.

###  V-C Experimental Validation of Free Mode

The Free Mode has two primary functionalities. First, it incorporates an
Admittance Virtual Dynamics control block, which emulates the non-backdrivable
end-effector as a free mass in the real world. Second, it enables free moving
with the ROM restriction. Two experiments are performed to verify these two
functionalities accordingly.

The performance of the Admittance Virtual Dynamics simulation is the key for
achieving smooth and natural moving end-effector in both Free Mode and Human-
guided Trajectory Mode. Fig. 12 (A) and (B) depict six trials of circular
motion performed using Free Mode by a healthy subject, simulating objects with
masses of 5, 10, 15, 20, 25, and 30 kilograms, moving freely on a plane with
no motion restriction, bearing with a friction coefficient of 0.02. The user,
a healthy subject, is instructed to follow an approximately circular
trajectory. In Fig. 12 (C), the desired and measured velocities of the end-
effector, simulating an object with a mass of 30 kilograms, are demonstrated.
The overall outcomes are summarized in Tab. II. The results indicate that the
Admittance Virtual Dynamics block can accurately simulate objects with masses
of 10 kilograms to 30 kilograms. However, when simulating objects with 5
kilograms or lower masses, the end-effector experiences larger velocity error
due to motor acceleration limit.

Figure 12: Admittance Virtual Dynamics is used allowing six objects with
different mass moving freely on taskspace with a friction coefficient of
$0.02$. The robot is set in Free Mode, a healthy subject is asked to try their
best to follow a circular trajectory. (A) End-effector circular trajectory.
(B) The force measured on end-effector when moving in a circular trajectory
with different simulated object mass. (C) The desired and measured velocity of
admittance control when moving in a circular trajectory with 30kg simulated
object mass. TABLE II: Performance of admittance control simulating object
with six different mass moving in circular trajectory under free mode.

Mass | 5kg | 10kg | 15kg | 20kg | 25kg | 30kg
---|---|---|---|---|---|---
Average measured end-effector force (N) | 2.08 | 3.98 | 6.04 | 8.08 | 9.87 | 11.36
MAE of x-axis desired and measured velocity (mm/s) | 2.45 | 0.75 | 0.41 | 0.46 | 0.37 | 0.35
MAE of y-axis desired and measured velocity (mm/s) | 6.66 | 1 | 0.88 | 0.68 | 0.73 | 0.56

The range of motion (ROM) is defined as the area bounded by a closed
trajectory traversed by the end-effector. The ROM Motion Restriction Map is
generated by filling all triangles constructed by the starting point and two
consecutive positions of the end-effector. Fig. 13 (A) and (B) demonstrate the
generation of a Motion Restriction Map. The trajectory recorded in (A) is used
to generate the Motion Restriction Map in (B). Additionally, Fig. 13 (C) and
(D) provide an illustration of an experiment using the Free Mode with Motion
Restriction Map generated in (B). In Fig. 13 (C), the end-effector trajectory
is shown, this experiment contains both movement inside the permitted area and
movement interacting with the area boundary. The end-effector can move freely
inside the permitted area and interact with a a hard, smooth, wall-like
boundary. Fig. 13 (D) highlights instances at points A, B, and C where
dedicated forces are applied trying to exceed the ROM restriction, yet the
end-effector remains within the ROM.

Figure 13: Range of motion generation and evaluation in Free Mode. (A) End-
effector trajectory used for range of motion generation. The end-effector
trajectory colored in blue demonstrates the recorded trajectory during ROM
generation. $S$ is the starting point. $A$ and $B$ are end-effector positions
recorded in sequence. The Motion Restriction Map is generated by drawing a
triangle between the starting point $S$ and the consecutive end-effector
position. (B) The Motion Restriction Map generated by the given end-effector
trajectory. The permitted areas are marked gray. (C) Random motion within
permitted area in Motion Restriction Map. $S$ is the starting point. $F$ is
the finishing point. $A$, $B$, and $C$ are locations where the user trying to
exceed the ROM limitation. (D) Force measured on the end-effector from motion
in (C). Box $A$, $B$, and $C$ are corresponding to point $A$, $B$, and $C$ in
(C).

###  V-D Experimental Validation of Human-guided Trajectory Modes

The Human-guided Trajectory Mode comprises two sub-modes: Human-guided
Trajectory Mode with hard boundary and Human-guided Trajectory Mode with soft
boundary. In Human-guided Trajectory Mode with hard boundary, the user can
move the end-effector along a trajectory with a smooth hard boundary, sharing
the same control method as the Free Mode. In Human-guided Trajectory Mode with
soft boundary, the user can move the end-effector along a trajectory with a
soft (impedance force) boundary, which will provide assistance force pulling
the end-effector back towards the trajectory when the position deviate from
the trajectory. Two key functionalities of the Human-guided Modes are
highlighted. The first functionality involves the motion restriction
algorithms applied to the trajectory to ensure the user can only move the end-
effector along the designed trajectory. The second functionality entails
impedance control, creating a soft boundary on the trajectory, simulating a
impedance spring damper force towards trajectory. Two experiments are
conducted to verify the key functionalities of the Human-guided Mode.

The first experiment aims to validate the performance of the IEVC on motion
restrictd control. A healthy subject is asked to move the end-effector and
complete one circular motion for each trial. During each trial, a Motion
Restriction Map which only allow the end-effector to move on a thin trajectory
is loaded to the Motion Restriction Controller, and a certain level of random
noise is injected on the load cell during motion to simulate undesired force
which can possibly affect the end-effector motion. Fig. 14 depicts a total of
six trials of human-guided trajectory following on two different trajectory
shapes under three different levels of random force injected into the end-
effector as noise. The result shows that in all trials, the recorded
trajectory almost completely overlaps with the Motion Restriction Map,
indicating that the proposed control method effectively restricts the end-
effector motion on the trajectory. Tab. III presents the quantitative MAE of
each trial. The error is calculated by measuring the closest distance to the
permitted area for each recorded end-effector position if the end-effector is
outside the permitted area. Interestingly, the error decreases under higher
noise levels. This is because the error of the proposed control algorithm
depends only on the moving speed and the trajectory. A large injection noise
makes it difficult for the subject to move the end-effector, thus reducing the
error. The results of this experiment demonstrate that the IEVC algorithm can
effectively restrict the end-effector motion within any permitted area, making
it an ideal choice for the motion restriction controller.

Figure 14: Experiment using Human-guided Trajectory Mode with hard boundary
and random noise injected. (A) End-effector moving on a circular trajectory
Motion Restriction Map. (B) Three level of random force are injected to the
end-effector force sensor as noise, results show that the IEVC is robust
against noisy end-effector input forces. (C) End-effecotr following moving on
a hand drawn trajectory Motion Restriction Map. (D) Three level of random
force are injected to the end-effector force sensor as noise, results show
that the IEVC is robust against noisy end-effector input forces. TABLE III:
Human-guided Trajectory Mode with hard boundary and random noise injected.

Trajectory Type | Circular | Circular | Circular | Hand-drawn | Hand-drawn | Hand-drawn
---|---|---|---|---|---|---
Noise magnitude | 0N | 3.8N | 7.7N | 0N | 3.8N | 7.7N
MAE($mm$) | 0.067 | 0.061 | 0.032 | 0.134 | 0.115 | 0.113

The second experiment involves free moving inside an impedance force zone with
radius of 14 $cm$. The Spring Force Map is generated using proposed method
with a special Motion Restriction Map that has permitted area only at the
center location of the taskspace. Fig. 15 (A) shows the derived impedance
spring force vector field, every permitted location has an impedance spring
force pointing towards the center with a magnitude proportional to the
distance from the center. In Fig. 15 (B), one subject is asked to move and
hold the end-effector at different locations in the impedance force zone. When
the end-effector is at zero acceleration (force equilibrium), the distance
between its current position and the center, as well as the current applied
force on the end-effector, are recorded and plotted in Fig. 15 (B). The result
shows that the characteristic curve of simulated spring area nicely aligned
with the characteristic curve of an ideal spring, which concludes that the
proposed impedance control method is effective.

Figure 15: Impedance force zone characteristic experiment. (A) The derived
impedance spring force vector field. Every permitted location on the map has a
impedance spring force pointing towards the center with a magnitude
proportional to the distance from the center. (B) One subject is asked to move
and hold the end-effector at different locations in the impedance force zone.
When the end-effector is at zero acceleration (force equilibrium), the
distance between its current position and the center, as well as the current
applied force on the end-effector, are recorded and plotted.

###  V-E Compare To Previous Researchers

Most of previous works have the path following functionality but do not have
quantitative results. Therefore we perform comparison qualitatively. Tab. IV
shows the comparison between our robot and previous researcher’s. The Robot-
guided path following (impedance) is a trajectory following function we
implemented but did not discuss in previous chapters. This function use a
virtual leading point that automatically marching forward on the trajectory
and perform a impedance control to the end-effector which use the virtual
leading point as the target. This function serve as the major functionality of
previous works and can be easily accomplished by our robot by combining the
Robot-guided Trajectory Mode and the Admittance Virtual Dynamics.

The proposed control method is the pioneering method that facilitates area
restricted free moving and impedance-boundary free moving. Additionally, we
are the first to deliver quantitative results, establishing a benchmark for
future research to reference and compare.

TABLE IV: Rehabilitation Device Comparison.

Functions | Robot-guided path | Robot-Guided path | Trajectory Restricted | Area Restricted | Impedance Boundary
---|---|---|---|---|---
| following (impedance) | following (hard) | Free Moving | Free Moving | Free Moving
HIT Manus[4] | Yes | No | No | No | No
Physiobot[6] | Yes | No | No | No | No
H-Man[17] | Yes | No | Yes | No | No
GARD (ours) | Yes | Yes | Yes | Yes |  Yes

##  VI CONCLUSION

This study introduces a novel upper limb rehabilitation device, focusing on
its design and control mechanisms. The device utilizes ball screws for linear
actuation along the x and y axis, ensuring a simple structure and enhanced
durability. Its non-backdrivable configuration enables the separation of
simulated and robot dynamics, facilitating the implementation of controllers.

Three novel control algorithms are proposed. First, the Implicit Euler
velocity control algorithm (IEVC) is highlighted for its state-of-the-art
accuracy, stability, efficiency and generalizability in solving motion
restriction control problem. It allows for trajectory and range of motion
adjustments without analytical constraints and with zero cost on additional
obstacles or permitted area. Moreover, the IEVC algorithm can be adapted to
any robot supporting end-effector velocity control. Second, the Admittance
Virtual Dynamics simulation algorithm achieves smooth and natural human-guided
motion of the non-backdrivable end-effector by simulating the motion of a
virtual mass and applying this simulated motion to the end-effector. This
algorithm operates with a time complexity of $O(1)$. Third, the study
introduces a generalized impedance force calculation algorithm that allows
impedance control on any trajectory or area boundary and operates with a
runtime time complexity of $O(1)$.

The integration of the device and control algorithms results in an upper limb
rehabilitation device with three distinct operation modes: Robot-guided
Trajectory Mode, Free Mode, and Human-guided Trajectory Mode. These modes
support stroke patients through various stages of recovery. Compared to state-
of-the-art devices, the proposed device offers enhanced functionality and this
paper establishes a detailed performance baseline for future research
endeavors.

## References

  * [1] S. S. Virani, A. Alonso, H. J. Aparicio, E. J. Benjamin, M. S. Bittencourt, C. W. Callaway, A. P. Carson, A. M. Chamberlain, S. Cheng, F. N. Delling _et al._ , “Heart disease and stroke statistics-2021 update: a report from the american heart association.” 2021.
  * [2] G. Kwakkel, B. J. Kollen, J. van der Grond, and A. J. Prevo, “Probability of regaining dexterity in the flaccid upper limb: impact of severity of paresis and time since onset in acute stroke,” _Stroke_ , vol. 34, no. 9, pp. 2181–2186, 2003.
  * [3] “Inmotion arm for neurological rehabilitation.” [Online]. Available: https://bioniklabs.com/inmotion-arm/
  * [4] H. I. Krebs, M. Ferraro, S. P. Buerger, M. J. Newbery, A. Makiyama, M. Sandmann, D. Lynch, B. T. Volpe, and N. Hogan, “Rehabilitation robotics: pilot trial of a spatial extension for mit-manus,” _Journal of neuroengineering and rehabilitation_ , vol. 1, pp. 1–15, 2004.
  * [5] K. Chua, C. Kuah, C. Ng, L. Yam, A. Budhota, S. Contu, S. Kager, A. Hussain, L. Xiang, and D. Campolo, “Clinical and kinematic evaluation of the h-man arm robot for post-stroke upper limb rehabilitation: Preliminary findings of a randomised controlled trial,” _Annals of Physical and Rehabilitation Medicine_ , vol. 61, p. e95, 2018, 12th World Congress of the International Society of Physical and Rehabilitation Medicine. Paris. 8-12 July 2018. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S187706571830277X
  * [6] B. F. Villar, P. F. Viñas, J. P. Turiel, J. C. F. Marinero, and A. Gordaliza, “Influence on the user’s emotional state of the graphic complexity level in virtual therapies based on a robot-assisted neuro-rehabilitation platform,” _Computer Methods and Programs in Biomedicine_ , vol. 190, p. 105359, 2020.
  * [7] “Armmotus m2 upper limb rehabilitation robotics.” [Online]. Available: https://fourierintelligence.com/m2/
  * [8] W. H. Chang and Y.-H. Kim, “Robot-assisted therapy in stroke rehabilitation,” _Journal of stroke_ , vol. 15, no. 3, p. 174, 2013.
  * [9] T. Johansen, L. Sørensen, K. K. Kolskår, V. Strøm, and M. F. Wouda, “Effectiveness of robot-assisted arm exercise on arm and hand function in stroke survivors-a systematic review and meta-analysis,” _Journal of Rehabilitation and Assistive Technologies Engineering_ , vol. 10, p. 20556683231183639, 2023.
  * [10] E. C. Lu, R. Wang, R. Huq, D. Gardner, P. Karam, K. Zabjek, D. Hébert, J. Boger, and A. Mihailidis, “Development of a robotic device for upper limb stroke rehabilitation: A user-centered design approach,” _Paladyn, Journal of Behavioral Robotics_ , vol. 2, no. 4, pp. 176–184, 2011.
  * [11] I. Díaz, J. M. Catalan, F. J. Badesa, X. Justo, L. D. Lledo, A. Ugartemendia, J. J. Gil, J. Díez, and N. García-Aracil, “Development of a robotic device for post-stroke home tele-rehabilitation,” _Advances in Mechanical Engineering_ , vol. 10, no. 1, p. 1687814017752302, 2018.
  * [12] M. Gandolfi, N. Valè, E. K. Dimitrova, S. Mazzoleni, E. Battini, M. Filippetti, A. Picelli, A. Santamato, M. Gravina, L. Saltuari _et al._ , “Effectiveness of robot-assisted upper limb training on spasticity, function and muscle activity in chronic stroke patients treated with botulinum toxin: a randomized single-blinded controlled trial,” _Frontiers in neurology_ , vol. 10, p. 41, 2019.
  * [13] Q. Miao, M. Zhang, Y. Wang, S. Q. Xie _et al._ , “Design and interaction control of a new bilateral upper-limb rehabilitation device,” _Journal of Healthcare Engineering_ , vol. 2017, 2017.
  * [14] N. Ouendi, R. Hubaut, S. Pelayo, F. Anceaux, and L. Wallard, “The rehabilitation robot: factors influencing its use, advantages and limitations in clinical rehabilitation,” _Disability and Rehabilitation: Assistive Technology_ , vol. 19, no. 3, pp. 546–557, 2024.
  * [15] A. Kerr, M. Smith, L. Reid, L. Baillie _et al._ , “Adoption of stroke rehabilitation technologies by the user community: qualitative study,” _JMIR rehabilitation and assistive technologies_ , vol. 5, no. 2, p. e9219, 2018.
  * [16] A. Hussain, W. Dailey, C. Hughes, P. Tommasino, A. Budhota, W. K. C. Gamage, E. Burdet, and D. Campolo, “Preliminary feasibility study of the h-man planar robot for quantitative motor assessment,” in _2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)_. IEEE, 2015, pp. 6167–6172.
  * [17] K. Maqsood, J. Luo, C. Yang, Q. Ren, and Y. Li, “Iterative learning-based path control for robot-assisted upper-limb rehabilitation,” _Neural Computing and Applications_ , vol. 35, no. 32, pp. 23 329–23 341, 2023.
  * [18] M. Maier, B. R. Ballester, and P. F. Verschure, “Principles of neurorehabilitation after stroke based on motor learning and brain plasticity mechanisms,” _Frontiers in systems neuroscience_ , vol. 13, p. 74, 2019.
  * [19] D. Wade, R. Langton-Hewer, V. A. Wood, C. Skilbeck, and H. Ismail, “The hemiplegic arm after stroke: measurement and recovery.” _Journal of Neurology, Neurosurgery & Psychiatry_, vol. 46, no. 6, pp. 521–524, 1983.
  * [20] I. Indrawati and M. Sajidin, “Active, passive, and active-assistive range of motion (rom) exercise to improve muscle strength in post stroke clients: A systematic review,” in _9th International Nursing Conference, Surabaya, Indonesia. https://www. scitepress. org/Papers/2018/83248/83248. pdf_ , 2018.
  * [21] J. Veldema and P. Jansen, “Resistance training in stroke rehabilitation: systematic review and meta-analysis,” _Clinical rehabilitation_ , vol. 34, no. 9, pp. 1173–1197, 2020.
  * [22] M. L. Turville, L. S. Cahill, T. A. Matyas, J. M. Blennerhassett, and L. M. Carey, “The effectiveness of somatosensory retraining for improving sensory function in the arm following stroke: a systematic review,” _Clinical rehabilitation_ , vol. 33, no. 5, pp. 834–846, 2019.
  * [23] T. Fujiki and K. Tahara, “Series admittance–impedance controller for more robust and stable extension of force control,” _ROBOMECH Journal_ , vol. 9, no. 1, p. 23, 2022.
  * [24] F. B. Hildebrand, _Introduction to numerical analysis_. Courier Corporation, 1987.