Next Article in Journal
A Computational Geometric Parameter Optimization of the Thermomechanical Deicing Concept
Next Article in Special Issue
Implementation of Iterative Learning Control on a Pneumatic Actuator
Previous Article in Journal
Mathematical Modeling of a Multi-Chamber Pneumatic Soft Actuator
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Adaptive Transition Gait Planning of Snake Robot Based on Polynomial Interpolation Method

1
School of Automation Science and Engineering, South China University of Technology, Guangzhou 510641, China
2
The Key Laboratory of Autonomous Systems and Networked Control, Ministry of Education, Unmanned Aerial Vehicle Systems Engineering Technology Research Center of Guangdong, South China University of Technology, Guangzhou 510641, China
*
Author to whom correspondence should be addressed.
Actuators 2022, 11(8), 222; https://doi.org/10.3390/act11080222
Submission received: 3 July 2022 / Revised: 29 July 2022 / Accepted: 2 August 2022 / Published: 5 August 2022
(This article belongs to the Special Issue Applications of Intelligent Control in Actuators Systems)

Abstract

:
This paper mainly studies the transition gait planning by updating the parameters of snack robot motion control function through ROS nodes, including a straight running gait into a turning gait. In the practical scenario, when changing the control parameters, the joint angle of the snake robot will increase or decrease sharply, and the angular velocity and angular acceleration of the driving joints will also change, which results in oscillation and sideslip of the body. In the turning scene, the visual tracking will loss if the head joint of the snake robot causes the lateral movement and oscillation. To solve those problems, firstly, the dynamic model of the snake robot’s gait of serpentine movement is established. Then, we propose a method based on polynomial interpolation compensation to solve the body oscillation and sideslip caused by nodes updating. To further improve the efficiency of snake robot’s gait switching, an optimal dichotomy interpolation time search is proposed to realize the snake robot’s adaptive transition gait. Finally, some simulation experiments are verified the effectiveness of the proposed method.

1. Introduction

In recent years, with the rapid development of the artificial intelligence technology, computer vision and natural language processing algorithms in robot filed, the applications of robot in complex environmental field have been realized [1,2,3,4,5]. As a branch of robot researching, bionic robot shows more flexible motion characteristics in engineering applications [6,7,8,9,10,11]. Inspired by the biological snake, the snake robot not only has strong flexibility and malleability in practical applications, but also can achieve stable movement on rugged terrain in pipes and narrow gaps. Due to these excellent performances of snake robot, it has a great significance in complex scene maintenance, search and rescue [12,13,14,15,16].
As a bionic robot, the gait planning of snake robot is the simulation of the movement of biological snake. The researches on snake robot are mainly carried out three aspects: model design, ontology implementation and motion control [17]. In order to adapt to the efficient and flexible operation in multiple environments, the shape of snake robot is usually designed as a multi joint series, coupled and highly redundant structure. In 1972, Prof. Hirose, from Tokyo Institute of technology, Japan, based on the modular design concept, the authors established the motion model of the snake robot with serpentine movement and conducted the prototype ACM- I I I , but it can only achieve two-dimensional motion [18,19]. Through further researching and upgrading prototype, the research teams designed a snake robot with three-dimensional motion ability and amphibious. Wang et al. [20] proposed a multi degree of freedom snake robot with alternating single axis pitch joint and yaw joint, and realized multi-functional three-dimensional motion by using the method of backbone curve. Each module of the GMD snake robot developed by the German National Information Technology Research Center. This type of snake robot consists a yaw joint and a pitch joint, which makes the body more flexible [21]. The research teams of Carnegie Mellon University, United States, adopted the steering gear, reducer, connecting rod and driving rod in the structural designing, established the snake robot with orthogonal joints, named as Uncle Sam, which can realize the climbing movement of complex outer pipes [22]. Pepter et al. designed a cable driven mobile serpentine robot composed of modular coupling linkage mechanism to reduce the size of the snake robot and improve the motion efficiency [23].
The controllability and stability analysis of snake robot motion control is the key and difficult problem for researchers. It is mainly divided into two aspect, one is to study the motion characteristics of the snake robot by establishing the kinematic model and the dynamic model, and the other is to study the motion of the specific gait of the robot through the control function method. The mainstream control methods are the serpenoid curve fitting control function method [18], the continuous backbone curves model control method [24] and the CPG (central neurogenesis controller) control method [25]. Among them, due to the advantages of simplicity and efficiency, the method of control function has widely used in engineering [26]. In the motion control of snake robot, the control algorithm of adapting to different terrain contours and avoiding obstacles is an important research topic in the motion control of snake robot. At present, some researchers also use the relevant knowledge of artificial neural network to study the robot control and the automatic development of morphology [27,28,29,30,31].
The above methods are applied to control different snake robot gaits, including serpentine gait, traveling wave gait, rolling gait and climbing gait. In these gaits, the snake robot’s body has the characteristics of frequent periodic swing, and the switching between straight-line and turning motion are easy to cause the snake robot body oscillation and side slip. Ehsan et al. [32] designed a path tracking control rate based on guidance, and proposed an exponentially stable joint control scheme for robot shape dynamics to realize the trajectory tracking of the robot within a small error boundary. Zhao et al. [33] proposed a multi gait continuous flexible snake robot based on flexible spring rotation, torsion and release, and studied a variety of gait. Tatsuya [34] proposed a method to realize gait switching in complex environment by linking curvature and torsion curves. In reference [35], an extended Kalman filter (EKF) to snake robot head trajectory tracking method without lateral constraint plane is proposed. Belala [36] proposed a mobile operation method to realize the movement of spiral rolling gait on the outer pipe surface by using the whole body motion of the snake robot.
In the process of snake robot gait transition, the change of control parameters will cause the side slip and shake of the moving gait. In order to solve the above problems, this paper studies the head stable gait of the snake robot, and proposes an adaptive transition gait planning method to solve the jitter and side slip problems effectively. The main contributions of this paper are as follows: a polynomial interpolation function method is proposed to solve the jitter problem in gait switching. Meanwhile, in order to further find the optimal interpolation time, an optimal interpolation method based on dichotomy is proposed.
The reminder of this paper is organized as follows. A simple structure description of the snake robot and the CoppeliaSim simulation platform are given in Section 2. Section 3 introduces the relevant gaits and the model analyzing of snake robot. Section 3.4 shows the main results in snake robot trajectory planning. Section 5 gives some simulations to verity the correctness of the obtained results. Finally, the conclusion and future researches are proposed in Section 15.

