Next Article in Journal
Real-Time Data-Driven Method for Bolt Defect Detection and Size Measurement in Industrial Production
Previous Article in Journal
Central Dioptric Line Image-Based Visual Servoing for Nonholonomic Mobile Robot Corridor-Following and Doorway-Passing
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Snake Robot Gait Design for Climbing Eccentric Variable-Diameter Obstacles on High-Voltage Power Lines

1
Agricultural Machinery Engineering Research and Design Institute, Hubei University of Technology, Wuhan 430068, China
2
School of Mechanical Engineering, Hubei University of Technology, Wuhan 430068, China
3
School of Education and Foreign Languages, Wuhan Donghu University, Wuhan 430212, China
*
Author to whom correspondence should be addressed.
Actuators 2025, 14(4), 184; https://doi.org/10.3390/act14040184
Submission received: 10 February 2025 / Revised: 2 April 2025 / Accepted: 7 April 2025 / Published: 9 April 2025
(This article belongs to the Section Actuators for Robotics)

Abstract

:
This paper presents a novel gait design for serpentine robots to smoothly wrap around and traverse vibration-damping hammers along overhead power lines. Cubic quasi-uniform B-spline curves are utilized to seamlessly transition between helical segments of varying diameters during obstacle crossing, effectively reducing motion-induced impacts. The design begins by determining the control points of the B-spline curves to ensure posture continuity and prevent collisions with surrounding hardware obstacles, resulting in the derivation of an obstacle-crossing curve equation. Using this equation, the node coordinates and postures of individual robot units are computed, followed by the calculation of joint angles via inverse kinematics. A dual-chain Hopf oscillator is then employed to generate the obstacle-crossing gait. The feasibility of the proposed gait is validated through simulations in CoppeliaSim and Simulink, which model the robot’s motion as it wraps around and crosses eccentric obstacles with varying diameters. Additionally, a simulation platform is developed to analyze variations in joint angles and angular velocities during obstacle traversal. Results demonstrate that the gait, generated by combining cubic quasi-uniform B-spline curves with a dual-chain Hopf oscillator, achieves smooth and stable wrapping and crossing of vibration-damping hammers. The robot exhibits no abrupt changes in joint angles, smooth angular velocity profiles without sharp peaks, and impact-free joint interactions, ensuring reliable performance in complex environments.

1. Introduction

Regular inspection of overhead power transmission cables is crucial for ensuring the efficient delivery of electricity to users and for the early detection and maintenance of faults. Traditional inspection robots for overhead power lines typically have two or three rigid arms, making them bulky and heavy, which leads to low inspection efficiency [1]. The serpentine robot, with its high redundancy and environmental adaptability, has become an ideal choice for inspecting overhead power lines. However, obstacles such as vibration-damping hammers (a common component in high-voltage transmission lines), suspension clamps, and splice tubes on the transmission lines pose challenges to the robot’s obstacle-crossing capability and motion control. During obstacle traversal, the key challenge is to avoid collisions between the robot’s body and the cables or hardware components, while ensuring smooth traversal. This is critical for ensuring the safe and reliable operation of the serpentine robot along the overhead power lines.
In recent years, scholars worldwide have extensively researched the climbing and obstacle-crossing capabilities of serpentine robots. Tatsuya et al. [2,3] proposed defining the irregular spiral shape formed by the serpentine robot as a combination of axis, cross-section, and pitch angles, allowing better adaptation to pipes with continuously varying and non-circular cross-sections. Furthermore, the team enabled the robot’s climbing motion by combining displacement control with suspension movement, which allowed the serpentine robot to climb ladders. Qi Wei et al. [4] introduced the use of hyperbolic functions to generate helical wave curves, enabling the serpentine robot to traverse branched pipelines. Wang Wei et al. [5] proposed an obstacle-crossing method in which the serpentine robot’s head grasps obstacles, enabling it to cross various line fittings. Jingwen Lu et al. [6] introduced an S-shaped rolling gait based on curve transformation design to enhance the robot’s ability to cross branched pipelines. Huizhuo Yang et al. [7] proposed an adaptive climbing method based on compliant control, allowing the serpentine robot to climb curved pipelines. Zhipeng Li et al. [8] applied reinforcement learning to enable the robot to cross two parallel rods, with the designed controller facilitating faster swinging to the target height. Yuta Iguchi et al. [9] developed a serpentine robot with mobile joints and designed an obstacle-crossing controller, enabling the robot to climb stairs. Sheraz Yaqub et al. [10] proposed a helical gait to address diameter discontinuities, allowing the serpentine robot to cross obstacles with diameter variations on both vertical and horizontal pipelines.
Most previous studies on serpentine robot obstacle crossing focus on gradual or sudden diameter changes of cylindrical obstacles, where the obstacle axis aligns with the pipeline or cable axis. Research on cases where there is an offset between the axes is relatively limited. This paper uses the case of the serpentine robot wrapping around and crossing vibration dampers on overhead power lines to explore methods for generating obstacle-crossing gaits for eccentric, diameter-varying obstacles.
Different obstacle-crossing gaits necessitate the use of specialized gait generation controllers. Koki Harada et al. [11] designed a controller for the serpentine robot to slide on smooth surfaces based on a dynamic model. Mizuki Nakajima et al. [12] developed a motion controller capable of tracking the serpentine robot’s trajectory along multiple slopes, though it is not suitable for cable climbing. Xupeng Liu et al. [13] proposed a CPG network model based on an improved Hopf oscillator design, enabling the serpentine robot to perform gaits such as creeping, traveling wave, lateral winding, arc rolling, and spiral rolling, with smooth transitions between gaits. They also addressed inconsistent waveform amplitudes using decoupled bifurcation parameters. Xuan Liu et al. [14] developed a reinforcement learning-based target tracking controller, enabling the serpentine robot to generate natural and smooth movement patterns. When a joint actuator fails, Ryo Ariizumi et al. [15] proposed a controller that can still track the originally set path. Yongdong Wang et al. [16] applied a sine curve control method and a hybrid force–position controller to improve the serpentine robot’s stability in congested pipelines. However, when the robot’s joints fail to follow the target angles, it may cause the motors to reset. Guifang Qiao et al. [17] developed a motion controller based on a three-layer central pattern generator (CPG), enabling continuous and smooth three-dimensional motion control for the serpentine robot. The above gait generation controllers provide the serpentine robot with diverse motion capabilities, each with its own advantages and disadvantages. They should be selected flexibly based on specific requirements. Since the yaw and roll joints of each segment of the serpentine robot must move simultaneously during obstacle crossing, this paper uses a dual-chain Hopf oscillator to decouple the movement of these joints and control the robot’s obstacle-crossing gait.
In summary, to enable the serpentine robot to coil and cross obstacles such as vibration dampers on overhead transmission lines, this paper models the vibration damper as an obstacle with an eccentric offset from the cable. The robot’s obstacle-crossing gait is planned using a kinematic model and cubic quasi-uniform B-spline curves to smooth the transition between two segments of eccentric, varying-diameter helical lines. The obstacle-crossing curve is generated by connecting the two segments, with B-spline control points defined to ensure a smooth connection. The robot’s joint angles, initial values, and maximum values during the obstacle-crossing movement are calculated using the obstacle-crossing posture curve equation, which is then input into the dual-chain Hopf oscillator to generate control signals for the yaw and roll joints. Finally, simulation and prototype experiments of the robot’s obstacle-crossing process over eccentric, varying-diameter obstacles are conducted to verify the feasibility of the obstacle-crossing gait.

