The obstacle-surmounting analysis of a pole-climbing robot

Surmounting obstacles during continuously climbing in a complex environment is an important issue for pole-climbing robots. An obstacle-surmounting strategy is presented for a pole-climbing robot. The force and moment applied on the pole-climbing robot in static status were analyzed, and the analysis of pole-climbing robot’s upward vertical climbing was conducted. The climbing execution has four steps: loosening the lower gripper, curling up, striding forward, and clamping the upper gripper. To obtain the information of obstacle crossing accurately, the obstacle-surmounting conditions were analyzed in detail. We modeled the striding linkage with thickness and obtained the Denavit–Hartenberg coordinates of each vertex. The model of the grippers with thickness was proposed and the Denavit–Hartenberg coordinates of each vertex of the grippers were obtained. Then single-step negotiating an obstacle and multistep negotiating an obstacle were proposed. Experiments were conducted to verify the effectiveness of the obstacle-surmounting strategy.


Introduction
Pole-climbing robots (PCRobots) can be used to carry out high-risk tasks for human beings in hazardous situations, such as inspection, 1,2 supervision, 3,4 and maintenance. 3,5 Due to their importance in aerial work, PCRobots have been attracting interests of the researchers.
PCRobots have been built and implemented, such as HyDRAS, 5 RiSE V3, 6 Climbot, 7 Shady3D, 8 and BiPCRs. 9 These robots are mainly studied in the respects of structure and climbing gaits. Specifically, HyDRAS was a serpentine robot that consisted of a serial chain of actuated universal joints for wrapping around pole-like structures. 5 The methods and considerations for selecting the optimal design parameters (module length, module diameter, helical pitch, and allowable range of motion) were presented for the given task of climbing pole-like structures. RiSE V3 was developed for dynamical, high-speed climbing of uniformly convex cylindrical structures. The climbing machine included novel linkage designs for its legs to propel the body forward during climbing locomotion. 6 Climbot was a biped climbing robot with five joint modules connected in series and two special grippers mounted at the ends. Three climbing locomotions in trusses were proposed based on modular and bioinspired robots. 7 Shady3D had three motive degrees of free, which moved along the threedimensional (3D) truss structure with a fixed section shape. 8 A novel binary approximating method was proposed to compute the graspable region for a BiPCR and to generate the 3D workspace of a manipulator with a constant orientation. 9,10 A tethered winding-styled soft rodclimbing robot could move on vertical, horizontal, or tilted rods with corners. It consisted of two winding actuators and a telescopic actuator to improve the locomotion efficiency. 11 For these robots, the self-continuous climbing is a necessity as the operators may not be able to see the next target to be grasped by the robots all the times. However, how to surmount obstacles for PCRobot during continuously climbing in a complex pole-type environment is a challenging issue.
Dynamic path planning had been presented to generate collision-free strategies for PCRobots moving in obstaclecluttered environments. Chen et al. designed a mathematic model to make BiPCRs overcome obstacles for transition. 12 A feasible single-step collision-free climbing mode for BiPCRs was proposed, which could avoid obstaclecrossing gait. 9 A grip planning strategy was also proposed to generate collision-free grip sequences based on global path planning. 13 The collision-free path planning method was based on energy optimization. And the collision-free path points were generated following the artificial potential field and sampling searching analysis. 14 An autonomous obstacle avoidance method was suggested for a robotic manipulator based on an improved RRT algorithm. 15 These designs [13][14][15] are only applicable to the trusstype environment where there are multiple alternative paths to be selected to avoid obstacles. If there are obstacles that the robots cannot evade, the above methods are not applicable. Some researchers tried to solve this situation by improving the structure or adding additional equipment. Xu and Jiang designed a mechanical structure for a bilateral-wheeled robot to overcome obstacles of semi-surrounding structures. 16 Lee and Chu developed a three-modular obstacleclimbing robot. The winch mechanism was set to assist the controller to climb obstacles, and the robot controller coordinated the three modules as well as the winch to climb obstacles. 17 In some cases, it is impossible to add additional equipment to assist obstacle crossing. However, the obstacle can be surmounted by changing the gait of the climbing robot. Therefore, this article focuses on the obstacle-surmounting gait of the PCRobots.
In this article, an obstacle-surmounting strategy was proposed for a PCRobot. An obstacle-surmounting model was firstly built up for computing the enclosed space of five-bar linkages. And the surmountable conditions were proposed. Then single-step negotiating an obstacle and multistep negotiating an obstacle were proposed. Lastly, experiments were conducted with PCRobot to verify the effectiveness of the obstaclesurmounting strategy.

