3-D Snake Robot Motion: Nonsmooth Modeling, Simulations, and Experiments

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO.

2, APRIL 2008 361

3-D Snake Robot Motion: Nonsmooth Modeling,


Simulations, and Experiments
Aksel A. Transeth, Member, IEEE, Remco I. Leine, Christoph Glocker,
and Kristin Y. Pettersen, Senior Member, IEEE

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

The paper is organized as follows. A short introduction to the


modeling procedure is given in Section II. The kinematics of the
snake robot with the ground surface as a unilateral constraint
is described in Section III. Then, the groundwork for finding
the friction and ground contact forces is laid in Section IV. The
nonsmooth dynamics is presented in Section V, while the ser-
Fig. 1. NTNU/SINTEF snake robot “Aiko.”
pentine motion patterns employed in this paper are described in
Section VI. The numerical treatment of the mathematical model
is given in Section VII. Simulations and experimental valida-
simulation accuracy in order to increase simulation speed and tions are given in Section VIII. Conclusions and suggestions for
stability [15], [20]. further research are presented in Section IX.
In this paper, we develop a nonsmooth (hybrid) 3-D mathe-
matical model of a snake robot with cylindrical links without II. SUMMARY OF THE MATHEMATICAL MODEL
wheels. Set-valued force laws for the constitutive description of
This section contains a brief outline of how to derive the nons-
unilateral contact forces and friction forces in a 3-D setting are
mooth mathematical model of the snake robot. This preliminary
described in the framework of nonsmooth dynamics and convex
section is meant to motivate and ease the understanding of the
analysis [19], [21], [22]. Moreover, the model has a moving con-
forthcoming deduction of the system equations.
tact point on the surface of each link for contact with the ground
The snake robot model consists of n links connected by n − 1
surface instead of just a fixed point for each link. The latter is an
two-DOF cardan joints (i.e., rotational joints). Let u ∈ R6n be
approach employed in prior publications on mathematical mod-
a vector containing the translational and rotational velocities of
els of 3-D snake robot motion. Stick-slip transitions (based on a
all the links of the snake robot (the structure of the snake robot
set-valued Coulomb friction law) and impacts with the ground
together with the coordinates and reference frames are described
are modeled as instantaneous transitions. This results in an accu-
further in Section III). Let the differential measures du and dt
rate model of spatial Coulomb friction where both the direction
be loosely described for now as a “possible differential change”
of the friction force and a true stick-phase are taken properly into
in u and time t, respectively, while a more precise definition
account. For wheel-less snake robots, it is important to describe
is given in Section V. The use of differential measures allows
the frictional contact between the wheel-less snake robot and
for instantaneous changes in velocities that occur for impacts
the ground in an accurate manner, both with respect to stick-slip
between the snake robot and the ground surface. The system
transitions and the direction of the friction force while sliding
equations for the snake robot can now be written as
along the ground surface. This latter property also distinguishes
wheel-less snake robots from, e.g., legged mechanisms that most M du − h dt − dR = τ C dt (1)
often try to “stick” to the ground rather than sliding along it.
The dynamics of the snake robot is described by an equality which is called the equality of measures [23], where M ∈
of measures, which includes the Newton–Euler equations for R6n ×6n is the mass matrix, h ∈ R6n consists of the smooth
the nonimpulsive part of the motion as well as impact equa- forces, τ C ∈ R6n contains all the joint actuator torques, and
tions. A particular choice of coordinates results in an effective dR ∈ R6n accounts for the normal contact forces/impulses
way of writing the system equations. The set-valuedness of the from the ground, the Coulomb friction forces/impulses, and
force laws allows us to write each constitutive law with a sin- the bilateral constraint forces/impulses in the joints. Note: We
gle equation and avoids explicit switching between equations allow in this paper for instantaneous changes in velocities
(for example, when a collision between the snake robot and the usually associated with collisions. Hence, the (normal con-
ground surface occurs) even though this is a hybrid system. This tact/friction/constraint) forces are not always defined due to the
is advantageous since the snake robot links repeatedly collides infinite accelerations. In these cases, we have impulses instead
with the ground surface during, e.g., locomotion by sidewinding. of forces. The nonsmooth equality of measures (1) allows us to
A discretization of the equality of measures gives the so-called formulate in a uniform manner both the smooth and nonsmooth
time-stepping method (see [22] and references therein) that we phases of motion. This is achieved partly by representing the
use for numerical simulation. The description of the model and contact forces/impulses as contact impulse measures.
the method for numerical integration are presented in this paper A substantial part of the beginning of this paper is devoted
in such a way that people who are new to the field of nonsmooth to deducting the force measure dR. Hence, let us briefly look
dynamics can use this paper as an introduction to nonsmooth at how to derive the contribution of the normal contact impulse
modeling of robot manipulators with impacts and friction. In measure between the ground and the first link in dR. Let dR1 ∈
addition, we present experimental results that validate the math- R6 be the sum of contact impulse measures that directly affects
ematical model. To the best of our knowledge, this is the first link 1 (i.e., the six top elements of dR), then
time such a back-to-back comparison between simulation and  
friction and joint constraint
experimental results is presented for 3-D snake robot motion. dR1 = wN dPN + (2)
impulse measures
The experiments are performed with the snake robot “Aiko” in
Fig. 1 built at the Norwegian University of Science and Tech- where dPN ∈ R is the normal contact impulse measure from
nology (NTNU)/SINTEF Advanced Robotics Laboratory. the ground on link 1, and wN ∈ R6 is the corresponding
TRANSETH et al.: 3-D SNAKE ROBOT MOTION: NONSMOOTH MODELING, SIMULATIONS, AND EXPERIMENTS 363

