# Intelligent HCI Device for Assistive Technology

Rui Azevedo Antunes, Luís Brito Palma, Hermínio Duarte-Ramos, Paulo Gil

► To cite this version:

Rui Azevedo Antunes, Luís Brito Palma, Hermínio Duarte-Ramos, Paulo Gil. Intelligent HCI Device for Assistive Technology. 10th Doctoral Conference on Computing, Electrical and Industrial Systems (DoCEIS), May 2019, Costa de Caparica, Portugal. pp.157-168, 10.1007/978-3-030-17771-3_13 . hal-02295232

HAL Id: hal-02295232

https://inria.hal.science/hal-02295232

Submitted on 24 Sep 2019

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
Intelligent HCI Device for Assistive Technology

Rui Azevedo Antunes<sup>2,3</sup>, Luís B. Palma<sup>1,3</sup>, Hermínio Duarte-Ramos<sup>1</sup> and Paulo
Gil<sup>1,3</sup>

<sup>1</sup> Faculdade de Ciências e Tecnologia, Universidade Nova de Lisboa
2829-516 Caparica, Portugal

lbp@fct.unl.pt, hduarteramos@gmail.com, psg@fct.unl.pt

<sup>2</sup> Escola Superior de Tecnologia de Setúbal, Instituto Politécnico de Setúbal
2914-761 Setúbal, Portugal

rui.antunes@estsetubal.ips.pt

<sup>3</sup> Centre of Technology and Systems (CTS-Uninova)

**Abstract.** This paper presents a new intelligent Human-Computer Interaction (HCI) device for Assistive Technology. The developed device can be used as a mouse or as a gamepad, moving a part of the human body, typically the head, for hands-free computer access tasks. The state-of-the-art hardware uses an Advanced RISC Machine 32-bit microcontroller and a microelectromechanical 9-degree motion sensor, including a System-in-Package (SiP) accelerometer, gyroscope and magnetometer. The hardware/software device with a human-in-the-loop controller can be identified as a Cyber-Physical intelligent system to be incorporated in the “Industry 4.0” trend. Experimental results reveal that the embedded controller of the HID device allows the improvement of the user’s performance, decreasing the effort and the execution time of the hands-free computer tasks.

**Keywords:** Human-in-the-Loop (HuIL) Control, Assistive Technology (AT), Microelectromechanical Systems (MEMS), Microcontrollers.

# 1 Introduction

The main goal of this work is to test an intelligent Cyber-Physical System (CPS) device, developed in [1], with several microelectromechanical sensors, to allow hands-free computer access for persons with disabilities. The simplified architecture of the designed Human Interface Device (HID) is presented in Fig. 1.
<figure><img src="image_2.png" /><figcaption>**Fig. 1.** HID module placed in the head (**left**). Simplified architecture of the Human-Computer Interface device in USB connection mode (**right**).</figcaption></figure>

The human operator performs head movements, with the HID module, to use the computer, replacing the traditional mouse, keyboard and gamepad/jCasual. The HID module dimensions are only: 42 × 21 × 9 mm.

State-of-the-art hands-free human-computer assistive devices nowadays in the market are the Quha Zono gyroscopic mouse [2] and the GlassOuse assistive device [3]. There are also other non-gyroscopic commercial solutions, not so accurate, since are based on vision, eye-gaze and speech recognition technologies, such as the Tobii Dynavox PCEye Plus [4] and the AbleNet TrackerPro [5] assistive devices. Recent advances in brain-computer interaction and human-computer accuracy, using microelectrodes implanted into the brain [6], have the disadvantages and potential risks of being intrusive experimental techniques. The assistive devices mentioned are mainly based on open-loop electronic systems.

