# Head-Raising of Snake Robots Based on a Predefined Spiral Curve Method
## 1 Introduction  
A snake robot is a mobile robot with a long and slender body and plays a crucial role in search and rescue operations, inspection and maintenance [1]. Controlling such robots is difficult, and a review of their modeling, implementation, and control can be found in [2]. Generally, for given tasks such as searching a trapped person in disaster areas, tracking a flying object and repairing a damaged pipe as a manipulator, the snake robot has to move its body with different motion modes, and head-raising motion is one of them. Snake robots' common motion modes include serpentine [3, 4], traveling wave [5, 6], concertina [7, 8], and sidewinding [9, 10] locomotion. Additionally, some researchers sought to find other motion modes such as fusion gait [11] and obstacle-aided locomotion [12]. However, these motion modes provide limited visual information. Consequently, snake robots have to raise their heads to observe their surroundings and perform their tasks. Therefore, the motion planning for head-raising of a snake robot is our research object in this paper. To the best of our knowledge, a few researches on head-raising motion of snake robots have been done, and they can be divided into two types: 2D (two dimensional) head-raising and 3D (three-dimensional) head-raising. This study aims at 3D head-raising. The concepts of 2D and 3D head-raising are illustrated in Figure 1. It should be noted that label 2 and 4 are line segments modelsof snake robots, which will be utilized in subsequent chapters for simulations. 2D head-raising can be found in [13], the authors proposed an improving serpentine input function to achieve the head-raising motion of a snake robot and analyzed the zero-moment point to assess the stability of the robot. As for 3D head-raising [14; 15], to realize it is more complicated. In [14], the works were based on an assumption that the head part of the robot is not contact with the ground and regarded as a manipulator, which is able to achieve several sub-tasks in 3D environment. Therefore, essentially speaking, the researchers mainly considered tracking the trajectory of a snake robot's head rather than the head-raising process. Inspired by the work made by [PERSON] et al, we currently are working on trajectory tracking of the snake robot head by improving our model. There still exists problems to be solved and a video about the trajectory tracking (Concept_of_trajectory_tracking.avi) can be seen in Supplementary Materials. In [15], the authors regarded a snake robot as a serially linked floating-base robot and divided it into base and active modules. The base modules were used to construct the support polygon for maintaining stability during the head-raising process and can be changed to active modules to allow the head to stretch to a given position and orientation. The trajectory functions of individual joints were set as parameterized cubic spline curves, and the head-raising motion was achieved by optimizing these parameters according to some criterions. In summary, existing works of head-raising attempt to find the input functions of individual joints. However, in this study, the input functions (angle sequences with respect to time) are unknown, and they are obtained by shape-fitting and phase-shifting algorithms, which will be introduced in the subsequent chapters. Achieving motion control for a snake robot is difficult because of the kinematic redundancy, which can be solved by the shape control method. Motion control based on a spiral curve belongs to the category of the shape control. It is necessary to introduce the concept of shape control method. This method can not be described in theory, and it is a kind of idea to control the motion of snake robots or hyper-redundant manipulators. The idea of shape control method is employing a geometric curve to constrain a robot's configuration by fitting the continuous curve and discrete link model as closely as possible. If change the shape of the geometric curve with respect to time, the robot can achieve continuous motion.