Compliant Control of The Body Shape of Snake Robots

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

2014 IEEE International Conference on Robotics & Automation (ICRA)

Hong Kong Convention and Exhibition Center


May 31 - June 7, 2014. Hong Kong, China

Compliant Control of the Body Shape of Snake Robots


Pål Liljebäck, Kristin Y. Pettersen, Øyvind Stavdahl, and Jan Tommy Gravdahl

Abstract— This paper presents a general motion planning is achieved by assigning mass-spring-damper dynamics to
framework for body shape control of snake robots. We demon- the shape control points, which is a novel approach with
strate the applicability of the framework for straight line path respect to previous literature on locomotion control in non-
following control, and for implementing body shape compliance
in environments with obstacles. Compliance is achieved by flat environments (see e.g. [6]–[9]).
assigning mass-spring-damper dynamics to the shape curve The framework builds on and improves preliminary results
defining the motion of the robot. The performance of the control presented in [10], where the authors proposed a similar
strategies is illustrated with simulation results. framework with a different and significantly more complex
set of parameters.
I. I NTRODUCTION The paper is organized as follows. Section II presents a
Snake robots are robotic mechanisms designed to move model of the snake robot dynamics in order to introduce
like biological snakes [1]. Their flexible body and narrow basic notation. The general motion planning framework is
cross-section provide traversability in challenging environ- presented in Section III, and its applicability for path follow-
ments which surpasses the mobility of more conventional ing and body compliance control is demonstrated in Section
wheeled, tracked and legged robots. IV and V, respectively. Simulation results are presented in
Numerous approaches to motion control of snake robots Section VI, followed by concluding remarks in Section VII.
have been proposed in the literature, and the reader is referred
II. A M ATHEMATICAL M ODEL OF A S NAKE ROBOT
to [2] for a detailed overview. The majority of previous con-
trol approaches are based on specifying directly the motion of This section summarizes a mathematical model of a snake
each individual joint angle of the snake robot, which means robot crawling on a flat surface with circular obstacles.
that the overall body shape motion is controlled implicitly The model is presented to introduce the notation used in
through the joint angles (see e.g. [3]–[5]). This approach subsequent sections, and has been used to produce the
works well during motion on flat surfaces. In cluttered and simulation results presented in Section VI. A more detailed
irregular environments, however, where adaptation of the presentation of the model is given in [2], [11].
motion to the environment is essential in order to maintain Remark 1: The general motion planning framework pre-
mobility, we are primarily interested in controlling the overall sented in this paper yields for three-dimensional motion.
(macroscopic) body shape with respect to the environment. For the sake of simplicity, however, the control strategies
For this reason, it would simplify the control problem if we proposed based on the framework, and therefore also the
could specify the motion in terms of parameters which are mathematical model presented in this section, assume that
more intuitively mapped to the overall body shape of the the snake robot carries out planar motion in the horisontal
snake robot. plane.
To this end, we propose in this paper a motion planning We consider the snake robot illustrated in Fig. 1, which
framework for snake robots. Instead of specifying joint consists of N links of length l with equal mass m and
angles, the framework allows the motion of the robot to moment of inertia J. The links are interconnected by
be specified in terms of coordinates of shape control points N − 1 motorized joints and the actuator torque at joint i ∈
(SCPs). The proposed approach is simple and general, and {1, . . . , N − 1} is ui . Each link is subjected to an isotropic
can also be employed to control flexible robot manipulators. Coulomb ground friction force with friction coefficient µ.
The applicability of the framework is demonstrated in The position of the CM (center of mass) of the robot is
two steps. In the first step, we employ the framework to denoted by p = (px , py ) ∈ R2 and the absolute angle θi of
formulate a straight line path following controller for snake link i ∈ {1, . . . , N } is expressed with respect to the global
robots. In the second step, we show how the framework can x axis with counterclockwise positive direction. The angle
implement body shape compliance in order to adapt the loco- of joint i is defined as φi = θi − θi+1 and the global frame
motion in cluttered obstacle environments. The compliance heading of the robot P is defined as the average of the link
N
angles, i.e. as θ = N1 j=1 θj .
Affiliation of Pål Liljebäck is shared between the Dept. of Engineer- The planar environment of the snake robot contains obsta-
ing Cybernetics at the Norwegian University of Science and Technology cles with a circular shape. The interaction with an obstacle
(NTNU), 7491 Trondheim, Norway, and SINTEF ICT, Dept. of Applied
Cybernetics, 7465 Trondheim, Norway. E-mail: [email protected]. is modelled by introducing a unilateral velocity constraint
Kristin Y. Pettersen is with the Centre for Autonomous Marine Operations for a contacted link. The constraint is unilateral (acts in
and Systems, Dept. of Engineering Cybernetics at NTNU, 7491 Trondheim, one lateral direction only) since the constraint shall allow
Norway. E-mail: [email protected].
Øyvind Stavdahl and Jan Tommy Gravdahl are with the Dept. of sideways motion of the link away from the obstacle, but
Engineering Cybernetics at NTNU, 7491 Trondheim, Norway. E-mail: prevent any sideways motion towards (and thereby into) the
{Oyvind.Stavdahl, Tommy.Gravdahl}@itk.ntnu.no. obstacle (see [11] for details). As shown in Fig. 1, the total
This work was partly supported by the Research Council of Norway
through project no. 205622 and its Centres of Excellence funding scheme force from an obstacle on link i consists of an obstacle
project no. 223254. friction force f µ,i in the direction parallel to the link and

