Arboreal concertina locomotion of snake robots on ... - SAGE Journals

4 downloads 0 Views 984KB Size Report
Keywords. Bio-inspired robotics, snake robots, locomotion control, gait generation, robot gaits planning ..... In Figure 4, segment links are illustrated as solid bars.
Research Article

Arboreal concertina locomotion of snake robots on cylinders

International Journal of Advanced Robotic Systems November-December 2017: 1–13 ª The Author(s) 2017 DOI: 10.1177/1729881417748440 journals.sagepub.com/home/arx

Chaoquan Tang , Xin Shu, Deyuan Meng and Gongbo Zhou

Abstract This article proposes a novel gait on cylinders for a snake robot as well as arboreal concertina locomotion gait, including the generation method. The gait on the cylinder of a snake robot is a kind of spatial motion planning that is difficult in manual design. In this article, a planar gait of a snake robot is first constructed, followed by cylindrical gait via a transformation mechanism. In addition, a gait generating scheme of arboreal concertina locomotion gait of snake robots on cylinders is constructed and verified via a simulation platform. Such gait makes advantages on cylindrical motion capability of snake robots and the proposed generation approach for gait construction can be promoted to other cylindrical gaits, reducing design difficulty. Keywords Bio-inspired robotics, snake robots, locomotion control, gait generation, robot gaits planning

Date received: 29 December 2016; accepted: 12 November 2017 Topic: Bioinspired Robotics Topic Editor: Mohsen Shahinpoor Associate Editor: Pedro Ponce

Introduction After millions of years of revolution, animals achieved amazing adaptability which inspired researchers to create new inventions. Snakes are one of the most versatile animals in nature; it can move in diverse environments, such as grasslands, deserts, rivers, and trees. As being simple though, the elongated bodies of snakes enable free movement within various environments by utilizing different gaits. The artificial structure composed of rods or pipes can be found everywhere in our daily life, and related discovery still poses a challenge in the design and application of robots. Because of its special body shape, snake robot has great advantages in exploring rod or pipe structure. Hatton and Choset proposed the helix rolling gait of pole climbing based on the method of annealed chain fitting and Keyframe wave extraction (ACFKWE).1 Kamegawa et al. realized the climbing motion of snake robots with passive wheels on cylinders by analyzing the continuum model of snake robots.2 Melo et al. studied the relationship between climbing speed and geometry of the robot body and

cylinders when snake robots climb on a horizontal cylinder.3 Enner et al. proposed an estimation method for position and posture of snake robots based on Extended Kalman Filter.4 Based on this estimation method, Rollinson and Choset realized the compliant control method, which provides snake robots the abilities of self-adaption of cylinder diameter and blocked stopping.5 Above climbing gaits of snake robots on cylinders were proposed from engineers’ perspectives. The snake robot surrounds the cylinder, which restricts the robot, allowing it to only move on a pole rather than a more complicated structure, such as a truss or a tree with many branches.

School of Mechatronic Engineering, China University of Mining and Technology, Xuzhou, Jiangsu, China Corresponding author: Chaoquan Tang, School of Mechatronic Engineering, China University of Mining and Technology, No1, Daxue Road, Xuzhou, Jiangsu, 221116, China. Email: [email protected]

