Boyer 2016

You might also like

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

J Nonlinear Sci

DOI 10.1007/s00332-016-9341-6

Locomotion Dynamics for Bio-inspired Robots with Soft


Appendages: Application to Flapping Flight and Passive
Swimming

Frédéric Boyer1 · Mathieu Porez1 ·


Ferhat Morsli2 · Yannick Morel3
Received: 22 April 2016 / Accepted: 27 September 2016
© Springer Science+Business Media New York 2016

Abstract In animal locomotion, either in fish or flying insects, the use of flexible ter-
minal organs or appendages greatly improves the performance of locomotion (thrust
and lift). In this article, we propose a general unified framework for modeling and
simulating the (bio-inspired) locomotion of robots using soft organs. The proposed
approach is based on the model of Mobile Multibody Systems (MMS). The distrib-
uted flexibilities are modeled according to two major approaches: the Floating Frame
Approach (FFA) and the Geometrically Exact Approach (GEA). Encompassing these
two approaches in the Newton–Euler modeling formalism of robotics, this article

Communicated by Maurizio Porfiri.

Electronic supplementary material The online version of this article (doi:10.1007/s00332-016-9341-6)


contains supplementary material, which is available to authorized users.

B Mathieu Porez
mathieu.porez@mines-nantes.fr
Frédéric Boyer
frederic.boyer@mines-nantes.fr
Ferhat Morsli
morsli.ferhat@gmail.com
Yannick Morel
yannick.morel@fr.thalesgroup.com

1 Automation, Production and Computer Sciences Department, Ecole des Mines de Nantes,
La Chantrerie - 4, rue Alfred Kastler, B.P. 20722, 44307 Nantes Cedex 3, France
2 Laboratory of Structure Mechanics, Ecole Militaire Polytechnique - BEB, BP17, 16 111 Alger,
Algeria
3 BioRob, Ecole Polytechnique Fédérale de Lausanne, EPFL STI IBI BIOROB ME D1 1226, Station
9 CH-1015 Lausanne, Switzerland

123
J Nonlinear Sci

proposes a unique modeling framework suited to the fast numerical integration of


the dynamics of a MMS in both the FFA and the GEA. This general framework is
applied on two illustrative examples drawn from bio-inspired locomotion: the passive
swimming in von Karman Vortex Street, and the hovering flight with flexible flapping
wings.

Keywords Soft robotics · Locomotion · Newton–Euler dynamics · MAVs · Fish-like


robots

Mathematics Subject Classification 68T40

1 Introduction

A wide range of animals has developed passive compliant appendages to improve


locomotion performance. Oftentimes, these appendages act as lifting surfaces in the
meaning of fluid dynamics, e.g., in the case of the fins of fish, or the wings of insects
(Alexander 1988, 2005; Roberts and Azizi 2011). In such instances, the compliance
adds passive Degrees of Freedom (DoFs) useful to locomotion without adding actua-
tors. From a roboticist’s point of view, the implementation of this principle could allow
the design of simpler, lighter, and cheaper robots (y Alvarado and Youcef-Toumi 2006;
Wood 2007). For instance, in the case of flying insects such as moths and flies, the
passive twisting of the wing along its leading edge creates a phase lag between stroke
and pitch, which is key in generating lift during hovering flight (Dickinson et al. 1999;
Whitney and Wood 2010). As a result, the reproduction of such compliant wings is of
special import to the success of a new generation of Micro Aerial Vehicles (MAVs)
(McMichael and Francis 1997). The compliance may also contribute to the control
by adding mechanical feedback to constitute a passive control layer (referred to as
preflex in the case of legged locomotion), improving locomotion stability of walking
robots (Full and Koditschek 1999). Compliances can also explain some of the most
remarkable transient maneuvers observed in nature, such as the ability of the fruit fly
to tip over in-flight, by only slightly adjusting the resting angle of a twist spring located
at the root of its wings (Bergou et al. 2010). This example also illustrates how animals
intensively use their bodies (and its morphology) to improve control and spare their
brains from complex cognitive operations (Dickinson et al. 2000), a general idea that
spreads in the field of robotics through the paradigm of embodied intelligence (Pfeifer
et al. 2007). Another important advantage of compliant appendages in locomotion
lies in their capacity to store energy, thereby allowing the conversion of kinetic and
elastic energy, cyclically released and restored to preserve the maximum of energy
usable for locomotion (Alexander 1988, 2005). For instance, the natural frequency
of the wing-thorax system of flying insects is tuned upon the motor frequency of
muscular rhythmic contractions (Ahlborn et al. 2006). Remarkably, fish can extract
the energy contained in the vorticity of the surrounding flow using the flexibility of
their body. In particular, even a dead fish can passively swim upstream in a Kar-
man Vortex Street (KVS), a flow pattern typically produced downstream by a fixed
bluff body immersed in a constant stream (Beal et al. 2006; Candelier et al. 2013).

123
J Nonlinear Sci

Energy accumulation effects can also be used to restore energy on durations shorter
than those required to store them, thus allowing to increase the instantaneous power
beyond the intrinsic capabilities of the muscles of animals (Bennet-Clark 1975) or
those of the actuators of our robots. This is typically exploited by jumping animals
such as flees. Conversely, the same effects can be used to store excessive energy
coming from external loads, e.g., in case of a shock, before dissipating it in the
tissues. This last use is of particular interest in the context of impedance control,
which constitutes an intense field of research in soft robotics (Albu-Schäffer et al.
2008).
To facilitate the implementation of these new concepts on future robots, it is nec-
essary to develop novel efficient theoretical and methodological tools to study soft
locomotion. In this perspective, we propose in the present article a unified framework
for the dynamic modeling and simulation of unconstrained locomotion systems which
use soft or flexible appendages. To that end, we will use the model of Mobile Multi-
body Systems (MMS), where the term “Mobile” refers to the fact that the system
will not only undergo shape variations, as is the case for standard Multibody Systems
(MS), but also be subjected to net movements produced by locomotion (Boyer and Ali
2011; Boyer et al. 2012; Kelly and Murray 1995; Ostrowski and Burdick 1996). The
soft appendages will be modeled as beams, an approximation which is well suited to
describe a wide range of applications, from the flexible caudal fins of fish-robots, to the
flapping wings of MAVs, or the legs of running robots. Based on the language of geo-
metric mechanics, which had to this day remained restricted to rigid MMS (Boyer and
Ali 2011; Kelly and Murray 1995; Ostrowski and Burdick 1996), the proposed frame-
work encompasses the two major approaches used to describe flexible MS, the Floating
Frame Approach (FFA) (Canavin and Likins 1977), coming from the field of flexible
multibody system dynamics (Boyer et al. 2002; Damaren and Sharf 1995; Hughes
and Sincarsin 1989; Shabana 1989), and the Geometrically Exact Approach (GEA)
(Simo and Vu-Quoc 1986), originally introduced by Simo in the context of the finite
element method of nonlinear structural dynamics (Simo and Vu-Quoc 1988; Boyer
and Primault 2004). In the context of bioinspired robotics locomotion, the approach
here proposed represents a generalization to the FFA of a modeling framework so far
restricted to the GEA and developed over the recent past years as is summarized in
the survey paper (Boyer and Porez 2015).
This unification will be performed by revealing that the two approaches can be
expressed in the Newton–Euler formalism of robots dynamics, which is known to be a
powerful alternative to the Lagrange formulation (Murray et al. 1994). Beyond model-
ing aspects, using the recursive character of the Newton–Euler formulation, we propose
a new general algorithm able to simulate the dynamics of soft robotics locomotion
systems in both the FFA and GEA approaches. This general algorithm, whose tech-
nical derivation is detailed in the parallel submission (Khalil et al. 2016), extends the
typical Newton–Euler algorithm of rigid MMS (Featherstone 2008) to the case of flex-
ible systems. Devoted to simulation of bio-inspired soft robots, this algorithm is called
mixed since it integrates both the inverse and forward dynamics algorithms in a single
one able to compute the considered system’s net accelerations (describing its overall
displacement), together with the elastic accelerations and either the joints’ accelera-
tions (if joint torques are imposed) or the joint torques (if the joints’ accelerations are

123
J Nonlinear Sci

imposed). Owing to the recursive character of Newton–Euler models, this algorithm is


easy to implement and fast enough to be exploited for bio-inspired robotic applications.
To illustrate, this modeling and simulation approach, we will apply it with two
among the most characteristic cases of soft locomotion: the flapping-wing flight of
MAVs inspired from insects and the passive swimming of a soft fish-like robot. Regard-
ing the first example, it is known that the passive twist along the wing generates a phase
lag (with respect to the stroke motion), which is responsible of a non-negligible por-
tion of the lift (Dickinson et al. 1999). In the second example, we consider the passive
Body-Caudal-Fin (BCF) swimming where the thrust is solely produced by the body
oscillations generated by the alternating vortices of a downstream Karman Vortex
Street (KVS) (Beal et al. 2006; Candelier et al. 2013). The flapping-wing flight will
be modeled in the FFA with a minimal model of a MAV whose wings can twist along
their span. Due to the high magnitude of bending deformations undergone by a soft
swimming fish, the dead swimming fish will be modeled in the GEA. The numeri-
cal simulation in the GEA have been presented in the fluid-mechanics contribution
(Candelier et al. 2013) and used as an illustrative example in Boyer and Porez (2015).
However, in the present contribution, we give in a self contained manner, and for
the first time, the general solid-mechanics modeling framework on which it is based.
Moreover, the illustration on the MAV here presented constitutes the first application
of the same general framework to the FFA.
The rest of the paper is organized as follows. Section 2 is a preamble introducing the
model of soft MMS on the case of BCF swimming and hovering flight. Starting from
these particular cases, the next Sect. 3 states the general dynamic problem addressed
in the rest of the paper. Section 4 presents two approaches (the Floating Frame and the
Geometrically Exact Approaches) which can be used to solve this problem. Section 5
reminds the algorithm of Khalil et al. (2016). which is able to solve the dynamics of a
soft MMS with imposed joint torques and/or motions in both the FFA and the GEA. In
Sect. 6, this general algorithm is applied to our two introductive examples. The article
ends with a short discussion and future perspectives.

2 Basic Definitions and Notations

In this section, we briefly introduce definitions and notations used in the article, in
particular when discussing topics related to rigid body mechanics, beam theory, and
multibody systems dynamics.

2.1 Rigid Body Mechanics

v = v ∧ denotes the skew-symmetric matrix such that for any


For any vector v ∈ R3 , 
w ∈ R ,
3 v w = v × w. In addition, if v = (a T , bT )T ∈ R6 , a, b ∈ R3 , we have
 

ba
v = v∧ =
 .
00

Reciprocally, we define the inverse operator ∨ such that, for any v ∈ R3 or R6 ,


v ∨ = v. SE(3) denotes the configuration space of a rigid body, i.e., the Lie group


123
J Nonlinear Sci

of its finite rigid transformations (translation and rotation), represented by the 4 × 4


homogeneous matrix g. In R3 , the configuration of a rigid body B j , j ∈ N, is described
by the transformation g j , which maps a fixed frame of reference Fe = (Oe , se , n e , ae )
to an orthonormal frame F j = (O j , s j , n j , a j ), rigidly attached to B j . In SE(3),
this configuration is a point g j , and a motion is a time-parameterized curve t →
g j (t) ∈ SE(3). The vectors η j = (V jT , Ω Tj )T denote 6 × 1 velocities, also referred
to as twist, of a rigid body B j , with V j and Ω j the linear and angular velocities of
frame F j , respectively, expressed in F j . With this parametrization of velocities, the
kinetic energy of the rigid body B j is T j = ηTj M j η j /2, where M j denotes the 6 × 6
inertia matrix of B j expressed in F j . The set of all η j defines the Lie algebra se(3) of
SE(3), i.e., the space of infinitesimal transformations 14×4 +  η j , where 14×4 is the
4 × 4 identity matrix (neutral element of SE(3)),  is a small parameter homogeneous
to time if the body frame F j changes with time, and  η j is a 4 × 4 matrix defined
by
 