2. Structure and Simulation Platform Description

In the natural environment, the biological snake has a complex multi joints structure, which generates the driving force through the friction between the muscles of each joint and the ground. The snake robot mostly used to imitate the biological snake is a multi-module series structure, which controls the snake robot to show a snake like gait through the driving relationship between the joints, to adapt to walking in different environment. The main difference of modular snake robot design lies in the connection mode between modules. The simplest design is to use a single yaw direction rotating pair connection perpendicular to the ground. This simplest connection mode can realize the snake robot’s serpentine motion, however, this connection designing makes the snake robot only move in two-dimensional space and lacks the adaptability to complex environment. In this paper, the orthogonal connection method is used to show the relationship of each modules in snake robot connection mode. Orthogonal connection means that the adjacent connection joints, the rotating pairs are vertically distributed in the yaw direction and the pitch direction, as shown in Figure 1. The rectangular coordinate system is established with the base A and the rod B as the origin, and the end coordinates of rod C is expressed as:
x = l ( 1 + cos β ) sin α , y = l ( 1 + cos β ) cos α , z = l sin β ,
here l denotes the length from the rod B to rod C, α denotes the yaw joint rotation angle, and β is the pitch joint rotation angle.
From Figure 1, we can know that the working space at the end of connecting rod C is an empty tubular space with outer diameter of 2 l and inner diameter of 0. Due to the simple structure, easy driving and strong stability, the orthogonal connection is widely used in robot modeled.
The CoppeliaSim simulation platform can provide a wealth of physical simulation engines, as well as a variety of development environments, such as L u a script, R O S interface and M A T L A B communication. It is convenience for data collection and result verification of robot simulation experiments. In this paper, the model building of snake robot is shown as follows:
Firstly, a snake robot model based on orthogonal connection is built in SolidWorks software, it is composed of the head, middle and end of the snake, respectively, and the forms the snake robot is assembled by connection. The model of the snake robot is shown in Figure 2.
Next, saving the assembled model in SolidWork software as . s t l file and importing it into CoppeliaSim software to form the appearance model of snake robot, as shown in Figure 3a. The snake robot in this paper is composed of 13 modules, which are connected by 12 orthogonal joints.
Finally, the robot model tree is built according to the dependency between the modules of the snake robot, and the simulation entity structure design of the snake robot is completed, as shown in Figure 3b.
Remark 1.
In the construction of simulation model, the . s t l file is imported into the CoppeliaSim software, which does not equip with solid simulation characteristics. So we need to simplify the structure after the geometric feature extraction, and add corresponding physical simulation characteristics, such as joint connection, mass, friction, etc.
In this paper, the R O S interface function is written in the dynamic library. The CoppeleaSim simulation platform transfer the dynamic library in running script to realize the communication with R O S . The communication node is “ / s i m _ r o s _ i n t e r f a c e ”. The node subscribes to the control parameter information and executes the callback function to realize the interaction of subscription information. At the same time, the sensor information is published on the R O S node.
The motion control system framework of the snake robot is shown in Figure 4. First, start the “ / a r r a y _ p u b ” node, set the control parameters information in the interactive terminal, publish the control parameters as the topic information of “ / S n a k e C t r l P a r a m ”, subscribe to the control parameters information of the “ / S n a k e C t r l P a r a m ” node in the snake robot control script of the CoppeliaSim software, and execute the callback function to update the running parameters of the snake robot in the simulation environment. At the same time, the sensor information of the simulation environment is published as “ / P o s i t i o n ”, “ / C a m e r a ” and “ / I M U ” topic information through the “ / s i m _ r o s _ i n t e r f a c e ” node. The sensors information are subscribed and processed under R O S , the relevant information is written to the local file. Meanwhile, the CoppeliaSim simulation platform and R O S system are designed in the form of asynchronous and parallel, to avoid the interruption of simulation due to data acquisition and program control and ensure the continuity of snake robot operation in the simulation environment. In this paper, the parameterized sinusoidal control function method is used to study the gait of the snake robot, and the operation is realized by controlling the joint angle of each module of the snake robot. To facilitate study of the running posture of the snake robot, the number of modules of the snake robot is 13, with 12 orthogonal joints.

3. The Analysis of Motion Gait

3.1. Serpentine Gait