generalized force direction, i.e., a Jacobian (subscripts “j” and


“1” are omitted for brevity).
Let gN ∈ R be a function giving the shortest distance between
the rear part of link 1 and the ground. Such a function is called
a gap function [24]. The gap function is the starting point for
the systematic approach of finding the impulse measures. The
ground and the rear part of the link are separated if gN > 0, are
in contact if gN = 0, and are penetrating each other if gN < 0.
Now, the relative velocity between link 1 and the ground along
the shortest line between the two objects can be defined as
γN := wT
N u1 (3) Fig. 2. Reference frames.

where u1 is the velocity of link 1 and wN = ∂gN /∂q is the


generalized force direction used in (2). It holds that γN = ġN The position and orientation of link i are described by the
for almost all t. The normal contact impulse measure dPN is nonminimal absolute coordinates [25]
related to the relative velocity γN through a set-valued force  
I rG i
law (see Section V-B1. The set-valuedness of the force laws qi = ∈ R7 (4)
allows us to write each constitutive law (force law) with a single pi
equation and avoids explicit switching between equations (for where I r G i = [xi yi zi ]T ∈ R3 is the position of the center
example, when a collision occurs). In addition, this formulation of gravity of link i relative to frame i and the vector pi =
provides an accurate description of the planar Coulomb friction [ei 0 eT T T
i ] , where ei = [ei 1 ei 2 ei 3 ], contains the four Euler
(see Section V-B2). In the following three sections, we will parameters used to describe the rotation. The Euler parameters
elaborate on how to derive the elements that constitute (1), that form a unit quaternion vector with the constraint pT i pi = 1.
is, the various gap functions, relative velocities, and finally, the The coordinates are nonminimal because each link is described
forces/impulses that appear in the equality of measures. with six coordinates, and absolute because the position and
orientation of link i is given directly relative to frame I. The
III. KINEMATICS velocity of link i is given by
The kinematics describes the geometrical aspect of motion.  
I vG i
From the geometry of the snake robot, we develop gap functions ui = ∈ R6 (5)
for ground contact detection. These functions are also needed ω
Bi I Bi

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

IV. CONTACT CONSTRAINTS ON VELOCITY LEVEL


In this section, we calculate relative velocities between the
snake robot and the ground from the gap functions. The relative
velocities are needed to set up the set-valued contact forces for
the closed contacts [27].

A. Unilateral Contact: Ground Contact


Fig. 3. Surfaces (solid-drawn circles) on snake robot that constitute the contact
between the robot and the ground.
Contact between the snake robot and the ground involves
(vertical) normal forces, which guarantee the unilaterality of
the contact, and (horizontal) tangential contact forces, which
link and the ground are modeled as two spheres at the ends of are due to friction and are dependent on the normal contact
the link, as illustrated for a three-link robot in Fig. 3. forces and the relative sliding velocities.
We denote the distance between the center of the two spheres 1) Relative Velocities Along eIz : The relative velocities be-
that belong to link i by 2LG S i and the radius of the spheres by tween the front and rear part of link i and the ground along the
LS C i . The position of the center of the front and rear spheres are eIz -axis are defined as γN F i := ġN F i and γN R i := ġN R i (when
denoted by r S F i and r S R i , respectively. The shortest distance they exist), respectively, and they are used later to find the nor-
between the ground and the points on the front and rear spheres mal contact forces. Before we proceed, note that γN F i (or γN R i )
closest to the ground are denoted by gN F i and gN R i , respectively. should not be found directly by taking the time derivative of
The distances are found from the expression for gN F i (or gN F i ) in (9). This is the case since
the expressions (9) have already been simplified due to the fact
gN F i = (r S F i )T eIz − LS C i , gN R i = (r S R i )T eIz − LS C i (9) that expressions have been inserted for the various body-fixed
vectors that constitute the gap functions. Instead, for the relative
velocities, we must consider the velocity of a body-fixed point
z , r S R i = r G i − LG S i ez .
where r S F i = r G i + LG S i eB i Bi

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 we now can use