2. Structure of Snake Robot Modules and Operational Conditions

This paper uses a serpentine robot composed of P-R-S units as the experimental subject. Figure 1 shows the robot’s operating environment, and Figure 2 illustrates the unit structure. Each unit consists of a yaw joint component, a roll joint component, and a translational joint component. These components are mechanically coupled via customized connectors to inner sleeves. Specifically, the yaw and roll joint components enable adjacent module articulation in pitch and rotational motions respectively through embedded servomotors. The translation joint component utilizes threaded fasteners to secure the fork part to the scale sleeve, where reciprocating of the translational servomotor within constrained angular ranges drives periodic axial displacement of the scale sleeve. Eight rollers are strategically arranged between the inner sleeves and scale sleeve to facilitate relative sliding motion. The roll joint incorporates servo horn connectors at its distal end, establishing mechanical linkages between adjacent robotic units through servo horn couplings that interconnect roll and yaw joints across neighboring modules.
On high-voltage transmission lines, the serpentine robot mainly moves in two ways: crawling mode and spiral wrapping mode. Figure 3a illustrates the crawling mode of the robot’s forward movement [18]. The robot, helically wrapped around the high-voltage power transmission line with constant pitch, achieves advancement along a constant-pitch helical trajectory through the translational module that actuates the scale sleeves of the odd-numbered and even-numbered units in an alternating manner. The unique structure of the scale sleeves anisotropic friction, with lower friction in the forward direction and higher friction in the reverse, enabling the robot to traverse rough surfaces. Figure 3b illustrates the robot’s movement in spiral wrapping mode, where the serpentine robot is divided into the head, middle, and tail segments. Initially, the serpentine robot wraps around the high-voltage transmission line in an evenly spaced spiral. During movement, the robot’s tail tightly wraps around the transmission line first. Then, using the tail as a pivot, the head and middle body stretch forward. The head then tightly wraps around the line, and finally, by retracting the body and tail, the robot moves forward.
Based on the installation method of the vibration damper, the section of the line with the damper is simplified. Under fully tensioned conditions, the flexible deformation of the cable is negligible, and it can thus be modeled as a rigid structure. Dynamic oscillation of the line during motion are also neglected in this analysis. As shown in Figure 4, the vibration damper is simplified as an eccentric variable-diameter obstacle on the cable. The cable is simplified as a cylinder with radius r1, and the vibration damper as a cylinder with radius r2. The axes of these two cylinders differ by (r2 − r1) along the Y-axis. Figure 5 shows the positional relationship between the cable and the obstacle in the XOY plane, where OA and OB represent the centers of the cable and the eccentric variable-diameter obstacle in the XOY plane, respectively.
This study on the gait of the snake-like robot crossing the vibration damper is divided into two parts: (1) proposing a motion gait that enables the robot to move along the cable and overcome eccentric variable-diameter obstacles while avoiding collisions with the obstacle; and (2) analyzing whether singular configurations exist during the robot’s movement under this gait, to prevent abrupt or discontinuous changes in joint angular velocity.

3. Mathematical Model of Snake Robot Obstacle Crossing

3.1. Kinematic Model

For convenience, the joints of the snake-like robot are numbered such that the unit with the roll joint not connected to other units is labeled as Joint 1. The remaining joints are numbered sequentially based on their distance from Joint 1. The robot is divided into three sections: Sections 1 to 5 as the head, Sections 6 to 8 as the middle, and Sections 9 to 10 as the tail, as shown in Figure 6. The robot’s dimensional parameters are listed in Table 1, where the joint length is defined as the distance from the steering gear connector to the center of the steering gear disc in the deflection joint.
As a multi-degree-of-freedom robot, each joint angle change of the snake-like robot alters its spatial posture. To accurately describe the mapping between the spatial positions of points on the robot and the joint angles, a coordinate system is established at each joint. The D-H parameter method is used to build the robot’s kinematic model. For convenience in processing the calculation results, a virtual unit is added in front of the robot’s head as the base, as shown in Figure 7. Here, the coordinate system {h} serves as the reference frame. Odd-numbered coordinate systems denote revolute joint frames, while even-numbered ones represent deflection joint frames.
The junction between two units is a node. Taking the robot’s head as the reference, the position of node w is Lw:
L w = w L s N s
In this case, Ns represents the total number of units in the snake robot’s body, and Ls denotes the total length of the robot.
To describe the relationship between the spatial position of each point on the snake robot and the angles of its joints, an improved DH method is used to establish the roll transformation matrix, where j = 1, 3, 5, 7…, and αi represents the angle of the i joint:
R 1 h = c o s   α i s i n   α i 0 s i n   α i c o s   α i 0 0 0 1 R j + 1 j = c o s   α i s i n   α i 0 0 0 1 s i n   α i c o s   α i 0 R j + 2 j + 1 = c o s   α i s i n   α i 0 0 0 1 s i n   α i c o s   α i 0
The coordinate transformation formula for any point p on the snake robot between the joint coordinate system i and the reference coordinate system (coordinate system h) is as follows:
p h = R i h × p i
When pi = (0 1 0)T (where i is an even number), the calculated ph represents the posture of the corresponding unit of the snake robot relative to the reference coordinate system.

3.2. Obstacle-Crossing Gait Planning

