You are on page 1of 5

2020 7th International Conference on Electrical and Electronics Engineering

Modelling and Simulation of a Wheel-Less Snake Robot

Yesim A. Baysal, Ismail H. Altas


Department of Electrical and Electronics Engineering
Karadeniz Technical University
Trabzon, Turkey
e-mail: yabaysal@ktu.edu.tr, ihaltas@ktu.edu.tr

Abstract—In this paper, kinematic and dynamic modelling of a number of links of the snake robot and its forward velocity.
wheel-less snake robot that has more potential for adapting to Finally, the obtained results are analyzed and discussed.
the environment is implemented in Matlab/Simulink and effect
of friction between its body with the ground, which plays a II. SNAKE ROBOT MODELLING
highly important role in some snake locomotion such as lateral The snake robot is a modular robot consists of n rigid
undulation on motion is analyzed. Moreover, the relationship
links of length 2l interconnected by n-1 motorized joints. 2D
between number of links of the snake robot and its forward
velocity is investigated in this study. The simulation results
model of the snake robot presented in this study are achieved
validate that snake robot can move faster in environments by using approaches similar to the kinematic and dynamic
where the anisotropy in friction is large enough. The results equations introduced in [4] and [5].
also show that the forward velocity of the snake robot is A. Kinematic Model of Snake Robot
directly proportional to its number of links.
The diagram showing the kinematic parameters of a
Keywords-wheel-less snake robots; robot dynamics; snake robot consisting of n links is shown in Fig. 1.
serpentine movement; viscous friction; forward velocity

I. INTRODUCTION
Snake robots are modular mobile robots which have
serially connected joint modules that can move in one or
more planes. The robot motion patterns are developed by
inspiring from the motions of biological snakes which have
excellent locomotion in many environmental conditions.
These robots provide superior mobility in unknown, irregular Figure 1. n links snake robot diagram.
environments compared to the other mobile robots such as
wheeled, tracked and legged robots. Therefore, snake robots In this diagram, (xi, yi) describe global coordinates of the
carry a great potential for use in many of real-world CM (centre of mass) of link i, while (px, py) are global
applications such as rescue and search operations, military coordinates of the CM of the robot. θi and ϕi are angle
purposes, firefighting, maintenance of some structures which between link i and the global x axis, and angle of joint i,
are too narrow or too dangerous for people to operate such as respectively. As seen in Fig. 1, ϕi is the difference between
nuclear plants and pipelines. All these unique features of the the link angles of two neighbouring links and can be
snake robots make them fascinating topic for research and so expressed as in (1).
they have been largely studied in terms of modelling, i = i − i +1 (1)
development and control of these mechanism. Detailed
review of these works can be found in [1-3].
The goal of this study is to model and implement a While deriving kinematic and motion equations of the
wheel-less snake robot in Matlab/Simulink by using the snake robot, the link angles and the joint angles will often be
previously derived expressions. Hence, it is thought that this expressed in the vector form as θ = [θ1, …, θn]T and ϕ = [ϕ1,
study will assist for newcomer to the field about how snake …, ϕn-1]T, respectively. Moreover, some matrices and vectors
robot model is obtained using Simulink blocks. Because used in developing the model are described below.
snake robots with passive wheels have disadvantage about
during motion across cluttered environment, the wheel-less 1 −1 
1 1   
snake robots are considered in this study. Therefore, in    
 e 0n x1 
. .  . . 
dynamic model of snake robot, ground friction forces are A=  , D=  ,E=
 . .  
. . 
0n x1 e 
taken into account and it is examined how changing of   



ground friction property effects on its motion and forward  1 1  1 −1

velocity. In addition, the snake robot is simulated with
different number of links to identify the relationship between

978-1-7281-6788-6/20/$31.00 ©2020 IEEE 285

Authorized licensed use limited to: Auckland University of Technology. Downloaded on June 07,2020 at 19:35:01 UTC from IEEE Xplore. Restrictions apply.
cosi − sin i  crucial for motions like lateral undulation. Therefore, while
e = 1,...,1 , R link , i = 
T global

 sin i cosi  modelling these robots, a dynamic model in which friction is


considered is needed.
sin θ = [sin 1,...,sin n ]T , cos θ = [cos1,...,cosn ]T In this study, viscous friction model is used and the
viscous friction force on link i in the local link frame is
Sθ = diag (sin θ) , Cθ = diag (cos θ) , θ2 = [12 ,...,n 2 ]T defined as in (8).
The position of the snake robot p defined by its global c 0  link ,i
f Rlink ,i
= − t v (8)
center of mass is given in (2).
,i
0 cn  i

 1  where ct and cn are defined the coefficients of the viscous


 px   nm  i =1 i  1 eT X 