3D model of PCRobot
The 3D model of PCRobot is shown in Figure 1. It consists of five-bar linkages of a 0 ; a 1 , a 2 , a 3 , a 4 , four joints of j 0 , j 1 , j 2 , j 3 , two supports of h 1 , h 2 , and two grippers of g 1 , g 2 . j 0 , j 1 , j 2 , and j 3 are defined as swing joints to realize the relative swing between each two rods. The specific implementation is that one of the two rods is connected with the frame of the steering gear, and the other is connected with the output end of the steering gear. Hence the rotation of the steering gear realizes swing. The function of the swing joint is similar to that of elbow or knee joints. The functions of j 0 , j 3 are to adjust the angle of the robot fuselage and grasp, and the functions of j 1 , j 2 are to adjust the stride distance. The supporting structures of h 1 , h 2 are formed between the support frame under the gripper and the pole, making PCRobot stable as a whole.
The flipping-over gait of PCRobot is decomposed into two stages: flip and stride, which are described in Qiaoling et al. 18 The mechanical structure of PCRobot prototype is shown in Figure 2. Two grippers g 1 and g 2 are installed at the end of the robot, which are driven by the steering gears s 0 and s 5 to realize the action of tightening and loosening. g 1 and g 2 are, respectively, fixed with one end of a 0 and a 4 with screws, and the other end of a 0 and a 4 is fixed with screws to the frame of steering gears s 1 and s 4 , which coordinate the relative motions between a 0 and a 1 and between a 4 and a 5 , respectively. The steering gears s 2 and s 3 are connected at both ends of a 3 . The output ends of s 2 and s 3 are, respectively, connected with a 2 and a 4 . b is a battery and c is a camera. Lithium-polymer battery parameters are shown in Table 1. The camera is attached on the battery. Its function is to detect the distance between the obstacle and PCRobot. The camera model is XY-SM11.

Denavit-Hartenberg parameter model
In Figure 1, a 0 and g 1 , a 4 and g 2 are fixed connections, which are represented by l 1 and l 2 , respectively. The fixed angle g 1 is formed between l 1 and the pole due to the support h 1 . PCRobot rotates j 0 , j 1 , j 2 to make j 3 move to Q to realize the stride action according to the preset step size d. Rotation j 3 makes l 2 reach a certain posture, and then g 2 (g 2 ¼ g 1 ) between l 2 and the pole is formed and then d is parallel to the pole, as shown in Figure 3. In the process, S is regarded as the starting point of the motion as the fixed point, and the control processing is to adjust the angle of j 0 , j 1 , and j 2 to make j 3 reach the target Q.
The Denavit-Hartenberg (D-H) coordinate system of PCRobot is established as shown in Figure 3. The coordinate system of j 0 is represented by x 0 -z 0 . The coordinate systems of j 1 , j 2 , and j 3 are established in turn, such as x 1 -z 1 , x 2 -z 2 , and x 3 -z 3 . The parameters are shown in Table 2.
Þare the angles of linkages, d is the distance between j 0 and j 3 , a i i ¼ 1; 2; 3 ð Þare the lengths of each common perpendicular line, and @ is the angle between the axis of the joint. H 1 and H 6 are the intersections of l 1 and l 2 and pole, respectively.
The kinematics analysis and inverse kinematics solutions of PCRobot are described in Qiaoling et al. 18

Upright and inverted postures
In the process of continuous climbing, the robot's posture is alternately "upright posture" and "inverted posture," as shown in Figure 4. The upright posture is defined as the state of g 1 below g 2 , otherwise defined as an inverted posture.
In the upright posture, the order of the four joints in the counterclockwise is j 3 , j 2 , j 1 , and j 0 , as shown in Figure 4 "upright posture." The D-H coordinate system of PCRobot has been derived elsewhere. 18 When the robot turns over, its posture changes to the inverted posture. At this time, the order of the four joints is changed to j 0 , j 1 , j 2 , and j 3 , as shown in Figure 4 "inverted posture." The D-H coordinate system of PCRobot has been adjusted accordingly. S 0 is regarded as the starting point of the motion as the fixed point, and the control processing is to adjust the angle of j 2 , j 1 , and j 0 to make j 0 reach the target Q 0 .

