Next Article in Journal
Feature Fusion Image Dehazing Network Based on Hybrid Parallel Attention
Previous Article in Journal
Research on Active Disturbance Rejection Control with Parameter Tuning for Permanent Magnet Synchronous Motor Based on Improved PSO Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Bio-Inspired Multimodal Motion Gait Control of Snake Robots with Environmental Adaptability Based on ROS

1
School of Mechanical Engineering, University of Science and Technology Beijing, Beijing 100083, China
2
Shunde Innovation School, University of Science and Technology Beijing, Foshan 528399, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(17), 3437; https://doi.org/10.3390/electronics13173437
Submission received: 29 July 2024 / Revised: 20 August 2024 / Accepted: 26 August 2024 / Published: 29 August 2024
(This article belongs to the Section Bioelectronics)

Abstract

:
Snake robots have broad application potential, but their motion-control and motion-planning problems are extremely challenging due to the high redundancy of degrees of freedom (DoFs), and the lack of complete system tools further hinders the research of snake robots. In this paper, a coordinate system and a kinematic model were established based on the D-H method for snake robots. The rhythm-generation model for multimodal motion gait and a novel sliding-window five-point interpolation-derivative model were proposed based on a bio-inspired central pattern generator (CPG) model. A prototype and simulator were constructed based on the designed snake robot models to achieve the multimodal motion gait for the snake robot and improve its environmental adaptability. Furthermore, a novel structure–drive–perception–control integration snake robot system (SnakeSys) was built based on the robot-operating system (ROS). Finally, the effectiveness, feasibility, and accuracy of the kinematic model and control model in motion control and information perception were verified through simulations and experiments. We open sourced SnakeSys so that relevant researchers or developers can directly utilize or further develop it.

1. Introduction

Snake robots are highly redundant mobile robots designed by humans to mimic natural snakes [1]. They are usually composed of multiple joint modules with the same structure in series, with a number typically ranging from 10 to 30, and each joint corresponds to a control DoF [2]. The control DoFs of snake robots are much greater than their motion DoFs, with only six motion DoFs corresponding to three positional DoFs and three rotational DoFs. Snake robots have slender body structures and strong environmental adaptability and can perform tasks in complex and unstructured environments such as underwater, land, and pipelines [3]. Compared with traditional wheeled and legged mobile robots, snake robots have flexible and diverse movement gaits, such as creeping locomotion (CL) [4], traveling wave locomotion (TWL) [5], side winding locomotion (SWL) [6], arc rolling locomotion (ARL) [7], and spiral rolling locomotion (SRL) [8]. Therefore, they have great application potential in disaster search and rescue, field reconnaissance, interstellar exploration, and information collection [9]. However, the high redundancy DoF of snake robots makes their dynamics, motion control, and motion planning extremely challenging. For example, it is often difficult to obtain inverse solutions for the kinematics and dynamics of snake robots, and their motion mechanism based on environmental interactions also leads to highly coupled and nonlinear dynamic models, making traditional robot-control methods difficult to apply to snake robots [2,10].
The serial joint structure and diverse application scenarios of snake robots greatly increase the difficulty of designing their body structure. Professor Hirose was the first to research snake robots. He and his team developed a series of snake robots, ACM-R3 [11], ACM-R8 [12], ACM-S1 [13], etc., with the joint types from parallel to orthogonal and the movement ranges from land to amphibious. Zuo et al. [14] designed a snake robot based on the origami principle, which has a more lightweight and flexible replacement comparing traditional structures. Bi et al. [15] designed a Worm-Snake-Inspired Metameric (WSIM) robot with multimodal motion capability, suitable for open and narrow terrains. Qi et al. [16] designed a pneumatic soft snake robot with a modular structure and 3D printing molding; it can achieve TWL gait and move in complex and restricted environments based on four air channels. Gautreau et al. [17] used the design method based on a hybrid continuum cable-driven robot (HCDR), replaced the connection between muscles and vertebrae in snakes with cable drive, and provided good fluidity and locomotion for the snake robot. In engineering, the most practical joint type of snake robot is the orthogonal joint, which can achieve the three-dimensional motion gait of snake robots and have the advantages of high stability and strength [9]. However, snake robots still face problems such as low load, high power consumption, and low endurance.
Due to the high redundant DoF, the control for snake robots is usually based on pre-designed joint rhythm patterns to achieve their motion. There are two classic control methods: the curve-based method and the CPG-based method. The curve-based method has a serpenoid curve [18], serpentine curve [19], backbone curve [20,21], etc. However, these curve-based methods are not flexible enough and are prone to joint mutation problems when adjusting control parameters or changing motion gait. The CPG-based method was inspired and established by biology. CPG models usually consist of multiple neurons or nonlinear oscillators to couple a high-dimensional distributed nonlinear oscillation network. This network generates rhythmic signals through self-excited oscillations, which can be directly used as control inputs [22]. The CPG is usually composed of unit models of first-order or second-order differential equations, and it can still produce a smooth output when parameters undergo sudden changes, effectively solving the problem of joint mutation. The CPG model has multimodal characteristics, distributed characteristics, and inherent limit cycle characteristics. One CPG model can generate multimodal control signals to achieve different motion gaits for snake robots [23].
CPG models often use nonlinear oscillators, such as Hopf [24], Kuramoto [25], Van der Pol (VDP) [26], Delayed Half Center Oscillator (DHCO) [27,28,29], Rayleigh [30], etc. Oscillators form phase interlocks through coupling to generate rhythmic signals. Manzoo and Choi et al. [31] designed a unified CPG model based on Kuramoto oscillators for the snake robot with active wheels and passive joints to realize motion gaits for serpentine locomotion, rectilinear locomotion, and concertina locomotion. Zhang et al. [32] constructed a dual-chain CPG model based on Hopf oscillators, achieving motion gaits such as lateral undulation and rectilinear motion. Wang et al. [33] constructed a diffusion-coupled connected double-chain CPG model based on Hopf oscillators and demonstrated the stability of the CPG model using partial contraction theory. They achieved motion gaits such as serpentine locomotion, concertina locomotion, and sidewinding locomotion for the snake robot. Fukuoka et al. [34] used decoupled neural oscillators in conjunction with appropriate mechanical designs for snake robots and achieved enhanced robustness, variability, and independent local propulsion. However, the rhythm signals generated by the CPG are mostly designed based on the gaits of biological snakes, and there is no more optimization design for the mechanical performance of snake robots. At the same time, further research is needed to achieve more complex motion-adaptive control by combining environmental information and the motion state of snake robots.
The research on robots involves multiple interdisciplinary fields such as control, communication, computer science, mathematics, and mechanics [35]. Therefore, many scholars and developers have developed robot tools and frameworks to facilitate the study of robots. ROS2 [36,37] is an open-source robot-operating system and the next-generation version of ROS1. ROS2 supports multiple robot systems, multiple languages, cross-platforms, an improved real-time performance, and communication mechanisms, and it includes hardware abstraction, device drivers, message passing, and package management. Gazebo [38] is an open-source robot-simulation software that can simulate robots in real environments, including physical, sensor, environmental, etc. Gazebo includes ODE, Bullet, Simbody, and DART dynamic engines, providing precise simulation for robots, and it can be tightly integrated with the ROS to achieve joint simulation.
Sanfilippo et al. [39] designed SnakeSIM based on ROS1 and Gazebo, which is divided into three levels: perception, motion planning, and high-level control, aiming to simulate perception-driven obstacle-aided locomotion (POAL) for snake robots. However, SnakeSIM has not implemented the snake robot prototype and different motion gaits. Ni et al. [40] designed a system, which includes a human–computer interaction layer, head controller layer, and joint layer. The system communicates between the host computer and the snake robot based on TCP/IP, and it controls the movement of the snake robot through the interactive interface designed by Microsoft Foundation Classes (MFC). However, due to the lack of existing robot frameworks, the system requires extremely high skill requirements for researchers to develop and expand further. Zhou et al. [41] constructed a real-time control system based on Xenomai and combined it with ROS1, which can run real-time applications based on hardware control and non-real-time applications based on ROS1. To the best of our knowledge, there are almost no open-source frameworks and tools related to snake robots. Research on snake robots often requires research teams to master multiple forms of knowledge and skills, and there is weak interest in snake robot research [42,43]. This is also an important factor that explains why there are still many unresolved control and planning problems for snake robots, which cannot be widely applied in practical engineering.
The content of this paper is organized to deal with these problems. In Section 2, we establish a coordinate system including sensors and a kinematic model for the snake robot with orthogonal joints. In Section 3, a new sliding-window five-point interpolation-derivative model is proposed, and a multimodal motion-gait-control model is constructed for the snake robot based on the bio-inspired CPG model. In Section 4, structures of snake robots are designed, a simulator of the snake robot is built based on Gazebo, and a prototype of the snake robot is realized based on Snake Robot III. Based on this, a novel open-source SnakeSys for structure–drive–perception–control integration is constructed based on the ROS. In Section 5, the effectiveness, feasibility, and accuracy of SnakeSys in motion control and information perception are verified through simulations and experiments. In Section 6, the research of this paper is summarized and analyzed, and the shortcomings and problems are discussed.

