1. *I*2: The minimum singular value (minimum stiffness)

The *I*<sup>2</sup> index corresponding to the minimum singular value is defined as:

$$I\_2 = \sigma\_{\min} = \sqrt{\lambda\_{\min}}\tag{24}$$

The greater the minimum singular value, the greater the minimum rigidity of the machine. The minimum singular value was plotted against the radial direction of the manipulator for different ratios of *r*1/*r*<sup>2</sup> and the results are shown in Figure 6.

**Figure 6.** Plot of the minimum singular value over the radial direction for different values of *R*1/*R*2.

2. *I*1: Conditioning number (Isotropy)

The conditioning number is a measure of the isotropy of the manipulator from the rigidity point of view. It is defined as the ratio between the maximum and minimum singular values of the Jacobian:

$$I\_1 = \text{cond}(f) = \sqrt{\frac{\lambda\_{\text{max}}}{\lambda\_{\text{min}}}} = \frac{\sigma\_{\text{max}}}{\sigma\_{\text{min}}} \tag{25}$$

The closer this ratio is to 1, the more consistent the stiffness of the machine will be along the main directions. The conditioning over the workspace is radially symmetric; therefore, in order to understand the behaviour of the conditioning index when changing the length of the link, the conditioning index of the manipulator was plotted against the radial direction (y-direction) for different values of *R*1/*R*2. The results are shown in Figure 7.

**Figure 7.** Conditioning index over the radial direction for different values of *R*1/*R*2.

With reference to Figures 6 and 7, both performance indexes are optimal in the reachable workspace, which lies between 300 mm and 700 mm (as defined in Section 3.1) when *R*1/*R*<sup>2</sup> = 0.77. Finally, the obtained link lengths are as follows:

$$R\_1/R\_2 = 0.77, R\_1 + R\_2 = 800 \text{ mm} = > \ R\_1 = 348 \text{ mm} \text{ , } R\_2 = 452 \text{ mm } \text{ , } R\_3 = 45 \text{ mm}$$

After applying the optimized link lengths, the conditioning index and the manipulability force ellipses were plotted on the workspace and the results are shown in Figure 8.

**Figure 8.** (**a**) Plot of conditioning number over the workspace. (**b**) Plot of the manipulability force ellipses over the workspace.

The conditioning index is larger than 0.6 on the whole workspace and higher than 0.75 on 90% of the workspace. Better manipulability is therefore achieved if compared to the 3DOM architecture [24], which provides a conditioning index larger than 0.2 on the whole workspace, higher than 0.33 on 97% of the workspace and higher than 0.5 on 84% of the workspace. The manipulability force ellipses also reflect an acceptable manipulability index due to their not extremely elongated shape. Moreover, the ellipses plots highlight the symmetric distribution of manipulability, demonstrating an identical kinetostatic performance for right-handed and left-handed users.

### *3.3. Kinetostatics*

The selection of the desired specifications for the actuators was based on the maximum torque and maximum velocity required on the actuated joints.

1. Maximum torque:

The robot target is 28 N, as the one of the MIT-MANUS [27], taken as a reference value for its considerable clinical exploitation. This force is translated to joints *A*<sup>1</sup> and *A*<sup>2</sup> on the basis of Equations (26)–(28).

$$\mathbf{T} = \mathbf{J}^{\mathbf{T}} \cdot \mathbf{F} \tag{26}$$

$$\mathbf{T} = \begin{bmatrix} t\_1 \\ t\_2 \end{bmatrix} \tag{27}$$

$$\mathbf{F} = \begin{bmatrix} f\_x \\ f\_Y \end{bmatrix} \tag{28}$$

where *T* is the torque matrix, *t*<sup>1</sup> and *t*<sup>2</sup> are the torques transferred to *θ*<sup>1</sup> and *θ*2, respectively, *J* is the Jacobian, *F* is the force matrix and *fx* and *fy* are the forces exerted by the patient in the x-direction and y-direction, respectively. Based on Equations (26)–(28), the maximum torque translated to the actuated joints is calculated to be equal to 11.2 Nm.

### 2. Maximum velocity:

Considering common neurorehabilitation exercises, the maximum velocity required at the end-effector is assumed to be lower than 0.5 m/s in the Cartesian space. In fact, Krebs et al. states, with experiments, that the tangential velocities for circular movements performed by stroke patients is below 0.5 m/s [28]. They also present linear velocities for point-to-point movements lower than 0.25 m/s. The corresponding angular velocity on the joints depends on the configuration of the manipulator and it is maximal when the minimum singular value of the Jacobian is minimal. Accordingly, the maximum angular velocity needed on the actuated joints was calculated to be equal to 4 rad/s or 38 RPM.

### **4. Prototype**

### *4.1. Description*

On the basis of the considerations reported in the previous sections, the PLANarm2 prototype was developed and assembled. The mechanical assembly of the manipulator is composed of five subsystems: base, motors, transmission, links and end-effector. A proper mechatronic design has to consider that the choice of all the components must be carried out keeping in mind the expected behaviour of the final controlled device.

Impedance and its dual admittance control are today part of the state-of-the-art in physical Human–Robot Interaction (pHRI) and essential control strategies for rehabilitation devices. Impedance control requires a direct force/torque control [29] and backdrivable motors are therefore preferred. High torque and low velocity needed for this application, as reported in Section 3.3, clash with the characteristics of electrical motors that in general express high velocity and low torque. High torque and low velocity electrical motors (i.e., torque motors) are available on the market, but they are generally expensive, and not suitable for the low-cost device described. PLANarm2 is moved by two 24 V motors (EMG49 model from Robot-electronics) equipped with a non-backdrivable 49:1 gearbox (resulting in a no-load speed of 143 rpm and a stall torque of 19.6 Nm) further reduced by a 3:1 pulley belt transmission connected to the corresponding link.

The links have been designed to embed a Cantilever Beam load cell (Model 830, Richmond Industries Ltd., Reading, UK) measuring the torque transmitted through the links actuated by motors. This solution allows to evaluate straightforwardly the torque by measuring the shear force at the cantilever sensor and multiplying it by the length of the link. This motor choice reflects in the impossibility to use an impedance control algorithm in favour of an admittance strategy, which requires force sensing and good position/velocity control. Each actuator is equipped with an incremental encoder sensor with a final resolution on the link rotation of 0.00213 rad. The low-level controller, in line with the affordability nature of the device, is represented by an Arduino DUE board (Atmel SAM3X8E based on a ARM Cortex-M3) that, in conjunction with two VNH5019 motor drivers, provides full control of the robot's movements. The Arduino board, the motor drivers and other electronic elements required to operate, are installed on a PCB and mounted on the device. Closed control loops are processed directly by the Arduino board and not by additional commercial motor drivers. This choice has been made in order to exploit the low cost and versatility of a general purpose microcontroller unit (MCU).The MCU controller communicates with a PC through a serial RS-232. PC will be responsible for the high-level control logic and GUI for robot control.

Proximity sensors are used to detect the end stroke of each arm, as a reference for the incremental encoders. The large majority of the components have been 3D-printed. The complete mechanical structure is shown in Figure 9.

**Figure 9.** 3D model of the prototype.

### *4.2. Cost Estimation*

The device is designed specifically for being an affordable rehabilitative device with a low-volume production. Given the complexity of some parts of the device and its intrinsic prototype nature, the most flexible and suitable technology for this production volume is Additive Manufacturing (AM) thanks to the ability to run a production without the long term investment in specific tooling and the flexibility on implementing any layout adjustment, upgrade or customization.

The device has been optimized to be produced out of polymeric materials on a Fused Deposition Modelling (FDM) AM machine. The specific machine used to print the device is a Stratasys F370 printer and the used materials are Stratasys ABS and Stratasys QSR soluble support material both in the 1.75 mm filament diameter. The print project consists of 4 different print trays for a total of 97 printing hours, 2292 cm3 of building material and 446 cm3 of support material, with additional 25 h of washing time (most of them performed while the machine was printing other subsequent trays). The magnitude of the building cost could be roughly estimated with the cost of building material (Stratasys ABS cost: 0.18 EUR/cm3 (in 2020)) added to the cost of support material (Stratasys QSR cost: 0.19 EUR/cm3 (in 2020)) used along the fabrication and is approx e 501. The concept of affordability has been employed for the selection of essential components like electric motors and drivers, load cells and electronics components too, bringing the cost of bought material to a rough total of e 720. For the assembly of the structure, one single operator was able to perform the whole operation during a single working day time with no specific tools and with a few other components like standard metric screws, nuts, ball bearings and pulleys, for an additional rough cost of e 100. Two additional days were required to assemble the electrical and electronic assembly and wiring, for a rough cost of e 200. Regarding the aforementioned observations, with a total estimated cost of e 1521, PLANarm2 could be considered an affordable device for a limited production run.

### **5. Control**

When designing a rehabilitation device, mechatronic and control aspects are equally important. Following [30], it is possible to divide the existing control strategies for neurorehabilitation devices into three main branches: assistive, intended to help patients perform certain movements; corrective, intended to help patients improve their movement accuracy; and resistive, intended to further challenge the patient's capabilities. The authors decided to make available all these control strategies

for the user of the PLANarm2 device. In particular, the assistive mode is realized both by a passive *trajectory\_controller* and by an active *admittance\_controller*, the corrective mode is introduced through a so-called *tunnel\_controller* and the resistive mode is implemented as a particular case of the admittance control. In order to develop an effective and modular control architecture, the authors decided to leverage the functionalities of the *ros\_control* package [31], available within the Robotic Operative System (ROS) framework [32]. With reference to Figure 10, the control structure is made up of four main components: a controller manager, the set of available controllers, a hardware interface and the real controlled robot. The *controller manager* is responsible for handling the controllers implemented in the system; it activates, deactivates and switches them depending on the user's command. Once a specific *controller* is activated, it has access to the current state of the robot and, depending on its internal algorithm, it can use that information to compute the next command to be sent to the robot. This back and forth data transmission is made possible by the *hardware interface* component of the control architecture, in charge of interfacing the software portion of the system with the hardware one through the *read()* and *write()* methods. For this specific application, the *hardware\_interface* has also been equipped with a dummy transmission performing the transformation between Cartesian space and actuator space so that commands can be computed more intuitively referring to the Cartesian reference frame.

**Figure 10.** Control architecture for PLANarm2.

As from Figure 10, the control structure could be split in low-level control and high-level control. The low-level portion of the control architecture is represented by the PID loops for position and velocity control running on the Arduino DUE board. These capabilities are often built-in for commercial robotic devices but, in this case, given the use of a general purpose Arduino DUE for cost-effectiveness and flexibility reasons, they must be redesigned from scratch. The high-level portion is implemented on a PC to exploit the *ros\_control* capabilities.

### *5.1. Low-Level Control*

A fundamental requirement for the implementation of the PID loops is to guarantee a fixed control time step. This has been achieved by equipping the micro-controller with ChibiOS [33], an efficient open-source Real Time Operative System (RTOS) specifically designed for embedded applications. Using ChibiOS, it is possible to guarantee a time step of 1 ms for measure and control, while ensuring a 200 Hz communication with PC via serial interface.

As highlighted in Section 4, the chosen actuators are sold with an embedded incremental encoder for precise position measurement. However, no velocity sensor was installed on the motors and therefore the speed value had to be estimated using the PID loop depicted in Figure 11.

**Figure 11.** Feedback loop of the velocity estimator.

The performance of the velocity estimator was then analysed in terms of frequency response and the corresponding Bode diagram is reported in Figure 12.

**Figure 12.** Bode diagram of the velocity estimator.

The *velocity\_controller* was then realized using a common PID loop and the speed estimator just introduced. Similarly, the *position\_controller* was implemented by encapsulating the *velocity\_controller* within an additional PID loop, as schematized in Figure 13.

**Figure 13.** Feedback loop of position controller.

With reference to Figure 14, the response of the *position\_controller* to a step input is characterized by a 5% overshoot, a settling time of 0.21 s and a steady state error lower than 0.5%, which is considered acceptable for the application of interest.

**Figure 14.** Step response of position controller.

### *5.2. High-Level Control*

Now, on top of the basic robot functionalities just presented, it is possible to implement the rehabilitation-specific controllers introduced at the beginning of this section.

### 5.2.1. Trajectory Controller

The *trajectory\_controller* can be used to perform passive rehabilitation exercises. Since it is a common tool, the authors decided to exploit the so-called *joint\_trajectory\_controller* [34], available as part of the *ros\_control* package. This controller takes as input trajectories specified as a set of waypoints to be reached at specific time instants and attempts to execute them as well as the mechanism allows. The interpolation between waypoints can be performed using linear, cubic or quintic 1D splines, depending on the level of continuity that has to be guaranteed. For this specific project, the authors chose to specify a desired position, velocity and acceleration for each waypoint and then used quintic splines interpolation to ensure continuity at the acceleration level. Thanks to the trajectory controller, PLANarm2 is capable of following any path that lays within the workspace of the robot with the performances achieved by the position controller, described in Section 5.1.

### 5.2.2. Admittance Controller

Starting from Hogan's work [29], indirect force control strategies such as impedance and its dual admittance control can be considered the most proper and efficient way to control a robot interacting with its environment. As highlighted in [30], impedance and admittance control are also the simplest and probably most used way to carry out an assistance-as-needed control in robotic neurorehabilitation. The possibility to change on-line their parameters, and therefore the robot's behaviour, also allows to sophisticate the algorithm in several ways. As reported in Section 4, in order to guarantee the device's simplicity and affordability, it is not possible to realize a direct effort control. This seems to clash with the need to realize a haptic device and, for this reason, the authors choose a strategy similar to the one described in [35]. Given a reference force *Fr*(*t*), coming from the digital environment connected to the device, it is possible to control the motors with a velocity reference (*vr*) obtained through a PI control loop over the force error *Fe*, where *Fe*(*t*) = *Fr*(*t*) − *Fm*(*t*) with *Fm* being the measured force. For the sake of simplicity, Equation (29) has been written only for one of the controlled joints:

$$
\sigma\_{\mathbf{f}} = \frac{1}{D\_{\mathbf{f}}} \cdot F\_{\mathbf{f}}(\mathbf{t}) + \mathbf{K}\_{\mathbf{i}} \cdot \int\_{0}^{t} F\_{\mathbf{f}}(\mathbf{t}')dt' \tag{29}
$$

The proportional parameter in Equation (29) is called <sup>1</sup> *De* to highlight that the transparency felt by the user will increase while *De*, that can be associated to a virtual damping, decreases. A proper choice of these parameters must also take into account the disturbance rejection.

### 5.2.3. Tunnel Controller

Corrective rehabilitation is proven effective when aiming to improve motion coordination. To provide this functionality, the authors decided to develop a so-called *tunnel\_controller*, similar to what is presented in [36]. The controller takes as input a predefined trajectory and builds a virtual tunnel of user-defined width around it. The patient is allowed to move freely along the path and, whenever the tunnel's boundaries are exceeded, a restoring force is produced in order to correct the undesired movement. A schematic representation of this concept is reported in Figure 15.

**Figure 15.** Schematic tunnel representation. On the left (**a**), the end-effector moves freely within the tunnel. On the right (**b**), a restoring force brings the end-effector back within the tunnel.

Differently from the *trajectory\_controller*, for which input trajectories are time-parametrized, the *tunnel\_controller* requires paths expressed in terms of curvilinear abscissa *s*. In order to guarantee coherence with the other controllers, a method that automatically transforms a time-parametrized trajectory into its corresponding s-version has been implemented so that the same computed trajectory can be applied to all the available controllers. In addition, a new coordinate system (*t*,*n*) has been defined on the trajectory *f*(*s*) at any instant, denoting by*t* and*n* the tangential and the normal vectors, respectively, where *<sup>n</sup>* <sup>×</sup>*<sup>t</sup>* <sup>=</sup> *<sup>x</sup>* <sup>×</sup>*y*, as shown in Figure 16.

**Figure 16.** Reference frame for tunnel control.

The patient's force on the end-effector is projected from the Cartesian reference frame to the new reference frame according to the instantaneous slope *α* of the requested trajectory. Then, the controller's basic working principle is similar to the one of the *admittance\_controller*. For every control cycle, the normal distance *nee* between desired and actual position of the end-effector, with respect to the given trajectory, is calculated. If that distance is smaller than the user-defined tunnel half-width W, tangential and normal measured forces are given as input to a high-level PI loop set with a reference of 0N. On the contrary, if the end-effector is detected outside said tunnel, the force *Fref N* used as reference for the PI loop related to the normal direction is computed as in Equation (30), where *Kv* represents the stiffness of the virtual spring responsible for the generation of the corrective force.

$$F\_{refN} = n\_{\text{cc}} \cdot K\_v \tag{30}$$

The effect of this approach is that the patient is allowed to move freely inside the virtual tunnel but, whenever the boundaries are exceeded, a virtual spring generates a corrective force that compensates the error and guides the end-effector back inside the tunnel. On top of this, an acceleration limit has been implemented within the controller's logic for safety reasons: if any spasm or sudden movement of the patient occurs, it can be absorbed.

### **6. Experimental Assessment**

This section presents the results of the experimental assessments performed on the developed prototype. The objective of these experimental tasks is to carry out functional tests able to confirm the goodness of the mechatronic project and control structure chosen. Improvements on the algorithms presented in this work are already under consideration by the authors. Notice that the performance of the *trajectory\_controller* is directly connected to the results obtained for the low-level *position\_controller* reported in Section 5.1 and therefore not reported here for brevity. However, data collected for the *admittance\_controller* and the *tunnel\_controller* together with an analysis on the accuracy of the position measurements are discussed in detail hereafter.

### *6.1. Admittance Controller Validation*

The admittance controller was tested on the PLANarm2 prototype. The algorithm has been implemented starting from Equation (29). The final implemented algorithm is slightly different from the ideal case since, for instance, the noise affecting the measured force must be considered. For this reason, the signal coming from the sensors is processed with a simple exponential filter. This filter can be expressed by the formula:

$$F\_m(n) = F\_m(n-1) \cdot (1-n) + F(n) \cdot n \tag{31}$$

In this case, *α* is taken as *α* = 1 − *e* <sup>−</sup>*dt*·2*<sup>π</sup> fcuto f f* with *fcuto f f* the ideal cut off frequency. This filter was chosen because of its simplicity and functionality. Its frequency response is represented in Figure 17, showing a magnitude >70% before the cutoff frequency.

Different kinds of filters (n-order filters) are under consideration of the authors in order to improve the performances in terms of admittance readiness. Starting from the filtered force measures, the PI control loop (following Equation (29)) is implemented on the high-level control hardware, running at 200 Hz. The *admittance\_controller*'s performance is presented in terms of frequency response function between measured force (*Fm*) and measured velocity on a single axis (*y* axis considering the reference presented in Figure 3) in a particular configuration (*x* = 0, *y* = 0.5). Similar results could be obtained for the perpendicular axis.

**Figure 17.** Exponential filter response function with *fcuto f f* = 5 Hz.

In Figure 18, the frequency response function (FRF) for the admittance/force-tracking control is depicted. The graph shows a coherence >80% until 5 Hz of frequency, meaning that the output measured can be considered related to the input. Phase is quite constant until 7 Hz and shows a small delay for the frequency range between 0 and 7 Hz. The magnitude trend begins with a fall due to the pole in the origin and the stabilizes around 7 Hz.

**Figure 18.** Admittance frequency response function (FRF) with *De* = 20 and *ki* = 0.01.

### *6.2. Tunnel Controller Validation*

As explained in Section 5.2, as long as the end-effector remains within the tunnel's boundaries, the *tunnel\_controller* is based on the same working principle of the *admittance\_controller*. For this reason, the assessment of the behaviour of PLANarm2 in those conditions is redundant and is not discussed here. On the other hand, it is interesting to see what happens whenever the end-effector is guided

against the mentioned boundaries. The controller was set up with the following parameters: *Kp* = 0.05 and *Ki* = 0.01 for the force tracking loop, *Kv* = 500 N/m and *W* = 0.01 m for the virtual stiffness and the half-width of the tunnel, respectively. Figure 19 reports the data collected while moving the end-effector along a certain predefined trajectory. The top plot represents the normal distance from the given trajectory against time together with an indication of the tunnel's boundaries (black dashed line). It can be easily noticed that during the experimental run the end-effector was driven outside of those boundaries a few times. The plot in the middle depicts the trend of the force exerted on the end-effector in the direction normal to the desired trajectory, while the bottom plot reports the trend of the corrective force produced by the virtual spring. As shown, the end-effector is free to move within the tunnel boundaries with the same performances highlighted for the *admittance\_controller*. However, as soon as the end-effector is driven against the tunnel boundaries, the force required to further increase the normal distance from the trajectory rises due to the corrective force generated by the virtual spring. It is worth mentioning that, as can be seen in Figure 19, a certain degree of discontinuity in the force produced by the virtual environment has been maintained. This choice is justified by the fact that thanks to the discontinuity itself, the patient can intuitively "feel" the contact with the tunnel's boundaries and try to autonomously correct its motion.

**Figure 19.** The top plot shows the normal distance from the desired trajectory against time, the middle plot shows the normal force applied on the end-effector against time and the bottom plot shows the force produced by the virtual spring.

### *6.3. Position Measurement Accuracy*

Each actuated joint is driven, through a proper transmission system, by a motor with an embedded incremental encoder. The measured position is then transformed to the joint space by multiplying by the gear ratio of the transmission system (3:1). Finally, the position in the joint space reference is converted to the Cartesian space reference. This procedure of obtaining the position in the Cartesian reference, along with the inaccuracies generated in the embedded encoder, contribute to the generation of a measurement error. In order to quantify this measurement error, a test to measure the accuracy of the device was performed.

### 6.3.1. Test Bench

In order to measure the actual position of the end-effector, a Vicon marker-based motion capture system was used. The system was setup with 10 cameras tracking the motion of reflective trackers installed on the device. A table was placed within the area under the scope of the cameras and the PLANarm2 device was installed on it. Then, three markers were installed on the planar manipulator as shown in Figure 20: two were placed on the base to act as reference frames, and one was installed on the end-effector to track its position.

**Figure 20.** Placement of the markers on the prototype for the experimental procedure.

### 6.3.2. Data Analysis

After recording the position of the end-effector using the Vicon Nexus software, the results were plotted against the measurements taken by the encoder, along a generic, irregularly-shaped trajectory.

As it can be seen from Figure 21, there exists a small error when comparing the position taken from the motion capture cameras and the position recorded from encoder. This error arises from the combination of different factors, including encoder uncertainties as well as mechanical measurements inaccuracies related to the lengths of the links. Moreover, mechanical backlash is another source of error, as can be noticed in the inversion of the motion. However, the maximum error recorded when comparing the two results was 0.02 m and the average was 0.009 m, considered acceptable for the final application.

**Figure 21.** Position of motion capture and encoder vs. time: *x*-position (**right**) and *y*-position (**left**).

### **7. Conclusions**

As a result of the increasing number of patients suffering disabilities due to stroke, many research groups have proposed devices aimed at facilitating the rehabilitation process. However, most of these devices are technically advanced and designed for clinical use. This paper presents the prototype of an affordable device for upper-limb neurorehabilitation based on a planar five-bar parallel kinematic mechanism.

The optimal link lengths were obtained by optimizing the conditioning index and the minimum singular value of the Jacobian over the workspace. Components were chosen starting from kinematic and dynamic evaluations as well as on the desired performances. A 3D-printed prototype was presented and the main components and characteristic were analysed. Different kinds of controllers were implemented in order to verify the effectiveness of the prototype and the goodness of the design. Both active and passive controllers were tested and the measured performances showed a good dynamic behaviour. In order to validate the measurements of the end-effector position, a test procedure was followed. The position of the end-effector was recorded using motion capture cameras and compared to the measurements obtained from the encoders. It was shown that the measurements taken by the encoders are accurate enough for the target application.

Next steps will include more refined admittance and assist-as-needed control algorithms, starting from the obtained results and considering new improvements, in order to assist the patients in performing the required tasks according to their capabilities. Finally, a graphic user interface is being implemented in order provide a visual feedback to the patient while performing rehabilitation tasks.

**Author Contributions:** Conceptualization, J.Y. and M.M.; data curation, J.Y., A.P. and M.L.N.; formal analysis, J.Y.; funding acquisition, M.M.; investigation, J.Y., A.P. and M.L.N.; methodology, J.Y.; resources, T.D. and M.M.; software, J.Y., A.P. and M.L.N.; supervision, H.G. and M.M.; validation, J.Y., A.P. and M.L.N.; visualization, J.Y., A.P. and M.L.N.; writing—original draft, J.Y.; writing—review and editing, J.Y., A.P., M.L.N. and M.M. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was partially funded by Fondazione Cariplo within the EMPATIA@Lecco project, Rif. 2016-1428 Decreto Regione Lombardia 6363 del 30/05/2017.

**Acknowledgments:** The authors would like to thank: João Carlos Dalberto and Roberto Bozzi for supporting the mechanical and electrical realization of the prototype; Alessandra Tafaro and Roberta Pozzi for the administrative support of the project.

**Conflicts of Interest:** The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

### **References**


**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