Serpentine gait is the fastest and most efficient motion mode of snake robot. Based on the orthogonal joint, it can realize snake-like serpentine motion with the driven wheel, and the gait control function can be expressed as:
θ i = A sin ( ω t + k i ) + ϵ , i = 1 , 3 , 5 , , k π 2 , θ i = 0 , i = 2 , 4 , 6 , ,
here θ i is the rotation angle of the i-th joint, k represents the motion control gain, ϵ denotes joint angle offset, ω is the angular frequency, A is the amplitude.
Based on the orthogonal joint design of the snake robot, the odd number joints keep the angle at zero, and drive the even number joints to rotate to the specified angle to realize the serpentine gait. We analyze the control function of the snake robot by changing a single variable as follows:
(1)
Fixed the parameters k = 0.8 , ϵ = 0 , ω = 2.5 , choosing A = 0.2 , 0.4 , 0.8 respectively, the attitude of snake robot is shown in Figure 5.
(2)
Fixed the parameters A = 0.8 , ϵ = 0 , ω = 2.5 , choosing k = 0.8 , 1 , 1.2 , respectively, the attitude of snake robot is shown in Figure 6.
(3)
Fixed the parameters A = 0.8 , k = 0.8 , ω = 2.5 , choosing ϵ = 0.4 , 0 , 0.4 , respectively, the attitude of snake robot is shown in Figure 7.
The effects of the relevant control parameters on the serpentine gait are summarised as follows:
  • If increasing A, the amplitude of the serpentine curve of snake robot becomes higher, the number of wave crests remains as the same.
  • The larger k is, the greater the serpentine amplitude is, and the number of wave crests decreases.
  • The parameter ϵ affects the deviation of snake robot waveform, when the parameter ϵ is positive and larger, the angle of the head waveform to the right of the forward direction is larger, when it is negative and the smaller, the greater the angle of the head waveform to the left of the forward direction is.
  • The parameter ω depends on the performance of the motor and generally set as constant.
Based on the above parameter analysis of the serpentine gait, it is found that the parameter affecting the swing amplitude of the snake robot’s head is A, and the effect of stabilizing the snake’s head can be achieved by controlling the swing amplitude of the joints. The sigmoid function is used to suppress the serpentine gait control function. The expression is:
θ i = 1 1 + e v ( i n ) A sin ( ω t + k t ) + ϵ ,
here v is the adjust parameter of sigmoid function rising rate, θ i is the ith rotation angle, n is the expection joints, k is the motion control parament, ϵ denotes the joint angle offset. The sigmoid function can suppress the swing amplitude of the joints close to the head, and the greater the suppression if the closer joints to the head. The control of snake robot based on the suppression makes the angle between the head joint and the forward direction of the body swing around zero, then, it can reduce the swing of the head joints. From the above researches on the snake robot’s head stable serpentine gait, the control method based on sigmoid function suppression can effectively slow down the shaking of the head and improve the forward efficiency of the snake robot.

3.2. Traveling Wave Gait

The traveling wave gait is inspired by the creeping movement of snake in the biological world. By rhythmically lifting part of the body, snake can walk through a narrow space. Based on the serpentine gait of the control function method, it can be deduced that the joint angle of the traveling wave gait of the orthogonal snake robot is expressed as
θ i = 0 , i = 1 , 3 , 5 , 7 , , θ i = A sin ( ω t + k i ) + ϵ , i = 2 , 4 , 6 , 8 , ,
here ϵ is used to change the waveform offset angle and generally set to zero. Traveling wave gait is the realization of serpentine movement in a plane perpendicular to the ground. Although the running efficiency of traveling wave gait is lower than that the serpentine gait with driven wheels, it can realize the operation of snake robot in narrow space and realize the climbing of inner pipe by squeezing the inner wall of pipe.

3.3. Dynamic Analysis of Serpentine Gait

The serpentine gait of the bionic snake robot is the matching of the snake’s crawling curve. When analyzing the mechanical model of the snake robot’s serpentine gait, the driving torque at the joint of i in the snake robot is T i , the length of the connecting rod is δ s , we have
f i = T i δ s .
The stress of the snake robot’s serpentine gait joint is shown in Figure 8:
When δ s approaches zero, we decompose the driving force of the snake robot, and the tangential direction of the forward direction is decomposed into f t i , and the normal direction is f n i , the rotation angle of adjacent driving joints is ϕ i , then:
f t i = [ ( f i f i 1 ) + ( f i + 1 f i ) ] sin ϕ i 2 , f n i = [ ( f i + 1 f i ) + ( f i f i 1 ) ] cos ϕ i 2 .
Let k i = ϕ i δ s , due to δ s tend to zero, we have sin ϕ i 2 ϕ i 2 , cos ϕ i 2 1 . Inserting (5) into (6), we have
f t ( s ) = d T ( s ) d s k s , f n ( s ) = d 2 T ( s ) d s 2 .
According to the above formula, the tangential force of the joint driving force is proportional to the derivative of the time, while the normal torque and the driving torque are equal. If the length of the snake robot is l, the driving force of the snake robot can be expressed as:
F t ( s ) = 0 L d T ( s ) d s k s d s .
The sum of normal forces is
F n ( s ) = 0 L d 2 T ( s ) d s 2 k s d s .
There are two conditions for the snake robot to realize forward motion. One is the forward thrust generated by the joint greater than the friction in the forward direction, the other is to overcome the upward sliding. Let the tangential friction is f M t , the normal friction is f M n , and the conditions for the snake robot to move forward are
f t f M t .
The maximum normal static friction between the body and the ground is max ( f M n ) , then, the conditions for no sideslip under the serpentine gait is
f n = f M n max ( f M n ) .
The friction in the forward direction of the machine body is sliding friction, which is slightly less than the maximum static friction,
max ( f M n ) = μ n G f M n ,
here μ n is the tangential sliding friction coefficient, G is the weight of the body. Then, the forward condition of snake robot without side sliding is shown as:
μ t G f t , f n μ n G .

3.4. Adaptive Transition Gait