2. Kinematic Model for Snake Robots with Orthogonal Joints

Due to the lack of a leg–foot structure, snake robots achieve their movement through the contact between each linkage and the environment, as well as their body wave rhythm. The collision or contact between each linkage and the environment, and the pattern of the body wave rhythm of the snake robot, are all related to kinematics. Kinematics describes the pose of the snake robot and the relative relationships among its linkages. To address this, we establish a coordinate system for the snake robot and then build its kinematic model using the Denavit–Hartenberg (D-H) method.

2.1. Coordinate System for Snake Robots

A snake robot with n orthogonal joints has N rotating pairs, and N = 2 n . The rotating pair connects adjacent joint linkages, and the directions of adjacent rotating pairs are perpendicular. The number of orthogonal joints of snake robots will be designed to be very large to ensure that they have sufficient flexibility and maneuverability during movement. The slender body structure of snake robots limits the internal space of their joint modules. Due to the small size and light weight of visual and inertial sensors, they are suitable as the main sensors for snake robots to achieve their navigation, localization, and environmental perception capabilities. Therefore, considering the sensors and high DoFs of snake robots, we construct its coordinate system, as shown in Figure 1.
In Figure 1, the cameras and the inertial measurement unit (IMU) are fixed on the head of the snake robot, and the frames of each camera are C 1 and C 2 . The IMU frame is I. The frames of the base linkage and each joint linkage are B, J 1 , J 2 , J 3 , …, J N . The transformations from B to C 1 , B to C 2 , and B to I are T B , C 1 , T B , C 2 , and T B , I , respectively, which are obtained through calibration. The transformations from B to J 1 , J 1 to J 2 , ⋯, J N 1 to J N are T B , J 1 , T J 1 , J 2 , ⋯, T J N 1 , J N , respectively, which are obtained through the kinematic model.

2.2. Kinematic Model for Snake Robot Body

Assuming that the joint linkage is rigid and will not deform during movement, according to the Craig agreement, the parameters and coordinate system of linkage are shown in Figure 2, and the parameters of all joint linkages of the snake robot are shown in Table 1 [44]. Using the D-H method and according to Figure 1 and Figure 2, the transformation T B , J i from the base frame B to the joint linkage frame J i of the snake robot is
T B , J i = T B , J 1 j = 2 i T J j 1 , J j
where
T J i 1 , J i = cos θ i sin θ i 0 a i 1 cos α i 1 sin θ i cos α i 1 cos θ i sin α i 1 d i sin α i 1 sin α i 1 sin θ i sin α i 1 cos θ i cos α i 1 d i cos α i 1 0 0 0 1 .
Letting T B , J 1 = T J 0 , J 1 and substituting the parameters in Table 1 into Equation (1), due to the repetitive and orthogonal structure of the snake robot, i.e., l 1 = l 2 = = l N 1 = l , the simplified transformation can be obtained and is represented as
T J i 1 , J i = sin ϕ i cos ϕ i 0 0 cos ϕ i sin ϕ i 0 0 0 0 1 0 0 0 0 1 , i = 1 cos ϕ i sin ϕ i 0 l 0 0 1 0 sin ϕ i cos ϕ i 0 0 0 0 0 1 , i odd cos ϕ i sin ϕ i 0 l 0 0 1 0 sin ϕ i cos ϕ i 0 0 0 0 0 1 , i even .
Equations (1) and (3) describe the geometric state of the snake robot, and they can be used to calculate the self-collision of the snake robot to avoid self-interference among joint linkages, providing a theoretical basis for motion planning and gait control for snake robots.

2.3. Kinematic Model Based on Visual SLAM

To solve the pose of the snake robot in the motion environment and the transformations between each joint linkage and the environment, we estimate the camera pose, i.e., T W , C 1 , in real time during the motion of the snake robot using the Visual SLAM algorithm. At the same time, the Visual SLAM can create a point cloud map for the environment. Assuming that the frames corresponding to all map points are P 1 , P 2 , P 3 , ⋯, P s , the transformations from the world frame to each point cloud frame are T W , P 1 , T W , P 2 , T W , P 3 , ⋯, T W , P s .
The pose of the snake robot in the environment, i.e., T W , B , is
T W , B = T W , C 1 · T C 1 , B = T W , C 1 · T B , C 1 1 .
The pose of the i-th joint linkage in the environment, i.e., T W , J i is
T W , J i = T W , B · T B , J i .
The transformation T J i , P j from the i-th joint linkage to the j-th map point is
T J i , P j = T J i , W · T W , P j = T W , J i 1 · T W , P j .
According to the transformation T J i , P j , the pose between each joint linkage and environmental objects can be obtained, which can be used for collision detection and obstacle avoidance between the snake robot and environment objects.

3. Multimodal Motion Gait Control for Snake Robots

The diverse motion gaits enable snake robots to adapt to complex environments, while the high redundancy of snake robots makes the control problem of their motion gait extremely challenging. Therefore, it is necessary to coordinate the motion of the control DoFs corresponding to each joint of the snake robot through a pre-designed body wave rhythm. We establish a gait-control model for the snake robot based on a bio-inspired CPG model to achieve different motion gaits and improve its environmental adaptability.

3.1. Rhythm Generation Based on a Bio-Inspired CPG Model

Due to the self-excited oscillation characteristics of the CPG model, which can spontaneously and continuously generate rhythmic signals, we can use these signals as joint-control signals for snake robots to achieve their body rhythm wave and drive their movement, as shown in Figure 3. In our previous research, we proposed an improved Hopf oscillator and its coupling model for the CPG model to achieve motion control of the snake robot [45]. The improved Hopf oscillator of the CPG model is
H ( x o ) = x ˙ o = M ω o + M γ o x ^ o
M ω o = ω 0 1 1 0 R 2 × 2
M γ o = ξ γ 1 0 0 1 R 2 × 2
x ^ o = x o x c o
ξ γ = λ S ( e γ , k γ ) , σ > 0 and e γ < 0 λ e γ , others
S ( x , k ) = 2 1 + e k x 1
e γ ( γ ) = σ γ 2 ρ 2
γ 2 = | x ^ o | 2 = u ^ 2 + v ^ 2
where u c and v c are constants and ρ > 0 . λ affects the convergence rate of the oscillator toward the limit cycle. When σ > 0 , the oscillator converges to the limit cycle, and when σ < 0 , the oscillator converges to the equilibrium point. S ( x , k ) is the amplitude optimization function, where k is the optimization coefficient and it is a constant. As the value of k increases, the amplitude variation in the oscillator becomes less smooth, while the smaller the value of k, the slower the convergence speed of the oscillator. Therefore, this paper sets k = 1 to ensure that the oscillator has good dynamic characteristics.
Similar to the connections between biological neurons, different Hopf oscillators form phase interlocks through coupling. The coupling model between the i-th oscillator and all other oscillators is
x ˙ i = H ( x i ) α j = 1 , j i N w i , j ( x ^ i T i , j x ^ j )
T i , j = σ i ρ i σ j ρ j · cos ( ϕ i , j ) sin ( ϕ i , j ) sin ( ϕ i , j ) cos ( ϕ i , j ) R 2 × 2
where σ i > 0 and σ j > 0 . H ( x i ) is the i-th Hopf oscillator. ρ i and ρ j are positive in the counterclockwise direction and negative in the clockwise direction. ϕ i , j is the i-th row and j-th column element of Φ , and Φ R N × N .
According to the Hopf oscillator model in Equation (7) and the coupling model in Equation (15), the CPG model is
x ˙ = M ω + M γ + M c x ^ y Ex
where x R 2 N and x ^ R 2 N . y R N is the desired joint-position-control sequence of the snake robot, which is mapped from the state variables reduced by the E matrix, and
E = 1 0 1 0 1 0 R N × 2 N .
M ω R 2 N × 2 N and M γ R 2 N × 2 N in Equation (17) are high-demensional stacks of M ω o in Equation (8) and M γ o in Equation (9). M c maintains a specific phase difference among oscillators to form phase interlocks, as
M c = α D 1 LD R 2 N × 2 N
where
D = D 1 , 1 D 2 , 2 D N , N R 2 N × 2 N
L = L 1 , 1 L 1 , 2 L 1 , N L 2 , 1 L 2 , 2 L 2 , N L N , 1 L N , 2 L N , N R 2 N × 2 N
D i , j = T 1 , i , i = j 0 2 , i j
L i , j = k = 1 , k i N w i , k · I 2 , i = j w i , j · I 2 , i j .

