Unified Approach to the Motion Design for a Snake Robot Negotiating Complicated Pipe Structures

A unified method for designing the motion of a snake robot negotiating complicated pipe structures is presented. Such robots moving inside pipes must deal with various “obstacles,” such as junctions, bends, diameter changes, shears, and blockages. To surmount these obstacles, we propose a method that enables the robot to adapt to multiple pipe structures in a unified way. This method also applies to motion that is necessary to pass between the inside and the outside of a pipe. We designed the target form of the snake robot using two helices connected by an arbitrary shape. This method can be applied to various obstacles by designing a part of the target form specifically for given obstacles. The robot negotiates obstacles under shift control by employing a rolling motion. Considering the slip between the robot and the pipe, the model expands the method to cover cases where two helices have different properties. We demonstrated the effectiveness of the proposed method in various experiments.


INTRODUCTION
Despite their simple body configuration and lack of limbs, biological snakes move in a wide variety of environments, such as sandy and muddy places, in trees, and in narrow spaces. Inspired by biological snakes, snake robots with simple structures formed from repeating connecting modules have been developed and can perform various kinds of locomotion. They are expected to be used in dangerous situations, such as rescue work and infrastructure inspections, especially when spaces are narrow and inaccessible to humans, such as inside pipes. Controlling snake robots is a challenge because of their redundancy, and much research has been conducted to overcome this difficulty. The research that apply the motion observed in biological snakes, such as the undulation on the plane (Hirose, 1987) and the locomotion utilizing obstacles (Kano et al., 2018) into the engineering control of the snake robot has been done. Not only the motion but also the nervous system of biological snakes is utilized as the Central Pattern Generator (CPG) (Crespi and Ijspeert, 2008;Wu and Ma, 2013;Sartoretti et al., 2019).
Model-based control approach has also been studied. Several control methods have been developed that aid the convergence of control values toward reference values in modeling the interaction with snake robots and environments. These methods can be separated into two approaches. One considers the sideslip of the robot body (Saito et al., 2002;Mohammadi et al., 2015;Ariizumi et al., 2018), and the other considers non-holonomic constraints without sideslip (Matsuno and Sato, 2005;Tanaka et al., 2015;Nakajima et al., 2019). These methods have the advantages of simple environments and essentially planar surfaces but are unsuitable for complex or unknown environments because it is difficult to construct the dynamic model including the interaction with such environments.
To fulfill locomotion in such complicated environments for modeling, various designs of the whole form of the robot for effective locomotion have been proposed. These methods without modeling are beneficial in challenging environments, such as in narrow spaces and pipes in which the robot makes multiple points of contact along its length. Several gaits, e.g., lateral rolling and pipe crawling, have been realized by formulating a trajectory of joint angles as a gait function and changing several gait parameters that possess clear physical characteristics (Tesch et al., 2009;Rollinson and Choset, 2016). For complicated target forms for a snake robot, however, this approach is not feasible because it is difficult to formulate target joint angles directly.
To realize locomotion based on more complex target curves, methods of designing gaits by fitting a snake robot configuration to a target curve, which is designed as a continuous curve, have been proposed Hirose, 2006, 2008;Andersson, 2008;Hatton and Choset, 2010;Liljebäck et al., 2014). These methods make it possible to consider snake robot configurations as continuous curves, thus making it easy to design complicated forms. Takemori et al. (2018a) expanded Yamada's method (Yamada and Hirose, 2006) and proposed a method involving the design of a target curve by connecting simple shapes. They used their proposed method to design a target form that required the robot to partially lift the body around a flange on a pipe and achieved movement over the flange. Movements over rough terrain and climbing up ladders (Takemori et al., 2018b) were also accomplished.
The research of the snake robot moving inside a pipe is on the way to the final goal of our research that is to be able to perform pipe inspections with snake robots. As shown in Figure 1A, there are likely to be many "obstacles" that a robot moving inside pipes will have to navigate, including junctions, bends, continuous and discontinuous changes in pipe diameter, shears, and blockages. Some of these obstacles, such as bends, junctions, and continuous changes in pipe diameter are overcome with the previous methods (Kamegawa et al., 2011;Rollinson and Choset, 2016), whereas it has been difficult to deal with discontinuous diameter changes, shears, and blockages. Also, the robot is likely to encounter various kinds of obstacles one after another in an actual pipeline system. Since previous methods are designed only for an individual obstacle, many different methods are needed to deal with many kinds of obstacles serially. However, it is impractical to seamlessly switch between disparate control methods depending on the obstacle.
To get one step closer to the final goal, we address the negotiation of the complicated pipe structures in this paper. We propose a "unified" method that enables a snake robot to deal with all obstacles in Figure 1A, some of which have not yet been overcome and the others of which have already been overcome, just by altering the target form of the robot partially depending on the obstacle. Consequently, we can realize the motion control which serially negotiates various obstacles without switching to another method. In this method, the snake robot negotiates an obstacle by locally conforming to the shape of the obstacle while propelling itself forward through the pipe with a rolling motion. This method is improved by adjusting the rolling motion while considering the slip between the robot and a pipe, so as to make the method applicable to motion that includes two helices having different radii and pitches. Furthermore, this method creates a novel motion for entering and exiting a pipe. The entire motion of the robot is conducted remotely by an operator using simple inputs. We also demonstrate this unified motion, which is applicable to complicated pipe structures, to design target forms for junctions, bends, changes in pipe diameter, shears, blockages, and the inside-out motion as examples of its application. We also conduct experiments using this unified motion.
This research is based on Inazawa et al. (2020) and expands it by adding a model that considers the slip between pipe and robot in order to negotiate a change in diameter and to move from inside to outside a pipe. Finally, we carry out these experiments to verify the model.

