2.1. System Overall Description
The system presented in this paper relies on the use of passive ultra-high frequency (UHF) RFID technology. These RFID systems are composed of three elements: one or more tags, a reader, and a backend. The tags are small devices comprising a microchip for data storage and communication functionalities provision and an antenna. Passive tags are able to obtain the power needed to communicate from the electromagnetic waves emitted by a reader. The reader is a component that uses RF to read and write data of the tags. It emits RF signals through an antenna to query the tags, collects the responses and sends the data to a backend device. Finally, the backend is in charge of storing and processing the information received by the reader and controlling the reader’s operations.
We have used this architecture and its components to develop a rehabilitation system for the upper limb, that allows the identification of patient–object interactions and guides the patient toward the execution of physical exercises (
Figure 1).
In particular, the patient is asked to wear the reader on his/her arm, with its antenna positioned on the hand. The tags are attached to the objects or on target positions used during the rehabilitation therapy to uniquely identify them. The system intelligence, running on a PC, receives and elaborates the data from the reader and implements a graphical user interface (GUI) to guide the patient through the execution of the exercises. The therapy consists of the execution of functional exercises, reproducing ADLs (e.g., grasping and moving a glass, picking up a pen, taking a bottle). The exercises are composed of simple sequences of reaching, grasping, and moving tasks, involving the tagged objects and target positions, that the patient is instructed to accomplish in order to complete the exercise. The system prompts each task to be executed through the GUI, giving visual and vocal instructions to the patient, and monitors whether the task has been successfully executed. Upon each task completion, the next task to be executed in the sequence is automatically prompted by the GUI. The procedure goes on until the sequence of tasks composing the exercise is completed. To verify the correct execution of each task, the received signal strength indicator (RSSI) of the signal received from the tag, which identifies the object or the space landmark corresponding to the target to be reached, is elaborated, as described in [
19]. The elaboration of the RSSI allows for the identification of the contact between the patient’s hand and the target, thus indicating the completion of the task. During the execution of the tasks, the data collected by the reader are continuously recorded not only for the estimation of the task completion event but also for quantifying the execution performances as described in the following
Section 2.3.
The exercises to be accomplished by the patient are designed by the therapist. Indeed, the GUI has been developed to allow the design and implementation of custom exercises as sequences of tasks, using personal objects. Through this procedure, the therapist can associate a tag to the objects that best fit the needs of the user, making them recognizable by the system and, therefore, part of the system itself. Moreover, specific sequences can be created, with custom levels of difficulty.
To fully leverage the RFID technology in the implementation of the described rehabilitation system, the components constituting the RFID architecture (i.e., reader and antenna, tag, backend) were carefully chosen. The first chosen component is the reader. An RFID reader operating in UHF is needed, able to use bandwidth compliant with the European Union (EU) regulations. Then the communication parameters, that will be fully described in
Section 2.2, have to be fully settable to tune the reading operations according to the needs of our application. Moreover, the signal’s RSSI and phase have to be accessible for all the read tags. Finally, the size and the weight of the device have to be suitable to be mounted on the patient’s forearm, without interfering with the limb’s movement. The M6e-micro (ThingMagic, Woburn, MA, USA) was deemed fully compliant with the aforementioned requirements, allowing transmission in the EU bandwidth, customization of the transmission parameters, and presenting suitable physical properties (i.e., length 69 mm, width 43 mm, height 15 mm, weight 34 g).
The second element to be selected is the reader’s antenna. Since the antenna has to be mounted on the patient’s hand during the execution of the exercises, its shape factor and wearability are key drivers in the choice of the component. For this reason, a flexible dipole antenna (ISM Dipole flexible antenna, Molex, Lisle, IL, USA) with small dimensions (length 87.4 mm, width 12.4 mm, height 0.25 mm, weight 0.745 g) was selected. The antenna has a linear polarization and 1.2 dBi gain, where dBi is the measure of the gain with respect to an isotropic antenna.
Then, the tags were selected. The most suitable were deemed to be the UH101 (Lab-ID, Castel Maggiore, Italy), mounting a UCode 8 chip (NXP, Eindhoven, The Netherlands) and printed on wet inlay to allow an easy application to the objects.
Finally, the backend, including the system intelligence, is represented by software running on a PC, to which the reader is connected via USB. The software implements the GUI that has been previously described, manages all the communications with the reader and processes the acquired data
Since the system implies that the patient wears the reader on his/her arm and the antenna on his/her hand to correctly determine the patient-object interactions, the comfort in the use of the developed hardware needs to be assessed. This aspect is of paramount importance to guarantee the full transferability of the concept to real use in clinical practice, as poor usability results in a low adherence and actual use of the system [
20]. To this purpose, the performance of the developed system in terms of usability and acceptability was evaluated. The system was presented to a sample of 10 post-stroke patients. They were asked to wear and use the system to perform three rehabilitation sessions of 30 min each. At the end of the last session, the patients evaluated the usability of the system utilizing the System Usability Scale (SUS), consisting of ten questions on a 5-point Likert scale ranging between 0 (no satisfaction) and 100 (extreme satisfaction) [
21].
2.2. Communication Protocol Adaptation
The protocol used to regulate the communication between the reader and the tag is the EPC-Global Class-1 Generation-2 [
22]. This protocol has been adopted as an international standard by ISO/IEC and determines the procedures that have to be implemented for the communication between reader and tags in the UHF RFID systems. The basic operational steps envisaged by the protocol are shown in
Figure 2.
The communication between the reader and the tag is performed during an inventory round. During the inventory, the reader activates all the tags available in its reading range, or part of them, communicates the parameters they have to use to respond, and receives the tags’ responses. Multiple inventories may be performed consecutively to have multiple readings of the tags. The first operation performed by the reader in the inventory round is sending a “Select” command. This command is used to select the population of tags that will be allowed to respond to the reader during the inventory. In the “Select” command, the parameters that each tag has to match to be allowed to respond are sent, and they may be represented by the Electronic Product Code (EPC), or part of it, as well as a piece of custom information in the tag’s memory content. Only the tags that match the selection criteria will be active during the subsequent phases. The next step is a “Query” command. The “Query” command determines the parameters to be used during the inventory round for the tag to reader communications. Such parameters include:
Backscatter link frequency (BLF): the frequency of the subcarrier wave for data codification in the response of the tag to the reader.
Type-A reference interval (Tari): the temporal length of a “0” symbol in the tag’s response.
Data encoding: logic for “0” and “1” symbol codification in the tag response. Two different codifications may be used, the FM0 baseband and the Miller modulation. While FM0 encoding uses a baseband phase inversion between each symbol and an additional phase inversion in the middle of the symbol for “0” encoding, the Miller modulation uses multiple phase inversion cycles to encode the symbols. Depending on the number of cycles used, the codification may be Miller-2, Miller-4 or Miller-8.
“Q” value: as multiple tags may be allowed to respond to an inventory round, the expected response time is divided into multiple slots, and each tag is allowed to send its response in only one of them, by choosing a random number between 0 and the maximum number of slots, where the maximum number of slots is equal to 2Q.
At each iteration of the query, the slot counter of the tags decreases by one unit, and if it is equal to 0, the tag will respond to the query. In this case, the tag generates a 16-bit random number (RN16) and sends it to the reader. If no collision occurs (i.e., just one tag sends the RN16), the reader receives the RN16 and sends an “Acknowledgment” message to the responding tag, containing the same random number. If the tag receives the “Acknowledgment” and the contained number matches the RN16, the tag sends its EPC, a cyclic-redundancy check (CRC) and a protocol-control (PC). The EPC is the unique identifier of the tag and represents the most important information communicated by the tag to the reader. If other operations are required by the reader, such as accessing specific memory bank to read or write data, a handle is also sent by the tag, and an “Access” command is issued by the reader. At the end of this process, a “Repetition” command is issued, and the tags in the following slot will respond. This cycle is repeated until the total number of slots has been consumed and, therefore, the inventory round has finished. Besides the communication parameters, the maximum time during which the reader is allowed to perform the inventories may also be set.
It is clear that the parameters used to control the communication protocol and the reading severely affect the performance of the system. Thus, the first step toward the optimization of the system has been the determination of the best combination of parameters, allowing the maximization of the detection frequency of a single tag while reducing the consumed power. The frequency control process is needed in order to be able to correctly analyze the arm movements during the execution of reaching tasks. On the other hand, the minimization of power consumption is important to reduce the heating of the device and, therefore, to avoid discomfort and burning during the device usage.
To increase the tag detection rate, the first parameter to consider is the “Q” value. Indeed, if the number of slots is too high in relation to the number of tags, the time required by the reader to perform an inventory could be oversized. As in each task to be accomplished during the execution of the exercises only one tag is used to identify the target, the optimal number of slots would be one. On the other hand, the other tags present in the environment that identify the subsequent targets need to be considered to avoid collisions and loss of responses. To optimize the reading, we used the “Select” command to allow only the tag identifying the current target to respond. Since the tag’s EPC is known by the system and it is programmed to be unique among the tags used to perform the exercises, the “Select” command is programmed to activate only the tags with an EPC corresponding to the desired one. Using this strategy, the response of only one tag is assured for each inventory cycle, and the “Q” value can be set to 0 to have only one slot.
In order to choose the best combination of transmission parameters (i.e., Tari, BLF, M value), experimental trials were conducted, placing the tag and the reader’s antenna at a distance of 50 cm one from the other. In order to reproduce the working conditions (i.e., antenna worn on patient’s hand), a hand-shaped container filled with 150 mL of a solution of water and NaCl (9 g/L) was placed in contact with the antenna, between the antenna and the tag. Any possible combination of parameters was applied and, for each combination, 100 inventory rounds were performed using a +30 dBm transmission power. The procedure was repeated using reading times from 4 ms (minimum settable time) up to 10 ms. The percentage of correct readings for each combination of parameters and activation time was computed.
During the trials, no readings were recorded using a BLF equal to 320 and 640 kHz; therefore, only the results obtained using a BLF equal to 250 kHz are reported for each possible Tari value in
Table 1,
Table 2 and
Table 3.
The results show that the encoding typology represents the parameter with the main impact on the reading performance. Indeed, using FM0 encoding, it was not possible to read the tag for all the possible configurations of BLF and Tari. Using Miller encoding improves the capability to read the tag, and, in particular, using Miller-4 and Miller-8 encoding results in a reading rate of 100% for all the activation times imposed and available parameter combinations. The application of Miller encoding forces the use of a BLF equal to 250 kHz, as higher frequencies only support the use of FM0 encoding. As all the available Tari values in combination with Miller-4 and Miller-8 encoding show the same reading rate, the actual reading frequency was investigated during continuous reading cycles. To this aim, the same setup used in the previous experiment was used. A continuous reading was set, with 4 ms of active transmission and 26 ms of inactivity. All the combinations of the Tari values with Miller-4 and Miller-8 encoding were tested. The tag detection frequency was computed and the results are reported in
Table 4.
The results highlight that the use of Miller-8 encoding shows lower detection frequencies for all the Tari values, and that higher Tari values, on the other hand, reduce the detection frequency. As expected, shorter Tari and Miller-4 require lower reading times, while increasing the Tari and Miller values required an actual reading time longer than the nominal one. In order to minimize the reading time, the following parameters were selected: Miller-4 encoding, 6.25 µs Tari, 250 kHz BLF.
The subsequent parameter to be set is the duty cycle, intended as the percentage of the active transmission time with respect to the sum of active transmission and inactivity time. The duty cycle determines the acquisition frequency and impacts the power consumption and heating of the reader. In order to choose the best combination of active and inactive time, the desired acquisition frequency was estimated. The wavelength at the used frequency (867.5 MHz) is equal to 0.35 m. Since the phase signal provided by the reader ranges between 0° and 180°, and at least two points need to be sampled for each phase period, a sample needs to be acquired every 0.087 m of distance change. As the peak velocity during reaching tasks in healthy subjects is normally around 0.7 m/s [
23], the maximum time distance between two samples was 0.12 s, corresponding to 8.3 Hz. In order to account for higher velocities, and improve the signal quality, a minimum frequency of 30 Hz was chosen. To obtain the desired frequency, the minimum reading time of 4 ms was set in combination with 26 ms of inactive time, corresponding to a duty cycle of 13%. The time parameters set results in a 33 Hz frequency, to account for the tolerance in the hardware time settings, that could prolong the actual reading and inactive times.
2.3. Measures Extracted
The signal received by the reader is characterized by two parameters, besides the information on the tag identification: the RSSI and the phase (φ). The RSSI quantifies the power level of the signal received by the reader from a responding tag, and it is defined as [
24]:
where
λ is the wavelength,
D is the transmitter-receiver distance,
is the gain of the tag antenna,
is the gain of the reader antenna,
is the contribution of the
i-th multipath.
The received signal phase can be defined as [
25]:
where
mod() is the modulus function and
is the phase offset.
During the execution of the exercises, the RSSI and the phase are recorded alongside the timestamp relative to the received tag response. This information can be used to extract meaningful measures about the performance of each task composing the exercise.
A performance measure is the movement time of the hand. It was mentioned before that the task completion is automatically detected through the RSSI value, but the actual execution time cannot be inferred from the task completion timestamp. Indeed, the patient can start the movement after the task instruction has been delivered, with a delay that is not controllable, highlighting the need for a precise identification of the actual starting and stopping time of the hand movement. To this aim, we used the time variations of the RSSI and phase signals to identify the time points of the movement’s start and stop. Indeed, RSSI and phase are characterized by significant variations during relative movement between the reader’s antenna and the tag. These variations are due to the changes in the relative distance between the two devices, which determines both the RSSI and phase value, as shown in (1) and (2). Nonetheless, smaller signal oscillations are present even if the relative distance does not change, due to noise. The proposed approach, therefore, is aimed at distinguishing the noise signal oscillation from the movement-related variations.
As shown in (2), the phase signal is a periodic signal ranging from 0° to 180°. This aspect highly impacts the phase variation calculation as a small oscillation around 0° and 180° may result in large apparent variations (e.g., a decrease of −10° from 5°, that is, 5° − 10° = −5°, would result in a difference of 170°). To solve this problem, a signal unwrapping process was applied, as described in [
26], to eliminate the signal periodicity as shown in
Figure 3.
The variation range has been then computed for each time point both for the RSSI and phase according to the following equations:
where
Rpi and
Rri are the range of the phase signal and of the RSSI signal, respectively, on the
i-th sample,
is the subset of the phase signal samples from the first to the
i-th, and
is the subset of the RSSI signal samples from the first to the
i-th.
The movement start time is identified as the first sample where Rp is higher than 5° and Rr is higher than 1 dBm. The threshold for the phase and RSSI range was chosen as the maximum range value recorded during static trials (i.e., the antenna and the tag are not moving). The identification of the end of the movement was implemented by checking the signals variations during time intervals of 200 ms. The introduction of a time interval constraint is necessary to take into account the small variations produced by slow movements. Indeed, a variation under the threshold in a short time period may not be due to the absence of movement, but to a short distance covered. Thus, the range of phase and the range of RSSI were computed in 200 ms-long time intervals, and the movement end time was identified as the first point for which the phase range and the RSSI range remained lower than 5° and 1 dBm, respectively, for a time period of at least 200 ms.
To validate the approach described to determine the start and stop time of the movements, the results obtained with the analysis of RF signal were compared with force sensors. The validation tests involved a subject wearing the system, seated in front of a table where a reference position was placed in front of the subject, and a target (i.e., a position on the table or an object) was placed 40 cm away from the position. During the test, the subject had to perform four different types of reaching task, resembling the ones proposed during the execution of the rehabilitation exercises: reaching the target position starting from the reference position; reaching the reference position starting from the target position, reaching the target object starting from the reference position; reaching the reference position starting from the target object. The positions and the object were equipped with a tag, to be detectable by the system, and with a force sensor (FlexiForce A301, Tekscan, Boston, MA, USA). In this way, the force applied by the subject’s hand was obtained and, therefore, the contact with the position or the object was detected (
Figure 4). The force signal was acquired through a microcontroller (Arduino UNO, Arduino, Torino, Italy) with a sampling frequency of 100 Hz and transmitted via serial communication to a PC. Dedicated software was developed to acquire and synchronize the RF signal and the force sensors signals.
Each task was performed 5 times by each participant. A total number of 4 participants performed the tests. The start and stop time were extracted from the force signal. In this case, the starting time was considered as the first sample for which the force value was below 50% of the maximum value recorded during the trial by the force sensor placed in the starting position. The stopping time was counted as the first sample for which the force value was over 50% of the maximum value recorded during the trial by the force sensor placed in the final position. The start and stop times detected through the force sensors and the RF signal were compared by computing the time difference for each point between the two systems. A sample of the obtained results is shown in
Figure 5.
Besides the movement time, the distance covered by the patient’s hand during the execution of a task was computed by the system through the analysis of the received signal. For the computation of the distance covered by a moving antenna with respect to a fixed tag using the phase variations, a proprietary algorithm [
26] was applied. Indeed, from (1) and (2), it is evident that both the RSSI and the phase signals are dependent on the distance between the antenna and the tag. Nonetheless, the multipath effect affecting the RSSI [
27] and the periodicity of the phase signal, do not allow a fine computation of the antenna-tag distance and, therefore, these relations cannot be used for the estimation of the distance covered. Our approach leverages on the changes in the phase signal. Considering the unwrapped phase signal described above, the variation in the distance between the tag and the antenna occurred between two subsequent samples acquired by the reader during the movement can be estimated by looking at the change in the signal phase through the following equation:
where
is the distance covered in the
i-th time interval,
c is the speed of light and
f is the wave’s frequency.
By summing up all the distance differences during the task execution, the total covered distance can be computed as:
where
L(t) is the distance covered at the time
t. Using the phase differences to evaluate the changes in the tag-antenna distance in short time intervals, has the advantage of preventing the accumulation of the phase error, as the distance variation computed at each time interval only depends on the phase variation occurred between two subsequent samples. Moreover, as the acquisition frequency is around 30 Hz, the time difference between each sample and the next one is ~33 ms. This aspect allows a computation on short time intervals, to properly take into account fast variations not detectable on longer time spans.
Moreover, the velocity value can be directly computed for each time interval from the distance change values according to the following equation:
where
is the velocity in the
i-th time interval,
and
are the time of the
i-th and the
i+1-th samples respectively.
The described approach was compared against an optoelectronic system, showing reliable results during rectilinear movement of the antenna toward the tag, as detailed in [
26].