2.2.2. Torque Requirements

In order to define the torque requirements associated to the reference task, the most critical configuration assumed by the exoskeleton has to be considered. Therefore, configuration 2 will be used in order to calculate the required motor torques. The applied motor torque has to compensate for the lifted load *Pload* and the human arm weight (composed by the human arm weight *P*<sup>1</sup> and by the human forearm and hand weight *P*2), while applying the required assistance to the human. The exoskeleton will, therefore, apply two forces on the upper limbs due to arm support and forearm support, assisting the worker during the target task execution. These forces compensate the external torques applied by the load, therefore, having the human generating no torques.

Figure 4 shows the exoskeleton-upper limb model, highlighting all the acting forces/torques, where:


**Figure 4.** Loads acting on the exoskeleton in the critical configuration 2.

On the basis of Reference [42] (detailing the average height of European adults) and on the basis of Reference [43] (detailing the average weight of European adults), the following parameters have been chosen in order to define the human arm weight and length to be used in the above modeling:


From the references above, it is therefore possible to calculate the modeling parameters from anthropometric tables [44]:


• *wf orearm*<sup>+</sup>*hand* = 1.76 kg (*P*<sup>2</sup> = 17.27 N).

Assuming that (from a preliminary design) the weight of exoskeleton links is 0.5 kg (i.e., *Plink*<sup>1</sup> <sup>=</sup> *Plink*<sup>2</sup> <sup>=</sup> 4.905 N), the weight of the elbow motor is 1 kg (*Pmotor*<sup>2</sup> <sup>=</sup> 9.81 N), *<sup>a</sup>*<sup>1</sup> <sup>=</sup> *Larm* <sup>2</sup> and *a*<sup>2</sup> = *Lf*<sup>+</sup>*h*, it is possible to calculate reaction forces and the maximum static torques to be applied by the shoulder and elbow motors considering configuration 2 (Table 2). On the basis of such torque requirements, motors can be selected.

**Table 2.** Reaction forces and motor torques calculated to compensate for human arm weight and component weight in the critical configuration 2.


#### 2.2.3. Weight and Size of the Designed Device

Considering that the upper limbs exoskeleton has to be transported by the human worker, its weight and size have to be reduced as much as possible. Therefore, the selection of the components (e.g., motors) has to consider also such goal. Moreover, in order to limit the size of the designed device (in particular lateral dimension of the device) while ensuring the torque requirements, the shoulder motor has been placed on the back support of the exoskeleton. Mechanical design of the links, etc, also considers both weight and size requirements.

#### 2.2.4. Human Safety

In order to improve the transparency and the safety of the device while collaborating with the human, compliance has been embedded into the mechanical structure of the exoskeleton. In particular, a compliant transmission has been designed to connect the shoulder motor to the shoulder link. Such transmission has to be capable to produce an equivalent shoulder stiffness *Keq* ∈ [150, 200] Nm/rad. Such equivalent stiffness is a medium-level value capable to give a degree of compliance to the exoskeleton while avoiding too high deformations.

#### 2.2.5. Economic Affordability

Components from the market have to be selected both satisfying the previous design requirements and the costs constraints). In fact, one of the main goal of the proposed design is to have hardware costs <10,000 Euro. Therefore, a balance between design specifications and hardware costs has to be found.

#### **3. Exoskeleton Modeling & Design**

#### *3.1. Compliant Shoulder Joint Actuation Modeling*

As mentioned in Section 2.2, the proposed exoskeleton design includes a compliant actuation for the shoulder joint. Such actuation system is composed by a compliant belt as a transmission between the motor and the shoulder joint. The concept of the compliant belt actuator is shown in Figure 5.

**Figure 5.** Mechanical model of the compliant belt shoulder joint actuation.

The aforementioned actuation system is modeled as the parallel of two mass-less spring-damper elements (with same stiffness *kel* and damping *rel* parameters) as in Reference [45]. Being the radius of the pulleys both equal to *Rsea* = 0.04 m, the deformation of each spring-damper element *xi* is given by: *x*<sup>1</sup> = −*Rsea*(*q*<sup>1</sup> − *θM*) and *x*<sup>2</sup> = *Rsea*(*q*<sup>1</sup> − *θM*) = −*x*1, where *q*<sup>1</sup> is the link-side position and *θ<sup>M</sup>* is the motor-side position as shown in Figure 6. In case of zero motor torque *τmot* = 0, namely in the equilibrium position, the deformations are zero.