Trajectory planning is the main content of motion control in the field of the robot. The trajectory planning is based on motion interpolation to achieve the movement of the body, including trajectory planning and path planning. In trajectory planning, not only ensure the continuity of displacement and velocity, but also the continuity of acceleration is required to ensure the smoothness of trajectory.
The gait of snake robot is generated by the trajectory planning of the motion joints, and the gait planning can be realized by controlling the angle of the joint module. The output angle, angular velocity and angular acceleration of the snake robot’s serpentine gait joint based on the control function method can be expressed as
θ i ( t ) = A sin ( ω t + k i ) + ϵ , θ ˙ i ( t ) = ω A cos ( ω t + k i ) , θ ¨ i ( t ) = ω 2 A sin ( ω t + k i ) ,
where ϵ refers to the parameter of controlling the turning of the snake robot. The angle change of a single joint of the snake robot during turning is shown in Figure 9.
Due to the instantaneous angle jump of the snake robot in the movement process will lead to a sharp increase in the acceleration of the joint, the driving force of the joint is greater than the maximum normal static friction of the snake robot, resulting in the side slip and the vibration of the body. In the field of robot control, the smoothness and continuity of motion control determine the stability of robot. In order to overcome the above challenges, this paper proposes a method based on polynomial interpolation, which can reach the desired smoothly and avoid jitter.
In the polynomial interpolation method, the first-order interpolation method adopted the linear increasing method to take the interpolation points. The disadvantage of this method is that the tracking is the connecting line of a series of key points, so it cannot realize the smoothing of the curve. On the other hand, due to the sharp change of speed, the step changes, which causes a great burden on the control of the motor. The second-order interpolation method uses the quadratic curve to connect the key points. Although this method can get a smooth trajectory, the speed is continuous, and it also has the characteristics of constant acceleration and deceleration. When the acceleration and deceleration are switched, the symbols are instantaneous opposite, and there is also a step phenomenon, which is not conducive to the control of the system. Meanwhile, it does great damage to the motor. The trajectory and speed of cubic polynomial interpolation method are continuous, the acceleration is not necessarily continuous. Discontinuous acceleration will impact the body and make the body jitter. In view of the above situation, this paper proposes an interpolation method based on quintic polynomial, which can not only realize the continuity and smoothness of trajectory and velocity, but also realize the continuity of acceleration. In the previous sections, the dynamic analysis of the snake robot’s meandering motion is carried out, and the driving force stability has a key impact on the gait of the snake robot. Therefore, in this section, the quintic polynomial interpolation method is applied to the transitional gait planning of the snake robot.

4. Main Results

In previous sections, the dynamics of the snake robot is analyzed, and the driving force stability has a key impact on the gait of the snake robot. Therefore, in this section, the quintic polynomial interpolation method is applied to the transition gaits planning of the snake robot.
Theorem 1.
In analyzing the motion planning of snake robot’s serpentine gait, through the quintic polynomial interpolation method, if the parameters meet the following constraints, it can obtain the unique solution of the snake robot’s dynamic equation.
Proof. 
In the motion control of snake robot, the five polynomial equations of angle, angular velocity and angular acceleration can be expressed as
θ ( t ) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 + a 4 t 4 + a 5 t 5 , θ ˙ ( t ) = a 1 + 2 a 2 t + 3 a 3 t 2 + 4 a 4 t 3 + 5 a 5 t 4 , θ ¨ i ( t ) = 2 a 2 + 6 a 3 t + 12 a 4 t 2 + 20 a 5 t 3 ,
here, the initial anger is θ 0 , the angular velocity denotes ω 0 , the angular acceleration is α 0 , and the terminal anger is θ f , the angular velocity denotes ω f , the angular acceleration is α f , which satisfy the following constraints
θ ( t 0 ) = θ 0 = a 0 , θ ( t f ) = θ f = a 0 + a 1 t f + a 2 t f 2 + a 3 t f 3 + a 4 t f 4 + a 5 t f 5 , θ ˙ ( t ) = θ ˙ ( 0 ) = a 1 , θ ˙ ( t f ) = θ ˙ ( f ) = a 1 + 2 a 2 t f + 3 a 3 t f 2 + 4 a 4 t f 3 + 5 a 5 t f 4 , θ ¨ i ( t 0 ) = θ ¨ 0 = 2 a 2 , θ ¨ ( t f ) = θ ¨ f = 2 a 2 + 6 a 3 t f + 12 a 4 t f 2 + 20 a 5 t f 3 .
According to the above six constraint conditions, the unique solution of the quintic polynomial difference function can be obtained.  □
Theorem 2.
In the gait switching process of snake robot, by using the quintic polynomial interpolation method, the snake robot can realize adaptive transition gait switching.
Proof. 
In motion gait of snake robot, all the turning gaits can be represented by its control function. For simplicity, here we taking a single joint as the research object, the snake robot switches from gait to the target gait at the time point θ i 0 ( t ) , the optimal interpolation time is set as Δ t . The output of the single joint angle interpolation gait angle, angular velocity and angular acceleration when the snake robot switches from gait 1 to gait 2 is shown as Figure 10,
The starting angle of the interpolated gait is θ i 0 ( t 0 ) , the angular velocity is θ ˙ i 0 ( t 0 ) , the angular acceleration is θ ¨ i 0 ( t 0 ) , the angle of the terminal gait is θ i 1 ( t 0 + Δ t ) , the angular velocity is θ ˙ i 1 ( t 0 + Δ t ) , the angular acceleration is θ ¨ i 1 ( t 0 + Δ t ) . Then, the parameters of interpolation quintic polynomial are satisfying
a 0 = θ i 0 ( t 0 ) , a 1 = θ ˙ i 0 ( t 0 ) , a 2 = θ ¨ i 0 ( t 0 ) 2 , a 3 = 1 2 Δ t 3 ( 20 θ i 1 ( t 0 + Δ ) 20 θ i 0 ( t 0 ) ( 8 θ ˙ i 1 ( t 0 + Δ t ) + 12 θ ˙ i 0 ( t 0 ) ) Δ t ( 3 θ ¨ i 0 ( t 0 ) θ ¨ 1 1 ( t 0 + Δ t ) ) Δ 2 ) , a 4 = 1 2 Δ t 4 ( 30 θ i 1 ( t 0 + Δ ) 30 θ i 0 ( t 0 ) + 14 θ ˙ i 0 ( t 0 + Δ t ) Δ t + 16 θ ˙ i 0 ( t 0 ) ) Δ t ( 3 θ ¨ i 0 ( t 0 ) 2 θ ¨ 1 1 ( t 0 + Δ t ) ) Δ 2 ) , a 5 = 1 2 Δ t 5 ( 12 θ i 1 ( t 0 + Δ ) 12 θ i 0 ( t 0 ) 6 ( θ ˙ i 0 ( t 0 ) + θ ˙ i 0 ( t 0 ) ) Δ t ( θ ¨ i 0 ( t 0 ) θ ¨ 1 1 ( t 0 + Δ t ) ) Δ 2 ) .
We can find the quintic polynomial interpolation function θ ( t ) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 + a 4 t 4 + a 5 t 5 related to interpolation duration Δ t and interpolation start point t 0 , the angular acceleration θ ¨ ( t ) = 2 a 2 + 6 a 3 t + 12 a 4 t 2 + 20 a 5 t 3 . The torque of the joint can be expressed as
T n ( s ) = J θ ¨ ( t ) ,
here J is the torque of inertia, that is, the inertia of the rigid body rotating around the axis. According to the dynamic analysis of the snake robot serpentine gait, the condition that the snake robot does not slip is that the component of the driving force in the normal direction is less than the maximum lateral static friction, and the normal force is the quadratic product of the torque. Assuming that the maximum output acceleration of each joint angle of the transition gait is a max , the transition gait planning of the snake robot without side slip can be simplified to search for the most appropriate interpolation time Δ t . We can obtain that the longer interpolation period can acquire the smoother curve, and the maximum angular acceleration of the interpolation section is smaller. However, after a certain time, the maximum acceleration of the interpolation function no longer reduces. The longer interpolation time affects the efficiency of gait switching of the snake robot, as shown in Figure 11. Therefore, it is of great significance to find the optimal interpolation time for adaptive planning of snake robot’s transitional gait.  □
In this paper, we design an optimal interpolation time search based on dichotomy, and the minimum search step is 0.5 s, the maximum output angular acceleration threshold of the joint is θ ¨ max , the dichotomy algorithm is shown as Algorithm 1:
Algorithm 1 Dichotomy Search
 1:
Input t 0 , t min , t max ;
 2:
if T min + 0.5 t max then
 3:
    Δ t = t max t min 2 ;
 4:
   if  Δ t = t max o r Δ t = t min  then
 5:
      r e t u r n t max ;
 6:
     if  θ ¨ max ( t ) = θ ϕ ¨  then
 7:
         r e t u r n Δ t ;
 8:
        if  θ ¨ max ( t ) > θ ϕ ¨  then
 9:
           t max = Δ t ;
10:
        else
11:
           t min = Δ t
12:
        end if
13:
     end if
14:
   end if
15:
end if
Based on the algorithm, we know the time complexity of the algorithm is log ( n ) , the optimal search interval [ t min , t max ] can be set according to experience, and the acceleration expression is a cubic equation, which can solve the interval maximum value of the interpolation function. The time delay exists in the calculation process. The calculation time is t c , multiplied by the binary search algorithm step log 2 n , it can obtain the calculation time t c log 2 n , and the snake robot realizes the transitional gait planning at the time t 0 + t c log 2 n .
Remark 2.
Based on the above analysis, the adaptive transition gait planning of the snake robot can be realized at any time between all gaits under the control function method. The head stable gait based on sigmoid function is suppressed the output of the first two joints, so the self-adaptive transition gait of the serpentine gait is suitable for the head stable serpentine gait. The control of the snake robot’s smooth turning will change the angular velocity to realize the smooth operation from straight line to different turning gait, which is conducive to the stability of the head joint camera and makes the running track smoother.

5. Simulation Results

5.1. Smooth Turning Simulation Experiment of Snake Robot

Based on the theoretical derivation in the previous section, the simulation experiment under smooth turning conditions is verified the adaptive transition gait planning method of snake robot. Under the CoppeliaSim simulation platform, selecting the working scenario with obstacles and turns to simulate the actual complex environment, as shown in Figure 12. When choosing the parameters of the snake robot, first, it is necessary to determine the maximum joint angular acceleration without side sliding under the snake robot’s serpentine gait a ϕ . The maximum angular acceleration threshold of the snake robot joint without side slid is 5 rad/s2. After comparison, the final control parameters are choosing as n = 4 , v = 1 with the highest forward efficiency and head stability.
During the simulation experiment, we take the sixth joints as the observation object, we can find that when setting the linear motion control signal, the angle, angular velocity, and angular acceleration of the joint performing of the turning action of the snake robot are in the second, third and fourth seconds. As shown in Figure 13, the snake robot can realize the smooth turning.
The data in Table 1 shows that optimal interpolation duration of different transition gaits to realize the adaptive transition gait. From the above table, it can be found that the optimal interpolation time is shorter than the turning execution time.
Based on the adaptive transition gait, we conduct a turning simulation experiment with a turning radius of 0.75 m for the snake robot with 12 orthogonal joints. The output angles of each joint in the turning interpolation section are shown in Table 2.
The running track of the head of the snake robot at the turning is shown in Figure 14, the red line is the running track after interpolation, and the interpolation time is 2 s . The blue is the running track before interpolation. From the figure, we can see that the track obviously moves sideways at the corner, and leads jitter before interpolation. Although the tracking results the delay after interpolation, the trajectory is smooth, and there is no lateral displacement, as shown in Figure 15.