for i = 1, . . . , n − 1, and χ = x, y, z. Hence,
T r S F i C F i = −LS C i eIz (16)
gJ i χ = I rG i − I rG i + 1 I
I eχ
and we have employed (8) and B i ṙ G i S F i = 0, together
1
Bi+ 1 T with the identities I ω̃ I B i I r G i S F i = − I ω I B i I r̃ G i S F i and
+ Li RIB i Bi I
B i ez +Li+1 RB i + 1 B i + 1 ez
I
I eχ (12)
2 I ω̃ I B i I r S F i C F i = − I ω I B i I r̃ S F i C F i . We see from (15) an ex-
pression for the velocity I v P F i of the body-fixed point PF i that,
for i = 1, . . . , n − 1. at time instant t, coincides with the point CF i . This velocity will
The next gap function provides a “gap” in rotation around the be employed to find both the relative velocities along eIz and the
axis that a cardan joint is not able to rotate around. Let eB
y and
i
tangential relative velocities. The equivalent velocity I v P R i on
Bi+ 1
ex be the axes of rotation for the cardan joint between link the rear part of the sphere is found similarly to I v P F i in (15) by
Bi+ 1
i and link i + 1, then (eB i T
y ) ex = 0. Hence, a measure for replacing F i by Ri in (15) and (16).
the rotational “gap” can be defined from the previous equality Now, the relative velocities along eIz for the front and rear
as the gap function part of link i can be found as
I
Bi T
γN Q i = ( I eIz )T I v P Q i =⇒ γN Q i = (wN Q i )T ui (17)
gJ i φ = RIB i B i ey RB i + 1 B i + 1 eB
x
i+ 1
. (13)
TRANSETH et al.: 3-D SNAKE ROBOT MOTION: NONSMOOTH MODELING, SIMULATIONS, AND EXPERIMENTS 365

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

ground and the front and rear part of link i. Πi I


I ez = I ez , and
A vector gathering all γN F i and γN R i is
Πi Axy I eB
z
i
Πi
I
I ez × I eΠ
x
i
T
γN = WN u (19) I ex = , I ey = (27)
Axy I ez 
Bi
 I eIz × I ex 
Πi

where [γN = [ γN F 1 · · · γN F n γN R 1 · · · γN R n ]T , WN = where Axy = diag([1, 1, 0]). Hence, it holds that


[ WN F WN R ] ∈ R6n ×2n , and
  RIΠ i = [ I eΠ
x
i Πi
I ey
Πi
I ez ]. (28)
wN Q 1 06×1 · · · 06×1
 ..  Notice that I eΠ x = I ez
i Bi
and I eΠ i Bi
y = I ex when link i is
 0 . .. 
 6×1 .  Bi I
lying flat on the ground with I ey = I ez . Since only the motion
WN Q =   (20)
 . . ..  in the (eIx , eIy ) -plane is of interest, we define
 . . 06×1 
 T
06×1 ··· 06×1 wN Q n 1 0 0
R̄IΠ i = DT RIΠ i D, D= . (29)
for Q = F, R. 0 1 0
2) Tangential Relative Velocities: Friction forces between a
Since we now have that γ T Q i = R̄IΠ i γ T Q i , Q = F, R, the rela-
link and the ground depend on the relative velocities in the
tive velocity between the floor and the front part of link i, with
(eIx , eIy )-plane between the snake robot links and the ground.
respect to frame Πi , can be found from (25) as
These velocities are termed tangential relative velocities. First,
the relative velocities between the front part of link i and the γT Q i = WTTQ i ui (30)
ground along the eIx - and eIy -axis, γT F i x and γT F i y , will be
deducted. Subsequently, the relative velocities for the front part where γ T Q i = [ γ T Q i x γ T Q i y ]T , WT Q i = WT Q i R̄IΠ i , for
of link i along the projection of the longitudinal axis of the link Q = F, R.
onto the (eIx , eIy )-plane γT F i x and transversal to the link γT F i y , A vector that gathers all γ T F i and γ T R i is found from
will be deducted from γT F i x and γT F i y , respectively. The same
γ T = WTT u (31)
type of notation applies for the rear part of link i: γT R i x , γT R i y ,
γT R i x , and γT R i y . The tangential relative velocities are found where
much in the same way as for γN F i and γN R i . Consequently, we T
find the velocities of the points PF i and PR i along the eIx - and γT = [ γT
TF 1 ··· γT
TF n γT
TR 1 ··· γT
TR n ] (32)
eIy -axis. Hence, by looking at (17), we see that the tangential WT = [ WT F WT R ] ∈ R6n ×4n , and WT F , WT R are found
relative velocities of the contact points on the front part of the similarly to (20) by replacing the zero vectors with 06×2 and
link can be found as replacing the vectors wN F i , wN R i with the matrices WT F i ,
γ
TF i ζ= ( eI )T v
I ζ I =⇒ γ 
PF i = (w
TF i ζ )T u TF i ζ (21) i
WT R i , respectively.
3) Relative Rolling Velocities: Up until now, we have only
for ζ = x, y, where considered the translational relative motion of the snake robot
links. However, we also need to consider rotational relative
wT F i ζ = [ (I eIζ )T −(I eIζ )T I r̃ G i C F i RIB i ]T . (22)
motion to add a damping effect on the rotational motion in the
The relative velocities between the rear part of the link and form of rotational friction. In order to do this, we introduce a
the ground are found by exchanging I v P F i with I v P R i in (21) relative rolling velocity as