The proposed approach in this work is focused on a closed-loop assistance scheme with error feedback, to assist the operator and reduce human effort. It is based in the Human Adaptive Mechatronics (HAM) concept [7], [11], and consists in adding an embedded electronic assistance-controller, tuned from a simplified mathematical model that represents the main characteristics and handicaps of each individual user with disabilities. Hence, the main research question of the PhD thesis [1], in which the proposed prototype is described in detail, is: “*Can performance of a system integrating the human being be improved, if an assistance-controller is used, that takes into account the behaviour and constraints of the human operator and the machine?*”, and the research hypothesis, related to this part of the PhD work, is: “*If following (Point-To-Point) tasks are performed, then linear modelling is a feasible method for the design of assistance control systems*”.

The new HID module, with an “intention” feedback PID controller, tuned by a nature-inspired metaheuristic algorithm, is able to sense the head/body movements. The developed hardware/software allows a human user to perform, hands-free, the computer’s cursor movements, the gamepad joystick movements, the virtual keyboard and the mouse/gamepad/jCasual buttons activation, the single click and double click mouse configurations, and also the “drag and drop” and “scroll” functionalities.

The electronic device incorporates the 32-bit ARM Cortex-M4 NXP-Freescale MK20DX256VLH7 microcontroller and the 9-degree MEMS motion sensor TDK InvenSense MPU-9250 [8], [9]. The field of application for the developed device
includes the assistance for several motor and sensorial impairments, resulting from tetraplegia, quadriplegia, multiple sclerosis, cerebral palsy, amyotrophic lateral sclerosis, cranioencephalic and vertebral-medullary injuries, muscular dystrophy, the carpal tunnel or the Rett syndrome, where a human user has reduced or no control of his hands, and is commonly unable to use a traditional Human-Computer Interface.

## 2 Relationship to Industrial and Service Systems

The fourth Industrial Revolution results nowadays from the integration of innovative production systems and information technologies. The concept of Additive Manufacturing (AM) [10] is considered the new paradigm of the “Industry 4.0” and the “Economy 4.0” trends.

The developed hardware/software can be considered as an intelligent Cyber-Physical System (CPS) with a dedicated human-in-the-loop assistance architecture, based on the human operator “intention”, providing several applications for Assistive Technology and allowing the increase of the user’s autonomy and productivity in computer access for service, industrial systems, active learning and entertainment, complying the Web Content Accessibility Guidelines (WCAG). The aim of this work is to make a valid contribution, adopting CPS, to a more inclusive society.

## 3 Assistance-Controller Project

According to previous works [11], one of the simplest human controller model is a Proportional and Derivative (PD) controller, defined as

$$H(s) = \frac{K_{dh}s + K_{ph}}{T_{N}s + 1} e^{-\tau s}. \quad (1)$$

where $K_{dh}$ and $K_{ph}$ are the derivative and the proportional gains of the human brain controller, $T_N$ is a neuromuscular time constant and $\tau$ is a reaction time-delay. These parameters change according to human status and the operation. The experiments conducted by Suzuki et al. [11] revealed that the overcoming progress from learning could be considered a slow and time-variant process. Hence, the time-constant $\tau$ can be discarded for identification purposes, and the simplified human model becomes

$$H(s) \approx \frac{K_{dh}s + K_{ph}}{T_{N}s + 1}. \quad (2)$$

The human controller $H(s)$ transfer function (2), can be rewritten in the form

$$H(s) \approx K_1 \frac{s+a_h}{s+b_h}, \quad a_h, b_h, K_1 \in \mathbb{R}^+. \quad (3)$$
$s = -a_h$ and $s = -b_h$ are the zero and the pole of $H(s)$, and $K_1$ a system constant. The proportional gain $K_{ph}$ and the derivative gain $K_{dh}$ of the human PD controller are defined by

$$K_{ph} = \frac{a_h K_1}{b_h}. \qquad (4)$$

$$K_{dh} = \frac{K_1}{b_h}. \qquad (5)$$

The human neuromuscular time-constant $T_N$ is obtained by