Static analysis of PCRobot
When the robot is in the posture shown in Figure 4, the robot is in static status on the pole. Under static situations, the force of the robot is balanced. Figure 5 illustrates the lateral view of the forces and moments applied on the PCRobot. The equilibrium status of the forces applied on the robot meet the following conditions mg d G þ r a ð Þ¼F n1v r a þ F n2v r a ð4Þ where F verti is the resultant vertical forces, F hori is the resultant horizontal forces, F m1v is the friction force produced by g 1 , and F m1vr and F m1vl are the friction forces produced by the left and right clamps of g 1 . Similarly, F m2v , F m2vr , and F m2vl are the frictions produced by g 2 ; F n1v and F n1h are the vertical and horizontal support forces produced by h 1 ; F n2v and F n2h are the vertical and horizontal support forces produced by h 2 ; F m1h and F m2h are the horizontal pull provided by the pole; m is the mass of the robot; is the static friction coefficient; d G presents the horizontal distance from the axis of the pole to the PCRobot center of mass; and r a is the radius of the pole.
Since the mechanism of the robot is axisymmetric and the rod is symmetric, the following conclusions are drawn: From equation (4) From equations (1), (7), and (8) The static friction coefficient can be expressed as a function of the position of the robot's mass center and the radius of the pole. When the radius of climbing poles of different materials is fixed, the decrease of friction coefficient means the increase of d G , so as to keep the robot in equilibrium.

Dynamic analysis of PCRobot
The joints of PCRobot are driven by the steering gears. In the process of vertical climbing, the performance of the steering gears determines the dynamic performance of PCRobot. The weight of the robot determines the gravity of the robot, which is a key factor in the design of climbing robot. The prototype of PCRobot weighed 1.07 kg. According to the force analysis results, TBS2701 steering gear was adopted. The parameters of the TBS2701 are listed in Table 3. The TBS2701 has a maximum rotation angle   270 , in which j 0 , j 1 , j 2 , j 3 can be conveniently located at any position.
For upward vertical climbing, the climbing execution is divided into four steps: loosening the lower gripper, curling up, striding forward, and clamping the upper gripper. Take the reversal process from the inverted posture to the upright posture as an example, the climbing control process is as follows: the steering gear s 0 rotates to loosen the lower gripper g 1 ; the steering gears s 1 , s 2 , s 3 , and s 4 rotate to curl up at a fixed angle; the steering gears s 1 , s 2 , s 3 , and s 4 rotate to stride forward according to the calculated angle (see Qiaoling et al. 18 for details), and the steering gear s 0 rotates to clamping the upper gripper g 1 .
A serial control is adopted for the execution of four steps. The time t to complete a climb is where t l is the time to complete the loosening, t cu is the time to complete the curling up, t s is the time to complete striding forward, and t Cl is the time to complete the clamping.
The servo system of steering gears is controlled by PWM. The reference signal period of the steering gear is 20 ms, and the pulse width is 1.5 ms. Each rotation time is fixed. The steering speed of the steering gears depends on the difference between the starting angle and the target angle. The greater the difference, the faster the steering gears turn. As approaching the target angle, the rotation slows down. In the process of control, if the speed of the steering gears is too fast, the steering gears are easy to shake and stall. Therefore, the following methods are used to reduce the speed of the steering gears: when the steering gears rotate at a large angle, the program sets it to several small angle progressions and decelerates by delaying the program in the progressive process.
The experimental results show that the minimum controlling time of the steering gears is 2 s. In the loosening and clamping steps, only s 0 works, so set t l ¼ 2, t Cl ¼ 2. In the process of curling and striding, s 1 , s 2 , s 3 , and s 4 rotate in parallel, so set t cu ¼ 2, t s ¼ 2. Then t ¼ 8. The stride distance of the PCRobot is 8 to 23 cm. Let v be the climbing speed of the PCRobot. Then v is 1 to 2.875 cm/s.

