Step Climbing Control of Snake Robot with Prismatic Joints

The ultimate goal of this research study is to perform continuous rather than sequential movements of prismatic joints for effective motion of a snake robot with prismatic joints in a complex terrain. We present herein a control method for robotic step climbing. This method is composed of two parts: the first involves the shift reference generator that generates the joint motion for climbing a step, and the other is use of the trajectory tracking controller, which generates the joint motion for the head to track the target trajectory. In this method, prismatic joints are divided into those that are directly controlled for climbing a step and those that are represented as redundancies. By directly controlling the link length, it is possible to prevent the trailing part from back motion when climbing a step, and to avoid a singular configuration in the parts represented as redundancies. A snake robot that has rotational and prismatic joints and can move in three-dimensions was developed, and the effectiveness of the proposed method was demonstrated by experiments using this robot. In the experiment, it was confirmed that the proposed method realizes the step climbing, and the link length limitation using the sigmoid function works effectively.


Introduction
Despite their long, slender, and simple shape, biological snakes are able to move across flat surfaces and walls, and climb up and down trees. In addition, some snakes swim underwater and glide through the air. To move in different environments, snakes use different modes of locomotion. Snakes use four main land movements, namely, serpentine, sidewinding, rectilinear, and concertina [1]. Many robots have been developed to mimic the various locomotion patterns of snakes [2].
Serpentine movement is the typical locomotion of biological snakes. The snake uses the difference in frictional force between the direction of its trunk and the direction perpendicular to it to generate a propulsive force through the lateral undulation of its body. For the purpose of performing biological-like motion, a serpenoid curve [1], three-dimensional motion [2,3], central pattern generator (CPG)-based control [4,5], and decentralized control [6] have been proposed. In contrast, numerous studies have been conducted using a modelbased control approach in which the controller was designed based on a mathematical model. This approach enables the autonomous generation of snake robot behaviors to achieve control objectives, and the trajectory tracking of the robot head is realized on a flat plane [7][8][9], on a step [10], and on two nonparallel planes [11]. Accordingly, control methods have been proposed for path tracking of the center of mass [12] by using a model that considers the slipping of wheels. These studies dealt only with joint rotations and did not consider link extension or shrinking at all. In the cases in which cord-like robots were controlled with extendable mechanisms, predesigned peristalsis is mainly used. Robots that mimic the peristalsis performed by earthworms [13] have been developed and researched [14][15][16][17][18]. In addition, a robot that mimics the behavior of an inchworm has been studied in [19,20]. In contrast, a predesign method that was not a biomimicry was proposed in [21]. In this method, joint rotation and link extension/shrinking were predesigned as continuous curves, and three-dimensional motion with simultaneous joint rotation and link extension/shrinking were realized.
However, when using sequence control or a predesigned method described above, only fixed extendable movements can be performed. For example, locomotion that is designed to execute along a straight path cannot be applied directly to a turning motion. Thus, an extension and shrinking motion must be designed for each assumed motion. Therefore, when the environment or motion changes, it is desirable to change adaptively the extension/shrinking of the robot's link and the rotation of the robot's joints according to the situation.
Additionally, a head trajectory tracking control method for a two-dimensional plane was proposed in [22] as a method to utilize adaptive link extension/shrinking and joint rotation. In this method, the degrees of freedom for link stretching and joint rotation are represented collectively as redundancies, thereby allowing the robot to adaptively stretch links and rotate joints to achieve secondary control objectives other than the head trajectory tracking. In addition, as the link length limit for stretching is taken into account, the link lengths do not exceed hardware limits. However, verification has only been conducted based on simulations, and no experiments on actual equipment have been conducted.
The objectives of this study are to extend the control method proposed in [22] to nonplanar environments, and to utilize adaptive extension and shrinking of the links in more complex environments for a snake robot with extendable links. As the first step, we assume a step composed of two parallel planes as an environment, and propose a control method for a snake robot to move in the environment. The snake robot to be controlled consists of rotational joints, prismatic joints, and passive wheels; and the lengths of its links can be varied by the prismatic joints. The robot is described as a redundant system with redundancy with respect to link extension/shrinking and joint rotation. Furthermore, redundancy can be used to achieve secondary control objectives. As a way to keep the link length within hardware limits, a sigmoidal function was introduced into the model, as described in [22]. The effectiveness of the control method was demonstrated by experiments using an actual robot.
To ascend or descend a step, the robot must move between two planes with proper rotation of joints and a proper link length. If no consideration is given, the robot's wheels will not be in proper contact with the respective planes, and the robot will not be able to generate the force from its wheels to move forward. To maintain proper contact between the wheels and planes, the link lengths should be expressed as controlled variables and controlled directly. However, this is inconsistent with the expression and use of the extension and shrinking degrees of freedom as redundancy. Therefore, in this study, the link length is divided into two parts: one for direct control and the other for use as redundancy. The two parts are used together to solve the problem.
The contributions of this study are listed below.
• We propose a control method for climbing a step by extending and retracting a link, and by rotating a joint By dividing the degrees of freedom of the link lengths into two parts, one part controls the link length directly, and the other part uses the link length as a redundancy. The proposed control method can achieve both of the following: (i) link extension/shrinking to move between two planes to achieve step climbing, and (ii) link extension/shrinking in accordance with joint rotation. • We have developed an actual snake robot that can extend and retract links by prismatic and rotate joints, and demonstrate the effectiveness of a control method that adaptively utilizes the extension and shrinking of degrees of freedom through experiments. This study was the first demonstration using an actual robot, as [22] only verified the method with simulations. Figure 1 shows a snake robot which can rotate its joints and change its link length and the step environment. The robot consists of variable-length links connected alternately by yaw and pitch rotational joints. It also comprises a pair of passive wheels mounted on the same axis as the pitch joints. The link changes the length according to the motion of the prismatic joint. Passive wheels simulate friction conditions. This means that wheels are less likely to skid in a manner similar to biological snakes. Accordingly, the robot can move while undulating by rotating joints properly. The assumed environment is a step with a height equal to h. The plane on the step is called the front plane, and the plane that the robot initially touches is called the rear plane.