There are two phases for the snake robot to cross an eccentric large-diameter obstacle: first, the robot climbs from the cable to the eccentric large-diameter obstacle; second, it returns from the obstacle back to the cable.
Figure 8 illustrates the posture changes of the snake robot as it climbs from the cable onto the eccentric large-diameter obstacle. First, the robot spirals around the cable in a helical posture (Figure 8a); next, it elongates its body with the tail segment as the base, then spirals the head segment around the obstacle (Figure 8b); then, continuing with the tail as the base, the robot extends the body further, bringing the middle segment onto the obstacle and spiraling it around the obstacle (Figure 8c); finally, the robot elongates its body to move forward and pulls the tail segment onto the obstacle (Figure 8d).
Figure 9 illustrates the posture changes of the snake robot as it moves from the eccentric large-diameter obstacle back to the cable. The process is similar to that in Figure 8, but reversed. Therefore, this paper provides a detailed analysis of the process in which the robot climbs from the cable onto the eccentric large-diameter obstacle, and later conducts simulations and experimental analysis of both processes.
For the case of the snake robot climbing from the cable onto an eccentric large-diameter obstacle, the robot’s posture curve during the obstacle traversal is first derived. Then, by examining the correspondence between the obstacle traversal posture curve and the robot’s joint positions, the joint angles of the robot are calculated. During the obstacle traversal, the snake robot follows two segments of spirals with different diameters. To avoid internal constraint forces during the robot’s motion, a transition curve is added between the two spiral segments to smoothly connect them. The posture curves of the snake robot in Figure 8a,d represent equidistant spirals; the posture in Figure 8b corresponds to the posture curve shown in Figure 10a, while the posture in Figure 8c corresponds to the curve in Figure 10b.
In Figure 10a, the posture curve of the snake robot consists of Helix A (representing the robot’s tail segment), a transition curve (representing the robot’s middle segment), and Helix B (representing the robot’s head segment). In Figure 10b, the posture curve of the snake robot is made up of Helix B (representing the middle and head segments of the robot) and the transition curve (representing the robot’s tail segment).
The equations of the curves for Helix A and Helix B are as follows:
C A q A = x A = r A c o s   q A y A = r A s i n   q A z A = h A 2 π q A θ A = 2 π T s A h A = L s 2 ( r A θ A ) 2 T s A r A = r t + r s cos ( θ A 2 N s )
C B q B = x B = r B c o s   q B y B = r B s i n   q B ( r B r A ) z B = h B 2 π q B + H B θ B = 2 π T s B h B = L s 2 ( r B θ B ) 2 T s B r B = r t + r s cos ( θ B 2 N s )
In this context, qA and qB are defined as the instantaneous angular parameters governing the motion of the serpentine robot along Helix A and Helix B, respectively; rA and rB represent the wrapping radii of Helix A and Helix B, respectively; rs is the radius of the snake robot’s unit; rt is the radius of the cable or obstacle; hA and hB denote the lead of Helix A and Helix B, respectively; HB is the offset of Helix B along the Z-axis; TsA and TsB refer to the number of turns of Helix A and Helix B, which indicates the maximum number of turns the snake robot can make when the lead is hA or hB; Ls is the total length of the snake robot; Ns represents the total number of units in the snake robot’s body.

3.3. Transition Curve

To ensure a smooth transition between the two helical segments, this study uses quasi-uniform B-spline curves for the smooth blending of the curves. The tangent directions at the endpoints of the quasi-uniform B-spline curve are aligned with the direction of the vectors formed by the last two endpoints. As shown in Figure 11, the tangent directions at points P0 and P4 of the B-spline curve align with the vectors P 0 P 1 and P 0 P 4 , respectively. Therefore, by appropriately selecting the control points, we ensure that the left and right derivatives at the connection points between the helical curve and the quasi-uniform B-spline curve are equal, achieving a smooth transition between the two. Higher-order B-splines yield smoother curves. To ensure smooth blending between the curves, a cubic quasi-uniform B-spline curve is selected in this study.
The cubic quasi-uniform B-spline curve consists of five control points, P0 to P4, where P0 is the point of intersection between the B-spline curve and Helix A, and P4 is the intersection between the B-spline curve and Helix B. To determine the equation of the cubic quasi-uniform B-spline curve shown in Figure 10, the coordinates of the five control points, P0 to P4, must first be established. Since the position of point P0 can vary along the plane of intersection between the obstacle and the cable during the robot’s motion, four control point selection schemes are proposed in this study to reduce computational complexity, as illustrated in Figure 12.
Selection of point P0: The point P0 is placed on the coordinate axis, and the equation of the axis is solved simultaneously with Equation (4). The coordinates of point P0 are given below, where k1 represents the slope of the coordinate axis on which P0 lies.
x P 0 = ± r A k 1 2 + 1 x P 0 2 + y P 0 2 = r A 2 z P 0 = h A 2 π ( arccos ( x P 0 r A ) )
Selection of point P1: To ensure a smooth connection between the B-spline curve and Helix A, the tangent direction of Helix A at point P0 must be the same as the tangent direction of the B-spline curve at P0. The tangent direction of the B-spline curve at P0 aligns with the vector P 0 P 1 , and to avoid intersection with the cable, the projection length of vector P 0 P 1 on the XOY plane must equal the roll radius rA of Helix A. The coordinate of point P1 is given by Equation (7), where j is a scaling factor in the formula for controlling the geometric characteristics of a B-spline curve at the connection point P0, ensuring a smooth transition between the curve and Helix A:
( x P 1 x P 2 ) 2 + ( y P 1 y P 2 ) 2 = r A 2 x P 0 y P 0 z P 0 = j x P 0 x P 1 y P 0 y P 1 z P 0 z P 1 j > 0
Selection of point P2: In the XOY plane, point P2 is the intersection of another coordinate axis and a circle with a radius of rB. Here, L13 represents the distance between points P1 and P3 along the Z-axis, which is calculated through Equation (13), and k2 is the slope of the coordinate axis containing point P2. The coordinate equation of point P2 is given by:
x P 2 = k 2 r B r A ± ( k 2 r B ) 2 r A 2 + 2 r B r A k 2 2 + 1 x P 2 2 + ( y P 2 ( r B r A ) ) 2 = r B 2 z P 2 = z P 1 + L 13 2
Equation (8) has two solutions, from which one is selected based on the rotation direction of Helix A.
Selection of P3 point. The coordinates of P3 need to be calculated based on the coordinates of P4. Similarly, to ensure smooth connection between the B-spline curve and Helix B, the tangent direction of Helix B at P4 must align with the tangent direction of the B-spline curve at P4. The tangent direction of the B-spline curve at P4 coincides with the direction of vector P 3 P 4 , and the projection length of vector P 3 P 4 in the XOY plane equals the rotation radius rA of Helix A. Based on this, the coordinates of P3 in the XOY plane can be determined as follows:
( x P 4 x P 3 ) 2 + ( y P 4 y P 3 ) 2 = r A 2 x P 4 y P 4 z P 4 = j x P 3 x P 4 y P 3 y P 4 z P 3 z P 4 z P 3 = z P 2 + L 13 2 j > 0
Selection of P4 point. To ensure that the snake robot does not slip off the cable, in the XOY plane, P4 is set at the intersection of the coordinate axis and the circle with radius rB. This axis is the same as the one where P0 lies. The coordinate equation for P4 is as follows:
x P 4 = k 1 r B r A ± ( k 1 r B ) 2 r A 2 + 2 r B r A k 1 2 + 1 x P 4 2 + ( y P 4 ( r B r A ) ) 2 = r B 2 z P 4 = h B 2 π arccos x P 4 r B + H B
Equation (10) has two solutions, and one is selected based on the rotation direction of Helix A.
Based on the selected five control points, the cubic quasi-uniform B-spline curve is computed, with the knot vector U = {0, 0, 0, 0, 0.5, 1, 1, 1, 1}. The resulting cubic quasi-uniform B-spline curve function is expressed as follows. pi represents the control points of the B-spline curve; u is a continuous parameter variable defined over the range specified by the knot vector U, which parameterizes points along the curve; and B i , 3 ( u ) denotes the basis functions of the B-spline curve:
p ( u ) = i = 0 4 p i × B i , 3 ( u )
equivalent to
p ( u ) = x p ( u ) y p ( u ) z p ( u )
The appropriate control point scheme is selected based on the position of the connection point between the middle and tail segments of the snake robot. The pre-obstacle crossing posture of the snake robot is shown in Figure 8a. The position of the connection point between the middle and tail segments of the robot is closest to the positive half-axis of the Y-axis, so the coordinates of the control point follow the scheme in Figure 12a. Based on this, the cubic quasi-uniform B-spline curve is calculated and combined with the helix to obtain the obstacle crossing posture curve of the snake robot shown in Figure 8b.