$$T_N = \frac{1}{b_h}. \qquad (6)$$

With the $H(s)$ (3) static gain $K_0$ computed by

$$K_0 = \frac{a_h K_1}{b_h} = K_{ph}. \qquad (7)$$

A simplified block diagram of the human-in-the-loop (HuIL) system, formed by the computer access hardware that features the cursor movements ($m_0/s$), for each axis, and the $H(s)$ human user model is presented in Fig. 2, with the Operating System (OS) Enhanced Pointer Precision (EPP) option disabled.

<figure><img src="image_3.png" /><figcaption>Fig. 2. Block diagram of the Human-Computer Interface (HCI), in “mouse” mode.</figcaption></figure>

The transfer function $G_{x,y}(s)$ of the resulting closed-loop system, that aggregates the human operator and the HID device, is

$$G_{x,y}(s) = \frac{Y_{x,y}(s)}{V_{x,y}(s)} = \frac{\frac{m_0}{s}H(s)}{1 + \frac{m_0}{s}H(s)}. \qquad (8)$$

Resulting, from (3) and (8)

$$G_{x,y}(s) = \frac{m_0 K_1 (s + a_h)}{s^2 + (m_0 K_1 + b_h)s + m_0 K_1 a_h}. \qquad (9)$$

Which leads, for each axis, to a second-order stable linear system, formed by two negative real poles and a zero, admitting the condition $2m_0K_1(2a_h - b_h) \le b_h^2 + (m_0K_1)^2$.
The resulting $G_{x,y}(s)$ system can be identified, for each axis, from an Auto-Regressive Linear Model with Exogenous Input (ARX)<fnref n="1" /> discrete time structure, with $na = 2$, $nb = 2$ and $nd = 1$, neglecting the delay, which corresponds to

$$G_{x,y}(s) = \frac{1+T_z s}{(1+T_{p_1} s)(1+T_{p_2} s)} \quad (10)$$

With

$$a_h = \frac{1}{T_z} \quad (11)$$

$$b_h = \frac{T_{p_1} + T_{p_2} - T_z}{T_{p_1} T_{p_2}} \quad (12)$$

$$K_1 = \frac{T_z}{m_0 T_{p_1} T_{p_2}} \quad (13)$$

Resulting, from (3), (11), (12) and (13)

$$H_{x,y}(s) = \frac{T_z}{m_0 T_{p_1} T_{p_2}} \left( \frac{s + \frac{1}{T_z}}{\frac{T_{p_1} + T_{p_2} - T_z}{T_{p_1} T_{p_2}} + s} \right) \quad (14)$$

The parameter $m_0 = 0.1458$ of (8) is experimentally obtained, being proportional to the computer's cursor speed, moving in one screen direction (X) with the electronic HID device configured for mouse operating mode. The $m_0$ constant corresponds to the inverse of the time duration for the cursor to reach the half screen distance using one axis (from normalized positions 1 to 0, or normalized positions -1 to 0). This value represents the effortless horizontal head rotation angle, affecting the proportional gain of the computer's cursor dynamics and the also the resulting closed-loop system transfer function $L_{HCR}$, obtained in (17). The cursor speed was settled to correspond to an (effortless) horizontal head rotation (yaw) of $\pm 10^\circ = \pm \pi/18$ rad, without EPP. It was experimentally verified that when $m_0$ is too high, it could lead to instability. Nevertheless, this effect could still be compensated, by adjusting directly from the software, the computer's mouse speed. On the other hand, if $m_0$ is too low, the Point-To-Point (PTP) time response increases, resulting in a worse performance.

The block diagram of the closed-loop computer access assistance system (Fig. 3), includes a Proportional-Integral-Derivative (PID) controller, tuned by the Firefly Algorithm (FA), described in section 3.1. The control architecture is based on a cascade control scheme, that uses the operator's cursor "intention". The PID controller $C_{PID}$