n
mx
p= = =  T  (2) friction force in the tangential and normal directions of a
 py   1  n e Y  link, respectively. vlink ,i
denote the link velocity in the local

n
 nm i =1 myi 
i
link frame. By using the rotation matrix Rlink , i , the global
global

where m is mass of each link, X = [x1, …, xn]T and Y = frame viscous friction force on link i and the friction forces
[y1,…, yn]T. The forward velocity of the snake robot is on all links can be defined as in (9) and (10), respectively.
defined as in (3).
global  t
vt = px cos + py sin (3) c 0  global T  xi 
f R ,i = f Rglobal = R link
global link , i
,i f R ,i = R link ,i  (R ) (9)
,i
0 cn  link ,i  yi 
where  is the orientation of the snake robot and defined as
the average of the link angles as in (4). f R , x  c (C ) 2 + cn (S ) 2 (ct − cn )S C   X 
fR =   = −  t   
f R ,y   (ct − cn )S C ct (S )2 + cn (C ) 2   Y  (10)
1 n
 = i (4)
n i =1
The torque applied to CM of the link due to friction force
The two holonomic joint constraints at joint i due to is given in (11).
connection between link i and link i + 1 are defined in
τ R = − Cn Jθ (11)
matrix form as in (5).
DX + lA cos θ = 0 where Cn= diag(cn1, … , cnn) and J= diag(J1, … , Jn).
(5)
DY + lA sin θ = 0 C. Dynamic Model of Snake Robot
The position of each link of the robot can be written as in The equations of motion of the snake robot are defined in
(6) in terms of the link angles of the robot and the CM terms of the link angular accelerations θ and the linear
position by using (2) and (5). acceleration of the global CM of the snake robot p and the
X = −l K T cos θ + e px diagram showing forces and torques acting on each link of
(6) the snake robot are illustrated in Fig. 2.
Y = −l K T sin θ + e p y The link accelerations are expressed as in (12) by
differentiating (6) twice with respect to time.
where K = AT (DT D)−1 D . The linear velocities of the links are
found by differentiating (6) with respect to time as in (7). DX = lA(C θ2 + S θ)
(12)
X = l K T S θ + e px DY = lA(S θ2 − C θ)
(7)
Y = l K T C θ + e p y Similarly, the CM acceleration is obtained as in (13) by
differentiating (2) twice with respect to time.
B. Friction Model  px  1 eT X 
Skin of the biological snakes has anisotropic friction p  =  T  (13)
 y  n e Y 
property, that is, the coefficient of friction in the normal
direction is different from the friction coefficient in the
tangent direction. The friction property is used to achieve
forward locomotion. In practice, passive wheels are usually
used to imitate the anisotropic friction property while in the
equation motion of the robot, nonholonomic constraints are
used to achieve this condition [6]. Therefore, only the
kinematic model of the robot may be enough in snake robots
with passive wheel. However, in wheel-less snake robots, the
friction between the robot and the ground significantly
affects the movement of the snake robot and is especially Figure 2. The forces and torques acting on each link of the snake robot.

286

Authorized licensed use limited to: Auckland University of Technology. Downloaded on June 07,2020 at 19:35:01 UTC from IEEE Xplore. Restrictions apply.
As seen in Fig. 2, the forces acting on the link i are the phase shift between the neighborhood joints. γ is the joint
ground friction force (fR,x,i, fR,y,i) and joint constraint forces offset and used to control the direction of the locomotion.
(hx,i,hy,i), (-hx,i-1,-hy,i-1) from link i+1 and link i–1,
respectively. ui-1 and ui are actuator torques exerted on link i E. Motion Control
from link i-1 and link i+1, respectively. According to this, Joint angles ϕ to be controlled is found as in (1).
the force balance equation and the torque balance equation Similarly, ϕref can be found as in (21). The control law for
can be written as in (14) and (15) in matrix form for all links, link i by using low level joint PD controller is given in (22).
respectively. (21)
i , ref = i , ref − i +1, ref
mX = f R ,x + DT h x
(14) ui = k p (ref −  ) − kD (22)
mY = f R , y + DT h y
where kp > 0 and kD > 0 are controller gains.
Jθ = DT u +  R − lS AT hx + lC AT h y (15)
III. SYSTEM IMPLEMENTATION IN SIMULINK
By inserting (14) to (13), the acceleration of the CM
The snake robot simulator is obtained using the dynamic
of the snake robot is obtained as in (16).
model of the snake robot in (19) and a simple PD controller
 px  1 eT f R , x  1 T is used to follow the reference trajectories generated. The
p  =  T = E fR (16) block diagram of the mentioned system is given in Fig. 3.
 y  nm e f R , x  nm
The joint constraint forces hx and hy by solving from (14)
are obtained as in (17) and by inserting these expressions to
(15), the model of the snake robot can be rewritten as in (18).
h x = (DDT ) −1 (mlA(C θ2 + S θ) − Df R ,x )
(17) Figure 3. Block diagram of the system.
h y = (DDT ) −1 (mlA(S θ 2 − C θ) − Df R , y )
The internal structure of the snake robot simulator seen in
M θ + Wθ2 − lS KfR,x + lC KfR,y −  R = DT u (18) the block diagram in Fig. 3 is given in Fig. 4. The symbolic
where, expressions of the link angular accelerations and the linear
M = J I n + ml 2S VS + ml 2C VC acceleration of the global CM of the snake robot obtained by
solving (19) form the content of the Matlab function block in
W = ml 2S VS − ml 2C VC , V = AT (DDT )−1 A the dynamic model of the snake robot in Fig. 4.
By combining (15) and (18) in matrix form, the dynamic
model of snake robot is obtained as in (19).
 M 0   θ   Wθ2   θ   DT 
 0   +   − C   =  u (19)
 mI  p   0  p   0 
where,
C J 0   LT  Ct 0 T Figure 4. Internal structure of the snake robot simulator.
C= n  +  T R R  L E
 0 0  E   0 Cn 
The internal structure of the joint controller block in Fig.
T
L = S (K l I n )T −C (K l I n )T  3 is shown in Fig. 5. D gain blocks seen in the figure are
used to obtain joint angles from link angles and refer to the D
D. Reference Trajectory Generation matrix previously defined to subtract pairs of adjacent
elements of a vector.
Most motion patterns of the snake robots have been
developed with inspiration from biological snakes. Lateral
undulation from these motions is the most common gait seen
in most biological snakes and developed by modelling the
snake body as a continuous curve [7]. The formulation of the
curvature called as serpenoid curve and varying sinusoidally
is given in (20).
i , ref =  sin( t + (i− 1) ) +  (20)

where parameters α, β and γ describe the shape of the


serpenoid curve. α and ω define the amplitude and the
angular frequency of the reference signal while β determines Figure 5. Internal structure of the joint controller block.

287

Authorized licensed use limited to: Auckland University of Technology. Downloaded on June 07,2020 at 19:35:01 UTC from IEEE Xplore. Restrictions apply.
IV. SIMULATION RESULTS
The model obtained based on the dynamic model of
snake robot in (19) and the control strategy in (22) is
simulated in Matlab/Simulink 2019b using the ode45 solver.
A. System and Simulation Parameters
In this study, the simulation is executed for a five-link
wheel-less snake robot and parameters of the robot modelled
are given in TABLE I. Some assumptions given below are
considered while modelling the snake robot.
• The width of the links is not included in modelling.
• The links are assumed to have the same mass and
moment of inertia.
• The link CM is located at its center point.
• It is assumed that the friction force only affects the
CM of the link.
Figure 6. Reference link and joint trajectories.
• To move forward by lateral undulation motion,
anisotropic viscous friction model is used in
modelling.
• The friction forces acting on each link is assumed
to be the same.
B. Reference Trajectory Generation
The generation of serpenoid curves for the lateral
undulation motion is performed by using (20) in the
reference trajectory generator Matlab function block seen in
Fig. 3. The parameters describing the trajectories are given in
Table II.
TABLE I. MODEL PARAMETERS OF THE SNAKE ROBOT
Parameters Values
Number of links n=5
Half the length of a link l = 0.14 m
Mass of each link m = 1 kg
Moment of inertia of each link J = 0.0065 kgm2
Friction coefficient ct = 0.5; cn = 3 Figure 7. (a) CM velocities of the snake robot, (b) Forward velocity of the
snake robot, (c) CM position of the snake robot.
TABLE II. PARAMETERS OF THE REFERENCE TRAJECTORY
Parameters Values Moreover, from this figure, it is seen that the snake robot
Amplitude α = 30˚ reaches a speed of about 1.7 cm/s and the distance travelled
Angular frequency ω = 3 rad/s by the snake robot is about 3.4 m in the x direction as seen in
Phase shift β = 60˚
Joint offset γ = 0˚
Fig. 7(c).
A simple PD controller is used for the snake robot to
The reference trajectories generated according to the follow the reference joint trajectories generated. The
parameters in Table II and the reference joint trajectories parameters of the PD controller are set to kp = 100 and kd = 1
obtained using (21) are shown in Fig. 6. for each joint. According to this, the reference trajectories
and the actual joint angles obtained for the joint 1 and 3 are
C. Simulation Results seen in Fig. 8(a) and 8(b), respectively while the trajectory
When applying the reference trajectories in Fig. 6 to the tracking errors of the controller for each joint are given in
modelled snake robot, the velocity of the CM of the snake Fig. 8(c).
robot, the forward velocity of the snake robot and the CM In the snake robot model, by keeping the friction
positions of the snake robot are obtained as in Fig. 7. As seen coefficient in the tangential direction constant to be ct = 1,
in Fig. 7(a), CM velocity of the snake robot increases along the effect of changing the friction coefficient in the normal
the x axis while it remains close to zero along the y axis. The direction (cn) on the forward velocity of the snake robot and
forward velocity of the snake robot consists of only the hence on the travelled distance are examined. The obtained
velocity component in the x direction as seen in Fig. 7(b). results are given in Fig. 9.

288

Authorized licensed use limited to: Auckland University of Technology. Downloaded on June 07,2020 at 19:35:01 UTC from IEEE Xplore. Restrictions apply.
In Fig. 10, the number of links and corresponding
forward velocity are shown. The increase in the forward
velocity as number of links increases is clearly present in this
figure.

Figure 10. The forward velocity of the snake robot for different values of n.

V. CONCLUSION
A model of the kinematics and dynamics of a wheel-less
Figure 8. (a)-(b) The reference and the actual joint angles for joint 1 and 3, snake robot is presented in this paper. The effect of ground
respectively, (c) Joint tracking errors for each joint. friction property and number of links of snake robot on its
forward velocity are also analyzed. It is seen that the
obtained simulation results are consistent with previous
literature on snake robots. This study serves as a guide for
new researchers that would like to obtain same system by
themselves because of presenting the detailed explanations
about how a model of the snake robot implemented in
Matlab/Simulink.
REFERENCES
[1] P. Liljebäck, K. Y. Pettersen, Ø. Stavdahl, and J. T. Gravdahl, “A
review on modelling, implementation, and control of snake robots,”
Robotics and Autonomous Systems, 2012, vol.60, no.1, pp. 29-40.
[2] A.A.Transeth, K.Y. Pettersen, and P.Liljebäck, “A survey on snake
robot modeling and locomotion,” Robotica, 2009, vol.27, no.7, pp.
999-1015.
[3] R. Bogue, “Snake robots: A review of research, products and
applications,” Industrial Robot, 2014, vol.41, no. 3, pp. 253–258.
[4] M. Saito, M. Fukaya, and T. Iwasaki, “Serpentine locomotion with
Figure 9. The effect of changing the cn on the forward velocity of the snake robotic snakes,” IEEE Control Systems Magazine, 2002, vol.22, no.1,
robot and the travelled distance. pp. 64–81.
[5] P. Liljebäck, K. Y. Pettersen, Ø. Stavdahl, and J. T. Gravdahl, Snake
It is seen that from Fig. 9, as the difference between the robots: Modelling, Mechatronics, and Control, Springer Science &
friction coefficient in the normal direction and the friction Business Media, 2012.
coefficient in the tangent direction increases, the snake robot [6] A.M. Bloch, J. Baillieul, P. Crouch, and J. Marsden, Nonholonomic
Mechanics and Control, Springer-Verlag, 2003.
can move faster and hence travel more distance. Isotropic
[7] D. Hu, J. Nirody, T. Scott, and M. Shelley, “The mechanics of
friction property is obtained when cn = 1, in which case the slithering locomotion,” Proceedings of the National Academy of
snake robot moves very slowly. This result is consistent with Sciences, 2009, vol.106, no.25, pp.10081–10085.
the necessity of anisotropic friction feature to be able to [8] R.Ariizumi, and F.Matsuno, “Dynamic analysis of three snake robot
achieve an effective forward motion as also stated in the gaits,”IEEE Transaction on Robotics, 2017,vol.33, no.5, pp.1075-
study of Hu et al. [7]. The results also support the conclusion 1087.
that the snake robot can move faster in environments where
the anisotropic friction is large enough, as specified in the
study of Ariizumi and Matsuno [8].

289

Authorized licensed use limited to: Auckland University of Technology. Downloaded on June 07,2020 at 19:35:01 UTC from IEEE Xplore. Restrictions apply.

You might also like