PREVIOUS WORK
This section introduces the previous work mentioned in section 1 in detail.

Approximation to a Continuous Curve
Methods for calculating the joint angles of the snake robot to approximate to a continuous curve were proposed in Hirose (2006, 2008), Andersson (2008), Hatton and Choset (2010), and Liljebäck et al. (2014). Andersson (2008) proposed a method of fitting each joint to a target curve from head to tail for an articulated robot with universal joints. Hatton and Choset (2010) proposed annealed chain fitting, where approximation was conducted from a head by minimizing a cost function about the distance between each joint and a target curve. Liljebäck et al. (2014) proposed a method of fitting to a continuous curve generated by connecting points in three-dimensional space. Yamada and Hirose (2008) modeled a target curve for a snake robot (Yamada and Hirose, 2006) and proposed a method of obtaining a target angle for each joint by the curvature and torsion of the curve (Yamada and Hirose, 2008). This Yamada's method can be applied to a robot with any joint configuration and is computationally inexpensive. Various gaits employing this method have been proposed (Kamegawa et al., 2009(Kamegawa et al., , 2011Baba et al., 2010;Zhen et al., 2015;Zhou et al., 2017;Qi et al., 2018;Yaqub et al., 2019). Kamegawa et al. designed a helical target form and proposed helical rolling motion for moving on a pipe (Kamegawa et al., 2009;Baba et al., 2010). They also proposed a helical wave propagation motion (Qi et al., 2018) to negotiate a branch on the pipe. By sending a waveform down the helix, this motion enabled movement in the tangential direction of the helix, which a rolling motion cannot realize. Zhen et al. (2015) designed a curve superimposing a hump onto an arc and proposed a rolling hump that enables movement over obstacles using a rolling motion. Zhou et al. (2017) designed a target form including two helices and a connecting curve; by expanding and contracting like a spring, the robot achieved a movement outside a pipe with a changing diameter. Yaqub et al. (2019) designed a spiral curve having a gradually changing diameter, which enables the snake robot to move outside a pipe with a discontinuous change in diameter.
When a target curve becomes more complicated, it is difficult to express the spatial curve analytically. Also, the target joint angle cannot be calculated with Yamada's method (Yamada and Hirose, 2008) when torsion at a point diverges as the curvature is zero (Yamada and Hirose, 2006). To solve these problems, Takemori et al. (2018a) expanded Yamada's method (Yamada and Hirose, 2006) and proposed a method to design a target curve by connecting simple shapes, such as straight lines, circular arcs, and helices. This method enables an intuitive design of connecting shapes with familiar properties. Also, there is no need to calculate the curvature or torsion of a curve that is already known. Rollinson and Choset (2016) proposed a method of compliance control in which the present form of the robot can be estimated from the joint angles using an extended Kalman filter based on gait parameters. This enabled semi-autonomous adaptation to a changing environment and locomotion inside pipes having bends, junctions, and continuous changes in diameter. This method is thought to be difficult to apply to great and discontinuous changes in diameter because the whole part of the robot winds around the pipe. Kamegawa et al. (2011) designed a target form by connecting a bending helical curve (Kamegawa et al., 2011) to a helix and realized movement inside a pipe with a bend. Some improvement is needed before these methods can be applied to shears and blockages, which require the robot to conform to obstacles elaborately.

Shape Fitting Using a Backbone Curve
The snake robot in this study consists of alternating connected pitch-axis and yaw-axis joints, as shown in Figure 1B. The link length is l, and the relative angle of the i-th joint is θ i .
To start, we explain the approximation method with which we configure the snake robot to a target form (Yamada and Hirose, 2008). We begin with the representation of a spatial curve based on curvature and torsion. Let us consider the Frenet-Serret frame, which is an orthonormal basis (e 1 (s), e 2 (s), e 3 (s)) that depends on a single parameter s associated with the length along the curve. Moreover, e 1 (s) is a vector tangential to the curve, e 2 (s) is an inward vector normal to the curve, and e 3 (s) is defined as e 1 (s) × e 2 (s). That is, the frame depends on the form of the curve. In addition, we need to consider the coordinate system that provides the orientation of the snake robot. We establish a backbone reference frame (e r (s),e p (s),e y (s)) on the curve. e r (s) is the same vector as e 1 (s), whereas e p (s) and e y (s) are vectors in the direction of the pitch-axis and yaw-axis, respectively.
As in Figure 1C, ψ(s) is defined as the twist angle between the Frenet-Serret frame and the backbone reference frame around e 1 (s) and expressed by torsion τ (s) as where ψ 0 is an arbitrary constant of integration corresponding to the initial value of the twist angle. Changing ψ 0 rotates the backbone reference frame around the curve and generates the rolling motion. The curvature around the pitch-axis and yaw-axis, denoted by κ p (s) and κ y (s), respectively, are expressible in terms of curvature κ(s) and ψ(s) as follows: Finally, we obtain the target angle of each joint as where s h is the head position of the snake robot on the target curve. The robot transforms itself smoothly under shift control, by which the change in s h shifts the range corresponding to the robot's body within a target curve.