3.4. Obstacle-Crossing Posture Curve of the Snake-like Robot

Since the length of the cubic quasi-uniform B-spline curve is equal to the length of the middle segment of the snake robot, the following equation can be written, where llink is the length of a snake robot unit, namely the joint length in Table 1, to solve for the parameter L13:
0 1 x p u 2 + y p u 2 + z p u 2 d u = 3 l l i n k
Substitute the obtained L13 into Equations (9) and (10), to solve for the parameter HB in Helix B. By solving Equations (4), (5) and (12) simultaneously, the posture curve function in Figure 10a is obtained as:
x = r A × c o s   q A + r B × c o s   q B + x p ( u ) y = r A × s i n   q A + r B × s i n   q B ( r B r A ) + y p ( u ) x = h A 2 π q A + h B 2 π q B + H B + z p ( u )
where the range of qA is q A a r c t a n   k 1 2 × T s A × π / 5 a r c t a n   k 1 \ and the range of qB is q B arccos ( x p 4 / r B ) arccos ( x p 4 / r B ) + T s B × π .
To solve for the posture curve of the snake robot shown in Figure 8c, the selection rule for the control points is the same as in the first case, and the calculation methods for parameters L13 and HB are the same as in the first case. Thus, the posture curve function in the second case is given by:
x = r B × c o s   q B + x p ( u ) y = r B × s i n   q B ( r B r A ) + y p ( u ) x = h B 2 π q B + H B + z p ( u ) arccos x P 4 r B q B arccos x P 4 r B + 8 × T s B × π 5

4. Robot Obstacle-Crossing Gait Generation

4.1. Calculation of Joint Angles for the Snake Robot

To calculate the joint angles of the snake robot corresponding to the posture curve shown in Figure 10a, first, the coordinates of the nodes between the robot’s units are determined based on the posture curve; then, the gradient at each node is calculated based on the node coordinates, which represents the posture of the robot’s unit at the node; finally, these values are substituted into the kinematic model to compute the joint angles of the snake robot.
Step 1: To facilitate the processing of the calculation results, two additional units are added to the snake robot as a base, as shown in Figure 7. The angle of the helical curve corresponding to node w in the first section of the snake robot is:
q w = T s B × 2 × π × L s / L w
where w is a positive integer with w ≤ 6. The corresponding qw is substituted into the equation of Helix B to solve for the node’s position:
C w = x w ( q w ) y w ( q w ) z w ( q w ) = r B c o s   q w r B s i n   q w ( r B r A ) h B 2 π q w + H B
Step 2: According to Equation (13), the length of the B-spline curve is the same as that of the snake robot’s middle segment. Therefore, the position of node w in the middle segment of the snake robot is given as follows, where w is a positive integer with 6 < w ≤ 9.
C w = x w ( u ) y w ( u ) z w ( u ) = x p ( w 6 3 ) y p ( w 6 3 ) z p ( w 6 3 )
Step 3: The tail segment of the snake robot corresponds to Helix A, and the calculation of the node positions is similar to Step 1. The position of node w is obtained as follows, where w is a positive integer with 9 < w ≤ 11.
C w = x w ( u ) y w ( u ) z w ( u ) = r A c o s   q w r A s i n   q w h A 2 π q w
Step 4: Solve the gradient at each node, which also represents the posture of the snake robot unit at that node. For the nodes of the head and tail segments, Δq is a small angular increment, and the postures of the head and tail segments of the snake robot are:
G w = x w q w + q x w q w q y w q w + q y w q w q z w q w + q z w q w q
For the middle segment of the snake robot, Δu is a small increment, and the posture of the middle segment of the snake robot is:
G w = x w u + u x w u u y w u + u y w u u z w u + u z w u u
Step 5: Calculate the joint angles of the snake robot. The calculated Gw is substituted into the Equation system (22), where f is the coefficient.
G w = f × R i h × p i   f > 0   i = 2 × w + 2 p i = 0 1 0   T
Solve the system of equations to obtain the joint angles of the snake robot corresponding to the posture curve in Figure 10a. Similarly, the joint angles corresponding to the posture curve in Figure 10b can be obtained.

4.2. Mathematical Model of the Dual-Chain Hopf Oscillator

To achieve obstacle-crossing control for the snake robot, this paper selects the Hopf oscillator as the gait controller to generate the obstacle-crossing gait. However, a single Hopf oscillator cannot produce the desired obstacle-crossing gait, and thus the original oscillator model needs to be improved. The improved oscillator model is:
u ˙ v ˙ = μ ( ρ u 2 + v 2 ) u k v ω μ ρ u 2 + v 2 v + k u ω + p u p v
k = 0 w h e n   t h e   t i m e r   i s   a c t i v e 1 w h e n   t h e   t i m e r   i s   i n a c t i v e
equivalent to
x ˙ = f x , μ , ρ , ω , k = F x ,     x = u v T
where k is the oscillator enable parameter, and its value is changed through a timer to control the pause of the oscillator. The control logic is as follows: when the output value v of the oscillator meets the trigger condition of the timer, the timer starts counting, k = 0, and the oscillator pauses. When the timer reaches ts (the pause time of the oscillator), the timer stops, is reset, and k = 1, allowing the oscillator to resume oscillating. The control flow is shown in Figure 13.
The snake robot studied in this paper consists of unit joints, with each unit containing two joints. Based on this structure, a Hopf oscillator with a double-chain configuration is selected, as shown in Figure 14.
The equation for the left chain in the double-chain model is:
x ˙ L i = F x L i γ b L i x L i T L i 1 x L i + 1 h x R i ,   i = 1 x ˙ L i = F x L i γ a L i 1 x L i T L i 1 x L i 1 h x R i ,   i = n x ˙ L i = F x L i γ b L i x L i T L i 1 x L i + 1 + a L i 1 x L i T L i 1 x L i 1 h x R i ,   1 < i < n
where Li is the index of the left-chain oscillator; T L i = ρ L i + 1 ρ L i × c o s   φ L s i n   φ L s i n   φ L c o s   φ L , where φL represents the phase difference between two adjacent oscillators in the left chain; γ is the total coupling gain; bLi is the connection weight at the tail of the left-chain oscillator, where b L i = 1   k L i + k L i + 1 = 2 0   k L i + k L i + 1 < 2 ; aLi is the connection weight at the head of the left-chain oscillator, where a L i = 1   k L i + k L i 1 = 2 0   k L i + k L i 1 < 2 ; ei is the coupling weight on the right side, where e i = 1   k L i + k R i = 2 0   k L i + k R i < 2 , and kLi and kRi are the oscillation enable parameters of oscillators Li and Ri, respectively; h(xRi) is the right-side coupling term, where T m i = ρ R i ρ L i × c o s   φ m s i n   φ m s i n   φ m c o s   φ m , and φm is the phase difference between oscillators Li and Ri.
The left and right chains are symmetric, and the equation for the right chain is omitted here. The left-chain oscillators generate control signals for the yaw joints of the snake robot, while the right-chain oscillators generate control signals for the roll joints. The control signal actuates the pitch and roll servo motors through the unit controller, precisely positioning them at the designated target angle [19]. Furthermore, the oscillators in both chains are coupled one-to-one. In this configuration, the left-chain oscillators and their coupled right-chain oscillators control two joints in the same segment of the snake robot. For example, oscillators L1 and R1 control the yaw joint 1 and roll joint 1 of the first segment of the robot, respectively.
The output of the dual-chain Hopf oscillator is:
y L i = v L i × i n i t P m i n P 2 + i n i t P + m i n P 2 y R i = v R i × m a x R i n i t R 2 + i n i t R + m a x R 2
where vLi and vRi represent the outputs of the left and right chains in the dual-chain oscillator, respectively; initP and minP are the initial and minimum values of the yaw joint motion, respectively; and initR and maxR are the initial and maximum values of the roll joint motion, respectively.