978-1-4799-3685-4/14/$31.00 ©2014 IEEE 4548

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.
Fig. 1. Parameters of the robot kinematics and obstacle contact forces.

TABLE I
T HE BASIC PARAMETERS OF THE MOTION PLANNING FRAMEWORK .

Symbol Description
n Number of SCPs in the shape curve.
Pi ∈ R3 Coordinates of the ith SCP.
S(s) ∈ R3 Shape curve which interconnects the SCPs. Fig. 2. Overview of the motion planning framework.
shead ∈ R Shape curve location of the VSR’s head.

B. The Shape Control Points and the Shape Curve


an obstacle constraint force f c,i in the normal direction of
the link. The magnitude of the obstacle friction force f µ,i is To construct the shape curve defining the desired shape
scaled by the normal force f c,i through the Coulomb friction of the snake robot, we begin by defining a set of SCPs.
coefficient µo . The global frame coordinates of the SCPs are denoted by
P 0 , P 1 , . . . , P n−1 , where n is the number of SCPs in the
T
III. A M OTION P LANNING F RAMEWORK FOR S NAKE shape curve and P i = [Pi,x , Pi,y , Pi,z ] ∈ R3 . The number
ROBOT L OCOMOTION n of SCPs is generally not fixed since the motion of the snake
robot can be defined by periodically extending the shape
In this section, we propose a general framework which curve with SCPs according to the desired motion pattern.
facilitates motion planning for snake robots. The shape curve interconnecting the SCPs is denoted
by S(s), where s ∈ [0, n − 1] is the scalar shape curve
A. Overview of the Motion Planning Framework parameter. The curve is produced by interpolating between
The motion planning framework is summarized in Fig. 2. the SCPs using any chosen interpolation method such that
In particular, the desired shape of the snake robot is specified S(i) = P i , where i ∈ {0, . . . , n − 1}. Note that motion
in terms of shape control points (hereafter denoted SCPs). planning strategies for the SCPs can be specified indepen-
The SCPs are interconnected by a curve denoted the shape dently from the choice of interpolation.
curve, which defines the macroscopic shape of the snake Remark 2: Note that the framwork supports locomotion in
robot. A virtual snake robot (hereafter denoted VSR) with three-dimensional environments (since the SCPs are defined
identical kinematic structure as the physical robot is aligned in R3 ), although the control strategies presented in Section
along the shape curve, starting from some specified location IV and V consider planar motion.
along the curve. The joint reference angles for the physical
robot are then defined as the joint angles of the VSR. C. The Virtual Snake Robot (VSR)
Furthermore, dynamic motion patterns for the physical robot As illustrated in Fig. 2, the shape curve is mapped to joint
are produced by varying the SCP coordinates and/or the reference angles for the physical snake robot by aligning
location of the VSR along the shape curve with time. a VSR (with identical kinematic structure as the physical
As illustrated in Fig. 2, motion planning is carried out robot) along the curve and then using the resulting joint
within this framework by specifying the Cartesian coor- angles of the VSR as reference angles for the physical robot.
dinates of the SCPs and the shape curve location of the The motion planner only needs to specify the location of the
VSR. Whereas previous control approaches are based on VSR’s head tip on the shape curve, which is denoted by
specifying the motion of the joints directly (as depicted in shead . The alignment of the VSR is subsequently carried out
Fig. 2), the reference angles within the framework follow automatically within the framework.
implicitly from the explicitly specified body shape since the Remark 3: The framework does not specify how to align
framework automatically aligns the VSR along the shape the VSR along the shape curve since this is a completely
curve. Moreover, the task of adapting the body shape motion decoupled control problem which depends on the specific
to the environment is reduced to the task of specifying kinematic structure of the robot. This decoupling is a sig-
coordinates of the SCPs in the environment of the robot. nificant advantage of the framework since it allows control
The details of the motion planning framework are now strategies to be specified on the (macroscopic) shape curve
presented using the parameters listed in Table I. level without considering the specific kinematic structure of