<footnote n="1">¹ The MATLAB *ident* command from the System Identification toolbox, provides a Graphical User Interface (GUI), allowing the identification of this type of ARX structure by Least Squares (LS), returning the $T_{p_1}$, $T_{p_2}$ and $T_z$ parameters of the equivalent closed-loop resulting model $G_{x,y}(s)$ (10), for each screen axis, that aggregates the operator dynamics and the HID device.</footnote>
with anti-windup is tuned by the nature-inspired optimization FA algorithm, which takes into account the estimated human model $H(s)$, an expert operator specification and a set of constraints.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Cascade control architecture, for each axis, of the hands-free computer access system.</figcaption></figure>

The transfer function $L_{HCR}(s)$ of the resulting closed-loop system, for each screen axis (X and Y), is obtained by

$$L_{HCR_{x,y}}(s) = \frac{Y_{x,y}(s)}{R_{x,y}(s)} = \frac{m_0 H(s) C_{PID}(s)}{s + (H(s) + 1)m_0 C_{PID}(s)}. \quad (15)$$

With

$$C_{PID}(s) = K_p \left( 1 + \frac{1}{T_i s} + T_d s \right). \quad (16)$$

From (14), (15) and (16), the resulting transfer function $L_{HCR}(s)$, for each axis, is obtained by

$$L_{HCR_{x,y}}(s) = \frac{\frac{K_p T_z}{T_{p1} T_{p2}} \left( \frac{s+\frac{1}{T_z}}{\frac{T_{p1}+T_{p2}-T_z}{T_{p1} T_{p2}}+s} \right) \left( 1+\frac{1}{T_i s}+T_d s \right)}{s+K_p \left( \frac{T_z}{T_{p1} T_{p2}} \left( \frac{s+\frac{1}{T_z}}{\frac{T_{p1}+T_{p2}-T_z}{T_{p1} T_{p2}}+s} \right) +m_0 \right) \left( 1+\frac{1}{T_i s}+T_d s \right)}. \quad (17)$$

## 3.1 Controller Tuning with the Firefly Algorithm

The goal for the PID controller tuning is to find the values of $K_p$, $K_i$ and $K_d$ that minimize the specification for $L_{HCR}(s)$, given by

$$\min\{0.3|\text{oversh} - 10| + 0.5|\text{ris_time} - 3| + 0.2|\text{set_time} - \text{ris_time} - 2|\}$$

which characterize the step response of $L_{HCR}(s)$ with the (expert) operator A, without EPP. The variables *oversh*, *rise_time* and *set_time* stand respectively for percentage overshoot, rise time and settling time.
The gain constraints of the PID assistance-controller in the three-dimensional search space ($d = 3$) take into account that the proportional and the integral gains $K_p$ and $K_i$ are not greater than 0.5 and the derivative gain $K_d$ is less than 0.02, so that the step response of the human-computer control system does not become too fast (which could generate instability), and to allow to minimize the rise time and the settling time.

As the attractiveness $\beta$ of a given firefly in the search space is proportional to its luminous intensity, recognized in the environment by the adjacent fireflies, $\beta$ will be obtained by

$$ \beta = \beta_0 e^{-\gamma r^2}. \qquad (18) $$

With $\gamma$ representing the light absorption coefficient.

At distance $r = 0$, the attractiveness of the firefly is given by $\beta_0$. The Cartesian distance $r_{ij}$ in the $d$-space between two fireflies $i$ and $j$, located at $\mathbf{x}_i$ and $\mathbf{x}_j$, is defined by

$$ r_{ij} = \|\mathbf{x}_i - \mathbf{x}_j\|. \qquad (19) $$

That is

$$ r_{ij} = \sqrt{\sum_{k=1}^{d} (\mathbf{x}_{i,k} - \mathbf{x}_{j,k})^2}. \qquad (20) $$