Problem Setting
This robot can arbitrarily change the link length. In the implementation of the motion control of this robot, the use of the degrees of freedom about the link length (telescopic degrees of freedom) is an important issue. In this study, the telescopic degrees of freedom are divided into two parts for control: the part that is directly controlled for the shift of connecting part, and the part that is expressed as redundancy and used for singular posture avoidance. In designing the step-climbing motion, we adopted the method of [10] for the snake robot without prismatic joints. This method introduces a connecting part in the body of the snake robot that connects the forward and rear planes. By shifting the connecting part backward at the appropriate time, the robot can move from the rear to the front plane. By setting the yaw joint angle included in the connecting part to zero, the wheels at the both end of the connecting part can be properly contacted with respect to both the forward and rear planes. The robot is represented by two models. One model is a projection onto the xy-plane, and the other is a pitch-angle model for the connecting part. Figure 2 shows the projection model onto the xy-plane. In this model, let l f i and l bi be the forward and backward link lengths of the ith pair of passive wheels, n be the number of pairs of passive wheels, w = [x h , y h , θ h ] be the position and orientation of the robot's head, φ i be the ith yaw joint, ψ i be the relative angle of the ith pitch joint, and ψ h be the absolute pitch angle of the head link.

Kinematic Model
In the kinematic model, it is assumed that the wheels do not skid in the transverse direction. The coefficient of friction in the transverse direction of the wheel is much larger than the coefficient of friction in the longitudinal direction (rolling friction), and the input is derived to satisfy the constraints (the input that prevents the wheel from skidding) based on the control model. Therefore, wheel skidding is negligibly small. In contrast, model errors due to joint angle resolution and mechanical stiffness of the robot can cause minor skidding. Although skidding causes an error of the controlled variables from the target, it can be corrected by the feedback control. Let the x and y positions of the center of ith pair of wheels be x i and y i , respectively, and the absolute angle of the links adjacent to the ith pair of wheels be θ i . The velocity constraint equation, which ensures that the passive wheel will not skid, is expressed asẋ (1)