4549

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.
Fig. 4. Parameters of the shape frame and of the VSR aligned along the
shape curve.

IV. A PPLICATION OF THE M OTION P LANNING


F RAMEWORK FOR PATH F OLLOWING C ONTROL ON F LAT
S URFACES
In this section, we employ the motion planning framework
to formulate a path following controller. In Section V, this
controller is extended to additionally make the body shape
compliant with respect to its environment.

A. Assumptions
Although the motion planning framework supports loco-
Fig. 3. Examples of applications of the motion planning framework.
motion in three-dimensional environments (since the SCPs
are defined in R3 ), we assume that the robot undergoes
strictly planar motion according to the model presented
in Section II. The measured sensor data available to the
the robot (number of joints, length of links, etc.). This also controller are the CM position (px , py ), the heading θ, and
means that the same control strategy can be used to control the joint angles φj , j ∈ {1, . . . , N − 1}, of the physical
snake robots with different kinematics. snake robot.
Remark 4: If the path following controller is employed
D. Generating Motion Patterns on a flat surface, the links must have anisotropic friction
properties in order for the ground friction forces to efficiently
Motion patterns are defined by the way the SCP coordi-
propel the robot [2]. In obstacle environments, on the other
nates and/or the location of the VSR along the shape curve
hand, the links may have isotropic friction properties since
are varying with time. There are three possible approaches
obstacles can be used as push-points in order to propel the
for generating motion patterns:
robot. We call this obstacle-aided locomotion [2].
1) Progressing the VSR forward along the shape curve
while continuously retrieving its joint angles (exem- B. The Control Objective
plified in rows (a) - (c) in Fig. 3).
2) Fixing the VSR on the shape curve while varying the The control objective is to steer the robot so that it
SCP coordinates with time (exemplified in row (d) in converges to and tracks a straight path while maintaining
Fig. 3). a heading parallel to the path. To this end, we define the
3) A combination of approaches 1 and 2 (exemplified in global frame so that the global x axis is aligned with the
row (e) in Fig. 3). desired straight path. The position of the snake robot along
the global y axis, py , is then its distance to the desired path
Approach 1 is exemplified in rows (a) - (c) in Fig. 3, which (i.e. the cross-track error) and the heading θ is its angle with
show the shape curve for some common locomotion gaits, i.e. respect to the path.
lateral undulation, sinus lifting, sidewinding, and concertina
motion, respectively [2]. Approach 2 is exemplified in row
C. The Path Following Controller
(d) in Fig. 3, where a sideways rolling motion is achieved
by fixing the VSR on a shape curve consisting of three SCPs The complete path following controller is detailed in this
while moving the first and last SCP in a circle. Approach 3 subsection. In addition to the basic framework parameters
is exemplified in row (e) in Fig. 3, where the SCPs are listed in Table I, the controller also makes use of the
specified in a map of the environment around the robot. The parameters illustrated in Fig. 4 and listed in Table II (where
VSR is progressed forward along the shape curve to create we have included model parameters from Section II).
a travelling wave that propels the physical robot forward. At 1) The Gait Segment: We choose to propel the snake robot
the same time, the SCP coordinates are continuously adjusted according to the gait pattern lateral undulation [2]. This gait
based on measured contact forces along the robot body in pattern is the most common form of snake locomotion and
order to adapt the motion to the environment. This example consists of travelling waves that are propagated backwards
corresponds to the the control strategy simulated in Section along the body in order to propel the robot forward. We
VI. achieve this motion pattern by defining a gait segment