When a given firefly $i$, at the search space location $\mathbf{x}_i$, is attracted to another brighter firefly $j$, its new $\mathbf{x}'_i$ position in the $d$-Euclidean space is computed, at iteration $iter$, by

$$ \mathbf{x}'_i = \mathbf{x}_i + \beta_0 e^{-\gamma r_{ij}^2} (\mathbf{x}_j - \mathbf{x}_i) + \alpha_0 \nu^{iter} \mathbf{z}_i. \qquad (21) $$

$\alpha_0 \in [0,1]$ is the randomization parameter, $\mathbf{z}_i$ is a $d$-dimensional array of random numbers with uniform distribution, and $\nu \in [0,1]$ is the mutation coefficient employed.

The Proportional-Integral-Derivative (PID) controller tuning method is described in the Algorithm 1 [12], [13], taking into account the light absorption $\beta_0 = 1.0$, the randomization parameter $\alpha = 0.2$ and the mutation coefficient $\nu = 0.98$.
<caption>Algorithm 1: Firefly Algorithm ([12]).</caption>

1: Define the objective function $f(x)$, with $x = [x_1 \ x_2 \ \dots \ x_d]^T$.
2: Create the initial population of $n$ fireflies $x_{i=1,2,...,n}$.
3: The light intensity $I_i$ at $x_i$ is obtained by $f(x_i)$.
4: Define the light absorption coefficient $\gamma$.
5: Define the attractiveness $\beta_0$ for zero distance ($r = 0$).
6: Define the randomization parameter $\alpha$.
7: Define the maximum number of iterations $\text{Max\_iter}$.
8: **while** $iter < \text{max\_iter}$ **do**
9: &nbsp;&nbsp;&nbsp;&nbsp;**for** $i = 1:n$ **do**
10: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**for** $j = 1:n$ **do**
11: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**if** $I_i < I_j$ **then**
12: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move the firefly $i$ to $j$.
13: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**end if**
14: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vary attractiveness with the distance $r$ via $e^{-\gamma r}$.
15: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluate the new solutions and update the light intensity.
16: &nbsp;&nbsp;&nbsp;&nbsp;**end for**
17: &nbsp;&nbsp;&nbsp;&nbsp;**end for**
18: &nbsp;&nbsp;&nbsp;&nbsp;Rank the $n$ fireflies and find the global best $g^*$.
19: &nbsp;&nbsp;&nbsp;&nbsp;**end while**
20: Process and visualize results.

An example of the Firefly Algorithm (FA) evolution, with 20 fireflies and 10 iterations, is presented in Fig. 4, taking into account the human operator A $H(s)$ model (14), with $T_{p1} = 0.777$, $T_{p2} = 0.874$ and $T_z = -0.245$.

<figure><img src="image_5.png" /><figcaption>Fig. 4. Convergence of the Firefly Algorithm (FA).</figcaption></figure>
The proposed nature-inspired optimization methodology ensures improved performance in the hands-free task movements of the computer's cursor, as shown in the experimental results.

## 4 Discussion of Results and Critical View

A total of 500 Point-To-Point (PTP) random sequences were performed using the head-mounted HID device, connected to the computer via USB cable, without and with the Proportional-Integral-Derivative (PID) controllers. Each PTP task, with the cursor and the EPP option enabled, consists in following a random PTP target in the computer screen, at distance, in pixels (px), $A = \{300px, 400px, 500px, 600px, 700px\}$, and with the target diameter $W = 100px$, whose position on the screen changes every 10 seconds.

The PID controller, with anti-windup, is tuned from the Firefly Algorithm. The choice for the number of fireflies, iterations and attempts took into account a good convergence-speed compromise. The FA algorithm results revealed convergence with 20 fireflies, 10 iterations and 5 attempts, resulting in an average time duration of 5 minutes and 30 seconds, using a Skylake dual-core processor Intel® Core i5-6300U, running at 2,40 GHz, and the simplified mathematical model for each human participant (A to E), consisting of an equivalent Auto-Regressive Model with Exogenous (ARX) structure, with $na = 2$, $nb = 2$ and $nd = 1$, neglecting the delay (14), with an operating frequency of 50 Hz ($T_s = 20$ ms), the filter coefficient $N_{PID} = 10$ and the anti-windup time constant $T_t = 1$s.

