Locomotion Control of Snake-Like Robot with Rotational Elastic Actuators Utilizing Observer

: The purpose of this paper is designing a head control system capable of adapting to passive side-slipping. The environments in which snake-like robots are expected to be utilized generally have ground surface conditions with nonuniform frictional coefﬁcients. In such conditions, the passive wheels of the snake-like robot have a chance of side-slipping. To locomote the snake-like robot dexterously, a control system which adapts to such side-slipping is desired. There are two key points to realizing such a system: First, a dynamic model capable of representing the passive side-slipping must be formulated. A solution for the ﬁrst key point is to develop a switching dynamic model for the snake-like robot, which switches depending on the occurrence of the side-slipping, by utilizing a projection method. The second key point is to adapt the control system’s behavior to side-slipping. An idea for such a solution is to include the side-slipping velocity in the weighting matrices. An algorithm to estimate the occurrence of side-slipping and the particular side-slipping link is constructed, to formulate the dynamic model depending on the actual side-slipping situation. The effectiveness of the designed Luenberger observer and the head control system for side-slipping adaptation is veriﬁed through numerical simulation.


Introduction
A real snake has a simple, string-like figure and can locomote by utilizing the difference between friction in the propulsive direction and that in the normal direction. It can locomote not only on flat land, but also irregular terrains, such as those of deserts, wildlands, and grasslands, by choosing its motion and posture depending on the environment/task. Moreover, it can realize skilled motions, such as swimming, climbing, and squeezing. Overall, a real snake possesses high adaptability, corresponding to the given environments/tasks. A snake-like robot mimics the high level of adaptability of a real snake and is expected to be adaptable to given environments/tasks.
There have been many studies in the literature focused on the locomotion control of snake-like robots. Hirose, a pioneer in the study of snake-like robots, found that the curvature of a snake changes sinusoidally along its body axis. He named this the "Serpenoid Curve" and applied it to trajectory generation for snake-like robots [1]. Endo et al. implemented the propulsive locomotion control of snake-like robots by utilizing the Serpenoid Curve [2]. In studies extending the Serpenoid Curve, Yamada et al. proposed the kinematics to stabilize the head direction during tracking of the robot to the Serpenoid Curve and implemented the kinematics in a robot [3]. Ma et al. implemented a slope climbing control adjusting the amplitude of the Serpenoid Curve by a simulator [4]. In our previous study, we designed a servo control system for tracking to the Serpenoid Curve [5]. Bing et al. implemented smooth walking by adjusting the Central Pattern Generator (CPG) parameters [6]. Dao et al. proposed a head trajectory tracking control method using CPG and the Amplitude Modulation Method (AMM) [7]. Wang et al. implemented locomotion control of a serpentine crawling robot using CPG and a Fuzzy Logic Controller (FLC) [8]. Manzoor et al. implemented motion control of a modular robot using the CPG algorithm [9]. These studies focused on the kinematics and morphology of the snake, but did not address the dynamics involving interactions with the ground.
To consider such dynamics, locomotion control utilizing the difference of friction, like that of a real snake, has been proposed. Izu et al. [10], Yamakita et al. [11], and Matsuno et al. [12] implemented locomotion control avoiding singular configurations, based on dynamic manipulability, by regarding friction in the axial direction as a constraint force. Nakajima et al. realized the locomotion control of a snake-like robot by considering a transition between two nonparallel planes [13]. Fukushima et al. proposed a front-unit tracking control theory utilizing only the current target velocity for the front-unit of a snake-like robot using a screw-driving mechanism [14]. Ariizumi et al. proposed a head position tracking control system, which was capable of locomotion even when a joint suddenly lost energy [15]. In addition, Tanaka et al. implemented a semi-autonomous step climbing control by utilizing both sensor information and a three-dimensional manipulation method [16], and proposed a workspace control system for a redundant robot with a gripper on its head part [17]. They also proposed a shape control method for a snake robot that maintains the head position and orientation as well as avoiding joint limits and self-collision [18], and proposed a smooth controller for an articulated mobile robot with switching constraints [19]. In our previous study, locomotion control of a snake-like robot was realized and a head position control [20][21][22], force control [23], and slope climbing control [24] were designed. Xiao et al. designed a walking method for moving pipes and curved pipes with different diameters and proposed continuous-time dynamical models which integrated an extended Kalman filter (EKF) and an Inertial Measurement Unit (IMU) [25,26]. Bai et al. developed a snake-like robot for coal mine rescue and proposed an algorithm to avoid obstacles using the particle swarm optimization weight coefficient of extreme learning machine (PSOELM) method [27]. Hongyan et al. proposed a real-time obstacle avoidance algorithm based on multiobjective optimization [28]. Suhara et al. proposed an algorithm which runs through a curved pipe that connects straight pipes by spiral rotation [29,30]. Ariizumi et al. analyzed the three actions of sidewinding locomotion, sinus-lifting motion, and lateral undulation of a snake-like robot [31]. Rollinson et al. used an extended Kalman filter (EKF) to move a pipe that cannot be passed by a wheeled robot [32]. Takagi et al. proposed a control design method using side-thrust links, in which the amplitude varies with time [33,34]. Malayjerdi et al. analyzed three-dimensional motion, based on the Gibbs-Appell method [35,36]. These studies have supposed either a uniform or infinite friction coefficient. However, the friction coefficient is generally nonuniform in an actual environment and is finite. Therefore, side-slipping normally occurs, even if the robot features passive wheels.
To address such an issue, control systems based on a dynamic model with side-slipping have also proposed. Bando et al. realized a localization on pipes by sounds during locomotion [37]. Takemori et al. implemented locomotion control over irregular ground, such as a flanged pipe or rubble terrain, by utilizing a dynamic model without considering side-slipping [38,39]. Additionally, Takemori et al. designed a control system to fit configurations of a snake-like robot to targets, by connecting simple shapes, such as straight lines, arc shapes, and spirals [40]. In the work by the authors of [40], ladder climbing locomotion was implemented by the proposed method [40]. For another example, Tanaka et al. proposed a shape-control system for a snake-like robot which preserves the head coordinate [18]. In the work by the authors of [18], the side-slipping was actively controlled by lifting up part of the robot's body. However, side-slipping occurs unpredictably and is uncontrollable. Thus, it can be regarded as passive for the control system.
The purpose of this study is to design a head position control system which is capable of adapting to passive side-slipping. There are two key points to realize this: First, a dynamic model capable of representing passive side-slipping must be formulated. Second, the control system must be able to adapt to the side-slipping. A solution for the first key point is to switch a dynamic model of the snake-like robot, depending on occurrence of side-slipping. In this paper, the Projection Method [41][42][43] is utilized for this solution. The linear complementarity problem (LCP) is a general method for switching the dynamic model [44]. Likjebäck et al. [45] and Suzuki [46], as well as our previous study, formulated a dynamic model capable of switching model depending on environmental load forces or frictional forces. However, Suzuki noted that there is an issue in real-time processing, due to its heavy calculation load. The Projection Method provides a means to provide a further solution to this issue. The Projection Method is a system modeling method that can be used to derive a dynamic model focusing on constraints of its system, and is capable of formulating constraint forces in parallel with the dynamic model of the system. In addition, the constraint forces can be added to change the dynamics (i.e., is able to switch the dynamic model). Static frictional forces generated in the axial direction of the passive wheel can be regarded as a constraint force in the Projection Method. Therefore, by switching the added constraint forces, depending on the side-slipping, the dynamic model is switched. Based on this idea, the dynamic model of a snake-like robot without constraints, with respect to the side-slipping of the passive wheel, is derived first. Note that the model addressed in this paper has a Rotational Elastic Actuator (REA) installed [47], in order to consider interaction with the environment. Second, the constraint forces in the axial direction are formulated and are added into the dynamic model. A solution for the second key point is to tune the weighting matrices, depending on the side-slipping, in order to converge the side-slipping as soon as possible. An idea for this solution is to include the side-slipping velocity into the weighting matrices. The control system designed in this paper consists of a state observer and a nonlinear quadratic regulator, both based on the State-Dependent Riccati Equation (SDRE) [48,49]. As the state observer, the Luenberger observer is adopted, in order to verify the theoretical effectiveness of our ideas without any noise. To estimate the state accurately, establishing an accurate model is crucially important (i.e., the model must include accurate constraint forces corresponding to the actual side-slipping situation). To accomplish this, an algorithm to estimate the occurrence of side-slipping and the side-slipping link is constructed. The algorithm discriminates both the occurrence of side-slipping and the side-slipping link from the estimated state and observed output. The weighting matrices of the Luenverger observer are tuned depending on the discrimination result. Rapid and accurate state estimation are obtained. Additionally, in the nonlinear quadratic regulator, the discrimination result is utilized to construct an accurate state-space representation. Furthermore, control inputs are obtained by including the velocities in the axial direction into the weighting matrices. This paper is organized as follows: In Section 2, the dynamic model of a five-link snake-like robot with passive side-slipping switching is derived. The passive side-slipping is represented by utilizing the constraint forces formulated by the Projection Method. Next, the Luenberger observer based on SDRE is designed in Section 3. The algorithm to estimate the generation of side-slipping is also constructed. In Section 4, the head position control system which adapts to the side-slipping is designed. The idea to include the velocities in the axial direction into the weighting matrices of SDRE, which is also proposed in detail. The effectiveness of the designed Luenberger observer and the designed head position control are verified through numerical simulation in Section 5. Section 6 concludes the paper.