4550

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.
TABLE II
PARAMETERS OF THE PATH FOLLOWING CONTROLLER .
been added to the shape curve, the process starts over from
the first SCP.
Symbol Description 3) The Virtual Snake Robot: The VSR has similar kine-
matics as the physical robot (i.e. N links of length l) and is
N Number of snake robot links.
aligned along the shape curve by placing each joint center
l Length of each snake robot link. on the curve. As shown in Fig. 4, the resulting angle of link
px , py ∈ R CM position of the physical robot. j ∈ {1, . . . , N } is denoted by θjVS , where superscript ’VS’
φj ∈ R Angle of joint j of the physical robot. is short for virtual snake. Furthermore, we denote the shape
uj ∈ R Actuator torque at joint j of the physical robot. curve parameter of joint j ∈ {0, . . . , N } by sj , where s0 is
kp , kd Joint angle controller gains of the physical robot. the shape curve parameter of the tail tip, s1 is the parameter
VS of the first joint, and sN = shead is the parameter of the
θ, θ ∈R Heading of the physical robot and the VSR.
head tip.
θj , θjVS ∈ R Angle of link j of the physical robot and the VSR.
In order to generate joint reference angles corresponding to
sj ∈ R Shape curve location of joint j of the VSR. the cyclic gait pattern, the VSR is simply progressed forward
v VS ∈ R Velocity of the VSR along the shape curve. along the shape curve at some desired velocity denoted by
k Number of SCPs in the gait segment. v VS . This progression is achieved by manipulating the control
P GS 3 input shead (i.e. the shape curve location of the head tip)
i ∈R Coordinates of the ith SCP in the gait segment.
ψs ∈ R Angle of the shape frame wrt the global frame. such that Ṡ(shead ) = v VS . Every time the VSR reaches
kψ , ∆ ∈ R Heading controller gain and look-ahead distance. the end of the shape curve, a new SCP is added to the curve
according to (2).
4) The Heading Controller: In order to steer the physical
according to a single period of the cyclic wave motion. The snake robot towards the desired straight path, we employ the
gait segment is simply a collection of k SCPs denoted by Line-of-Sight (LOS) guidance law [2]
p 
y
θref = − arctan
n o
P GS , P GS
, . . . , P GS
(1) (4)
0 1 k−1 ∆
which defines the form of the shape curve over one cycle where py is the cross-track error and ∆ > 0 is a design
of the motion pattern, and where superscript ’GS’ is short parameter referred to as the look-ahead distance. The head-
for gait segment. The segment is repeatedly concatenated ing reference angle θref corresponds to the orientation of the
with the shape curve one SCP at a time to create a cyclic robot when it is headed towards the point that is located a
motion. We only add one SCP at a time since this allows distance ∆ ahead of itself along the desired path.
for directional control of the motion each time a new SCP In order to control the heading θ of the physical robot
is added (see Section IV-C.4). according to θref , we choose to manipulate the shape frame
Note that the framework gives us the freedom to ’draw’ angle ψs . Since, by (2), this angle determines the direction
any type of wave shape using the SCP coordinates in (1), in which the shape curve is developed, we conjecture that a
such as a rectangular or sinusoidal shape with a desired rotation of the shape frame will introduce a similiar change
amplitude and wave length. As an example, Fig. 8(a) shows in the heading of the physical robot. To this end, we align the
the specific gait segment used to simulate the path following shape frame with the heading of the VSR, which we define
VS PN
controller in Section VI. as θ = N1 j=1 θjVS , and we steer the physical robot by
2) The Shape Frame: In order to control the direction in adjusting ψs according to the control law
which the shape curve is developed, we define, as shown in VS 
Fig. 4, a shape frame with coordinate axes denoted by xs ψs = θ + kψ θref − θ (5)
and ys , respectively. The angle between the global x axis where kψ > 0 is the gain of the heading controller.
and the xs axis is denoted by ψs . Furthermore, the origin Remark 5: The shape frame orientation has no influence
of the shape frame coincides with the last SCP of the shape on existing SCPs in the shape curve, which means that
curve, whose coordinates are P n−1 = S(n − 1). directional control according to (5) is only performed when
A SCP from the gait segment in (1) is added to the shape a new SCP is added according to (2).
curve such that the shape frame vector from P n−1 to the 5) The Control Input for the Physical Snake Robot: The
new SCP equals the vector from the previous to the new joint angles of the aligned VSR are continuously used as joint
SCP in the gait segment. In other words, when SCP j ∈ reference angles for the physical robot. Consequently, the
{1, . . . , k − 1} from the gait segment is added to the shape reference angle of joint j ∈ {1, . . . , N − 1} of the physical
curve, its global frame coordinates P new are robot is
φj,ref = θjVS − θj+1
VS
(6)
 
P new = P n−1 + Rz (ψs ) P GS GS
j − P j−1 (2)
and we choose the motor torque uj at joint j according to
where   the PD controller
cos ψs − sin ψs 0
Rz (ψs ) =  sin ψs cos ψs 0 (3) uj = kp (φj,ref − φj ) − kd φ̇j (7)
0 0 1
where kp > 0 and kd > 0 are controller gains.
is the rotation matrix from the shape frame to the global Remark 6: A formal analysis of the complete path follow-
frame. Note that after all k SCPs from the gait segment have ing controller is a topic of future work.

4551

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.
TABLE III
PARAMETERS OF THE COMPLIANCE CONTROLLER .

Symbol Description
P ∗i ∈ R3 Nominal (initial) coordinates of the ith SCP.
βi ∈ R Angle of the vector P i − P ∗i w.r.t. the xs axis.
mSCP ∈ R Virtual mass of an SCP.
kSCP (β) ∈ R Spring coefficient profile for the SCPs.
dSCP ∈ R Damping coefficient for the SCPs.
aSCP (s) ∈ R Adaptation profile for the SCPs.
f c,j , f VS
c,j ∈ R
3 Contact force on link j of the physical robot and the
Fig. 5. The compliance of the shape curve is achieved by assigning mass- VSR, respectively.
spring-damper dynamics to the SCPs.
sc,j ∈ R Shape curve location of the contact force on link j.
F i,j ∈ R3 Force on ith SCP due to contact force on link j.

V. A PPLICATION OF THE M OTION P LANNING


F RAMEWORK FOR C OMPLIANT B ODY S HAPE C ONTROL Section IV-C.3), we define the shape curve parameter of the
contact force as
In this section, we employ the motion planning framework
1
to propose a compliance controller which makes the body sc,j = (sj−1 + sj ) (8)
shape of a snake robot compliant with respect to contact 2
forces from its environment. The resulting force mapped to the shape curve is denoted by
f VS
c,j . Since the force is normal to link j of the VSR, whose
A. Assumptions link angle is θjVS , we have that
f VS VS