Enclosed space of five-bar linkages
The enclosed space R of five-bar linkages is defined as the closed area enclosed by linkages of the robot and pole. R is a hexagonal region, and its six vertices are, respectively, , and H 6 , as shown in Figure 6(a). The shape of the obstacle on the pole can be arbitrary. The front view of the obstacle can be regarded as a convex polygon or a concave polygon approximately. A concave polygon can be decomposed into convex polygons by connecting concave points with their visible vertices. 14 A concave polygon can also be surrounded by a convex polygon K, which has K i i ¼ 1; 2; 3; . . . ; m ð Þ vertices by connecting the external vertices of the concave polygon. Figure 6(b) shows an irregular obstacle surrounded by a convex polygon K i i ¼ 1; 2; 3; . . . ; 6 ð Þ . To facilitate the analysis, the obstacle is set as rectangle and consists of two parts K and K R (Figure 8). K is set as a rectangle and only locates on one side of the pole. Its vertices are K 1 , K 2 , K 3 , and K 4 . K R has no contribution to the obstacle negotiated and will not be illustrated in the following text.
The surmountable conditions are as follows: Condition 1: R and K are independent of each other. Condition 2: let P(x, y) 2 K, P(x, y) 2 R. Let R s denote the segment set of the outline of R, excluding the segment of pole (H 1 H 6 ), and K s denote the segment set of the outline of K.
Set   Figure 7(b), the obstacle is outside of the robot and cannot be surmounted. In fact, if the position relationship between K and R satisfies condition 1, as long as any point P(x, y) of K is limited within R, Figure 7(b) can be excluded.
Assume the position relationship between K and R satisfies condition 1 and K 1 is selected as P(x, y). K 1 is defined on the climbing pole, so condition 2 can be simplified as "whether point K 1 is located between H 1 x H 1 ; y H 1 À Á : and H 6 x H 6 ; y H 6 À Á ." That is to say, whether the x coordinate of K 1 meets the following conditions where l is the length of H 1 H 2 .
If equations (13) to (15) are established, condition 2 is satisfied. If conditions 1 and 2 are satisfied, then K & R. The obstacle K can be crossed by the robot. In the process of robot turning, it is necessary to dynamically judge whether K and R meet the surmountable conditions due to the change of R, as shown in Figure 8.

Influence of linkages thickness on R
The actual robot structure has a certain thickness. The effect of thickness on R needs to be considered. The space  occupied by the thickness of the robot structure should be removed from R. R 0 considering the thickness of linkages can be obtained, as shown by the dotted line in Figure 9. Obviously, R 0 is smaller than R. Condition 1 is modified to be K & R 0 to ensure the robot can surmount the obstacle.
As shown in Figure 6(a), each linkage is described by only one segment, and the two ends of the segment are the joints. The coordinates of the joints can be directly solved by using the D-H model of the robot linkage structure mentioned in Qiaoling et al. 18 Because of the thickness of the robot structure, the dynamic description of R 0 becomes complex. As shown in Figure 10, the thickness area edge of each linkage needs to be described by multiple segments, and the end points of the segments deviate from the joints, which leads to a complex shape of R 0 .
Specifically, if the robot is composed of n bar linkages and the i-th linkage is surrounded by m i segment, then the set of edge segments of all bar linkages is R 0 s , that is where L nm i is the m i -th edge of the i-th bar linkage, Þ . If l nm i and k i are not intersected, the position relationship between R 0 s and K satisfies condition 1. Next is to judge whether equations (13) to (15) s is established, then the robot can surmount the obstacle K.