Creative Commons CC BY: This article is distributed under the terms of the Creative Commons Attribution 4.0 License (http://www.creativecommons.org/licenses/by/4.0/) which permits any use, reproduction and distribution of the work without further permission provided the original work is attributed as specified on the SAGE and Open Access pages (https://us.sagepub.com/en-us/nam/ open-access-at-sage).

2 There are two main gaits of snake moving in trees: arboreal lateral undulation locomotion (ALUL) and arboreal concertina locomotion (ACL).6 ALUL gait has a higher speed of movement but is limited to a driving force add-in due to branches. ACL gait has a better adaptability to environment, including a simple rod and a complex truss structure. The difficulty of designing gaits on cylinders is the contact surface of snake robots from the horizontal plane onto a curved surface, making the entire snake robot space configuration unimaginable. Currently, gaits generation method can be divided into four categories, sine-based method, model-based method, central pattern generationbased (CPG-based) method, and curve-based method. Sine-based method uses sine-based function as joint reference angle for snake robots. Based on the observation of motion of snakes on grounds, Hirose accomplished lateral undulation gait with sine functions on the snake robot assembling passive wheels.7 By setting different sine functions as reference angle for pitch and yaw joints, and adjusting the amplitude, frequency, and phase difference of those sine functions, different gaits of snake robots can be obtained, including side-winding gait,8,9 rectilinear gait,10,11 and helix rolling gait.1 The advantages of sine-based method are easy to achieve and there is a strong correlation between parameters of sine function and the motion performance. Model-based method can improve the motion performance with kinematics and dynamics analysis of robots. Hicks and Ito proposed an optimal control strategy for snake robots based on a series of reduced dynamics equations of robot system.12 To realize the obstacle-aided motion without wheels, Transeth et al. developed a hybrid dynamic system for snake robots to simultaneously deal with the contact force from obstacles and friction force using set-value force laws.13 The limitations of model-based method are the dependency on accurate model and the computation complexity increasing with the number of joints. CPG-based method uses a special neural network or coupled oscillators as gaits generators for snake robots. One interesting feature of this method is the ease of incorporating sensory feedback. Using sensory information, Crespi and Ijspeert realized the amphibious motion of snake robots in water and land and adjusted swing amplitude to obtain the optimal moving speed by Powell’s method.14 Tang et al. constructed multi-phase CPG to realize a variety of gaits and designed the optimal gaits selection strategy based on the speed sensory signal.15 CPG-based method has great potential in improving the environmental adaptability, but its model design and parameter adjustment still remain a challenge. Curve-based method is different from abovementioned gaits generation methods. No matter what method used, the sine-based, model-based, or CPG-based method, the control objects are the joint angle or joint torque of snake robots. Curve-based method designs the body curve of snake robots and the mechanism for converting the body curve to the joint angle. Hatton and Choset proposed the approach of ACFKWE.1 In this approach, the motion is

International Journal of Advanced Robotic Systems decomposed into a series of curves, and then the control function of the joint angle is extracted. Liljeba¨ck et al. proposed a control framework to solve the problem of shape control in obstacle-aided motion.16 This control framework sets the contact points between the snake robot and obstacle as shape control points (SCP) and then connects these points with B´ezier curves. The control function joint angle is obtained by progressing a virtual snake along the body curve. This control framework can also generate lateral undulation gait and concertina gait on ground. For generation of ACL gait on cylinders, the sine-based, model-based, and CPG-based methods cannot guarantee the shape of snake robots to meet the gait requirements. Liljeba¨ck’s control framework is not suitable for generating ACL gait, because the B´ezier curve is a plane curve. The approach of ACFKWE is a possible solution but is suffered from complexity. Therefore, in this article, a novel gait design method for ACL is proposed. The basic idea is to design concertina locomotion (CL) gaits on horizontal planes first and then to translate gaits on planes into ACL gaits on cylinders by transformation mechanism. The process of design CL gaits is similar to the method of ACFKWE. It is easy to build CL gaits since they occur on plane. By coordinate transformation, the mechanism lies in transformation of control functions of joint angles of CL gaits on planes into the control functions of joint angles of ACL gaits on cylinders. The process of coordinate transformation mainly refers to the kinematics of manipulators.17 Then, in order to guarantee the feasibility of the proposed ACL gait, the kinematics and dynamics of the gait are analyzed to avoid the geometric interference and slipping from cylinders. Most of the researches about the gaits of snake robots involve kinematics and dynamics analysis, partly for the motion of the snake robots on the plane18,19 and partly for the motion on the cylinder.4,5 In this article, the force analysis of snake robots winding the cylinder is analyzed to obtain the optimization design parameters of ACL gait. The article is organized as follows. “Design of CL gait on a plane” section analyzes the CL gait of snake robots on horizontal planes. “Planar–cylindrical gaits transformation mechanism” section presents the transformation mechanism of CL gait on a plane to ACL gait on a cylinder. “Gaits analysis and parameter determination” section introduces the parameters analysis of ACL gait based on kinematic and dynamic models of snake robots. “The design scheme of ACL gait of snake robots” section provides the complete design scheme of ACL gait and its verification with simulation platform. Finally, the last section contains the conclusion and future work.

Design of CL gait on a plane It is much simpler to plan CL gaits on the plane than to directly plan ACL gaits of snake robots on cylinders. Based on two different winding types, this section designs two

Tang et al.

3

(a)

(b) Figure 1. Sketches of H-type and S-type winding of snake robots: (a) H-type winding and (b) S-type winding.

different CL gaits. The process of building CL gaits is similar to the method of ACFKWE. There are two winding types for snake robots on cylinder: H-type winding and S-type winding. In the H-type winding, snake robots wrap around the entire circumference of the cylindrical surface, while the S-type winding does not. The CL gaits of H-type winding and S-type winding are planned first on the plane, and then converted to gaits on the cylinder using a transforming mechanism introduced in “Planar–cylindrical gaits transformation mechanism” section. The sketches of H-type and S-type winding of snake robots are shown in Figure 1.

The Planning of CL gait of H-type winding on a plane The body structure of the snake robot was divided into three sections: head section, middle section, and tail section. Head section and tail section were used to affix on the body of snake robots and the length of the middle section is related to the moving distance of each movement period. The length of each link making up the snake robot is equal, so the length of each section is determined by the number of links within each section: the number within the head section nH , the number within the middle section nM , and the number within the tail section nT . The larger the value of nH and nT , the safer the snake robot is during climbing. The larger the value of nM , the longer the moving distance within each period.

There are two types of links; they are segment links and transient links. The orientation of segment links in each segment remained consistent. The transient links connected the adjacent segment links and the orientation of segment links was different from the segment links at the start of every motion period. As shown in Figure 2, solid bar represents segment links and blank bar illustrates transient links. The period of movement of snake robots is divided into four phases: head opening phase (HO), head folding phase (HF), tail opening phase (TO), and tail folding phase (TF). As illustrated in Figures 2, steps (b) and (c) are head opening phases. The number of steps in the head opening phase is equal to nM . In this phase, the snake robot raises parts of its body to move forward. Steps (d) to (f) are head folding phases. The number of steps in the head folding phase is equal to nH . In this phase, the snake robot affixes itself with tail section and the head section moves forward. Steps (g) to (j) are tail opening phases. The number of steps of the tail opening phase is equal to nT . In this phase, the snake robot affixes itself with head section, the middle and tail sections move forward. Steps (k) and (l) are part of the tail folding phase. The number of steps in the tail folding phase is equal to nM . In this phase, the snake robot folds up the links within its tail section and finishes one period movement. If the number of links making up the snake robot is nB ¼ nH þ nM þ nT , the number of steps in each movement period is nn ¼ nH þ 2nM þ nT . There are three types of joints: the normal joint (NJ), which is illustrated with blank circles in Figure 2; the transition-start joint (TSJ), which is presented with green circles in Figure 2; and transition-end joint (TEJ), which is shown with red circles in Figure 2. The angle curve of ith NJ is presented in Figure 3(a). The joint moves the links forward at the peak of the curve and returns to the original direction at the trough of the curve. Figure 3(b) and (c) shows the angle curve of ith TSJ and TEJ. The behaviors of TSJ and TEJ are similar to NJ. However, the initial angle of TSJ and TEJ are not zero, because of this, the peak and trough of the curve of TSJ and TEJ are not symmetric. The anticlockwise direction is defined as positive. The right end of the snake robot is defined as the head, so the angle is positive when the ith joint moves in the first half period. If the left end of the snake robot is its head, the angle is negative.

The planning of CL gait of S-type winding on a plane In the process of S-type winding gait, the snake robot curves its body and grasps the cylinder like a hand. The links making up the snake robots are divided into two categories: segment links and transition links. Segment links are used to secure the robot and transition links are added to reduce the angle of adjacent links. Each segment has ns links. In Figure 4, segment links are illustrated as solid bars and transition links are illustrated as blank bars. The body of the snake robot body is also divided into three sections: head section, middle section, and tail section.

4

International Journal of Advanced Robotic Systems

Figure 2. H-type winding gait planning on plane.

Figure 3. The ith joint angle curve of H-type winding gait in one period.

The function of each section is similar to that of the H-type winding gait. The head section has nHs segments, the middle section has nMs segments, and the tail section has nTs segments. There is one transition link between two adjacent segments; therefore, there are ntl ðntl ¼ nHs þ nMs þ nTs  1Þ transition links. The period of S-type winding gait also has four phases: head opening phase (HO), head folding phase (HF), tail opening phase (TO), and tail folding phase (TF). The function of each phase is comparable to the H-type winding gait. The difference lies in the fact that S-type type winding gait has two head folding directions corresponding to the position of the head section at the last step of the head opening phase. If nms is an odd number, the head section folds toward the opposite direction compared to the initial pose. If nms is an even number, the head section folds into the same direction compared to the initial pose.

There are three types of joints, normal joints (NJ), left transition joints (LTJ), and right transition joints (RTJ). As shown in Figure 4(a), NJs are presented with blank circles, LTJs are expressed as green circles, and RTJs are shown as red circles. In S-type winding gait, the snake robot folds its body to make an S shape. The head of the snake robot alternately points toward the left or right or the same direction, which is determined whether the nM ðnM ¼ nMs  ns Þ is an odd or even number. The S-type winding has two different periods, which is determined by the uniformity of nM . The period is ðnB þ nM Þ, if nM is an even number, and the period is 2ðnB þ nM Þ, if nM is an odd number. Figure 5(a) shows the angle curve of ith NJ of S-type winding gait, which is similar to H-type winding gait. But there are two different curves controlled by the parity of nM . When nM is even, the joint curve of NJ is red; it has one peak and one trough in one period. When nM is odd, the joint curve of NJ is green. It has two peaks and two troughs in one period. The Figure 5(b) and (c) illustrates the joint curve of ith LTJ and RTJ. They are not similar to the curve of NJ. They have a nonzero initial joint angle and do not have an independent peak or trough within one period. The total number of all segment links is nBs ¼ ðnHs þ nMs þ nTs Þ  ns ; the total number of links of snake robot is nB ¼ nBs þ ntl ; and the number of steps in each motion period is nn ¼ nBs þ nMs  ns . It should be clearly noted that the change of joint angle is illustrated as linear in Figures 3 and 5 but the change process of the angle is arbitrary even though the start and stop angles are determined.

Planar–cylindrical gaits transformation mechanism The section “Design of CL gait on a plane” illustrates the gait planning of snake robots on a plane. This section presents how

Tang et al.

5

Figure 4. S-type winding gait planning on plane.

Figure 5. The ith joint angle curve of S-type winding gait in one period.

to transform the reference joint angles of the snake robot from a plane to a cylinder. This includes three parts: first part illustrates the attitude of every link of snake robot on cylinder; second part gives the revolute angle of each joint on the snake robot; and third part presents the constraints of angle velocity of each joint for avoiding the slipping of the snake robots along the direction of a cylinder axis. The process of establishing the transformation mechanism mainly uses coordinate transformation, which is similar to the kinematics analysis of manipulator. In section 2, joint

angles of snake robot are classified into different joints, such as NJ, TSJ, and TEJ, but they are not distinguished when performing planar to cylindrical gait transformation. In this section, all calculations are based on the assumption that every joint of the snake robot have the capability of moving in pitch and yaw directions. Notation defining. pi means the ith vector in frame o0 x 0 y 0 z 0 pji represents the ith vector in frame oj xj yj zj .

6

International Journal of Advanced Robotic Systems The snake robot is imagined as a curve on a paper, and then this paper is rolled as clarified in Figure 6(b). A reference o0 x 0 y 0 z 0 is defined, which obeys the righthand rule. The axis of the cylinder is the z 0 axis of reference o 0 x 0 y 0 z 0 . The direction of x 0 is normal to the surface of the cylinder. The origin of o0 x 0 y 0 z 0 locates is at the starting point of link 1. Two hypotheses are premised. One is that the length of every link of the snake robot projecting on 0 0 0 0 0 0 plane o x y is equal. The plane o x y is vertical to the cylinder climbed by the snake robot; the other is that each link makes contact with the cylinder at its center point. Two rotation angles are defined. The first rotation angle is yhi , which represents the angle between adjacent links of the snake robot moving on a plane. The second rotation angle is yvi , which symbolizes the projection angle on the 0 0 0 plane of o x y between adjacent links of snake robots moving on a cylinder. The p0 is defined along the direction of the y-axis of frame o0 x 0 y 0 z 0 . The pi is used to represent the position of the ith link in frame o0 x 0 y 0 z 0 pi ¼ Rðx 0 ; i ÞRðz 0 ; i Þp0 Xi i ¼ y j¼1 hi Xi i ¼ y j¼1 vi

ð1Þ

Revolute angle of every joint of snake robots Each joint of the snake robot has pitch and yaw degrees of freedom. The axis of pitch and yaw joints has a point of intersection oi . The point oi is also the origin of the ith local frame oi xi yi zi . The axis of pitch and yaw joints are the x-axis and z-axis of ith local frame oi x i y i z i . The position of every link of the snake robots pi is calculated in first part; the relationship between the ith pitch joint revolute angle ypi , the ith yaw joint revolute angle yyi , and the placement of ith link pi is presented in equation (2). Figure 6. The orientation of links of the snake robot: (a) links on plane and (b) links on cylinder.

Rji means a rotation matrix from frame oi xi yi zi to frame oj xj yj zj . Rðxi ; yi Þ represents a rotation matrix which makes a vector rotate yi around the x axis of frame oi xi yi zi .

The position of the snake robot on a cylinder The position of links in each moment of the snake robot has been illustrated on a plane as shown in Figure 6(a).

0 pi0 ¼ Ri1 Rðxi ; ypi ÞRðzi ; yyi Þpii 0 Ri0 ¼ Ri1 Rðxi ; ypi ÞRðzi ; yyi Þ

ð2Þ

Equation (2) is a recurrence formula, so R 01 is still unknown. The orientation of the first link p1 is defined in first part, but there is still uncertainty for no driver between the first link and the ground. The orientation of the first link p 1 can be measured and by adjusting the revolute angles yp1 and yy1 , the position of the second link p 2 will be ensured. Assuming that p 1 can be measured and be noted as ½ kx ky kz T and the 2-norm of p 1 equals one. R 01 is calculated by equation (3).

Tang et al.

7 2

C C

S

C S

3

6 7 7 R 01 ¼ 6 4 S C C S S 5 S 0 C 8 k y > > S ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi > > > 2 > kx þ ky2 > > > > > > > kx < C ¼ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 kx þ ky2 > > > > > qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi > > > S ¼ kx2 þ ky2 > > > > > : C ¼ kz

constraint of the revolute velocity of pitch and yaw joints is given below: a31 y_ yi þ a33 y_ pi ¼ 0

ð3Þ

equation (6) means the angular velocity of the ith pitch and yaw joints must be proportional. Constraints of the pitch and yaw joints’ angular velocity are practical, angular velocity being the main control parameter of most motors.

Gaits analysis and parameter determination

S means sin () and C means cos ().S and C have the same definition. Now, Ri0 is known, and the revolute angle of each pitch and yaw joint ypi and yyi can be calculated by equation (4). Defining the components of Ri0 and pi at first. 2 3 a11 a12 a13 6 7 6 7 Ri0 ¼ ½ g1 g2 g3  ¼ 6 a21 a22 a23 7 4 5 a31 a32 a33 pi ¼ ½ xi yi zi    p The domain of ypi and yyi is p 2 ;2 . 0 1 8 T > g p > < y ¼ tan1 @ 3 i A pi gT2 pi ð4Þ > > : yyi ¼ sin1 ðgT1 pi Þ

Constrains of revolute velocity of pitch and yaw joints In the second part, the position of the snake robot has been determined, but the body of snake robot will have a sliding movement along the axis of the cylinder. This sliding motion makes the snake robot unable to hold the required position. Because of this, the components of velocity within each link of the snake robot along the z-axis of frame o0 x 0 y 0 z 0 must equal zero. The angular velocities of the ith pitch and yaw joints are y_ pi and y_ yi which are the derivatives of ypi and yyi . The linear velocity of the ith link in frame oj xj yj zj is noted as vji ¼ ½ vjix vjiy vjiz , and the superscript is omitted if the linear velocity is presented in frame o0 x 0 y 0 z 0 . The linear velocity of the ith link vi is the composite result of the ith pitch and yaw joints. The l is the length of link of the snake robot. vi ¼ ðy_ pi zi þ y_ yi xi Þl

ð6Þ

ð5Þ

The component of velocity of each link of the snake robot along the z-axis of frame o0 x 0 y 0 z 0 equals zero, so the

After the gait planning of snake robots on a cylinder, gait parameters are studied considering the geometry of cylinder, the geometry of snake robots, and the drive force of motors. Gait parameter analysis contains two aspects: kinematic analyses and dynamic analyses. Kinematic analysis checks collision between the links of the snake robot. The analysis includes the limitations of the cylinder radius, the length and radius of links of snake robots on the joint angles, and the number of links of the snake robot. Dynamic analysis assures the gaits work. On one hand, the influence of winding angle and number of winding links on fixing force is obtained with Newton–Euler equations and convex optimization. On the other hand, it analyzes the joint torques required to ensure that a snake robot can perform the ACL gait.

Kinematic analyses First, the relationship between yvi and the number of links in a single loop of the snake robot winding on cylinder ns is discussed. Assuming the snake robot has a consistent ’i ð’i ¼ ’Þ, which is the angle between links of the snake robot and the plane normal to the cylinder. The length of snake robots links is l, the angle of snake robots body winding on the cylinder is yc , and the angle between adjacent links is ys . The parameters yc and ys are shown in Figure 7. If yc and ys are known, the needed number of links ns is: 8 0 l ¼ l cos’ > > 0 1 > > > > > > l0 > < ys ¼ 2 tan1 @ A 2R ð7Þ > 6 7 > > 6 7 > > 6yc 7 > > > ns ¼ 4 5 þ 1 > : ys The angle between adjacent links project to plane of o0 x 0 y 0 is yvi , the angle is equal to ys . The radius of cylinder R, the length of links l, and the angle ’ determines it. If both the snake robot and cylinder are fixed, the judgment conditions of whether yc satisfies the requirements of no less than p can be given by equation below:

8

International Journal of Advanced Robotic Systems

Figure 9. The sketch of geometry interference of snake robots on a cylinder.

Figure 7. Snake robots winding on cylinder with one loop.

Figure 8. The constrain of geometry of links of the snake robot to the revolution angle.

8 0 > l ¼ l cos’ > > 0 1 > > 0 < l yvi ¼ 2 tan1 @ A > 2R > > > > : yc ¼ ns yvi

Figure 10. The force diagram of the snake robot winding on cylinder.

ð8Þ

Second, the relationship between angle yr and the geometry of the snake robot is explored. The maximum rotation angles of joints of snake robots yr will influence the flexibility of snake robots’ motion. It is determined by the maximum rotation angle of the motor and the body structure of snake robots. The main parameters of geometry of snake robot bodies relating to yr r are the radius of links r and the width of the gap between adjacent joints lw . The parameters yr , r, and lw are shown in Figure 8, and their relationship is listed below:   1 lw yr ¼ 2 tan ð9Þ 2R Third, the relationship between the value domain of angle ’ and the parameters of snake robots is studied. In H-type winding gait, the improper choice of angle will cause interference in the snake robots body. The height occupied by the snake robot body on a cylinder is hs . It should be larger than the rising height of snake robots around the cylindrical circle h. The parameters ’, hs , and

h are shown in Figure 9. The body of the snake robot is illustrated with a yellow band. The constraints for the angle ’ is listed below: 8 h ¼ 2pR tan’ > > > <   2r 1 r hs ¼ ð10Þ ) ’  sin cos’ > pR > > : h  hs