γT R i ζ = (I eIζ )T I v P R i =⇒ γT R i ζ = (wT R i ζ )T ui (23) γ V Q i = DT I r C Q i S Q i × I ω I B i (33)
for ζ = x, y, where for Q = F, R, where γ V Q i = [ γV Q i x γV Q i y ]T and
I
wT R i ζ = [ (I eIζ )T −(I eIζ )T I r̃ G i C F i RIB i ]T . (24) I r C Q i S Q i = LS C i I ez is the vector pointing (upwards) from
the body-fixed point CQ i on the link end sphere momentarily
The tangential relative velocities for the front and rear part of closest to the ground, toward the center SQ i of the end sphere.
the link i are combined in vectors By employing the identity
γT Q i = WTTQ i ui (25) I rC Q i S Q i × I ω I B i = I r̃ C Q i S Q i RIB i B i ωI B i (34)
for Q = F, R, where γT Q i = [ γT Q i x γT Q i y ]T and we find that the relative rolling velocity can be written as
 
WT Q i = wT Q i x wT Q i y ∈ R6×2 . (26) γV Q i = WVTQ i ui (35)
366 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008

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

M (q, t) du − h (q, u, t) dt − dR = τ C dt (46)


Let γJ i = [ γJ i x γJ i y γJ i z γJ i φ ]T , then we can gather all
the relative velocities concerned with the bilateral constraints in where the mass matrix M(q, t), the vector of smooth forces
one vector h(q, u, t), the force measure of possibly atomic impact impul-
sions dR, and the vector of applied torques τ C will be described
γ J = WJT u (42) in the following.
TRANSETH et al.: 3-D SNAKE ROBOT MOTION: NONSMOOTH MODELING, SIMULATIONS, AND EXPERIMENTS 367

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

conclude that γ T = 0. Obviously, this corresponds to the stick


phase of the friction law. If the friction force is on the boundary
of CT , then the normal cone NC T (λ λT ) consists of the outward
normal ray on the ellipse CT at the point λT .
The advantage to formulate the friction law as the inclusion
(57) now becomes apparent. First of all, note that (57) is a
spatial friction law. Such a spatial friction law cannot properly
be described by a set-valued sign function. Some authors [10],
[12] model the spatial contact with two sign functions for the
two components of the relative sliding velocity using two fric-
tion coefficients µT x and µT y . Others smoothen the (set-valued)
Fig. 4. Relationship between tangential relative velocity and friction force. sign function with a smoothening function, e.g., some arctan-
The set C T is in gray. gent function. This results in a very steep slope of the friction
curve near zero relative velocity. Such an approach is very cum-
impact impulse ΛN , for which we will set up an impact law. The bersome for two reasons. First of all, stiction cannot properly be
+
relative velocity admits, similarly to the velocities u, a right γN described: an object on a slope will with a smoothened friction
− law always slide. Second, the very steep slope of the friction
and a left γN limit. The impact law for a completely inelastic
impact at a closed contact can now be written as curve causes the differential equations of motion to become nu-
merically stiff. Summarizing, we see that (57) describes spatial
−γN
+
∈ NC N (ΛN ), CN = {ΛN | ΛN ≥ 0} = R+ (55) Coulomb friction taking stiction properly into account.
which is equivalent to the condition While the force law (57) only describes the Coulomb friction
during impulse-free motion, we also need a force law for impact
+
γN ≥ 0, ΛN ≥ 0, +
γN ΛN = 0. (56) impulses λT . These are found from the exact same form as (57)
Notice that the force law (53) and impact law (55) is on the same by replacing γ T with its right limit γ +T and inserting λ T instead
form. We have earlier stated that there is no need for an explicit of λT both in (57) and in the convex set CT in (58).
switch between equations when, e.g., an impact occurs. This be- 3) Rolling Friction: The snake robot modeled in this paper
comes evident in Section VII with the introduction of the contact has cylindrical links which means that it may roll sideways. The
impulse (that includes both forces and possible impulses) for the spatial Coulomb friction described in the previous section arises
discretization of the system dynamics. from translational motion. In addition, there is also a force that
The force law for normal contact given in this section can also resists the rolling motion of the snake robot. We model this force
be employed to describe normal contact with obstacles. This is as a “rolling friction” λV ∈ R2 (additional subscripts omitted
described in [29]. for simplicity) in this paper by employing the same set-valued
2) Coulomb Friction Force: In this section, we describe the force law as for the tangential Coulomb friction force λT in
friction force between the snake robot and the ground when Section V-B2. However, we consider the rolling friction to be
the snake robot slides along the ground surface as set-valued isotropic, and therefore, we find the rolling friction as
Coulomb friction. Similarly to the force law (53) for normal −γ V ∈ NC V (λ
λV ) (59)
contact, we describe the constitutive description for friction us-
ing an inclusion on a normal cone. The friction force λT , in where
the 2-D tangent plane to the contact point, is modeled with an CV = {λ
λV | λ
λV  ≤ µV λN } (60)
anisotropic Coulomb friction law
and µV > 0 is the friction coefficient.
−γ T ∈ NC T (λ
λT ) (57) The general form of the force law (59) is also valid for impact
where γ T is a relative sliding velocity, NC T is the normal cone impulses ΛV in the same way as for the tangential Coulomb
to the set CT , and the ellipse friction described in Section V-B2. Subsequently, the impact
  impulse is found by exchanging γ V with γ + V and λ V with ΛV