Modeling of the striding linkages with thickness
To obtain the dynamic model of R 0 s , it is necessary to solve the vertex D-H coordinate of the linkages with thickness. Firstly, we model the striding linkages with thickness and obtain the D-H coordinates of each vertex.
The striding linkages of PCRobot include a 1 , a 2 , and a 3 . The main entities of a 1 , a 2 , and a 3 are shown in Figure 10(a). To simplify the analysis, the contour of the thickness area of the striding linkage is taken as a rectangle, as shown in Figure 10(b). Let C a n , D a n , E a n , and F a n represent the four vertices.
As shown in Figure 10(b), t a n is the thickness of the striding linkage, h a n is the distance from B a n to C a n D a n , and s a n is the distance from A a n to E a n F a n . Set a a n is the angle between A a n E a n and o a n o 0 a n , and b a n is the angle between B a n D a n and o a n o 0 a n a a n ¼ arctan t a n =2 s a n ð17Þ b a n ¼ arctan t a n =2 h a n ð18Þ Then the length of A a n E a n ,A a n F a n , B a n C a n , and B a n D a n can be obtained l A an E an ¼ l A an F an ¼ s a n cosa a n ð19Þ l B an C an ¼ l B an D an ¼ h a n cosb a n ð20Þ In this article, the size of the striding linkage is symmetrical (h a n ¼ s a n ). It is obvious that a a n ¼ b a n .
There are three striding linkages (a 1 , a 2 , and a 3 ) in the PCRobot. In the following, a 2 is taken as an example to analyze the coordinates of the striding linkage, which is the same as the analyses of a 1 and a 3 . Transformation matrix M B from x 0 -z 0 to x 2 -z 2 can be obtained as shown in equation (21), 19 as shown in Figure 11.
where T i is the rotation matrix (see Qiaoling et al. 18 for detailed calculation). Assume B a n C a n as a virtual linkage, as shown in Figure 10(c). Transformation matrix from B a n to C a n can be described by D-H parameters in Table 4. Then the rotation matrix T C is obtained as shown in equation (22) T C ¼ cosb a n Àsinb a n 0 l B an C an cosb a n sinb a n cosb a n 0 l B an C an sinb a n   Set S b ¼ sinb a n , C b ¼ cosb a n , then transformation matrix M C can be described as follows According to the definition of coordinate system matrix, 18 the origin coordinate (x C an ; y C an ) of coordinate system x C an Àz C an is C a n The above method to solve the coordinate of C a n is defined as "virtual linkage method" in this article. This method can also be used to solve the coordinates of D a n . The D-H parameters transformed from coordinate system B a n to coordinate system D a n are shown in Table 5. Then (x D an ; y D an ) can be obtained as shown in equation (25) The virtual linkage method is also used to solve the coordinates of E a n and F a n , as shown in Figure 10(c). The rotation matrix T A and T E can be obtained by D-H parameters in Table 6.
According to Table 6, T A and T E are obtained as followed T E ¼ cosa a n Àsina a n 0 l AA an E an cosa a n sina a n cosa a n 0 l A an E an sina a n Due to a a n ¼ b a n , transformation matrix M E can be described as follows Àn y C b À o y S b n y S b À o y C b 0 p y À n y l A an B an Àn y l A an E an C b Ào y l A an E an S b According to the definition of coordinate system matrix, 18 the origin coordinate (x E ; y E ) of coordinate system x E -z E is E a n .
x E an ¼ p x À n x l A an B an À n x l A an E an C b À o x l A an E an S b y E an ¼ p y À n y l A an B an À n y l A an E an C b À o y l A an E an S b ( The above method can also be used to solve the coordinates of F a n . The D-H parameters transformed from coordinate system A to coordinate system F are shown in Table 7. Then (x F an ; y F an ) can be obtained as shown in equation (30).
x F an ¼ p x À n x l A an B an À n x l A an F an C b þ o x l A an F an S b y F an ¼ p y À n y l A an B an À n y l A an F an C b þ o y l A an F an S b ( The contour of the striding linkage with thickness can be described as R 0 sÀan  R 0 sÀan ¼ C a n D a n ; D a n E a n ; E a n F a n ; F a n C a n f g ð31Þ The coordinates of C a n , D a n , E a n , and F a n are shown in equations (24), (25), (29), and (30), respectively.

Modeling of the grippers with thickness
The shape of the robot's grippers is irregular. One gripper is with a battery, and the others are not. To simplify the analysis, multiple rectangles are combined to describe the contour of the grippers, as shown in Figure 9.
Modeling of the gripper with battery. As shown in Figure 12, the gripper with battery is composed of the support, the steering gear, and the battery. The vertices of three regions are solved, respectively.
(1) Vertex coordinates of the support The four vertices of the support are defined as C 0 , D 0 , E 0 , and F 0 , as shown in Figure 13. A 0 is the joint of the gripper and the linkage, t 0 is the thickness of the support, s 0 is the distance from A 0 to E 0 F 0 , and l 0 is the distance from A 0 to C 0 D 0 . Set a 0 as the angle between A 0 F 0 and o 1 o 1 0 , and b 0 as the angle between A 0 C 0 and o 1 o 1 0 . The fixed angle g 1 is formed between l 1 and the pole, which is directly measured by the accelerometer 18 on the gripper with battery.
According to the geometric relationship in Figure 13, equations (32) to (35) can be obtained Set A 0 be the pedestal, the matrix expression of the pedestal x 0 -z 0 is defined as follow The virtual linkage method is used to solve the coordinates of C 0 , D 0 , E 0 , and F 0 , as shown in Figure 13. A 0 C 0 , A 0 D 0 , A 0 E 0 , and A 0 F 0 are defined as virtual links. The ends of the linkages are C 0 , D 0 , E 0 , and F 0 , respectively. The coordinate systems of C 0 , D 0 , E 0 , and F 0 are established in turn, such as x C 0 Àz C 0 , x D 0 Àz D 0 , x E 0 Àz E 0 , and x F 0 Àz F 0 . The process transformed from x 0 -z 0 to x C 0 Àz C 0 , x D 0 Àz D 0 , x E 0 À-, and x F 0 Àz F 0 can be described by D-H parameters in Table 8.

(3) Vertex coordinates of the battery
The four vertices of the steering gears are defined as V 1 0 , V 2 0 , V 3 0 , and V 4 0 , as shown in Figure 15. q 1 is the distance from A 0 to V 1 0 V 2 0 , q 2 is the distance between V 2 0 V 3 0 and o 1 o 1 0 , and q 3 is the thickness of the battery. V 5 0 and V 6 0 are the intersections of the battery and the support. q 4 is the distance between V 5 0 V 6 0 and o 1 o 1 0 . The virtual linkage method is used to solve the coordi- , and V 6 0 are established in turn, such as , and x V 6 0 Àz V 6 0 . The process transformed from x 0 -z 0 to , and x V 6 0 Àz V 6 0 can be described by D-H parameters in Table 10. Figure 14. Model parameters of the steering gear of the gripper with battery. Table 9. D-H parameters of virtual link structure in the steering gear.
x V 3 0 ¼ q 1 sing 1 þ q 2 cosg 1 þ q 3 sing 1 y V 3 0 ¼ Àq 1 cosg 1 þ q 2 sing 1 À q 3 cosg 1 ( ð49Þ The coordinates of the vertices of g 1 are calculated by the method of virtual linkage. These coordinates are used to describe the edge segments of g 1 as R 0 S Àg 1 .
Modeling of g 2 . As shown in Figure 16, g 2 is composed of the support and the steering gear. The structure of the gripper without battery is consistent with the support and the steering gear of the g 2 .
The virtual linkage method is used to solve the coordinates in Figure 17. Set A 1 0 as the pedestal. The four vertices of the support are defined as C 1 0 , D 1 0 , E 1 0 , and F 1 0 . t 1 0 is the thickness of the support, s 1 0 is the distance from A 1 0 to E 1 0 F 1 0 , and l 1 0 is the distance from A 1 0 to C 1 0 D 1 0 . Set a 1 0 as the angle between A 1 0 F 1 0 and o 11 o 11 0 , and b 1 0 is the angle between A 1 0 C 1 0 and o 11 o 11 0 . The fixed angle g 2 (g 2 ¼ g 1 ) is formed between l 2 and the pole, which is directly measured by the accelerometer on the gripper without battery.
The four vertices of the steering gears are defined as G 11 0 , G 21 0 , G 31 0 , and G 41 0 , as shown in Figure 18. p 11 is the distance from A 1 0 to G 11 0 G 21 0 , p 21 is the distance between G 21 0 G 31 0 and o 11 o 11 0 , and p 31 is the thickness of the steering gears. G 51 0 and G 61 0 are the intersections of the steering gears and the support. p 41 is the distance between G 51 0 G 61 0 and o 11 o 11 0 . The solution process described in this section is the same as the one in section vertex coordinates of the support.
and G 3 0 G 6 0 are defined as virtual links. The ends of the linkages are C 1 0 , 0 , G 4 0 , G 5 0 , and G 6 0 , which are shown in equations (54) to (63), respectively. Table 10. D-H parameters of virtual link structure in the battery.
the support the steering gear g2 (gripper without battery) Figure 16. Model of the gripper without battery. Figure 17. Model parameters of the support of g 2 . x C 0 ¼ l A 0 C 0 sinðg 1 þ bÞ x E 0 ¼ Àl A 0 F 0 sinðg 1 À aÞ x G 6 0 ¼ p 1 sing 1 À p 4 cosg 1 þ p 3 sing 1 y G 6 0 ¼ Àp 1 cosg 1 À p 4 sing 1 À p 3 cosg 1 ( ð63Þ The coordinates of the vertices of g 2 are calculated by the method of virtual linkage. These coordinates can be used to describe the edge segments of g 2 as R 0 Analysis on grippers in upright and inverted posture. There are differences in the structure of g 1 and g 2 . g 1 is the structure with the battery and g 2 is the structure without the battery. When the robot is in the upright posture, g 1 is the lower gripper as shown in Figure 19(a). And when the robot turns over, g 2 is the lower gripper in inverted position, as shown in Figure 19(b). During the stride locomotion (see Qiaoling et al. 18 ), the shape of R 0 is constantly changing as shown in Figure 8. In the sections Modeling of the striding linkages with thickness -Modeling of the grippers with thickness, the virtual link method can be used to calculate the vertex coordinates of each part. The virtual linkage method is based on D-H coordinate, so the vertex coordinates obtained can be updated in real time according to the linkage locomotion.
Set R 0 sÀup denote the segment set of the outline of R 0 in the upright posture, and R 0 sÀin in the inverted posture.

Decision condition
The internal space enclosed by the fuselage structure is R 0 due to the thickness of the robot structure. R 0 sÀup is the segment set of the outline of R 0 in the upright posture, and R 0 sÀin is the segment set in the inverted posture. Then the surmountable conditions in Enclosed space of five bar linkage are modified as follows: Condition 1: R 0 sÀup and K are independent of each other in the upright posture, or R 0 sÀin and K are independent of each other in the upright posture.

Single-step negotiating an obstacle
To facilitate the analysis, K is set as a rectangle. Its vertices are K 1 , K 2 , K 3 , and K 4 , as shown in Figure 20. h k is the height of K, w k is the width of K, d k is the length of H 1 K 1 , d 0 k ¼ w k Â tang 1 is the length of H 0 K 4 , and g 1 is formed between the gripper and the pole.
Set the coordinate systems of o be x 0 -y 0 . Then the coordinates of K 1 , K 2 , K 3 , and K 4 are , and x H 1 þ d k þ h k ; y H 1 À Á , respectively, where x H 1 ¼ l Â sing 1 and y H 1 ¼ l Â cosg 1 . The set K sÀ4 can be obtained The stride distance d 0 should satisfy equation (68) Due to the limitation of robot structure, there are the minimum and the maximum of a stride. Set d 0 max be the max of d 0 . Set d 0 min be the minimum of d 0 . Assume the vertex coordinates of obstacles known in advance. According to the D-H coordinate, whether the boundary of the obstacle and the linkages of the robot meet the conditions 1 and 2 can be judged in real time. If the surmountable conditions are satisfied and the calculated distance d 0 is less than d 0 max , the single-step locomotion can be used to negotiate the obstacle.
In the process of negotiating, the vertex coordinates of the linkages are calculated by the virtual link method. The attitude of the robot is adjusted continuously so that the surmountable conditions are satisfied between the linkages of the robot and the boundaries of the obstacle. Finally, the robot strides over the obstacle in one step.

Multistep negotiating an obstacle
In some scenarios, robots cannot cross obstacles in one step, even if the obstacle is the same as shown in Figure 20. If the robot climbs up and stops under the obstacles, d k > d 0 max À d 0 k À h k , then the robot cannot complete the task of negotiating the obstacle in one step. To solve this problem, we can adopt multistep negotiating an obstacle.
Multistep negotiating an obstacle consists of three steps: climbing down, climbing up, and negotiating.
Firstly, the robot climbs down the pole for m times, as shown in Figure 21(a). Set the step backward be d m Secondly, the robot climbs up the pole for n times, as shown in Figure 21 Thirdly, the robot negotiates the obstacle in the form of one step.
Although the reduction of d kn can help the robot to negotiate the obstacle, d kn has a minimum d kmin due to the structure of PCRobot. When the robot approaches the obstacle, the upper gripper may collide with the obstacle. The critical situation is shown in Figure 22. The end of the grab just contacts K 2 . In this case, d kmin is defined as a "critical distance." l h is the length of the gripper. d kmin can be obtained as shown in equation (74)

Obstacle-surmounting control process
Based on the single-step and multistep negotiating an obstacle, the robot can realize the obstacle-surmounting. Suppose that the obstacle moves relative to the robot, the velocity of the robot is v, and the velocity of the obstacle where d 0 is the stride distance, to being crossed by PCRobot. Constrained by the robot's current structure, d 0 is 8 to 23 cm.
From equation (77) 8 t k can be equal to t (e.g. t k ¼ 8 s), which means that the robot meets and crosses obstacles in a period. Let v min ¼ 8 t , equation (79) can be obtained In addition to the surmountable condition, the obstaclesurmounting also needs to satisfy equation (79).
The robot's obstacle-surmounting process is shown in Figure 23. Firstly, the camera c samples the image information, d k and v k of obstacles. Through v k identifies whether the obstacle is stationary or moving, so that static obstacle crossing and dynamic obstacle crossing are performed, respectively. The obstacle size is extracted. According to the above D-H coordinate transformation, we can judge whether the surmountable conditions are satisfied. Next, judge whether the single-step negotiating an obstacle condition is satisfied. If it is satisfied, single-step negotiating an obstacle will be executed; otherwise, multistep negotiating an obstacle will be executed.

Prototype and test
We designed PCRobot prototype as shown in Figure 2. The prototype weighed 1.07 kg (including a battery) and it was 60 cm long when fully extended. The specific size is shown in Table 11. Constrained by the robot's current structure, a single span of the robot was 8 to 23 cm. The parameters of existing climbing robots are listed in Table 12. PCRobot is much lighter than other robots. Its shape is similar to a line.  In terms of volume, PCRobot is much smaller than the other robots in Table 12. The size of the smallest robot 22 in Table 12 is 72 Â 50 Â 22 cm 3 , while that of PCRobot is 60 Â 7.1 Â5.4 cm 3 .
To enable the robot to sample the angle relative to the ground in real time, MEMS three-axis accelerometers (MPU6050; InvenSense Inc., Sunnyvale, CA, United States) were equipped on l 1 ; a 1 , a 2 , a 3 , l 2 , respectively, named A 1 ; A 2 ; A 3 ; A 4 ; and A 5 (see Qiaoling et al. 18 ).

The size of the obstacle negotiating an obstacle
Set the lateral view of the obstacle crossed be rectangular. The test records the size of the lateral view of the obstacle that can be negotiated. The green area is the size of the lateral view of obstacles that PCRobot can negotiate in Figure 24. It shows that the width of the lateral view of the obstacle is inversely proportional to its height. The maximum height was 13.5 cm, and the maximum width was 15.5 cm.

Anti-sliding load capacity test of PCRobot
The anti-sliding load capacity of the robot was tested on wooden and PVC climbing pole, respectively. The robot was controlled in three states. Posture 1, the upper and    20 6.8 -7.5 Tree-climbing robot 21 100 -5.0 Pole-climbing robot 22 10.5 0.72 2.9 Our robot 1.07 0. 6 5.75 lower grippers grip the pole; posture 2, the lower gripper grips the pole and the upper gripper is released; posture 3, the upper gripper grips the pole and the lower gripper is released. In each state, a downward pull force is applied at s 1 , s 2 , s 3 , and s 4 steering gears to test the anti-sliding load capacity of the robot. The force gauge is Handpi    Table 13. It can be obtained from Table 13 that the friction coefficient of iron relative to wood material is small, so the antisliding load capacity of PCRobot on iron climbing pole is reduced. For the same material climbing pole, the different cross section will also affect the anti-sliding load capacity of the PCRobot. For the gripper of PCRobot, the anti-sliding load capacity of the robot on the square climbing pole is strong.

Experiment of single-step negotiating the obstacle
Experiments were done to test the single-step and multistep negotiating an obstacle, respectively, and the dynamic obstacle-surmounting. The cross section of climbing pole was rectangular 2.7 Â 1.7 cm 2 . The cube obstacle was 6 Â 4 Â 13 cm 3 . PCRobot was placed in the initial position, and the distance between the upper gripper and the obstacle was d k ¼ 4 cm. The controlling time of the steering gear was 2 s. According to (10), t ¼ 8 s. The stride distance of the PCRobot was 20 cm. The velocity of the robot was 2.5 cm/s. The robot strides over obstacles in one step, as shown in Figure 25(a) to (d).

Experiment of multistep negotiating the obstacle
The distance between the upper gripper and the obstacle was d k ¼ 47 cm. Other conditions were the same as above. The robot strode over obstacles in multistep, as shown in Figure 26. Firstly, set a stride distance of 23 cm to climb up. The velocity of the robot was 2.875 cm/s. After climbing twice, the robot reached the position shown in Figure 26(a). Secondly, the robot turned backward in a stride distance of 10 cm as shown in Figure 26(a) to (d). The velocity of the robot was 1.25 cm/s. Back to the position shown in Figure 26(d), the robot began to turn up in a stride distance of 23 cm, as shown in Figure 26(e) to (i). The velocity of the robot was 2.875 cm/s. When the robot reached the position shown in Figure 26(i), it crossed the obstacle in one step, as shown in Figure 26(i) to (l). The process of crossing obstacles was 8 s. The robot successfully surmounted the obstacle. The stride distance of the PCRobot was 20 cm. The velocity of the robot was 2.5 cm/s.

Experiment of dynamic obstacle-surmounting
The distance between the upper grippers and the obstacle was d k ¼ 30 cm, then d l ¼ 34 cm. Other conditions were the same as above. Set d 0 ¼ 20 cm, v min ¼ 1 cm/s and t k ¼ 8 s. Then v¼2.5 cm/s. Equation (80) can be obtained 1:75 < v k < 3:25 ð80Þ In the experiment, a simple structure of the pulley was used to control the obstacle to slide down at v k ¼ 2 cm/s. The robot strode over obstacles in one step, as shown in Figure 27(a) to (e).

Conclusions
In this article, the obstacle-surmounting strategy of the climbing robot is proposed. This strategy can solve the problem that the robot cannot stride over obstacles in one step in some scenarios. Firstly, the obstacle surmounting model of five-bar linkage in closed space is established. Secondly, the surmountable conditions were proposed. Thirdly, single-step obstacle crossing and multistep obstacle crossing are proposed. In the process of obstacle surmounting, the camera is used to collect the information of obstacles, and the single-step or multistep obstacle crossing gait is determined according to the sampling information. The strategy does not need to add additional external auxiliary equipment and can cross obstacles on the only way. The strategy proposed in this article can be used as a reference for climbing robot to surmount obstacles.

Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.

Supplemental material
Supplemental material for this article is available online.