Modeling of the Snake-Like Robot Switching Side-Slipping Passively
In this section, the dynamic model of a five-link snake-like robot with passive side-slipping is derived. As a modeling method, the Projection Method is utilized. The Projection Method provides a dynamic model of the system, as well as its constraint forces. For the constraint forces, forces to connect the robot's link and the ones to prevent side-slipping are listed. In this paper, the forces to prevent side-slipping are calculated depending on the environment (i.e., passively) and, by adding them into the model, side-slipping of the model occurs passively. According to this, the dynamic model of the snake-like robot without constraints, with respect to the side-slipping of the passive wheel, is derived first. After that, the constraint forces to prevent side-slipping, which passively switches corresponding to the environment, are derived and the initial model is extended.

Modeling of the Five-Link Snake-Like Robot with a Rotational Elastic Actuator
First, a dynamic model of the snake-like robot without a constraint for the passive wheels without side-slipping is derived. A schematic figure of the model is shown in Figure 1, and its physical parameters are defined in Table 1. From Figure 1, the passive wheel is installed at the center of gravity of each link. The subscript s represents the element related to the spring; θ i (i = 1, · · · , 5) and θ js (j = 2, · · · , 5) represent the absolute angle of each link and spring, respectively; ω i , v xi , v yi and ω js , v xjs , v yjs (i = 1, · · · , 5, j = 2, · · · , 5) represent quasi-velocities at each center of gravity.  Table 1. Physical parameters (i = 1, · · · , 5, j = 2, · · · , 5). First, a model of the constraint-free system is derived. From Figure 1, the generalized coordinate x p of this system is defined as
As deriving the model of the constraint free system is equivalent to formulating motion equations, both in the rotational direction and in the translation direction of (1) (according to Newton's equation of motion), the model is derived as follows, where M p and h p represent the generalized mass matrix and the generalized force matrix, respectively, which are defined as follows, τ i (i = 1, · · · , 6) denotes the input torques into each joint; note that τ 1 = τ 6 = 0 and C 1 = C 6s = 0, from Figure 1, at the first and fifth links, have no joint at their front and rear, respectively. Furthermore, from Figure 1b, the quasi-velocity v is defined as follows, From Figure 1, the velocity transformation matrix A relates the generalized coordinate x p and the quasi-velocity v as follows, By Equation (3), Equation (2) is transformed as follows: Second, a constraint matrix C of the system satisfying Cv = 0 is derived. With respect to the positions of the centers of gravity, a holonomic constraint is represented as follows, In this paper, the dynamic model without the constraint, in which the passive wheels are not side-slipping, is derived, to design a control system which allows side-slipping. Therefore, the constraint matrix of the system is defined as follows, By utilizing (5), the model satisfying the constraint conditions is derived as follows: where λ represents the Lagrange multipliers and denotes the constraint forces of the system in the Projection Method. Finally, Equation (6) is projected into the tangent speed space and the dynamic model is obtained. From (1), the constraint-free system has 27 DOF. From (4), the system is constrained by 16 holonomic constraints. Therefore, the constrained system has 11 DOF. Now, we set the tangent speed as follows, The tangent speeds are chosen to be suitable for the control system. In this case, ω 1 and v x1 correspond to the first link, ω js (j = 2, · · · , 5) are the motor velocities and v yi (i = 1, · · · , 5) are velocities in the axial direction. The quasi-velocity is replaced such that where v q represents the dependent velocities with respect toq. Furthermore, the constraint matrix C is decomposed into C = C 1 , C 2 , satisfying Cv = C 1q + C 2 v q = 0. The complementary orthogonal matrix D satisfying both CD = 0 and v = Dq is derived as follows, where I m×n represents the m × n identity matrix. Then, Equation (6) is projected into the tangent speed space by the derived complementary orthogonal matrix D, and we obtain the dynamic model of the five-link snake-like robot as follows,

Constraint Forces to Prevent Side-Slipping
In this section, the constraint forces to prevent side-slipping of the passive wheels of the snake-like robot are derived. Suzuki utilized the Linear Complementarity Problem (LCP) [44] to formulate these. However, they also noted that there was an issue of high computation times preventing efficient real-time control [46]. To overcome this issue in this paper, the constraint forces to prevent passive wheel side-slipping are formulated by extending the constraint matrix derived using the Projection Method. First, the constraint matrix is extended. Second, using the extended constraint matrix, the constraint forces to prevent side-slipping are formulated. Finally, by utilizing the formulated constraint forces, Equation (7) is extended.
First, the constraint matrix of the system is extended. As shown in Figure 1, let the constraint force in the axial direction and maximum static frictional force of i-th link be denoted by f ni and f max , respectively. In the axial direction of the passive wheel of a snake-like robot, the constraint forces preventing side-slipping from occurring satisfy the following condition, v yi = 0 ∩ f ni ≤ f max , (i = 1, · · · , 5).
Moreover, both the constraint matrix of the system and the Lagrange multipliers, as the constraint forces of the system are extended as C = C T C T n T and λ = λ T λ T n T , respectively; note that λ n represents the constraint force to prevent side-slipping. By utilizing the extended constraint matrix and the Projection method, the extended constraint force λ , including the constraint forces to prevent side-slipping λ n , is formulated as follows, Finally, by utilizing the formulated constraint force in the axial direction, Equation (7) is extended. The motion (6) in the quasi-velocity coordinate is extended, as follows: Note that (8) is equivalent to the dynamics model of the snake-like robot without side-slipping, unless any link is side-slipping. By projecting (8) into the tangent speed space, by utilizing the complementary orthogonal matrix D, we obtain the extended dynamics model shown in (9):

Design of the Luenberger Observer
In this section, a Luenberger observer is designed based on SDRE. The key functions of the observer designed in this section are to estimate the passive side-slipping occurring and to tune the observer gains to adapt to it. First, the observable states are discussed quantitatively. Second, the Luenberger observer is designed, based on SDRE. Finally, an algorithm for state estimation for adaptive side-slipping determination is constructed, and the tuning algorithm of observer gain, corresponding to the result of the state estimation algorithm, is constructed.
First, the observable states are discussed. As installation of a rotary encoder in each joint and each elastic part was realized in our previous study [47], the related angles of each joint φ j (j = 2, · · · , 5) and twist angles of the springs s j (j = 2, · · · , 5) are observable. Additionally, as the installation of a camera on the head link has also been realized in related studies [50,51], the absolute angle θ 1 and position (x 1 , y 1 ) of the robot's head are observable. On the other hand, velocity sensors are not installed, so as to save cost and energy; thus, the tangent speed is unobservable. From the above discussion, the observable states (i.e., the output of the system) y are Second, the Luenberger observer is designed, based on SDRE. The generalized force matrix h is resolved as follows, Note that D(i) denotes the i-th row vector of the complementary orthogonal matrix D. Furthermore, the constraint matrix of the system is resolved as follows, By defining the output error e and the state of the Luenberger observerx as follows, e = y −ŷ, the Luenberger observer is obtained aṡx where Z m×n represents the zero matrix with m × n; in addition, Note that an accent mark ∧ represents the estimated state of the observer. Moreover, L(x) denotes the observer gain and where P o (x) is a symmetric positive definite matrix of following state-dependent Riccati equation, where Q o (x) and R o (x) represent the weighting matrices for the observer, and are chosen as positive semidefinite and positive definite, respectively. Finally, the algorithm for adaptive state estimation of side-slipping determination is constructed. The estimation precision of the designed observer depends greatly on the accuracy of the dynamic model; that is, to appropriately extend the dynamic model according to passive side-slipping is a key issue. To extend the model appropriately, slipping links are discriminated by utilizing the estimated state of the observer. Corresponding to the discriminant result, the weighting matrices of the observer are tuned. First, the generation of side-slipping is discriminated. An error vector for it is defined as follows, Note that d i represents perpendicular distance from the center of gravity of the i-th link to estimated value of the i-th link. For the error vector, it is expected that, with a decrease in the norm of e d , a corresponding decrease in the error e between observation of output and the estimated state will be observed when the side-slipping link is discriminated appropriately. On the other hand, when side-slipping happens, an increase in the norm of e d and a corresponding increase in the estimation error e are expected, due to difference between the observer model and actual model. Thus, the generation of side-slipping is discriminated when the following condition is satisfied, When the above condition is satisfied, a link which possesses a maximum value of d i is discriminated as a side-slipping link, and (9) is reformulated. In addition, the weighting matrices of the observer Q o (x) and R o (x) are tuned, according to the discriminant result of side-slipping: , q x1 , q y1 , q φ2 , · · · , q φ5 , q s2 , · · · , q s5 , q ω1 , q vx1 , q ω2s , · · · , q ω5s , q vy1 , · · · , q vy5 ), where q θ 1 , q x1 , q y1 , q φ2 , · · · , q φ5 = 1000, q s2 , · · · , q s5 = 1, q ω1 , q vx1 , q ω2s , · · · , q ω5s = 1,000,000, 100,000 (|v yi | > 1.0 × 10 −5 ).

Design of Head Position Control System Considering Side-Slipping
In this section, the head position control system for a snake-like robot switching the side-slipping passively is designed. A strategy for the control system design is to converge side-slipping immediately. To converge the side-slipping, the weighting matrix of SDRE is tuned corresponding to the side-slipping situation. To design such a control system, a state-space representation including the head position of the snake-like robot is first formulated. Second, the system is reduced, corresponding to the state of side-slipping. Next, the head position control system is designed, based on SDRE. Finally, a tuning algorithm for the weighting matrix to converge the side-slipping is constructed.
First, the state-space representation including the head position of the snake-like robot is formulated. The head position of the snake-like robot (x h , y h ) is represented as follows, By utilizing the relationẋ p = Av and v = Dq, the velocity of the head position is related with the tangent speed as follows: The state vector is set as follows, x = x h y h s T q T T , and the state-space representation including the head position of the snake-like robot is formulated, as (12), by utilizing the estimated state of the observerx: where Second, the state-space representation is reduced, corresponding to the state of side-slipping. In (12), when no side-slipping link exists, the velocity in the axial direction of its link is uncontrollable, because in a link without side-slipping, it is regarded that there is a constraint with respect to slip prevention (i.e., the velocity in the axial direction is fixed to zero). To avoid uncontrollable links, the state-space representation is appropriately reduced, corresponding to the side-slipping situation. The reduced system is represented as follows,x =Ā(x)x +B(x)u.
For example, when all links are slipping, For another instance, when no links are side-slipping, When the first, second, and fourth links are side-slipping, Next, the head position control system is designed, based on SDRE. Now, we consider a following quadratic cost function for the reduced system: where Q o (ξ e ) and R o (ξ e ) are state-dependent weighting matrices, which are chosen to be positive semidefinite and positive definite, respectively. The input u that quasi-minimizes the quadratic cost function is given by utilizing the estimated state of the observer as follows, where P(x) is a symmetric positive definite matrix of the following state-dependent Riccati equation,

A(x) T P(x) + P(x)Ā(x) + Q(x) − P(x)B(x)R(x)
Last, the tuning algorithm to immediately converge the side-slipping is constructed. An idea to achieve this is to change the weight for the velocity in the axial direction, with respect to each sampling period. In particular, the velocity in the axial direction is incorporated into the weighting matrix. We set the weighting matrices Q o (ξ e ) and R o (ξ e ) as follows, where each of the elements are as follows, The elements for the velocity in the axial direction are set, below, according to the idea: By setting the elements for the velocity in the axial direction, as above, the weights for both a link which is slipping fast and a link which continues slipping are tuned greater than others. Thus, the control system converges the side-slipping adroitly and locomotes the system effectively.

Numerical Simulations
The effectiveness of both the designed observer and the designed head position control system were verified through numerical simulations. The numerical simulations were performed by MaTX (Visual C++ 2005 version 5.3.37) [52]. The physical parameters utilized in the numerical simulations are shown in Table 1. The simulation time was 15 s, sampling interval was 0.01 s, and the algorithm used to solve the ordinary differential equation utilized the function "rkf45". The initial configuration of the robot was θ 1 , θ 3s , θ 3 , θ 5s , θ 5 = −π/6 rad and θ 2s , θ 2 , θ 4s , θ 4 = π/6 rad. The static friction coefficient was set as in Figure 2. The set meshed pattern friction coefficients resulted in the generation of side-slipping in an unexpected fashion. The simulations were aimed at verifying adaptability to side-slipping occurring unpredictably, rather than to simulate a practical case. Thus, the simulations were performed in the artificial environment shown in Figure 2. In the simulations, the case studies in three situations, corresponding to different initial positions, were addressed.

Case 1
In case 1, the initial position of the robot's head was (x h , y h ) = (5, −5) m. The simulation results are shown in Figures 3-14.           Error ω 1 Error ω 2s Error ω 3s Error ω 4s Error ω 5s   Error v y1 Error v y2 Error v y3 Error v y4 Error v y5 Figures 5-7, 11, and 13 clearly show that the designed observer estimated all states accurately and the head position of the robot was controlled by the designed control system even when passive side-slipping occurred, as all states converged. Figure 3 shows that head position control was accomplished, as the head position converged to the origin. From Figure 13, it can be seen, as the constraint forces in the axial direction became greater than the maximum static frictional force at 5.8 s, that side-slipping occurred. However, since side-slipping converged in 0.5 s from the onset of side-slipping, it has been confirmed that the control system considering passive side-slipping functioned appropriately. In addition, Figures 8,10,12,and 14 show that the state of the snake-like robot was estimated by the designed observer and the side-slipping link estimation algorithm.

Case 2
In case 2, the initial position of the robot's head was (x h , y h ) = (5, 1) m. The simulation results are shown in Figures 15-26.         In case 2, Figures 15-26 also show that the designed observer estimated all states accurately, and the head position of the robot was controlled by the designed control system, even when passive side-slipping occurred. In case 2, side-slipping occurred for the first link at 4.6 s, which converged in 0.6 s.

Case 3
In case 3, the initial position of the robot's head was (x h , y h ) = (−1, −2) m. The simulation results are shown in Figures 27-38.            In case 3, Figures 27-38 also show that the designed observer estimated all states accurately, and that the head position of the robot was controlled by the designed control system, even when passive side-slipping occurred. In case 3, side-slipping occurred for the fifth link at 0.7 s, which converged in 0.4 s.

Discussion
As a result of the three simulations, we observed the following three facts. First, the model was switched appropriately by the Luenberger observer. Figures 14, 26, and 38 show that the estimation error of the velocities in the axial direction converged immediately; in particular, "converging the only slipping link" was one of the main characteristics of the designed observer. This means that the designed Luenberger observer worked as expected. Otherwise, the estimated state diverged, or the estimated velocity for other links was non-zero, as the normal Luenberger observer converges the estimation by adjusting all elements impartially. On the other hand, the observer designed in this paper changes its weighting matrices depending on the discrimination result for individual slipping links. This idea gives the observer inequality, and a specific state (i.e., the velocity of the slipping link) was estimated preferentially over others. This characteristic resulted in the simulation results.
Second, the designed control system was able to converge the side-slipping immediately, as was found in Figures 13, 25, and 37. This means that the proposed tuning method worked as expected. Otherwise, the robot continued locomotion with side-slipping longer than that observed in the results. Such a controller might be able to stabilize the system; however, this decreases energy efficiency. Third, the system generated serpentine locomotion, similar to a real snake. Serpentine locomotion comprises the very basic kinematics of a real snake. Figures 9, 21, and 33 show that the relative angles varied sinusoidally with almost the same phase difference. This is an important characteristic of serpentine locomotion; that is, the control system based on SDRE was able to generate a snake-like morphology without any trajectory generation.

Conclusions
In this paper, a head position control system of a snake-like robot capable of adapting to passive side-slipping has been designed. The environments expected for utilizing such snake-like robots are generally ground surfaces featuring nonuniform frictional coefficients. On such surfaces, the passive wheels of the snake-like robot generate side-slipping unpredictably. To locomote the snake-like robot dexterously, a control system which adapts to passive side-slipping was designed. We have regarded the side-slipping which occurs unpredictably to be that which occurs passively, and have proposed the dynamic model. The proposed model represents the presence of (or lack of) side-slipping by passively switching the constraint forces in the axial direction of the passive wheels. The constraint forces in the axial direction were formulated in parallel to the dynamic model of the robot by utilizing the Projection Method. Second, a Luenberger observer to estimate the state of the snake-like robot was designed, based on SDRE. To improve the estimation precision, an algorithm for estimating passive side-slipping was constructed; corresponding to its result, a tuning method for the observer gain was proposed. Next, a head position control system was designed, based on SDRE. In addition, the tuning method to immediately converge the passively generated side-slipping has been proposed. Finally, the effectiveness of the designed observer and the designed head position control system were verified through numerical simulation. The results show that head position control with immediate side-slipping convergence was accomplished, even with unpredictably generated side-slipping.

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