Gait, Stability and Movement of Snake-Like Robots

This paper provides theoretical analysis of some key features of snake-like robot locomotion. Inspired by the moving mechanism of animals, the snake robot built with simple modules is numerically controlled. A most common method for its locomotion is to apply a central pattern generator to efficiently generate the control signals of gait and movement. This paper analyses stability, crawling gait, moving velocity, climbing capability, the capability to cross ditches and avoid obstacles, etc. Mathematical models and simulations show the theoretical validity and robot capabilities.


Introduction
Although wheels, tracks and legs have been widely used in traditional robots, sometimes they cannot adapt to the needs of complex environments. At present, the flexible locomotion gaits, such as winding, sliding, tumbling and jumping, are more effective movement patterns. Snakelike robots feature structural characteristics, such as multi-degrees of freedom, multi-joints and modular structure, which allow a variety of movement methods and good adaptability. Snake-like robots can be applied to many situations with obstacles, uneven ground, narrow spaces and other special environments, for interplanetary exploration, military reconnaissance and attack, underwater underground pipe inspection, examination and treatment of diseases in humans, disaster relief and independent operation in other nonstructural environments [1,2]. In particular, they could also play an important role in future planetary exploration [3]. Currently there are many excellent robots in the world.
The majority of land animals are quadrupeds and their locomotion is generated and controlled, in part, by a Central Pattern Generator (CPG), which is an intra-spinal network of neurons capable of producing rhythmic output. In the field of modular robots, the CPG plays an important role in motion expression. Almost all the modular robots adopt the CPG model, e.g., GZ-I modules [19,20].
Among the many snake-like robots developed by all researchers, their gait, stability and movement have not as yet been systematically analysed. In this paper, according to the design structure of snake-like robots [21], we analyse their locomotion and related issues including the robot's crawling gait, crawling velocity and climbing ability over obstacles. A mathematical model and simulation experiments are given to illustrate the ideas and robot capabilities.

Gait
The GZ-I module is composed of a servo motor and a mechanical framework. It only has one degree of freedom, actuated by the servo. The module has a rotation of ±90 degrees, i.e., 2. There are three connected surfaces for attaching other modules, i.e., two bottom pieces and an outer support piece, and thus they have three different means of connection [17][18][19][20].

Locomotion Gait
In the structure, every two adjacent modules are interconnected by a hinge spatial ball. When the snake robot is travelling in a straight line, the whole snake can also be seen as a chain of dozens or hundreds of modules. The snake-like robot is illustrated in simplified form in Fig. 1, where each black dot represents the pivot point of each module. Let us first take the simplest case when the snake-like robot is composed of two modules. It can perform forward movement in the form of a short wave, although it cannot form a complete body wave. The locomotion gait of the snake-like robot composed of two modules in one period is explained in [17][18][19][20]. When the body wave passes from the tail to the snake head, it completes a cycle of movement.
The step size is x when the robot moves in one period along the x axis. Assuming the length of each module is 2h, a mathematical model of the robot moving forward is shown in Fig. 2. Consider the initial stage of wave formation as shown in Fig. 2. Let Node 1 (P1P2) be the dynamic node and Node 2 (P2P3) be the static node. That is, along with the body wave from time t1 to time t2, Node 1 keeps in the horizontal direction and Node 2 lifts. P1P2P3 forms a right triangle, where the clockwise rotation of the joint is positive. In the process, joint one is negative and its maximum rotation angle is 60 degrees. Joint two is positive. When it reaches 30 degrees, the shape forms the first small wave of the tail. In the next step of body wave propagation, Node 2 becomes a dynamic node and Node 1 is static. The distance between P1 and P3 is fixed, i.e., L in (1). h is a half length of a single module. i represents the angle between each module and the horizontal one, and i represents the angle between two adjacent modules.
From the triangular relationship in Fig. 2 We can find the solution of (3) is According to the geometrical structure, the angle relationships between adjacent modules are According to 1 and 2, we can modulate i of each module node to control the body wave effectively. In each period, the distance the snake-like robot moves is Δx