5.2. Flexibility Gait Switching Experiment

Based on the adaptive transition gait algorithm, the turning smooth control of snake robot is realized. In theoretically, using this method can reach the flexible switching of any two gait. Next, an example shows the switching between serpentine gait and traveling wave gait.
In the movement of the snake robot, the serpentine gait is efficient. The traveling wave gait can achieve the flexibility switching of the gait through the narrow gap, to improve the adaptability of the snake robot and avoid the burden on the motor. Setting the maximum threshold of the angular acceleration of the transition gaits as the smaller angular acceleration amplitude of the two gaits, and the controller automatically generates the transition gaits for control. The changing of posture and joint angle during gaits switching shows in Figure 16 and Table 3.
The data of Table 3 shows that the error of each joint will accumulate with the increase of running time at the initial stage of movement. However, the designed adaptive gait switching algorithm can reduce the lateral displacement of the snake robot in the switching process. It can realize the flexibility switching between different gaits of the snake robot, and effectively to solve the phenomenon of body oscillation when gait changes. It also can reduce the cumulative error and lower the risk of burden on the drive motor due to the output changes. Based on the motion control of adaptive transition gait planning, the snake robot can efficiently cross narrow gaps between traveling wave gait and serpentine gait, as shown in Figure 17.

6. Conclusions

In this paper, considering the side slip and oscillation of the body caused by the snake robot during gait switching, the dynamics of the snake robot’s serpentine gait is analyzed, and an adaptive transition gait planning method based on quintic polynomial is proposed. Furthermore, the optimal dichotomy interpolation time search is proposed to improve the efficiency of snake robot’s adaptive transition gait switching. Through theory analysis and experiments, it is verified that this method can effectively solve the problem of side slip and oscillation of the snake robot. Finally, the adaptive compliant switching of snake robot’s serpentine gait and traveling wave gait is achieved. This paper analyzes the gait switching of snake robot, the further topic can study the trajectory prediction and visual localization of snake robot.

Author Contributions

All authors contributed to this work. Conceptualization, X.L. and G.L.; methodology, X.L. and G.L.; software, X.L. and G.L.; validation, X.L. and W.W.; writing—original draft, X.L.; writing—review and editing, X.L., G.L. and W.W. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China [Grant Nos. 61573148, 61603358]; and the Science and Technology Planning Project of Guangdong Province, China [Grant Nos. 2015B010919007, 2019A050520001].

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