Figure 2. A projection model on the xy-plane.
A simultaneous set of Equation (1) for all pairs of passive wheels is represented as where u is the control input, the ith row of (2) represents the velocity constraint equation for the ith wheel pair, and A ∈ R n×3 , B φ ∈ R n×n , B l ∈ R n×(2n−1) . Let B l[i:j] be the matrix consisting of i, · · · , j columns of B l and B φ : The yaw angle φ and the actual link length (not the link length of the projection model) of the robot are limited depending on hardware. To constrain the jth link length of the actual robotl j , l j is expressed using the standard sigmoidal function and the mediating variable γ j . The standard sigmoidal function is expressed as Using the sigmoidal function (9), the jth actual link length of the robotl j can be expressed asl wherel U = 0 andl L = 0 are the maximum and minimum values of the link length, respectively, andl L ≤l j ≤l U . The link lengths l f i , l bi of the projection model are calculated using the absolute pitch angle Ψ i , along with the mediating variable γ f i , γ bi , as When the link length is expressed by Equations (10)- (13), the actual link length is limited tol L ≤l j ≤l U . Therefore, the link length does not exceed the movable limit, regardless of the input. Assuming that ψ h =ψ h = 0 is valid as the robot's head continues to move on the same plane, when it moves between the two planes [10], the following equation can be used.l where and By substituting Equation (14) into Equation (2), we can obtain the following: The model (19) changes depending on the grounded/lifted status of each pair of wheels. When the ith wheel pair is not touching the ground, the ith row of (19) disappears. We allocated a unique index known as the mode to each model to represent the overall status of the wheel pair. When the mode is σ and the i 1 st, · · · , i n σ wheel does not touch the ground, Equation (19) becomesĀ whereĀ σ ∈ R (n−n σ )×3 ,B σ ∈ R (n−n σ )×(4n−2) , andB φ andB l are the matrices in which the i 1 , · · · , i n σ th rows are eliminated from A and B, respectively. In the following subsection, we consider the shift. The body area immediately behind the connecting part, which becomes the next connecting part when the shift is completed, is called the "connecting preparation part." In this method, the yaw joint angle of the connecting parts must be zero for the wheels to properly attach on the front plane, and the yaw joint angle of the connecting part and the connecting preparation part must be zero when shifting [10]. Therefore, the wheels behind the connecting part are ungrounded, and the yaw joint of the connecting preparation part is directly controlled to perform the shifting of the connecting part. The system also aims to reduce the influences of the shifting motion on the other parts of the connection by using the extension and shrinking of the links during the shift.
In mode σ, letφ σ ∈ R n φσ be a vector of yaw joints that should be directly controlled in the connecting and connecting preparation parts, and l σ ∈ R n lσ be the link length that should be directly controlled, andw σ = [w , l σ , ψ ,φ σ ] . The kinematic model is obtained asÃ where B φ σ is a selection matrix whose components are zeros or ones, and satisfies B φ σū =φ σ . C 1 σ , C 2 σ are matrices consisting only of the columns of C 1 , C 2 corresponding to l σ , and C 1 σ ∈ R n lσ ×(2n−1) , C 2 σ ∈ R n lσ ×(n−1) . Let us define C σ = [C 1σ , C 2σ ]; then, C σū =l σ is satisfied.
From (4) and (19), B is a row of full rank if l f i = 0. Given that l f i > 0 in an actual robot, B is always a row of full rank. Given that |Ψ i | < π/2, [C 1 C 2 ] is a row of full rank, [C 1σ C 2σ ] is also a row of full rank. Additionally, forB φ and B φ σ , [B φ , B φ σ ] have the property of being full rank. For example, if n σ = 1 and only the ith wheel does not touch the ground, then If the wheel is not touching the ground,B φ is obtained by removing the row corresponding to the ungrounded wheel from B φ , but B φ σ is linearly independent ofB φ as (27). Thus, (27) is always full rank.
This kinematic model is derived based on the velocity constraint of the wheel. Therefore, this model and the control method described below will not work for robots with isotropic friction characteristics (e.g., nonwheeled snake robots) or in environments with very low friction, because the error of the controlled variables increases owing to the error of the model.