Gait with Multiple Modules
Assuming that the snake-like robot is composed of N modules (N > 2) and the length of each module is 2h, we know that at least four modules are required to form a complete wave [17][18][19][20]. For example, when the body wave of a snake-like robot with nine modules, a simple period includes: 1) wave formation stage -when four modules move at the same time, the remaining modules keep static. The stationary modules provide the friction to make the snake-like robot move forward along the ground.
2) The boost phase of the body wave -the wave moves forward along with the middle modules by each unit.
3) The recovery phase -all modules are reset to the linear state. Fig. 3 illustrates the mathematical model of a multimodule snake-like robot.  is the angle between each module and the x-axis direction, and  is the angle between two adjacent modules. The movement of the snake-like robot relies on the formation of sinusoidal waveform. As for the geometrical relationship, when the body wave passes forward to a module, the state of node pi changes to pi-1. The corresponding rotation angle of each joint can be found by In order to analyse the impact to the moving distance in one period, according to (9), the main variable is the number of modules N and the swing angle . Taking the length of a module 2h as a unit, the step size of the snakelike robot becomes First, with a fixed number of modules, e.g., N = 4, we can find a relationship between Δx and  which looks like a quadratic curve (Fig. 4). With the increase of , Δx also increases. With different module number N = 4, 5 ... 16, we find that the results are similar by numerical simulations. To improve the transmission efficiency of the body wave, we can use the following strategies: (a) minimize the length of each module in the mechanical structure so that we can generate more realistic performance of the snake winding movement; (b) select the appropriate swing angle value of ; and (c) increase the number of modules to form the curve section of the snake-like robot and yield a more stable body wave.

Influence of Parameters
The control function of snake-like robots is [17][18][19][20] The shape of the body wave is determined by module number i (1  i  N), amplitude A and phase angle ΔΦ. When t = 0, the relative rotation angle of each module in the initial position can be described by (9); we therefore have Equation (11) shows that there are three main parameters that influence the robot's body wave, i.e., the relative swing angle of two adjacent modules A, the phase difference ΔΦ and the number of modules N.
Amplitude A controls the maximum rotation angle of each module. It also controls the amplitude of the body wave, the larger the amplitude A, the greater the amplitude of the body wave. Phase ΔΦ controls the size of the body wave. When ΔΦ is small and N is large, a large body wave is generated. In addition, ΔΦ can control the direction of the robot movement, i.e., crawling forward or backward.
By fitting the model with the actual robot structure, we can generate the ideal body wave at any time. illustrates such a wave when N = 12, the maximum rotation angle is A = 45 degrees and the period T = 20. These parameters have to be within limitations of the mechanical structure. We can find the influence of specific parameters on the locomotion gait. For example, when A = 45 degrees, N = 6 and ΔΦ = 120 degrees, it can crawl forward normally. From the experiment and simulation, the shape of the body wave using these parameters is good as shown in Fig. 6.

Climbing Capability
Like serpentine robots having the ability to climb over obstacles, the snake-like robot can not only crawl along a plane, it can also climb up steps or over obstacles [22][23][24][25]. However, owing to its size and the structure constraints, there is a limit to the height the robot can climb up steps or up an obstacle. Using a simple model of the robot module as shown in Fig. 7, one can see that the snake-like robot has two main climbing drivers: the driving force between the modules and the driving force of the curl actuator. To enable the robot to successfully complete a climbing task, a necessary condition is that the gravity centre of the robot in the moving direction needs to exceed the upper edge of the step. Assume that the step height is H. The gravity centre will be located on the edge of the step point and the elevation angle of the module is . According to the geometric relationship, we can determine the relationship between H and  . According to (12) and (13), we can obtain the actual relationship between H and  . Figure 8 illustrates an example when h = 3.8 cm and e = 5.8 cm.  (degree) located in the middle of the robot. Therefore, assume the robot is made up of N modules and n [n  (N -1)/2] modules can be directly raised by the curl actuator of other (N -n) modules (Fig. 9). This direct raising approach is often the simplest method of locomotion. In this way, the height that the robot can climb is determined by (14) 2 2 Although with this method the motion planning is simple, it has two drawbacks, i.e., (a) it is requires a large driving torque and (b) the maximum height is half the length of the snake even with a huge torque. In addition, the robot can usually lift only a small number of modules. Referring to Fig. 10, we can calculate the torque in each module of the snake robot by   Here, Mn is the torque required to lift the modules. Assume that the maximum torque of a curl actuator is Mmax. Using this method, in practice only a few modules can be raised. Therefore, we need to create a reasonable strategy so that the robot can raise as many modules as possible. When the m-th module is going to be lifted, we can adjust the gravity centre of the first (m -1) modules to an appropriate location, so that we can reduce the torque required. Snake robots can lift the first m module on the condition that the torque of the former (m + 1) modules is less than the rated torque. At the same time, to raise m modules, the torque of m-th module should be large enough, but the total weight should be less than the maximum torque. Some skills are required to plan such a raising action in a static or dynamic way. Fig. 11 illustrates an example. Figure 11. Example to reduce the torque required If we take appropriate motion planning into account, the total weight of the modules raised is limited by the joint torque. Assuming that the joint torque can directly lift k modules, from (15) we know As N is an integer, from (16) the maximum number of modules the robot can lift is n  k 2 . Therefore, by adjusting the gravity centre, the snake-like robot can lift many more modules than that by direct lift. Taking effective planning into account, the maximum number of raised modules is proportional to the maximum torque. The above analysis is on the condition that the motion should satisfy the structural constraints and joint angles.
In fact, we can further undertake dynamic planning so that the robot can raise even more modules, but it requires complicated analysis of system dynamics and kinetics.