Backbone Curve Connecting Simple Shapes
Next, we explain the method of representing the target form as connected simple shapes for which the curvature and torsion are constant, such as straight lines, circular arcs, and helices (Takemori et al., 2018a). This method expands Yamada's method (Yamada and Hirose, 2008) to address the Frenet-Serret frames that are discontinuous at connection-parts, where simple shapes are brought together. A connected simple shape is called a segment, and the j-th segment is referred to as segment-j(j ∈ Z). The connectionpart between segment-j and segment-(j + 1) is referred to as connection-part-j at point s = s j . Points infinitesimally before and after the connection-part-j are denoted by s j− and s j+ , respectively. The curvature and torsion of segment-j are represented as κ j and τ j , respectively. Using κ j and τ j , the curvature κ(s) and torsion τ (s) of the target curve at s j−1 < s ≤ s j , which is equivalent to the point on segment-j within the connected segments, are defined as Let us next consider twists at the connection-part. The twist angle between e 2 (s j− ) and e 2 (s j+ ) around e 1 (s j− ) is denoted byψ j . To incorporate this twist angle into the calculation of shape fitting, (1) is replaced by where u(s) is the step function, for which its value is 0 if s < 0 and 1 if s ≥ 0.
In this study, we use straight lines, circular arcs, and helices as segments. For a straight line, the Frenet-Serret frame and the torsion cannot be determined; in this instance, we define the torsion as 0. An arc has a constant curvature and zero torsion and is defined by its radius r j and central angle φ j . A helix has curvature and torsion that are both non-zero and constant and is defined by its radius a j , b j , and central angle φ j . Here, b j = p j /2π is satisfied, where p j is the pitch of the helix. Let us call the angle between the tangent of the helix and the plane perpendicular to the axis of the helix the lead angle, expressed as α = arctan(p j /2πr j ). On the helix, e 2 (s) is a vector directed vertically from the helix to the axis of the helix.

Shape Constraints
We consider the shape constraints for a target form resulting from the limits imposed on the joint angles. The maximum bending angle of a joint is represented as θ max . Whereas it is difficult to consider constraints in all states, here we only consider instances where the integration range in (3) includes separately only a circular arc and only a helix.
For the first instance, we let κ c denote the curvature of the circular arc. From (3), the condition imposed to limit the target joint angle is given by In the second instance, the curvature and torsion of the helix is denoted by κ h and τ h , respectively. By substituting these into (5), ψ(s) is represented as Substituting this into (2), the equation is represented as By substituting these into (3), the condition limiting the target joint angle is expressed as,

MOTION DESIGN
We now discuss the target form of the proposed motion. As shown in Figure 2A, the target form consists of two helices on straight pipes, called the head winding part near the head and the tail winding part near the tail; an axis for each winding part, called the head axis and tail axis; a guiding part from each winding part to its respective axis, called the head guiding part and tail guiding part; and a dodging part, which connects two guiding parts and dodges obstacles. Tailoring this dodging part to obstacles enables the robot to adapt to various obstacles. The robot negotiates an obstacle under shift control while moving its whole body from the tail winding part to the head winding part. We mention the purpose of guiding each end of the dodging part from the winding part to its axis. First, consider an instance where each end of the dodging part (black dotted ellipse) is not on the axis of a pipe, as shown in the left panel of the Figure 2B. Although discussed in detail in section 4.2.1, here we remark that each winding part rotates around its axis according to commands from the shift control, and the relative position of the two end points of the dodging part changes. It is difficult to deform the dodging part (blue line) adequately in response to this change in the relative position of two end points. To solve this, we design guiding parts to guide each end of the dodging part (black dotted ellipse) onto each axis. Although each guiding part rotates around its axis, the relative position of the two ends of the dodging part no longer changes as shown in the right panel of Figure 2B.
Therefore, the dodging part (blue line) easily adapts to an obstacle without deforming itself. The winding and guiding parts are designed independently of an obstacle, whereas the dodging part is designed for it. In the following sections, we discuss the form design and the movement to realize the motion described above.

Form Design
We discuss the design of common parts regardless of obstacles. The parameters for these parts are shown in Table 1. We continue to describe each of these parts.

Winding Part
The radius of the tail winding part t r w is given by ( t d pipe /2)−r link , where t d pipe is the inner diameter of the pipe on the tail side and r link is the link radius of the snake robot. The pitch of the tail winding part t p w is designed along with the tail guiding part, to which we turn next. The tail winding part is designed to be long enough to cover the whole body of the robot. Using the equation to obtain the length of the helix, the central angle of the tail winding part t β w is determined to satisfy where l robot is the total length of the snake robot. The radius, pitch, and central angle of the head winding part are denoted by h r w , h p w , and h β w , respectively, and defined in a similar way to those of the tail winding part. Figure 3A shows the segment configuration of the guiding parts.

