## 3 Kinematic Analysis of CDFM
### Mapping between Cable and Joint  
To describe the kinematic relation between the cable and the joint of the CDFM, the tendon joint was assumed to have a constant curvature, thus allowing us to create a geometric model based on a constant-curvature assumption, as shown in Figure 6. The coordinate systems \(\{O_{j}\}\) and \(\{O_{t,j+1}\}\) existed in the center of the two discs with their \(Y\)-axes in the normal direction of the disc and \(X\)-axes and \(Z\)-axes in the radial direction of the disk. The coordinate system \(\{O_{j,i}\}\) was in the center of the hinge with the same posture as the coordinate system \(\{O_{t,j}\}\). The length of each driving cable could be derived by using (3), including the length inside the tubular structure and at the joint. The driving cable length inside the tubular structure was a constant that was equal to the length of the tubular structure, while the length of the cable at the joint was equal to the length of the spring. The spring at the joint bent when the joint rotated, and the bending curvature was a constant. There were two driving cables at each joint; one made the joint bend the active one, while the other was the  
Figure 5: Multilevel mapping relationship of CDFM. Figure 6: The kinematic model of a single joint. slave. The relationship between the driving cable length and the joint angle at the i-th joint could be derived as follows:  
\[l_{ijk}=\left\{ \begin{array}{ll}\frac{2h-d\tan(\frac{\theta_{i}}{2})}{2\tan( \frac{\theta_{j}}{2})}\theta_{i}\,,&k=1,3\\ \frac{2h+d\tan(\frac{\theta_{i}}{2})}{2\tan(\frac{\theta_{j}}{2})}\theta_{i} \,,&k=2,4\end{array} \right. \tag{2}\]  
\[L_{ijk}=\sum_{i=1}^{6}\left(l_{ijk}+H\right) \tag{3}\]  
where \(l_{ijk}\) is the length of the \(k\)-th (\(k\) = 1, 2, 3, 4) cable at the \(i\)-th joint; \(\theta_{i}\) is the joint angle; \(h\) and \(d\) are constants that respectively denote the length of the bracket and the diameter of the rigid tubular structure (according to (2), when the joint angle was zero, the length of the driving cable at each joint was 2 h (2 h = 40 mm)); \(L_{ijk}\) is the total length of the \(k\)-th driving cable for the first \(i\) joints; and \(H\) is the length of the rigid tubular structure. Such continuum-style robots are typically composed of multiple arm segments with each consisting of multiple rigid rods and elastic elements such as springs [37]. Assuming approximately equal angles between the adjacent rods within each segment, the constant curvature was approximately valid for the robot without external loads and gravity [28]. Each arm segment of the manipulator designed in this paper was composed of multiple rigid rods and springs with the proximal segment moving in the horizontal direction, thus the influence of gravity could be ignored. Without considering the external load, the joint angles between the adjacent rods in the segment were equal. The relationship between each joint angle in the first segment is shown as follows:  
\[\theta_{1}=\theta_{2}=\theta_{3} \tag{4}\]  
The distal arm segment moved in the vertical direction while only considering the external gravity load; the force is shown below in Figure 7.  
According to formula (2), the relationship between the spring \(2i\) and the elastic force \(2i-1\) at the same joint \(i\) can be obtained as (5):  
\[\frac{\textbf{F}_{2i}}{\textbf{F}_{2i-1}}=\frac{l_{i,3}}{l_{i,4}}=\frac{2h-d \tan(\frac{\theta_{i}}{2})}{2h+d\tan(\frac{\theta_{i}}{2})} \tag{5}\]  
Assuming that the mass of each rod was concentrated in the centroid, the influence of gravity on spring deformation was derived by using the centralized mass method and the holistic method, for which there exists the following system of equations:  
\[\left\{ \begin{array}{ll}\left(\textbf{G}_{4}+\textbf{G}_{5}+\textbf{G}_{6} \right)H_{1}=(\textbf{F}_{2i}+\textbf{F}_{2i-1})\frac{d}{2}\\ \left(\textbf{G}_{5}+\textbf{G}_{6}\right)H_{2}=(\textbf{F}_{2(i+1)}+\textbf{ F}_{2(i+1)-1})\frac{d}{2}\\ \textbf{G}_{6}H_{3}=(\textbf{F}_{2(i+2)}+\textbf{F}_{2(i+2)-1})\frac{d}{2} \end{array} \right.