λ2T x λ2T y in (59) and (60).
CT = λT | + 2 ≤ 1 (58) 4) Constitutive Laws as Projections: An inclusion cannot be
(µT x λN )2 µT y λN
directly employed in numerical calculations. Hence, we trans-
is the set of admissible friction forces, where λT = form the force laws (53), (57), and (59) that have been stated as
[λT x λT y ]T , and µT x , µT y > 0 are directional friction coeffi- an inclusion to a normal cone, into an equality. This is achieved
cients along the eΠ Π
x - and ey -axis from (27), respectively. Fig. 4 through the so-called proximal point function proxC (x), which
depicts the set CT (in gray), together with the relationship be- equals x if x ∈ C and equals the closest point in C to x if x ∈
/ C.
tween the tangential relative velocities and the friction force The set C must be convex. Using the proximal point function,
when it is on the boundary of CT . we transform the force laws into implicit equalities [22]
The force law (57) distinguishes between two cases: if the
friction force is in the interior of CT or on its boundary. If −γκ ∈ NC κ (λκ ) ⇐⇒ λκ = proxC κ (λκ − rκ γκ ) (61)
λT ∈ int CT , then it holds that NC T (λ λT ) = 0 from which we where rκ > 0 for κ = N, T, V .
TRANSETH et al.: 3-D SNAKE ROBOT MOTION: NONSMOOTH MODELING, SIMULATIONS, AND EXPERIMENTS 369

side to side, and αv i describes the lifting and lowering of the


links. The rotation angles can now be found from the relative
rotation matrix (63) as
 Bi 
−1
(RB i + 1 )32
αv i = tan (65)
(RBB i + 1 )33
i

i
αh i = −sin−1 RB B i + 1 31 (66)

for i = 1, . . . , n − 1, where (RB


B i + 1 )32 is the element of the
i

matrix RB B i + 1 in row 3 column 2, etc.


i

The rotational velocities of the joints are found directly from


the rotational velocities of the links. We define the rotational
velocity for sideways motion as ωh i = dT2 ω J i and lifting motion
as ωv i = dT1 ω J i for the joint between link i and i + 1, where
dT1 = [ 1 0 0 ], dT2 = [ 0 1 0 ], and
Fig. 5. Control torques. (a) Side view. (b) Top view. i T
ω J i = B i + 1 ω I B i + 1 − RB
B i + 1 B i ωI B i . (67)
C. Joint Actuators Let the desired values of αh i and αv i be αh i ,r and αv i ,r ,
Each cardan joint has 2 DOF that are controlled by two joint respectively. In addition, the reference values for the joint ve-
actuators. The actuators are modeled as controlled torques ap- locities ωh i , ωv i are given by α̇h i ,r and α̇v i ,r , respectively. Then,
plied around the axes of rotation for the joint. Fig. 5 illustrates proportional derivative (PD) controllers for the joints are
how the direction of positive rotation is defined. Define for link i
a positive control torque τv i to give a positive rotational velocity τh i = Kh p (αh i − αh i ,r ) + Kh d (ωh i − α̇h i ,r ) (68)
B
around ex i + 1 and a positive control torque τh i to give a positive τv i = Kv p (αv i − αv i ,r ) + Kv d (ωv i − α̇v i ,r ) (69)
rotational velocity around eB y , both with respect to link i. The
i

total torque τ C i ∈ R applied to link i is


3
for i = 1, . . . , n − 1, where Kh p , Kh d , Kv p , and Kv d are posi-
        tive constants and equal for all i.
0 0 τv i τv ( i −1 )
       
B i −1  τh ( i −1 )  + RB i + 1  0  − 
τ C i =  τh i  − RB i Bi
0 
B. Motion Pattern and Reference Angles
0 0 0 0
(62) A general expression for defining some of the most common
for i = 1, . . . , n, where the relative rotation matrix is motion patterns for snake robots is given by
I T I
RB
B i + 1 = RB i
i
RB i + 1 (63) αh i ,r = Ah sin (ωh t + (i − 1)δh ) + ψh (70)
and τh 0 = τv 0 = τh n = τv n = 0. The vector of the torques ap- αv i ,r = Av sin (ωv t + (i − 1)δv + δ0 ) + ψv (71)
plied to all links τ C ∈ R6n is
T
for i = 1, . . . , n − 1, where αh i ,r and αv i ,r are the reference
τ C = [ 01×3 τT
C1 01×3 C 2 · · · 01×3
τT τT
C n ] . (64) angles for αh i and αv i , and Ah , Av are the amplitude of oscil-
lation, ωh , ωv are the angular frequencies, δh , δv are the phase
VI. MOTION PATTERN AND JOINT CONTROL offsets, and ψh , ψv are the angle offsets, for the horizontal and
In this section, we will define the joint angles and show how vertical waves, respectively [3]. The offset between the vertical
to control them for snake robot locomotion. and horizontal waves is given by δ0 .
Two motion patterns that biological snakes use have been em-
A. Accessing and Control of Joint Angles ployed in this paper. The first motion pattern is called “lateral
undulation” (also denoted “serpentine crawling”) where loco-
The joint angles are not directly accessible from the nonmini- motion is obtained by propagating horizontal waves from the
mal coordinates, but can be calculated from the relative rotation front to the rear of the snake body while exploiting roughness
matrices RB Bi
B i + 1 in (63). Assume that RB i + 1 is constructed from
i
in the terrain and digging its body into the ground. These latter
successive rotations (Euler angles with the zyx-convention) αz i , two properties are the motivation for our anisotropic friction
αh i , and αv i : RB B i + 1 = Rα z i Rα h i Rα v i . Since we have cardan
i
model. The second motion pattern is called “sidewinding” and
joints, let Rα z i = I3×3 be the rotation around the eB z -axis, and
i
is mainly used by biological snakes moving on uniform sur-
Bi B
let Rα h i and Rα v i describe the rotation around ey and ex i + 1 , faces [30]. Parts of the snake are lying relatively stationary on
respectively. Hence, αh i describes the DOF of the cardan joint the ground while the rest of the body is lifted and moved forward
between link i and link i + 1 that moves link i and i + 1 from resulting in a looping movement during locomotion.
370 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008

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

and PN a , P T a , P V a , and P J are the contact impulsions dur- where


ing the time interval I. They consist of forces λ acting during  (k )
I, and possible impulses Λ acting in the time interval I. The S (k ) = (WN M )a PN a
subscript a denotes which link the contact impulsions are acting a∈I

on, and is employed the same way as for the contact impulse + [(WT M )2a−1 (WT M )2a ] P T a
(k )
measures in (50). To find the positions and orientations q E at a∈I
the end of the time interval, we need to solve (75) for uE and  (k )
the contact impulsions. The contact impulsions associated with + [(WV M )2a−1 (WV M )2a ] P V a . (85)
ground contact are found using the prox functions described in a∈I
TRANSETH et al.: 3-D SNAKE ROBOT MOTION: NONSMOOTH MODELING, SIMULATIONS, AND EXPERIMENTS 371

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.

angles. Data logging was performed at 20 Hz. We have chosen


forward mainly along the eIx -axis. The forward motion would to let the position of link 6 represent the position of the snake
not have been the result for an isotropic friction model (i.e., robot, because then we filter any transient behavior of the snake
µT x = µT y ). In that case, the snake robot would have moved robot that might occur at its ends, and it is thus, easier to focus
slowly backward as we will see in Section VIII-D. In order on the general motion of the snake robot. The center of gravity
to increase the velocity of a snake robot, even with isotropic of the whole snake robot (instead of a specific link) can also be
friction, the snake robot may push against external objects to advantageous to be used to represent the position of the snake
move forward. Such an approach is elaborated on in, e.g., [35] robot. However, such an approach is cumbersome to realize with
and [36]. our Vicon system.
Particle boards were used as the ground surface.
C. Experimental Setup
The snake robot Aiko (Fig. 1) used in the experiments was D. Lateral Undulation: Simulation and Experimental Results
built in 2006 at the NTNU/SINTEF Advanced Robotics Labo- In this section, we compare simulation and experimental re-
ratory,1 Trondheim, Norway. Aiko has ten 2 DOF cardan joints sults for lateral undulation with isotropic friction. The reference
and 11 links. The length Li and mass mi of the links are the joint angles are calculated from (70) and (71) with the parame-
same as given for the mathematical model in Section VIII-A. ters Ah = 40π/180 rad, ωh = 80π/180 rad/s, δh = −50π/180
The metal sphere used as a “face” in Fig. 1 was removed in rad, Av = δv = δ0 = 0 rad, ωv = 0 rad/s, and ψh = ψv = 0,
the experiments to obtain a uniform weight distribution along for both the simulation and the experiment. We let the snake
the snake robot. The friction coefficients in the model were robot start in a curved posture with its center line approximately
calculated from the measurements obtained by dragging Aiko along the eIx -axis and with its initial joint angles given by αh i (0)
from a scale along the particle board. The friction coefficients and αv i (0). Fig. 7 shows both the position of link 6 calculated
were found to be µT x = µT y = 0.2, and these values will be from the mathematical model in the simulation and the position
employed in the simulations in the remainder of this paper. logged from the experiment with Aiko. We see that the snake
Each 2 DOF cardan joint was actuated by two 6 W dc motors. robot moves slowly backward along the eIx -axis. From Fig. 7,
The two motors were controlled by a controller with dynamic we see that the 3-D model display the same trend in motion as
feedback [37] implemented on an Atmel ATmega128 microcon- observed in the experiment. However, the distance traveled is
troller. The snake robot joint reference angles were sent with a greater in the simulation, and we have tried varying the friction
frequency of 10 Hz from a PC, via a controller area network coefficients (while still keeping isotropic friction), but this did
(CAN) bus to the microcontrollers. The position of the center not seem to have a noticeable effect on the simulation results.
of the middle link (link 6) was tracked using a Vicon MX Mo- The difference in distance traveled may come as a consequence
tion Capture System with four cameras (MX3) together with of that the model of the snake robot is able to control its joints
Matlab Simulink. The Vicon programme (Vicon iQ 2.0) ran on more accurately, and thus, is able to reach the maximum am-
a computer with four Intel Xeon 3 GHz processors and 2 GB plitude when it is required to do so. Also, this suggests that the
RAM. The logging of motion data was synchronized in time friction contact between the snake robot and the ground surface
through a Transmission Control Protocol (TCP) connection be- is even more complex than what has been accounted for in the
tween the PC that controlled Aiko and the Vicon-computer at model. A more elaborate list of possible sources of errors is
the startup of the transmission of the desired snake robot joint given in Section VIII-F.
We note from these simulation and experimental results that
1 Online Available: http://www.sintef.com/snakerobots the direction of locomotion by lateral undulation with isotropic
TRANSETH et al.: 3-D SNAKE ROBOT MOTION: NONSMOOTH MODELING, SIMULATIONS, AND EXPERIMENTS 373

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.