Guiding Part
In Table 1, n d is the number of segments comprising the dodging part. The head and tail guiding parts have similar shapes and parameters depending on the head and tail winding parts, respectively. For this reason, we treat only the tail guiding part, whose shape is determined by t p w , the radius of segment-2 t r in , and the radius of segment-4 r c . A projection of the tail guiding part onto the xy plane in the absolute coordinate system O − xyz, where the z axis is equivalent to the axis of the pipe, is shown in Figure 3B. The points P, Q, R, O w on the top of the figure are the connectionparts and have corresponding points on the bottom of the figure. O w represents the center point of the gray circle in Figure 3B, which is the projection of segment-1 on the xy plane. Segment-2 is a helix, which changes the direction of the target curve toward the tail axis. The axis of segment-2 is designed to be parallel to the tail axis in order to simplify the geometrical calculation by turning all helices into a circle and an arc on the xy plane, as in Figure 3B. O in represents the center point of the red circular arc in Figure 3B, which is the projection of segment-2 on the xy plane.
To realize this segment configuration, t p in and t β in , and t l s are determined after the following calculation. Since segment-1 and segment-2 are connected continuously, the angle between the xy plane and the target curve at connection-part-1 is equal to the lead angle of segment-1. If the lead angle of segment-2 is equal to that of segment-1, the axis of segment-2 is perpendicular to the xy plane and parallel to that of segment-1. To ensure that the axes of segment-2 and the tail winding part are parallel to each other, the lead angle t α must satisfy Then, we obtain t p in as A projection of the tail guiding part onto the xz plane is also shown in Figure 3C. The points P, Q, R, O w on the top of the figure are the connection-parts and have corresponding points on the bottom of the figure. O c represents the center point of the green circular arc in Figure 3C, which is the projection of segment-4 on the xz plane. t β in is derived by the geometric relationship shown in Figure 3B as To obtain t l s , we firstly derive O w R and RQ in Figure 3B by the geometric relationship shown in Figure 3C as Then, t l s is given by (16), (17), and the geometric relationship shown in Figure 3B as Note that t p w and t r in should be determined while satisfying t l s ≥ 0 for this segment configuration. In addition, the shape constraints described in section 3.3 also should be satisfied. We introduce a parameter, φ offset , that is tuned by an operator and used to adjust the direction of the dodging part appropriately to the shape of the pipe.

Dodging Part
The dodging part can be designed for a specific pipe structure. Section 5 provides examples relevant to a junction, bend, shear, blockage, and change in pipe diameter.

Procedure of Movement
We next explain the movement for the proposed motion. Figure 4 shows the procedural steps involved in negotiating an obstacle. Here, we use the target form for the junction presented in section 5. The four steps in Figure 4 are described as follows: Step 1: Approach the obstacle using a rolling motion (rolling angle).
Step 2: Shift the head position to the dodging part under shift control (shift length).
Step 3: Adjust the position of the dodging part in the axial direction with a rolling motion and the direction using φ offset (rolling angle and φ offset ).
Step 4: Negotiate the obstacle under shift control (shift length).
Here, an operator commands the value in parentheses in each step. The operator can recognize the dodging part with Step 2 and adjust its position and direction with Step 3. The appropriate position and direction of the dodging part in Step 3 are different for each obstacle, as described in section 5.

Fixing of Dodging Part
The position of the dodging part should be fixed to an environment while the robot is negotiating the pipe without colliding with the pipe in Step 4. The following figures illustrate instances for a junction. Here, no slip is assumed between the robot and pipe.
First, consider the displacement in the axial direction. As shown in the left panel of Figure 5A, just executing a shift control leads to the collapse of the target form because of the displacement of the dodging part in the axial direction. Therefore, this displacement caused by the shift control is canceled with a rolling motion, as shown in the right panel of Figure 5A. To this end, as shown in Figure 5B, the rolling velocity at connection-part-1 tψ roll is determined by the velocity of the shift controlṡ h , where t k axis is the displacement in the axial direction per unit rolling angle.
Second, consider the rotation around the axis. The rotation of the dodging part also breaks the target form because the direction of the dodging part becomes ill suited to the obstacle, as shown in Figure 5C. t φ rot , the term inψ 4 in Table 1, is changed so as to cancel out the rotation of the dodging part (see Figure 5D). For this purpose, as shown in Figure 5E, tφ rot , the time derivative of t φ rot is determined usingṡ h and tψ roll by where t k rot is the rotation angle around the tail axis per unit rolling angle. t k axis and t k rot depend on the parameters of the tail winding part. It is difficult to analytically derive these values because of the fitting error of the robot and the slippage between robot and pipe. Therefore, these are actually measured in experiments in which only the rolling motion is performed.

Derivation for Fixing the Dodging Part
We derive the appropriate value ofψ 0 , the time derivative of the initial twist angle ψ 0 , to realize tψ roll and hψ roll in the previous section.
The point a away from the head of the robot is s r = s h − a (0 ≤ a ≤ l robot ) on the target curve. From (5),ψ(s r ), the rolling velocity at s = s r , is expressed aṡ After substituting s r = s h − a and rearranging the equation, this equation is expressed aṡ where δ is the impulse function. The impulse function has zero value except at the connection-part, where s h − a − s j = 0. On the other hand, the impulse function has non-zero value at the connection-part. However, it doesn't have any effect on where t τ w and h τ w denote the torsions of the tail and head winding parts, respectively. When both of these winding parts have the same radius, tψ roll = hψ roll , t τ w = h τ w , and tφ rot = hφ rot . Therefore, (23) and (24) are satisfied simultaneously. This means that the fixing of the dodging part can be realized rigidly without the slip between the robot and pipe, which depends on the frictional condition and model. However, when both winding parts have different radii, tψ roll = hψ roll , t τ w = h τ w and tφ rot = hφ rot . Therefore, there is noψ 0 that satisfies (23) and (24) at the same time. For any value ofψ 0 , the slip occurs between the robot and pipe on one or both of the head and tail winding parts. This slip is possible to prevent the fixing of the dodging part which is based on the assumption of no slip. Hence, the model including the slip between the robot and pipe is required to realize the fixing of the dodging part.