3.2. Generative Control for Multimodal Motion Gait

Selecting different motion gaits based on the characteristics of various motion environments can effectively improve the environmental adaptability and motion maneuverability of snake robots. The amplitude, frequency, and phase differences among oscillators determine the output waveform mode of the CPG model. By changing the corresponding control parameters, the CPG model can generate multimodal waveforms and control the snake robot to achieve different motion gaits. For the CL, TWL, and SWL motion gaits of snake robots, the control functions are
ϕ i , j = 2 K n π n , i yaw , j yaw , j i = 2 π 2 , i yaw , j pitch , j i = 1 2 K n π n , i pitch , j pitch , j i = 2
ρ i = 2 a y sin K n π n , i yaw 0.1 , i pitch
ρ i = 0.1 , i yaw 2 a p sin K n π n , i pitch
ρ i = 2 a y sin K n π n , i yaw 2 a p sin K n π n , i pitch
where Equations (25)–(27) are used to achieve CL, TWL, and SWL gaits, respectively.
For the ARL gait, the snake robot forms a continuously rolling arc, and its control functions are
ϕ i , j = 0 , i yaw , j yaw , j i = 2 π 2 , i yaw , j pitch , j i = 1 0 , i pitch , j pitch , j i = 2
ρ i = 2 l r a , i yaw or i pitch
For the SRL gait, the snake robot forms a spiral that can climb along the outer or inner surface of the cylinder, and its control functions are
ϕ i , j = τ ¯ l , i yaw , j yaw , j i = 2 π 2 , i yaw , j pitch , j i = 1 τ ¯ l , i pitch , j pitch , j i = 2
ρ i = 2 κ ¯ τ ¯ sin ( τ ¯ l ) , i yaw or i pitch
κ ¯ = r s r s 2 + p s 2 τ ¯ = p s r s 2 + p s 2
( 2 π r s S n ) 2 + ( 2 π p s ) 2 = ( 2 n + 1 ) l
where 2 π p s represents the axial distance of the overall spiral curve.
By selecting the corresponding control function and its control parameters, such as K n , a y , a p , r a , etc., the parameters ρ i and ϕ i , j can be obtained for the CPG model, thereby achieving different motion gaits and its smooth switching of the snake robot.

3.3. Sliding-Window Interpolation-Derivative Model for Rhythm