friction is the same as the direction of the waves that is propa-


gated along the body of the snake robot. This is coherent with
results found in [38], where this phenomenon is elaborated on.

E. Sidewinding: Simulation and Experimental Results


In this section, we present and compare the simulation results
and the experimental results for the motion pattern sidewinding.
The joint reference angles are found from (70) and (71) with
the parameters Ah = 30π/180 rad, ωh = 80π/180 rad/s, δh =
−50π/180 rad, Av = 10π/180 rad, ωv = ωh , δv = δh , δ0 =
90π/180 rad, and ψh = ψv = 0 rad, for both the simulation
and the experiment. We employ a “soft start” approach during
the startup of the snake robot from its initial (straight) posture
to avoid large steps in the reference signal. To this end, we
override the expressions (70) and (71) and set αh i (t) = 0 rad Fig. 10. Position of link 6 during sidewinding on a flat plane: simulation
(dashed line) and experimental (solid line) results. The triangle and the circle
until the reference signal is within |αh i (t)| ≤ 3π/180 rad for mark the end of the paths.
the first time after startup. The same applies for αv i . The shape
of the snake robot during startup with the “soft-start” approach
is illustrated in Fig. 8 for sidewinding. model in Matlab in order to keep the time it takes to implement
Fig. 9 illustrates how Aiko and the model move during the 15 s the model relatively short.
simulation of sidewinding locomotion. Since all the simulations Figs. 10 and 11 display the position of link 6 for the 3-D model
have now been performed, a note on the computational cost is and Aiko during sidewinding. We observe from the figures that
appropriate. All simulations were performed on a Pentium-M the model almost follows the eIy -axis, while Aiko steadily turns
1.8 GHz computer running Matlab R2006a. For 20 s simu- somewhat to the right. In addition, the model covers a greater
lations, it took on average about 7.1 min to simulate 1 s of distance than Aiko. We see from Figs. 10 and 11(b) that the sim-
sidewinding motion and only 1.3 min to simulate 1 s of lateral ulation results have the same trend and approximate frequency
undulation. The difference in simulation speed arises from that as the experimental results along the eIy -axis. The variance in
the 3-D motion during sidewinding is more complex than pla- trend is more noticeable along the eIx -axis due to the turning mo-
nar motion by lateral undulation. The simulation speed can be tion of Aiko. Moreover, a slight initial difference between the
greatly increased by instead implementing the model in, for ex- orientation of Aiko and the model may contribute to the discrep-
ample, C++. However, we have chosen to first implement the ancy in heading. We discuss in Section VIII-F various reasons
374 IEEE TRANSACTIONS ON ROBOTICS, VOL. 24, NO. 2, APRIL 2008

unable to track the desired joint movement precisely. This