4.3. Hopf Oscillator Obstacle Traversal Gait Parameter Settings

In the simulation experiment, the cable diameter is 55 mm, and the diameter of the eccentric obstacle is 90 mm. As shown in Figure 8, the serpentine robot requires at least three gait cycles to climb from the cable to the obstacle. According to Equation (27), to generate the required control signals for the robot’s joint angles, it is necessary to determine the initial and maximum values of the rotational joint angles, as well as the initial and minimum values of the yaw joint angles within each gait cycle.
First gait cycle (from Figure 8a to Figure 8b): Calculation of initial values for the snake robot’s yaw and roll joint angles. In Figure 8a, the robot’s posture curve is Helix A, with the number of turns of Helix A set to TsA = 2.35. By solving the system of equations in Equation (22), the initial values of the robot’s joint angles are obtained, as shown in Table 2.
Since the first segment of the snake robot needs to extend and wrap around the obstacle, the posture curve at the head is Helix B, while the middle and tail sections follow Helix A. The number of turns for Helix A and Helix B are set to TsA = 1.4 and TsB = 1.5, respectively. By solving Equation (22), the maximum value of the robot’s roll joint angle and the minimum value of the yaw joint angle are obtained, as shown in Table 2.
Second gait cycle (from Figure 8b to Figure 8c): In Figure 8b, the posture curve of the snake robot follows Equation (14). The number of turns for Helix A and Helix B are set to TsA = 2.35 and TsB = 1.82, respectively. Based on the robot’s winding posture on the cable (as shown in Figure 8a), the control points for the B-spline curve are selected according to the form in Figure 12a, and Table 3 lists the coordinates of the five computed control points.
Substituting the data from Table 3 into Equation (14) yields the posture curve equation for Figure 8b. Using Equation (22), the initial joint angles of the snake robot are computed and listed in Table 4.
In the second gait cycle, the snake robot extends both the middle and front sections to secure them to the obstacle. Therefore, the posture curves for the front and middle sections are Helix B, while the rear section follows Helix A. The number of turns for Helix A and Helix B are set to TsA = 1.4 and TsB = 1.5, respectively. Using Equation (22), the maximum roll joint angle and the minimum yaw joint angle of the snake robot are computed and listed in Table 4.
The third gait cycle (from Figure 8c to Figure 8d). Calculation of the initial yaw and roll joint angles of the snake robot. In Figure 8c, the posture curve of the snake robot is given by Equation (15), with the number of turns for Helix B set to TsB = 1.82. Based on the posture of the snake robot winding on the cable (shown in Figure 8c), the control points for the B-spline curve are chosen according to the form in Figure 12c. The coordinates of the five control points are listed in Table 5.
The data from Table 5 are substituted into Equation (15) to obtain the posture curve Equation in Figure 8c. The initial joint angles of the snake robot are calculated using Equation (22), and the results are shown in Table 6.
In the third gait cycle, the snake robot extends its tail segment to fix it onto the obstacle. Therefore, the posture curve of the snake robot is Helix B. The number of turns for Helix B is set to TsB = 1.5, using Equation (22), and the maximum roll joint angle and minimum yaw joint angle of the snake robot are calculated and presented in Table 6.
The trigger condition for the timers in all Hopf oscillators is set to the oscillator unit output vLi = vRi = 1. The remaining detailed parameters of the dual-chain Hopf oscillator are shown in Table 7.

5. Experimental Analysis

5.1. Simulink/CoppeliaSim Integrated Simulation Platform

The motion analysis of the serpentine robot overcoming obstacles with eccentric, variable diameters was conducted using a combined simulation method of Simulink2022a and CoppeliaSim4.1.0. The models of the serpentine robot and the eccentric, variable-diameter obstacle were constructed in SolidWorks 2016 and imported into CoppeliaSim4.1.0, where appropriate roll and translational joints, as well as constraints, were added based on the functionality of each component. Figure 15 shows the model of the serpentine robot overcoming obstacles along the cable.
Through simulation, the posture curves corresponding to Formulas (14) and (15) can be obtained, as shown in Figure 16. Figure 16a, corresponding to Figure 8b, shows the posture curve of a snake-like robot when its foremost segment climbs onto an obstacle. This posture curve consists of helical curve A (foremost segment), a B-spline curve (mid-segment), and helical curve B (rear segment). Figure 16b, corresponding to Figure 8c, shows the posture curve when both the foremost and mid-segments of the snake-like robot have climbed onto the obstacle. This posture curve is composed of helical curve B (foremost and mid-segments) and a B-spline curve (rear segment).

5.2. Simulation and Analysis of Snake Robot Obstacle Traversal

The obstacle-crossing experiment of the serpentine robot involves certain safety risks. To mitigate the risk of the robot disconnecting or falling during the prototype experiment, the feasibility of the control system is first verified through combined simulations using CoppeliaSim and Simulink before the physical experiment. The simulation time is set to 32 s in CoppeliaSim to simulate the obstacle-crossing process of the serpentine robot. The posture transformation of the serpentine robot climbing from the cable to the obstacle, as shown in Figure 17, is obtained from the simulation. Figure 18 displays the variation curves of the yaw and rotational joint angles at indices 1, 3, 5, 7, and 9. Similarly, the shutdown motion angles for each cycle of the serpentine robot returning from the obstacle to the cable are calculated and input into the dual-chain Hopf oscillator. The posture transformation obtained from the simulation is shown in Figure 19, and Figure 20 shows the variation curves of the yaw and rotational joint angles at indices 1, 3, 5, 7, and 9.
Analysis of Figure 19 and Figure 20 reveals that, during the process of crossing the eccentric and variable-diameter obstacle, the joint angular displacement curves are continuous and smooth. This indicates that the joint angles of the robot do not exhibit sudden changes during motion, meaning no collisions occur between the robot’s joints, and no singular configurations are encountered. Additionally, the smoothness of the joint angular displacement curves, with no sharp points, indicates the absence of velocity discontinuities. These findings validate the effectiveness of the obstacle-crossing gait designed using the cubic quasi-uniform B-spline curve in this study. Furthermore, joints located in the middle of the serpentine robot experience greater loads compared to those at the ends, leading to slight fluctuations in their angular displacement during the obstacle-crossing process.

5.3. Experimental Analysis of Snake Robot Obstacle Traversal

