Abstract
A snake-like robot has flexible mobility and high stability with low center of mass. It is very useful for complex environment exploration. This article develops two types of snake-like robots with different structure, shape, and modular joints. One (named as HITSZ-Snakebot I) is composed of 10 single degree-of-freedom modular joints, and the other (called HITSZ-Snakebot II) comprised eight 2-degree-of-freedom modular spherical-shape joints. The joints of the two types of robots are arranged as the same layout, that is, “Yaw-Pitch- Yaw-Pitch-….” The difference lies that, for the former, each rotation axes (“Yaw” or “Pitch”) is designed as one modularized unit, while for the latter, two adjacent rotation axes (“Yaw” and “Pitch”) are designed as one modularized unit. The exterior frame of each 2-degrees-of-freedom joint is designed as a spherical structure, which is connected with the motor through two-stage reduction mechanism. Therefore, the drive torques are largely increased. Many small passive wheels are mounted along a circle of the exterior surface. Such design largely decreases the friction between the robot and the road, and it also has the effect of compensating gravity when the space simulation is applied. At last, two types of prototypes are developed and experimented. The results show that the developed robots have high mobility and flexibility.
Introduction
With the development of science and technology, complex environment exploration, such as planetary surface exploration, is becoming research focus of main aerospace organizations of the world. 1 Since the environment to be explored is generally complex and un-structured, there exist many difficulties for traditional robots to perform the exploring mission. Mobile robots are very useful for complex environment exploration.2,3 Bumpy ground, numerous obstacles, narrow workspace, and so on, bring great challenges to the robot working in the complex environment. A snake-like robot has slim and flexible body, driven by many motors. It moves using various types of gaits and is very useful for inspecting pipelines, holes, and disaster sites.4,5 All joints are connected in series to form a hyper-redundant robot with multiple degrees of freedom (DOFs). Therefore, the ability of obstacle avoidance and singularity handling is very high. 6 Most of its body is in contact with the ground, and the center of gravity is very low. Hence, it has high stability during walking on the earth or a planet surface. This is an advantage over the traditional multi-legged mobile robot. Moreover, a snake-like robot has many DOFs with slim body. It can enter extremely narrow space. Therefore, many scholars and engineers pay attention to the study and applications of snake-line robots. 7
The research on snake-like robots basically focus on the design of system configuration, modularized joints, and corresponding gait planning and motion control algorithms.8,9 Hirose and colleagues10,11 developed the world’s first snake robot in 1972. Since then, his group has been studying snake-like robots. Many prototypes were developed. The latest version is ACM-R8 (active cord mechanism), 12 which effectively solves the problems that the driving wheels easily sink into the soil and the debris will fall on the passive rotary shaft. It also has the ability of obstacle avoidance. 13 S Tully and H Choset 14 developed the unified snake robot, which is composed of 16 joints. It has a very abundant form of movement. The robot can easily move across the obstacle, which is less than half length of the robot body. ZY Bayraktaroglu et al. 15 developed a snake-like robotic locomotion algorithm. The variations in initial conditions and external perturbations were set to verify the robustness of the locomotion. F Barazandeh and colleagues16,17 proposed the rib design and muscular structure of snake robots by optimizing the flexibility, weight, and actuators’ torque. The structure is useful for serpentine locomotion. P Liljebäck et al. 18 developed a type of snake robot which is called the Wheeko. The snake robot has the advantage of large output torque using chain drive and worm drive. C Ye et al. 19 developed the tour’s second-generation bionic robot with multiple 3-DOF modularized joints. Each joint is arranged as (Pitch, Yaw, and Roll) structure. The kinematic singularities are effectively avoided, greatly enhancing the movement dexterity and adaptability. In order to realize their locomotion, different methods according to specific research goals have been developed in the last decades. Based on the observation of the biological snakes, Hirose 11 proposed Serpenoid curve for approximating the winding movement of a snake. Experiments of different types of snake-like robots show that the Serpenoid function is much more close to the movement of a snake than sinusoidal and other functions. Yamada et al. 20 built the three-dimensional (3D) curve model of the motion shape by the Frenet–Serret equation. Burdick et al. 21 divided the snake body structure into ground contact portions and arched portions by analyzing the lateral movement. Segmented form was used to establish the 3D curve motion. Manzoor and Choi 22 implemented different types of locomotion in a snake-like robot using a proposed unified neural oscillator model as central pattern generator (CPG). Z Wang et al. 23 also focus on locomotion control of a snake-like robot using a CPG-based approach. A double chain structure of a CPG model is developed based on nonlinear oscillators connected with diffusive couplings. Tang and Ma 24 studied the directional migration of a three-segment self-propelled system on a rough horizontal surface with Coulomb’s dry friction.
Combined with previous studies, 25 this article carries out in-depth study of snake-like robots. According to the requirements of practical missions, two different types of snake-like robots with different structures, shapes, and modular joints are developed. The mechanical and electronical subsystems are designed by considering the constraints of the environment. Various moving gaits are planned and programmed in C language. To supply the real-time control, the embedded controller and remote control system are also developed. Finally, the prototypes of the two types of robots are manufactured and experimented by typical cases to verify and evaluate the functions and performances of the snake-like robots.
The remainder of this article is organized as follows. Section “Configuration and mechanical design” introduces the configuration and mechanical design, including the function and performance requirements and the analysis and design of typical modularized joints. Section “Kinematic modeling and gait planning” derives the kinematic equations, based on which, some gait planning methods are presented to realize typical gait, including creeping gait, rolling gait, and Serpenoid curve gait for the snake-like robot. In section “Prototypes and experiment,” we develop two types of snake-like robot prototypes. Then, the experiments are performed to verify the design of HITSZ-Snakebot I and HITSZ-Snakebot II. The last section presents the summary and conclusion.
Configuration and mechanical design
Function requirements
To meet the needs of space exploration, a snake-like robot is required to have the following functions:
Movement function: a snake-like robot should have different movement forms in order to adapt to different environments. It can use different motion forms to finish the mission.
Remote control function: a snake-like robot needs to be controlled from remote distance. When it executes a given mission, the operator can monitor it from remote site.
Obstacle avoidance function: to ensure that the mission be completed successfully, a snake-like robot should have the capacity to cross obstacle. Then, it can get through a certain obstacles when it executes mission.
Environmental adaptability: when a snake-like robot executes missions, it should have certain environmental adaptability in order to ensure that the robot can adapt to complex environment.
Performance requirements
The performance requirements of the snake-like robot are as follows:
Light weight: the overall weight of the robot (including the mechanical structure, control circuit, and sensor module) should be less than 3 kg;
The radial is less than or equal to 20 mm. The overall length is less than 1.2 m;
Payload mass: the robot can carry a payload whose mass is larger than 2 kg under 1 g (1 g = 9.8 kg/m2).
The configurations and modularized joints
The mechanical system is the base for the snake-like robot to realize the movement function. A good design of the mechanical system is also the guarantee for the snake-like robot to complete the task. In this article, we conduct the analysis and configuration design of the two types of snake-like robots.
HITSZ-Snakebot I and its modularized 1-DOF joint
The configuration of the first type of the snake-like robot, that is, HITSZ-Snakebot I, is shown in Figure 1. It is composed of 10 modularized isomorphic joints in series. Each has 1-DOF. The rotation axes of the adjacent joints are perpendicular to each other. So, the robot can move in 3D space to perform complex tasks.