The discrete implementation of the real-time, anti-windup, PID controller structure into the embedded microcontroller of the Human Interface Device (HID) module was programmed in C programming language. Examples of acquired signals during Point-To-Point (PTP) random tasks, performed by the human participant B, using the hands-free HID developed device, without and with the PID assistance controller, are depicted in Fig. 5.

<figure><img src="image_6.png" /></figure>
<figure><img src="image_7.png" /><figcaption>**Fig. 5.** PTP target signals ($r_X$, $r_Y$) and correspondent responses (X, Y), for X and Y axis of human participant B: without controller (top); with the controller (bottom).</figcaption></figure>

## 4.1 Results and Critical View

The obtained experimental results concerning the PTP tasks time duration $T_{PTP}$ for human participants A to E are presented in Table 1, without and with the assistance-controller, using the Mahony et al. sensorial fusion methodology [14], [15]. Best results are depicted in green.

<table><caption>Table 1: PTP results, without and with the controllers, for a sequence of 10 PTP random tasks, with target distance A.</caption><thead><tr><th></th><th colspan="5">T<sub>PTP</sub> (x10 s)</th></tr><tr><th></th><th>A = 300 px</th><th>A = 400 px</th><th>A = 500 px</th><th>A = 600 px</th><th>A = 700 px</th></tr></thead><tbody><tr><th colspan="6">Without controller</th></tr><tr><td>Participant A</td><td>1,97</td><td>2,28</td><td>2,98</td><td>3,46</td><td>3,54</td></tr><tr><td>Participant B</td><td>2,61</td><td>3,17</td><td>3,35</td><td>3,33</td><td>3,37</td></tr><tr><td>Participant C</td><td>7,41</td><td>7,09</td><td>9,36</td><td>8,12</td><td>9,51</td></tr><tr><td>Participant D</td><td>3,45</td><td>2,87</td><td>3,45</td><td>3,39</td><td>4,10</td></tr><tr><td>Participant E</td><td>3,40</td><td>4,42</td><td>5,54</td><td>5,44</td><td>6,17</td></tr><tr><th colspan="6">With controllers</th></tr><tr><td>Participant A</td><td>1,23</td><td>1,50</td><td>1,91</td><td>1,82</td><td>2,43</td></tr><tr><td>Participant B</td><td>1,74</td><td>2,26</td><td>2,33</td><td>2,52</td><td>2,73</td></tr><tr><td>Participant C</td><td>3,75</td><td>6,31</td><td>4,59</td><td>6,36</td><td>6,74</td></tr><tr><td>Participant D</td><td>2,33</td><td>2,58</td><td>2,72</td><td>2,89</td><td>2,63</td></tr><tr><td>Participant E</td><td>3,27</td><td>3,32</td><td>2,99</td><td>4,22</td><td>3,82</td></tr></tbody></table>

It can be confirmed that the assistance-controllers improve the human-computer performance in the PTP tasks with the developed hands-free HID device, resulting in a decrease of 44% in the average PTP time duration.
# 5 Conclusions and Further Work

The hardware/software device with the user assistance-controller improves the hands-free human-computer performance, allowing the replacement of computer access interfaces that require manual actions/movements. The relevance of the human hands can be proven by the Motor *Homunculus* model (Fig. 6), initially proposed in 1937 by Penfield & Boldrey [16], consisting of a representation of how the human body would be, if the size of its parts grew in proportion to the area of the brain related with the correspondent motor functions in the central sulcus of the frontal cortex.