Considering that snake robots may simultaneously control joint actuators based on physical quantities such as position, velocity, or acceleration of joints, we use numerical methods to numerically differentiate the discrete rhythm output of the CPG model and obtain its first and second derivatives, corresponding to the velocity and acceleration of joints, respectively. The rhythm output of the CPG model is a time-discrete control sequence. We assume that at different times t 0 , t 1 , t 2 , , t k , one oscillator output of the CPG model corresponds to joint positions y 0 , y 1 , y 2 , , y k .
We introduce the Lagrange interpolation polynomial and obtain the corresponding first-order derivative by taking its derivative. For data points ( t 0 , y 0 ) , ( t 1 , y 1 ) , ⋯, ( t m , y m ) , the Lagrange interpolation polynomial is
L m ( t ) = i = 0 m j = 0 , j i m t t j j = 0 , j i m t i t j y i .
According to Equation (34), its first-order derivative is
L ˙ m ( t ) = d L m ( t ) d t = i = 0 m j = 0 , j i m d = 0 , d j , d i m t t d j = 0 , j i m t i t j y i .
To calculate accuracy and efficiency, we adopt the five-point interpolation-derivative method. Substituting the five data points ( t 0 , y 0 ) , ( t 1 , y 1 ) , ⋯, ( t 4 , y 4 ) into Equation (35) to obtain their first-order derivatives results in
y ˙ 0 L ˙ 4 ( t 0 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 0 t d j = 0 , j i 4 t i t j 1 y i
y ˙ 1 L ˙ 4 ( t 1 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 1 t d j = 0 , j i 4 t i t j 1 y i
y ˙ 2 L ˙ 4 ( t 2 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 2 t d j = 0 , j i 4 t i t j 1 y i
y ˙ 3 L ˙ 4 ( t 3 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 3 t d j = 0 , j i 4 t i t j 1 y i
y ˙ 4 L ˙ 4 ( t 4 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 4 t d j = 0 , j i 4 t i t j 1 y i
Substituting the first-order derivatives into Equation (35) to obtain their second-order derivatives results in
y ¨ 0 L ˙ 4 ( t 0 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 0 t d j = 0 , j i 4 t i t j 1 y ˙ i
y ¨ 1 L ˙ 4 ( t 1 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 1 t d j = 0 , j i 4 t i t j 1 y ˙ i
y ¨ 2 L ˙ 4 ( t 2 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 2 t d j = 0 , j i 4 t i t j 1 y ˙ i
y ¨ 3 L ˙ 4 ( t 3 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 3 t d j = 0 , j i 4 t i t j 1 y ˙ i
y ¨ 4 L ˙ 4 ( t 4 ) = i = 0 4 j = 0 , j i 4 d = 0 , d j , d i 4 t 4 t d j = 0 , j i 4 t i t j 1 y ˙ i
To improve the computational efficiency of the algorithm and ensure the real-time control of snake robots, we construct a five-point interpolation-derivative model based on the sliding window, as shown in Figure 4. For each newly generated CPG data point, use five steps from S1 to S5 to calculate the seven data points within the sliding window. For steps S1, S2, and S3, the five points of ( t 0 , y 0 ) , ( t 1 , y 1 ) , ⋯, ( t 4 , y 4 ) in Equations from (36) to (40) correspond to the generated data points of ( t k 4 , y k 4 ) , ( t k 3 , y k 3 ) , ⋯, ( t k , y k ) , and for step S4 and S5, the five points of ( t 0 , y ˙ 0 ) , ( t 1 , y ˙ 1 ) , ⋯, ( t 4 , y ˙ 4 ) in Equations from (41) to (45) correspond to the calculated data points of ( t k 6 , y ˙ k 6 ) , ( t k 5 , y ˙ k 5 ) , ⋯, ( t k 2 , y ˙ k 2 ) . The corresponding first- and second-derivative values are obtained through five calculation steps. Among them, y ˙ k and y ¨ k are used for real-time control of the corresponding joint motor of the snake robot, and the fixed values are used as high-precision calculation results of the derivative. The outputs of each oscillator in the CPG model are calculated similarly to obtain high-order derivatives for controlling the joint velocity and acceleration of the snake robot.

4. Design and Construction of SnakeSys

To achieve the environmental adaptability and mobility of snake robots, and to address the lack of complete system tools in snake robot research, we design the open-source SnakeSys based on ROS2 and ROS1 for structure–drive–perception–control integration for snake robots.

4.1. Control System Architecture of SnakeSys

Inspired by the work of Sanfilippo [39], SnakeSys is divided into five modules: snake robot, perception, motion planning, motion control, and high-level control in the control architecture, as shown in Figure 5. The snake robot module includes two sub-modules: the simulator module and the prototype module.
The perception module generates important information for snake robots through various sensors and algorithms. The motion-planning module generates gait-control parameters for the CPG model through the gait-control functions in Section 3.2. The motion-control module generates desired joint-control sequences for the snake robot based on the CPG model in Section 3.1 and Section 3.3. The snake robot module controls the motion of joint actuators based on the desired joint-control sequences. The high-level-control module implements human–robot control for the snake robot through GUI or the Logitech handle. The simulator module is the only part of SnakeSys implemented based on ROS1 to simulate the snake robot. There are two types of time in SnakeSys: real physical time and virtual simulation time, which are used to control prototypes and simulations, respectively.
We construct the SnakeSys (accessed on 31 December 2023) software based on ROS infrastructure. The different modules and communication data among modules in the control architecture correspond to multiple nodes and topics of the ROS, as shown in Figure 6. We strive to utilize existing open-source libraries such as Qt, VTK, GSL, OpenCV, etc., for software construction to ensure that SnakeSys is easy to expand or further develop. Different hardware requires corresponding drivers, but as long as its data format is consistent with that of SnakeSys or the ROS, it is easy to integrate new hardware into SnakeSys.

4.2. Simulator Module

To simulate snake robots and avoid some limitations in prototype experiments such as structural or performance indicators, we use Gazebo to establish a simulator module for snake robots. Gazebo supports various formats of robot models, such as the common unified robot description format (URDF), simulation description format (SDF), and XACRO. XACRO is a macro language based on the URDF, supports the description of the physical properties of objects and collision models, and can define repeated structures through macros. The snake robot consists of joint modules with the same simple structure from head to tail. Therefore, using XACRO to define snake robots can easily change the number of joints and parameters without re-modeling, achieving modularity and the parameterization of simulation models.
We designed three joint models for snake robots with different structures and sizes through Creo: Snake Robot I, Snake Robot II, and Snake Robot III. The orthogonal joint structures are shown in Figure 7, and the design parameters are shown in Table 2. Each type of snake robot model corresponds to two situations: with and without passive wheels. The steps from the 3D model to the XACRO model are shown in Figure 8. We set the coordinate system and material properties in Creo and then export STL models, transformations among coordinate systems, and the inertia tensor parameters to establish the XACRO models for the snake robots. This paper establishes XACRO models for six types of snake robots, whereby three types with passive wheels are used for CL gait and the other three without passive wheels are used for complex three-dimensional motion gaits.
The motion simulation of the snake robots requires a lot of contact and collision calculation, which consumes many computing resources. To reduce the computational complexity and accelerate the simulation speed, we simplify the collision models for the snake robots, as shown in Figure 9. The joint structures are simplified into box or cylindrical models, and the simplified collision model can be applied to different gait movements. For example, the cylindrical collision model is used for SWL, ARL, and SRL, while the rectangular collision model can be used for TWL, SWL, and SRL. Gazebo controls the motion of each joint of the snake robot based on the desired joint position to achieve its motion simulation while simultaneously publishing joint and linkage states.

4.3. Prototype Module

To improve the load capacity and motion stability of the snake robots, we adopt an integrated design concept to complete the prototype of Snake Robot III. The orthogonal joint shape of the robot is close to a sphere, making it smoother during rolling and less likely to be stuck by obstacles. Each joint contains a specific cavity for installing components such as batteries, sensors, and control panels. The snake robot contains multiple orthogonal joint modules connected in sequence, so it can carry many batteries or sensors simultaneously, greatly improving its endurance capacity. The joint is 3D printed using white nylon material. Only four multifunctional joint shells are needed to assemble an orthogonal joint, which simplifies the structure of the prototype, reduces assembly time, and improves the structural stability of the snake robot.
To solve the power supply problem of motors, we designed a distributed power supply system for the snake robot, which is composed of multiple power cells, as shown in Figure 10. Each power cell consists of even motors and a rechargeable lithium battery, and the battery supplies power to these motors simultaneously. These motors are connected in series through power cables and signal buses in a power cell. A snake robot includes a control unit and multiple power cells in series and only a signal bus connection among them. This distributed power supply system can make the snake robot get rid of the power cord of the online power supply, realize flexible offline movement, and greatly improve its endurance.
The prototype of Snake Robot III is shown in Figure 11. The joint motor adopts the FEETECH SM8524BL DC serial bus digital servo to drive the joint motion directly. The control unit uses LattePanda 3 Delta as the prototype controller and collaborates with a notebook for large-scale computing task modules. The LattePanda 3 Delta has 8 GB RAM and 1 TB SSD. The notebook has an Intel i9-11980HK processor and an RTX3080 GPU, with 64 GB RAM and 16 GB of video memory, and they are configured with Ubuntu 20.04, ROS1 Noetic, and ROS2 Foxy. The sensor adopts Realsense D455 or ZED 2i, and they have an IMU and multiple cameras. The prototype utilizes a local area network (LAN) environment set up by a router to communicate with the notebook. The prototype is completely independent and does not have a signal bus or power cord connected to the outside; therefore, it can move freely within the coverage range of the LAN.

4.4. Perception Module

The prototype of Snake Robot III has visual and inertial sensors, and each joint motor has a magnetic encoder to provide the joint position. We integrate the ORB-SLAM3 system for SnakeSys, and it can generate the environment map and the left camera pose T W , C 1 based on the image or IMU data collected during the motion of the snake robot [46]. The pose T W , B of the snake robot can be obtained based on the kinematic model in Section 2.3. The pose T J i 1 , J i of the joint linkage can be calculated based on the kinematic model in Section 2.2 and the joint-position feedback from the magnetic encoder. We build a t f t r e e for the snake robot in the ROS for collision detection, motion planning, and autonomous navigation.

4.5. Motion-Control Module

To ensure that the CPG model generates a series of time-discrete joint-control sequences in real time at a specific frequency, we use the GNU Science Library (GSL) to construct the CPG module. Due to the GSL being written in C language, its computing speed is breakneck, and it can achieve robot-control frequencies from 10 Hz to 100 Hz under the condition of a communication baud rate of 1 Mbps for the joint motor of the snake robot.

4.6. High-Level-Control Module

The GUI module of the high-level-control module is based on Qt, which includes perception data visualization and parameter control, as shown in Figure 12. The data visualization can display feedback data from the sensors of the snake robot, such as the feedback joint position of each joint motor and the state of the coordinate system of the snake robot. The parameter control can change the robot-control frequency, joint amplitude, and joint frequency. In addition, the Logitech handle module is used to control the snake robot remotely. We also construct RViz configurations for SnakeSys to visualize the snake robot data. Visualizing data through RViz of the ROS is more convenient, but Qt-based GUI can add custom control logic and algorithms, complex interface layouts, and control components at the underlying level.

5. Simulations and Experiments

To verify the effectiveness and accuracy of the kinematic model, control model, and SnakeSys in simulating, controlling, and perceiving, we conduct simulation and experimental verifications on different motion gaits based on the simulation model and the prototype of Snake Robot III, and then compare and analyze the results.

5.1. Simulations for Multiple Motion Gaits in a Simple Environment

Due to the coupling gain coefficient α and attraction factor λ affecting the synchronization speed and waveform change rate of the CPG model, we set α = 0.01 and λ = 0.2 through empirical methods to ensure that the CPG model has a good synchronization speed and smooth waveform change state. The bifurcation parameter affects the convergence state of the oscillator, and setting σ 1 = σ 2 = = σ N = 1 ensures that the amplitude parameter of the oscillator is consistent with the waveform amplitude. The simulation parameters corresponding to five motion gaits are shown in Table 3. Among them, the sign of the frequency ω only affects the direction of movement. For example, for TWL gait, negative frequency makes the snake robot move forward, while positive frequency makes it move backward. The cylinder collision model is used for CL, SWL, and ARL gaits, while the box collision model is used for TWL and SRL gaits. Using SnakeSys for simulation, the results are shown in Figure 13. The histograms of motion velocity and maximum joint torque corresponding to the five gaits are shown in Figure 14. To avoid the influence of ω on motion velocity, the velocity value in Figure 14a is equal to the velocity at ω = 1 rad / s .
By comparing the variation in the joint position within a single period, as shown in Figure 13b,e,h,k,n, it can be found that the ARL gait has the smallest joint-motion amplitude, while both the TWL and SRL gaits have the largest joint-motion amplitude. This indicates that snake robots require specific joint-motion ranges to achieve different motion gaits. According to Figure 14b, as well as Figure 13c,f,i,l,o, the CL gait has the smallest torque while the SRL gait has the largest, almost 300 times that of the CL gait. The joint torque of the TWL and SWL gait are relatively close. According to Figure 14a, the CL gait has the highest motion velocity and the lowest joint torque, so it has the highest motion efficiency. The SRL gait has the highest joint torque, and it has the lowest efficiency. Therefore, the snake robot should prioritize using the CL gait. Although different motion gaits have different motion efficiencies, there is no superiority or inferiority in gaits, and the gait with lower motion efficiency may be needed to achieve obstacle avoidance and crossing.

5.2. Experiments for Multiple Motion Gaits in a Simple Environment

To verify the effectiveness of controlling the prototype and the accuracy of the simulator module of SnakeSys, we conduct experiments on the prototype of Snake Robot III. We deploy the servo motor-control node and frame-calculation node on the LattePanda 3 Delta and deploy the CPG control node and GUI node on the notebook. Due to the circle cross-section of Snake Robot III shown in Table 2 and Figure 7, the prototype is not suitable for achieving the TWL gait. According to the simulation torque of the SRL gait in Figure 14b, the joint torque exceeds the peak torque of the prototype motor. Therefore, we conduct experiments for the CL, SWL, and ARL gaits. The main control parameters for different motion gaits of the prototype are shown in Table 4, and the other parameters are the same as in Section 5.1. The motion state, feedback joint position, desired joint position, and joint torque of the snake robot under different motion gaits are shown in Figure 15, according to which, based on the motion displacement and motion time of the snake robot under three different gaits, the motion velocities are obtained as 0.2553 m/s, 0.1415 m/s, and 0.0437 m/s, respectively, with frequency ω = 1 rad / s .
Due to the inconsistency between the physical parameters involved in the experiment and those in the simulation, such as the ground friction coefficient, joint damping, joint linkage moment of inertia, etc., this paper uses the velocity ratio to compare the experimental and simulation results. The velocity ratio represents the ratio of the motion velocity of each gait to the CL gait. The velocity ratios of the experiment and simulation are shown in Figure 16, which indicates a high degree of consistency between the simulation and experimental results. According to Figure 15b,e,h, the actual variation pattern of the joint position of the snake robot is consistent with that of the desired joint position generated from the CPG model. The actual joint position lags behind the desired joint position in time because the desired joint position is given first and then each joint motor moves according to its value, and the joint motion of the snake robot macroscopically follows the fluctuation rhythm of the CPG output in real time. According to Figure 15c,f,i, the joint torque of experiments is consistent with simulations.
The above results indicate that the multimodal gait-control model in this paper can effectively control the different motion gaits of the snake robot in real time via both simulations and prototypes, and the simulator and simplified collision models in this paper have high consistency with the actual motion of the snake robot.

5.3. Experiments for Multiple Motion Gaits in Complex Environments

To verify the adaptability and maneuverability of the snake robot in complex environments, we conduct SWL and ARL experiments on grasses and rocks, respectively. The main experimental control parameters are shown in Table 5, and other parameters are the same as in Section 5.1. The motion state, feedback joint position, desired joint position, and joint torque of the snake robot under different motion environments and gaits are shown in Figure 17. Based on the motion distance and joint torque, the corresponding motion velocity and maximum joint torque are calculated and shown in Figure 18.
According to Figure 17, the snake robot can maintain stable and continuous motion in complex environments, with strong environmental adaptability and traversability. Comparing Figure 15 and Figure 17, the motion direction of the snake robot in complex environments is easily affected by obstacles and contact conditions with the ground, and the ARL of the snake robot on rocks has better directional motion. According to Figure 18a, under the same oscillator frequency, the velocity of SWL is higher than that of ARL overall. However, under the same oscillator frequency and control parameters, the velocities of SWL are higher on grasses than on rocks, i.e., SWL1 > SWL3 and SWL2 > SWL4, and the velocities of ARL are higher on rocks than on grasses, i.e., ARL3 > ARL1 and ARL4 > ARL2. According to Figure 18b, the joint torque of SWL is generally greater than ARL, which is mainly related to the motion gait. The SWL gait requires lifting some joints off the ground and increasing the joint torque, while the ARL gait makes the body flat on the ground and the joint torque is relatively small.
Without a loss of generality, the ARL gait has a smaller joint torque and better motion directionality in complex environments, while the SWL gait has higher motion velocity but a larger joint torque. The passive wheel structure required for the CL gait is easily affected by obstacles, making the CL gait suitable for efficient movement on flat ground.

5.4. Information Perception of the Snake Robot

To verify the accuracy of the kinematic model established in this paper and the effectiveness of SnakeSys in snake robot perception, we conducted experiments on the environment mapping and localization of the snake robot using the Stereo algorithm of ORB-SLAM3. The image data are obtained from ZED 2i fixed on the head of the snake robot, with an image resolution of 1280 × 720 . At the same time, based on the joint-position feedback from the snake robot, its body shape in the CL gait was obtained using the kinematic model. The experimental results are shown in Figure 19, where Figure 19a shows the point cloud map of the environment and pose trajectory of the snake robot, and Figure 19b shows the body shape of the snake robot in RViz.
According to Figure 19, the environmental map and pose of the snake robot are consistent with the actual situation. The motion trajectory of the snake robot is an S-shaped curve, which is consistent with the CL gait of the snake robot. It should be pointed out that due to the perspective of the snake robot swinging left and right, especially when the initial angle of the waveform is large, its swing amplitude is also larger, so tracking loss is prone to occur during the SLAM operation. At the same time, we found during the experiment that there is a slight difference between the body shape of the snake robot obtained based on the assumption of joint linkage rigidity and the actual body shape, and the joint linkage of the snake robot will undergo slight deformation during motion.

6. Conclusions

In this paper, we established a coordinate system and kinematic model for a snake robot based on the D-H method; solved the perception of the body shape and pose in the environment during motion; and provided a theoretical basis for collision detection, motion planning, and autonomous navigation. Then, by introducing a bio-inspired CPG control model, the rhythm generation of different motion gaits of the snake robot was achieved, and a novel sliding-window five-point interpolation-derivative model was proposed to solve the generation of the joint velocity and acceleration for the CPG model, which improved the motion ability and environmental adaptability of the snake robot. In addition, three orthogonal joint modules and corresponding snake robots were designed, and a simulator for the snake robot based on Gazebo was established. A prototype of the snake robot with offline control, remote communication, and rich sensors was designed based on Snake Robot III and improved its motion flexibility and perception ability. Furthermore, an open-source SnakeSys for structure–drive–perception–control integration based on ROS2 and ROS1 was built, achieving multimodal motion control and information perception for snake robots. Finally, through simulations and experiments, the effectiveness and accuracy of SnakeSys in motion control and information perception of the snake robot were verified, providing a foundation for research on the motion control, motion planning, and autonomous navigation of snake robots.
In the subsequent research, we will focus on the state estimation of snake robots, considering the state estimation of snake robots with nonrigid joints and contact with the environment. To facilitate scholars or developers using SnakeSys for research on snake robots directly or further development on this basis, we open sourced SnakeSys. In addition to immediate issues and obstacles, the trajectory planning and control of SnakeSys require additional implementation and development.

Author Contributions

Methodology, X.L., Y.Z. and Z.G.; Software, X.L.; Validation, X.L.; Investigation, X.L.; Resources, Y.Z. and Z.G.; Writing—original draft, X.L.; Writing—review & editing, X.L.; Visualization, X.L.; Supervision, Y.Z. and Z.G.; Funding acquisition, Y.Z. and Z.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Fundamental Research Funds for the Central Universities, grant number FRF-DF-20-13, and Foshan Science and Technology Innovation Fund, University of Science and Technology Beijing (USTB), China, grant numbers BK21BE019 and BK21BE015.

Data Availability Statement

The data presented in this study are available upon request from the corresponding author due to confidentiality.

Acknowledgments

We would like to acknowledge the assistance of Xinlei Wang and Peng Zhang, both of whom are students at the University of Science and Technology Beijing (USTB). And, we send our thanks to my friend Qingsheng Wang for sharing his programming skills. We also want to thank the anonymous reviewers and editors for their assistance during the review process.

Conflicts of Interest

The authors declare no conflicts of interest.

Glossary

R Real number set
nNumber of orthogonal joints of the snake robot
sNumber of map points
N ( N = 2 n ) Number of joints of the snake robot
Number of Hopf oscillators in the CPG model
l i ( i = 1 , , N ) Length of the i-th joint linkage, m
lLength of each joint linkage, m
WWorld frame
C 1 Left camera frame
C 2 Right camera frame
IIMU frame
BBase frame
J i ( i = 1 , , N ) Frame of the i-th joint linkage
P i ( i = 1 , , s ) Frame of the i-th map point
T W , C 1 Transformation from the world frame W to the left camera
frame C 1
T C 1 , B Transformation from the left camera frame C 1 to the base
frame B
T B , C 1 Transformation from the base frame B to the left camera
frame C 1
T W , P i ( i = 1 , , s ) Transformation from the world frame W to the i-th map
point frame P i
T W , J i ( i = 1 , , N ) Transformation from the world frame W to the i-th joint
linkage frame J i
T J i , W ( i = 1 , , N ) Transformation from the i-th joint linkage frame J i to
the world frame W
T J i , P j
( i = 1 , , N ; j = 1 , , s )
Transformation from the i-th joint linkage frame J i to
the j-th map point frame P j
T W , B Transformation from the world frame W to the base
frame B
T B , J i ( i = 1 , , N ) Transformation from the base frame B to the i-th joint
linkage frame J i
T J i , J j
( i = 1 , , N ; j = 1 , , N )
Transformation from the i-th joint linkage frame J i to
the j-th joint linkage frame J j
α i 1 ( i = 1 , , N ) Torsion angle of the linkage between axis Z i 1 and Z i
around the axis X i 1 of the Craig agreement, rad
a i 1 ( i = 1 , , N ) Linkage length between axis Z i 1 and Z i along the axis
X i 1 of the Craig agreement
d i ( i = 1 , , N ) Linkage distance between axis X i 1 and X i along the axis
Z i of the Craig agreement
θ i ( i = 1 , , N ) Rotation angle of the linkage between axis X i 1 and X i
around the axis Z i of the Craig agreement, rad
ϕ i ( i = 1 , , N ) Position of the i-th joint of the snake robot, rad
Phase of the i-th Hopf oscillator, ∘
H Hopf oscillator
S Amplitude optimization function of the Hopf oscillator
L Lagrange interpolation polynomial
ξ γ Amplitude optimization term of the Hopf oscillator
uState variable of the Hopf oscillator
vState variable of the Hopf oscillator
u c Central position of the limit cycle of the Hopf oscillator
v c Central position of the limit cycle of the Hopf oscillator
u ^ c Decentralized state variable of the Hopf oscillator
v ^ c Decentralized state variable of the Hopf oscillator
x o State variables of the Hopf oscillator
x c o Central positions of the limit cycle of the Hopf oscillator
x ^ o Decentralized state variables of the Hopf oscillator
M ω o Frequency matrix of the Hopf oscillator
M γ o Amplitude error matrix of the Hopf oscillator
x State variables of the CPG model
x c Central positions of the limit cycle of the CPG model
x ^ Decentralized state variables of the CPG model
y Rhythm output of the CPG model
E Mapped matrix of the CPG model
M ω Frequency matrix of the CPG model
M γ Amplitude error matrix of the CPG model
M c Coupling error matrix of the CPG model
D Coupling transformation matrix of the CPG model
L Coupling weight matrix of the CPG model
0 2 Two-dimensional zero matrix
I 2 Two-dimensional identity matrix
T i , j Two-dimensional transformation matrix between the i-th
and j-th Hopf oscillators
α Coupling gain coefficient of the CPG model
λ Attraction factor of each Hopf oscillator
σ Bifurcation parameter of each Hopf oscillator
σ i Bifurcation parameter of the i-th Hopf oscillator
ω Frequency of each Hopf oscillator, rad/s
kOptimization coefficient
w i , j Coupling weight from the j-th to the i-th Hopf oscillator
ρ Amplitude parameter of the Hopf oscillator
ρ i Amplitude parameter of the i-th Hopf oscillator
ϕ i , j Phase difference from the i-th to the j-th Hopf oscillator, rad
Φ Phase difference matrix of the CPG model
a y Initial angle of the waveform for yaw joints of the CL,
TWL, and SWL gaits, °
a p Initial angle of the waveform for pitch joints of the CL,
TWL, and SWL gaits, °
K n Number of waveforms of the CL, TWL, and SWL gaits
r a Radius of the ARL gait, m
r s Radius of the SRL gait, m
p s Pitch parameter of the SRL gait, m
S n Number of turns of the spiral curve of the SRL gait
t i Discrete time of CPG output, s
y i Joint position of one oscillator at time t i , °
y ˙ i Joint velocity of one oscillator at time t i , °/s
y ¨ i Joint acceleration of one oscillator at time t i , °/s2

References

  1. Thandiackal, R.; Melo, K.; Paez, L.; Herault, J.; Kano, T.; Akiyama, K.; Boyer, F.; Ryczko, D.; Ishiguro, A.; Ijspeert, A.J. Emergence of robust self-organized undulatory swimming based on local hydrodynamic force sensing. Sci. Robot. 2021, 6, eabf6354. [Google Scholar] [CrossRef] [PubMed]
  2. Liu, X.; Gao, Z.; Zang, Y.; Zhang, L. Tribological mechanism and propulsion conditions for creeping locomotion of the snake-like robot. J. Mech. Eng. 2021, 57, 13. [Google Scholar]
  3. Megalingam, R.K.; Senthil, A.P.; Raghavan, D.; Manoharan, S.K. Modeling of novel circular gait motion through daisy sequence fitting algorithm in a vertical climbing snake robot. J. Field Robot. 2024, 41, 211–226. [Google Scholar] [CrossRef]
  4. Ha, J. Robotic Snake Locomotion Exploiting Body Compliance and Uniform Body Tensions. IEEE Trans. Robot. 2023, 39, 3875–3887. [Google Scholar] [CrossRef]
  5. Chang, A.H.; Vela, P.A. Shape-centric modeling for control of traveling wave rectilinear locomotion on snake-like robots. Robot. Auton. Syst. 2020, 124, 103406. [Google Scholar] [CrossRef]
  6. Wang, T.; Lin, B.; Chong, B.; Whitman, J.; Travers, M.; Goldman, D.I.; Blekherman, G.; Choset, H. Reconstruction of backbone curves for snake robots. IEEE Robot. Autom. Lett. 2021, 6, 3264–3270. [Google Scholar] [CrossRef]
  7. Arachchige, D.D.; Perera, D.M.; Mallikarachchi, S.; Kanj, I.; Chen, Y.; Godage, I.S. Wheelless soft robotic snake locomotion: Study on sidewinding and helical rolling gaits. In Proceedings of the 2023 IEEE International Conference on Soft Robotics (RoboSoft), Singapore, 3–7 April 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 1–6. [Google Scholar]
  8. Takemori, T.; Tanaka, M.; Matsuno, F. Adaptive helical rolling of a snake robot to a straight pipe with irregular cross-sectional shape. IEEE Trans. Robot. 2022, 39, 437–451. [Google Scholar] [CrossRef]
  9. Liu, Y. Review of snake robots in constrained environments. Robot. Auton. Syst. 2021, 141, 103785. [Google Scholar] [CrossRef]
  10. Wang, G.; Yang, W.; Shen, Y.; Shao, H.; Wang, C. Adaptive path following of underactuated snake robot on unknown and varied frictions ground: Theory and validations. IEEE Robot. Autom. Lett. 2018, 3, 4273–4280. [Google Scholar] [CrossRef]
  11. Mori, M.; Hirose, S. Three-dimensional serpentine motion and lateral rolling by active cord mechanism ACM-R3. In Proceedings of the Intelligent Robots and Systems, 2002. IEEE/RSJ International Conference, Lausanne, Switzerland, 30 September–4 October 2002. [Google Scholar]
  12. Komura, H.; Yamada, H.; Hirose, S. Development of snake-like robot ACM-R8 with large and mono-tread wheel. Adv. Robot. 2015, 29, 1081–1094. [Google Scholar] [CrossRef]
  13. Ohno, H.; Hirose, S. Pneumatically-Driven Active Cord Mechanism “Slim Slime Robot”. J. Robot. Mechatron. 2014, 26, 105–106. [Google Scholar] [CrossRef]
  14. Zuo, X.; Tang, J.; Tian, M.; Wang, X. A design of a snake robot inspired by waterbomb origami. In Proceedings of the 2022 IEEE International Conference on Robotics and Biomimetics (ROBIO), Jinghong, China, 5–9 December 2022; IEEE: Piscataway, NJ, USA, 2022; pp. 2354–2360. [Google Scholar]
  15. Bi, Z.; Xu, J.; Fang, H. Design and path planning for a Worm-Snake-Inspired Metameric (WSIM) Robot. In Proceedings of the 2022 IEEE International Conference on Robotics and Biomimetics (ROBIO), Jinghong, China, 5–9 December 2022; IEEE: Piscataway, NJ, USA, 2022; pp. 777–782. [Google Scholar]
  16. Qi, X.; Shi, H.; Pinto, T.; Tan, X. A novel pneumatic soft snake robot using traveling-wave locomotion in constrained environments. IEEE Robot. Autom. Lett. 2020, 5, 1610–1617. [Google Scholar] [CrossRef]
  17. Gautreau, E.; Sandoval, J.; Bonnet, X.; Arsicault, M.; Zeghloul, S.; Laribi, M.A. A new bio-inspired Hybrid Cable-Driven Robot (HCDR) to design more realistic snakebots. In Proceedings of the 2022 International Conference on Robotics and Automation (ICRA), Philadelphia, PA, USA, 23–27 May 2022; IEEE: Piscataway, NJ, USA, 2022; pp. 2134–2140. [Google Scholar]
  18. Hirose, S.; Yamada, H. Snake-like robots [tutorial]. IEEE Robot. Autom. Mag. 2009, 16, 88–98. [Google Scholar] [CrossRef]
  19. Ma, S. Analysis of snake movement forms for realization of snake-like robots. In Proceedings of the 1999 IEEE International Conference on Robotics and Automation (Cat. No. 99CH36288C), Detroit, MI, USA, 10–15 May 1999; IEEE: Piscataway, NJ, USA, 1999; Volume 4, pp. 3007–3013. [Google Scholar]
  20. Tang, C.; Sun, L.; Zhou, G.; Shu, X.; Tang, H.; Wu, H. Gait Generation Method of Snake Robot Based on Main Characteristic Curve Fitting. Biomimetics 2023, 8, 105. [Google Scholar] [CrossRef]
  21. Takemori, T.; Tanaka, M.; Matsuno, F. Hoop-Passing Motion for a Snake Robot to Realize Motion Transition across Different Environments. IEEE Trans. Robot. 2021, 37, 1696–1711. [Google Scholar] [CrossRef]
  22. Yu, J.; Tan, M.; Chen, J.; Zhang, J. A Survey on CPG-Inspired Control Models and System Implementation. IEEE Trans. Neural Netw. Learn. Syst. 2017, 25, 441–456. [Google Scholar] [CrossRef]
  23. Ijspeert, A.J. Central pattern generators for locomotion control in animals and robots: A review. Neural Netw. 2008, 21, 642–653. [Google Scholar] [CrossRef] [PubMed]
  24. Lin, F.; Zhang, G. Multimodal swimming control of bionic fish based on CPG. In Proceedings of the 2023 35th Chinese Control and Decision Conference (CCDC), Yichang, China, 20–22 May 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 4633–4638. [Google Scholar]
  25. Shaw, S.; Sartoretti, G. Keyframe-based CPG for stable gait design and online transitions in legged robots. In Proceedings of the 2022 IEEE 61st Conference on Decision and Control (CDC), Cancun, Mexico, 6–9 December 2022; IEEE: Piscataway, NJ, USA, 2022; pp. 756–763. [Google Scholar]
  26. Song, Z.; Huang, X.; Xu, J. Spatiotemporal pattern of periodic rhythms in delayed Van der Pol oscillators for the CPG-based locomotion of snake-like robot. Nonlinear Dyn. 2022, 110, 3377–3393. [Google Scholar] [CrossRef]
  27. Song, Z.; Xu, J. Multi-coexistence of routes to chaos in a delayed half-center oscillator (DHCO) system. Nonlinear Dyn. 2024, 112, 1469–1486. [Google Scholar] [CrossRef]
  28. Song, Z.; Xu, J. Multiple switching and bifurcations of in-phase and anti-phase periodic orbits to chaotic coexistence in a delayed half-center CPG oscillator. Nonlinear Dyn. 2023, 111, 16569–16584. [Google Scholar] [CrossRef]
  29. Song, Z.; Xu, J. Self-/mutual-symmetric rhythms and their coexistence in a delayed half-center oscillator of the CPG neural system. Nonlinear Dyn. 2022, 108, 2595–2609. [Google Scholar] [CrossRef]
  30. Yang, G.; Ma, S.; Li, B.; Wang, M. A hierarchical connectionist CPG controller for controlling the snake-like robot’s 3-dimensional gaits. In Proceedings of the 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, Vilamoura-Algarve, Portugal, 7–12 October 2012; IEEE: Piscataway, NJ, USA, 2012; pp. 822–827. [Google Scholar]
  31. Manzoor, S.; Choi, Y. A unified neural oscillator model for various rhythmic locomotions of snake-like robot. Neurocomputing 2016, 173, 1112–1123. [Google Scholar] [CrossRef]
  32. Zhang, D.; Xiao, Q.; Cao, Z. Gait Generation with Smooth Transition Using Neural Oscillator Network Based Locomotion Control for Snake-Like Robot. In Proceedings of the 2019 2nd IEEE International Conference on Soft Robotics (RoboSoft), Seoul, Republic of Korea, 14–18 April 2019. [Google Scholar]
  33. Wang, Z.; Gao, Q.; Zhao, H. CPG-Inspired Locomotion Control for a Snake Robot Basing on Nonlinear Oscillators. J. Intell. Robot. Syst. 2017, 85, 209–227. [Google Scholar] [CrossRef]
  34. Fukuoka, Y.; Otaka, K.; Takeuchi, R.; Shigemori, K.; Inoue, K. Mechanical Designs for Field Undulatory Locomotion by a Wheeled Snake-Like Robot with Decoupled Neural Oscillators. IEEE Trans. Robot. 2023, 39, 959–977. [Google Scholar] [CrossRef]
  35. Burden, S.A.; Libby, T.; Jayaram, K.; Sponberg, S.; Donelan, J.M. Why animals can outrun robots. Sci. Robot. 2024, 9, eadi9754. [Google Scholar] [CrossRef]
  36. Macenski, S.; Soragna, A.; Carroll, M.; Ge, Z. Impact of ROS 2 Node Composition in Robotic Systems. IEEE Robot. Autom. Lett. 2023. [Google Scholar] [CrossRef]
  37. Macenski, S.; Foote, T.; Gerkey, B.; Lalancette, C.; Woodall, W. Robot Operating System 2: Design, architecture, and uses in the wild. Sci. Robot. 2022, 7, eabm6074. [Google Scholar] [CrossRef]
  38. Koenig, N.; Howard, A. Design and use paradigms for gazebo, an open-source multi-robot simulator. In Proceedings of the 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No. 04CH37566), Sendai, Japan, 28 September–2 October 2004; IEEE: Piscataway, NJ, USA, 2004; Volume 3, pp. 2149–2154. [Google Scholar]
  39. Sanfilippo, F.; Stavdahl, Ø.; Liljebäck, P. SnakeSIM: A ROS-based rapid-prototyping framework for perception-driven obstacle-aided locomotion of snake robots. In Proceedings of the 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macau, China, 5–8 December 2017; IEEE: Piscataway, NJ, USA, 2017; pp. 1226–1231. [Google Scholar]
  40. Ni, F.; Li, Y.; Zhou, Y.; Zhao, L.; Liu, H. Design of a Hierarchical Control System for Tetherless Snake Robot. In Proceedings of the 2019 IEEE International Conference on Mechatronics and Automation (ICMA), Tianjin, China, 4–7 August 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 1254–1259. [Google Scholar]
  41. Zhou, Y.; Li, Z.; Zhang, Y.; Ni, F.; Sun, Y.; Liu, H. The real-time control framework for a modular snake robot. In Proceedings of the 2019 4th International Conference on Robotics and Automation Engineering (ICRAE), Singapore, 22–24 November 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 168–172. [Google Scholar]
  42. Ding, C.; Zhou, J.; Wu, L.; Ren, C. Path Planning and Gait Control of Snake Robot Based on PAPF and MPC. In Proceedings of the 2023 42nd Chinese Control Conference (CCC), Tianjin, China, 24–26 July 2023; IEEE: Piscataway, NJ, USA, 2023; pp. 2934–2939. [Google Scholar]
  43. Melo, K.; Leon, J.; di Zeo, A.; Rueda, V.; Roa, D.; Parraga, M.; Gonzalez, D.; Paez, L. The modular snake robot open project: Turning animal functions into engineering tools. In Proceedings of the 2013 IEEE International Symposium on Safety, Security, and Rescue Robotics (SSRR), Linköping, Sweden, 21–26 October 2013; IEEE: Piscataway, NJ, USA, 2013; pp. 1–6. [Google Scholar]
  44. Cai, Z. Fundamentals of Robotics; China Machine Press: Beijing, China, 2021. [Google Scholar]
  45. Liu, X.; Zang, Y.; Gao, Z.; Liao, M. Locomotion gait control of snake robots based on a novel unified CPG network model composed of Hopf oscillators. Robot. Auton. Syst. 2024, 179, 104746. [Google Scholar] [CrossRef]
  46. Campos, C.; Elvira, R.; Rodríguez, J.J.G.; Montiel, J.M.; Tardós, J.D. ORB-SLAM3: An accurate open-source library for visual, visual–inertial, and multimap slam. IEEE Trans. Robot. 2021, 37, 1874–1890. [Google Scholar] [CrossRef]
Figure 1. Coordinate system of the snake robot.
Figure 1. Coordinate system of the snake robot.
Electronics 13 03437 g001
Figure 2. Rotating pair and linkage parameters of joints of the snake robot.
Figure 2. Rotating pair and linkage parameters of joints of the snake robot.
Electronics 13 03437 g002
Figure 3. Bio -inspired CPG control based on Hopf oscillators of the snake robot.
Figure 3. Bio -inspired CPG control based on Hopf oscillators of the snake robot.
Electronics 13 03437 g003
Figure 4. Five-point interpolation-derivative model based on sliding window for CPG model. S1 and S4 represent that they are not fixed after calculation using Equations (40) and (45), respectively. S2 represents that they are not fixed after calculation using Equation (39). S3 and S5 represent that they are fixed after calculation using Equations (38) and (43), respectively.
Figure 4. Five-point interpolation-derivative model based on sliding window for CPG model. S1 and S4 represent that they are not fixed after calculation using Equations (40) and (45), respectively. S2 represents that they are not fixed after calculation using Equation (39). S3 and S5 represent that they are fixed after calculation using Equations (38) and (43), respectively.
Electronics 13 03437 g004
Figure 5. Control architecture of SnakeSys.
Figure 5. Control architecture of SnakeSys.
Electronics 13 03437 g005
Figure 6. Nodes and topics of SnakeSys.
Figure 6. Nodes and topics of SnakeSys.
Electronics 13 03437 g006
Figure 7. Orthogonal joints corresponding to Snake Robot I, Snake Robot II, and Snake Robot III.
Figure 7. Orthogonal joints corresponding to Snake Robot I, Snake Robot II, and Snake Robot III.
Electronics 13 03437 g007
Figure 8. Steps from the Creo model to the XACRO model.
Figure 8. Steps from the Creo model to the XACRO model.
Electronics 13 03437 g008
Figure 9. The simplified collision models for Snake Robot III. (a) Cylinder collision model with passive wheels. (b) Cylinder collision model without passive wheels. (c) Box collision model without passive wheels.
Figure 9. The simplified collision models for Snake Robot III. (a) Cylinder collision model with passive wheels. (b) Cylinder collision model without passive wheels. (c) Box collision model without passive wheels.
Electronics 13 03437 g009
Figure 10. The distributed power supply system for snake robots.
Figure 10. The distributed power supply system for snake robots.
Electronics 13 03437 g010
Figure 11. Prototype of Snake Robot III.
Figure 11. Prototype of Snake Robot III.
Electronics 13 03437 g011
Figure 12. The GUI module of SnakeSys. (a) Parameter control of the GUI module. (b) Data visualization of the GUI module. (c) The state of the snake robot in Gazebo. (d) Visualization of t f t r e e in RViz.
Figure 12. The GUI module of SnakeSys. (a) Parameter control of the GUI module. (b) Data visualization of the GUI module. (c) The state of the snake robot in Gazebo. (d) Visualization of t f t r e e in RViz.
Electronics 13 03437 g012
Figure 13. The motion of the snake robot in CL, TWL, SWL, ARL, and SRL gaits. The green curve from light to deep represents the yaw joints numbered from small to large and the purple curve from light to deep represents the pitch joints numbered from small to large.
Figure 13. The motion of the snake robot in CL, TWL, SWL, ARL, and SRL gaits. The green curve from light to deep represents the yaw joints numbered from small to large and the purple curve from light to deep represents the pitch joints numbered from small to large.
Electronics 13 03437 g013aElectronics 13 03437 g013b
Figure 14. The movement velocity and maximum joint torque of five gaits.
Figure 14. The movement velocity and maximum joint torque of five gaits.
Electronics 13 03437 g014
Figure 15. The motion of the snake robot in CL, SWL, and ARL gaits. The green curve from light to deep represents the yaw joints numbered from small to large and the purple curve from light to deep represents the pitch joints numbered from small to large. The dashed line represents the desired joint position generated from the CPG model.
Figure 15. The motion of the snake robot in CL, SWL, and ARL gaits. The green curve from light to deep represents the yaw joints numbered from small to large and the purple curve from light to deep represents the pitch joints numbered from small to large. The dashed line represents the desired joint position generated from the CPG model.
Electronics 13 03437 g015
Figure 16. The motion velocity ratio of experiments and simulations.
Figure 16. The motion velocity ratio of experiments and simulations.
Electronics 13 03437 g016
Figure 17. The motion of the snake robot in different environments. The green curve from light to deep represents the yaw joints numbered from small to large, and the purple curve from light to deep represents the pitch joints numbered from small to large. The dashed line represents the desired joint position generated from the CPG model.
Figure 17. The motion of the snake robot in different environments. The green curve from light to deep represents the yaw joints numbered from small to large, and the purple curve from light to deep represents the pitch joints numbered from small to large. The dashed line represents the desired joint position generated from the CPG model.
Electronics 13 03437 g017aElectronics 13 03437 g017b
Figure 18. The movement velocity and maximum joint torque in different environments.
Figure 18. The movement velocity and maximum joint torque in different environments.
Electronics 13 03437 g018
Figure 19. Information perception of the snake robot under CL gait. (a) Point cloud map and pose trajectory of the snake robot. (b) The body shape and tracking point cloud of the snake robot.
Figure 19. Information perception of the snake robot under CL gait. (a) Point cloud map and pose trajectory of the snake robot. (b) The body shape and tracking point cloud of the snake robot.
Electronics 13 03437 g019
Table 1. Parameters of joint linkages of the snake robot.
Table 1. Parameters of joint linkages of the snake robot.
Index i α i 1 a i 1 d i θ i
1000 ϕ 1 + π / 2
2 π / 2 l 1 0 ϕ 2
3 π / 2 l 2 0 ϕ 3
4 π / 2 l 3 0 ϕ 4
5 π / 2 l 4 0 ϕ 5
N 1 π / 2 l N 2 0 ϕ N 1
N π / 2 l N 1 0 ϕ N
Table 2. Design parameters of different snake robots.
Table 2. Design parameters of different snake robots.
Snake RobotIIIIII
Length of linkage (m) 0.076 0.106 0.160
Number of joints282828
Range of joint (°)±120±90±90
Passive wheelYes/NoYes/NoYes/No
Cross-sectionRectangleRectangleCircle
Table 3. Parameter settings of different motion gaits in simulations.
Table 3. Parameter settings of different motion gaits in simulations.
ParameterCLTWLSWLARLSRL
K n 232
a y (°)50 0.1 50
a p (°) 0.1 5015
r a 2
r s 0.26
p s 0.04
ω ( rad / s ) π / 5 π / 5 π / 5 π / 2 π / 5
Table 4. Parameter settings of different motion gaits in experiments.
Table 4. Parameter settings of different motion gaits in experiments.
ParameterCLSWLARL
K n 22
a y (°)5050
a p (°)0.115
r a 1
ω ( rad / s ) π / 5 π / 5 π / 2
Table 5. Parameter settings of control parameters in different environments.
Table 5. Parameter settings of control parameters in different environments.
ParameterSWL1SWL2SWL3SWL4ARL1ARL2ARL3ARL4
K n 2222
a y (°)50705070
a p (°)20202020
r a 1 1.2 1 1.2
ω ( rad / s ) π / 5 π / 5 π / 5 π / 5 π / 2 π / 2 π / 2 π / 2
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Liu, X.; Zang, Y.; Gao, Z. Bio-Inspired Multimodal Motion Gait Control of Snake Robots with Environmental Adaptability Based on ROS. Electronics 2024, 13, 3437. https://doi.org/10.3390/electronics13173437

AMA Style

Liu X, Zang Y, Gao Z. Bio-Inspired Multimodal Motion Gait Control of Snake Robots with Environmental Adaptability Based on ROS. Electronics. 2024; 13(17):3437. https://doi.org/10.3390/electronics13173437

Chicago/Turabian Style

Liu, Xupeng, Yong Zang, and Zhiying Gao. 2024. "Bio-Inspired Multimodal Motion Gait Control of Snake Robots with Environmental Adaptability Based on ROS" Electronics 13, no. 17: 3437. https://doi.org/10.3390/electronics13173437

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop