Professional Documents
Culture Documents
3-D Snake Robot Motion: Nonsmooth Modeling, Simulations, and Experiments
3-D Snake Robot Motion: Nonsmooth Modeling, Simulations, and Experiments
3-D Snake Robot Motion: Nonsmooth Modeling, Simulations, and Experiments
Abstract—A nonsmooth (hybrid) 3-D mathematical model of The first working snake robot was built in 1972 [1]. This
a snake robot (without wheels) is developed and experimentally robot was limited to planar motion, but snake robots capable
validated in this paper. The model is based on the framework of of 3-D motion have appeared more recently [2]–[6]. Together
nonsmooth dynamics and convex analysis that allows us to easily
and systematically incorporate unilateral contact forces (i.e., be- with the robots, mathematical models of both the kinematics
tween the snake robot and the ground surface) and friction forces and the dynamics of snake robots have also been developed.
based on Coulomb’s law of dry friction. Conventional numerical Purely kinematic 3-D models have been presented in [6]–[8],
solvers cannot be employed directly due to set-valued force laws where frictional contact between the snake robot and the ground
and possible instantaneous velocity changes. Therefore, we show is not included in the model. Hence, contact between the snake
how to implement the model for numerical treatment with a nu-
merical integrator called the time-stepping method. This method robot and the ground surface is either modeled with frictionless
helps to avoid explicit changes between equations during simula- passive wheels, or the parts of the snake robot that touches the
tion even though the system is hybrid. Simulation results for the ground are defined as anchored to the ground [9]. A model
serpentine motion pattern lateral undulation and sidewinding are of the dynamics of motion is needed to describe the friction
presented. In addition, experiments are performed with the snake forces a snake robot without wheels is subjected to when moving
robot “Aiko” for locomotion by lateral undulation and sidewinding,
both with isotropic friction. For these cases, back-to-back compar- over a surface. Most mathematical models that describe the
isons between numerical results and experimental results are given. dynamics of snake robot motion have been limited to planar
(2-D) motion [10]–[13], and 3-D mathematical models of snake
Index Terms—3-D snake robot, kinematics, nonsmooth dynam-
ics, time-stepping method. robots have only recently been developed [3], [7]. 3-D models
facilitate testing and development of 3-D serpentine motion
I. INTRODUCTION patterns such as sinus lifting and sidewinding. A description of
these motion patterns is found in, e.g., [4]. A physics engine
HEELED mechanisms constitute the backbone of most
W ground-based means of transportation. Unfortunately,
rough terrain makes it hard, if not impossible, for such mecha-
called the open dynamics engine (ODE) has been employed
to simulate a 15-link snake robot instead of deriving explicit
expressions for its dynamics in [14]. Such software makes it
nisms to move. To be able to move in various terrains, such as easy to change the geometry of a snake robot if needed, and the
going through narrow passages and climb on rough ground, the time needed to prepare a working model is relatively short [15].
high-mobility property of snakes is recreated in robots that look On a flat surface, the ability of a snake robot to move forward
and move like snakes. is dependent on the friction between the ground surface and the
Snake robots most often have a high number of DOFs, and body of the snake robot. Hence, unilateral contact forces and
they are able to move forward without using active wheels or friction forces are important parts of the mathematical model of
legs. Due to the high number of DOF, it can be quite expensive a snake robot. The friction forces have usually been based on a
and time-consuming to build and maintain a snake robot. This Coulomb or viscous-like friction model [11], [12], and Coulomb
motivates the development of accurate mathematical models of friction has most often been modeled using a sign function [12],
snake robots. Such models can be used for synthesis and testing [16]. The contact between a snake robot and the ground surface
of various serpentine motion patterns intended for serpentine can sometimes be approximated by a no-sideways-slip con-
locomotion. straint for snake robot with wheels [17], [18]. However, such
an approximation is not valid for wheel-less snake robots. The
Manuscript received July 19, 2007; revised November 29, 2007. This paper unilateral contact forces have been modeled as a mass-spring-
was recommended for publication by Associate Editor S. Ma and Editor F. Park
upon evaluation of the reviewers’ comments. damper system in [3] (i.e., compliant contact), and each link has
A. A. Transeth is with the Department of Applied Cybernetics, SINTEF Infor- only a single and fixed contact point with the ground surface.
mation and Communication Technology (ICT), NO-7465 Trondheim, Norway When running simulations, direct implementations or approxi-
(e-mail: aksel.transeth@sintef.no).
R. I. Leine and Ch. Glocker are with the Institut für Mechanische Systeme mations of the sign function can lead to an erroneous description
(IMES) Centre of Mechanics, Eidgenössische Technische Hochschule (ETH) of sticking contacts or very stiff differential equations. Also, a
Zürich, CH-8092 Zurich, Switzerland (e-mail: remco.leine@imes.mavt.ethz.ch; mass-spring-damper model introduces a very stiff spring that
christoph.glocker@imes.mavt.ethz.ch).
K. Y. Pettersen is with the Department of Engineering Cybernetics, leads to stiff differential equations. In addition, it is not clear
Norwegian University of Science and Technology, NO-7491 Trondheim, how to determine the dissipation parameters of the contact un-
Norway (e-mail: kristin.y.pettersen@itk.ntnu.no). ambiguously when using a compliant model [19]. The ODE
Color versions of one or more of the figures in this paper are available online
at http://ieeexplore.ieee.org. implements a form of rigid body contact (i.e., not compliant
Digital Object Identifier 10.1109/TRO.2008.917003 contact). However, the implementation of this engine trades off
1552-3098/$25.00 © 2008 IEEE
362 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008
for calculating the directions of the contact forces. where I v G i is the translational velocity of the center of gravity
This section will first give an overview of the coordinates of link i that is I v G i = I ṙ G i when it exists (i.e., for impact-free
used to describe the position and orientation of the snake robot. motion). Moreover, B i ω I B i is the angular velocity of frame
Subsequently, the gap functions will be presented. Bi relative to frame I, given in frame Bi . The transformation
I I
I r = RB i B i r can be performed with the rotation matrix RB i =
A. Coordinates and Reference Frames T
Hi H̄i , where
The snake robot model consists of n cylindrical links that Hi = [−ei ẽi + ei 0 I ] , H̄i = [−ei −ẽi + ei 0 I ] (6)
are connected by n − 1 cardan joints, each having 2 DOFs.
The distance Li between two adjacent cardan joints equals the and the superscript ∼ denotes the skew-symmetric form of a
length of link i, and the radius of each link is LS C i . Each link vector throughout this paper, i.e.,
is modeled as a cylinder of length 2LG S i with two spheres of
0 −ei 3 ei 2
radius LS C i attached to the ends the link. Link i with parts of
its two adjacent links are illustrated in Fig. 2. ẽ = ei 3 0 −ei 1 . (7)
We denote an earth-fixed coordinate frame I = (O, eIx , −ei 2 ei 1 0
ey , eIz ) (see Fig. 2) as an approximation to an inertial frame
I
The time derivative of the rotation matrix is found from [26] as
where its center O is fixed to the ground surface and the eIz -
axis is pointing in the opposite direction of the acceleration ṘIB i = RIB i B i ω̃ I B i = I ω̃ I B i RIB i . (8)
of gravity vector g = [ 0 0 −g ]T . We denote a body-fixed
The coordinates (positions and orientation) and velocities of
frame Bi = (Gi , eIx , eIy , eIz ), where Gi is the center of grav-
all links are gathered in the vectors q = [ q T
1 · · · qT
n]
T
and
ity of link i (which coincides with the geometric center of the
u = [ u1 · · · u n ] .
T T T
link-cylinder) and eIz points along the center line of link i to-
ward link i + 1. A general notation used throughout this paper
is that a vector from the origin of frame I to a point A is B. Gap Functions for Unilateral Constraints
given by r A and a vector from point A to point B is writ- Gap functions for the unilateral constraints (i.e., the ground
ten as r A B . Let a vector r described in frame I be written surface) give the minimal distance between the floor and the
as I r. front and rear part of each link. The contact surfaces between a
364 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008
The gap functions are gathered in the vector PF i that, at time instant t, coincides with a point CF i on the
front sphere closest to the ground (the same principle applies
g N = [ gN F 1 ··· gN F n gN R 1 ··· gN R n ]T . (10) for the rear part of the link). Note that the position vectors for
PF i and CF i will be the same instantaneously. However, the
differentials will be different. This is shown in the following.
C. Gap Functions for Bilateral Constraints Let CF i be a point on the front sphere that moves on the sphere
Each 2 DOF cardan joint introduces four bilateral constraints, such that the point is always closest to the ground surface. Then
which will be described by gap functions. the position of this point is
To find the translational “gap” in the joints, we need to rC F i = rG i + rG i S F i + rS F i C F i . (14)
relate the position of the joint between link i and i + 1 to
both links. Let the position of the joint between link i and Define the skew-symmetric matrix I r̃ G i C F i = I r̃ G i S F i +
i + 1 be written as I r J F i = I r G i + (1/2)Li I eBz , I rJ R i + 1 =
i
The velocity of the point CF i is obtained by dif-
I r̃ S F i C F i .
Bi+ 1
I r G i + 1 − (1/2)Li I ez . The gap functions can now be found ferentiation of (14) as
from
I v C F i =I v G i −I r̃ G i C F i RB i B i ω I B i +RB i B i ṙ S F i C F i
I I
(15)
T
gJ i χ = I rJ F i − I rJ R i + 1 I
I eχ (11) I vP F i
where Until now, the relative velocities have been given in the di-
rections along the eIx - and eIy -axes. In order to calculate the
wN Q i = [ (I eIz )T −(I eIz )T I r̃ G i C Q i RIB i ]T (18) friction forces longitudinal and transversal to a link, we need
for Q = F, R with r G i S F i = LG S i eB z
i
and r G i S R i = to know the corresponding relative velocities in these directions
−LG S i ez . The motivation to use the form (17) is that wN Q i
Bi in the (eIx , eIy )-plane. To calculate these velocities, we intro-
gives the generalized direction of the contact force between the duce for each link a frame Πi with axes (eΠ Πi Πi
x , ey , ez ), where
i
J 1 · · · γ J n −1 ] ,
where γ J = [ γ T
where T T
T
WVTQ i = [ O2×3 DT I r̃ C Q i S Q i RIB i ] (36) WJT1 04×6 ··· 04×6
..
0 WJT2
for Q = F, R. 4×6 .
WJ = ∈ R6n ×4(n −1)
We gather all the relative rolling velocities as .. ..
. . 04×6
γ V = WV u (37) 04×6 ··· 04×6 WJTn −1
(43)
where γ V = ···
[ γT γT ··· γT γT T and WJ i = [ wJ i x wJ i y wJ i z wJ i φ ] ∈ R12×4 , for i =
VF 1 VF n VR 1 WV = VR n ] ,
[ WV F WV R ] ∈ R6n ×4n , and WV F , WV R are found simi- 1, . . . , n − 1.
larly to (20) by replacing the zero vectors with 06×2 and replac-
ing the vectors wN F i , wN R i with the matrices WV F i , WV R i , V. NONSMOOTH DYNAMICS
respectively. The starting point for describing the dynamics of the snake
robot is the equality of measures as introduced in [23]. The
B. Bilateral Constraints: Joints equality of measures includes equations of motion for impact-
free motion as well as impact equations. The impact equations
Bilateral constraints introduced by the cardan joint between
give rise to impulsive behavior [24]. In this section, we employ
two adjacent links prohibit relative motion between the links in
the results from Sections III and Section IV in order to find the
4 DOFs. The relative velocities between the links along these
equality of measures for the snake robot.
DOFs need to be found in order to calculate the bilateral con-
straint forces in the joints. These relative velocities are found
from the gap functions (12) and (13). A. Equality of Measures
Relative velocities for the translational gap between link i An equality of measures describes the dynamics of the snake
and link i + 1 are defined as γJ i χ := ġJ i χ , for i = 1, . . . , n − 1, robot within the context of nonsmooth dynamics. Velocity
where χ = x, y, z. By employing (12), we find that jumps, usually associated with impacts, are modeled to occur
instantaneously. Hence, the time derivative of a velocity does
ui not always exist. By considering the generalized velocity to be
γJ i χ = wT
Ji χ (38)
ui+1 a function t → u(t) of locally bounded variation on a time in-
terval I = [ tA , tE ] [23], the function u(t) admits a right u+
where and left u− limit for all t ∈ I, and its time derivative u̇ exists
for almost all t ∈ I. To be able to obtain u from integration, we
(I eIχ )
need to use the differential measure du, where it is assumed that
− (I eIχ )T L2i RIB i Bi T
B i ẽz
the measure can be decomposed into
wJ i χ =
. (39)
−(I eIχ ) du = u̇ dt + u+ − u− dη (44)
T
− (I eIχ )T (Li+1 /2)RIB i + 1 Bi+ 1
B i + 1 ẽz where dt denotes the Lebesgue
measure and dη denotes the
atomic measure where {t 1 } dη = 1. The total increment of u
A relative velocity for the rotational gap is defined as γJ i φ := over a compact subinterval [t1 , t2 ] of I is found as
ġJ i φ , for i = 1, . . . , n − 1. Hence,
du = u+ (t2 ) − u− (t1 ) (45)
ui [t 1 ,t 2 ]
γJ i φ = wT
Ji φ (40)
ui+1 and is due to a continuous change (i.e., impact-free motion)
stemming from u̇ as well as possible discontinuities in u due
where to impacts within the time interval [t1 , t2 ]. Equation (45) is also
valid when the time interval reduces to a singleton {t1 }, and
03×1
I I
Bi T Bi+ 1 if a velocity jump occurs for t = t1 , then (45) gives a nonzero
− RB i B i ẽy RB i + 1 B i + 1 ex
wJ i φ =
.
(41) result.
03×1 From the earlier notation, the Newton–Euler equations as an
I
Bi+ 1 T
equality of measures can be written in a general form as
− RIB i + 1 B i + 1 ẽx RB i B i eB
y
i
For our choice of coordinates, the mass matrix is diagonal where λN a is the Lebesgue-measurable force and ΛN a is the
and constant purely atomic impact impulse. The same decomposition can
also be performed for the other three impulse measures.
M1 0
The control torques τ C are described in Section V-C.
.. 6n ×6n
M(q, t) = M = . ∈R (47)
0 Mn B. Constitutive Laws for the Contact Forces
In this section, we will introduce set-valued force laws for
where
normal contact and Coulomb friction. These laws will all be
mi I3×3 03×3 formulated on velocity level using the relative contact velocities
Mi = (48) γ given by (19) and (31). Subsequently, the set-valued force
03×3 B i ΘG i
laws are formulated as equalities in Section V-B.4 using the
with B i ΘG i = diag([Θ1i Θ1i Θ3i ]), mi is the mass of so-called proximal point function in order to include the force
link i, and Θ1i and Θ3i are its moments of iner- laws in the numerical simulation [22].
tia. The smooth forces, here consisting of gravity and 1) Normal Contact Force: The normal contact between a
gyroscopic accelerations, are described by h(q, u, t) = link and the floor is described by the unilateral constraint
h(u) = [hT 1 (u1 ) · · · hTn (un )] ∈ R , where hi (ui ) =
T 6n
[0 0 − mi g − (B i ω̃ I B i B i ΘG i B i ω I B i )T ]T . gN ≥ 0, λN ≥ 0, gN λN = 0 (52)
The force measure dR accounts for all the contact forces and which is known as Signorini’s law [22]. Here, λN is the normal
impulses. The contact efforts that constitute dR are found from contact force and gN is the gap function. Subscripts Ri and F i
the force laws given in Section V-B. Let I be the set of all active are temporarily removed for simplicity. This set-valued force
contacts with the ground law states that the contact is impenetrable, gN ≥ 0, the con-
tact can only transmit pressure forces λN ≥ 0, and the contact
I(t) = {a | gN a (q(t)) = 0} ⊆ {1, 2, . . . , 2n} (49)
force λN does not produce work gN λN = 0. The force law can
where gN a is the ath element of the vector g N in (10). Now, the be expressed on different kinematic levels: displacement level
force measure is written as (52), velocity level, and acceleration level. In the following, we
express all force laws for closed contact on velocity level, while
dR = WJ dP J + (WN )a dPN a all forces vanish for open contacts. Then, by employing con-
a∈I cepts of convex analysis, the relationship between the relative
velocity and the Lebesgue-measurable normal contact force (not
+ (WT )2a−1 dPT a x + (WT )2a dPT a y
an impulse) may be written for a closed contact gN = 0 as an
a∈I
inclusion on velocity level
+ (WV )2a−1 dPV a x + (WV )2a dPV a y (50)
−γN ∈ NC N (λN ) (53)
a∈I
where the convex set CN = {λN | λN ≥ 0} = R is the set+
where dPN a is the normal contact impulse measure between
of admissible contact forces, and NC N is the normal cone to
the ground and a link, dPT a x and dPT a y are the tangential con-
CN [22]. The inclusion (53) is equivalent to the condition
tact impulse measures (friction) between the floor and a link,
longitudinal and transversal to the link (i.e., along the eΠ x - and
i
γN ≥ 0, λN ≥ 0, γN λN = 0 (54)
Πi
ey -axis), respectively, dPV a x and dPV a y are the rotational con-
tact impulse measures (friction) between the floor and a link, for a closed contact gN = 0. Before explaining the force law
along the eIx -axis and eIy -axis, respectively, dP J is the contact (53), let us first mention that this force law describes the impen-
impulse measure due to the bilateral constraints in the joints etrability of sustained contact, i.e., gN = 0 and γN = 0, as well
(these constraints are always active), and the lower case sub- as the detachment: γN > 0 ⇒ λN = 0. However, (53) does not
scripts on the W matrices indicate which column of the matrix cover impacts (where we have impulses instead of forces). For
is used. The position of the elements of the vectors dP N , dP J , impacts, we need a similar impact law described at the end of
dP T , and dP V corresponds to the position of the elements in this section.
their respective vector of relative velocity γ N , γ J , γ T , and γ V . From the definition [22], [28] of a normal cone NC (x) to a
Hence, looking at, for example, the expression (32) for γ T , we convex set C at the point x ∈ Rn , we have that NC (x) = {0},
see that, e.g., dP T n + 1 = [dPT ( n + 1 ) x dPT ( n + 1 ) y ]T corresponds for x ∈ int C, and NC (x) = {∅}, for x ∈ / C. If x is on the
to γ T R 1 , and we know from this that dP T n + 1 is the tangential boundary of C, then NC (x) is the set of all vectors y ∈ Rn
contact impulse measure between the ground and the rear part that are normal to x. For example, for CN = R+ , we have
of link 1. NC N (0) = R− and NC N (2) = 0.
The contact impulse measures can be decomposed in the same The force law (53) only covers finite-valued contact efforts
way as for du. Let us take the normal contact impulse measure during impulse-free motion, i.e., all velocities are absolutely
as an example. The measure can be written as continuous in time. When a collision occurs in a rigid-body
setting, then the velocities will be locally discontinuous in order
dPN a = λN a dt + ΛN a dη (51) to prevent penetration. The velocity jump is accompanied by an
368 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008
i
αh i = −sin−1 RB B i + 1 31 (66)
VII. NUMERICAL ALGORITHM—TIME STEPPING Section V-B4 for the set of active contact points I. Hence, the
The numerical solution of the equality of measures is found constitutive laws (61) for the ground contact impulsions may
with an algorithm introduced in [23] (see also [22] and [24]) now be written as
called the time-stepping method described in the following. The PN a = proxC N (PN a − rN γN E a ) (77)
methods applied in Section VII-A and Section VII-B are based
on [27], except for the direct calculation of the bilateral contact P T a = proxC T P T a − rT γ T E a (78)
impulsions that we have introduced.
P V a = proxC V P V a − rV γ V E a (79)
A. Time Discretization where rN , rT , rv > 0, a ∈ I, γN E a is the ath element of the
Let tl denote the time at time step l = 1, 2, 3, . . . , where the vector γ N E , and γ T E a , γ V E a are the vectors of the (2a − 1)th
step size is ∆t = tl+1 − tl . Consider the (usually very short) and 2ath elements of γ T E and γ V E , respectively, and
time interval I = [tA , tE ] and let tA = tl . Define q A = q(tA ), T
γ N E = γ N (q M , uE ) = WN M uE (80)
uA = u(tA ) that are admissible with respect to both the unilat-
eral and bilateral constraints, and the unit norm constraint on the γ T E := γ T (q M , uE ) = WTT M uE (81)
Euler parameters. Our goal is now to find q E = q(tE ). We use γ V E := γ V (q M , uE ) = WVT M uE . (82)
the states of the system at the mid point tM = tA + (1/2)∆t
of the time interval I to decide which contact points are ac- The constitutive laws (77)–(82) are valid for completely in-
tive (i.e., which links are touching the ground). The coordinates elastic impact.
(positions and orientations) at tM are found from The constraints on the joints are bilateral, and it therefore,
∆t holds that γ J E := γ J (q E , uE ) = WJTM uE = 0 ∀ t. This al-
qM = qA + F(q M )uA (72) lows us to directly compute the associated contact impulsions
2
P J by solving (75) for P J with uE = 0. By solving for P J
where we have used the equality ṗ = (1/2)H̄T B i ω I B i [26], and solving (75)–(81), we find that
FH 1 07×6 · · · 07×6 ∆t
.. qE = qM + F(q M )uE . (83)
0 ··· . 2
7×6 FH 2
F(q M ) = (73)
.. .. B. Solving for the Contact Impulsions
. . 07×6
07×6 · · · 07×6 FH n In this section, we show how to calculate the contact
impulsions PN a , P T a , P V a , and P J in (76) for a ∈ I. The
I3×3 03×3 numerical integration algorithm used in this paper is called a
1 T ∈R
7×6
FH i = (74)
04×3 H̄i time-stepping method that allows for a simultaneous treatment
2 of both impulsive and nonimpulsive forces during a time step.
and H̄i is found from (6) by inserting the orientation of link The frictional contact problem, defined by (75)–(82) and finding
i at time tM . The approximation of the matrices WΞ , where P J , needs to be solved for each time step tl . A modified Newton
Ξ = N, T, J, V , on the time interval I is given as WΞM := algorithm [31] has been chosen to solve the nonlinear problem
WΞ (q M ). The same applies for hM := h(q M , uA ). A numer- iteratively because of its simplicity. Let the superscript (k )
ical approximation of the equality of measures (46) over the denote the current iteration of the modified Newton algorithm,
time interval I can now be written as and initialize all contact impulsions (for active contacts) with
the value they had the last time their corresponding contact point
M (uE − uA ) − hM ∆t − S − WJ M P J = τ C ∆t (75)
was active. Let those that were active be initialized with their
where previous values. Now, the algorithm may be written as follows.
1) Solve
S= (WN M )a PN a + [(WT M )2a−1 (WT M )2a ] P T a
−1
P J = WJTM M−1 WJTM
a∈I (k )
+ [(WV M )2a−1 (WV M )2a ] P V a (76)
· WJTM uA −WJTM M−1 hM ∆t+S (k ) +τ C ∆t (84)
a∈I
2) Solve uE
(k +1)
from given with orthotropic friction. Finally, the latter three sections
(k +1) present the experimental setup together with simulation and ex-
(k )
M uE −uA −hM ∆t − S (k ) −WJ M P J = τ C ∆t. perimental results of the motion patterns lateral undulation and
(86) sidewinding with isotropic friction.
3) Solve for a ∈ I
(k +1) (k ) (k +1) A. Model and Simulation Parameters
P Na = proxC N PN a − rN γN E a (87)
The snake robot Aiko in Fig. 1 was used as a basis for the
(k +1) (k ) (k +1)
P Ta = proxC T P T a − rT γT E a (88) parameters in the mathematical model. The model parameters
(k +1) (k ) (k +1) are for i = 1, . . . , n: Aiko has n = 11 links. The length Li =
P Va = proxC V P V a − rV γV E a (89) 0.122 m and radius LS C i = 0.0525 m of each link is found
where by measuring one of the links used on Aiko. Moreover, Aiko
(k +1) T (k +1)
weighs 7.5 kg, and we therefore, assume that each link weighs
γN E = WN M uE (90) mi = 7.5/11 kg ≈ 0.682 kg since all links are approximately
(k +1) (k +1) equal. The distance from the center of gravity of a link to the
γT E = WTT M uE (91)
center of the spheres used for contact with the ground in the
(k +1) (k +1)
γV E = WVT M uE . (92) model is calculated to be LG S i = 0.0393 m by assuming a
45◦ maximum joint deflection and that the cylindrical parts of
Repeat steps 1)–3) until the model should not come into each other for a maximum
(k +1) (k ) (k +1) (k ) joint angle. The moments of inertia Θ1i = 9.63 × 10−4 kg·m2 ,
P − P N + P T − PT
N
Θ3i = 2.35 × 10−4 kg·m2 are calculated by assuming each link
(k +1) (k )
+ P V − PV <
(93) to be a cylinder of length Li and radius LS C i with a uniform
mass distribution.
where
> 0 is a user-defined tolerance. Subsequently, q E is cal- The controller parameters are Kh p = 40 Nm, Kh d = 0.2
culated from (83) and the calculation of the time step is finished. Nm·s, Kv p = 800 Nm, and Kv d = 0.2 Nm·s. The accelera-
Usually, a higher value of the parameters rN , rT , rV yields a tion of gravity is g = 9.81 m/s2 . The simulation parameters
faster convergence rate at the risk of divergence. However, a are as follows: rN = 0.1, rT = 0.01, rV = 0.05, tstart = 0
general convergence result for the modified Newton algorithm s, tstop = 15 s, ∆t = (tstop − tstart )/N seconds, and N =
does not exist. The constitutive laws (87)–(92) used to describe 4000(tstop − tstart ). The Coulomb friction coefficients are
the contact impulses are given on velocity level. This means given together with the presentation of the simulations since
that the bilateral constraints on position level, and the unit norm we have not employed the same friction coefficients for all
constraint on the Euler parameters are, in general, not satisfied. simulations.
A solution to these problems is suggested in the following.
B. Lateral Undulation: Simulation Results
C. Constraint Violation
In this section, we let the snake robot move by the motion pat-
After the modified Newton algorithm has converged and q E
tern lateral undulation (see Section VI). We include this motion
has been found from (83), the unit-norm constraint pi = 1 is
pattern since it is commonly used for snake robots [1], [10]–[13],
satisfied from pnewE i = pE i /pE i , for i = 1, . . . , n, where pE i [32]–[34], and we therefore, want to show that the desired (for-
is the quaternion describing the orientation of link i. The new
ward) motion is obtained for our model. We do not provide an
quaternions should now be inserted into q E .
experimental validation in this section since our snake robot
The links have to be projected so that the bilateral constraints
Aiko does not have the orthotropic friction property necessary
(12), (13) are satisfied. This is done in a two-step process while
for efficient locomotion by lateral undulation on a flat surface.
keeping the position and orientation of link 1 fixed. First, the
However, we compare simulation and experimental results for
orientation of the positions of the remaining links are altered so
lateral undulation with isotropic friction in Section VIII-D.
that gJ i φ = 0 is satisfied for i = 1, . . . , n − 1. In this process, all
The Coulomb friction coefficients µT x = 0.1 (along the snake
the eB Bi Bi
z -axes are kept fixed, while the ex and ey are changed,
i
robot body) and µT y = 0.5 (transversal to the body) are em-
if necessary. Subsequently, the remaining links are translated so
ployed for the simulation of lateral undulation in this section.
that gJ i χ = 0 is satisfied for i = 1, . . . , n − 1, χ = x, y, z. The
Hence, orthotropic friction is obtained. The motion pattern is im-
new positions of the links should now be inserted into q E . Now,
plemented using the joint reference angles given by (70) and (71)
the positions q E and velocities uE can be used as the initial
with the parameters Ah = 30π/180 rad, ωh = 80π/180 rad/s,
states for the next time step tl+1 .
δh = −50π/180 rad, Av = δv = ψv = ψh = δ0 = 0 rad, and
ωv = 0 rad/s. We let the snake robot start in a curved posture
VIII. SIMULATIONS AND EXPERIMENTAL VALIDATION with its center line approximately along the eIx -axis and with its
In this section, we present simulations of the mathemati- initial joint angles given by αh i (0) and αv i (0), respectively.
cal model together with experiments with a real snake robot. Fig. 6 shows the position of the center of gravity of the middle
First, we present the model and simulation parameters. Second, link (i = 6) of the snake robot. We see that the snake robot
simulation results of the motion pattern lateral undulation are behaves as expected: the snake robot starts moving steadily
372 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008
Fig. 6. Simulation results (solid line) of the position (x6 , y 6 ) of the center of Fig. 7. Position of link 6 during lateral undulation with isotropic friction on a
gravity of link 6 in the (eIx , eIy )-plane during lateral undulation. The model is flat plane: simulation (dashed line) and experimental (solid line) results.
simulated with orthotropic friction.
Fig. 8. Top-down view of snake robot postures during simulation of startup Fig. 9. Aiko (bottom) and simulated snake robot (top) during sidewind-
with the “soft-start” approach for sidewinding. ing. The images show the snake robot at t = 0 s (straight posture), t = 5 s,
t = 10 s, and t = 15 s.
The model of the snake robot is developed based on the [4] M. Mori and S. Hirose, “Three-dimensional serpentine motion and lateral
framework of nonsmooth dynamics and convex analysis. This rolling by active cord mechanism ACM-R3,” in Proc. IEEE/RSJ Int.
Conf. Intell. Robots Syst., 2002, pp. 829–834.
framework allows us to easily incorporate the contact forces with [5] G. Chirikjian and J. Burdick, “Design and experiments with a 30 DOF
the ground, together with an accurate description of the spatial robot,” in Proc. IEEE Int. Conf. Robot. Autom., 1993, vol. 3, pp. 113–119.
Coulomb friction. In addition, even though we employ a hybrid [6] G. Chirikjian and J. Burdick, “The kinematics of hyper-redundant robot
locomotion,” IEEE Trans. Robot. Autom., vol. 11, no. 6, pp. 781–793,
model, there is no need for an explicit switch between system Dec. 1995.
equations (when, for example, an impact occurs) since both the [7] S. Ma, Y. Ohmameuda, K. Inoue, and B. Li, “Control of a 3-dimensional
nonimpulsive forces and the impact impulses are covered by snake-like robot,” in Proc. IEEE Int. Conf. Robot. Autom., vol. 2, Taipei,
Taiwan, Sep. 2003, pp. 2067–2072.
the same force law together with that we use the time-stepping [8] J. Burdick, J. Radford, and G. Chirikjian, “A ‘sidewinding’ locomotion
method for numerical treatment. The use of nonminimal abso- gait for hyper-redundant robots,” in Proc. IEEE Int. Conf. Robot. Autom.,
lute coordinates results in a constant and diagonal mass matrix May, 1993, pp. 101–106.
[9] A. A. Transeth and K. Y. Pettersen, “Developments in snake robot
and an effective way of writing the system equations. Such a modeling and locomotion,” in Proc. IEEE Int. Conf. Control, Autom.,
constant mass matrix is beneficial in the numerical treatment Robot. Vis., Singapore, Dec. 2006, pp. 1393–1400.
since it needs only to be inverted once and not in each time step [10] S. Ma, N. Tadokoro, B. Li, and K. Inoue, “Analysis of creeping locomo-
tion of a snake robot on a slope,” in Proc. IEEE Int. Conf. Robot. Autom.,
during simulation. Sep., 2003, pp. 2073–2078.
Simulations of the snake robot during the serpentine motion [11] K. McIsaac and J. Ostrowski, “Motion planning for anguilliform locomo-
pattern lateral undulation is performed. The simulation result tion,” IEEE Trans. Robot. Autom., vol. 19, no. 4, pp. 637–625, Aug. 2003.
[12] M. Saito, M. Fukaya, and T. Iwasaki, “Serpentine locomotion with robotic
shows that the orthotropic friction model based on Coulomb’s snakes,” IEEE Control Syst. Mag., vol. 22, no. 1, pp. 64–81, Feb. 2002.
law of dry friction is reasonable since the snake robot moves [13] S. Ma, “Analysis of creeping locomotion of a snake-like robot,” Adv.
forward. Robot., vol. 15, no. 2, pp. 205–224, 2001.
[14] I. Tanev, T. Ray, and A. Buller, “Automated evolutionary design,
Experiments are performed with the snake robot Aiko in robustness, and adaptation of sidewinding locomotion of a simulated
Fig. 1 for the serpentine motion patterns lateral undulation and snake-like robot,” IEEE Trans. Robot., vol. 21, no. 4, pp. 632–645, Aug.
sidewinding with isotropic friction. Back-to-back comparisons 2005.
[15] P. Lamon, T. Thueer, R. Jordi, and R. Siegwart, “Modeling and optimiza-
between simulation results and experimental results with these tion of wheeled rovers,” presented at the 8th ESA Workshop Adv. Space
motion patterns are given to validate the mathematical model. Technol. Robot., New Orleans, LA, 2004.
The simulation and experimental results compare satisfactorily. [16] S. Ma, Y. Ohmameuda, and K. Inoue, “Dynamic analysis of 3-dimensional
snake robots,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2004,
The simulation results together with the experimental valida- pp. 767–772.
tion show that the mathematical model presented in this paper [17] F. Matsuno and H. Sato, “Trajectory tracking control of snake robots
gives a satisfactory description of how our snake robot moves in based on dynamic model,” in Proc. IEEE Int. Conf. Robot. Autom., 2005,
pp. 3029–3034.
the real world. The model cannot be employed directly (as, e.g., [18] P. Prautsch, T. Mita, and T. Iwasaki, “Analysis and control of a gait of
a state estimator) to predict the exact motion of our snake robot. snake robot,” Trans. Inst. Electr. Eng. J. Ind. Appl. Soc., vol. 120-D,
However, the comparisons with experimental results show that pp. 372–381, 2000.
[19] B. Brogliato, Nonsmooth Mechanics, 2nd ed. London, U.K.: Springer-
the model is suitable for developing and testing motion patterns Verlag, 1999.
in order to see how a real snake robot will move for a given [20] R. Smith. (2007, Nov. 15). Open Dynamics Engine v0.5 user guide
motion pattern. [Online]. Available: http://ode.org/ode-latest-userguide.html
[21] Ch. Glocker, Set-Valued Force Laws, Dynamics of Non-Smooth Systems
We show in this paper how to develop a 3-D mathematical (Lecture Notes in Applied Mechanics). vol. 1, Berlin, Germany:
model of a snake robot on a flat ground surface. Further work Springer-Verlag, 2001.
will consist of extending the model to include other ground [22] R. I. Leine and H. Nijmeijer, Dynamics and Bifurcations of Non-Smooth
Mechanical Systems (Lecture Notes in Applied and Computational
shapes such as stairs. Also, the model will be used to develop Mechanics). vol. 18, Berlin, Germany: Springer-Verlag, 2004.
and test new 3-D motion patterns for snake robots. Moreover, [23] J. J. Moreau, “Unilateral contact and dry friction in finite freedom
the optimization of nonsmooth systems is a growing field of dynamics,” in Non-Smooth Mechanics and Applications (CISM Courses
and Lectures), vol. 302, J. J. Moreau and P. D. Panagiotopoulos, Eds.,
research and the 3-D model presented in this paper may, one Vienna ed.. Austria: Springer-Verlag, 1988, pp. 1–82.
day, be employed to optimize gaits with respect to, for example, [24] Ch. Glocker and C. Studer, “Formulation and preparation for numerical
speed or energy efficiency. evaluation of linear complementarity systems in dynamics,” Multibody
Syst. Dyn., vol. 13, pp. 447–463, 2005.
It is hoped that this paper can inspire other communities [25] A. A. Transeth, R. I. Leine, Christoph Glocker, and K. Y. Pettersen,
working on robot manipulators to try out the powerful modeling “Non-smooth 3D modeling of a snake robot with frictional unilateral
techniques available in the framework of nonsmooth dynamics constraints,” in Proc. IEEE Int. Conf. Robot. Biomimetics, Kunming,
China, Dec. 2006, pp. 1181–1188.
and convex analysis. [26] O. Egeland and J.T. Gravdahl, Modeling and Simulation for Automatic
Control. Trondheim, Norway: Marine Cybernetics, 2002.
REFERENCES [27] C. Le Saux, R. I. Leine, and Ch. Glocker, “Dynamics of a rolling disk in
the presence of dry friction,” J. Nonlinear Sci., vol. 15, no. 1, pp. 27–61,
[1] S. Hirose, Biologically Inspired Robots: Snake-Like Locomotors and 2005.
Manipulators. Oxford, U.K.: Oxford Univ. Press, 1993. [28] R. T. Rockafellar, Convex Analysis (Princeton Landmarks in Mathemat-
[2] S. Hirose and A. Morishima, “Design and control of a mobile robot ics). Princeton, NJ: Princeton Univ. Press, 1970.
with an articulated body,” Int. J. Robot. Res., vol. 9, no. 2, pp. 99–114, [29] A. A. Transeth, R. I. Leine, Ch. Glocker, and K. Y. Pettersen, “Non-smooth
1990. 3D modeling of a snake robot with external obstacles,” in Proc. IEEE Int.
[3] P. Liljebäck, Ø. Stavdahl, and K. Y. Pettersen, “Modular pneumatic snake Conf. Robot. Biomimetics, Kunminga, China, Dec. 2006, pp. 1189–1196.
robot: 3D modelling, implementation and control,” presented at the 16th [30] J. Gray, “The mechanism of locomotion in snakes,” J. Exp. Biol., vol. 23,
IFAC World Congr., Prague, Czech Republic, Jul. 2005. no. 2, pp. 101–120, 1946.
376 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008
[31] P. Alart and A. Curnier, “A mixed formulation for frictional contact Christoph Glocker received the Diploma and the
problems prone to Newton like solution methods,” Comput. Methods Doctoral degree in mechanical engineering, and the
Appl. Mech. Eng., vol. 92, pp. 353–375, 1991. Certificate of Habilitation in mechanics from the
[32] J. Ostrowski and J. Burdick, “Gait kinematics for a serpentine robot,” in Technische Universität (TU) München, Munchen,
Proc. IEEE Int. Conf. Robot. Autom., Apr., 1996, vol. 2, pp. 1294–1299. Germany, in 1989, 1995, and 2001, respectively.
[33] P. Wiriyacharoensunthorn and S. Laowattana, “Analysis and design of a In 1996, he was granted a Feodor Lynen Fel-
multi-link mobile robot (serpentine),” in Proc. IEEE Int. Conf. Robot., lowship supported by the Alexander von Humboldt
Intell. Syst. Signal Process., Dec., 2002, vol. 2, pp. 694–699. Foundation and spent one year at Aristotle Uni-
[34] C. Ye, S. Ma, B. Li, and Y. Wang, “Turning and side motion of versity of Thessaloniki. In 1997, he joined the TU
snake-like robot,” in Proc. IEEE Int. Conf. Robot. Autom., 2004, vol. 5, München as a Senior Engineer. He then joined the Ei-
pp. 5075–5080. dgenössische Technische Hochschule (ETH) Zürich,
[35] Z. Y. Bayraktaroglu, A. Kilicarslan, A. Kuzucu, V. Hugel, and P. Blazevic, Zurich, Switzerland, where he is currently a Full Professor of mechanics with the
“Design and control of biologically inspired wheel-less snake-like robot,” Institut für Mechanische Systeme (IMES) Centre of Mechanics. He is engaged
in Proc. IEEE/RAS-EMBS Int. Conf. Biomed. Robot. Biomechatron., Feb., in the research of nonsmooth dynamics of mechanical systems with finite de-
2006, pp. 1001–1006. grees of freedom that includes, for example, the friction and impact problem in
[36] A. A. Transeth, R. I. Leine, C. Glocker, K. Y. Pettersen, and P. Liljebäck, multibody systems, providing a generalization of classical analytical mechan-
“Snake robot obstacle aided locomotion: Modeling, simulations, and ics. His current research interests also include both theoretical and practical
experiments,” IEEE Trans. Robot., vol. 24, no. 1, pp. 88–104, Feb. 2008. questions concerning the mechanical modeling, the mathematical formulation,
[37] O. Egeland, Servo Engineering (in Norwegian). Trondheim, Norway: and the numerical treatment of systems with discontinuities, as well as their
Tapir, 1993. applications to industrial problems.
[38] M. Nilsson, “Serpentine locomotion on surfaces with uniform friction,”
in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2004, pp. 1751–1755.