**Figure 6.** Elastic belt and joint torques are highlighted on the proposed exoskeleton model.

Overall torque transmission is given by the effect of pulling forces *Fi* on the two springs. Being *lpi* the pre-loaded lengths (equal for both springs), the forces are computed as *Fi* = *kel*(*lp* + *xi*) + *relx*˙*i*. Therefore, the relation between motor torques and elastic belt deformations can be derived:

$$
\pi\_{\rm mat} = -2R\_{\rm sau}^2 k\_{el}(q\_1 - \theta\_M) - 2R\_{\rm seu}^2 r\_{el}(\dot{q}\_1 - \dot{\theta}\_M). \tag{1}
$$

#### *3.2. Exoskeleton Dynamic Model*

The overall mechanical system can be represented as a 3-DoFs system that moves in the sagittal plane. The device DoFs are represented by *θ<sup>M</sup>* (the shoulder motor joint position), *q*<sup>1</sup> (the shoulder joint position) and *q*<sup>2</sup> (the exoskeleton elbow joint position). *θ<sup>M</sup>* and *q*<sup>1</sup> are connected by the elastic belt, transmitting the torque by the relation (1). According to the *Euler-Lagrangian* formulation, the dynamics of the exoskeleton connected to the human arm can be expressed as follows:

$$\mathcal{M}(\boldsymbol{q})\ddot{\boldsymbol{q}} + \mathcal{C}(\boldsymbol{q}, \dot{\boldsymbol{q}}) + \mathcal{G}(\boldsymbol{q}) + f(\dot{\boldsymbol{q}}) + \mathcal{K}(\boldsymbol{q}) + \mathcal{D}(\dot{\boldsymbol{q}}) = \boldsymbol{\pi} - \boldsymbol{I}\_c^T \mathcal{F}\_{c\prime} \tag{2}$$

where:

• *<sup>q</sup>* <sup>∈</sup> *<sup>R</sup>*3*x*<sup>1</sup> is the vector of the DoFs [*θM*, *<sup>q</sup>*1, *<sup>q</sup>*2] *T*;


The formulation in (2) represents three coupled second-order differential equations that relate the joint positions, velocities and accelerations to the joint torques *τ* = [*τmot*, 0, *τB*] *<sup>T</sup>*. In particular, *τmot* is the torque applied by the shoulder motor and *τ<sup>B</sup>* is the torque applied by the elbow motor.

Combining the exoskeleton dynamics of the 2-DoFs manipulator with the compliant belt actuator dynamics in Section 3.1, it is possible to obtain the final overall 3-DoFs configuration. The resulting matrices comprehend terms coming both from the rigid mechanical system and the elastic coupling with the shoulder actuator. Angular velocities and positions of the shoulder joint *q*<sup>1</sup> and motor joint *θ<sup>M</sup>* are coupled through the first two elements of the damping vector *D*(*q***˙**) and the stiffness vector *K*(*q*). The torque transmission to the rigid system is explained in Section 3.1.

Figure 6 represents the CAD model of the exoskeleton and human arm, highlighting the joints (red label), the actuation torques (blue label) and the compliant belt (green label).

#### *3.3. Compliant Shoulder Joint Design*

In order to select the elastic belt stiffness *kel*, a preliminary analysis have been performed considering the following stiffness values (peculiar for *off-the-shelves* elastic belts): *kel* = [25,000, 50,000, 75,000] N/m. Pre-load has also been varied from zero to the maximum pre-load force *Fpmax* = *kel lmax* <sup>2</sup> (considering 5 values in such range). By increasing *kel*, both the maximum transmittable torque and the equivalent shoulder joint stiffness increase (where the equivalent shoulder joint stiffness can be calculated as *Keq* = *∂τmot <sup>∂</sup>*(*q*1−*θM*) <sup>=</sup> <sup>2</sup>*kelR*<sup>2</sup> *sea*).

To select the elastic belt, a shoulder equivalent stiffness *Keq* ∈ [150, 200] Nm/rad has been imposed. Such equivalent stiffness is a medium-level value capable to give a degree of compliance to the exoskeleton while avoiding too high deformations. To satisfy the above requirement, *kel* has been selected equal to 50,000 N/m. Figure 7a shows the stiffness characteristic curve of the selected *ELATECH*-<sup>R</sup> *SIT Spa* belt and Figure 7b its equivalent shoulder joint stiffness. The stiffness characteristic variation is due to the pre-load applied to the belt.

**Figure 7.** (**a**) Stiffness characteristic of the chosen belt. The stiffness characteristic variation is due to the pre-load applied to the belt. (**b**) Equivalent stiffness at the link-side shoulder joint.

#### *3.4. Design Solution*

The 2 DoFs kinematics has been selected, with the *Denavit-Hartenberg parameters* in Table 1. In the presented section, the selected hardware components are detailed, satisfying the above define design specifications.

#### 3.4.1. Brushless Motor Maxon EC60 FLAT/MILE/PM72

The Maxon motor *EC60 FLAT/MILE/PM72* (24 V) has been selected as the shoulder motor, including:


The proposed motor satisfy the required static torque within its nominal torque and allows to apply higher pick torques for control purposes. The weight of the motor is 1.5 kg.

#### 3.4.2. Transmission

The elastic belt *ELATECH*-<sup>R</sup> *SIT Spa* has been selected. The belt has a bielicoidal teeth with a progressive and continuous meshing in order to reduce vibrations and noises. 1 to 1 ratio (*EGLE*) pulleys have been selected.

#### 3.4.3. Elbow Actuator

*robolink*-<sup>R</sup> *D High End robotic joint, size 20, symmetrical*, provided by *Igus* has been selected as the elbow actuator. This motor is composed by a stepper motor (NEMA17/23/23XL) which drives a revolute joint (code: RL-D-20-101-38-01033). The weight of the motor is 0.9 kg.

## 3.4.4. Exoskeleton CAD

Figure 8 shows the proposed exoskeleton design. The thickness of the arm link is 70 mm and the elbow motor is placed inside the link. The shoulder motor is fixed to the back-plate through an aluminium support. The position of the support can be adjusted to increase the device wearability. The shoulder motor torque is transmitted to the human's shoulder through the compliant actuation. The link-side shoulder joint mounts an encoder in order to measure *q*<sup>1</sup> and, therefore, the angular deformation *q*<sup>1</sup> − *θM*. On the basis of such measurement and on the basis of the elastic belt stiffness, the external torque applied by the human/external load can be estimated. Such estimate is used in the control loop for the active assistance definition. The shoulder pulley has to be aligned with the shoulder axis parallel to the frontal plane. In such a way, the flexion/extension degree of freedom is implemented. The elbow motor must be also aligned with the operator's elbow joint to guarantee the elbow rotation. The links length can be regulated in order to adapt the exoskeleton to the user. A range of ±3 cm has been considered for the adaptability of the links length.

**Figure 8.** Exoskeleton prototype CAD model.

The total estimated weight of the designed exoskeleton is about 12 kg, not including batteries. The shoulder motors are the heaviest component of the device. On one hand, the weight of the device can be reduced selecting a higher-performance motor for the shoulder joint. However, this will result in higher costs. On the other hand, the exoskeleton payload can be reduced in order to require less performance from motors. Considering the target task detailed in Section 2.1 and considering the budget constraints, the proposed motor is the optimal solution that authors found available on the market in the design phase. It has to be remarked that the payload ratio of the proposed device is >0.8.

**Remark 1.** *The above mentioned motors have been selected with a nominal torque satisfying the specifications described in Section 2.2.2. The peak torque is even higher in order to compensate for modeling errors or human subject higher arm weight.*

**Remark 2.** *On the basis of the selected motors, the friction model in* (2) *implements a two parameters friction model for the shoulder and elbow joints fqi* = *α*1,*iq*˙*<sup>i</sup>* + *α*2,*isign*(*q*˙*i*) *(where i indicates the exoskeleton joint) with parameters α*1,*<sup>i</sup> and α*2,*<sup>i</sup> as in Reference [46] (similar motor as the one mounted on the UR10 manipulator). Such values have been used in simulation. Real friction values have to be identified on the real exoskeleton.*

## **4. Industrial Exoskeleton Control**

#### *4.1. Problem Formulation*

The goal of the proposed controller is to assist the human in the lifting and transportation of heavy parts. To achieve such goal, the proposed control logic merges together the perks of the *optimal control* (to obtain stability and robustness) with the adaptability proposed by the *fuzzy logic*. A hierarchic

controller has been designed, composed by an inner optimal control loop (to track a reference task trajectory) and by an outer fuzzy logic control loop (responsible for updating the commanded trajectory according to the detected intentions of motion of the human). The gain scheduling control allows to have online modification of the control gains of the inner optimal controller according to the commanded trajectory. The interaction torque *τint* between the human and the exoskeleton is calculated exploiting the encoders measurements at both the sides of the elastic belt actuation. *τint* is exploited by the *fuzzy* controller in order to identify the intention of motion of the human.

#### *4.2. Optimal Control Design*

The inner *optimal control* guarantees the tracking and stabilization of the system around the task reference trajectory. Let the state-space dynamic equations of a linear (or linearized) time-varying system be:

$$\begin{aligned} \dot{\mathbf{x}}(t) &= \mathbf{A}(t)\mathbf{x}(t) + \mathbf{B}(t)\mathbf{u}(t), \\ \mathbf{y}(t) &= \mathbf{C}(t)\mathbf{x}(t), \end{aligned} \tag{3}$$

where *<sup>x</sup>* <sup>∈</sup> <sup>R</sup>*<sup>n</sup>* is the state vector, *<sup>A</sup>* and *<sup>B</sup>* are the state and input matrix of the linearized system respectively, *<sup>u</sup>* <sup>∈</sup> <sup>R</sup>*<sup>m</sup>* is the control action vector and *<sup>y</sup>* <sup>∈</sup> <sup>R</sup>*<sup>p</sup>* is the output vector. According to the optimal control theory on *Linear Quadratic Regulator* ([47]), it is possible to define a quadratic cost function *J* as:

$$J = \frac{1}{2} \Delta \mathbf{x}^T(t\_f) \mathbf{P} \Delta \mathbf{x}(t\_f) + \frac{1}{2} \int\_{t\_0}^{t\_f} \left( \Delta \mathbf{x}^T(t) \mathbf{Q} \Delta \mathbf{x}(t) + \Delta \mathbf{u}^T(t) \mathbf{R} \Delta \mathbf{u}(t) \right) \, dt,\tag{4}$$

where <sup>Δ</sup>*<sup>x</sup>* <sup>=</sup> *qre f* <sup>−</sup> *<sup>q</sup>*, *<sup>P</sup>* and *<sup>Q</sup>* are symmetric and positive semi-definite weight matrices and *<sup>R</sup>* is a symmetric and positive definite weight matrix. An optimal LQR controller can be designed in order to minimize this cost function, being the weight matrices previously defined, as shown in Figure 9.

**Figure 9.** Overall control scheme showing the inner optimal controller, the outer fuzzy logic controller and the gain scheduler, highlighting the feedbacks to the control loops.

#### *4.3. Gain Scheduling Control Design*

A *gain scheduling LQR* approach has been used in order to have a performing and stabilizing controller for all the possible configurations of the system. This offline controller, in fact, modifies the control gain matrix on the basis of the desired pre-defined trajectory.

Basically, the nonlinear system outlined in Section 3 is quasi-linearized into several linear time-invariant (LTI) subsystems with respect to different operating points. Let the nonlinear state equation of the system be represented as:

$$\dot{\mathbf{x}}(t) = \eta(\mathbf{x}(t), \mathbf{u}(t), t) = \begin{bmatrix} \ddot{\theta}\_{M\prime} \dot{\theta}\_{M\prime} \ddot{q}\_1, \dot{q}\_1, \ddot{q}\_2, \dot{q}\_2 \end{bmatrix}^T. \tag{5}$$