The obstacle-crossing experiment of the serpentine robot is divided into two cases. In the first case, the serpentine robot climbs from the cable onto the obstacle; in the second case, it returns from the obstacle to the cable. The cable diameter is 30 mm, and the obstacle diameter is 70 mm.
For the case of climbing from the cable onto the obstacle, Figure 21 shows the obstacle-crossing posture of the serpentine robot. Figure 22 depicts the angular variation curves of the yaw and rotational joints with indices 1, 5, and 9 as the serpentine robot climbs from the cable onto the obstacle.
For the case of returning from the obstacle to the cable, Figure 23 shows the posture of the serpentine robot as it returns to the cable. Figure 24 depicts the angular variation curves of yaw joints 1, 5, and 9, as well as rotational joints 1, 5, and 9, while the serpentine robot returns from the obstacle to the cable.
By analyzing the angular and velocity variation curves of yaw joint 9 in Figure 24a and Figure 25, it can be observed that, during the first motion cycle (from 4 to 6 s), the angle variation of yaw joint 9 is small, and its roll speed oscillates around 0 deg/s. The low-speed amplitude is to prevent excessive joint roll speed from damaging the robot. From 6 to 8 s, yaw joint 9 rotates in reverse, causing the joint angle to decrease. The angle changes initially fast, then slow, corresponding to the speed profile in Figure 25, with the roll speed reaching a maximum of −40.8 deg/s. Between 8 and 10 s, yaw joint 9 rotates forward, with the speed direction turning positive, and the roll speed reaches a maximum of 20.4 deg/s. The remaining motion cycles follow a similar pattern.
From Figure 23, Figure 24, Figure 25 and Figure 26, it can be seen that the serpentine robot completes four gait cycles to move from the cable to the obstacle and return. The second gait cycle is repeated twice because, when crossing obstacles of different diameters, the middle section of the robot may become suspended, preventing contact with the obstacle or the cable. This shortens the robot’s crawling distance within a single gait cycle, requiring two gait cycles to reach the appropriate position. Furthermore, from the joint angle variation curves, it is evident that yaw joint 5, located in the middle of the robot, experiences a larger load compared to the joints at both ends, showing slight fluctuations in its angle during obstacle crossing. However, overall, all joint angles change smoothly, verifying the effectiveness of the obstacle-crossing gait designed using the cubic quasi-uniform B-spline curve.

6. Conclusions

In this study, we approximated the vibration damper on the transmission line as an eccentric, varying-diameter obstacle on the cable. Based on the damper’s dimensions, control points for the cubic quasi-uniform B-spline curve were determined, and the B-spline curve was calculated. This curve, combined with the spiral curve, provided a smooth obstacle-crossing posture curve for the serpentine robot. Using the mapping relationship between the robot’s joint positions and the posture curve, the joint angles were solved. Finally, these joint angles were input into the dual-chain Hopf oscillator, and the effectiveness of the obstacle-crossing gait was validated through Simulink and CoppeliaSim simulations, as well as prototype robot experiments. The main contributions of this paper are as follows:
  • For the motion control problem of PRS joint snake robots crossing eccentric variable-diameter cylindrical obstacles, a Hopf-CPG-based helical winding obstacle-crossing control method is proposed. By establishing a set of constraint equations including the simplified model diameter with a vibration damper, cable diameter, and robot unit diameter, the B-spline control point coordinates are accurately calculated to achieve continuous transitions in position, tangent, and curvature among Helix A, Helix B, and the B-spline curve connection points. The geometric constraints of the B-spline are converted into the phase difference conditions of the dual-chain Hopf oscillator: φL = φR = π/8, solving the phase mismatch problem of traditional CPGs when crossing eccentric variable diameters.
  • An improved joint angle calculation method is proposed. By decomposing the obstacle-crossing motion into three steps: posture curve, unit posture, and joint angle, and solving them step by step to ensure motion continuity and computational efficiency. The obstacle-crossing posture curve of the robot is determined through the curve equations of the B-spline and Helix A and B. The unit node positions and posture gradients are calculated based on the differential equations of the three curves. The posture gradients Gw are substituted into the improved DH coordinate transformation equation to obtain the precise solution for the robot joint angles. In the obstacle-crossing environment, the computational complexity is significantly reduced compared to the traditional numerical iteration method O(n), with the method used in this paper achieving a computational complexity of O(1).
  • Engineering application contributions: In existing research, the obstacles crossed by snake robots moving along cylindrical bodies are mainly concentric variable-diameter obstacles and branching obstacles. This paper’s research on snake robots crossing eccentric variable-diameter cylindrical obstacles broadens the types of obstacles that snake robots can cross while moving along cylindrical bodies, making it possible for PR snake robots to inspect along power cables and providing new motion planning ideas for bionic snake robots to handle asymmetric cylindrical obstacles.

Author Contributions