Modular design of single degree of freedom joint.
Each joint is driven by a servo motor. Based on the theoretical analytical, the driving torque is determined. Then, we choose RDS3109 biaxial servo motor for the snake-like robot. Its torque is 15 kg/cm. It operates smoothly with low noise and high linearity. The controllable angle range of the servo is 180°. The output terminal of the motor is connected with a u-shape connection frame, and the end of the servo is connected with the connection by a bolt. The external surface of the joint is packaged by the ethylene vinyl acetate (EVA) single-sided foam, which is used to improve the frictional force between the robot and the ground. It can enhance the motion capacity of the snake-like robot. The 3D design of the modular joint is shown in Figure 2. Figure 3 is the 3D diagram of the assembled snake-like robot, which is named HITSZ-Snakebot I because it is developed by the group of Harbin Institute of Technology Shenzhen Graduate School (HITSZ). The parameters of the designed robot are shown in Table 1. The parameters of the servo motor are listed in Table 2.

Modularized 1-DOF joint.

The configuration of HITSZ-Snakebot I.
Parameters of snake-like robot.
Parameters of the servo motor.
HITSZ-Snakebot II and its 2-DOF modularized spherical-shape joints
As discussed above, the configuration of HITSZ-Snakebot assures that it has the movement ability in 3D space. It has slime body with small size. However, the drive torque is relatively small since each joint is driven directly by the motors. Therefore, the payload manipulation ability is largely limited. Moreover, the friction between the robot and the ground is determined by the material and roughness.
In order to improve the motion ability and payload ability, we designed the modular spherical joint with 2-DOFs whose adjacent axes are vertically arranged. The structure of snake-like robot consists of eight spherical-shape joints in series, so it has 16-DOFs in total. The layout of all the joints is shown in Figure 4.