The Taylor series expansion using the appropriate operating points (*x*∗, *u*∗) can be obtained as *x*˙ = *Ax* + *Bu* + *Err*(*x*∗, *u*∗, *t*), where:

$$A = \left. \frac{\partial \eta(\mathbf{x}, \boldsymbol{\mu})}{\partial \mathbf{x}} \right|\_{\substack{\mathbf{x} = \mathbf{x}^\* \\ \mathbf{u} = \mathbf{u}^\*}} \quad \text{and} \quad \mathcal{B} = \left. \frac{\partial \eta(\mathbf{x}, \boldsymbol{\mu})}{\partial \mathbf{u}} \right|\_{\substack{\mathbf{x} = \mathbf{x}^\* \\ \mathbf{u} = \mathbf{u}^\*}}. \tag{6}$$

As demonstrated by Reference [48], the system approximation error term *Err*(*x*∗, *u*∗, *t*) can be neglected, having the nonlinear system simply linearized as ˙*x* = *Ax* + *Bu*.

Due to the fact that the linearization around the operating points holds, the plant and the weight matrices are assumed to be time-invariant and, therefore, *tf* in the time interval can be assumed to be equal to infinite.

If *<sup>P</sup>*(*t*) does converge, *<sup>P</sup>*˙ <sup>=</sup> **<sup>0</sup>** can be assumed for *<sup>t</sup> tf* and the resulting equation for the LQR problem is the so-called *algebraic Riccati equation* (ARE):

$$\mathbf{0} = -\mathbf{Q} - \mathbf{P}\mathbf{A} - \mathbf{A}^T \mathbf{P} + \mathbf{P}\mathbf{B}\mathbf{R}^{-1}\mathbf{B}^T \mathbf{P}.\tag{7}$$

Therefore , if *P*<sup>∞</sup> exists, the corresponding steady-state feedback gain matrix is given by *<sup>K</sup>*<sup>∞</sup> <sup>=</sup> *<sup>R</sup>*−1*BTP*∞. The resulting optimal control law is then obtained as: <sup>Δ</sup>*u*∗(*t*) = <sup>−</sup>*K*Δ*x*(*t*).

The adopted strategy aims to apply the quasi-linearization approach to the several system configurations related to the typical arm lifting trajectory as detailed in Section 2.1. The feedback control gains are computed for each configuration of the exoskeleton. Such control gains are stored and, based on the reference set-point *q ref* <sup>1</sup> , online applied by the gain scheduler. The proposed strategy is schematized in Figure 10.

**Figure 10.** Gain scheduler online updating the control matrix to the inner optimal controller.

#### *4.4. Empowering Fuzzy Controller Design*

The main motivation to adopt a *fuzzy logic* for the outer human's intentions-based control is to deal with complex, ill-defined, uncertain and dynamic processes, which are intrinsically difficult to being modelled mathematically. In order to account for human's behaviour inside the control architecture while establishing a human-oriented input-output relations, a fuzzy table is built. The empowering fuzzy controller, therefore, is the highest level controller and it is responsible for the online modification of the reference trajectory, based on the human's intentions of motion.

The inputs of the developed fuzzy controller are the *interaction torque τint*, the *interaction torque derivative τ*˙*int* and *shoulder joint angular velocity q*˙1. The output is the *assistance level AL* that is yielded to the controller in order to modify the reference set-point of the optimal control.

The strategy behind the choice of the *inputs* membership functions is to obtain an adequate map of the general motion intentions from the human operator, classifying whether the applied torque is intentional or not, thus recognizing if the shoulder joint is willing to move from the current configuration or not. At the same time, an appropriate definition of safety between human and exoskeleton is achieved. More in details, the speed of the shoulder and the interaction torque are monitored to avoid the excess of the specified threshold. Moreover, the embedded strategy allows to recognize whether the human's intention is willing to lift (*lifting assistance*) or lower (*lowering assistance*) the arm, accordingly defining the deformation of the optimal control trajectory.

#### 4.4.1. Membership Functions