Conceptualization, Z.Y. and C.N.; methodology, C.N.; software, Y.X. and F.W.; validation, Y.X., F.W. and C.Z.; formal analysis, C.N.; investigation, Y.X.; resources, Z.Y.; data curation, F.W.; writing—original draft preparation, C.N.; writing—review and editing, X.Q.; visualization, C.N.; supervision, Z.Y.; project administration, Z.Y.; funding acquisition, Z.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Hubei Provincial Science and Technology Innovation Talent Program Project grant number 2023DJC092, Hubei Provincial Department of Education Key Project grant number D20221404, National Natural Science Foundation of China Project grant number 52075152, Hubei Provincial Natural Science Foundation Innovation Group Project grant number 2023AFA037, Hunan Province Intelligent Electric Power Transmission Technology and Equipment (Robots) Key Laboratory Open Fund grant number 2022KZD1001, and National Natural Science Foundation of China Project grant number 51907055.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Yue, X.; Wang, H.G.; Jiang, Y.; Zhang, Y.; Zhang, C.; Xi, N. Design approach for a 110 kV power transmission line inspection robot mechanism. CAAI Trans. Intell. Syst. 2016, 11, 155–162. [Google Scholar]
  2. 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. 2023, 39, 437–451. [Google Scholar] [CrossRef]
  3. Takemori, T.; Tanaka, M.; Matsuno, F. Ladder Climbing with a Snake Robot. In Proceedings of the 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, Spain, 1–5 October 2018; Institute of Electrical and Electronics Engineers Inc.: Piscataway, NJ, USA, 2018. [Google Scholar]
  4. Qi, W.; Kamegawa, T.; Gofuku, A. Proposal of helical wave propagate motion for a snake robot to across a branch on a pipe. In Proceedings of the Proposal of Helical Wave Propagate Motion for a Snake Robot to Across a Branch on a Pipe, Sapporo, Japan, 13–15 December 2016; Institute of Electrical and Electronics Engineers Inc.: Piscataway, NJ, USA, 2016. [Google Scholar]
  5. Wang, W.; Bai, Y.C.; Wu, G.P.; Li, S.-X.; Chen, Q. The mechanism of a snake-like robot's clamping obstacle navigation on high voltage transmission lines. Int. J. Adv. Robot. Syst. 2013, 10, 330. [Google Scholar]
  6. Lu, J.; Tang, C.; Hu, E.; Li, Z. S-shaped rolling gait designed using curve transformations of a snake robot for climbing on a bifurcated pipe. Bioinspir. Biomim. 2024, 19, 036010. [Google Scholar] [CrossRef] [PubMed]
  7. Yang, H.; Dong, J.; Wang, M.; Meng, S.; Yang, L.; Xue, J. Adaptive Climbing Strategy of Snake Robot Based on Compliance Control. In Proceedings of the 2024 International Symposium on Intelligent Robotics and Systems (ISoIRS), Changsha, China, 14–16 June 2024; Institute of Electrical and Electronics Engineers Inc.: Piscataway, NJ, USA, 2024. [Google Scholar]
  8. Li, Z.; Tang, C.; Zhou, G.; Guo, X.; Lu, J.; Shu, X. Discontinuous rod spanning motion control for snake robot based on reinforcement learning. In Proceedings of the Discontinuous Rod Spanning Motion Control for Snake Robot Based on Reinforcement Learning, Tianjin, China, 24–26 July 2023; IEEE Computer Society: Washington, DC, USA, 2023. [Google Scholar]
  9. Iguchi, Y.; Nakajima, M.; Ariizumi, R.; Tanaka, M. Step Climbing Control of Snake Robot with Prismatic Joints. Sensors 2022, 22, 4920. [Google Scholar] [CrossRef] [PubMed]
  10. Yaqub, S.; Ali, A.; Usman, M.; Zuhaib, K.M.; Khan, A.M.; An, B.; Moon, H.; Lee, J.-Y.; Han, C. A Spiral Curve Gait Design for a Modular Snake Robot Moving on a Pipe. Int. J. Control. Autom. Syst. 2019, 17, 2565–2573. [Google Scholar] [CrossRef]
  11. Harada, K.; Ariizumi, R.; Asai, T.; Azuma, S.-I. The Dynamical Model and the Slithering Controller of Continuous Snakelike Robot on Smooth Surface. Int. J. Control. Autom. Syst. 2024, 22, 3133–3146. [Google Scholar] [CrossRef]
  12. Nakajima, M.; Tanaka, M. Motion control of a snake robot on multiple inclined planes. Adv. Robot. 2024, 38, 784–800. [Google Scholar] [CrossRef]
  13. Liu, X.P.; Zang, Y.; Gao, Z.Y.; 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]
  14. Liu, X.; Onal, C.D.; Fu, J. Reinforcement Learning of CPG-Regulated Locomotion Controller for a Soft Snake Robot. IEEE Trans. Robot. 2023, 39, 3382–3401. [Google Scholar] [CrossRef]
  15. Ariizumi, R.; Sakakibara, K.; Asai, T.; Azuma, S.-I. Path-following Control of a Snake Robot with Multiple Passive Joints. Int. J. Control Autom. Syst. 2024, 22, 2551–2562. [Google Scholar] [CrossRef]
  16. Wang, Y.; Kamegawa, T. Realization of Crowded Pipes Climbing Locomotion of Snake Robot Using Hybrid Force-Position Control Method. Sensors 2022, 22, 9016. [Google Scholar] [CrossRef] [PubMed]
  17. Qiao, G.; Zhang, Y.; Wen, X.; Wei, Z.; Cui, J. Triple-layered central pattern generator-based controller for 3D locomotion control of snake-like robots. Int. J. Adv. Robot. Syst. 2017, 14, 1729881417738101. [Google Scholar] [CrossRef]
  18. Wang, W.; Yang, Z.Y.; Guo, L.; Wu, G.; Bai, Y.; Li, S. Gait planning of a scale-driven snake-like robot for winding and obstacle crossing. Adv. Mech. Eng. 2017, 9, 1687814017731038. [Google Scholar] [CrossRef]
  19. Yang, Z.Y.; Wang, F.; Liu, J.G.; Fang, Z.; Tian, C.; Zhang, D. Controlling the Crawling Speed of the Snake Robot along a Cable Based on the Hopf Oscillator. Electronics 2023, 12, 3094. [Google Scholar] [CrossRef]