dg j j V j
Ω
η j = g −1
 j = .
dt 0 0

With any gi, j ∈ SE(3) transforming a frame Fi into a frame F j , we associate a 6 × 6


matrix Ad gi, j , such that for any μ ∈ se(3), Ad gi, j · μ denotes the change of the com-
ponents (origin and basis) of μ from F j to Fi . When the finite transformation gi, j of
Ad gi, j is replaced by an infinitesimal transformation 14×4 +  η j , Ad gi, j · μ becomes
(16×6 + adη j ).μ, which changes μ from its current frame to another frame, sepa-
rated by the infinitesimal transformation (14×4 +  η j ), with η j ∈ se(3). In SE(3),
the matrix adη j can be computed from the relationship adη j · μ = [ ηj, μ]∨ , with the
commutator of matrices [·, ·]. Using the Euclidean structure of R , the twists have
6

dual counterparts named wrenches, or, more simply forces (as they model the forces
and couples exerted on a rigid body B j ). Each wrench is an element of se(3)∗ which
takes the general form F j = ( f jT , m Tj )T , where f j and m j , respectively, denote the
force and the couple applied to B j , expressed in F j . Due to the duality between forces
(or wrench) and velocities (or twist), any wrench F can be shifted from a frame Fi
to another frame F j using the relationship AdTgi, j .F, where gi, j maps Fi onto F j .
Similarly, (16×6 + adTη j ) has the same effect, but for two frames separated by the
infinitesimal transformation 14×4 +  η j (Murray et al. 1994).

2.2 Cosserat Beam Theory

Another set of definitions comes from the continuum mechanics of Cosserat beams
(Antman 2005). In short, a Cosserat beam is defined by a one-dimensional contin-
uous assembly of rigid planar cross sections. Considering such a beam of resting
length l, each of its cross sections is labeled by the material abscissa X , which runs
along the beam axis [0, l]. To each cross section is also attached a rigid orthonormal
frame F(X ) = (O, s, n, a)(X ), where O(X ) lies on the beam’s longitudinal axis, and
s(X ) is normal to the cross section. As a result, the beam configuration is naturally
defined at any time instant t by a function g(·, t) : X → g(X, t), [0, l] → SE(3),

123
J Nonlinear Sci

where g(X, t) maps a unique fixed frame Fe = (Oe , se , n e , ae ) on any cross-sectional


frame F(X, t). Similarly, η(·, t) = (g −1 .∂g/∂t)∨ (·, t) defines the velocity field in
se(3) along the beam. Naturally, the material abscissa can be taken as the curvilinear
abscissa along the beam axis in its resting initial configuration (at t = 0), which we
refer to as reference configuration and assume to be straight. Since the space variable
X is continuous, we can replace the time in the definition of velocity by X and define
a new kind of twist, which we will refer to as strain twist, defined by  ξ = g −1 .∂g/∂ X
∈ se(3). This second type of twist measures the rate of change of g(·, t) along the
material axis (that is, as X varies). In the case of small strains and finite deformations
(which corresponds to the applications targeted in this article), we define the strain
field along the beam as X → ξ(X, t) − ξ(X, 0), X ∈ [0, l]. This vector field has
6 components. The first component (translational component along s(X )) measures
the beam’s stretching, the second and third (translational components along n(X )
and a(X )) measure the beam’s transverse shearing. The fourth component, noted K 1 ,
measures the twisting around s(X ), while the last two components, noted K 2 and K 3 ,
measure the curvature of the beam in the plane (s, a)(X ) and in (a, n)(X ), respec-
tively. In the general case where all six strain fields are nonzero, Reissner beam theory
applies (Reissner 1973). In a case in which the first component is identically zero,
the beam becomes an unstretchable Reissner beam. If the next two components are
also zero, the beam is described as unshearable and Kirchhoff beam theory applies
(Boyer and Primault 2004). Finally, note that in contrast to typical beam theories
found in the engineering literature (e.g., in vibration theory or strength of material),
which consider linear elasticity, the beam theories used in this article are geomet-
rically nonlinear, in the sense that they can account for finite transformations (such
as those introduced by the rigid net motions endured by any locomotion systems or
MMS).

2.3 Mobile Multibody Systems

An MS is a set of rigid or deformable bodies, connected together through joints. When


considering a locomotion problem, the studied MS’s are typically not connected to
the ground through a base with predefined motion, but instead left free to move in
space (Boyer and Ali 2011; Kelly and Murray 1995; Khalil et al. 2007; Ostrowski and
Burdick 1996). As a result, the role of the base in the conventional MS is now played by
a reference body, i.e., an arbitrarily chosen body of the MMS, whose motion defines
the net rigid movements of the MMS. For a bio-inspired system, one commonly
selects the body to which the exteroceptive sensors are attached, for example the
body corresponding to the head of a fish-like robot, or to the thorax of a moth-like
MAV. In the following, this reference body is noted B0 . It follows that the internal
shape motions of the MMS, i.e., the relative movements which take place between
the bodies, are measured with respect to the reference body. To construct a dynamics
model for an MMS there exists two major approaches, using either the Lagrange
equations or the Newton–Euler (NE) equations. In the former, one derives a minimal
set of second-order Ordinary Differential Equations (ODE) in terms of the minimal
set of kinematic unknowns (or the system’s generalized coordinates). In the latter, we

123
J Nonlinear Sci

r1 Cross section at X
g
r2
B1
ae
(a) o0

ne
oe
B0 se
B2
Cross section at X

(b) B
B0
ae

Vortex Cross section at X


ne
oe

Fig. 1 Frames and kinematics of the two illustrative examples a Hovering flight in gravity, b Passive
swimming in a KVS

obtain a redundant set of Differential Algebraic Equations (DAE), which contain both
kinematic and dynamic (reaction forces) unknowns. While the first approach requires
complex algebraic manipulations, the second is manually computable and can be
numerically implemented using fast algorithms exploiting the recursive character of
the obtained model (Walker et al. 1980; Featherstone 1987).

3 Introductive Examples

In order to illustrate subsequent developments, we introduce two examples which will


be treated in greater detail in Sects. 7 and 8. The first example is a moth-like robot,
shown in 1(a), composed of a rigid body and a pair of flexible wings. Each wing is
connected to the body by a one-DoF rotational joint, allowing to actuate the stroke.
The wings themselves are modeled as non-stretchable, non-shearable, non-bendable
beams, left free to twist around their leading edge. The second example is the fish (-like
robot) shown in Fig. 1b. This simple fish model is composed of a rigid head and a soft
body rigidly connected together.1 To obtain the considered systems’ dynamic models,
we use a Newton–Euler approach which consists in isolating each of the constitutive
bodies and writing their kinetic balance equations separately (both Newton’s second
law and Euler’s theorem of kinetic momentum).

1 This rigid connection is adopted to tackle the dead fish experiment and can be easily replaced by an
actuated rotational joint, e.g., a servo motor.

123
J Nonlinear Sci

3.1 Reference Body Dynamics for the Examples

In case of the fish, its head B0 is considered as the reference body and is assumed, as
its body, to be neutrally buoyant. Applying the Newton–Euler (NE) model of the rigid
body (Murray et al. 1994) to this particular body allows one to write:

M0 η̇0 = adTη0 (M0 η0 ) + Fext,0 − Ad Tg1,0 F1 ,
(1)
g˙0 = g0
η0 ,

where F1 is the force exerted by B0 onto the soft body (tail). In (1), the top equation
governs the time evolution of the reference body velocity, while the bottom equation
is a kinematic model allowing to reconstruct the configuration of B0 from its velocity.
This structure is specific to Newton–Euler equations and will appear throughout the
article. In case of the moth-like robot, the abdomen, thorax and head together form a
single (reference) rigid body, B0 , whose NE model is of the form

M0 η̇0 = adTη0 (M0 η0 ) + Fext,0 − AdTg1,0 F1 − AdTg2,0 F2 ,
(2)
ġ0 = g0
η0 ,

where F1 and F2 are the forces exerted by B0 onto the left and right wings, respectively.
In (1) and (2), M0 , η0 , Fext,0 , respectively, denote the (6 × 6) inertia matrix of B0 in
se(3)∗ ⊗ se(3) , its (6 × 1) velocity in se(3), and the (6 × 1) external forces in se(3)∗
exerted by the ambient fluid in both cases plus the gravity force in the second. This
concludes the dynamics of the rigid overall (net) motions.

3.2 Dynamics of Flexible Appendages for the Two Examples

Modeling each soft appendage as a nonlinear Cosserat beam allows to write the fol-
lowing set of partial differential equations (PDEs) that govern the time evolution
of all the cross-sectional frames parametrized by the field of rigid transformation
g(.) : X ∈ [0, l] → g(X ) ∈. These equations take the following general form Boyer
et al. (2012, 2010):
⎧ ∂η ∂Λ