The states of the membership function characterizing the shoulder joint velocity are: *stop*, *slow*, *move* and *fast*, whose aim is to decompose the velocity range into different states, to know whether the shoulder angular variation is too fast, too slow, in the desired motion range or to understand if the human wants to stop the motion. The states of the membership function characterizing the interaction torque are: *N*, *S* and *NS*, which stand respectively for *no torque* (below a specified threshold the control is not activated), *safe* and *not safe*. Finally, the states of the membership function characterizing the interaction torque derivative are: *variation* (*V*) or *no variation* (*NV*), meaning if the operator wants to move the shoulder or change the motion by increasing or reducing the applied torque or not.

The output membership functions for the assistance level *AL* range over four different fuzzy sets: *none*, *low*, *medium* and *high*.

#### 4.4.2. Rule Base

The rule base for the current control strategy can be summed up with the following nine rules for the lifting assistance and eight rules for the lowering assistance (rule #8 is omitted for the lowering phase). The rule base adjusts the level of assistance depending on how much the operator is willing to move from the current arm position, respectively yielding null to high assistance to the shoulder motion:

> ⎧ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨ ⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩ #1 IF *q*˙1 is *stop* AND *τint* is *S* AND *τ*˙*int* is *NV* THEN *AL* is *none* #2 IF *q*˙1 is *stop* AND *τint* is *S* AND *τ*˙*int* is *V* THEN *AL* is *low* #3 IF *q*˙1 is *slow* AND *τint* is *S* AND *τ*˙*int* is *NV* THEN *AL* is *low* #4 IF *q*˙1 is *slow* AND *τint* is *S* AND *τ*˙*int* is *V* THEN *AL* is *medium* #5 IF *q*˙1 is *move* AND *τint* is *S* AND *τ*˙*int* is *NV* THEN *AL* is *medium* #6 IF *q*˙1 is *move* AND *τint* is *S* AND *τ*˙*int* is *V* THEN *AL* is *high* #7 IF *q*˙1 is *f ast* THEN *AL* is *none* #8 IF *τint* is *NS* THEN *AL* is *none* #9 IF *τint* is *N* THEN *AL* is *none*.

Figure 11 shows the process of fuzzy rule base for the lifting assistance developed in MATLAB-R .

**Figure 11.** The nine fuzzy rules for the lifting assistance represented in MATLAB-R .

The online trajectory generation to be provided to the inner optimal controller and gain scheduler is, therefore, deformed by the required assistance by the human:

$$q\_1^{ref} = q\_1 - A\_L \text{sign}(\tau\_{int}).\tag{8}$$

In particular, the shoulder reference angular position is computed from the stored value of *q*<sup>1</sup> that is updated with a frequency of 50 Hz, only if the value of assistance level is different from zero. The value *AL*sign(*τint*) allows to establish whether the reference set-point needs to be decreased or increased with respect to the previous value, by considering the sign of the interaction torque.

**Remark 3.** *It has to be underlined that the only use of the force measurements cannot allow the fuzzy logic to identify an intention of motion of the human (the weight of the arm/payload affects this estimation). Including the velocity and the force derivative in the fuzzy controller can instead allow to understand if the human is intended to move the exoskeleton. In this case, in fact, it is possible to monitor the full interaction state between the human and the robot.*

**Remark 4.** *The proposed controller extends the work in Reference [49] including improved fuzzy membership functions and rules, together with the proposed lower level gain scheduling optimal controller.*

#### **5. Simulation Validation**

The effectiveness of the proposed control architecture has been validated in simulation. All the analyses have been carried out considering the nominal parameters of the system (Section 2.2), affected by uncertainties, in order to take into account modeling errors (e.g., unknown upper limb anthropometric characteristics, involuntary tremor, etc.).

The simulations are performed using MATLAB-<sup>R</sup> /Simulink.

#### *5.1. Empowering Human in Lifting Task*

The proposed controller has been tested in simulation assisting the operator in a lifting task of a 10 kg part (i.e., 5 kg for each exoskeleton arm as defined in Section 2.1). In the proposed simulation the payload is grasped at time equal to 1 s. At time equal to 4.5 s a torque is applied by the human shoulder to interact with the exoskeleton. Three interaction torque levels are simulated in Figure 12: 8 Nm, 12 Nm and 16 Nm. Such three torque levels have been implemented in simulation in order to show the different activation of the fuzzy rules. The simulation considers an initial joint velocity equal to zero (i.e., the corresponding state of the velocity membership function is *stop*). All the applied torques make the derivative of the interaction torque resulting in the *variation* state *V*. Considering the applied torques, the first interaction torque level is not able to activate the fuzzy controller to assist the human (i.e., the corresponding state of the interaction torque membership function is *no torque N*). The second and third interaction torque levels, instead, activate the assistance (i.e., the the corresponding state of the interaction torque membership function is *safe S*), deforming the set-point to the optimal controller until the torque decreases to zero. The proposed controller is, therefore, capable to distinguish from required assistance, empowering the human operator.

**Figure 12.** *Cont.*

**Figure 12.** (**a**) The interaction torque level 8 Nm is applied while manipulating the 10 kg payload added (i.e., 5 kg for each exoskeleton arm as defined in Section 2.1). The applied interaction torque is not able to activate the fuzzy controller to deform the set-point to the optimal control to assist the operator. (**b**) and (**c**) are related respectively to the 12 Nm and 16 Nm interaction torque levels. The fuzzy controller is activated, empowering the operator. In (**c**) the assistance is higher then in (**b**) due to the higher interaction torque level.

#### *5.2. (Partially) Unknown Part Manipulation Task*

Concerning the real industrial scenario, where the operator lifts and carries an external weight (like a car's bumper, Section 2.1), the proposed exoskeleton control logic has to guarantee an adequate support to the arm even manipulating (partially) unknown weight parts. The here presented simulation evaluates the performance of the model-based controller for an unknown load-handling task scenario.

The simulation in Figure 13 shows the shoulder joint position time history when an unknown external weight of 4 kg is applied on the exoskeleton (at time *t* = 1 s). The proposed controller has been compared with a PID controller that compute the control action *τPID* as follows:

$$\tau\_{PID}(t) = \mathcal{K}\_{\mathcal{P}}\left(q\_1^{ref}(t) - q\_1(t)\right) + \mathcal{K}\_d\left(\dot{q}\_1^{ref}(t) - \dot{q}\_1(t)\right) + \mathcal{K}\_i \int \left(q\_1^{ref}(t) - q\_1(t)\right)dt,\tag{9}$$

where *Kp* = 50 Nm/rad is the proportional gain, *Kd* = 15 Nms/rad is the derivative gain and *Ki* = 4 Nm/rad/s is the integral gain. The gains have been experimentally determined to achieve the maximum simulation performance while maintaining the system stability.

The fuzzy logic controller identifies that such load application is not resulting from a human intention of motion, therefore, not updating the reference trajectory to the inner optimal controller and gain scheduler. Comparing the results with the PID controller, the proposed controller is capable to suppress the vibrations while resulting in less deformation of the joint position.

**Figure 13.** Comparison between the proposed controller and PID controller compensating a 4 kg payload unknown weight. The proposed controller is capable to suppress vibrations, resulting in less deformation.

#### **6. Discussion**

The proposed methodology have considered both mechanical design and control design of a low-cost industrial upper limbs exoskeleton. On the basis of the provided analysis, it has been possible to define the mechanical design specifications, taking into account the reference task. Off-the-shelves components (such as motors, elastic belt, etc.) have been identified to satisfy the design requirements. In particular, the belt has been selected to satisfy the compliance actuation requirements, in order to ensure safety at the hardware level. It has to be underlined that a trade-off between design requirements and available solutions is required. In particular, the economic requirement and the torque requirements have been prioritized, with respect to weight and size requirements. The resulting solution, in fact, has a weight of 12 kg without batteries. The device weight can be reduced of about 3 kg by changing the shoulder motors (e.g., purchasing the ANYdrive actuators [50]). However, different motors will increase considerably the hardware costs (costs can vary from 1500 Euro to 5000 Euro per motor). The empowering controller has been designed with emphasis on safety. Safety rules embedded in the outer empowering fuzzy logic have been design on the basis of the interaction state. The designed safety rules allow to achieve a trade-off between empowering performance and safety requirements, avoiding to high dynamics motions, while guaranteeing a safe human-robot interaction. The inner optimal gain scheduling controller allows for the tracking of the reference provided by the outer control loop.