Dynamic analyses The dynamic analyses of ACL gaits focus on the condition where the snake robot winds along a cylinder with a single loop. Considering the condition of a multi-loop enhances the difficulty of dynamic analyses, losing efficient analysis results. The purpose of dynamic analyses in this article is providing a foundation for choosing a motor by providing the maximum torque demanded. Motors on most of these snake robots are designed for position control or velocity control. One just needs to estimate the torque range of motors used on snake robots. Figure 10 shows the force diagram of the snake robot winding on a cylinder with a single loop. Ni is the normal force exerted by a cylinder to the ith link of the snake robot. τ i is the torque produced by the ith joint of the snake robot. If the length of links of the

Tang et al.

9

snake robot is equal, the attitude of the snake robot is symmetric. So, Figure 10 only illustrates the right half of the whole snake robot. By momentum equivalence, the relationship between normal force Ni and the motor torque τ i is established. 8 0 l > > ¼ N τ > n n > > 2 > > > > 0 > < l 0 τ n1 ¼ Nn cosðyvi Þl þ Nn1 þ τn 2 > > > > > 0 Xn  > > l > > þ τiþ1 τ ¼ cos½ðn  j þ 1Þy  þ N > i vi i : j¼iþ1 2 ð11Þ By simplifying: 0 1 0 i1 X sin½ði  j þ 05Þyvi Nj C 0 Ni l B   τi ¼ @ l þ A y 2 2 sin vi j¼i

