Compliant Control of The Body Shape of Snake Robots
Compliant Control of The Body Shape of Snake Robots
Compliant Control of The Body Shape of Snake Robots
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
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.
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.
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.
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
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.
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.