We apply the same assumptions as described in Section IV- c,j = Rz θj − θj f c,j (9)
A. In addition, we assume that the normal direction contact
forces on the links are measured, where f c,j is the measured where the rotation matrix Rz (θjVS − θj ) is defined in (3) and
contact force on link j ∈ {1, . . . , N }. rotates the force f c,j so that it points in the normal direction
of link j of the VSR.
B. Motivation and Overview 2) Mapping Shape Curve Forces to the SCPs: The effect
of the contact forces on the SCPs is defined by an adaptation
Efficient locomotion in cluttered environments requires profile aSCP (s). The adaptation profile is identical for all
that the body shape motion is adapted to the geometry of SCPs and is simply a scalar function that scales the force
the environment. The motion planning framework proposed applied to a SCP based on the shape curve parameter distance
in this paper is particularly well suited to tackle this control s from the SCP to the force. In particular, since the shape
problem since the body shape of the robot can be controlled curve parameter of the contact force on link j is sc,j , its
quite directly with respect to its environment through the curve parameter distance to the ith SCP is
SCP coordinates.
The idea behind the control scheme proposed in this s = i − sc,j (10)
section is illustrated in Fig. 5 and involves assigning mass- since the curve parameter of the ith SCP by definition is i.
spring-damper dynamics to the SCPs of the shape curve. In Consequently, the resulting force acting on the ith SCP due
particular, measured contact forces along the body of the to the contact force on link j is given by
physical snake robot are mapped to the shape curve and
displace the SCPs according to their mass-spring-damper F i,j = aSCP (i − sc,j ) f VS
c,j (11)
dynamics (i.e. the SCPs are compliant). Consequently, the where f VSc,j is defined in (9).
adjusted shape curve automatically adapts the shape of the The adaptation profile is a key control design parameter. If
physical robot to its environment. The control scheme uses aSCP (s) = 0, then no environment adaptation occurs. A nat-
the parameters listed in Table III. ural choice is to choose the profile such that aSCP (s) ∈ [0, 1],
and such that the scaling is high for small s (i.e. for SCPs that
C. The Compliance Controller are close to the contact force) and small/zero for large s. With
1) Mapping Contact Forces to the Shape Curve: The this approach, a contact force will induce adaptive behaviour
measured contact force on link j ∈ {1, . . . , N } of the of the body shape close to the applied force, while more
physical snake robot is given by f c,j and acts in the normal distant parts of the body will not be affected by the force.
direction of the link. We map this contact force to the Such local adaptive behaviour is also displayed by biological
shape curve by assuming that a similar contact force acts snakes [12]. To this end, we propose that the adaptation
in the center and normal direction of link j of the VSR. In profile is defined according to the exponential function
particular, we denote the shape curve parameter of this force 2
aSCP (s) = e−(ka s+δ) (12)
by sc,j . Since the force shall act in the center of link j of
the VSR and since the shape curve parameter of the joint at which satisfies aSCP (s) ∈ [0, 1], and where ka and δ are
each end of link j is given by sj−1 and sj , respectively (see design parameters. The effect of this adaptation profile on

4552

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.
according to the exponential function
2
kSCP (β) = k1 + k2 e−β (13)
which gives a spring stiffness of k1 + k2 for spring extension
along the forward direction of motion (β = 0), and which
decreases towards k1 for increasing spring extension angles.
From the above discussion, we can now state the compli-
ance dynamics of the ith SCP of the shape curve as
N
X
mSCP P̈ i + dSCP Ṗ i + kSCP (βi ) (P i − P ∗i ) = F i,j (14)
j=1

where i ∈ {0, . . . , n − 1}, P̈ i and Ṗ i are the acceleration


and velocity of the SCP, respectively, (P i − P ∗i ) is the
extension of the virtual spring, and the summation term on
Fig. 6. A contact force acting along the shape curve (a), and the resulting the right-hand side gives the total force on the SCP from the
adapted shape curve using (12) with δ = 0 (b) and δ > 0 (c). contact forces on all N links of the snake robot according to
(11). For an appropriately defined adaptation profile aSCP (s)
and spring coefficient profile kSCP (β), we conjecture that
the shape dynamics in (14) will automatically adapt the
the shape curve is illustrated in Fig. 6, which shows that δ locomotion of a snake robot to its environment.
offsets the compliance location with respect to the contact
force. In particular, a SCP will get the largest influence of the VI. S IMULATION S TUDY
force on link j if its shape curve parameter is sc,j −δ/ka . We This section presents simulation results which illustrate the
conjecture that lateral inhibition [1] is achieved for δ = 0 performance of the path following controller from Section IV
(Fig. 6(b)), while rotation of the contact force towards the combined with the compliance controller from Section V.
forward direction is achieved for δ > 0 (Fig. 6(c)).
3) The Compliance Dynamics: The compliant behaviour A. Simulation Parameters
of the shape curve, which we introduce to adapt the body 1) Model Parameters: The model of the snake robot
of the robot to its environment, is achieved by assigning presented in Section II was implemented in Matlab R2011a.
mass-spring-damper dynamics to the SCPs. In particular, The parameters of the robot were N = 11, l = 16 cm,
each SCP i ∈ {0, . . . , n − 1} is assigned a virtual mass m = 0.6 kg, and J = 0.0013 kgm2 . Circular obstacles
mSCP . Furthermore, a virtual spring-damper is connected measuring 10 cm in diameter were placed in a random fash-
between its current coordinates P i and its nominal (initial) ion in the environment of the snake robot. The ground and
coordinates P ∗i , i.e. the coordinates of the SCP when it was obstacle friction coefficients were µ = 0.2 and µo = 0.25,
first added to the shape curve (see Fig. 5). With this approach, respectively. The initial link angles were zero and the initial
a SCP will be compliant around its initial coordinate and, CM position was p = (0, 1), i.e. the robot was initially
consequently, the shape curve will be compliant around the placed 1 m away from the desired path (the global x axis)
gait pattern encoded in the gait segment (see Section IV-C.1). with its heading parallel to the path.
The spring and damping coefficient of the SCPs are denoted 2) Control Parameters: The motion planning framework
by kSCP and dSCP , respectively. was implemented in Matlab alongside the mathematical
In the following, we elaborate on the choice of spring model of the snake robot. The shape curve was constructed
stiffness kSCP . A contact force acting in the forward direction using a piecewise cubic hermite interpolating polynomial
of the snake robot contributes positively to its propulsion, [13], which is achieved in Matlab using the function ’pchip’.
while contact forces acting in the opposite direction are This interpolation method was chosen since it creates smooth
obstructive. For this reason, the adaptive behaviour of the curves which do not overshoot the SCPs.
shape curve should depend on the direction of the contact With reference to Section IV, the gain and look-ahead
force with respect to the forward direction of motion. We distance of the heading controller were kψ = 1 and ∆ =
achieve such directionally dependent compliance by choos- lN/2 = 0.88 m, respectively, and the joint angle controller
ing a directionally dependent spring stiffness kSCP (β), where gains were kp = 4 and kd = 1. The progression velocity of
β is the direction in which the spring is displaced. As the VSR along the shape curve was v VS = 20 cm/s. The gait
illustrated in Fig. 5, the direction in which the ith SCP is segment was defined according to the k = 9 SCPs plotted
displaced is denoted by the angle βi and is defined with in Fig. 8(a).
respect to the xs axis of the shape frame. We define βi The compliance controller in (14) was implemented using
with respect to the shape frame since the xs axis is aligned the adaptation profile defined by (12) with ka = 1.4 and
with the heading of the VSR (see Section IV-C.4), which δ = 1. The profile is plotted in Fig. 8(b) and we chose
means that the xs axis defines the direction of propulsive δ > 0 to achieve the propulsive effect illustrated in Fig.
contact forces. A natural choice is to make the shape curve 6(c). The virtual mass and damping coefficient of the SCPs
highly compliant for obstructive contact forces and stiff or were mSCP = 1 kg and dSCP = 20, respectively. The
less compliant for propulsive contact forces. To this end, spring coefficient profile was defined according to (13) with
we propose that the spring coefficient profile is defined k1 = 30 and k2 = 100, and is plotted in Fig. 8(c).