Model Including Slip Between Robot and Pipe
We next consider a model that includes the slip between the robot and pipe, and aim to derive the relationship between the shift velocity,ψ 0 , andφ diff to fix the dodging part against the pipe, whereφ Here, ω slip is the sum of the slip angular velocity around the axis on the tail and head winding parts. Let us assume viscous friction between robot and pipe as in Saito et al. (2002), Liljebäck et al. (2010), Ariizumi and Matsuno (2017), and Ariizumi et al. (2018). The friction is assumed to be proportional to the normal force from the pipe as in Hicks and Ito (2005) and Ariizumi and Matsuno (2017). The normal force is considered to work equally along the body of the robot and is represented as T = ρl cont , which is proportional to the contact length l cont . ρ is the coefficient of pressure per unit contact length. Here, the equilibrium of force in the axial direction is represented as where µ is the coefficient of friction, and t v slip and h v slip are the slip velocities in the axial direction on the tail and head winding parts, respectively. Also, t l w and h l w are respectively the lengths of the tail and head winding parts within the range corresponding to the robot's body in the target curve. We next consider the velocity of the dodging part against the pipe. In order to fix the dodging part against the pipe, we consider the velocity occurring by shift control, rolling motion, and slip, and make its value zero. Since the target form is connected continuously, the two ends of the dodging part have the same velocity against the pipe v dod . Our purpose is to make v dod zero.

Change in Pipe Diameter
In the case of a change in diameter, the velocity of the dodging part in the axial direction, as shown in Figure 6A, is represented as Using (23), (24), and (26), (27) is rewritten as Moreover,φ diff is expressed usingψ 0 ,ṡ h , and ω slip by substituting (20) into (25) asφ where Eventually, by substituting (30) into (29), (27) is expressed as As mentioned initially, our purpose is to deriveψ 0 andφ diff as functions of the input value in Step 4ṡ h , to realize the fixing of the dodging part, i.e., v dod = 0. In addition to three equations, (30), (32), and (33), another equation is needed to designate four variables,ψ 0 ,φ diff , t v slip , and ω slip . We introduce the control of the balance between the slip in the axial direction t v slip and slip around the axis ω slip as another equation. There is a trade-off relationship between t v slip and ω slip , and cannot be zero at the same time in the case of the different radii of the head and tail winding parts. Here, we deal with two extreme instances: (A) a motion that no slip occurs around the axis but slip occurs in the axial direction ( t v slip = 0, ω slip = 0) and (B) a motion that where no slip occurs in the axial direction but slip occurs around the axis ( t v slip = 0, ω slip = 0). In (A), the slip in the axial direction t v slip should be derived based on the slip model to fix the dodging part, whereas the slip around the axis ω slip is determined to be zero. In (B), the slip around the axis ω slip should be derived based on the slip model to fix the dodging part, whereas the slip in the axial direction t v slip is determined to be zero.

(A) No slip around the axis but slip in the axial direction:
We discuss the motion of no slip around the axis but slip in the axial direction ( t v slip = 0, ω slip = 0) first. Since the position of the dodging part in the axial direction is designed to be fixed relying on the slip in the axial direction t v slip , the position is possible to be moved if there is the modeling error of the slip in the axial direction. On the other hand, the direction of the dodging part is able to be fixed precisely because there is no slip around the axis. Therefore, this motion is suitable for navigating around an obstacle for which the direction of the dodging part should be neatly fixed. In this motion, from (32), (33), and ω slip = 0, the velocity of the dodging part is represented as Therefore,ψ 0 to fix the dodging part in the axial direction, i.e., to realize v dod = 0, is obtained bẏ Then,φ diff is calculated by substituting ω slip = 0 and (36) into (30) asφ

(B) No slip in the axial direction but slip around the axis:
Next, let us consider the motion of no slip in the axial direction but slip around the axis ( t v slip = 0, ω slip = 0). Since the direction of the dodging part is designed to be fixed relying on the slip around the axis ω slip , the direction is possible to be moved if there is the modeling error of the slip around the axis. On the other hand, the position of the dodging part in the axial direction is able to be fixed precisely because there is no slip in the axial direction. Hence, this motion is effective when the position of the dodging part in the axial direction has to be maintained primarily, e.g., a change in diameter whose target form is axially symmetric as described later. Using (28), (29), and t v slip = 0,ψ 0 and ω slip to fix the dodging part are obtained bẏ Note that these two motions (A) and (B) are equal to each other in the junction, bend, shear, and blockage, which can be negotiated without any slip in the axial direction and around the axis. For these cases, t v slip andφ diff become zero, and the same result is derived as in section 4.2.1.

Motion Between Inside and Outside
We next consider a case of inside-out motion. As in the case of a change in diameter, the equilibrium of force in the axial direction is described as (26). Then, the velocity of the two ends of the dodging part, as shown in Figure 6B, is represented as

(A) No slip around the axis but slip in the axial direction:
We begin, as before, with the motion of no slip around the axis but slip in the axial direction ( t v slip = 0, ω slip = 0). From (26), (40), and ω slip = 0, the velocity of the dodging part is represented as Therefore,ψ 0 andφ diff to realize v dod = 0 is derived bẏ Here,ψ 0 ends up diverging when the denominator t F t l w − h F h l w becomes zero, as shown in Figure 6C. Therefore, we introduce the limitations −ψ 0,lim andψ 0,lim forψ 0 so as not to require a rapid change in the joint angle that the actuator cannot realize. The effect of this limitation must be considered. Since v dod is a linear function ofψ 0 , the sign of v dod is determined by the coefficient ofψ 0 and whetherψ 0 is larger or smaller thanψ 0 to realize v dod = 0 (42). Before the divergence, t F t l w − h F h l w is positive and the coefficient ofψ 0 in (41) becomes positive.
Here, t l w + h l w > 0 satisfies because t l w and h l w are the lengths of the winding parts within the approximation range of the robot. −ψ 0,lim is smaller thanψ 0 obtained by (42), as shown in Figure 6C. After the divergence, t F t l w − h F h l w is negative, the coefficient ofψ 0 in (41) becomes negative.ψ 0,lim is larger thanψ 0 obtained by (42), as shown in Figure 6C. Therefore, v dod becomes negative while the limitation is imposed onψ 0 . This v dod < 0 indicates that both the head and tail winding parts move to the side of the pipe until segment-5 contacts the pipe's edge. This phenomenon only fixes the dodging part and doesn't interfere with overall motions, such as the robot falling out of the pipe.

