# Towards a More Robust Non-Rigid Robotic Joint
## 2 Design, Modeling and Control
### Proposed Model  
The conceptual representation of this system is illustrated in Figure 3. The linear differential equations that represent it are presented below. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Reference** & **Description** & **Price Range** \\ \hline CQRGL20180525-52 GB & CQRobot DC Geared Motor w/Encoder 12V/52 RPM/72 Kg.cm & 25–30 € \\ S-1148 & Traction Spring L-145 Lo-25.5 De-6.7 D-0.889 & 35–40 € \\ FRT-K2-502 & ACE Rotary Damper & 50–60 € \\ TAL 220 & 10 Kg Load Cell & 10–12 € \\ A000066 & ARDUNIO UNO REV3 & 20–25 € \\ BTS7960B & High-Power DC Motor Driver & 10–13 € \\ HX711 & Load Cell Amplifier & 12–15 € \\ AS5048A & 14-Bit Rotary Position Sensor with Digital Angle Output & 12–15 € \\
**TOTAL** & 174–210 € \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Components used and their price ranges. Figure 1: CAD representation and real joint (v1). (**a**) 3D render of joint (previous version (v1)); (**b**) Real joint (previous version (v1)). Figure 2: CAD representation and real joint (v7). (**a**) Render of joint (v7); (**b**) Real joint (v7). The spring induced torque can be modeled by spring constant (\(K\)) multiplied by the difference between the input and output angular positions. \[\tau_{K}=K\cdot(\theta_{2}-\theta_{1}) \tag{1}\]  
The viscous induced torque can be represented as the damping coefficient (\(B\)) multiplied by the difference between the input and output angular speeds. \[\tau_{B}=B\cdot\left(\frac{d\theta_{2}(t)}{dt}-\frac{d\theta_{1}(t)}{dt}\right) \tag{2}\]  
Now, since during our experiments the input position is fixed, \(\theta_{1}\) and \(\omega_{1}\) are equal to zero. So, the system angular acceleration over time can be obtained through  
\[\frac{d\omega_{2}(t)}{dt}=\frac{1}{\int}(-K\theta_{2}-B\omega_{2}) \tag{3}\]  
Using only the derivatives of \(\theta_{2}\), the previous equation becomes  
\[J\cdot\frac{d^{2}\theta_{2}(t)}{dt}+B\cdot\frac{d\theta_{2}(t)}{dt}+K\cdot \theta_{2}(t)=0 \tag{4}\]  
As can be seen from [22], the model presented is correct and can be applied to the modeling of a non-rigid joint. However, taking into account the non-linearity of the dead zone of the joint, it was decided to modify the presented model to predict this non-linearity by first changing Equation (3):  
\[\frac{d\omega(t)}{dt}=\frac{1}{\int}(-d(\theta(t))-B(\omega(t))) \tag{5}\]  
where \(d(\theta)\) is introduced to model the dead-zone and \(B(\omega)\) to model the viscous friction. \(d(\theta)\) is defined by Equation (6), where \(-\theta_{d}\) and \(\theta_{d}\) are the dead zone left and right limits, as illustrated in Figure 4, while \(B(\omega)\) is defined by Equation (7). Figure 3: Joint conceptual representation. \[d(\theta)= \begin{cases}(\theta-\theta_{d})\cdot K&\text{if }\theta>\theta_{d}\\ 0&\text{if }-\theta_{d}<\theta<\theta_{d}\\ (\theta+\theta_{d})\cdot K&\text{if }\theta<-\theta_{d}\end{cases}  \tag{6}\]  
\[B(\omega)= \begin{cases}B\cdot\omega+G\cdot(\omega-G_{d})&\text{if }\omega>G_{d}\\ B\cdot\omega&\text{if }-G_{d}<\omega<G_{d}\\ B\cdot\omega+G\cdot(\omega+G_{d})&\text{if }\omega<-G_{d}\end{cases}  \tag{7}\]  
Again, it is considered that the initial conditions cannot be null, so \(\theta(0)=\theta_{0}\) and angular speed are considered null, \(\omega(0)=0\). Another important note is that, for the discretization, it was considered that \(\theta[-2]=\theta[-1]=\theta[0]\). Thus,  
\[\omega(t)=\frac{d\theta(t)}{dt}\simeq\frac{\Delta\theta}{\Delta t} \tag{8}\]  
\[\omega[k]=\frac{\Delta\theta}{\Delta t}=\frac{\theta[k]-\theta[k-1]}{\Delta t} \tag{9}\]  
A finite difference approximation method was used to represent the referred model, more specifically a second-order central, presented in Equation (10) and manipulated to obtain the model presented in Equation (12).