Appenndix 1: Model parameter identification
The model parameters are calculated from torque data for the deformation of the spring obtained by the experiments with actual springs. First, the parameters associated with the ascending curve and the descending curve are firstly calculated from data of blue solid lines as shown in Fig. 20b when spring deformation trajectory is given from blue solid lines in Fig. 20a. These data is the experimental data for the medium stiffness spring of Table 4. The trajectory shuttle with a constant speed between the minimum and maximum value of predetermined deformation range. Although a permissible torque range of the SEA was about 14 Nm torque spring, we set the deformation range for spring identification about 16 Nm with marginal range. First, the linear stiffness k is obtained by the linear regression from the total data as satisfying following format
$$\begin{aligned} \tau =k\theta . \end{aligned}$$
(40)
Then data is classified into four of positive ascending curve, negative ascending curve, positive descending curve, and negative descending curve, based on the sign of displacement and its velocity. Specific parts of data speculated to transition line are removed discretionally. We discarded a part of data as much as 0.05rad from maximum displacement of positive descending curve and minimum deformation of negative ascending curve. The four curve functions of the model are obtained through polynomial regression process that meets the format of Eq. (17). We decided proper degrees of the polynomials though trial and error, and they were decided ’5’ in common in case of the medium spring module. Then these result functions are checked to satisfy the condition of Eqs. (14) and (15). Figure 21 shows the results of polynomial regression from the data shown in Fig. 20. The solid lines of Fig. 21a imply four sub-functions \({f _{ac+}}\), \({f _{ac-}}\), \({f _{dc+}}\), and \({f _{dc-}}\) of ascending and descending curves. Their parameters are described in Table 4. Dashed black line in Fig. 21a represents the difference between the ascending and the descending curve, and we can determine whether they satisfy the condition of Eq. (14) by checking those line. The condition of Eq. (15) is checked by derivative of the functions of dash-dotted line in the Fig. 21b. It is also used for finding the constant slope values of the transition line function to make sure that they meet the conditions of Eqs. (19) and (20).
A separate experiment is necessary in order to obtain the constant slope values \({s_+}\) and \({s_-}\) of transition line function. To obtain these values, it requires a trajectory of deformation that has a lot of winding direction switching in a variety of deformation values as shown in Fig. 22a. The deformation-torque data from experiments with this deformation trajectory shown in Fig. 22b, c.
To obtain \({s_+}\) and \({s_-}\), torque estimation for spring deformation data is required for any slope value of s which satisfy the conditions of Eqs. (19) and (20). Results of ascending and descending curve functions obtained previously are required for this purpose, then torque estimation have to be performed by the model function described in the Algorithm 1. The extracted parameter \({s_+}\) and \({s_-}\) have to be make the least total sum of difference between estimated torque values and measured values. To satisfy this condition, the following objective function for a optimization process is required
$$\begin{aligned} \tau _{err,k}(\theta _k,s)=\tau _k -f_{hys}(\theta _k,s) \end{aligned}$$
(41)
where subscript k is k-th acquired data, \({\tau _{err,k}}\) is torque error between a estimated value and a measured value, \({\tau _k}\) is measured value, and \({f_{hys}}\) is the hysteresis model function that has input of deformation value \({\theta _k}\) and slope variable s. Finally, \({s_+}\) and \({s_-}\) according to the sign of the deformation value are obtained as follows
$$\begin{aligned} s_{+}= & {} {{\mathrm{argmin}}}_{s\in (s_{+,min},\infty )}\sum _{k=1}^{n}\tau _{err,k,+}(\theta _{k}, s) \,\,\, (\theta _{k}\ge 0) \end{aligned}$$
(42)
$$\begin{aligned} s_{-}= & {} {{\mathrm{argmin}}}_{s\in (s_{-,max},\infty )}\sum _{k=1}^{n}\tau _{err,k,-}(\theta _{k}, s) \,\,\, (\theta _{k}< 0) \end{aligned}$$
(43)
where \({s_{+,min}}\) and \({s_{,min}}\) are from the conditions of Eqs. (19) and (20). In this manner, all of the parameters of the proposed model are obtained. Table 7 describes torque error between estimation value and measured value of the springs according to models.
Table 7 Error between measured torque value and estmatied value by spring models for the three springs
Appendix 2: Model passivity
In this section, we prove that all of the contour integral values of the hysteresis loops in the proposed model is non-negative, supporting the condition of Eq. (35) showing passivity of the model. There are four possible cases of the hysteresis loops of the model, and their contour integral values are calculated in this section. For simplicity, cases in positive deformation of springs are covered. Figure 23 shows examples of the four types of loops when deformation values are positive.
First of all, we deal with the loop generated by the path OBAO (\({\theta _O<\theta _A<\theta _B}\)). The loop is closed by a ascending curve, a descending curve, and a trasition line. Its contour integral is represented as the sum of two definite integral as following
$$\begin{aligned} \begin{aligned} \oint _{OABO}\tau d\theta&=\int _{\theta _O}^{\theta _A} [f_{ac+}(\theta )-f_{dc+}(\theta )] d\theta \\&+\int _{\theta _A}^{\theta _B} [f_{ac+}(\theta )-f_{tl+,AB}(\theta )] d\theta \\&>0 \,\,\,\,\,\,(\theta \ni [\theta _{min},\theta _{max}] ). \end{aligned} \end{aligned}$$
(44)
where \({\theta }\) with subscript is deformation at specific point, \({f_{tl+,AB}}\) is the transition line function passing through the segment AB, and \({\theta _{min}}\) and \({\theta _{max}}\) are minimum and maximum deformation values, respectively. The first definite integral term is positive from the condition of Eq. (14), and the second term is also positive the condition of Eq. (21). Thus the contour integral of path OBAO is positive.
The loop by the path CDFEC (\({\theta _C<\theta _D<\theta _E<\theta _F}\)) is closed by a ascending curve, a descending curve, and two transition lines. The contour integral is depicted as following
$$\begin{aligned} \begin{aligned} \oint _{CDFEC}\tau d\theta&=\int _{\theta _C}^{\theta _D} [f_{tl+,CD}(\theta )-f_{dc+}(\theta )] d\theta \\&+\int _{\theta _D}^{\theta _E} [f_{ac+}(\theta )-f_{dc+}(\theta )] d\theta \\&+\int _{\theta _E}^{\theta _F} [f_{ac+}(\theta )-f_{tl+,FE}(\theta )] d\theta \\&>0 \,\,\,\,\,\,(\theta \ni [\theta _{min},\theta _{max}] ) \end{aligned} \end{aligned}$$
(45)
where \({f_{tl+,CD}}\) and \({f_{tl+,FE}}\) are the transition line function passing through the segment CD and FE, respectively. This integration is also positive by the condition of Eqs. (14) and (21).
In case of path GIJHG (\({\theta _G<\theta _H<\theta _I<\theta _J}\)), the loop is surrounded by a ascending curve, a descending curve, and two transition lines like the previous case. The contour integral is expressed as following
$$\begin{aligned} \begin{aligned} \oint _{GIJHG}\tau d\theta&=\int _{\theta _G}^{\theta _H} [f_{tl+,GI}(\theta )-f_{dc+}(\theta )] d\theta \\&+\int _{\theta _H}^{\theta _I} [f_{tl+,GI}(\theta )-f_{tl+,HJ}(\theta )] d\theta \\&+\int _{\theta _I}^{\theta _J} [f_{ac+}(\theta )-f_{tl+,HJ}(\theta )] d\theta \\&>0 \,\,\,\,\,\,(\theta \ni [\theta _{min},\theta _{max}] ) \end{aligned} \end{aligned}$$
(46)
where \({f_{tl+,GI}}\) and \({f_{tl+,HJ}}\) are the transition line function passing through the segment GI and HJ, respectively. The first integral term and the third term are positive by the condition of Eq. (21). From Eq. (18), the function inside the second integral term can be expressed as following
$$\begin{aligned} \begin{aligned} f_{tl+,GI}(\theta )-f_{tl+,HJ}(\theta )&= (s_+\theta +p_{GI})-(s_+\theta +p_{HJ})\\&= p_{GI}-p_{HJ} \end{aligned} \end{aligned}$$
(47)
where \({s_+}\) is constant slope of the positive transition line function, \({p_{GI}}\) and \({p_{HJ}}\) are constant terms of function \({f_{tl+,GI}}\) and \({f_{tl+,HJ}}\), respectively. If the difference between \({p_{GI}}\) and \({p_{HJ}}\) is positive, description of Eq. (46) is true. Function \({f_{tl+,GI}}\) and \({f_{tl+,HJ}}\) go through the point \({G~(\theta _G, \tau _G)}\) and \({H~(\theta _H, \tau _H)}\) respectively, thus following two equations can be expressed.
$$\begin{aligned} {\left\{ \begin{array}{ll} \tau _G=s_+ \theta _G+p_{GI} \\ \tau _H=s_+ \theta _H+p_{HJ} \\ \end{array}\right. } \end{aligned}$$
(48)
By simplifying Eq. (48) for constants \({p_{GI}}\) and \({p_{HJ}}\) and then substituting these equations to Eq. (47), following result is obtained from the condition of Eq. (21).
$$\begin{aligned} \begin{aligned} p_{GI}-p_{HJ}&=s_+(\theta _H-\theta _G)-(\tau _H-\tau _G) \\&=\frac{f_{tl+,GI}(\theta _H)-f_{tl+,GI}(\theta _G)}{\theta _H-\theta _G}\cdot (\theta _H-\theta _G) \\&\,\,\,\,-(f_{dc+}(\theta _H)-f_{dc+}(\theta _G)) \\&=f_{tl+,GI}(\theta _H)-f_{dc+}(\theta _H) \\&>0 \,\,\,\,\,\,\, \,\,\,\,\,\,\, (\theta \ni [\theta _{min},\theta _{max}]) \end{aligned} \end{aligned}$$
(49)
Therefore, description of Eq. (46) is true.
The path KLK(\({\theta _K<\theta _L}\)) is only on a transition line, thus there is no hysteresis loop by the model. The contour integral of this case is represent as following
$$\begin{aligned} \begin{aligned} \oint _{KLK}\tau d\theta&=\int _{\theta _K}^{\theta _L} [f_{tl+,KL}(\theta )-f_{tl+,KL}(\theta )] d\theta \\&=0 \,\,\,\,\,\,(\theta \ni [\theta _{min},\theta _{max}] ) \end{aligned} \end{aligned}$$
(50)
where \({f_{tl+,KL}}\) is the transition line function passing through the segment KL.