Controller
The robot generates undulation motion by changing yaw joints and link lengths, and shifts the connecting part by changing pitch joints and link lengths. The control objectives are the tracking of the robot's head to the target trajectory and moving between steps. These are the main tasks. In addition, the avoidance of singular configuration [23] is introduced as a secondary control objective (subtask). Figure 3 shows the controller configuration. The controller consists of a shift reference generator and a tracking controller. The shift reference generator determines the robot's mode σ from the current robot's situation, and calculates the target pitch joint angle φ d and the target lengths of some links l σd to realize step climbing. The trajectory tracking controller calculates the yaw joint rotational velocitẏ φ and the pitch joint rotational velocityψ, and mediating variableγ all to achieve both tracking of the robot's head to the target trajectory w d and the subtask. Theγ all is converted to an actual link length using (10)- (14), and is sent to the robot.

Trajectory Tracking Controller
For the kinematic model (24), the inputū is designed as whereB W † σ is the weighted pseudoinverse ofB σ [24], u Tσ is the input related to trajectory tracking, u Kσ is the input related to redundancy, K σ is the positive definite diagonal matrix for gain, K V is the diagonal matrix for gain on redundancy, and η is an arbitrary vector. u Tσ is the input for convergence of the control point to the target, and u Kσ is the input related to the redundant component and does not interfere with u Tσ . Therefore, u Kσ does not interfere with the convergence of the control point to the target. By properly designing the η, a secondary task can be accomplished simultaneously with the main task of trajectory tracking of the control point. The design of η is described below. AsB σ is always full-rank, as explained in the previous section, from (19) and (28), we obtain the following closed loop system:Ã IfÃ σ is a column of full rank, then w σ converges to w σd as t → ∞. However, the convergence of the controlled variable to the target value is not guaranteed when the column rank ofÃ σ is not full. This case is called a singular configuration of the robot. The singular configurations resulting in rank deficiency ofÃ σ are those in which all grounded wheel axes are parallel, or all extended lines of the axes with grounded wheels intersect at a single point [23]. In this study, these singular configurations are avoided by appropriately designing the input component related to redundancy u Kσ .
The u Kσ in (28) is an input related to kinematic redundancy, which can achieve a subtask without affecting the trajectory tracking of the controlled variable. Let V(q) be the evaluation function and η be set as follows.
where ϕ = [φ , γ all , ψ ] ∈ R (4n−2)×1 and ϕ i is the ith element of ϕ. The time derivative of the evaluation function V(q) is derived as where (I −B W † σBσ ) ≥ 0. The η can contribute to increasing or decreasing V depending on the sign of K V . The evaluation function V is designed as where a s is a positive constant representing the weights. V s is the evaluation function for singular configuration avoidance, which is ∞ when the configuration of the robot is singular. Singular configuration is avoided by decreasing V with negative values for each component of K V .

Shift Reference Generator
The shift reference generator determines the robot's mode σ based on the relative relationship between the robot, step, and the shift situation. If the shift start condition is satisfied, the shift of the connecting part is started, and the target values of the pitch joint angle and link length near the connecting part are calculated. The calculated target pitch joint angle ψ d and the target link length to be directly controlled l σd are passed to the tracking controller, together with the mode σ.
When shifting the connecting part, the motion is designed to make the relative distance between the two ends of the connecting part before and after the shift constant to minimize the effect of the shift on other parts of the trunk. The shift operation is shown in Figure 4.
Note that all yaw joint angles were set to zero for simplicity for the figure, and the figure is viewed from the xz plane. Given that the link length was fixed in [10], as shown in Figure 4a, there was a risk in that the backward movement would occur during the shift, which would increase the joint angle of the body on the rear plane and cause it to exceed the limit value. In contrast, as the robot used in this study had changeable link lengths, the shift was performed so that there was no backward movement, as shown in Figure 4b. The specific target values of joint angles are omitted because they can be obtained only from plain geometrical relations.
(a) (b) Figure 4. Shift motion in [10] and this paper. (a) Link length is fixed [10]. (b) Link length can be changed (this paper).
The timing for starting the shift was set in the same way as [10]. Specifically, the shift was started when the yaw joint angle of the connecting part was near the target value (zero) and when the wheel ahead of the connecting part touched the ground.