⎨M − adTη (Mη) − + adTξ (Λ) = Fext , ∀X ∈]0, l[ ,
∂t ∂X (3)
⎩ ∂g (X ) = g(X )

η(X ), ∀X ∈ [0, l] ,
∂t
where M(X ) is the (6×6) inertia matrix of the X -cross section, Fext (X ) is the external
force exerted on this cross section, Λ(X ) ∈ se(3)∗ physically represents the internal
wrench applied from left to right by the X -cross section. Λ(.) can be partitioned as
Λ(.) = (N T , M T )T (.) with N and M being the fields of (3 × 1) internal force and
couple transmitted through the beam. Λ(.) defines the stress field, and it is related to
the strain field ξ(.) through rheological relations of the form:

∀X ∈ [0, l] : Λ(X ) = f (X, ξ(X ), ξ̇ (X )), (4)

123
J Nonlinear Sci

or alternatively, Λ(.) can be defined as a field of Lagrange multipliers forcing a set of


internal constraints of the general form:

∀X ∈ [0, l] : ξ(X ) = ξd (X ), (5)

where ξd (.) is usually imposed by the internal kinematics of the beam, but alternatively
can be used to control the time law of shape variations.2 In the following, we will
use ξd (.) in the first way in order for instance to change the Reissner beam into a
Kirchhoff beam (where transverse shearing is neglected) or into an inextensible beam
and finally into any of the possibilities offered by constraining any subset of the six
components of ξ . As a result, we will be considering the mixed case where a part of
the components of ξ is defined by internal constraints and the other (complementary)
part is governed by rheological laws. In the case of the swimming body, we have a
planar inextensible Kirchhoff beam, and thus the vertical bending, twisting, transverse
shearing and stretching are zero. In the case of the flapping wing, we consider all the
strain fields are zero, except twisting along the wing’s leading edge. Obviously, the
remaining complementary strains (i.e., the bending in the swimming plane for the tail,
and the twisting for the wings) are governed by stress–strain laws of type 4. Finally,
the Eq. (3) being PDEs need to be completed with boundary conditions that are in
case of the fish tail:
Λ(0) = −F1 , Λ(l) = Fext (l), (6)
where Fext (l) models the external forces possibly acting on the tip of the fin, e. g. due to
the wake. In case of the moth, the boundary conditions on the left and the right wing are:

Λ1 (0) = −F1 , Λ2 (0) = −F2 ,


(7)
Λ1 (l) = 0, Λ2 (l) = 0.

The solution of Eqs. (3) and (4) is fixed by the initial state and the boundary conditions
given by (6) for the fish tail and by (7) for the flapping wings.

3.3 Kinematic Model of the Joints for the Two Examples

The system dynamics presented above [i.e., (1)–(3) for the fish-robot, (2) and one
instance of (3) for each wing for the MAV] are not sufficient to entirely describe the
considered systems’ dynamics, as made obvious by the fact that they feature a greater
number of unknowns than equations. This is due to the presence of the inter-body
forces intermediated trough the joints [i.e., F1 in (1), (6) and F1 and F2 in (2), (7)].
The missing equations are the geometric constraints imposed by the joints that connect
the bodies. They can be stated as the following constraint equation for the fish:

g(X = 0) = g0 ga1 , (8)

2 In this case, the Reissner beam is used as a model of a hyper-redundant rigid robot (Boyer et al. 2006).

123
J Nonlinear Sci

where g(·) denotes the field of transformations along the tail, while ga1 is a time-
constant transformation along B0 . For the MAV, the joint constraints are of the
following form:

g1 (X = 0) = g0 ga1 , g2 (X = 0) = g0 ga2 (9)

where g j (·), j = 1, 2, denote the two transformation fields along the left and the
right wing, respectively, ga1 and ga2 are known functions of the two joint variables
r1 and r2 . Finally, the closed-form model of the fish-robot is composed of (a) the
Newton–Euler model of the rigid bodies (1); (b) the Reissner’s PDE (3) for the soft
body with boundary conditions given by (6); (c) the discret constraint equations (8);
and (d) the continuous strain-constraints and strain–stress laws (4) and (5), along with
the appropriate initial conditions. The closed-form model of the MAV is composed
of (a) the Newton–Euler equation (2) of the reference body (the head, thorax and
abdomen); (b) two instances of the Reissner’s PDEs (3) (one for each wing), with
boundary conditions (7); (c) the discret constraint equations for both wings’ joints
given by (9); and (d) the continuous strain-constraints and strain–stress laws (4) and
(5), along with the initial condition. Note that a model for the external forces Fext, j
and Fext (·) in (1)–(3) and (6) is left to be defined. This particular aspect of the mod-
eling process is not the focus of the present article. Nevertheless, models relevant
to flying and swimming in a KVS (implemented in Sects. 7 and 8) are provided in
“Appendix”.

4 General Problem Statement

In Sect. 3, we have introduced a pair of examples which will be developed in greater


detail in Sects. 7 and 8. Hereafter, we generalize the modeling approach followed in
the previous section to address the more general problem of modeling a large range
of MMS, featuring a combination of rigid and soft bodies.

4.1 General Model of Soft Mobile Multibody Systems (SMMS)

We consider the case of any MMS with a tree-like structure, as shown in Fig. 2.
Following typical NE indexing conventions Dombre and Khalil (1988), the reference
body is noted B0 , and the n other bodies are B1 , . . ., Bn . The bodies’ indexes j increase
from 0 at the reference body, to gradually greater numbers for each body along the
branches of the system’s tree-like structure. In the following, we denote by j, i, and
p the indices of the currently considered body, that of its antecedent (i.e., the direct
neighbor of the current body along the MMS branch, in the direction of the reference
body) a( j) = i, and that of its successor (neighbor in the direction of the branch’s
extremity) s( j) = p, respectively. The MMS is assumed to be composed of an arbitrary
combination of rigid and soft bodies, connected with 1-DoF rotational (not necessarily
punctual) joints. The set of body indices I contains both the indices of all rigid bodies
in the MMS (which together form the subset Ir ), and that of all soft bodies (subset Is ),
such that I = Ir ∪Is . The rigid bodies may be of arbitrary shape, while the soft bodies

123
J Nonlinear Sci

ae

ne
oe

se
n0

B0
g0 B2
o0
a0
s0
B1 Bi

rj Bj

Fig. 2 Mechanical structure of a tree-like MMS; bodies are numbered in an increasing order from the
reference body B0 to the extremities of the tree-like structure’s branches. In this case shown, B j+1 and Bn
are two terminal compliant appendages, while Bi is an intermediate compliant body

are modeled by Cosserat beams of length l j , j ∈ Is , possibly ending and starting with
a rigid part of non-negligible volume (modeling the joint realization). The reference
body B0 is assumed rigid and the soft bodies in the MMS are allowed to be connected
to up to two joints (i.e., they cannot be the junction of several branches). In accordance
with our modeling assumptions (in particular, that bodies are either rigid or Cosserat
beams), the configurations of the rigid and soft bodies are described by g j ∈ SE(3),
j ∈ Ir , and g j (·) : X → g j (X ), [0, l j ] → SE(3), j ∈ Is , respectively. With such
a parametrization, the general formulation of the dynamics can be composed of NE
equations of the rigid bodies [as in (1)–(2)], and of Reissner’s PDEs for the soft bodies,
as in (3). The former can be written as follows,


M j η̇ j = adTη j (M j η j ) + Fext, j + F j − AdTgk, j Fk , j ∈ Ir ,
k/j=a(k) (10)
ġ j = g j 
ηj,

where k denotes the indices of all the bodies just after B j when descending the
branches. The Reissner’s PDEs are of the form

M j η̇ j = adηT j (M j η j ) + Fext, j + Λ j − adTξ j (Λ j ), j ∈ Is ,
(11)
ġ j = g j 
ηj,

where the partial derivatives ∂ · /∂t and ∂ · /∂ X are represented by a dot and a prime,
respectively. Note that in (10), M j , η j , Fext, j correspond to matrices, while in (11)
they are fields along the beam’s axis. In (11), as was the case in the introductive
examples, the strain twist fields are defined as ξ j = (g −1 ∨
j g j ) and governed partly by
constraints, partly by stress–strains relations depending on the beam model adopted.
Note that solving (11) requires that appropriate boundary conditions be defined. In

123
J Nonlinear Sci

particular, if the considered soft body is connected at both its extremities, we have
Λ j (0) = −F j and Λ j (l j ) = F p , whereas if it is located at the end of a branch, external
forces may still act on it and we have Λ j (l j ) = Fext, j (l j ). That is for example the
case for a swimming fish caudal fin, for which this external force would correspond
to the effect of the vorticity shed at the fin’s trailing edge (Candelier et al. 2011; Porez
et al. 2014) (as discussed in “Appendix 1.2”). Finally, each joint’s geometric constraint
equation can be given in the general form

g− +
j = gi ga j (r j ), (12)

where if Bi is soft, gi+ = gi (X = li ) denotes the configuration of the last (descending


the system’s branches, from the reference body to the extremities) cross-sectional
frame Fi+ on body Bi , and g − j = g j (X = 0), that of the first cross-sectional frame
F j− of body B j . Specific forms of Eq. 12 will be discussed in a later section, note
however that if the bodies are rigid, the fields gi (·) and g j (·) are reduced to single
body transformations gi and g j , and the superscripts + and − can be removed from
(12), resulting in the well-known geometric model of a rigid MS (Murray et al. 1994).

4.2 Problem Statement

Consider the model described in the above subsection. The problem addressed here-
after is the following. Knowing at a given time instant t the state of the considered
MMS (i.e., (g j , η j ), j ∈ I), and assuming that for each joint j ∈ I either its
acceleration r̈ j (t) or the joint torque τ j (t) is set, determines the MMS net accel-
eration η̇0 (t) and (a) the torque τ j (t) if r̈ j (t) is imposed, or (b) the acceleration r̈ j (t)
if the torque τ j (t) is imposed. This general problem is a mixed (inverse/forward)
dynamics problem. In the special case that all joints’ accelerations are imposed,
it is reduced to an inverse dynamics problem. Conversely, if all joint torques are
imposed, it is reduced to a forward dynamics problem. In its general form, the prob-
lem considered is a flexible MS dynamics problem and, as such, can be addressed
using either one of the two main approaches proposed by this theory, the FFA or the
GEA. Before developing an original resolution of these two approaches, combined
in a unified modeling and algorithmic framework, we briefly discuss both meth-
ods.

5 Floating Frame and Geometrically Exact Modeling

While both the FFA and the GEA allow to obtain a model describing the finite rigid
overall transformations induced by the net motion in an exact manner, the FFA is based
on a linearization of the dynamics with respect to the bodies’ deformation, whereas the
GEA can account for finite deformations. On a fundamental level, the two approaches
can be distinguished by the manner in which they parameterize the compliant bodies’
movements.

123
J Nonlinear Sci

5.1 FFA Parameterization

In the FFA, the deformation of a deformable body is separated from its rigid body
component according to
g j (·) = gr j ge j (·), (13)
where g j (·) is the configuration of the Cosserat beam B j , ge j (·) is the field of elastic
cross-sectional transformations induced by the body’s deformation, and gr j denotes
the configuration of a rigid reference frame F j = (O j , s j , n j , a j ). This frame is
referred to as floating frame, owing to the fact that it can have no concrete, material
existence, but instead floats in the space around the actual body B j (Canavin and
Likins 1977). In general, the definition of the floating frame, or equivalently that of
the floating rigid body which extends it, is not unique (Canavin and Likins 1977).
However, for tree-like systems such as those considered here, it is convenient to define
for each body a frame embedded at the rigid root of the joint preceding the body
(which is a cantilever frame). Thus, we will consider that each F j coincides with the
first cross-sectional frame of the beam B j , that is, F j = F(X = 0). By using (13) in
(12), together with the embedding condition ge−j = ge j (X = 0) = 14×4 , allows to
express the geometric model of the joints in the FFA as follows,

gr j = gi+ ga j (r j ), (14)

where gi+ = gi if i ∈ Ir , and gi+ = gri gei (li ) if i ∈ Is . Once the above geometric
model has been obtained, the elastic transformations ge j (.) are parameterized on a
basis of cantilever vibrational modes of the Cosserat beams B j , j ∈ Is , as has been
previously proposed in the linear context of small deformations (Damaren and Sharf
1995; Boyer et al. 2002).3 We obtain that
 
(13×3 + Φ̂r j (X )rej ) X e1 + Φd j (X )rej
ge j (X ) , (15)
03×1 1

where e1 = (1, 0, 0)T , Φd j (X ) = [φd1 (X ), φd2 (X ), . . . , φd,nej (X )] is a 3 × n ej


matrix whose columns are the n ej first cantilever modes of a beam,4 expressed in the
floating frame F j and evaluated in X ∈ [0, l j ], while the 3 × n ej matrix Φr j (X ) =
[φr 1 (X ), φr 2 (X ), . . . , φr,nej (X )] is the rotational counterpart of Φd j (X ), where the
φr k are the angular shape functions. For instance, adopting the model of Kirchhoff
beams (i.e., with no transverse shearing), we can adopt the following discretization,
⎛ n s ⎞ ⎛ n t ⎞
k=1 ϕs,k sk k=1 ϕt,k θk
⎜ n f y ⎟ ⎜ n f z ⎟
⎜ ⎟ , Φr j (X )rej = ⎜− ⎟ , (16)
Φd j (X )rej = ⎝ k=1 ϕ f y,k vk ⎠ ⎝ k=1 ϕ f z,k wk ⎠
n f z n f y
k=1 ϕ f z,k wk k=1 ϕ f y,k vk

3 Note that in spite of being dedicated to small deformations, this parameterization has been extended in
Boyer et al. (2002) to the nonlinear (quadratic) context of moderate deformations.
4 Or more abstract basis of cantilever Rayleigh-Ritz functions as polynomials or splines (Meirovitch 1970).

123
J Nonlinear Sci

where ϕs,. , ϕ f y,. , ϕ f z,. , and ϕt,. represent the modes of stretching, bending in the
X − Y plane, bending in the X − Z plane, and torsion, respectively. As a result, in
the FFA, the deformations of B j are parameterized by the n ej × 1 vectors of beam
modal coordinates rej , j ∈ Is . On the other hand, as in the case of the rigid MMS,
the rigid component of the system’s motion can be modeled by the minimal set of
joint parameters r = (r1 , . . . , rn )T , or alternatively, directly by the transformations
gr j , j ∈ I. In the first case, the dynamic model takes the form of Lagrangian models,
while in the second it appears in the form of the Newton–Euler equations (here for
soft MMS). Since this second approach allows to obtain models that are reasonably
concise for any system, while resulting in computationally efficient algorithms, we
will use it to address the FFA. For that purpose, in the next section, we discuss the
Newton–Euler model of a SMMS with tree-like structure in the FFA.

5.2 Newton–Euler Model of Soft Mobile Multibody Systems in the FFA

In the following, for ease of exposition, we first assume that all bodies are soft and that
the joints are punctual (i.e., the tip of a beam coincides with the root of its successor
and the joint that connects them). The method is generalized to address a wider range
of cases at the end of this section. In order to derive such a model, we can directly
introduce the differential consequences (on velocities and accelerations) of the floating
frame parametrization (13) and (15) in the general PDEs given by (11) and project
the resulting equations on the rigid velocities and modes according to a Galerkin-type
discretization (Meirovitch 1970). We obtain (Boyer and Coiffet 1996):
– The generalized Newton–Euler model of the bodies,
⎛ ⎞
     Fj − AdTgk, j Fk
M j M Tj η̇ j Fj ⎜ ⎟
= +⎝ k/j=a(k) T ⎠, j = 0, . . . , n.
Mj m j r̈ej Qj − Φ j (l j ) Rg j,k Fk
k/j=a(k)
(17)

Then, differentiating (14) twice with respect to time yields:5


– The kinematic model of the transformations,

g j = gi gei (li )ga j , j = 1, . . . , n. (18)

– The kinematic model of the velocities,

η j = Ad g j,i ηi + Rg j,i Φi (li )ṙei + A j ṙ j , j = 1, . . . , n. (19)

– The kinematic model of the accelerations,

η̇ j = Ad g j,i η̇i + Rg j,i Φi (li )r̈ei + ζ j , j = 1, . . . , n, (20)

5 For concision, we omit the subscript from the reference transformations.


r

123
J Nonlinear Sci

where Φi (li ) = (Φdi


T (l ), Φ T (l ))T , and R
i ri i g j,i is the 6 × 6 matrix transforming a twist
from the basis of Fi to the basis of F j , leaving the frame origin unchanged. From
Sect. 5.1 and the basic definitions of Sect. 2.1, we can supplement the above equations
with the following subsidiary relations which hold for j = 1, . . . , n, k = s( j), and
i = a( j):

Ad gk, j = Ad gak , Rgk, j = Rgak , Ad g j,i = Ad−1 −1


ga , R g j,i = R ga = R ga .
T
(21)
j j j

For the sake of readability, the detail of the further notations used in the above model is
provided in “Appendix 2”. As is the case for any MS Newton–Euler model, (17)–(20)
is structured in two sets of equations. The first set, which corresponds to (17), stands
for the dynamic balance of isolated (soft) bodies where one finds from left to right
the Generalized Newton–Euler inertia matrix, the vector of body-reference and modal
accelerations, the vector of generalized inertia, restoring, and external forces (except
the inter-body ones), and finally the vector of inter-body generalized forces. The second
set of equations, composed of (18)–(20), describes the kinematic constraints imposed
by the joints. This kinematic model of the system structure replaces the reconstruction
equations [second line of (10)] except for the reference body, for which ġ0 = g0 η̂0
has to be kept. Remarking that F j = adTη j (M j η j + M j ṙej ) − Ṁ j η j − Ṁ Tj ṙej +
Fext, j , it is worth noting that when all the bodies are rigid, one just has to remove
the modal DoFs rej in (17)–(20), which reduce to the usual Newton–Euler model of
rigid multibody systems, as it typically appears in robotics textbooks (Murray et al.
1994). The derivation of these equations can be found in Boyer and Coiffet (1996) in
the classical case in which the MS is attached to a rigid basis enduring a prescribed
motion. However, it indifferently stands for the mobile systems (MMS) where the basis
is replaced by a free reference body since, in this case, the net motions of the reference
body are captured by the g j , j ∈ I. The only difference between the two types of
systems appears when one seeks to exploit the recursive nature (with respect to body
indexes) of the model (17)–(20) to solve the (inverse or forward) system dynamics.
This approach is well known in robotics under the name of Newton–Euler algorithm
(Boyer and Ali 2011; Boyer and Khalil 1998; D’Eleuterio 1992; Featherstone 1983;
Khalil et al. 2007; Walker et al. 1980). In this context, (17) is used as backward (from
the tips of the branches to the reference body) recursion on interbody forces initialized
by external tip-body wrenches, while the three kinematic models (18)–(20) are used
as forward recursions initialized by g0 , η0 , and η̇0 , respectively. For the usual kind of
MS, the time evolution of (g0 , η0 , η̇0 ) is known. However, for a MMS, η̇0 has to be
deduced from a model of the general form

+ η̇0 = F
M + ,
0 0
(22)
ġ0 = g0
η0 ,

+
which is referred to as locomotion model (Boyer and Ali 2011). In this model, M 0
 represent the inertia matrix of the entire MMS along with the force applied
and F +
0
to MMS when the system is considered as a single rigid body locked in its current

123
J Nonlinear Sci

configuration.6 In the following, we will see how M+ and F + can be computed recur-
0 0
sively. Finally, the model (17)–(20) holds for ideal systems with punctual joints but
can be easily extended to more realistic joints of non-negligible volume, by modeling
them with intermediate rigid bodies connected to the beams with locked joints.

5.3 GEA Parametrization

In contrast to the FFA, in the GEA, the deformations of the soft bodies are not separated
from the rigid overall transformations. As a result, the problem can be directly solved
with respect to the Cosserat fields of finite transformations g j (·) (which are reduced
to g j in case of the rigid bodies). In this perspective, Simo has proposed to apply
the Finite Element Method (FEM) of nonlinear structural dynamics to the Reissner
PDEs (Simo and Vu-Quoc 1988), an approach which has been applied more recently
to nonlinear Kirchhoff beams (Boyer and Primault 2004). In this case, the strong form
(11) is first replaced by the weak-form of virtual works, which is supplemented with
the geometric (holonomic) constraints (12). Using an implicit Newmark (prediction-
correction) time-integration scheme, this set of algebra-differential equations changes
into a nonlinear algebraic system which is then linearized. This linearized system
(under the constraints of the Newmark scheme) is then used in a Newton loop to
correct the prediction of the integration scheme till convergence. Exploiting intrinsic
differential (and variational) calculus on Lie groups [essentially S O(3)], the approach
does not require any approximations (of the finite rotations), with the exception of
unavoidable numerical approximations imposed by the spatial (finite element) and
temporal (finite difference) discretizations. For these reasons, its author described
this approach as being “Geometrically Exact” (GE), a terminology which remains
in common use, although its actual significance is in some cases misconstrued. In
the following, we propose an alternative method to solve the system (10)–(12). The
solution retains the geometrically exact quality of Simo’s FEM. However, as in the
previous case, it is based on the Newton–Euler formulation of robotics and consists
mainly in discretizing the beam in three-dimensional rigid bodies connected by lumped
joints modeling the internal beam’s kinematics.

5.4 Newton–Euler Model of Soft Mobile Multibody Systems in the GEA

The numerical resolution of the Reissner PDEs given by (11) is based on the property
that they are a continuous version of the Newton–Euler balance equations of rigid
multibody systems. To verify this, one merely has to consider the beam cross sections
as (infinitesimal) rigid bodies, connected by internal infinitesimal joints transmitting

6 The superscript + distinguishes the matrices of the reference body attached to the entire system rigidified
in its current configuration from those of the reference body alone. The tilde symboldenotes the inertia
matrices and forces exerted on the floating frame DoFs after having removed from the first row of (17),
 j = M j − M T m −1 M j and F
the elastic accelerations deduced from its second row, i.e., M j = F j −
j j
M Tj m −1
j Q j . These matrices are named condensed matrices and the tilde operator corresponds to the
condensation as it is commonly used in structural analysis (Dhatt et al. 2012).

123
J Nonlinear Sci

the internal wrench Λ along the beam. From that point of view, the PDEs given
by (11) can be re-interpreted as ODEs in time where, according to the Lagrangian
point of view of mechanics of continuous media, the spatial variable X becomes a
continuous index, labeling the cross sections [i.e., the continuous counterpart of j in
(10)]. Thus, in order to obtain a generalization of the Newton–Euler model of rigid
discrete multibody systems to the case of systems containing rigid bodies and Reissner
beams, it is sufficient to add to equation (11), and for all j ∈ Is , the continuous version
of the forward kinematics given by (12),

g j = g j
ξj. (23)

Then, time differentiating twice (23) gives the continuous kinematic model of veloc-
ities and accelerations along the beam which supplement the Reissner PDEs of (11)
into the Newton–Euler model of a MMS in the GEA, which can be stated in the general
case as follows,
– Newton–Euler model of the bodies, for all j ∈ I,

If j ∈ Ir : M j η̇ j = adTη j (M j η j )+ Fext, j + F j − AdTgk, j Fk . (24)
k/j=a(k)

If j ∈ Is : M j η̇ j = adTη j (M j η j ) + Fext, j + Λ j − adTξ j (Λ j ). (25)

– Kinematic model of the transformations, for all j ∈ I,

If j ∈ Ir : g j = gi+ ga j . (26)
If j ∈ Is : g j = g j 
ξj. (27)

– Kinematic model of the velocities, for all j ∈ I,

If j ∈ Ir : η j = Ad g j,i ηi + A j ṙ j . (28)
If j ∈ Is : η j = −adξ j η j + ξ̇ j . (29)

– Kinematic model of the accelerations, for all j ∈ I,

If j ∈ Ir : η̇ j = Ad g j,i η̇i + ζ j . (30)


If j ∈ Is : η̇ j = −adξ j η̇ j − adξ̇ j η j + ξ̈ j . (31)

In the above, (26) is deduced from (12) by taking g − j = g j since B j is rigid, and
gi+ +
= gi if Bi is rigid or gi = gi (li ) if Bi is soft. Together with the later defined
boundary conditions on the flexible terminal bodies, the stress–strain relations (4),
and/or the internal constraints (5) of the beams, equations (24)–(31) define an alter-
native closed-form of the SMMS model given by (10)–(12). In this new formulation,
as in the case of the FFA, the kinematic reconstruction equations of (10) and (11) are
replaced with the continuous kinematic model of the branches of the tree-like structure

123
J Nonlinear Sci

given by (26)–(31), with the exception of the reference body for which ġ0 = g0 η̂0
is required to reconstruct the overall net motion. Note that because a part of the 6
components of ξ̈ j , j ∈ Is are imposed by internal constraints, the corresponding com-
ponents of the stress Λ j are unknown. Conversely, for the part of ξ̈ j not imposed by
internal constraints, but instead governed by strain–stress relations of the form (4),
the corresponding components of Λ j are known functions of the current state, and
the corresponding strain accelerations in ξ̈ j are unknown. As a result, the unknown
components of Λ j and ξ̈ j should be ideally computed using a continuous version
of the inverse and forward dynamic algorithm of discrete MMS (Featherstone 1983;
Walker et al. 1980), where the discrete recursions on body index would be replaced
by spatial ordinary differential equations on X . Unfortunately, while such a continu-
ous inverse dynamics algorithm has been derived in Boyer et al. (2006), the forward
dynamics algorithm is difficult to derive and obtaining one such algorithm remains to
this day an open problem. To circumvent the issue, we propose to change the continu-
ous model of (24)–(31) into a discrete rigid MMS to which we apply the discrete N–E
algorithm (Khalil et al. 2007). Such a discretization can be achieved by applying a
finite difference approximations to (24)–(31). However in this case, the geometrically
exact character of the approach is lost, due to the approximation of the geometrical
nonlinearities introduced by the method.
Another approach, which preserves the geometrically exact character of the origi-
nal continuous model, consists in discretizing the Cosserat beams from the beginning
by approximating them by a set of finite-length three-dimensional rigid bodies, con-
nected by passive joints modeling the strain twist fields (defined by constraints or/and
rheological laws). In the limit case in which the finite (discrete) set of finite-length
three-dimensional bodies tends toward an infinite (continuous) set of planar cross
sections, the N–E model consistently tends toward the Reissner PDEs. Applying this
discretization process to all beams of the SMMS, and relabeling the rigid bodies
according to the convention of Sect. 4.1, changes the hybrid (discrete-continuous)
model given by (24)–(31) into the usual Newton–Euler model of a discrete rigid
multibody system with tree-like structure. Finally, since this model is a special case
of a flexible MMS in the FFA (i.e., it can be derived from (17)–(20) by removing
all modal contributions), then if we can find an algorithm able to solve the mixed
(inverse/forward) dynamics of the model (17)–(20), we are able to solve the general
dynamics problem stated in 4.2 in both approaches (FFA and GEA). Such an algorithm
is technically derived in Khalil et al. (2016) and reminded in the following section.

6 General Dynamics Algorithm for SMMS in FFA and GEA

In this section, we begin by introducing the working principle of the proposed algo-
rithm while the three recursions composing it are detailed in “Appendix 3”.

6.1 Principle of the Algorithm

In essence, we are dealing with a mixed algorithm for forward and inverse dynamics
of an unconstrained SMMS. Knowing the full current state of the MMS, this algorithm

123
J Nonlinear Sci

has to compute, at each step of a global time loop, the inter-body forces or accelerations
depending on whether inter-body accelerations or forces are imposed, respectively.7
Based on the time integration of the current (external and internal) accelerations, the
algorithm updates the state before advancing to the next time-step. This is achieved
through three recursive loops on body indices, detailed in the “Appendix 3” where they
are presented in the order in which they are applied. The first recursion is a forward
recursion (from the reference body toward the ends of the branches) on the state-
dependent variables required for further calculations. It is followed by a backward
recursion (from the ends of the branches toward the reference body), which computes
the matrices of inertia M + and forces F + , both of which appear in the net motion
0 0
dynamics equation (22), used to compute η̇0 . Once the net acceleration is determined,
it is used to initialize the forward recursion on inter-body accelerations and forces.
These accelerations and forces constitute the expected outputs for the current time-
step. Moreover, in the case of the FFA, the algorithm provides the modal accelerations
as additional outputs. Finally, the algorithm computes the complete state (external and
internal) of the SMMS by time integration, before advancing to the next time-step.

7 Application of the Algorithm in the FFA

We now consider the problem of modeling and simulating the dynamics of the insect-
like flying robot shown in Fig. 3 (top). During flight, the insects wing dynamics are
governed by complex aero-elastic phenomena which involve twisting and bending of
the leading edge, and bending of the camber (Nakata and Liu 2012). In this section,
our purpose is to illustrate the algorithm in the FFA on the simple MAV introduced
in Sect. 3, with the specific goal of deriving a minimal model able to capture the
passive twisting-based lift generation mechanism of a flapping wing. The GEA has
been applied to an MAV’s hovering flight, with a leading edge enduring both twisting
and flexural deformations in Porez et al. (2014). In Sect. 8, it will be applied to the
passive swimming of a fish in a Karman Vortex Street with an hydrodynamic model
derived in Candelier et al. (2013).

7.1 Symbolic Implementation of the Algorithm in the Case of a Simplified MAV

In the FFA, in the case that each branch of the tree-like structure is limited to a single
body (beyond the body of reference), the algorithm becomes very simple to derive.
This observation is here illustrated by the case of the MAV shown in Fig. 1a, for which
we assume the time evolution of the two stroke variables are imposed. In this case,
using notation of “Appendix 3”, bo (1) = bo (2) = 1, and we have to solve an inverse
problem. As a result, the joint accelerations are here inputs to the algorithm, while
the torques τ1 and τ2 , the net acceleration η̇0 , and the elastic accelerations r̈e1 and r̈e2
are outputs that have to be computed at each time-step of simulation. Applying the
backward recursion (56)–(68) of the algorithm, we obtain

7 Note that when the bodies are approximating finite bodies of a Cosserat beam, the interbody forces are
imposed as functions of the current state through the rheological law of the material.

123
J Nonlinear Sci

Fig. 3 Undeformed geometries


used for simulations: a the
hovering flight (dimensions are l
defined in the text); b the passive X
swimmer drawn to scale with

0.65b
l = 0.178 m and elliptic cross
c(X)
sections (a)

2b
Wing

Thorax

2a
Head Caudal fin
2b(X)

(b)
2a(X)


2  
+ = M0 +
M AdTg j,0 M j − M Tj m −1 M j Ad g j,0 , (32)
0 j
j=1


2     
+ = F0 +
F F j − M Tj m −1 T −1
0 AdTg j,0 j Q j − Mj − Mj m j Mj ζj ,
j=1
(33)

where all matrices in (32)–(33) are functions of the current state variables and inputs
[computed by the first forward recursion (51)–(55)]. Once the net motion dynamics
given by (22) are computed, we obtain η̇0 and can apply the second forward recursion
(69)–(73). This recursion allows to compute the current elastic accelerations of the
two wings as well as the torques applied to their roots. More specifically, we have
  
r̈ej = m −1
j Q j − M j Ad g j,0 η̇0 + ζ j , (34)
   
τ j = ATj M j − M Tj m −1
j Mj Ad g j,0 η̇0 + ζ j − F j − M Tj m −1
j Qj ,
(35)

with j = 1, 2. Equations (32)–(35) provide a symbolic model of our three-body MAV.


To be numerically implemented, all matrices in (32)–(35) that are involved in the
generalized Newton–Euler model (17)–(20) of the wings have to be computed for
a given set of cantilever modes. In the next section, we consider the simple case in
which the wings’ deformation is described with a single torsional mode, as discussed
in detail in “Appendix 2”.

123
J Nonlinear Sci

7.2 Flight Simulation of an MAV in the FFA

We now consider the numerical implementation of the general algorithm (51)–(73) for
an MAV of resting geometry shown in Fig. 3a. According to Fig. 3a, the rigid reference
body (head, thorax, and abdomen) B0 is realized by a homogeneous axisymmetric
ellipsoid of mass m 0 = 0.86×10−2 Kg. The reference frame is F0 = (O0 , s0 , n 0 , a0 ),
with O0 located at the center of mass of B0 and s0 , n 0 , and a0 aligned with the ellipsoid
axes of half-lengths a = 8.5 × 10−3 m and b = 28 × 10−3 m, respectively. The wings
are hinged to B0 in the plane (O0 , s0 , a0 ) at a height of 0.5.b above O0 . They have a
span l = 7 cm, and a chord defined along the leading edge according to

c(X ) = co 1 − (X/l)2 , (36)

which ensures an elliptic profile to the wing trailing edge, with co = 31.5×10−3 m the
cord at the basis of the wing (in X = 0). For each wing, the floating frame is a cantilever
frame attached to the hinge which connects it to the thorax and moves with the wing’s
root (see Fig. 1). The mass and the stiffness of each wing is assumed to be concentrated
on its leading edge, which we model as a span-wise twisted beam. The remaining part
of the wing plays the role of a lifting surface on which aerodynamics forces are exerted.
The functional basis used to describe the leading edge deformation is reduced to the
first cantilever twisting mode of a circular cross-sectional beam, with a mass per unit
of volume ρ = 1.4 g cm−3 , a radius of 2 mm, and a twisting modulus G = 30 MPa.
With this parameterization, the aerodynamical forces given in “Appendix 1.1”, with
no added mass components, are integrated along the span using the Gauss’s method
of quadrature with four Gauss points. This simple model, whose detailed expressions
are summarized in “Appendix 2”, qualitatively matches the experimental observations
of moths [1] (as illustrated by the video included in the supplemental material). Fig-
ure 4 shows the time evolution of the MAV configuration (with snapshots extracted
from the attached video). Figure 5 provides the wing deformations and net posi-
tions, while Fig. 6 shows the aerodynamical forces and control torques. These results
are provided over 10 periods of a stroke motion, whose steady regime is described
by

r1 (t) = −r2 (t) = A cos(ωt), (37)

with A = 50◦ , ω/2π = 25Hz and initial conditions η0 (0) = (0, 0, 0.0245 m/s,
0.024 rad/s, 0, 0)T , with the MAV positioned at the inertial frame origin with no roll
and yaw angles and a pitch angle of 0.33 rad. In this simulation, (37) is imposed pro-
gressively by multiplying the stroke acceleration with a sinusoidal ramp running over
one cycle, as was previously done, for instance, in the analysis of swimming (Boyer
et al. 2008). This gait produces a lift able to overcome gravity, and the MAV is able
to sustain its flight and elevate, as shown in Fig. 5a. On the same figure, the symmetry
of the design and of control efforts explains the zero net lateral displacement of the
MAV, while it slowly goes forward with small oscillations. Regarding the deforma-
tion of the wing plotted on Fig. 5b, the twisting angle oscillates with an amplitude

123
J Nonlinear Sci

Fig. 4 Snapshots of the flight simulation obtained using the FFA

50 0.12
Passive torsion angle X0
40 Flapping angle
0.1 Y0
Z0
30
0.08
Position (m)

20
Angles(°)

10 0.06
0
0.04
−10
−20 0.02
−30
0
−40
−50 −0.02
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Time (s) Time (s)
(a) (b)
Fig. 5 (a) Time evolution of the flapping and passive twisting angle at the tip of the wings over ten flapping
cycles; (b) Time evolution of the 3D position of the MAV

0.06 0.05
τx
Aerodynamic Forces(N)

Lift 0.04
Interal Torques(N.m)

τy
0.05 Drag
0.03 τz

0.04 0.02
0.03 0.01
0.02 0
−0.01
0.01
−0.02
0
−0.03
−0.01 −0.04
−0.02 −0.05
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

Time (s) Time (s)


(a) (b)
Fig. 6 a Time evolution of aerodynamic forces generated over ten flapping cycles; b Time evolution of the
reaction torques between the right wing and the thorax

of 40◦ with the stroke frequency, and with a phase lag of about 78◦ . This phase lag
is the kinematic key to the production of lift (lift shown in Fig. 6a). On this figure,
we observe a positive average lift, responsible for the MAV’s elevation, and a near
zero averaged drag. Finally, the reaction torques τx and τ y , together with the control
torque τz , transmitted by the wing to the body through the connection, are shown in
Fig. 6b.

123
J Nonlinear Sci

8 Application of the Algorithm in the GEA

The last test is related to the famous experiment with the dead trout. Recently, biologists
(Beal et al. 2006) have discovered that a dead fish initially positioned between the two
rows of vortices of a von Karman Vortex Street (KVS) can extract energy from the
vorticity of the surrounding flow and re-inject it in the external dynamics (of net
displacement) to self-propel upstream without any muscular activity. This remarkable
case of passive swimming is exemplary of how a soft body can benefit from its adapted
morphology to improve its locomotion performance (by comparison, no propeller can
passively propel a boat upstream). As we are going to show now, modeling the fish as a
Cosserat beam in the GEA allows to numerically recover this experimental observation.
For that purpose, we consider the hydrodynamic model of Candelier et al. (2013) as
it is reminded in “Appendix 1.2” with an ambient flow defined by the following field
of velocity

  n 

nv
Γ  v
i Γ
v f = v∞ + (−1)i
sin θi se + (−1) cos θi n e , (38)
2πri 2πri
i=1 i=1

which models a KVS whose vortices translate with a constant velocity of vc = (v∞ −
(Γ /2L) tanh(π D/L))se 0.476se (in m s−1 ), with v∞ = 0.57 m s−1 the constant
stream velocity at infinity, ri and θi the polar coordinates in the swimming plane
(Oe , se , n e ) centered at the origin of the ith vortex, and D = 0.07 m and L = 0.208 m,
the distance between two consecutive vortices of the same row, and between the two
rows. In the following reported simulation results, we consider at each step of time,
n v = 64 vortices of circulation Γ = 0.05 rad m2 s−1 which scroll at the frequency
of ωs = 2π vc /L 14.38 rad s−1 . The body is neutrally buoyant and modeled by
an inextensible, non-twistable Kirchhoff beam with 50 rigid cross sections whose
geometry at rest is defined in Fig. 3b. The space integration of hydrodynamic forces
along the body is carried out by the Gauss’s method of quadrature with 6 Gauss points
per cross section. Compared to Fig. 1b, the entire body is considered compliant and
the reference frame is located at the nose (X = 0). As a result, the internal stresses
Λ = (N T , M T )T are such that N and the two first components of M are defined by
the internal constraints of the beam, while the third component of M (named M3 ) is
defined by the rheological law (4), which here takes the particular form:

M3 (X ) = k F K 3 + f F K̇ 3 , (39)

where k F and f F are, respectively, the flexural stiffness and damping moduli and K 3
is the curvature of the beam in the swimming plane. These moduli are taken constant
along the beam and such that k F = 1.07 × 10−3 Nm2 and f F = 3.6 × 10−7 Nm2 s
as suggested in the literature by biologists (Long and Nipper 1996). Figure 7 displays
a few snapshots (extracted from attached video) sampled over an oscillation period
of the body. Due to the passing of vortices, the body starting from the rest passively
oscillates and swims upstream in the KVS. Fundamentally, it means that the adapted

123
J Nonlinear Sci

Fig. 7 Snapshots of a dead fish


passively swimming upstream in 0
a von Karman Vortex Street

0.04 s
2

5
0.05 m

morphology transfers the energy from the vorticity of the flow to the external dynamics
of net motions through the elastic internal dynamics.

9 Conclusion

In this article, we propose a general framework designed to model the locomotion


dynamics of (bio-inspired) robots featuring soft appendages. The proposed solution
encompasses the two major approaches used to model compliant MS, the FFA and
the GEA. These two approaches are here extended from MS to MMS, following
the framework of geometric mechanics [as in Hatton and Choset (2011), Kelly and
Murray (1995), Marsden and Ostrowski (1998)]. Remarkably, both approaches are
implementable through a single general algorithm which exploits the Newton–Euler
formulation of the considered systems. Due to the recursive nature of such a for-
mulation, the approach is straightforward to implement and allows one to solve the
net motion and the flexible appendage shape dynamics of a MMS, together with
the joints’ dynamics in their inverse or forward form (depending on whether joint
torques or movements are imposed). Comparing the two modeling approaches used to
describe distributed compliance, the FFA typically leads to more concise models, fea-
turing fewer coordinates than that obtained using the GEA. Such models can provide a
significant advantage in that they tend to allow the use of faster simulation, control tech-
niques, and optimization methods (typically requiring a low-dimensional state space
and fast computations). However, the FFA involves a larger degree of approximation
of the model’s deformations, which are generally assumed to be linear or quadratic
with respect to modal coordinates. Choosing a suitable functional basis requires a case-
specific analysis, which demands a degree of expertise from the modeler. Furthermore,

123
J Nonlinear Sci

when considering realistic morphologies, the modal analysis rapidly becomes analyt-
ically untractable, requiring the use of a numerical solver such as those based on finite
element methods in order to perform a modal analysis able to feed the FFA model. Con-
versely, the GEA does not require any approximation of the finite deformations, with
the exception of the discretization imposed by a numerical resolution. Moreover, the
GEA leads to comparatively simpler derivations and allows to model complex exter-
nal loading more easily. Beyond these differences, the two approaches require special
attention when choosing the beam parameters (the distributed and lumped parameters
in the FFA and GEA, respectively). In both cases, the choice of parameters should a
priori be informed by physical considerations, and (if necessary) a posteriori tuned
to match experimental results. Finally, the two approaches were implemented (on a
laptop-CPU Intel R Core I7 @2.66 GHz), using the same general recursive algorithm,
to address the modeling problem for two illustrative examples of soft locomotion, the
passive wing rotation in the FFA (used for lift generation in flapping-wing flight), and
the dead fish swimming in the GEA. The FFA-based algorithm using the standard
explicit ODE45 solver runs in less than 1 s per cycle in MATLAB. In the case of the
GEA, using a predictor–corrector integrator of order 5, the dynamic simulation of
the fish, programmed in C-language with 50 bodies, runs in 1mn per cycle with an
integration time-step of 10−6 s. In these two cases of passive locomotion, both the
FFA and the GEA allowed to capture the essential features as they are observed by
biologists. While the general modeling and simulation framework here proposed has
been extensively applied to the GEA (Boyer and Porez 2015), its extension to the
FFA offers new perspectives for modeling bioinspired locomotion and could be used
with other models of external forces as that recently proposed in Tallapragada (2015)
to model a swimming robot with an internal rotor as a nonholonomic system. In the
future, the proposed approach will be used to study how the resulting overall locomo-
tion movement of animals and robots emerges from complex interactions between the
passive physical properties of the body and their surrounding.

Acknowledgments The authors would like to thank all their colleagues and PHD students (whose names
appear as coauthors of the referenced papers) who contributed over the last years to develop the specific
cases of this general framework.

Appendix 1: Model of External Forces for the Two Examples

In this appendix, we provide the models of external forces used in the numerical
simulation of flapping-wing flight and in the swimming simulation of the dead fish.
The first model is an adaptation of the model of Dickinson et al. (1999), which was
proposed in Porez et al. (2014), while the second is an extension of the Lighthill
swimming model proposed in Candelier et al. (2011), Porez et al. (2014).

1.1 Model of the Aerodynamical Forces Exerted on a Flapping Wing

Due to the complex topology of the flow surrounding the flapping wings of an insect,
the detailed modeling of aerodynamic forces involved in flapping-wing flight is a

123
J Nonlinear Sci

challenging issue, which extends beyond the scope of this article (Liu 2009). In Porez
et al. (2014), we adopted the following simplified analytical model of the density of
aerodynamic forces per unit of span length l,
   
∂η
∀X ∈ [0, l] : Faero (X ) = Fsteady (X ) − M f (X ) + adTη (M f η) (X ),
∂t
(40)

where, in accordance with our Cosserat beam modeling, the four terms of (40) describe
densities of aerodynamic forces per unit of wing span. This model is directly inspired
from the model of Dickinson et al. (1999), which was initially established using a
dynamically scaled rigid model of a fruit fly’s wing. Once multiplied by d X (X being
the span-wise abscissa), (40) represents a model of the aerodynamic force component
applied on each chordwise strip (or blade, as used in aerodynamics). Such a model was
applied in Whitney and Wood (2010) to represent the dynamics of flexible flapping
wing. On the right hand side of (40), we have 1◦ ) the quasi-steady forces which model
the leading edge vortex effect, together with the rotational circulation preventing the
lift from decreasing when the wing quickly turns on itself at the end of a stroke
(Dickinson et al. 1999),8 2o ) the effect of added mass, in which M f (X ) represents
the 6 × 6 tensor of added mass of the X -cross section. In addition, note that the quasi-
steady forces can be detailed as Fsteady = AdTh .a Fsteady , where a Fsteady is the wrench
of aerodynamic forces expressed in a frame aligned with the incident flow centered
on the aerodynamical center.9 This frame is hereafter referred to as the aerodynamical
frame (indexed a ), which is related to the cross-sectional frame (attached to the leading
edge) by the rigid (homogeneous) transformation h(X ). In this aerodynamical frame
of reference, the steady forces can be represented as follows, a Fsteady = (L Tstat +
T , 0T )T with L
Dstat stat (X ) and Dstat (X ) the lift and drag forces exerted on the X -cross
section.10 This forces are of the form