<figure><img src="image_8.png" /><figcaption>**Fig. 6.** The Motor *Homunculus* 3D model.</figcaption></figure>

The controller of the developed hardware/software device can be configured, in a customized way, for the specific needs of each human user, allowing the adjustment of the PID parameters and also their storage in the EEPROM of the HID microcontroller, using a C# configuration application, also built. The ability to customize the computer access device, tailored to the behaviour and the relevant capabilities of each human user, modelled by a simplified mathematical transfer function, represents a novel trend in Assistive Technology (AT).

The hardware/software developed in [1] for Assistive Technology, which can be shown working, may in future be used for other relevant areas, such as biomedical engineering, rehabilitation and sports medicine, physiotherapy and interface systems engineering.

# References

[1] Antunes R.A.: *Controlo em Sistemas de Interação Humano-Máquina*. PhD thesis, Universidade Nova de Lisboa (2018)

[2] Quha Zono gyroscopic mouse. Quha Assistive Technology Product Catalog 2019, www.quha.com/wp-content/uploads/2018/10/Quha_Product_catalog_2019_for_web.pdf

[3] GlassOuse Assistive Device 2018, https://www.glassouse.com/
[4] Tobii Dynavox 2017, PCEye Plus, eye tracker for individuals facing mobility challenges, https://www.tobii.com/group/news-media/press-releases/2017/5/tobii-dynavox-launches-pceye-plus-the-next-generation-eye-tracker-for-individuals-facing-mobility-challenges/

[5] TrackerPro, AbleNet 2019, https://www.ablenetinc.com/trackerpro

[6] Nuyujukian P., Sanabria J.A., Saab J., Pandarinath C., Jarosiewicz B., Blabe C.H., Franco B., Mernoff S.T., Eskandar E.N., Simeral J.D., Hochberg L.R., Shenoy K.V., Henderson J.M.: *Cortical control of a tablet computer by people with paralysis*. PLoS ONE 13(11) (2018): e0204566. https://doi.org/10.1371/journal.pone.0204566

[7] Laurikkala M., Suzuki S., Vilkko M.: Predicting operator's cognitive and motion skills from joystick inputs: *IECON 2016 - 42nd Annual Conference of the IEEE Industrial Electronics Society*, Florence, Italy, pp. 5935--5940 (2016)

[8] InvenSense MPU-9250 Product Specification Revision, https://www.invensense.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf

[9] MPU-9250 Nine-Axis (Gyro+Accelerometer+Compass) MEMS Motion Tracking Devices, www.invensense.com/products/motion-tracking/9-axis/mpu-9250/

[10] Meboldt M., Klahn C.: Industrializing Additive Manufacturing - *Proceedings of Additive Manufacturing in Products and Applications - AMPA2017*. Springer (2018)

[11] Suzuki S., Harashima F., Kurihara K.: Assist control and its tuning method for haptic system. *9th IEEE International Workshop on Advanced Motion Control (AMC'06)*, Istanbul, Turkey, pp. 374--379 (2006)

[12] Yang X.S.: *Nature-Inspired Metaheuristic Algorithms*. Luniver Press (2010)

[13] Yang XS (ed): Cuckoo Search and Firefly Algorithm. Theory and Applications. *Studies in Computational Intelligence*, vol 516. Springer (2014)

[14] Mahony R., Hamel T., Pflimlin J.: Nonlinear complementary filters on the special orthogonal group. *IEEE Transactions on Automatic Control* 53(5), pp. 1203--1218 (2008)

[15] Mahony R., Hamel T., Pflimlin J.M.: Complementary filter design on the special orthogonal group SO(3). *Proceedings of the 44th IEEE Conference on Decision and Control*, Seville, Spain, pp. 1477--1484 (2005)

[16] Penfield W., Boldrey E.: Somatic motor and sensory representation in the cerebral cortex of man as studied by electrical stimulation. *Brain* 60(4), pp. 389--443 (1937)