ð12Þ

2

T is a vector of τi , N is a vector of Ni , and M is a coefficient matrix. To rewrite equation (11): T ¼ MN

ð13Þ

M is a positive definite matrix, so an inverse matrix must exist. The expression of N is: N ¼ M 1 T ¼ KT

ð14Þ

There are infinite combinations of τ i for the output of motors being within a domain from zero to maximum τ max . There must be a combination satisfying these two requirements: the first is resultant force of all Ni being zero, ensuring the safety of snake robots; the second is the sum of all the absolute values of Ni being maximum. Linear programming can solve this. The cost function is: X X J¼ jNi j ¼ ðci τi Þ ð15Þ The constraints should be classified into two situations: the number of single loop links of snake robot ns is either even or odd. If ns is even, the sum of projection of all normal pressure force fN 1 ;    ; Nn g on the axis of z 0 is zero. All other constraints are, Ni is not less than zero and all motor torques τi are not less than zero and not greater than τ max . τ max is defined as one in this paper. The expression is: Xn Xn jNi j ¼ ðc τ Þ max J ¼ i¼1 i¼1 i i

(N

st

z

¼0

8Ni  0

0  τi  τ max 3 1 0 2 n X y p vi @ sin4ðn  i þ 1Þyvi   5Ni A Nz ¼ 2 2 j¼1

ð16Þ

If ns is odd, there is an additional force N 0 , its quantity is not less than zero. Compared to the even situation, constraints reduce an equation. The expression is: Xn Xn jN j ¼ ðd τ Þ max J ¼ i i¼0 i¼1 i i ( 8Ni  0 s:t: ð17Þ 0  τi  τ max Xn N0 ¼ ð sin½ðn  i þ 1Þyvi Ni Þ i¼1 The force of fixing the snake robots body to avoid falling from the cylinder is the force of friction between the robots body and the cylinder. The quantity of friction force is determined by the sum of all normal force Ni , which is represented with J . The maximum of fixing force of snake robots F max with different winding range and winding links can be obtained by calculating J max and multiplying friction coefficient . The minimum of winding range of the snake robot is no less than p and the number of winding links is no less than three for force balance. Figure 11 shows the relationship between the maximum of the fixing force F max , winding angle yc , and the number of winding links ns . The winding angle is from p to 11p= 6, and the number of winding links is from 3 to 48. As shown in Figure 11(a) and (b), the fixing force F max increases with winding angle yc when ns is greater than five. When ns is not greater than five, the relationship between F max and yc should be calculated, respectively. As presented in Figure 11(a) and (c), the fixing force F max increases with the number of winding links ns when yc is greater than n. The parity of ns influences the increasing trend of F max . When ns is greater than ten, the F max tends to be a constant value. This means that the greater number of ns is not helpful to the fixing force F max when ns is greater than ten. The maximum torque of motors in the process of lifting the snake robot body is another factor to be considered. Based on static analysis, two cases of the motor torque of the highest requirement are studied. As shown in Figure 12, one case is where the cylinder is laid vertically and the snake robot winds around the cylinder with the head section; however, the winding angle is less than p, so the head section cannot supply the fixing force. The motor raising the body of the snake robot bares the maximum torque. This motor is named Mo and shown in Figure 12 with a red circle. The moment applied to the motor Mo caused by the gravity of the snake robot can be simplified into three parts: one is the moment cause by the gravity of the link near the motor Mo; another is the moment caused by the gravity of middle section of the snake robot which marked with nM in Figure 12; the last one is the moment caused by the gravity of head section of the snake robots. The rated torque of motor should not be less the sum of the three parts mentioned above. The links of the three parts are shown with red bars in Figure 12. The parameter lcm means the distance between the center of gravity of the head section of the snake robot and the axis of the cylinder. The parameter

10

International Journal of Advanced Robotic Systems

Figure 12. The case of where the motor bears the maximum torque when the cylinder is vertical.

The design scheme of ACL gait of snake robots

Figure 11. The relationship between fixing force, winding angle, and number of winding links.

ny is the number of links winding around the cylinder in the range of yc .   l R sin2 ðyc =2Þ τ  mg  þ nM mg  l þ ny mg  l þ ð18Þ 2 yc =2 Another case is that the cylinder is laid horizontally and the snake robot acts similar to the last case. In this case, the main factor influencing the quantity of τ consists of two parts, the moment caused by the gravity of the middle section and the head section of the snake robot. The rated torque of motor should satisfy the expression below: l τ  nM mg  nM þ ny mg  nM l ð19Þ 2

After choosing the geometry parameters of the cylinder and the friction coefficient between the cylinder and the snake robot body, the design scheme can be made based on the analyses in the fourth section. The content of design scheme includes the geometry parameters of the snake robot, the rated torque of motors, and control parameters of ACL gait. Analyses in the fourth section give some suggestions toward the design scheme. The radius of the snake robot body should be as small as possible, which is determined by mechanical design. The parameter nH should be equal to nT . The setting of parameters of nH and nT considers if the friction force produced by the head section or the tail section of the snake robot is solely greater than the gravity of the whole snake robot. The number of links of the middle section nM determines the forward distance in each period, so it should be as large as possible. But the rated torque of motors restricts the setting of nM . Supposing the relationship between the mass and the length of links of the snake robot is linear, that is: m ¼ l þ 

ð20Þ

The number of payload links of a single loop of the snake robot nx ðl; ns Þ is the payload of additional links of the snake robot with the links winding cylinder; this is explored based on the analyses in “The design scheme P of ACL gait of snake robots” section. The expression Ni  is fixing force of the single loop of the snake robot. The parameter m is the mass of a single link of the snake robot. The parameter ns is the number of links within a single loop of the snake robot. The single loop of links in the head and tail sections may act separately. Fixing force generated by the single loop of links should bear two times the weight compared to the single loop. Figure 13 shows the relationship between the number of payload links nx and the number of links of single loop ns , which produced the nx

Tang et al.

11 parameter nM is constrained by the rated torque of motors τ max , which derived from equations (18) and (19). Constraints are listed below: 8 0 1 > 2 > τ max 2R sin ðyc =2ÞA > > >  0:5  ny @1 þ n  > < M yc l mgl ð24Þ s ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ffi > > 2τ max > 2 > n  Ny þ  Ny > > : M mgl

Figure 13. The relationship between the number of payload links and the number of links of single loop.

optimal procedure based on the dynamic analysis in “Dynamic analyses” section. Different lengths of links of the snake robot are shown with different types of line in Figure 13. X Ni   2ns mg nx ðl; ns Þ ¼ ð21Þ mg As shown in Figure 13, nx reaches its maximum value when l goes to l opt ðl opt ¼ 4R=5Þ and ns goes to ns opt (8). The parameters , , and  are set as 0.2, 0.2, and 0.1, respectively. The above procedure gives the maximum value of nx , which is noted as nx max . The number of links of all segments of S-type winding gait ns can be set as nx max . The winding angle involved by nx max links may be a complete or incomplete circle, making the optimal value of the number of links winding around the cylinder, as a whole circle nc max needs an additional calculation. The number nc max can be calculated based on the procedure computing nx max by fixing winding angle to 2n. In this case, the number of links winding around the cylinder as a whole circle is noted as nc opt . In Htype winding gait, the relationship between the number of head or tail section nH or nT ðnH ¼ nT Þ and the number of links of middle section nM is listed below: ðnH  ns opt Þnc opt nM ¼ nx þ ð22Þ nc opt 





In S-type winding gait, the relationship between the number of segments of head or tail section nHs or nTs ðnHs ¼ nTs Þ and the number of links of middle section nM is listed below: nM ¼ bnHs nx c

ð23Þ

The larger the number of nM , the greater number of links within the snake robot that move forward during each period, and the more efficient the ACL gait. But the

From the above calculation, the structural parameters and control parameters of ACL gait are obtained. Two examples are given to verify the design scheme of ACL gait of snake robots. Proposing the radius of the cylinder R is 50, the rated torque of motors τ max is 20, the friction coefficient  is 0.5, the parameters  and  in equation (17) are 0.05 and 0.1, respectively, and V-rep is applied as simulation platform. First, the ACL gait of H-type winding is simulated. The parameters nH , nM , and nT are all set as 6, which are obtained through the nx optimal procedure. The number of single loop ns is also equal to 6 which satisfies equation (24). Figure 14 shows the climbing process of the ACL gait of H-type winding. The four phases of the gait: head opening, head folding, tail opening, and tail folding are illustrated in Figure 14(a) to (f). The whole process of ACL gait can be compared with Figure 2. Figure 14(a) shows the initial state of the snake robot winding on a cylinder, which corresponds to Figure 2(a). In the head opening phase, the snake robot extends its head section upward along the cylindrical axis, which is illustrated in Figure 14(b) and Figure 2(b) and (c), respectively. The snake robot winding cylinder with its head section in head folding phase as shown in Figure 14(c) and Figure 2(d) to (f). As presented in Figure 14(d) and Figure 2(g) to (j), the snake robot simultaneously opens the tail section and folds the other parts of body in tail opening phase. In tail folding phase, the snake robot folds the tail section and restore the body posture to its initial state, which is shown in Figure 14(e) and (f) and Figure 2(k) and (l). Second, the S-type winding gait is simulated. The parameter ns , nHs , nMs , and nTs are set as 4, 1–5, 1, and 1–5, which are also obtained through the nx optimal procedure and equation (24). Figure 15 shows the climbing process of the S-type winding gait. The four phases of the gait: head opening, head folding, tail opening, and tail folding are illustrated in Figure 15(a) to (f). The whole process of ACL gait of S-type winding can be compared with Figure 3. Figure 15(a) shows the initial state of the snake robot winding on a cylinder, which corresponds to Figure 3(a). In the head opening phase, the snake robot extends its head section upward along the cylindrical axis, which is illustrated in Figure 15(b) and Figure 3(b) to (d), respectively. The snake robot winding cylinder with its head section in head folding phase as shown in Figure 15(c) and Figure 3(e) to (g). As presented in Figure 15(d) and Figure 3(h) to (j), the

12

International Journal of Advanced Robotic Systems

Figure 14. The climbing process of H-type winding gait.

Figure 15. The climbing process of S-type winding gait.

snake robot simultaneously opens the tail section and folds the other parts of body in tail opening phase. In tail folding phase, the snake robot folds the tail section and restore the body posture to its initial state, which is shown in Figure 15(e) and (f) and Figure 3(k) to (m).

Conclusion and future work This article proposed ACL gait of snake robots on a cylinder. Based on parameter analyses, the gait design scheme is

presented and verified by a simulation platform. The problem of a hard-to-design gait on a cylinder is solved by a method where the gait is designed on a plane and is then transformed to ACL gait on a cylinder. To prove the safety of the snake robot in motion, the kinematic and dynamic analyses of ACL gait are executed. To assure the applicability of the gait, the design scheme of ACL gait is proposed and verified by two examples of H-type and S-type winding gaits. The proposed ACL gaits only achieve the motion of a snake robot on a single pole. In the next step,

Tang et al.

13

the turning and avoidance motion of ACL gait will be designed to enhance the motion capability of snake robots on a complex truss structure. Declaration of conflicting interests The author(s) declare that there is no conflicts of interest regarding the publication of this article.

Funding The author(s) disclosed receipt of the following financial support for the research, authorship and/or publication of this article: This research is financially supported by National key research and development program (2016YFC0600905), the Fundamental Research Funds for the Central Universities (grant no. 2014QNB20), the Natural Science Foundation of Jiangsu Province, China (grant no. BK20140188), the Natural Science Foundation of Jiangsu Province, China (grant no. BK20150185), and National Nature Science Foundation of China (grant no. 61603394).

ORCID iD Chaoquan Tang

http://orcid.org/0000-0003-1641-9845

References 1. Hatton RL and Choset H. Generating gaits for snake robots: annealed chain fitting and keyframe wave extraction. Auton Robots 2010; 28(3): 271–281. 2. Kamegawa T, Harada T and Gofuku A. Realization of cylinder climbing locomotion with helical form by a snake robot with passive wheels. In: Proceedings of the IEEE International Conference on robotics and Automation (ICRA), Kobe, Japan, 12–17 May 2009, pp. 3067–3072. IEEE. 3. Melo K and Paez L. Modular snake robot gaits on horizontal pipes. In: Proceedings of the IEEE/RSJ Internatoonal Conference on Intelligent Robots and Systems (IROS), Vilamoura, Portugal, 7–12 October 2012, pp. 3099–3104. IEEE. 4. Enner F, Rollinson D and Choset H. Motion estimation of snake robots in straight pipes. In: proceedings of the IEEE Interoational Conference on Robotics and Automation (ICRA), Karlsruhe, Germany, 6–10 May 2013, pp. 5168–5173. IEEE. 5. Rollinson D and Choset H. Gait-based compliant control for snake robots. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Karlsruhe, Germany, 6–10 May 2013, pp. 5138–5143. IEEE. 6. Byrnes G and Jayna BC. Gripping during climbing of arboreal snakes may be safe but not economical. Biol Lett 2014; 10(8): 1–4.

7. Hirose S. Biologically Inspired Robots. Oxford: Oxford University Press, 1993. 8. Burdick JW, Radford J and Chirikjian GS. A ‘sidewinding’ locomotion gait for hyper-redundant robots. In: Proceedings of the 1993 IEEE International Conference on Robotics and Automation (ICRA), Atlanta, GA, USA, 2–6 May 1993, pp. 101–106. IEEE. 9. Marvi H, Gong C, Gravish N, et al. Sidewinding with minimal slip: Snake and robot ascent of sandy slopes. Science 2014; 361(10): 224–229. 10. Aoki T, Ohno H and Hirose S. Design of Slim Slime Robot II (SSR-II) with bridle bellows. In: Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Lausanne, Switzerland, 30 September–4 October 2002, pp. 835–840. IEEE. 11. Tang W and Ma S. Analysis of rectilinear motion of a threesegment snake robot under action of dry friction. In: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015, pp. 3723–3728. IEEE. 12. Hicks G and Ito K. A method for determination of optimal gaits with application to a snake-like serial-link structure. IEEE Trans Autom Control 2005; 50(9): 1291–1306. 13. Transeth A, Leine R, Glocker C, et al. Snake robot obstacleaided locomotion: modeling, simulations, and experiments. IEEE Trans Robot 2008; 24(1): 88–104. 14. Crespi A and Ijspeert AJ. Online optimization of swimming and crawling in an amphibious snake robot. IEEE Trans Robot 2008; 24(1): 75–87. 15. Tang C, Ma S, Li B, et al. A self-tuning multi-phase CPG enabling the snake robot to adapt to environments. In: Procedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS), San Francisco, CA, USA, 25–30 September 2011, pp. 1869–1874. IEEE. 16. Liljeba¨ck P, Pettersen KY, Stavdahl Ø, et al. A control framework for snake robot locomotion based on shape control points interconnected by Bzier curves. In: 2012 IEEE/RSJ International Conference on Intelligent Robots and SystemsIROS, Vilamoura, Portugal, 7–12 October 2012, pp. 3111–3118. IEEE. 17. Spong M, Hutchinson S and Vidyasagar M. Robot Modeling and Control. New Jersey: Wiley Press, 2005. 18. Ma S, Tadokoro N, Li B, et al. Analysis of creeping locomotion of a snake robot on a slope. In: 2003 IEEE International Conference on Robotics and Automation (ICRA), Taipei, Taiwan, 14–19 September 2003, Vol. 2, pp. 2073–2078. IEEE. 19. Ariizumi R and Matsuno F. Dynamic analysis of three snake robot gaits. IEEE Trans Robot 2017; 33(5): 1075–1087.