L stat = (1/2) ρair c(X )C L ,stat |Va (X )|2 ,


(41)
Dstat = (1/2) ρair c(X )C D,stat |Va (X )|2 ,

where ρair is the density of the air, c(X ) is the X -cross-sectional cord length, and
|Va (X )| is the norm of the velocity of the aerodynamical center of the blade of spanwise
abscissa X . In addition, C L ,stat and C D,stat are empirical dimensionless coefficients
which, in the case of a fruit fly (Dickinson et al. 1999), are of the form

8 Note that in Dickinson et al. (1999), these two effects are modeled separately through a translational and
a rotational component. In contrast, we here encode them in a single term, function of the (angular and
linear) velocity of the wing at the aerodynamic center of pressure, as proposed in Walker (2002).
9 By definition, the aerodynamic center of pressure is the point about which the moment of pressure forces
is independent of the incidence angle. In general, the position of this point varies with the incidence angle. In
our simplified case, we neglect the moment of pressure forces and fix the aerodynamic center to a constant
position at a distance of c(X )/4 aft of the leading edge.
10 a F
steady is a (6 × 1) vector gathering the resultant of quasi-steady forces and their momentum related
to the aerodynamical frame.

123
J Nonlinear Sci

C L ,stat = 1.8 sin(2β),


