*3.1. Motor System Identification*

The model considered for identification is the DC motor (and gear) used in the pull mechanism of the robot. Identification data was captured using different input steps of [1, 2, 3, 4, 5] Volts corresponding to throttle input values of [200, 400, 600, 800, 1023]. A small gain variation was observed for the different input values, resulting in several transfer functions. In order to use a single model, the average will be considered. The time responses of the identification results and the average transfer function considered are shown in Figure 11 including the identification captured data.

Observe how the maximum possible velocity is close to 6 rad/s, meaning a saturation of the system velocity for inputs of this value and higher. In addition, given the low cost approach of the design, the motor open loop response is noisy and shows dead zones. Therefore, a velocity feedback is proposed to obtain a linear behavior in the motor side.

**Figure 11.** Motor system identification. Different systems identified depending on the inputs (**a**) and average system time response (**b**) compared to the captured data.

#### *3.2. Controller Design*

The average transfer function found through RLS identification is shown in Equation (7). This is the low level plant model used for the low level velocity control loop.

$$G\_{\rm v}(s)\_{\rm motor} = \frac{0.09991}{s + 19.11} \tag{7}$$

The proposed control scheme is shown in Figure 12. It consists of a feedback loop having a controller with reference in Velocity (rad/s) and output in the same units. As the motor model considered is the one discussed above, the control signal is the motor throttle (0–1023), with a saturation in 1023.

**Figure 12.** Motor velocity control system.

Given the plant gain variability detected, a robust control is proposed to cope with that plant parameter uncertainty. The controller tuning method proposed is the iso-m described in [35], which includes the robustness conditions in the tuning algorithm. Similar to many fractional order controller tuning methods, the desired performance specifications are based on the phase margin and crossover frequency features of the open loop frequency response. These are related to closed loop features such as bandwidth frequency and resonant peak height, which in turn are related to transient time response properties such as overshoot and peak time. Table 2 shows a summary of the most common constraints used in the frequency domain and time domain to define performance specification.

**Table 2.** Equivalence between frequency specifications and time response.


It is a common practice to define the system performance by means of the open loop frequency variables (see [36]). In similar works like [37,38], the usual control specifications are crossover frequency (*ωgc*) and phase margin (*φm*). As stated, the first is related to the system responsiveness (peak time) and the second to stability (overshoot). Equations (8) and (9) formulate these specifications, respectively:

$$|\mathbb{C}(j\omega\_{\mathbb{S}^c})\mathbb{G}(j\omega\_{\mathbb{S}^c})|\_{\text{dB}} = 0 \text{ dB},\tag{8}$$

$$\arg \left( C(j\omega\_{\mathbb{S}^c})G(j\omega\_{\mathbb{S}^c}) \right) = -\pi + \phi\_{m\prime} \tag{9}$$

where *C*(*jωgc*) is the controller frequency response at *ωgc*, *G*(*jωgc*) is the plant frequency response at *ωgc*, and *φ<sup>m</sup>* is the desired open loop phase margin for the controlled system.

Once the gain crossover frequency *ωgc* and the phase margin *φ<sup>m</sup>* are set, following the steps described in [35] will provide a solution for the controller parameters using the iso-m method.

Given the method's flexibility, both fractional and integer order controllers can be used, allowing a comparison between their results.

The integer order controller is defined by

$$IOPI(s) = kp + ki/s,\tag{10}$$

*kp* and *ki* being the proportional and integral controller gains, while the fractional order controller is defined by

$$FOPI(s) = kp + ka/s^a,\tag{11}$$

where *kp* and *ka* are the proportional and integral controller gains and *α* the fractional order of the integral operator.

Note that the number of parameters available for tuning while using the IOPI integer controller Equation (10) is not enough to fulfill the three specifications. This restricts the possible tuning inputs in that case, requiring a decision between overshoot (*φm*) or responsiveness (*ωgc*). Then, the remaining specification will be given by the system characteristics and the chosen specification. A controlled overshoot is important to assure a good upper level control loop behavior; therefore, it will be defined using a phase margin of *φ<sup>m</sup>* = 80 deg for the tuning of both controllers.

In the IOPI case, this fully defines the controller using the iso-m method. Using the algorithm described in [35], the tuning parameters obtained were *kp* = 163.9 and *ki* = 4462.3. The responsiveness depends on the other values, resulting *ωgc* = 20 rad/s in this case. Figure 13 shows the frequency open loop response and the expected closed loop time response for different plant gains using the integer order controller.

**Figure 13.** Open loop Bode diagram (**a**) and closed loop time response (**b**) for the integer order (IOPI) controller.

In the case of the FOPI controller, the two specifications described above can be used for controller tuning. The fractional order operator improved flexibility allows us to double the responsiveness while keeping the same robustness compared to the previous results. Therefore, *φ<sup>m</sup>* = 80 and *ωgc* = 40 rad/s can be used to specify the closed loop behavior. Using the algorithm described in [35], the tuning parameters obtained were *α* = −0.9100, *Kp* = 323.9, *Ka* = 7388.5. Figure 14 shows the frequency open loop response and the expected closed loop time response for different plant gains.

**Figure 14.** Open loop Bode diagram (**a**) and closed loop time response (**b**) for the fractional order (FOPI) controller.

The resulting plant in closed loop is a velocity reference input, real plant velocity output system described by Equation (12). Both measured and reference value units are rad/s. Therefore, the output obtained from the actuator is also expressed in rad/s with a maximum possible value of 5.5 rad/s.

$$F\_v(s)\_{motor} = \frac{16.38s + 445.8}{s^2 + 35.49s + 445.8} \tag{12}$$

Using an integrator on *Fv*(*s*), the resulting plant *Gp*(*s*) = *Fv*(*s*)/*s* is the velocity input, position output system with 1 rad/s crossover frequency.

Using this plant model, a high level position loop was designed. Given the convenient low level system response, we can design our servo-system using a feedback loop with a simple proportional controller. The designed position closed loop is shown in Figure 15.

The expected time response of a controller with a gain of 10 (Kp = 10) is also shown in Figure 15. This control scheme defines the position output of the motor shaft from an input reference (in (rad) units).

**Figure 15.** *Cont.*

**Figure 15.** Motor position control system. Motor position control system. (**a**) Control system diagram. (**b**) Step response.

#### *3.3. Whole System Behavior*

Using the actuator described, an input step was performed in the robot. Given the results of the model simulation compared to the real response obtained, we can say that both systems are similar, concluding that the spring and the origami shape are not changing the behavior of the actuator plant. Therefore, we can find a model based on the feedback loop proposed resulting in a transfer function as follows:

$$G\_p(\text{s})\_{origami} = \frac{163.8\text{s} + 4458}{\text{s}^3 + 35.49\text{s}^2 + 609.6\text{s} + 4458} \tag{13}$$

In order to validate the model, a step input of 0.5 rad (saturation will happen in the motor for higher targets) was fed into the system, resulting in the time response shown in Figure 16. The open loop frequency response of the whole system model is also shown in the figure, with a phase margin of *Pm* = 65.4 deg at a gain crossover frequency *ω<sup>c</sup>* = 9.62 rad/s.

**Figure 16.** *Cont.*

**Figure 16.** Origami system identification. Step response in closed loop (**a**); Bode diagram in open loop (**b**).
