172
J. Herault et al.
stable head configuration g 0 . This problem is solved by the snake, when it needs
to maintain its head facing a predator while modifying its body shape to prepare
an attack or an escaping manoeuvre. Unlike the direct problem, this problem is
ill-posed since it exists an infinite number of body strain field κ(s) for the same
head configuration. The purpose of this section is to illustrate this feature.
In details, we seek a control law that allows us to vary the body shape while
keeping the head configuration constant. As an initial approach, the motion will
be seen as a succession of equilibrium configurations according to the equilibrium point hypothesis [12]. Hence, we neglect all the inertia effects by computing a quasi-static motion. Then, we consider that body deformations are global
rather than local, even if the snake could also strongly bend its body locally
(see Fig. 1C and D). Indeed, the complex musculo-tendinous architecture of the
snake [7] distributes the stress along its body so producing global body deformations. Moreover, the couplings between peripheral and central motor control
generate stereotyped motor behaviour that also produces also global body deformations. Finally, our Chebyshev modal approach will be used to generate these
global deformations, so that the body shape is parametrized by the Chebyshev
component ˜
κ k of the body strain (Eq. 3).
Stabilizing the Head Configuration. From an initially stable head configuration, we are able to compute a variation of the buoyancy and gravity wrench
δW as a function of the variation of the Chebyshev components of the body
strain δ ˜
κ, which gives at leading order
δW = (D ˜
κ W N ) δ ˜
κ + o(|δ ˜
κ|)
(6)
with (D ˜
κ W N ) a 3 × 3N Jacobian matrix depending on the body strain κ and
the head configuration. The wrench variation is produced by a modification of
the immersed part of each body section when the body shape is slightly changed
for a constant head configuration. The jacobian matrix is obtained by applying a
variation in Eq. 4 in the framework of the geometrically exact approach, and then
by integrating exactly each polynomial given by Eq. 3. This process is performed
analytically, and implemented in MATLAB. Since (D ˜
κ W N ) is a rectangular
matrix, the dimension of its Kernel is larger or equal to 3(N − 1) with N the
order of the Chebyshev truncation (Eq. 3). For an exact representation of the
function κ(.) belonging to a Hilbert space (with N → ∞), it exists an infinite set
of body strain variations that produce no wrench at leading order, and thus no
head motion. This is of great interest because it opens the possibility to control
independently the stability and the locomotion. Therefore, for an initially stable
head configuration g 0 and a given body strain κ, one may decompose any body
strain variation δ ˜
κ as
δ ˜
κ = P δ(˜ κ) + P ⊥ (δ ˜
κ) ⊥
(7)
with P a 3N × 3(N − 1) projection matrix to the null space of (D ˜
κ W N ), P ⊥
a 3N × 3 projection matrix with the three vectors producing a variation of the
wrench. The matrices P and P ⊥ are given by a singular value decomposition of
(D ˜
κ W N ). To maintain the head configuration in equilibrium, the wrench must
J. Herault et al.
stable head configuration g 0 . This problem is solved by the snake, when it needs
to maintain its head facing a predator while modifying its body shape to prepare
an attack or an escaping manoeuvre. Unlike the direct problem, this problem is
ill-posed since it exists an infinite number of body strain field κ(s) for the same
head configuration. The purpose of this section is to illustrate this feature.
In details, we seek a control law that allows us to vary the body shape while
keeping the head configuration constant. As an initial approach, the motion will
be seen as a succession of equilibrium configurations according to the equilibrium point hypothesis [12]. Hence, we neglect all the inertia effects by computing a quasi-static motion. Then, we consider that body deformations are global
rather than local, even if the snake could also strongly bend its body locally
(see Fig. 1C and D). Indeed, the complex musculo-tendinous architecture of the
snake [7] distributes the stress along its body so producing global body deformations. Moreover, the couplings between peripheral and central motor control
generate stereotyped motor behaviour that also produces also global body deformations. Finally, our Chebyshev modal approach will be used to generate these
global deformations, so that the body shape is parametrized by the Chebyshev
component ˜
κ k of the body strain (Eq. 3).
Stabilizing the Head Configuration. From an initially stable head configuration, we are able to compute a variation of the buoyancy and gravity wrench
δW as a function of the variation of the Chebyshev components of the body
strain δ ˜
κ, which gives at leading order
δW = (D ˜
κ W N ) δ ˜
κ + o(|δ ˜
κ|)
(6)
with (D ˜
κ W N ) a 3 × 3N Jacobian matrix depending on the body strain κ and
the head configuration. The wrench variation is produced by a modification of
the immersed part of each body section when the body shape is slightly changed
for a constant head configuration. The jacobian matrix is obtained by applying a
variation in Eq. 4 in the framework of the geometrically exact approach, and then
by integrating exactly each polynomial given by Eq. 3. This process is performed
analytically, and implemented in MATLAB. Since (D ˜
κ W N ) is a rectangular
matrix, the dimension of its Kernel is larger or equal to 3(N − 1) with N the
order of the Chebyshev truncation (Eq. 3). For an exact representation of the
function κ(.) belonging to a Hilbert space (with N → ∞), it exists an infinite set
of body strain variations that produce no wrench at leading order, and thus no
head motion. This is of great interest because it opens the possibility to control
independently the stability and the locomotion. Therefore, for an initially stable
head configuration g 0 and a given body strain κ, one may decompose any body
strain variation δ ˜
κ as
δ ˜
κ = P δ(˜ κ) + P ⊥ (δ ˜
κ) ⊥
(7)
with P a 3N × 3(N − 1) projection matrix to the null space of (D ˜
κ W N ), P ⊥
a 3N × 3 projection matrix with the three vectors producing a variation of the
wrench. The matrices P and P ⊥ are given by a singular value decomposition of
(D ˜
κ W N ). To maintain the head configuration in equilibrium, the wrench must