(42)
C D,stat = 1.92 − 1.55 cos(2β),

where β(X ) is the angle of attack of the X -cross section.11 Finally, the effect of
added mass is defined as the reaction due to the acceleration of the mass of the fluid
surrounding each blade of the wings. In the case of 40, the term adTη (M f η) is the
added mass term due to Coriolis-centrifugal accelerations.

1. 2 Model of hydrodynamical forces exerted on a swimming body

In the second example, we consider the case of a neutrally buoyant fish (-like robot)
with elliptic cross sections. The external forces are hydrodynamic forces locally
exerted on the cross sections of the fish (-like robot). Following the works of Lighthill
(1960, 1971), several refinements of the Large Amplitude Elongated Body Theory
(LAEBT) have been proposed the recent years (Boyer et al. 2010; Candelier et al.
2011, 2013; Porez et al. 2014). In particular, the LAEBT has been extended to model
the external forces acting on a carangiform fish swimming in an ambient flow defined
by its field of velocity v f in any point of the ambient space. Based on the integration of
the pressure field (given by the unsteady Bernoulli equation) in the curvilinear coor-
dinates of the Cosserat beam prolonged to the nearby flow, the model can be detailed
as follows (Candelier et al. 2013):

∂ηr
∀X ∈]0, l[: Fext (X ) = −M f + adTηr (M f ηr ) − Fflow , (43)
∂t
  1 
Fext (l) = −(M f ηr ) e1T ηr − ηrT M f ηr e1 , Fext (0) = 0, (44)
2

with e1 = (1 0 0 0 0 0)T and M f (X ) the 6 × 6 added mass tensor of the X -cross


section12 in is body frame F(X ). Since F(X ) is centered on the cross-sectional mass
center, M f (X ) takes the form:
 
mf 0
Mf = , (45)
0 If

where we introduced the matrices of linear and angular added inertia expressed in the
cross-sectional frames centered on the elliptic cross-sectional centroid:
⎛ ⎞ ⎛ ⎞
0 0 0 If1 0 0
m f = ⎝0 m f2 0 ⎠, If = ⎝ 0 0 0⎠ (46)
0 0 m f3 0 00

11 β(X ) is the angle between the linear velocity of the aerodynamic center and the cord of the X -cross
section. It can be computed as follows, β = arctan(Va,y , Va,z ) where [Va,x , Va,y , Va,z ]T is the vector of
the aerodynamical velocity in the cross-sectional frame.
12 Note here that M (X ) being related to a zero-thickness section, it has the dimension of a density of
f
added mass tensor per unit of beam length.

123
J Nonlinear Sci

In (43)–(44), ηr = (VrT , 0T )T is the relative velocity of the cross section’s frame


with respect to the fluid13 , where Vr (X ) = V (X ) − V f (X ) with V (X ) and V f (X ) =
R T (X )v f (O(X )) being the linear velocity of the beam and the fluid (without the
beam) both expressed at the center O(X ) of the X -cross section in the basis of F(X ).
With this conventional notation, the two first terms in Eq. (43) (as in the case of the
flapping wing) represent the forces exerted by the fluid mass laterally accelerated by
each cross section. In contrast to the flapping wing, this hydrodynamic model accounts
for the vorticity shed in the wake (Candelier et al. 2013) through the second term of
(44). Finally, in the case of the planar swimming, the last term of (43) takes the form
Fflow = ( f flow
T , m T )T , where:
flow
  
f flow = −m b R T γ f + R T ∇ X v f m f Vr , (47)
 T
m flow = 0, 0, m
 f ∂ Vr,2 /∂t , (48)

with m b (X ) the mass of the X -cross section, and γ f and ∇ X v f the acceleration
and the gradient of the velocity field14 of the ambient flow (without the body), both
evaluated at the center O(X ) of the cross section and expressed in the axes of the
fixed frame Fe . The field of hydrodynamic couples exerted along the beam given
by (48) only depends on the cross section variations since Vr,2 = (0, 1, 0)Vr and
 f = (m f /4)(a∂b/∂ X + 3b∂a/∂ X with a(X ) and b(X ) the length of the two axes
m
of the elliptic X -cross section (see Fig. 3b).

Appendix 2: Newton–Euler Model of the MAV of Fig. 1a

The purpose of this appendix is to provide the detail of the notations used in the
generalized Newton–Euler model in (17)–(20). First, note that all quantities referring
to purely rigid movements were introduced prior to (17)–(20). In particular, g j , η j ,
η̇ j denote the associated transformation, velocity and acceleration, respectively, of the
B j -body frame, now defined as the jth floating frame. In addition, M j , F j are the 6×6
inertia matrix and the 6 × 1 vectors of Coriolis-centrifugal and external forces, applied
to the flexible body when it is locked in its current configuration re j . The additional
variables used in (17)–(20) are related to the elastic degrees of freedom. In (17),
m j is the matrix of modal inertia, M Tj is the matrix of inertia coupling between rigid
reference accelerations and modal accelerations, and Q j is the Nej ×1 vectors of modal
inertia (Coriolis-centrifugal), external and internal (restoring elastic) forces, while
Φ j (l j ) = (Φd j (l j )T , Φr j (l j )T )T is the matrix of linear and angular shape functions
expressed at X = l j , (i.e., at the last cross section of B j ). In (18)-(20), Rg j,i is the 6×6
matrix transforming a twist from the basis of Fi to the basis of F j , leaving the origin
unchanged, and A j is the unit twist supporting the joint axis. Consequently, Ai ṙi =
−1
gai ġai accounts for the joint velocity, and ζi contains the corresponding accelerations

13 Note here, that if the fluid is quiescent, F T T T


f low = 0, η = (V , Ω ) = ηr and (43)–(44) are reduced
to the three-dimensional LAEBT model of Boyer et al. (2010), Candelier et al. (2011).
14 The gradient is defined with respect to the beam coordinates, i.e., ∇ v = (∂v /∂ X ) , i, j = 1, 2, 3
X f f,i j i, j
where v f,i are the components of v f in Fe and X j are the beam coordinates extended to the fluid domain.

123
J Nonlinear Sci

(r̈i ), as well as the residual velocity-dependent accelerations resulting from the time
−1
differentiation of 19. Similarly, Φi (li )ṙei = ġei gei represents the 6 × 1 (elastic)
velocity vector introduced by the body Bi which precedes B j along the structure’s
branch. The interested reader is referred to Boyer and Coiffet (1996) for the detailed
expression of these matrices in the general case. In the special case of the MAV
described in Sect. 3, because the two flexible wings B j , j = 1, 2, are terminal bodies,
Φ j (l j ) plays no role in the model. For a pure torsional deformation (here described
with one torsional mode ϕt1 of modal coordinate θ1 per wing), the inertia matrix and
the vector of Coriolis-centrifugal (and external) forces in the wings’ generalized NE
model (17) can be computed with the exact kinematics (i.e., not linearized) of the
wings in the floating frame. The resulting expressions are the following
 
m j 13×3 ms Tj
Mj = ,
m sj Jj
 
m j (V j × Ω j ) − Ω j × (Ω j × ms j ) + f ext, j
Fj = , (49)
ms j × (V j × Ω j ) − Ω j × (J j Ω j ) + b j + m ext,j
 T
where mj = μ0 is the total mass of B j , b j = θ̇1 0, −μ2τ,1 Ω j z , μ2τ,1 Ω j y , and the
matrices of first and second momenta of inertia are obtained from
⎛ ⎞ ⎛ ⎞
μx0 μ2 0 0
ms j = ⎝ 0 ⎠ , J j = ⎝ 0 μx x0 + 0.5μ2 0 ⎠.
0 0 0 μx x0 + 0.5μ2

In addition, we have
 
m j = μ2τ τ,11 , M j = 0, 0, 0, μ2τ,1 , 0, 0 , Q j = −kτ,11 θ1 + Q ext, j .

Computing the above expressions requires the value of the following inertial para-
meters (ρ denotes the mass per unit of beam volume, X denotes the span-wise beam
coordinate),
  
μ0 = span ρ AdX, μx0 = span Xρ AdX, μx x0 = span X 2 ρ AdX,
  
μ2 = span ρ Iρ dX, μ2τ,1 = span ρ Iρ ϕt1 dX, μ2τ τ,11 = span ρ Iρ ϕt1 ϕt1 dX,

as well as that of the modal stiffness,




kτ,11 = G Iρ ϕt1 ϕt1 dX,
span

where G is the twisting modulus of the beam, A and Iρ its cross-sectional area and polar
inertia, respectively. These parameters being time independent, they can be computed
once initially, then used for all simulation times. Finally, we need to compute the
external forces f ext, j , m ext, j , and Q ext, j , which are exerted by gravity and the flow
surrounding the wing. The gravity force field can be directly included within the

123
J Nonlinear Sci

algorithm as a net overall acceleration added to η̇0 given by (22).15 The model of
external forces required by the algorithm thus reduces to that of aerodynamical forces,
which are primarily given by

f ext, j = span f aero (X ) d X,

m ext, j = span ((X, 0, 0)T × f aero (X ) + m aero (X )) d X, (50)

Q ext, j = span (m aero ϕt1 )(X )d X,

where ( f aero
T , m T )(X )T = F
aero aero (X ) is defined by (40). Additional analytical details
could be provided regarding these forces. However, in the simulation discussed in
Sect. 7, only the steady component of (40) is used. Meanwhile, the value of f ext, j ,
m ext, j , and Q ext, j is obtained from a numerical integration based on the Gauss quadra-
ture method. This space integration is performed at each iteration of the algorithm,
using the current values of Va and β required by the model of steady aerodynamic
forces (41)–(42), along with the exact expressions (i.e., not linearized) of the position
and velocity of the wing material points in the floating frame.

Appendix 3: Mixed Dynamics Algorithm for Soft Locomotion Systems

The algorithm is structured in three recursions. It uses a Boolean variable bo ( j) = 1


or bo ( j) = 0 depending on whether the jth joint’s movement or torque is imposed.
Note that if the joint is the result of the discretization of the beam’s strain field, we
have bo ( j) = 0. The term ζ j of (20) is of the form ζ j = A j r̈ j + ν j , where ν j is a
velocity-dependent acceleration term deduced from the time differentiation of (18). It
is known for any value of bo ( j), whereas ζ j is known only when bo ( j) = 1. For the
sake of concision, we use the simplified notations gei (li ) = gei and Φi (li ) = Φi .
• First Forward Recursion

For j = 1 to j = n, compute
g j = gi gei ga j , (51)
η j = Ad g j,i ηi + Rg j,i Φi ṙei + A j ṙ j , (52)
Ad gi, j , Rgi, j , M j , m j , M j , F j , Q j (53)
If bo ( j) = 1, compute ζ j , (54)
If bo ( j) = 0, compute ν j . (55)
End for.

• Backward Recursion

For j = n to j = 1 , compute
If bo ( j) = 1

15 In this way, the second forward recursion computes the torques and the elastic accelerations required to
ensure not only the net movements, but also to balance gravity’s acceleration.

123
J Nonlinear Sci

+ ,
Υ =M (56)
j
γ = ζj, (57)
Else
+ A j ,
k = ATj M (58)
j
 
+ ,
E = 16×6 − k −1 A j ATj M (59)
j
+ E,
Υ =M (60)
j
 
+ ,
γ = Eν j + k −1 A j τ j + ATj F (61)
j
End if
Mi+ = Mi+ + AdTg j,i Υ Ad g j,i , (62)
Mi+ = Mi+ + AdTg j,i Υ Rg j,i Φi ,
T T
(63)
m i+ = m i+ + ΦiT Rgi, j Υ Rg j,i Φi , (64)
 
Fi+ = Fi+ + AdTg j,i F + − M + γ , (65)
j j
 
Q i+ = Q i+ + ΦiT Rgi, j F + − M + γ , (66)
j j

+ = M+ − M + T m + −1 M + ,
M (67)
i i i i i
+ = F + − −1
Mi+ m i+ Q i+ ,
T
Fi i (68)
End for.

• Second Forward Recursion

For j = 1to j = n , compute


μ = Ad g j,i η̇i + Rg j,i Φi r̈ei + ν j , (69)
If bo ( j) = 1
 
τ j = ATj M + η̇ j − F
+ , (70)
j j
Else   
r̈ j = k −1 τ j − ATj M+ μ − F
+ , (71)
j j
End if
η̇ j = μ + A j r̈ j , (72)
 
−1
r̈ej = m +j Q +j − M +
j j ,
η̇ (73)
End for.

These three recursions are initialized as follows. The first recursion is initialized by
the current state of the reference body (g0 , η0 ), the backward recursion is initialized
by M + = M  j = M j − M T m −1 M j and F + = F j = F j − M T m −1 Q j , for all
j j j j j j
j, while the last recursion is initialized by the current reference state (g0 , η0 )(t) and
the current reference accelerations η̇0 (t), computed after the second recursion from

123
J Nonlinear Sci

η̇0 = M+−1 F + . Finally, in the case that B j is a rigid body, all modal matrices of
0 0
(17)–(20) can be removed and M + = M+ , F + = F + . In particular, when applying
j j j j
the algorithm to the GEA, all bodies are rigid and the algorithm is reduced to a rigid
version given in Featherstone (2008). Finally, this algorithm only requires derivation of
the generalized Newton–Euler model in a preliminary stage, all remaining calculations
can be automatically performed (either numerically or symbolically).

References
Ahlborn, B.K., Blake, R.W., Megill, W.M.: Frequency tuning in animal locomotion. Zoology 109, 43–53
(2006)
Albu-Schäffer, A., Eiberger, O., Grebenstein, M., Haddadin, S., Ott, C., Wimböck, T., Wolf, S., Hirzinger, G.:
Soft robotics: from torque feedback-controlled lightweight robots to intrinsically compliant systems.
IEEE Robot. Autom. Mag. 15(3), 20–30 (2008)
Alexander, R.M.: Elastic Mechanisms in Animal Movement, 1st edn. Cambridge University Press, Cam-
bridge (1988)
Alexander, R.M.: Models and the scaling of energy costs for locomotion. J. Exp. Biol. 208, 1645–1652
(2005)
Antman, S.S.: Nonlinear Problems of Elasticity (Mathematical Sciences vol 107), 2nd edn. Springer, New
York (2005)
Beal, D.N., Hover, F.S., Triantafyllou, M.S., Liao, J.C., Lauder, G.V.: Passive propulsion in vortex wakes.
J. Fluid Mech. 549, 385–402 (2006)
Bennet-Clark, H.C.: The energetics of the jump of the locust schistorcerca gregaria. J. Exp. Biol. 63, 53–83
(1975)
Bergou, A.J., Ristroph, L., Guckenheimer, J., Cohen, I., Wang, Z.J.: Turning maneuver in free flight. Phys.
Rev. Lett. 104(14), 148,101 (2010)
Boyer, F., Ali, S.: Recursive inverse dynamics of mobile multibody systems with joints and wheels. IEEE
Trans. Robot. 27(2), 215–228 (2011). doi:10.1109/TRO.2010.2103450
Boyer, F., Ali, S., Porez, M.: Macro-continuous dynamics for hyper-redundant robots: application to kine-
matic locomotion bio-inspired by elongated body animals. IEEE Trans. Robot. 28(2), 303–317 (2012).
doi:10.1109/TRO.2011.2171616
Boyer, F., Coiffet, P.: Generalization of Newton–Euler model for flexible manipulators. J. Robot. Syst.
13(1), 11–24 (1996)
Boyer, F., Glandais, N., Khalil, W.: Flexible multibody dynamics based on a non-linear Euler–Bernoulli
kinematics. Int. J. Numer. Methods Eng. 54(1), 27–59 (2002)
Boyer, F., Khalil, W.: An efficient calculation of flexible manipulator inverse dynamics. Int. J. Robot. Res.
17(3), 282–293 (1998)
Boyer, F., Porez, M.: Multibody system dynamics for bio-inspired locomotion: from geometric structures
to computational aspects. Bioinspir. Biomim. 10(2), 025007 (2015)
Boyer, F., Porez, M., Khalil, W.: Macro-continuous computed torque algorithm for a three-dimensional
eel-like robot. IEEE Trans. Robot. 22(4), 763–775 (2006). doi:10.1109/TRO.2006.875492
Boyer, F., Porez, M., Leroyer, A.: Poincaré–Cosserat equations for the Lighthill three-dimensional large
amplitude elongated body theory: Application to robotics. J. Nonlinear Sci. 20, 47–79 (2010). doi:10.
1007/s00332-009-9050-5
Boyer, F., Porez, M., Leroyer, A., Visonneau, M.: Fast dynamics of an eel-like robot—comparisons with
Navier–Stokes simulations. IEEE Trans. Robot. 24(6), 1274–1288 (2008)
Boyer, F., Primault, D.: Finite element of slender beams in finite transformations: a geometrically exact
approach. Int. J. Numer. Methods Eng. 59(5), 669–702 (2004)
Canavin, J., Likins, P.: Floating reference frames for flexible spacecraft. J. Spacecr. Rockets 14(12), 724–732
(1977)
Candelier, F., Boyer, F., Leroyer, A.: Three-dimensional extension of Lighthill’s large-amplitude elongated-
body theory of fish locomotion. J. Fluid Mech. 674, 196–226 (2011)
Candelier, F., Porez, M., Boyer, F.: Note on the swimming of an elongated body in a non-uniform flow. J.
Fluid Mech. 716, 616–637 (2013)

123
J Nonlinear Sci

Damaren, C., Sharf, I.: Simulation of flexible-link manipulators with inertial and geometric nonlinearities.
J. Dyn. Syst. Meas. Control 117(1), 74–87 (1995)
D’Eleuterio, G.M.T.: Dynamics of an elastic multibody chain: part C—recursive dynamics. Dyn. Stab. Syst.
7(2), 61–89 (1992)
Dhatt, G., Lefrançois, E., Touzot, G.: Finite Element Method, 1st edn. Wiley, Hoboken (2012)
Dickinson, M.H., Farley, C.T., Full, R.J., Koehl, M.A., Kram, R., Lehman, S.: How animals move: an
integrative view. Science 288(5463), 100–106 (2000)
Dickinson, M.H., Lehmann, F.O., Sane, S.P.: Wing rotation and the aerodynamic basis of insect flight.
Science 284(5422), 1954–1960 (1999). http://www.sciencemag.org/content/284/5422/1954.abstract
Dombre, E., Khalil, W.: Modélisation et commande des robots. Hermes, Paris (1988)
Featherstone, R.: The calculation of robot dynamics using articulated-body inertias. Int. J. Robot. Res. 2(1),
13–30 (1983)
Featherstone, R.: Robot Dynamics Algorithms. Springer, Boston (1987)
Featherstone, R.: Rigid Body Dynamics Algorithms, 1st edn. Springer, New-York (2008)
Full, R.J., Koditschek, D.E.: Templates and anchors: neuromechanical hypotheses of legged locomotion on
land. J. Exp. Biol. 202, 3325–3332 (1999)
http://faculty.washington.edu/danielt/hovermoth.html
Hatton, R.L., Choset, H.: Geometric motion planning: the local connection, stokes’ theorem, and
the importance of coordinate choice. Int. J. Robot. Res. 30(8), 988–1014 (2011). doi:10.1177/
0278364910394392. http://ijr.sagepub.com/content/30/8/988.abstract
Hughes, P.C., Sincarsin, G.B.: Dynamics of elastic multibody chains: part B—global dynamics. Dyn. Stab.
Syst. 4(3–4), 227–243 (1989)
Kelly, S.D., Murray, R.M.: Geometric phases and robotic locomotion. J. Robot. Syst. 12(6), 417–431 (1995)
Khalil, W., Boyer, F., Morsli, F.: General dynamic modeling of floating base tree structure robots with
flexible joints and links. IEEE Transactions on Man Systems and Cybernetics (2016)
Khalil, W., Gallot, G., Boyer, F.: Dynamic modeling and simulation of a 3-D serial eel like robot. IEEE
Trans. Syst. Man Cybern. Part C Appl. Rev. 37(6), 1259–1268 (2007)
Lighthill, M.J.: Note on the swimming of slender fish. J. Fluid Mech. 9(2), 305–317 (1960)
Lighthill, M.J.: Large-amplitude elongated-body theory of fish locomotion. Proc. R. Soc. Lond. Ser. B Biol.
Sci. 179(1055), 125–138 (1971)
Liu, H.: Integrated modeling of insect flight: from morphology, kinematics to aerodynamics. J. Comput.
Phys. 228(2), 439–459 (2009)
Long, J.H., Nipper, K.S.: The importance of body stiffness in undulatory propulsion. Am. Zool. 36(6),
678–694 (1996)
Marsden, J.E., Ostrowski, J.: Symmetries in Motion: Geometric Foundations of Motion Control. Motion,
Control, and Geometry: Proceedings of a Symposium. National Academies Press, Washington, DC
(1998)
McMichael, J.M., Francis, M.S.: Micro air vehicles−−−toward a new dimension in flight. Technical report
DARPA (1997). http://www.fas.org/irp/program/collect/docs/mavauvsi.htm
Meirovitch, L.: Methods of Analytical Dynamics. McGraw-Hill, New York (1970)
Murray, R.M., Sastry, S.S., Zexiang, L.: A Mathematical Introduction to Robotic Manipulation, 1st edn.
CRC Press Inc., Boca Raton (1994)
Nakata, T., Liu, H.: A fluid-structure interaction model of insect flight with flexible wings. J. Comput. Phys.
231(4), 1822–1847 (2012)
Ostrowski, J., Burdick, J.: Gait kinematics for a serpentine robot. In: Proceedings of IEEE International
Conference on Robotics and Automation, pp. 1294–1299 (1996)
Pfeifer, R., Lungarella, M., Iida, F.: Self-organization, embodiment, and biologically inspired robotics.
Science 318(5853), 1088–1093 (2007)
Porez, M., Boyer, F., Belkhiri, A.: A hybrid dynamic model for bio-inspired robots with soft appendages
- application to a bio-inspired flexible flapping-wing micro air vehicle. In: Proceeding of IEEE Inter-
national Conference on Robotics and Automation (ICRA’2014), pp. 3556–3563 (2014)
Porez, M., Boyer, F., Ijspeert, A.: Improved lighthill fish swimming model for bio-inspired robots: modeling,
computational aspects and experimental comparisons. Int. J. Robot. Res. 33(10), 1322–1341 (2014)
Reissner, E.: On a one-dimensional large displacement finite-strain beam theory. Stud. Appl. Math. 52(2),
87–95 (1973)
Roberts, T.J., Azizi, E.: Flexible mechanisms: the diverse roles of biological springs in vertebrate movement.
J. Exp. Biol. 214(3), 353–361 (2011)

123
J Nonlinear Sci

Shabana, A.A.: Dynamics of Multibody Systems. Wiley, New York (1989)


Simo, J.C., Vu-Quoc, L.: On the dynamics of flexible beams under large overall motions—the plane case:
part I. J. Appl. Mech. 53(4), 849–854 (1986)
Simo, J.C., Vu-Quoc, L.: On the dynamics in space of rods undergoing large motions—a geomet-
rically exact approach. Comp. Methods Appl. Mech. Eng. 66(2), 125–161 (1988). doi:10.1016/
0045-7825(88)90073-4. http://www.sciencedirect.com/science/article/pii/0045782588900734
Tallapragada, P.: A swimming robot with an internal rotor as a nonholonomic system. In: Proceeding of
American Control Conference (ACC’2015), pp. 657–662 (2015)
Walker, J.A.: Rotational lift: something different or more of the same? J. Exp. Biol. 205, 3783–3792 (2002)
Walker, M.W., Luh, J.Y.S., Paul, R.C.P.: On-line computational scheme for mechanical manipulator. Trans-
action ASME. J. Dyn. Syst. Meas. Control 102(2), 69–76 (1980)
Whitney, J., Wood, R.: Aeromechanics of passive rotation in flapping flight. J. Fluid Mech. 660, 197–220
(2010)
Wood, R.J.: Design, fabrication, and analysis of a 3DOF, 3cm flapping-wing MAV. In: International con-
ference on intelligent robots and systems, 2007. IROS 2007. IEEE/RSJ, pp. 1576–1581 (2007)
y Alvarado, P.V., Youcef-Toumi, K.: Design of machines with compliant bodies for biomimetic locomotion
in liquid environments. J. Dyn. Syst. Meas. Control 128(1), 3–13 (2006)

123

You might also like