Layout of modular spherical joint with 2-DOFs.
Each spherical-shape joint is driven by two servo motors (HD-1501MG), which connects the output shaft of each motor through a wheel gear. The reduction ratio is 1.8. The rotation range of a motor is limited to about ±90°. The modular spherical-shape joint is shown in Figure 5. The main support is connected to the rounded frame by set screws. The other components (i.e. gear shaft, support shaft, and L-shaped support) are connected to the overall framework, which also enhance the integral strength.

Modular spherical joint with 2-DOFs.
Figure 6 is the 3D drawing of the assembled HITSZ-Snakebot II. In order to reduce the friction with ground, we add passive wheels around the joint. The parameters of the articulation mechanism are listed in Table 3.

Configuration of HITSZ-Snakebot II.
Parameters of modular spherical joint.
Using the torque of servo motor, gear ratio, and transmission efficiency, the maximum continuous joint output torque can be calculated. We know that Z1 = 16, Z2 = 29, and the transmission efficiency is
When the whole snake robot is placed on the ground, the robot needs to overcome the friction between the ground and itself to change its shape in order to generate the driving force for crawl. According to Figure 7, if the robot has the ability to crawl, Joint 4 and Joint 5 should be able to drive on both sides of the joint. Therefore, Joint 4 and Joint 5 can be taken as an example. Without losing generality, we analyze the forces exerted on Joint 4. The friction is calculated as follows

Analysis of crawl ability.
The friction coefficient is
The Wheeko developed by P Liljebäck et al. 18 has the advantage of large output torque using chain drive and worm drive. While the transmission gap is also enlarged, they need additional sensor and more complex algorithm to control the state of the robot. Compared with Wheeko, HITSZ-Snakebot II has more accurate transmission ratio, and it is easy to be controlled. The corresponding parameters are compared in Table 4.
Parameter comparison between Wheeko and HITSZ-Snakebot II.
According to Table 4, the two robots each have their own advantages and can be applied in different cases. HITSZ-Snakebot II is much smaller and can enter narrower space. Moreover, its torque–mass ratio 5.71 N m/kg is larger than that of Wheeko, which is only 4.69 N m/kg. Therefore, the movement efficiency of HITSZ-Snakebot II is higher.
Kinematics modeling and gait planning
As described above, the two types of snake-like robots have the same joint layout, that is, Yaw-Pitch-…-Yaw-Pitch. Although they have different DOFs, they have similar kinematic expressions and gaits. Limited by the length of the article, we take the first type of robot, that is, HITSZ-Snakebot I, as the example for practical derivation.
Kinematic modeling
The Denavit–Hartenberg (D-H) coordinate of the HITSZ-Snakebot I is shown in Figure 8. The axes of two adjacent joints

The D-H coordinate systems of HITSZ-Snakebot I.
D-H parameters of HITSZ-Snakebot I.
Typical gait planning
Creeping gait planning
Creeping gait analysis is shown in Figure 9. The length of a joint is assumed to be

Analysis of creeping gait.
According to the geometric relationship, we can easily obtain the mass center of L1
Similarly, we get the following relationship
So, the angle between two links is
The relative angular velocity is
The key to the creeping gait planning is to calculate the angle between the ground and the robot. Then, we can get the angle between two adjacent links. By inputting
Rolling gait planning
Due to the mechanical structure features, a snake-like robot can move using rolling gait. It is a useful gait for quick movement, though a biological snake does not move like this. When the robot moves in the rolling gait, the ridge line (i.e. the connection of the joint centroid) of snake-like robot has constant curvature.
For the two types of snake-like robots, the adjacent axes of HITSZ-Snakebot I are perpendicularly arranged. So, we can control the transverse motion through the even joints and the longitudinal motion through the odd joints. The equation for rolling gait is shown as follows
where
When it is in rolling gait, the ridge line of a snake-like robot has constant curvature. These constraints result in an arc of constant curvature that is swept through the adjacent joints. The key to this constant curvature is the spatial frequency
Serpenoid gait planning
Based on long-term observation and research of real snakes’ motion, Hirose proposed a curve function named Serpenoid curve to represent the motion of a snake. When a snake is moving, the shape of a snake’s body is extremely similar to the Serpenoid curve shown in Figure 10.