References

  1. Kim, J.-H. Multi-axis force-torque sensors for measuring zero-moment point in humanoid robots: A review. IEEE Sens. J. 2020, 20, 1126–1141. [Google Scholar] [CrossRef]
  2. Chuang, W.; Yeh, M.-H.; Yeh, Y. Develop real-time robot control architecture using robot operating system and etherCAT. Actuators 2021, 10, 141. [Google Scholar] [CrossRef]
  3. Chung, W.; Rhee, C.; Shim, Y.; Lee, H.; Park, S. Door-opening control of a service robot using the multifingered robot hand. IEEE Trans. Ind. Electron. 2009, 56, 3975–3984. [Google Scholar] [CrossRef]
  4. Xu, F.; Xu, Y.; Zhang, H.; Chen, S. Application of sensing technology in intelligent robotic arc welding: A review. J. Manuf. Process. 2022, 79, 854–880. [Google Scholar] [CrossRef]
  5. Su, H.; Hou, X.; Zhang, X.; Qi, W.; Cai, S.; Xiong, X.; Guo, J. Pneumatic soft robots: Challenges and benefits. Actuators 2022, 11, 92. [Google Scholar] [CrossRef]
  6. Gong, D.; Wang, P.; Zhao, S.; Du, L.; Duan, Y. Bionic quadruped robot dynamic gait control strategy based on twenty degrees of freedom. IEEE/CAA J. Autom. Sin. 2018, 5, 382–388. [Google Scholar] [CrossRef]
  7. Wang, D.; Wei, W.; Wang, X.; Gao, Y.; Li, Y.; Yu, Q.; Fan, Z. Formation control of multiple mecanum-wheeled mobile robots with physical constraints and uncertainties. Appl. Intell. 2022, 52, 2510–2529. [Google Scholar] [CrossRef]
  8. Wang, D.; Wei, W.; Yeboah, Y.; Li, Y.; Gao, Y. A robust model predictive control strategy for trajectory tracking of omni-directional mobile robots. J. Intell. Robot. Syst. 2020, 98, 439–453. [Google Scholar] [CrossRef]
  9. He, B.; Wang, Z.; Li, M.; Wang, K.; Shen, R.; Hu, S. Wet adhesion inspired bionic climbing robot. IEEE/ASME Trans. Mechatron. 2014, 19, 312–320. [Google Scholar] [CrossRef]
  10. Li, D.; Deng, H.; Pan, Z.; Xiu, Y. Collaborative obstacle avoidance algorithm of multiple bionic snake robots in fluid based on IB-LBM. ISA Trans. 2022, 122, 271–280. [Google Scholar] [CrossRef]
  11. Zhang, B.; Jin, S.; Hou, Z. Energy saving control of bionic robotic fish based on model-free adaptive control. IFAC 2020, 53, 3934–3939. [Google Scholar] [CrossRef]
  12. Rollinson, D.; Bilgen, Y.; Brown, B.; Enner, F.; Ford, S.; Layton, C.; Rembisz, J.; Schwerin, M.; Willig, A.; Velagapudi, P.; et al. Design and architecture of a series elastic snake robot. In Proceedings of the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Chicago, IL, USA, 14–18 September 2014; pp. 4630–4636. [Google Scholar] [CrossRef]
  13. Wang, C.; Wang, D.; Gu, M.; Huang, H.; Wang, Z.; Yuan, Y.; Zhu, X.; Wei, W.; Fan, Z. Bioinspired environment exploration algorithm in swarm based on levy flight and improved artificial potential field. Drones 2022, 6, 122. [Google Scholar] [CrossRef]
  14. Gao, Y.; Wei, W.; Wang, X.; Wang, D.; Li, Y.; Yu, Q. Trajectory tracking of multi-legged robot based on model predictive and sliding mode control. Inf. Sci. 2022, 606, 489–511. [Google Scholar] [CrossRef]
  15. Han, S.; Chon, S.; Kim, J.; Seo, J.; Shin, D.G.; Park, S.; Kim, J.T.; Kim, J.; Jin, M.; Cho, J. Snake robot gripper module for search and rescue in narrow spaces. IEEE Robot. Autom. Lett. 2022, 7, 1667–1673. [Google Scholar] [CrossRef]
  16. Luo, M.; Yan, R.; Wan, Z.; Qin, Y.; Santoso, J.; Skorina, E.H.; Onal, C.D. OriSnake: Design, fabrication and experimental analysis of a 3-D origami snake robot. IEEE Robot. Autom. Lett. 2018, 3, 1993–1999. [Google Scholar] [CrossRef]
  17. Liljebäck, P.; Pettersen, K.Y.; Stavdahl, Ø.; Gravdahl, J.T. A review on modelling, implementation, and control of snake robots. Robot. Auton. Syst. 2012, 60, 29–40. [Google Scholar] [CrossRef] [Green Version]
  18. Hirose, S. Biologically Inspired Robots: Snake-Like Locomotors and Manipulators; Oxford University Press: London, UK, 1993. [Google Scholar]
  19. Transeth, A.A.; Leine, R.I.; Glocker, C.; Pettersen, K.Y. 3-D Snake robot motion: Nonsmooth modeling, simulations, and experiments. IEEE Trans. Robot. 2008, 24, 361–376. [Google Scholar] [CrossRef] [Green Version]
  20. 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]
  21. Worst, R.; Linnemann, R. Construction and operation of a snake-like robot. In Proceedings of the IEEE International Joint Symposia on Intelligence and Systems, Rockville, MD, USA, 4–5 November 1996; pp. 164–169. [Google Scholar] [CrossRef]
  22. Rollinson, D.; Choset, H. Gait-based compliant control for snake robots. In Proceedings of the 2013 IEEE International Conference on Robotics and Automation, Karlsruhe, Germany, 6–10 May 2013; pp. 5138–5143. [Google Scholar] [CrossRef]
  23. Racioppo, P.; Ben-Tzvi, P. Design and control of a cable driven articulated modular snake robot. IEEE/ASME Trans. Mechatron. 2019, 24, 893–901. [Google Scholar] [CrossRef] [Green Version]
  24. Burdick, J.W.; Radford, J.; Chirikjian, G.S. A sidewinding locomotion gait for hyper-redundant robots. In Proceedings of the IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, 2–6 May 1993; pp. 101–106. [Google Scholar]
  25. Gray, J. The mechanism of locomotion in snakes. J. Exp. Biol. 1946, 23, 101–120. [Google Scholar] [CrossRef]
  26. Liu, J.; Tong, Y.; Liu, J. Review of snake robots in constrained environments. Robot. Auton. Syst. 2021, 141, 103785. [Google Scholar] [CrossRef]
  27. Woodford, G.W.; du Plessis, M.C.; Pretorius, C.J. Concurrent controller and Simulator neural network development for a snake-like robot in evolutionary robotics. Robot. Auton. Syst. 2017, 88, 37–50. [Google Scholar] [CrossRef]
  28. Chen, G.; Bing, Z.; Röhrbein, F.; Conradt, J.; Huang, K.; Cheng, L.; Jiang, Z.; Knoll, A. Toward brain-inspired learning with the neuromorphic snake-like robot and the neurorobotic platform. IEEE Trans. Cogn. Dev. Syst. 2019, 11, 1–12. [Google Scholar] [CrossRef] [Green Version]
  29. Bing, Z.; Lemke, C.; Cheng, L.; Huang, K.; Knoll, A. Energy-efficient and damage-recovery slithering gait design for a snake-like robot based on reinforcement learning and inverse reinforcement learning. Neural Netw. 2020, 129, 323–333. [Google Scholar] [CrossRef]
  30. Cao, Z.; Zhang, D.; Zhou, M. Modeling and control of hybrid 3-D gaits of snake-like robots. IEEE Trans. Neural Netw. Learn. Syst. 2021, 32, 4603–4612. [Google Scholar] [CrossRef]
  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. Rezapour, E.; Liljebäck, P. Path following control of a planar snake robot with an exponentially stabilizing joint control law. IFAC Proc. 2013, 46, 28–35. [Google Scholar] [CrossRef] [Green Version]
  33. Zhao, W.; Wang, J.; Fei, Y. A multigait continuous flexible snake robot for locomotion in complex terrain. IEEE/ASME Trans. Mechatronics 2021, 1–11. [Google Scholar] [CrossRef]
  34. Takemori, T.; Tanaka, M.; Matsuno, F. Gait design for a snake robot by connecting curve segments and experimental demonstration. IEEE Trans. Robot. 2018, 34, 1384–1391. [Google Scholar] [CrossRef]
  35. Ariizumi, R.; Takahashi, R.; Tanaka, M.; Asai, T. Head-trajectory-tracking control of a snake robot and its robustness under actuator failure. IEEE Trans. Control Syst. Technol. 2019, 27, 2589–2597. [Google Scholar] [CrossRef]
  36. Elsayed, B.A.; Takemori, T.; Tanaka, M.; Matsuno, F. Mobile manipulation using a snake robot in a helical gait. IEEE/ASME Trans. Mechatronics 2021, 1–12. [Google Scholar] [CrossRef]