particularly the case for vertical motion where larger joint
torques are required.
3) The exoskeleton of Aiko is not modeled precisely since
this would require a great deal of consideration of the ge-
ometry of the snake robot, and this would severely com-
plicate the expressions for contact with the environment.
4) For each cardan joint, there is, in fact, a 2.2 cm distance
between the rotational axes for the yaw and pitch motion.
However, to simplify the kinematics, we have assumed
that the axes intersect.
5) The Stribeck effect [22] is not included in the model of
friction. The Stribeck effect states, roughly speaking, that
friction forces acting on a body is reduced just after it is
Fig. 11. Position of link 6 during sidewinding on a flat plane:simulation
set in motion.
(dashed line) and experimental (solid line) results. 6) The varnish on the underside of the snake robot has been
worn down. This has resulted in that the snake robot links
slide easier when rolled slightly to one of the sides where
for the differences between the simulation and experimental re-
the varnish is still present.
sults. For sidewinding, we believe that one of the most important
7) There was a time delay between the startup of the snake
differences between the 3-D model and Aiko is that Aiko is not
robot and the startup of the logging of position data. This
able to control its joints accurately. This is particularly the case
delay ranged between 50 and 150 ms.
for vertical (lifting) motion that is needed for sidewinding. By
8) The physical parameters of the snake robot may be slightly
inspecting Aiko closely during the experiment, we noticed that
incorrect, partly since we assume that each link has a
a large part of its body was touching the ground at the same
uniform mass distribution.
time. This was not the case in the simulation where the snake
The list of possible errors is long, and it is difficult to de-
robot joints were accurately controlled that resulted in that most
termine what issues are the most important in order to explain
if its body was lifted from the ground during locomotion.
the differences between the simulation and experimental results.
We observe from Figs. 10 and 11(b) that Aiko sometimes
Also, the main factors may vary depending on which motion pat-
slides a little backward (at t ≈ 5 s, t ≈ 9 s, and t ≈ 14 s). We
tern is tested. To this end, we believe that for lateral undulation
have tried to reproduce this phenomenon in the 3-D model by
1) and 2) are the most important reasons for the differences since
lowering and increasing the friction coefficient. We have also
the snake robot is always lying flat on the ground. Moreover, for
tried a variety of anisotropic friction properties, but without any
sidewinding locomotion, 1)–5) affect the comparison the most.
luck. The backward motion might be a result of Aiko not being
Even though there are several sources of error, we see from
able to lift its links properly. The links that are supposed to be
the plots that compare the simulation and experimental results
lifted and moved forward are instead sometimes dragged along
that the model gives a satisfactory qualitative description of the
the particle board. This results in a friction force that acts in
snake robot dynamics. The model is not accurate enough to
the opposite direction of the desired motion of the snake robot.
precisely predict the quantitative motion of the snake robot, but
This friction force might result in that some of the parts that
it should be possible to improve the accuracy of the model by
are supposed to be lying stationary on the ground are instead
taking into account the various sources of errors listed before.
pushed slightly backward.
However, at its current state, the model gives a clear indication
of how the snake robot will move during sidewinding and lateral
F. Discussion of the Experimental Validation undulation with isotropic friction and extending the model will
We see from Figs. 10 and 11 that the simulation and exper- require a considerable amount of work in tailoring the model to
imental results compare fairly well. However, the differences the specific snake robot Aiko. Hence, the process will have to
between the two results need to be addressed, and we list the be repeated for new snake robot designs. Instead of presenting a
most important possible sources of errors in the following. These model with such a very close resemblance to Aiko, we present
effects have not been included in the mathematical model. a model for synthesis and testing of new 3-D motion patterns.
1) Aiko has a noticeable free play in the joints of about 3–5◦ . Moreover, the comparisons between the simulation and experi-
This results in that the control of the joint angles is not mental results suggest that our model is valid for this purpose.
completely accurate and a joint angle might not be able to
reach its desired angle. IX. CONCLUSION AND FURTHER WORK
2) The dynamics of the actuators are not modeled. Hence, In this paper, we present a 3-D nonsmooth mathematical
the actuators in the models are extremely strong and fast, model that enables synthesis and testing of 3-D snake robot
and we are able to accurately control the actual angle of motion patterns. Experiments show that the models describe in
each joint to its desired position. This is not the case for a realistic manner how a real snake robot will behave during
Aiko where the joint motors sometimes saturate and are locomotion.
TRANSETH et al.: 3-D SNAKE ROBOT MOTION: NONSMOOTH MODELING, SIMULATIONS, AND EXPERIMENTS 375

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.

Kristin Y. Pettersen (S’93–M’98–SM’04) received


Aksel A. Transeth (S’04–M’08) received the M.Sc. the M.Sc. and Ph.D. degrees in electrical engineering
and Ph.D. degrees from the Department of Engineer- from the Norwegian University of Science and Tech-
ing Cybernetics, Norwegian University of Science nology (NTNU), Trondheim, Norway, in 1992 and
and Technology (NTNU), Trondheim, Norway, in 1996, respectively.
2004 and 2008, respectively. She is currently with the Department of Engi-
He is currently a Research Scientist in the Depart- neering Cybernetics, NTNU, where she became an
ment of Applied Cybernetics, SINTEF Information Associate Professor in 1996 and a Professor in 2002.
and Communication Technology (ICT), Trondheim, During 1999, she was a Visiting Fellow in the De-
a Norwegian research organization. His current re- partment of Mechanical and Aerospace Engineering,
search interests include modeling and control of dy- Princeton University, Princeton, NJ. She is the author
namical systems, biologically inspired locomotion, or coauthor of more than 80 published conference and journal papers. Her cur-
and robotics. rent research interests include nonlinear control of mechanical systems with
applications to robotics, satellites, autonomous underwater vehicles (AUVs),
and ships.
Prof. Pettersen received the IEEE Transactions on Control Systems Technol-
ogy Outstanding Paper Award in 2006. She also holds several board positions.

Remco I. Leine received the M.Sc. degree in me-


chanical engineering from the Technical University,
Delft, Delft, The Netherlands, in 1996, and the Ph.D.
degree in mechanical engineering from the Technical
University Eindhoven, Eindhoven, The Netherlands,
in 2000.
He has been a Postdoctoral Researcher with the
Technical University Munich and the Institut Na-
tional de Recherche en Informatique et en Automa-
tique (INRIA) Rhône-Alpes. He has also been a Post-
doctoral Researcher at the Eidgenössische Technis-
che Hochschule (ETH) Zürich, Zurich, Switzerland, where, since 2003, he was
a Senior Lecturer in the Institute of Mechanical Systems, and in 2007, obtained
his Habilitation and was appointed as a “Privatdozent” of mechanics at the
Institut für Mechanische Systeme (IMES) Centre of Mechanics. His current re-
search interests include the intersection of nonsmooth dynamics and nonlinear
dynamics: stability theory for nonsmooth systems, friction-induced vibration
and nonlinear phenomena, discontinuous bifurcations in nonsmooth dynamical
systems, and multibody systems with impact and friction.

You might also like