4553

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.
with body compliance. Fig. 9 shows the path of the robot
and also its shape and position at t = 20 s, 60 s, and 90 s,
respectively. Furthermore, Fig. 10 shows (a) the cross-track
error, (b) the heading, (c) the locomotion velocity, and (d) the
center link contact forces. Moreover, Fig. 10(e)-(f) illustrate
the function of the compliance controller by showing the
VSR and the physical robot at t = 49 s. In Fig. 10(e), lines
are drawn between the nominal and adapted SCPs to indicate
the extension of the springs.
There is a significant improvement in the locomotion effi-
ciency when body shape compliance is present. In particular,
(a) The path of the center link (link 6). we see from Fig. 9 that the distance travelled by the robot
is more than trippeled compared to in Fig. 7(a), and from
Fig. 10(d) that the magnitudes of the obstacle contact forces
are significantly reduced compared to the forces in Fig.
7(c). In summary, the proposed control strategy successfully
steered the snake robot towards and along the desired straight
path in the obstacle environment.
VII. C ONCLUSIONS
This paper has presented a general motion planning frame-
work for body shape control of snake robots using shape
control points. The framework was employed to formulate a
(b) Locomotion velocity, v.
controller which enables a snake robot to track straight paths,
and also to achieve body shape compliance in environments
with obstacles by assigning mass-spring-damper dynamics to
the shape control points. The successful performance of the
control strategies was illustrated with simulation results.
R EFERENCES
[1] S. Hirose, Biologically Inspired Robots: Snake-Like Locomotors and
Manipulators. Oxford: Oxford University Press, 1993.
[2] P. Liljebäck, K. Y. Pettersen, Ø. Stavdahl, and J. T. Gravdahl, Snake
Robots - Modelling, Mechatronics, and Control, ser. Advances in
Industrial Control. Springer, 2013.
(c) Contact force on link 6, |fc,6 |. [3] P. Prautsch, T. Mita, and T. Iwasaki, “Analysis and control of a gait
of snake robot,” Trans. Institute of Electrical Engineers of Japan, vol.
120-D, no. 3, pp. 372–381, 2000.
Fig. 7. Simulation of path following without environment adaptation. [4] S. Ma, “Analysis of creeping locomotion of a snake-like robot,” Adv.
Robotics, vol. 15, no. 2, pp. 205–224, 2001.
[5] M. Saito, M. Fukaya, and T. Iwasaki, “Serpentine locomotion with
robotic snakes,” IEEE Contr. Syst. Mag., vol. 22, no. 1, pp. 64–81,
B. Simulation Results February 2002.
[6] Z. Y. Bayraktaroglu, “Snake-like locomotion: Experimentations with a
biologically inspired wheel-less snake robot,” Mechanism and Machine
To show the importance of environment adaptation during Theory, vol. 44, no. 3, pp. 591–602, 2008.
snake locomotion, the path following controller was first [7] T. Sato, T. Kano, R. Kobayashi, and A. Ishiguro, “Snake-like robot
simulated without body compliance, i.e. with the adaptation driven by decentralized control scheme for scaffold-based locomo-
tion,” in Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems
profile aSCP (s) = 0. The path of the center link of the (IROS), 2012, pp. 132–138.
physical snake robot (link 6) is plotted in Fig. 7(a), where [8] T. Kamegawa, R. Kuroki, M. Travers, and H. Choset, “Proposal of
the red circles indicate the obstacles, the dotted black line earli for the snake robot’s obstacle aided locomotion,” in IEEE Int.
Symp. Safety, Security, and Rescue Robotics (SSRR), 2012, pp. 1–6.
indicates the desired straight path, and where the shape [9] D. Rollinson and H. Choset, “Gait-based compliant control for snake
and position of the robot are shown in blue at t = 50 s. robots,” in Proc. IEEE Int. Conf. Robotics and Automation, 2013, pp.
Furthermore, Fig. 7(b) shows the locomotion velocity of the 5123–5128.
q [10] P. Liljebäck, K. Y. Pettersen, Ø. Stavdahl, and J. T. Gravdahl, “A
robot, which we define as v = 2 2
ṗx + ṗy , and Fig. 7(c) control framework for snake robot locomotion based on shape control
shows the magnitude of the contact forces on the center link, points interconnected by Bézier curves,” in Proc. IEEE/RSJ Int. Conf.
on Intelligent Robots and Systems, 2012, pp. 3111–3118.
i.e. |fc,6 |, which is representative for the contact forces on [11] ——, “Hybrid modelling and control of obstacle-aided snake robot
the remaining links. We see from Fig. 7(a) that the robot locomotion,” IEEE Trans. Robotics, vol. 26, no. 5, pp. 781–799, Oct
managed to reach the desired path. However, we see from 2010.
[12] B. Moon and C. Gans, “Kinematics, muscular activity and propulsion
Fig. 7(b) that the displacement of the robot was very slow in gopher snakes,” Journal of Experimental Biology, vol. 201, pp.
(at periods close to zero), and from Fig. 7(c) that the motion 2669–2684, 1998.
was very energy inefficient due to large contact forces in [13] F. N. Fritsch and R. E. Carlson, “Monotone piecewise cubic inter-
polation,” SIAM J. Numerical Analysis, vol. 17, no. 2, pp. 238–246,
the normal direction of the links, which imply large obstacle 1980.
friction forces in their tangential direction.
Next, we consider the corresponding simulation results

4554

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.
(a) The gait segment. (b) The adaptation profile. (c) The spring profile.

Fig. 8. The gait segment, adaptation profile, and spring coefficient profile used in the simulation.

Fig. 9. The path of the center link (link 6) of the snake robot during path following with environment adaptation.

(a) Cross-track error, py . (b) Heading angle, θ.

(c) Locomotion velocity, v. (d) Contact force on link 6, |fc , 6|.

(e) VSR at t = 49 s. (f) Physical robot at t = 49 s.

Fig. 10. The cross-track error, heading, velocity, and contact force amplitudes of the snake robot during path following with environment adaptation.

4555

Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on May 29,2021 at 21:07:26 UTC from IEEE Xplore. Restrictions apply.

You might also like