(B) No slip in the axial direction but slip around the axis:
We next consider the motion of no slip in the axial direction but slip around the axis ( t v slip = 0, ω slip = 0). This motion is also suitable for the inside-out motion because its target form is axially symmetric, as described later, and the displacement of the dodging part in the axial direction has to be maintained more appropriately than the rotation of the dodging part around the axis. Using (40),ψ 0 andφ diff to fix the dodging part, i.e., to realize v dod = 0, are obtained by (38) and (39), the same equations as in the case of the change in diameter.
Note that the position in the axial direction of the dodging part can be compensated by the rolling motion, and the direction of the dodging part can be compensated by φ offset if the dodging part deviates from the appropriate position and direction during movement.

FORM DESIGN FOR APPLICATION
In this section, we present the design of the dodging parts for a junction, bend, shear, blockage, and change in pipe diameter and the design of a guiding part for outside the pipe for the motion between the inside and outside of a pipe as examples of applications of the proposed motion.

Junction and Bend
The target form for a junction and bend is presented in Figure 7A. The dodging part is composed of segment-5, an arc segment, whose parameters are (r j , φ j ) = (r bend , φ bend ) andψ 5 = π − h φ rot . For a junction, r bend is the outer radius of a pipe and φ bend is the bending angle of the junction. For a bend, r bend is the radius and φ bend is the bending angle of the bend.

Shear
The target form for shear is shown in Figure 7B. The dodging part is composed of segments-5-8, which are arc segments whose parameters are (r j , φ j ) = (r c , γ s ),ψ 5 =ψ 6 =ψ 7 = π, and ψ 8 = π − h φ rot . The dodging part is defined by the distance between the two axes of pipes d shear . γ s is calculated from,

Blockage
The target form for a blockage is illustrated in Figure 7C. The dodging part is composed of four arc segments-5, 6, 8, 9, whose parameters are (r j , φ j ) = (r c , γ block ) and (ψ 5 ,ψ 6 ,ψ 8 ,ψ 9 ) = (π, 0, 0, π, − π 2 − h φ rot ), and a straight line segment-7, whose parameters are l j = l block andψ 7 = 0. The dodging part is determined by its width d block , which is defined as the length between the axis of the pipe and the straight line segment parallel to the axis, and l 7 = l block , depending on the shape of the blockage. The geometric parameter γ block is calculated from,

Change in Pipe Diameter
The target form for a change in pipe diameter is shown in Figure 7D. The dodging part is composed of segment-5, a straight line segment, whose parameters are l 5 = l dc andψ 5 = 0. Since the dodging part is the straight line segment andψ 5 = 0, ψ 4 is determined byψ 4 = π + φ offset + φ diff instead, where φ diff is the time integral ofφ diff . The determination of the dodging part depends on the length of the part of the pipe where the diameter changes. This form is axisymmetric, and the direction of the dodging part does not matter. Hence we set φ offset = 0. Eventually,ψ 4 is determined byψ 4 = π + φ diff .

Motion Between Inside and Outside
Expanding on the proposed motion, we propose a motion that corresponds to passing between the inside and outside of a pipe.
This motion is useful when a pipe opening is difficult to approach directly or when a pipe needs to be inspected from both inside and outside. The target form for this motion is illustrated in Figure 7E, and the parameters for each segment are shown in Table 2. To begin, we design the guiding part for outside the pipe. Here segments-5-7 comprise the head guiding part, which is fixed by the radius of segment-5 r io . γ io and l io are given by Here, r io should be determined so that l io ≥ 0 holds. In this way, the proposed motion available for an arbitrary dodging part can be expanded to outside the pipe by designing guiding part for the outside. This target form does not have a dodging part, and the tail guiding part is directly connected to the head guiding part. Therefore, this motion can also be realized in the same way as for inside the pipe, by determiningψ 4 = π + φ diff . For the motion from outside to inside a pipe, the tail guiding parts are composed of segments listed in the opposite order in Table 2.

EXPERIMENTAL RESULTS
We performed experiments to verify the effectiveness of the proposed method. The system configuration of a snake robot is illustrated in Figure 8. We used the snake robot developed in Takemori et al. (2018b). The snake robot has a module configuration, which has a joint and link covered by an exterior. This exterior has a pectinate shape, providing a smooth surface  without affecting the bending of the joint. The number of joints is 36, the link length is 70 mm, the diameter of the link is 56 mm, the weight per link is 150 g, the maximum torque of a joint is 4.0 Nm, and the maximum bending angle of a joint is 90 • . The motor was driven by the position control with the limitation of the current (0.3 A) to allow the compliance of the joint, and the PID gains are set as (P, I, D) = (800, 0, 100). The snake robot is powered via a cable, and the target angle for each joint is sent from a computer via an RS485 interface. The camera is mounted on the head to inspect the pipe and to help the operator control the robot remotely. The operator uses a gamepad to perform an operation. The pipes used most have an inner diameter of 194 mm and an outer diameter of 200 mm. The only pipe used in the experiments involving a change in pipe diameter had an inner diameter of 290 mm. The parameters used in the experiments are listed in Table 3. Here, index m means t or h. m k axis and m k rot for each pipe were measured in the preliminary experiments in which only the rolling motion was performed. We determined r c = 90 mm for all subsequent cases.
We measured the static coefficient between the robot surface and inner wall of the pipe. We put one unit of the robot, which is composed of one link and one joint, on the pipe and measured the tilted angle of the pipe when the unit started sliding. The unit started sliding when the tilted angle was about 16 • , and then, the measured static coefficient was arctan 16 • = 0.27. This value is the reference value because it seems to be easily changed according to the condition of contact.