Experiments
The robot developed for the demonstration of the effectiveness of the proposed control method is shown in Figure 5. This robot has yaw joints, pitch joints, passive wheels, and prismatic joint units. The link lengths can be changed using the prismatic joint units. In these units, a feed screw is rotated by the actuator through a flat gear, the screw nut translates along the feed screw, and the link length changes. Independent of the link length, the yaw joint can operate in the range of ±91 deg and the pitch joint in the range of ±110 deg.
This robot was developed for this study and can change the link lengths without interfering the motion range of its rotational joints. In addition, a link length limitation method [22] based on a sigmoidal function was verified for the first time using an actual robot.
The parameters used for the experiments are listed in Table 1. The experiment was conducted with motion capture equipment to obtain information on the head position and orientation. The robot climbed a step with a height of 0.20 m. When the robot was tested with a step height of h = 0.20 m as a parameter in the input calculation, deformation occurred in the telescopic link owing to the insufficient rigidity of the robot; correspondingly, the robot could not move forward due to contact between the robot and the step. Therefore, we performed the experiment with h = 0.23 m in the input calculation by taking into account the deformation of the robot. As a result of prioritizing miniaturization and weight reduction, the prismatic joint unit had low-mechanical rigidity and was deformed when external forces acted on it. When a force was applied from the side, including during deformation, the frictional force generated inside the prismatic joint unit increased. However, the output of the unit was sufficiently large such that the telescopic motion was not inhibited, and the link length followed the target. The propulsion speed of the robot was reduced to satisfy the assumption that the wheels did not skid. At a low-propulsion speed (and a low acceleration), the force which acted on the wheel did not exceed the maximum static friction force, and the velocity constraint could be satisfied. As a result, the control error was small, and the robot could follow the target trajectory. In contrast, fast motion (high acceleration) caused the force acting on the wheel to exceed the maximum static friction force and increase the control errors due to wheel slippage. Therefore, this study slowed down the robot's movement speed. [0.025t, 0, π + π/5 sin(2πt/10)] Figure 6 shows the robot's behavior during the experiment, and Figures 7 and 8 show the results. The position and orientation of the head w tracked the target trajectory. In Figure 8b,d, the red-dotted line represents the target during the shift operation. It was confirmed that l f and l b also followed the target during the shift operation. With the exception of the periods during the shift operation, the link length was adaptively changed by the redundancy so that l b became longer. This is an effect of singular configuration avoidance by the redundancy similar to that reported in [22], and contributes to the amplification of the oscillations at the head toward the tail. The link lengthsl f ,l b were confirmed to be within the limit set by the sigmoidal function. The full rankness ofÃ σ of the column depends onĀ σ . Thus, detĀ σĀσ was used for the evaluation of the singular configuration. If the robot is in a singular configuration, this value is set to zero. The determinant detĀ σĀσ did not converge to zero. This means that the singular configuration was avoided. However, the error in the leading position configuration w increased after t = 70. This was caused when the bottom part of the body contacted a step. As shown in Figure 9, the prismatic joint was deformed by the load of the tail lifted in a cantilever position after the tail shift, and the bottom part of the body contacted the step and could not be moved over the step to the tail. The same reason was applied to justify why it was necessary to use a larger value 0.23 m for the step height h set during control compared with the actual value 0.20 m. To solve this problem, it is necessary to improve the rigidity of the prismatic joints so that deformation does not occur. This is one of the subjects for future work.

Conclusions
We proposed a control method to realize step climbing for a snake-like robot with prismatic joints. The controller consisted of two parts: one was the shift reference generator which generated the joint movements for climbing the step. The other was the trajectory tracking controller which generated joint movements to track the head along the target trajectory. In this method, the prismatic joints were divided into those that were directly controlled for climbing steps and those that were represented as redundancies to perform continuous behavior. The standard sigmoidal function was used to indirectly represent the link lengths of the robot, and prevent the actual link lengths from exceeding their movable limits. A snake robot with prismatic joints was developed, and the effectiveness of the proposed method was demonstrated by experiments using the robot. Prevention of the backward movements of the trailing part by direct control of the link length and the shift motion of the connecting part, and prevention of exceeding the movable limit of the link length using the standard sigmoidal function, were confirmed.
Future studies will include the increase in the rigidity of the prismatic joints and the study of applications of the extensible degrees of freedom of the links in more complex environments.

Conflicts of Interest:
The authors declare no conflict of interest.