# A Head Control Strategy of the Snake Robot Based on Segmented Kinematics
## 2 The Strategy of the Head Control
### The Calculation of Joint Angles for the Base Part  
In this paper, the axis of the snake robot is orthogonal to each other and the joint has only one degree of freedom. This structure is widely adopted by the researcher in the snake robot field [5; 19; 20]. The illustration of the snake robot configuration can be seen in Figure 1a. The robot has two types of joints, the yaw joint and the pitch joint. This configuration can help the snake robot to achieve motion in three-dimensional space. The base part of the robot is the part contacting with the ground, which is shown in Figure 1b.  
In the process of the head control for the snake robot, the base part is used to ensure the body of the snake robot keeps stable. The support polygon method and zero-moment point method are usually used to judge whether the body is stable [21]. When the support polygon has a larger area, the body will have a greater possibility of stable standing. As we know, for a given perimeter of the polygon, the circle has the largest coverage area among all the plane polygons. Thus, we design the backbone of the base part as a plane circle. Then we use the backbone curve theory to discretize the backbone curve to generate the joint angles of the base part. The support polygon and the backbone curve are shown in Figure 2.  
Figure 1: (**a**) The axis of each joint is rotated 90 degree relative to the previous joint axis; yaw joint generates rotation out of the plane, while pitch joint generates rotation in the plane in this illustration. (**b**) The overview of the snake robot.  
Figure 2: The support polygon constructed by the base part of the snake robot and the plane arc backbone curve. The symbol ’bc’ means backbone curve and symbol ’sp’ means support polygon.  
We assume that the backbone curve of the base part has a length \(l\), and the joint angles of the base part are generated by the discretizing a plane arc with a radius \(r\). Thus, we have the following equations,  
\[r=\frac{l}{\theta} \tag{1}\]  
\[S=\frac{1}{2}r^{2}(\theta-\sin(\theta)) \tag{2}\]  
where \(\theta\) is the central angle of the plane arc, and \(S\) is the area enclosed by the backbone curve, shown in Figure 2. When \(\theta\) equals \(\pi\), \(S\) have the maximum value \(1/2\pi r^{2}\). More details about the support polygon and zero-moment point will be introduced in Section 3.  
After the backbone curve of the base part is determined, we need to discretize the backbone curve to obtain joint angles. We adopt the discretization method based on the curvature and torsion of the backbone curve [22]. The corresponding formulas are given as:  
\[\phi=\int_{0}^{s}\tau(s)\mathrm{d}s \tag{3}\]  
\[\begin{cases}\kappa_{y}(s)=\kappa(s)\cos(\phi)\\ \kappa_{p}(s)=\kappa(s)\sin(\phi)\end{cases} \tag{4}\]  
\[\theta_{y}=\int_{s_{1}}^{s_{2}}k_{y}(s)\mathrm{d}s \tag{5}\]  
\[\theta_{p}=\int_{s_{1}}^{s_{2}}k_{p}(s)\mathrm{d}s \tag{6}\]  
where \(\kappa(s)\) and \(\tau(s)\) are the curvature and the torsion of the backbone curve at the arc length \(s\). \(\phi\) is the phase angle of the discretization. In addition, it is obtained by the integral of the torsion on the arc length \(s\). In addition, it describes the twist of the Frenet-Serret frame along the backbone curve [23]. \(\kappa_{y}\) and \(\kappa_{p}\) are the curvature projection on the yaw direction and the pitch direction, which are used to describe the bending along the yaw and pitch direction. Furthermore, \(\theta_{y}\) and \(\theta_{p}\) are the yaw joint angles and the pitch joint angles of the base part shown in the Figure 1a. \(s_{2}\) and \(s_{1}\) in Equations (5) and (6) are the start arc length and end arc length of the discretization respectively. For a spatial curve \(