Evaluation of Proposed Slip Model
First, we conducted experiments to verify the model considering the slip in cases where the head and tail winding parts have different radii based on the displacement of the dodging part in the axial direction. If two pipes have different radii, it is physically impossible for a winding part having a larger radius to enter the smaller pipe. In this case, the displacement of the dodging part toward the smaller pipe is altered constrainedly and cannot be observed correctly. Therefore, two pipes having the same diameter, 194 mm, were used instead, and the tail winding part, for this experiment only, had a larger pitch ( t p w = 600 mm) than the head winding part ( h p w = 501 mm). To clearly show the displacement of the dodging part, the head of the robot was located between the ends of two pipes at the beginning of the experiment, as indicated by the dotted line in Figure 7. Then, the shift control, combined with the rolling motion and the change inψ 4 calculated in Motions 1-4 [(Motion 1) considering the displacement only on the tail winding part (23), (Motion 2) considering the displacement only on the head winding part (24), (Motion 3) considering the displacement with the slip between the robot and pipe in the motion of no slip around the axis but slip in the axial direction ( t v slip = 0, ω slip = 0), and (Motion 4) considering the displacement with the slip in the motion of no slip in the axial direction but slip around the axis ( t v slip = 0, ω slip = 0)], was conducted in Step 4 until the tail of the robot reached the head guiding part. Considering the target form of the robot as shown in Figure 7D when l dc = 0 mm, the tail of the robot is located just between the ends of two pipes at the end of the experiment if the dodging part is fixed properly. Therefore, we measured the position of the tail of the robot at the end of each experiment, as indicated by the red line in the image, and compared it under four conditions. Note that this experiment is focused on the fixing of the position of the dodging part only in the axial direction since it is difficult to observe the change of the direction of the dodging part in the axially symmetric target form. The results and data of these experiments are shown in Figure 9. When the displacement of the dodging part was considered on either the tail winding part or the head winding part (Motion 1 and Motion 2), the error was 458 or 222 mm, respectively. On the other hand, the proposed model ( t v slip = 0, ω slip = 0) (Motion 3) produced less error, 97 mm. Furthermore, the proposed model considering the slip ( t v slip = 0, ω slip = 0) (Motion 4) produced the smallest error, 5 mm. These results indicated that Motion 1 and Motion 2 produces the large errors because they ignore the effect of the slip. Motion 3 reduced the error compared with the first two motions by fixing the dodging part in consideration of the slip. However, a small error was left due to the modeling error caused by the viscous friction model or the condition of the contact in the axial direction because Motion 3 is relying on the slip in the axial direction. In contrast, Motion 4 successfully realized the fixing of the dodging part in the axial direction as expected because it did not require the slip in the axial direction and was not affected by the modeling error of the slip in the axial direction. Consequently, the proposed motions based on the slip model both in the cases of ( t v slip = 0, ω slip = 0) and ( t v slip = 0, ω slip = 0) are regarded as effective for fixing the dodging part. The reduction of the modeling error of the slip is left as our future task.

Experiments for Various Pipe Structures
We then performed four experiments in which the robot negotiated a junction, a shear, a blockage, and a discontinuous change in diameter. As mentioned in section 5, the target form for a bend is similar to that for a junction, and the target form for a continuous change in pipe diameter is similar to that for FIGURE 10 | Experimental results of (A) negotiating a junction (r bend = 100 mm and r bend = 90 • ), (B) negotiating shear (d shear = 100 mm), (C) negotiating a blockage (the right half of the pipe is blocked in width by 10 mm, and d block = 48.5 mm, l block = 30 mm), (D) negotiating a change in diameter (pipe inner diameter changes from 290 to 194 mm, and l dc = 0 mm) using the proposed slip model ( t v slip = 0, ω slip = 0), (E) moving from inside to outside a pipe using the proposed slip model ( t v slip = 0, ω slip = 0, r io = 90 mm,ψ 0,limit = 0.03 rad/s), and (F) moving from inside to outside a pipe using the proposed slip model ( t v slip = 0, ω slip = 0, r io = 90 mm). a discontinuous change in pipe diameter. Therefore, these four experiments can demonstrate the effectiveness of the proposed method for all pipe structures in Figure 1A. Also, we performed an experiment in which the movement is from inside to outside a pipe. The operator looked at the snake robot directly and performed the operation according to the procedure described in the first part of section 4.2. Figures 10A-D, the snake robot successfully negotiated the junction, shear, blockage, and change in pipe diameter. The snake robot was also able to move from the inside to the outside of the pipe, as shown in Figure 10F. Please also see the Supplementary Video 1 for details. Figure 11 indicates the values of ψ 0 , s h , and φ offset for each experiment. For the experiments involving a junction, shear, and blockage, the robot FIGURE 11 | Experimental data on (A) negotiating a junction, (B) negotiating a shear, (C) negotiating a blockage, (D) negotiating a change in diameter using the proposed slip model ( t v slip = 0, ω slip = 0), (E) moving from inside to outside a pipe using the proposed slip model ( t v slip = 0, ω slip = 0), and (F) moving from inside to outside a pipe using the proposed slip model ( t v slip = 0, ω slip = 0). was able to negotiate the pipe under shift control and rolling motion, as described in section 4.2, with only the first adjustment by the operator of the position and direction of the dodging part in Step 3.

