## 3 Spiral Rolling-Gait Generation
### State Parameter Calculation Based on the Backbone Curve Method  
Since the metal obstacles on the cables are usually standardized components, during the inspection process, the curvature and torsion of the helical line are known. In the anti-vibration hammer section, the target winding object model is approximated as the combination of two concentric cylinders, with the specific cross-sectional shape as Figure 4:  
During the obstacle-crossing process of the snake-like robot, the position of the winding center will move downward from \(O_{1}\) to \(O_{2}\), and the winding radius will increase to \(r_{2}\). Table 1 shows the size parameters of the snake-like robot and the cable parameters used in this experiment:  
Figure 4: Schematic diagram of the cable cross-section. The radius \(r\) of the spiral winding curve of the snake-like robot is related to the winding radians as follows:  
\[r=\frac{D_{S}+D_{C}}{2\cos(\frac{\theta_{\mathrm{inf}}}{2N_{T}})} \tag{6}\]  
Define the backbone curve of the snake-like robot as a parametric curve \(\gamma(s)\), where \(s\) represents the arc length along the helical path. For the spiral rolling gait, the target joint angles are calculated as follows:  
\[\gamma(s)= \begin{bmatrix}r\cos(\omega s)\\ r\sin(\omega s)\\ ps\end{bmatrix}  \tag{7}\]  
\[p=\frac{\sqrt{L_{T}^{2}-(\theta_{\mathrm{c}}r^{2})}}{n} \tag{8}\]  
\[\theta_{\mathrm{c}}=2\pi n \tag{9}\]  
where \(r\) is the radius of the helical curve, \(\omega\) is the helical angular frequency, \(L_{T}\) is the total length of the snake-like robot, \(\theta_{c}\) is the winding radians, \(n\) is the number of winding turns, and \(p\) is the pitch. In order to accurately describe the motion direction and geometric shape of the curve in space, the **Frenet-Serret framework** (as shown in Figure 5) is employed to compute the tangent vector \(T(s)\), normal vector \(N(s)\), and binormal vector \(B(s)\) at a given point \(S\). By differentiating the space position vector \(\gamma(s)\) with respect to the arc length, the rate of change of the curve in different directions is obtained as the tangent vector \(T(s)\). Then, by differentiating the tangent vector \(T(s)\) with respect to the arc length \(S\), the normal vector \(N(s)\) is calculated, which describes the curvature direction of the curve. Finally, the binormal vector \(B(s)\), perpendicular to both the tangent and normal vectors, is computed to describe the twisting state of the curve. \begin{table}
\begin{tabular}{c c} \hline
**Parameter** & **Value** \\ \hline Number of joints in the snake-like robot & \(N_{T}=10\) \\ Length of each joint & \(l=105\) mm \\ Deflection joint angle range & \(\theta\in(-90^{\circ},90^{\circ})\) \\ Rotary joint range of motion & / \\ Snake body diameter & \(D_{S}=63\) mm \\ Target cable diameter & \(D_{C}=50\) mm \\ Anti-vibration hammer section fitting diameter & \(D_{T}=127\) mm \\ Initial winding radians & \(\vartheta_{init}=4\pi\) rad \\ Obstacle-crossing winding radians & \(\vartheta_{p}=3\pi\) rad \\ \hline \end{tabular}
\end{table} 
Table 1: Snake-like robot and the cable parameters. Figure 5: Backbone curve method and Frenet-Serret framework. Tangent vector \(T(s)\) and its normalization:  
\[\gamma^{\prime}(s)=\frac{d\gamma(s)}{ds}= \begin{bmatrix}-\omega r\sin(\omega s)\\ \omega r\cos(\omega s)\\ \frac{L\tau}{2\pi}\end{bmatrix}  \tag{10}\]  
\[T(s)=\frac{\gamma^{\prime}(s)}{|\gamma^{\prime}(s)|} \tag{11}\]  
Normal vector \(N(s)\) and its normalization:  
\[N(s)=\frac{T^{\prime}(s)}{|T^{\prime}(s)|} \tag{12}\]  
Binormal vector \(B(s)\):  
\[B(s)=T(s)\times N(s) \tag{13}\]  
Using Equations (7), (10) and (11), the curvature \(\kappa(s)\) and torsion \(\tau(s)\) of the helical curve can be determined. \[\kappa(s)=\left|\frac{dT(s)}{ds}\right| \tag{14}\]  
\[\tau(s)=B(s)\cdot\frac{dN(s)}{ds} \tag{15}\]  
The deflection angle \(\theta_{i}(t)\) describes the \"upward\" and \"downward\" orientation of the snake-like robot in space, while the rotary angle describes the rotation of the joint in the horizontal plane.