Serpenoid curve
The shape of a snake is the same as that of a Serpenoid curve spreading in the plane. So, we can fit the Serpenoid curve by the body of the snake-like robot. Then, the movement of a snake-like robot can be realized. Serpenoid curve is shown in Figure 10. It is defined by the following function
where
Assuming that a Serpenoid curve is spreading in the plane, the snake-like robot keeps fitting the shape as the curve when it is moving. The snake-like robot’s relative joint angle can be obtained by the integration from equation (11). The joints of the snake-like robot are designed in modular structure, and the length of each joint is the same. We can assume that the length of a joint is
where
By the derivative of the joints angles, we can obtain the joint angular velocity
where
where
A Serpenoid curve is used to emulate a snake’s motion curve. When it is spreading forward at a certain speed, its curvature changes continuously. The robot’s mechanical structure, however, is composed of modular rigid joints, so the robot body cannot change continuously. Therefore, the Serpenoid curve is discretized into multiple segments. The length of each segment is the same as that of a joint.
The overall length of the snake-like robot is assumed as L, and the snake-like robot was divided into n segments equally, then the length of each segment is
The point
So, the angle between each link and its motion direction is
When we analyze the robot’s gait, the angle
where
The angle
The angle velocity
According to equation (23), we know that the relative angular velocity can be changed between adjacent joints by changing the value of
The Serpenoid curve can be interpreted as one of the forms of snake-like robot motion. By changing the curve’s parameters, that is, a, b and c, we can get different motion gaits with different directions and speeds.
Taking the winding motion as the example, we generate different movement gaits by adjusting the curve’s parameters. The simulation analysis is as follows.
The winding motion is similar to the spread of a harmonics wave. According to the simulation analysis, we can get many results. The Serpenoid curve’s parameter can determine the amplitude of the motion. The smaller the value of a, the smaller the amplitude of the Serpenoid curve, and the smaller the angle between adjacent joints too. It can make the snake-like robot move difficultly if the amplitude was too small. Due to the confined mechanical structure, the snake-like robot also cannot move with too large amplitude. The reasonable value range of
For
If
For

Winding movement in plane (x-y plane).

Winding movement simulation curve to the left (x-y plane).

Winding movement simulation curve to the right (x-y plane).
Tail-fixed gait planning based on backbone
If one end of the snake-like robot is fixed relative to the ground (tail-fixed mode), it can also perform a specific task like a hyper-redundant serial manipulator. The backbone26,27 can be used to characterize the geometric characteristics of a snake robot. By defining a backbone function, the kinematics of the snake robot is obtained by fitting the backbone and the snake robot. The expression of the backbone in Cartesian coordinates is
where
where
where
Therefore, the backbone equation can be obtained
The parameters
where
In the case that the end coordinate position is constant, the shape of the snake robot can be changed by adjusting the initial position parameter

The shape of the snake robot relying on

The snake robot move along the red trajectory without collision.
Prototypes and experiment
The development of snake-like robot prototypes
The integration of the control system
The embedded controller system of the snake-like robot is also developed. The block diagram is shown in Figure 16. We choose STM32F103ZET6 as the processor. Its 1st-8th timers (Timer1–Timer8) are used for controlling the joints of the snake-like robot. The NRF(the Radio Frequency chip produced by the NORDIC company) wireless communication module is used for connecting the upper computer with the slave computer of the snake-like robot.

Embedded controller system.
The prototypes of HITSZ-Snakebot I
The prototype, composed of 10 modular joints, of HITSZ-Snakebot I is shown in Figure 17. The radial size is about 56 mm, and the total length is about 690 mm. When it is packaged with a snake-like skin, the appearance is shown as Figure 18.

Prototype of HITSZ-Snakebot I.

Prototype of HITSZ-Snakebot I (with outer package).
The prototypes of HITSZ-Snakebot II
The joint prototype of HITSZ-Snakebot II is shown in Figure 19. And the whole robot composed of eight modular joints is shown in Figure 20. In order to give it capability of environment detection, we add a wireless camera on its head. The controller and the power supply are arranged in the rear. The radial size is about 65 mm including the wheels, and the total length is about 1090 mm.

Prototype of one module of HITSZ-Snakebot II.