Figure 1. Operating environment of snake robot.
Figure 1. Operating environment of snake robot.
Actuators 14 00184 g001
Figure 2. P-R-S unit structure: (a) External structure of unit. (b) Internal structure of unit.
Figure 2. P-R-S unit structure: (a) External structure of unit. (b) Internal structure of unit.
Actuators 14 00184 g002
Figure 3. Locomotion methods of snake robot: (a) Crawling locomotion. (b) Spiral wrapping locomotion.
Figure 3. Locomotion methods of snake robot: (a) Crawling locomotion. (b) Spiral wrapping locomotion.
Actuators 14 00184 g003
Figure 4. Simplified model of obstacle.
Figure 4. Simplified model of obstacle.
Actuators 14 00184 g004
Figure 5. Position relationship between cable and obstacle in XOY plane.
Figure 5. Position relationship between cable and obstacle in XOY plane.
Actuators 14 00184 g005
Figure 6. Simplified model of snake robot.
Figure 6. Simplified model of snake robot.
Actuators 14 00184 g006
Figure 7. Coordinate system of snake robot.
Figure 7. Coordinate system of snake robot.
Actuators 14 00184 g007
Figure 8. Posture change of the snake robot during climbing over the obstacle: (a) Initial state, robot fully coiled on line. (b) Initiating obstacle climbing, foremost segment ascends obstacle. (c) Continuing obstacle climbing, foremost and mid-segments ascend obstacle. (d) Final state: robot fully coiled on obstacle.
Figure 8. Posture change of the snake robot during climbing over the obstacle: (a) Initial state, robot fully coiled on line. (b) Initiating obstacle climbing, foremost segment ascends obstacle. (c) Continuing obstacle climbing, foremost and mid-segments ascend obstacle. (d) Final state: robot fully coiled on obstacle.
Actuators 14 00184 g008
Figure 9. Posture change of the snake robot returning to the cable: (a) Initial state, robot fully coiled on obstacle. (b) Initiating return to line, foremost segment returns to line. (c) Continuing return to cable, foremost segment and mid-segment return to cable. (d) Final state: robot fully coiled on line.
Figure 9. Posture change of the snake robot returning to the cable: (a) Initial state, robot fully coiled on obstacle. (b) Initiating return to line, foremost segment returns to line. (c) Continuing return to cable, foremost segment and mid-segment return to cable. (d) Final state: robot fully coiled on line.
Actuators 14 00184 g009
Figure 10. Posture curves of snake robot: (a) Posture curve 1. (b) Posture curve 2.
Figure 10. Posture curves of snake robot: (a) Posture curve 1. (b) Posture curve 2.
Actuators 14 00184 g010
Figure 11. Cubic nearly uniform B-spline curve.
Figure 11. Cubic nearly uniform B-spline curve.
Actuators 14 00184 g011
Figure 12. Control point positions: (a) P0 on positive Y-axis. (b) P0 on positive X-axis. (c) P0 on negative Y-axis. (d) P0 on negative X-axis.
Figure 12. Control point positions: (a) P0 on positive Y-axis. (b) P0 on positive X-axis. (c) P0 on negative Y-axis. (d) P0 on negative X-axis.
Actuators 14 00184 g012aActuators 14 00184 g012b
Figure 13. Timer control flowchart.
Figure 13. Timer control flowchart.
Actuators 14 00184 g013
Figure 14. Double-chain CPG controller architecture diagram.
Figure 14. Double-chain CPG controller architecture diagram.
Actuators 14 00184 g014
Figure 15. Snake robot crawling over obstacle model.
Figure 15. Snake robot crawling over obstacle model.
Actuators 14 00184 g015
Figure 16. Robot obstacle-crossing posture curves: (a) Posture 1 trajectory curve. (b) Posture 2 trajectory curve.
Figure 16. Robot obstacle-crossing posture curves: (a) Posture 1 trajectory curve. (b) Posture 2 trajectory curve.
Actuators 14 00184 g016
Figure 17. Posture changes of snake robot climbing over an obstacle.
Figure 17. Posture changes of snake robot climbing over an obstacle.
Actuators 14 00184 g017
Figure 18. Snake robot joint angle variation curves during movement from line to obstacle: (a) Yaw joint angle variation curve. (b) Roll joint angle variation curve.
Figure 18. Snake robot joint angle variation curves during movement from line to obstacle: (a) Yaw joint angle variation curve. (b) Roll joint angle variation curve.
Actuators 14 00184 g018
Figure 19. Pose change of snake robot returning to cable.
Figure 19. Pose change of snake robot returning to cable.
Actuators 14 00184 g019
Figure 20. Snake robot joint angle variation curves during movement from obstacle to line: (a) Yaw joint angle variation curve. (b) Roll joint angle variation curve.
Figure 20. Snake robot joint angle variation curves during movement from obstacle to line: (a) Yaw joint angle variation curve. (b) Roll joint angle variation curve.
Actuators 14 00184 g020
Figure 21. Actual pose of snake robot climbing an obstacle.
Figure 21. Actual pose of snake robot climbing an obstacle.
Actuators 14 00184 g021
Figure 22. Experimental results of joint angle variation when snake robot prototype climbs from cable to obstacle: (a) Yaw joint angle variation curve. (b) Roll joint angle variation curve.
Figure 22. Experimental results of joint angle variation when snake robot prototype climbs from cable to obstacle: (a) Yaw joint angle variation curve. (b) Roll joint angle variation curve.
Actuators 14 00184 g022
Figure 23. Actual pose of snake robot returning to a cable.
Figure 23. Actual pose of snake robot returning to a cable.
Actuators 14 00184 g023
Figure 24. Experimental results of joint angle variation when snake robot prototype returns from obstacle to cable: (a) Yaw joint angle variatison curve. (b) Roll joint angle variation curve.
Figure 24. Experimental results of joint angle variation when snake robot prototype returns from obstacle to cable: (a) Yaw joint angle variatison curve. (b) Roll joint angle variation curve.
Actuators 14 00184 g024
Figure 25. Velocity curve of snake robot yaw joint 9.
Figure 25. Velocity curve of snake robot yaw joint 9.
Actuators 14 00184 g025
Figure 26. Velocity curve of snake robot roll joint 9.
Figure 26. Velocity curve of snake robot roll joint 9.
Actuators 14 00184 g026
Table 1. Dimensions of snake robot.
Table 1. Dimensions of snake robot.
ParameterValue
number of joints10
joint length105 mm
joint diameter63 mm
degrees of freedom per joint2
Table 2. Hopf oscillator joint motion parameters for first gait cycle of obstacle climbing.
Table 2. Hopf oscillator joint motion parameters for first gait cycle of obstacle climbing.
Joint Number123456789
initR18.2°18.2°18.2°18.2°18.2°18.2°18.2°18.2°18.2°
maxR33.4°33.4°33.4°33.4°41.7°41.7°41.7°41.7°41.7°
initP83.0°83.0°83.0°83.0°83.0°83.0°83.0°83.0°83.0°
minP43.0°43.0°43.0°43.0°28.9°28.9°28.9°28.9°28.9°
Table 3. Second gait cycle control point coordinates.
Table 3. Second gait cycle control point coordinates.
P0P1P2P3P4
X0−70−87.75−700
Y70700−110−110
Z19.6732.20108.20184.20198.35
Table 4. Hopf oscillator joint motion parameters for second gait cycle of obstacle climbing.
Table 4. Hopf oscillator joint motion parameters for second gait cycle of obstacle climbing.
Joint Number123456789
initR14.5°14.5°14.5°14.5°15.8°43.6°10.9°6.8°18.2°
maxR33.4°33.4°33.4°33.4°33.4°33.4°33.4°41.7°41.7°
initP64.1°64.1°64.1°64.1°65.4°60.8°30.0°74.7°83.0°
minP43.0°43.0°43.0°43.0°43.0°43.0°43.0°28.9°28.9°
Table 5. The third gait cycle control point coordinates.
Table 5. The third gait cycle control point coordinates.
P0P1P2P3P4
X07087.75700
Y−70−7007070
Z59.0271.55152.55233.55247.70
Table 6. Hopf oscillator joint motion parameters for third gait cycle of obstacle climbing.
Table 6. Hopf oscillator joint motion parameters for third gait cycle of obstacle climbing.
Joint Number123456789
initR14.5°14.5°14.5°14.5°14.5°14.5°14.5°18.2°18.2°
maxR33.4°33.4°33.4°33.4°33.4°33.4°33.4°33.4°33.4°
initP64.1°64.1°64.1°64.1°64.1°64.1°64.1°83.0°83.0°
minP43.0°43.0°43.0°43.0°43.0°43.0°43.0°43.0°
Table 7. Parameters of dual-chain Hopf oscillator.
Table 7. Parameters of dual-chain Hopf oscillator.
ParameterValueParameterValue
opposite phase difference φm0limit cycle radius ρ 1
left chain oscillator phase difference φLπ/8oscillator convergence speed μ100
right chain oscillator phase difference φRπ/8oscillator frequency ωπ/2
total coupling gain γ1oscillator pause time ts2s
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

Yang, Z.; Ning, C.; Xiong, Y.; Wang, F.; Quan, X.; Zhang, C. Snake Robot Gait Design for Climbing Eccentric Variable-Diameter Obstacles on High-Voltage Power Lines. Actuators 2025, 14, 184. https://doi.org/10.3390/act14040184

AMA Style

Yang Z, Ning C, Xiong Y, Wang F, Quan X, Zhang C. Snake Robot Gait Design for Climbing Eccentric Variable-Diameter Obstacles on High-Voltage Power Lines. Actuators. 2025; 14(4):184. https://doi.org/10.3390/act14040184

Chicago/Turabian Style

Yang, Zhiyong, Cheng Ning, Yuhong Xiong, Fan Wang, Xiaoyan Quan, and Chao Zhang. 2025. "Snake Robot Gait Design for Climbing Eccentric Variable-Diameter Obstacles on High-Voltage Power Lines" Actuators 14, no. 4: 184. https://doi.org/10.3390/act14040184

APA Style

Yang, Z., Ning, C., Xiong, Y., Wang, F., Quan, X., & Zhang, C. (2025). Snake Robot Gait Design for Climbing Eccentric Variable-Diameter Obstacles on High-Voltage Power Lines. Actuators, 14(4), 184. https://doi.org/10.3390/act14040184

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