As shown in
Since the junction is the severest obstacle that does not allow the slightest deviation of the position and direction of the dodging part, the experiment to verify the angle error of the joint between the desired angle and the actual angle was also conducted for negotiating a junction. Due to the limitation of the communication speed, the time step of this experiment ( t = 0.2 s) is 10 times as large as that of the other experiments to obtain the joint angle. As shown in Figure 12B, the actual angle of the joint θ i (t) (green line) lagged behind the desired angle θ d i (t) (black line). This steady delay is thought to be caused by the communication delay to send the desired angle to each joint and receive the actual angle from each joint and the time delay needed to change the angle of each joint from the actual angle to the desired angle due to the limitation of the speed of the motor. The length of the time delay was about five steps for every joint except the first joint, which responded one time step earlier than the others. The actual angle moved forward five steps θ i (t + 5 t) (red line) matched the desired angle well for the second joint as shown in the bottom of the Figure 12A, although the error about one time step was left only for the first joint. The angle error between the desired and actual angle for each joint (θ i (t) − θ d i (t)) is depicted in the top of the Figure 12B. To eliminate the effect of the time delay, the angle error between the desired and shifted actual angle for five time steps for each joint (θ i (t) − θ d i (t + 5 t)) is depicted in the bottom of the Figure 12B. As shown in the bottom of the Figure 12B, the comparatively large angle error of the joint was moved from head to tail with the passage of time. This indicates that the angle error was observed near the dodging part as enclosed with dotted lines in Figure 12B and the dodging part deviates from the appropriate position and direction to some extent. In addition, the error of the last joint, 36th joint, is quite large at t = 62 s. This is because the tail link is longer than the other links and was caught by the pipe when it passed through the junction. The error of the position and direction of the dodging part is thought to be compensated by two factors caused by the robot's geometric constraints: the compliant adaptation to the environment at the joint thanks to the position control of the motor with the limitation of the torque, and the slippage between the robot and the pipe. Also, the robot was able to negotiate the change in diameter with the proposed model considering the slip between the robot and the pipe even when the radii of the head and tail winding parts differed. Figure 10D shows only the result of the proposed model ( t v slip = 0, ω slip = 0), but the model ( t v slip = 0, ω slip = 0) also worked successfully; see Supplementary Video 1. In contrast, the robot failed to move from inside to outside the pipe using the proposed slip model ( t v slip = 0, ω slip = 0), as in Figure 10E, and succeeded to do so only with the proposed slip model ( t v slip = 0, ω slip = 0) Figure 10F. As shown in the middle panel of Figure 10E, the robot was unable to support the part of itself that was below the pipe due to the torque limitation of the motor, and the head winding part did not contact the pipe and receive the friction force, contrary to what we had expected. Hence, the dodging part moved the right side of the image, although in theory it was expected to move to the left side of the image afterψ 0 reached −ψ 0,limit . This effect led the robot to fall out of the pipe. On the other hand, since the experiment shown in Figure 10F was conducted using the proposed slip model ( t v slip = 0, ω slip = 0), the dodging part did not deviate from the proper position in the axial direction even though the robot was not always able to press its body against the pipe. Instead, the rotation of the robot around the axis was found to be caused by the slip around the axis. In addition, due to the torque limitation of the motor, the robot is likely to failed to support the head winding part for both Figures 10E,F of the revised paper depending on the initial orientation of the robot and the protective function of the motor, which made the motor output torque zero when the motor detects the persistent load that exceeds maximum output.

CONCLUSION
A unified approach was proposed for designing the motion that enables a snake robot to negotiate complicated pipe structures. The proposed method enables the robot to overcome various obstacles by designing the dodging part, which is part of the target form, specifically for the obstacle. To realize this, both ends of the dodging part are arranged on the axes of the pipes with guiding parts. In addition, we developed a method of fixing the dodging part to an obstacle during obstacle negotiation that involved an appropriate combination of rolling motion and shift control. Also, we constructed a model considering slippage between robot and pipe, and expanded the proposed method to make it applicable to motions that require two helices having different radii, i.e., the motion for change in diameter and the motion between inside and outside of a pipe. We conducted experiments to verify the effectiveness of these methods and demonstrated that the snake robot successfully negotiated not only a junction, which was already realized, but also a shear, a blockage, and a discontinuous change in pipe diameter, which were impossible previously. We also realized movement from inside to outside a pipe in an experiment.
We shall in a future study consider a way to conduct remote operations more easily. Currently, the operator has to adjust appropriately the relative position of the dodging part to the environment. Also, experiments are now conducted in the ideal situation where the operator can recognize the state of the robot by directly looking at the robot through the transparent pipe. We also leave as a future task the realization of autonomous movement by detecting a pipe structure using sensors given no parameter values. Finally, another task for the future is a kinematic/dynamic analysis of the motion to keep the appropriate contact with the pipe.

DATA AVAILABILITY STATEMENT
The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author/s.