Prototype of HITSZ-Snakebot II.
Experiments of the HITSZ-Snakebot I
Gait experiment on different surfaces
The motion experiment on the ground
According to the Serpenoid curve discretization method, we can calculate the joint angle of the snake-like robot at different moments. It can be used as the control input. The robot can move by the friction between the lower surface and the ground. The motion experiment on the ground based on the Serpenoid curve gait is shown in Figure 21.

The motion experiment on the ground.
The motion experiment on the grass
The motion experiment on the grass based on the Serpenoid curve gait is shown in Figure 22. The friction coefficient between the robot and the ground is larger than on the grass condition. The fitting curve at different times can move actuated by the friction between its body and the ground.

The motion experiment on grass.
Obstacle avoidance experiment
In the process of movement, the robot can adjust the posture to adapt to the changing environment and cross the obstacles. As long as the friction is large enough, the robot can achieved obstacle cross movement by the contact friction. Experimental results show that the robot can cross the obstacles like rock, roots, and grass.
Rock obstacles crossing experiment
The experimental results are shown in Figure 23. When the snake-like robot confronts obstacles in his way, the robot can adjust the shape of the body posture to adapt to the obstacle height, and the robot can cross the obstacles.

Rock obstacles crossing experiment.
Experiments of the HITSZ-Snakebot II
The straight-forward motion experiment
The first experiment is the straight-forward motion experiment based on Serpenoid gait curve. As shown in Figure 24, the snake-like robot moves along straight line on rough but flat ground. Its velocity depends on the period and parameters of Serpenoid curve which we choose, and its maximum speed is up to 40 mm/s. The following experiment shows one period (8 s) of motion, and the snake-like robot moves forward about 200 mm.

Straight-forward motion experiment.
The steering movement experiment
Another experiment is the steering experiment based on Serpenoid gait curve. According to the previous study,

Steering experiment.
Rolling experiment
When confronted with a smooth surface, the motion effect is not obvious based on Serpenoid gait curve, but rolling gait can make up for this shortcoming. One period of motion on smooth ground is shown in Figure 26, and the robot moves 300 mm forward and its movement ability is not limited by the environment.

Rolling experiment.
Comparison of the HITSZ-Snakebot I and HITSZ-Snakebot II
Based on the above experiments, we can clearly see the advantages and disadvantages of both snake-like robots:
HITSZ-Snakebot I has smaller size and compact structure so it can move through a more narrow space;
Because of the passive wheels mounted around the surface of HITSZ-Snakebot II, the friction between it and the ground is largely reduced. Hence, HITSZ-Snakebot II moves much faster than HITSZ-Snakebot I. The energy consumption is much lower under same movement condition;
The joint output torque of each HITSZ-Snakebot II is larger than that of HITSZ-Snakebot II. Also, it can carry the payload with more weight. Some important equipments, such as camera, backup power, or other detectors can be mounted on it;
Relative to HITSZ-Snakebot I, HITSZ-Snakebot II is easier to control. It can complete all kinds of referenced gaits, and the movement effect is satisfying.
Conclusion
In this article, we have developed two kinds of snake-like robot prototype, namely, HITSZ-Snakebot I and HITSZ-Snakebot II. The parameters of single joint are tested in detail. We established its kinematic equations and planned different gaits. The spherical structure can be equipped with universal passive wheel. When the tail is fixed, the snake robot can move freely in the plane, the sliding friction is translated into rolling friction by the passive wheel, which can reduce the friction, and it also has the effect of compensating gravity when the space simulation is applied. What is more, the embedded controller based on the advanced RISC machine (ARM) processors and µC/OS-II real-time operation system are developed. The gait planning algorithms are programmed using C language and realized in the embedded processor. Finally, we establish the experiment system so that the key algorithms are tested and evaluated. Using these snake-like robots, we complete typical gait planning and obstacle avoidance experiments under different road conditions. The results show that the snake-like robot meets the desired performance requirements. The two types of snake-like robots have different advantages and disadvantages. We can use them together to complete more complex tasks. In the future, we will improve the performance from the following aspects: (1) structure optimization with light and smart material, (2) dynamic control to improve the control performance, and (3) autonomous navigation and gait planning.
Footnotes
Acknowledgements
Z.M., H.W., W.X., T.L., and H.W. contributed equally to the study.
Academic Editor: Alexandar Djordjevich
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work was supported by the National Natural Science Foundation of China (Grant No. 61573116), the Foundation for Innovative Research Groups of the National Natural Science Foundation of China (Grant No. 51521003), and the Basic Research Program of Shenzhen (Grant Nos JCYJ20160427183553203, JCYJ20150529141408781, and CKFW2016033016372515).