Influence of the Angular Amplitude
In addition to torque limitation, another important parameter is the maximum angular amplitude A. It not only limits the robot's athletic ability in the horizontal plane, but it also has great influence on its capabilities of obstacle avoidance. A implies the ability to adjust the gravity centre for the modules to be raised. A very small or very large A will not be able to adjust the gravity centre of the raised modules to the vertical line shown in Fig. 11, and this causes severely limited capability to avoid obstacles. Define   (15) and (17) and we can get the relationship between amplitude A and the torque, as illustrated in Fig. 12. It can be seen that when A is small, the torque increases with the number of modules, which can be approximated by M 2  A. When A is greater than 45 degrees, the growth is significantly reduced. The torque is not continuously increasing with A, with even no growth or negative growth appearing in several joints.

Stability
To keep the robot stable, the projection of the gravity centre should always fall between the two supporting points. This type of motion is smooth due to the fact that the gravity centre remains constant. Let N1 and N2 be the labels for the supportive points at a certain time, the remaining points have no contact with the ground, and the supportive force is zero (Fig. 13). For the body wave of the robot in any azimuth on the slope, external forces that influence the process of wave propagation include gravity force G, supportive forces N1 and N2, and friction force Ff. The vertical direction of gravity force G is balanced with supportive forces. Thus, the driving force affecting the snake body is only friction Ff. When the slope increases, the robot may not rollover, but falls down. The declining condition that the robot does not fall is From (18), when F1 > Ffmax, i.e., tan > f (adhesion coefficient), the robot is not stable on the slope.

Crawling Capability
Crawling speed is an important factor for the robot. When the snake robot crawls forward or backward, the speed depends on the amplitude angle A, the modular length and the period T. The step of the robot (Δx) is determined by the movement in one period time. Δx grows along with the increase of parameter A. If the turning angle of the first module is A =1, the moving velocity is

Experiments
In the experiments, we have implemented the robots and control algorithms, i.e., clawing, locomotion gait and stability, with either two-module robots or multiple module robots. We also measure the clawing velocity and compare this with theoretical values. In the experimental tests, the initial phase ΔΦ is 120 degrees and amplitude A is 45 degrees. The movement wave is realized to move forward/backward.
From the experiments, although two modules cannot form a complete waveform, the snake can still move forward in a short wave. The robot trajectory is not continuous and there is some intermittence. The robot's motion direction changes depending on ΔΦ.
In testing of the crawling velocity, we set the triggered time unit as 50 ms, so that a period T is just one second. We can find the theoretical speed Vt and the measured actual speed Vp depending on different amplitude angles A (Fig. 14). We found that there is a small difference between VP and VT. Considering the ground friction coefficient and the model simplification, such a difference is reasonable. Precise modelling of the robot and the friction coefficient is one way to reduce the difference between VP and VT.
In testing of the linear movement, Table 1 shows the experimental results based on different parameters n and . The experimental results are consistent with the numerical simulation results. Parameter  decreases with the n and the step distance in one period increases with the parameter n.
In testing of the sinusoidal crawling ability of a multimodule snake-like robot basically the line is  = 180 degrees. For specific analysis of the sinusoidal crawling gait, we take a robot composed of six modules as an example and set A = 45 degrees and T = 20, ΔΦ  (80,160). It can crawl forward/backward normally with a complete wave form. From the experiments, we found that when ΔΦ is 120 degrees, crawling speed is fastest.

Conclusion
This paper considers modular snake-like robots and analyses locomotion gait, stability and movement  G characteristics. The crawl gait for the body wave is composed of different numbers of modules. Parameters A, n, T and ΔΦ are affective at controlling the locomotion gait. The speed and climbing ability of the snake-like robot are analyzed according to the parameters and conditions. In the experiments we find that when the snake-like robot achieves a sinusoidal motion gait, the choice of parameters can influence the body wave and velocity. Analytical and experimental results are given in the paper.