Figure 1. The orthogonal connection of the snake robot.
Figure 1. The orthogonal connection of the snake robot.
Actuators 11 00222 g001
Figure 2. The model of snack robot in SolidWork software.
Figure 2. The model of snack robot in SolidWork software.
Actuators 11 00222 g002
Figure 3. The snack robot model in CoppeliaSim.
Figure 3. The snack robot model in CoppeliaSim.
Actuators 11 00222 g003
Figure 4. The controller systems of CoppeliaSim.
Figure 4. The controller systems of CoppeliaSim.
Actuators 11 00222 g004
Figure 5. The attitude of snake robot in different A.
Figure 5. The attitude of snake robot in different A.
Actuators 11 00222 g005
Figure 6. The attitude of snake robot in different k.
Figure 6. The attitude of snake robot in different k.
Actuators 11 00222 g006
Figure 7. The attitude of snake robot in different ϵ .
Figure 7. The attitude of snake robot in different ϵ .
Actuators 11 00222 g007
Figure 8. The stress of the snake robot’s joint.
Figure 8. The stress of the snake robot’s joint.
Actuators 11 00222 g008
Figure 9. The jumping of snake robot’ joint.
Figure 9. The jumping of snake robot’ joint.
Actuators 11 00222 g009
Figure 10. The time of interpolation.
Figure 10. The time of interpolation.
Actuators 11 00222 g010
Figure 11. The output of angular, angular velocity, angular acceleration in different interpolation time.
Figure 11. The output of angular, angular velocity, angular acceleration in different interpolation time.
Actuators 11 00222 g011
Figure 12. The simulation environment.
Figure 12. The simulation environment.
Actuators 11 00222 g012
Figure 13. The output of the initial angular, angular velocity, angular acceleration in different interpolation time.
Figure 13. The output of the initial angular, angular velocity, angular acceleration in different interpolation time.
Actuators 11 00222 g013
Figure 14. The tracking of interpolation time.
Figure 14. The tracking of interpolation time.
Actuators 11 00222 g014
Figure 15. The adaptive turning.
Figure 15. The adaptive turning.
Actuators 11 00222 g015
Figure 16. The gait switching.
Figure 16. The gait switching.
Actuators 11 00222 g016
Figure 17. The gait switching.
Figure 17. The gait switching.
Actuators 11 00222 g017
Table 1. Actual interpolation duration for different turns.
Table 1. Actual interpolation duration for different turns.
Turning Execution TimeOptimal Interpolation Duration /s
2 s1
3 s2
4 s1.5
Table 2. Actual interpolation duration for different turns.
Table 2. Actual interpolation duration for different turns.
Joint24681012
Time
2.9−0.01−0.040.360.27−0.73−0.26
3.30−0.080.120.67−0.26−0.72
3.70.100.02−0.10.60.44−0.5
4.10.242.55−0.060.130.830.32
4.50.360.440.23−0.270.631.05
4.90.390.470.62−0.101.09
Table 3. Actual interpolation duration for different turns.
Table 3. Actual interpolation duration for different turns.
Joint123456789101112
Time
2.50−0.710−0.3500.7300.310−0.750−0.27
2.70−0.520−0.5900.5600.560−0.590−0.53
2.90.02−0.220.01−0.8−0.020.26−0.010.780.02−0.310.01−0.77
3.10.060.050.05−0.87−0.060−0.050.870.06−0.050.04−0.86
3.30.110.230.11−0.81−0.12−0.18−0.110.820.130.130.10−0.83
3.50.170.290.2−0.66−0.18−0.25−0.190.680.190.210.18−0.69
3.70.20.260.29−0.47−0.22−0.24−0.280.480.240.210.26−0.50
3.90.190.180.37−0.28−0.21−0.17−0.360.290.230.150.34−0.30
4.10.10.090.42−0.12−0.13−0.08−0.410.130.150.080.40−0.13
4.3−0.030.030.42−0.030.01−0.02−0.420.030.020.020.42−0.03
4.5−0.2800.2900.260−0.310−0.2400.320
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Liu, X.; Lin, G.; Wei, W. Adaptive Transition Gait Planning of Snake Robot Based on Polynomial Interpolation Method. Actuators 2022, 11, 222. https://doi.org/10.3390/act11080222

AMA Style

Liu X, Lin G, Wei W. Adaptive Transition Gait Planning of Snake Robot Based on Polynomial Interpolation Method. Actuators. 2022; 11(8):222. https://doi.org/10.3390/act11080222

Chicago/Turabian Style

Liu, Xiongding, Guangjie Lin, and Wu Wei. 2022. "Adaptive Transition Gait Planning of Snake Robot Based on Polynomial Interpolation Method" Actuators 11, no. 8: 222. https://doi.org/10.3390/act11080222

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