Abstract
In animal locomotion, either in fish or flying insects, the use of flexible terminal 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 (bioinspired) locomotion of robots using soft organs. The proposed approach is based on the model of Mobile Multibody Systems (MMS). The distributed 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 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 bioinspired locomotion: the passive swimming in von Karman Vortex Street, and the hovering flight with flexible flapping wings.
This is a preview of subscription content, log in to check access.
Access options
Buy single article
Instant unlimited access to the full article PDF.
US$ 39.95
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
US$ 99
This is the net price. Taxes to be calculated in checkout.
Notes
 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.
 2.
In this case, the Reissner beam is used as a model of a hyperredundant rigid robot (Boyer et al. 2006).
 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 RayleighRitz functions as polynomials or splines (Meirovitch 1970).
 5.
For concision, we omit the \(_\mathrm{r}\) subscript from the reference transformations.
 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 symbol \(\widetilde{\;}\) denotes the inertia matrices and forces exerted on the floating frame DoFs after having removed from the first row of (17), the elastic accelerations deduced from its second row, i.e., \(\widetilde{\mathcal {M}}_j = \mathcal {M}_jM_j^\mathrm{T}m_j^{1}M_j\) and \(\widetilde{\mathcal F}_j = \mathcal {F}_jM_j^\mathrm{T}m_j^{1}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).
 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.
 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.
\(^\mathrm{a}F_\mathrm{steady}\) is a \((6\times 1)\) vector gathering the resultant of quasisteady forces and their momentum related to the aerodynamical frame.
 11.
\(\beta (X)\) is the angle between the linear velocity of the aerodynamic center and the cord of the Xcross section. It can be computed as follows, \(\beta = \arctan (V_{\mathrm{a},y},V_{\mathrm{a},z})\) where \([V_{\mathrm{a},x},V_{\mathrm{a},y},V_{\mathrm{a},z}]^\mathrm{T}\) is the vector of the aerodynamical velocity in the crosssectional frame.
 12.
Note here that \(\mathcal {M}_{f}(X)\) being related to a zerothickness section, it has the dimension of a density of added mass tensor per unit of beam length.
 13.
 14.
The gradient is defined with respect to the beam coordinates, i.e., \(\nabla _{X}v_{f}=(\partial v_{f,i}/\partial X_{j})_{i,j}\), \(i,j=1,2,3\) where \(v_{f,i}\) are the components of \(v_{f}\) in \({F}_{e}\) and \(X_{j}\) are the beam coordinates extended to the fluid domain.
 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.
References
Ahlborn, B.K., Blake, R.W., Megill, W.M.: Frequency tuning in animal locomotion. Zoology 109, 43–53 (2006)
AlbuSchäffer, A., Eiberger, O., Grebenstein, M., Haddadin, S., Ott, C., Wimböck, T., Wolf, S., Hirzinger, G.: Soft robotics: from torque feedbackcontrolled 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, Cambridge (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)
BennetClark, 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.: Macrocontinuous dynamics for hyperredundant robots: application to kinematic locomotion bioinspired 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 nonlinear 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 bioinspired locomotion: from geometric structures to computational aspects. Bioinspir. Biomim. 10(2), 025007 (2015)
Boyer, F., Porez, M., Khalil, W.: Macrocontinuous computed torque algorithm for a threedimensional eellike 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 threedimensional large amplitude elongated body theory: Application to robotics. J. Nonlinear Sci. 20, 47–79 (2010). doi:10.1007/s0033200990505
Boyer, F., Porez, M., Leroyer, A., Visonneau, M.: Fast dynamics of an eellike 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.: Threedimensional extension of Lighthill’s largeamplitude elongatedbody 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 nonuniform flow. J. Fluid Mech. 716, 616–637 (2013)
Damaren, C., Sharf, I.: Simulation of flexiblelink 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 articulatedbody 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, NewYork (2008)
Full, R.J., Koditschek, D.E.: Templates and anchors: neuromechanical hypotheses of legged locomotion on land. J. Exp. Biol. 202, 3325–3332 (1999)
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 3D 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.: Largeamplitude elongatedbody 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. McGrawHill, 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 fluidstructure 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.: Selforganization, embodiment, and biologically inspired robotics. Science 318(5853), 1088–1093 (2007)
Porez, M., Boyer, F., Belkhiri, A.: A hybrid dynamic model for bioinspired robots with soft appendages  application to a bioinspired flexible flappingwing micro air vehicle. In: Proceeding of IEEE International Conference on Robotics and Automation (ICRA’2014), pp. 3556–3563 (2014)
Porez, M., Boyer, F., Ijspeert, A.: Improved lighthill fish swimming model for bioinspired robots: modeling, computational aspects and experimental comparisons. Int. J. Robot. Res. 33(10), 1322–1341 (2014)
Reissner, E.: On a onedimensional large displacement finitestrain 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)
Shabana, A.A.: Dynamics of Multibody Systems. Wiley, New York (1989)
Simo, J.C., VuQuoc, 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., VuQuoc, L.: On the dynamics in space of rods undergoing large motions—a geometrically exact approach. Comp. Methods Appl. Mech. Eng. 66(2), 125–161 (1988). doi:10.1016/00457825(88)900734. 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.: Online computational scheme for mechanical manipulator. Transaction 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 flappingwing MAV. In: International conference on intelligent robots and systems, 2007. IROS 2007. IEEE/RSJ, pp. 1576–1581 (2007)
y Alvarado, P.V., YoucefToumi, K.: Design of machines with compliant bodies for biomimetic locomotion in liquid environments. J. Dyn. Syst. Meas. Control 128(1), 3–13 (2006)
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.
Author information
Additional information
Communicated by Maurizio Porfiri.
Electronic supplementary material
Below is the link to the electronic supplementary material.
Supplementary material 1 (mp4 5181 KB)
Appendices
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 flappingwing 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 flappingwing flight is a 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,
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 dX (X being the spanwise 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\(^\circ \)) the quasisteady 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),^{Footnote 8} 2\(^{o}\)) the effect of added mass, in which \(\mathcal {M}_f(X)\) represents the \(6\times 6\) tensor of added mass of the Xcross section. In addition, note that the quasisteady forces can be detailed as \(F_\mathrm{steady}= \mathrm{Ad}_h^\mathrm{T}.^\mathrm{a}F_\mathrm{steady}\), where \(^\mathrm{a}F_\mathrm{steady}\) is the wrench of aerodynamic forces expressed in a frame aligned with the incident flow centered on the aerodynamical center.^{Footnote 9} This frame is hereafter referred to as the aerodynamical frame (indexed \(^\mathrm{a}\)), which is related to the crosssectional 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, \(^\mathrm{a}F_\mathrm{steady}=(L_\mathrm{stat}^\mathrm{T}+D_\mathrm{stat}^\mathrm{T},0^\mathrm{T})^\mathrm{T}\) with \(L_\mathrm{stat}(X)\) and \(D_\mathrm{stat}(X)\) the lift and drag forces exerted on the Xcross section.^{Footnote 10} This forces are of the form
where \(\rho _\mathrm{air}\) is the density of the air, c(X) is the Xcrosssectional cord length, and \(V_\mathrm{a}(X)\) is the norm of the velocity of the aerodynamical center of the blade of spanwise abscissa X. In addition, \(C_{L,\mathrm{stat}}\) and \(C_{D,\mathrm{stat}}\) are empirical dimensionless coefficients which, in the case of a fruit fly (Dickinson et al. 1999), are of the form
where \(\beta (X)\) is the angle of attack of the Xcross section.^{Footnote 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 \(\mathrm{ad}_{\eta }^\mathrm{T}(\mathcal {M}_f\eta )\) is the added mass term due to Corioliscentrifugal 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 coordinates of the Cosserat beam prolonged to the nearby flow, the model can be detailed as follows (Candelier et al. 2013):
with \(e_1= (1 \ 0 \ 0 \ 0 \ 0 \ 0)^T\) and \(\mathcal {M}_{f}(X)\) the \(6\times 6\) added mass tensor of the Xcross section^{Footnote 12} in is body frame F(X). Since F(X) is centered on the crosssectional mass center, \(\mathcal {M}_{f}(X)\) takes the form:
where we introduced the matrices of linear and angular added inertia expressed in the crosssectional frames centered on the elliptic crosssectional centroid:
In (43)–(44), \(\eta _{r}=(V_{r}^{T},0^{T})^{T}\) is the relative velocity of the cross section’s frame with respect to the fluid^{Footnote 13}, where \(V_{r}(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 Xcross 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 \(F_\mathrm{flow}=(f_\mathrm{flow}^{T},m_\mathrm{flow}^{T})^{T}\), where:
with \(m_{b}(X)\) the mass of the Xcross section, and \(\gamma _{f}\) and \(\nabla _{X}v_{f}\) the acceleration and the gradient of the velocity field^{Footnote 14} 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 \({F}_{e}\). The field of hydrodynamic couples exerted along the beam given by (48) only depends on the cross section variations since \(V_{r,2}=(0,1,0)V_{r}\) and \(\widetilde{m}_{f}=(m_{f}/4)(a\partial b/\partial X+3b \partial a/\partial X\) with a(X) and b(X) the length of the two axes of the elliptic Xcross 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\), \(\eta _j\), \(\dot{\eta }_j\) denote the associated transformation, velocity and acceleration, respectively, of the \(\mathcal {B}_j\)body frame, now defined as the \(j\mathrm{th}\) floating frame. In addition, \(\mathcal {M}_j\), \(\mathcal {F}_{j}\) are the \(6\times 6\) inertia matrix and the \(6\times 1\) vectors of Corioliscentrifugal and external forces, applied to the flexible body when it is locked in its current configuration \(r_{\mathrm{e}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_j^\mathrm{T}\) is the matrix of inertia coupling between rigid reference accelerations and modal accelerations, and \(Q_{j}\) is the \(N_{ej}\times 1\) vectors of modal inertia (Corioliscentrifugal), external and internal (restoring elastic) forces, while \(\varPhi _j(l_{j})=(\varPhi _{dj}(l_{j})^\mathrm{T},\varPhi _{rj}(l_{j})^\mathrm{T})^\mathrm{T}\) is the matrix of linear and angular shape functions expressed at \(X=l_j\), (i.e., at the last cross section of \(\mathcal {B}_j\)). In (18)(20), \(R_{g_{j,i}}\) is the \(6\times 6\) matrix transforming a twist from the basis of \({F}_i\) to the basis of \({F}_j\), leaving the origin unchanged, and \(A_j\) is the unit twist supporting the joint axis. Consequently, \(A_i\dot{r}_i = g_{ai}^{1}\dot{g}_{ai}\) accounts for the joint velocity, and \(\zeta _i\) contains the corresponding accelerations (\(\ddot{r}_i\)), as well as the residual velocitydependent accelerations resulting from the time differentiation of 19. Similarly, \(\varPhi _i(l_{i})\dot{r}_{\mathrm{e}i} = \dot{g}_{\mathrm{e}i} g_{\mathrm{e}i}^{1}\) represents the \(6\times 1\) (elastic) velocity vector introduced by the body \(\mathcal {B}_i\) which precedes \(\mathcal {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 \(\mathcal {B}_j\), \(j=1\), 2, are terminal bodies, \(\varPhi _j(l_{j})\) plays no role in the model. For a pure torsional deformation (here described with one torsional mode \(\varphi _{t1}\) of modal coordinate \(\theta _1\) per wing), the inertia matrix and the vector of Corioliscentrifugal (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
where \(\mathrm{m}_j =\mu _0\) is the total mass of \(\mathcal {B}_j\), \(b_{j}=\dot{\theta }_1\left( 0,\mu _{2\tau ,1}\varOmega _{jz},\mu _{2\tau ,1}\varOmega _{jy}\right) ^\mathrm{T}\), and the matrices of first and second momenta of inertia are obtained from
In addition, we have
Computing the above expressions requires the value of the following inertial parameters (\(\rho \) denotes the mass per unit of beam volume, X denotes the spanwise beam coordinate),
as well as that of the modal stiffness,
where G is the twisting modulus of the beam, A and \(I_{\rho }\) its crosssectional 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_{\mathrm{ext,}j}\), \(m_{\mathrm{ext,}j}\), and \(Q_{\mathrm{ext,}j}\), which are exerted by gravity and the flow surrounding the wing. The gravity force field can be directly included within the algorithm as a net overall acceleration added to \(\dot{\eta }_0\) given by (22).^{Footnote 15} The model of external forces required by the algorithm thus reduces to that of aerodynamical forces, which are primarily given by
where \((f_\mathrm{aero}^\mathrm{T}, m_\mathrm{aero}^\mathrm{T})(X)^\mathrm{T}= F_\mathrm{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_{\mathrm{ext,}j}\), \(m_{\mathrm{ext,}j}\), and \(Q_{\mathrm{ext,}j}\) is obtained from a numerical integration based on the Gauss quadrature method. This space integration is performed at each iteration of the algorithm, using the current values of \(V_\mathrm{a}\) and \(\beta \) 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 \(b_o(j)=1\) or \(b_o(j)=0\) depending on whether the \(j\mathrm{th}\) 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 \(b_o(j)=0\). The term \(\zeta _{j}\) of (20) is of the form \(\zeta _j= A_j \ddot{r}_j + \nu _j\), where \(\nu _j\) is a velocitydependent acceleration term deduced from the time differentiation of (18). It is known for any value of \(b_o(j)\), whereas \(\zeta _j\) is known only when \(b_o(j)=1\). For the sake of concision, we use the simplified notations \(g_{ei}(l_{i})=g_{ei}\) and \(\varPhi _{i}(l_{i})=\varPhi _{i}\).

First Forward Recursion
$$\begin{aligned}&\mathbf{For } \,\,j=1 \,\mathbf{ to } j=n \mathbf{, compute }\nonumber \\&\quad g_j = g_i g_{\mathrm{e}i} g_{\mathrm{a}j}, \end{aligned}$$(51)$$\begin{aligned}&\quad \eta _j = \mathrm{Ad}_{g_{j,i}} \eta _i + R_{g_{j,i}} \varPhi _i \dot{r}_{ei} + A_j \dot{r}_j, \end{aligned}$$(52)$$\begin{aligned}&\quad \mathrm{Ad}_{g_{i,j}},\, R_{g_{i,j}},\, \mathcal {M}_j,\, m_{j},\, M_j,\, \mathcal {F}_j,\, Q_j \end{aligned}$$(53)$$\begin{aligned}&\quad \text{ If } b_o(j)=1,\; \text{ compute } \zeta _j,\end{aligned}$$(54)$$\begin{aligned}&\quad \text{ If } b_o(j)=0,\; \text{ compute } \nu _j.\\&\mathbf{End \, for. }\nonumber \end{aligned}$$(55) 
Backward Recursion
$$\begin{aligned}&\mathbf{For }\, j=n \,\mathbf{ to } \,j=1 \,\mathbf{, compute }\nonumber \\&\quad \text{ If } b_o(j)=1\nonumber \\&\quad \varUpsilon = \widetilde{\mathcal {M}}^+_j,\end{aligned}$$(56)$$\begin{aligned}&\quad \gamma = \zeta _j,\end{aligned}$$(57)$$\begin{aligned}&\quad \text{ Else }\nonumber \\&\quad k = A^\mathrm{T}_j \widetilde{\mathcal {M}}^+_j A_j, \end{aligned}$$(58)$$\begin{aligned}&\quad E = 1_{6\times 6}  k^{1} \left( A_j A^\mathrm{T}_j\right) \widetilde{\mathcal {M}}^+_j, \end{aligned}$$(59)$$\begin{aligned}&\quad \varUpsilon = \widetilde{\mathcal {M}}^+_j E,\end{aligned}$$(60)$$\begin{aligned}&\quad \gamma = E \nu _j + k^{1} A_j \left( \tau _j + A^\mathrm{T}_j \widetilde{\mathcal F}^+_j\right) ,\end{aligned}$$(61)$$\begin{aligned}&\quad \text{ End } \text{ if }\nonumber \\&\quad \mathcal {M}^+_i =\mathcal {M}^+_i + \mathrm{Ad}^\mathrm{T}_{g_{j,i}} \varUpsilon \mathrm{Ad}_{g_{j,i}}, \end{aligned}$$(62)$$\begin{aligned}&\quad {M^+_i}^\mathrm{T}= {M^+_i}^\mathrm{T}+ \mathrm{Ad}_{g_{j,i}}^\mathrm{T}\varUpsilon R_{g_{j,i}} \varPhi _i, \end{aligned}$$(63)$$\begin{aligned}&\quad m^+_i = m^+_i + \varPhi ^\mathrm{T}_i R_{g_{i,j}} \varUpsilon R_{g_{j,i}} \varPhi _i, \end{aligned}$$(64)$$\begin{aligned}&\quad \mathcal F^+_i = \mathcal F^+_i + \mathrm{Ad}^\mathrm{T}_{g_{j,i}} \left( \widetilde{\mathcal F}^+_j  \widetilde{\mathcal {M}}^+_j \gamma \right) , \end{aligned}$$(65)$$\begin{aligned}&\quad Q^+_i = Q^+_i + \varPhi ^\mathrm{T}_i R_{g_{i,j}} \left( \widetilde{\mathcal F}^+_j  \widetilde{\mathcal {M}}^+_j \gamma \right) , \end{aligned}$$(66)$$\begin{aligned}&\quad \widetilde{\mathcal {M}}^+_i = \mathcal {M}^+_i  {M^+_i}^\mathrm{T}{m^+_i}^{1} M^+_i, \end{aligned}$$(67)$$\begin{aligned}&\quad \widetilde{\mathcal F}^+_i = \mathcal F^+_i  {M^+_i}^\mathrm{T}{m^+_i}^{1} Q^+_i, \\&\mathbf{End \,for. }\nonumber \end{aligned}$$(68) 
Second Forward Recursion
$$\begin{aligned}&\mathbf{For } \,j=1 \mathbf{to }\, j=n \,\mathbf{, compute }\nonumber \\&\quad \mu = \mathrm{Ad}_{g_{j,i}} \dot{\eta }_i + R_{g_{j,i}}\varPhi _i \ddot{r}_{ei} + \nu _j,\end{aligned}$$(69)$$\begin{aligned}&\quad \text{ If } b_o(j)=1\nonumber \\&\quad \tau _j = A^\mathrm{T}_j \left( \widetilde{\mathcal {M}}^+_j \dot{\eta }_j  \widetilde{\mathcal F}^+_j\right) ,\end{aligned}$$(70)$$\begin{aligned}&\quad \text{ Else } \nonumber \\&\quad \ddot{r}_j = k^{1} \left( \tau _j  A^\mathrm{T}_j \left( \widetilde{\mathcal {M}}^+_j \mu  \widetilde{\mathcal F}^+_j\right) \right) ,\end{aligned}$$(71)$$\begin{aligned}&\quad \text{ End } \text{ if }\nonumber \\&\quad \dot{\eta }_j = \mu +A_j\ddot{r}_{j},\end{aligned}$$(72)$$\begin{aligned}&\quad \ddot{r}_{ej} = {m^+_j}^{1} \left( Q^+_j  M^+_j \dot{\eta }_j\right) ,\\&\mathbf{End \,for. }\nonumber \end{aligned}$$(73)
These three recursions are initialized as follows. The first recursion is initialized by the current state of the reference body \((g_0,\eta _0)\), the backward recursion is initialized by \(\widetilde{\mathcal {M}}_{j}^{+}=\widetilde{\mathcal {M}}_{j}=\mathcal {M}_j M_j^\mathrm{T}m_j^{1}M_j\) and \(\widetilde{\mathcal F}_j^+=\widetilde{\mathcal F}_j=\mathcal F_jM_j^\mathrm{T}m_j^{1}Q_j\), for all j, while the last recursion is initialized by the current reference state \((g_0,\eta _0)(t)\) and the current reference accelerations \(\dot{\eta }_0(t)\), computed after the second recursion from \(\dot{\eta }_0 = \widetilde{\mathcal {M}}_0^{+1}\widetilde{\mathcal F}_0^+\). Finally, in the case that \(\mathcal {B}_j\) is a rigid body, all modal matrices of (17)–(20) can be removed and \(\widetilde{\mathcal {M}}_j^+=\mathcal {M}_j^+\), \(\widetilde{\mathcal F}_j^+=\mathcal F_j^+\). In particular, when applying 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).
Rights and permissions
About this article
Cite this article
Boyer, F., Porez, M., Morsli, F. et al. Locomotion Dynamics for Bioinspired Robots with Soft Appendages: Application to Flapping Flight and Passive Swimming. J Nonlinear Sci 27, 1121–1154 (2017). https://doi.org/10.1007/s0033201693416
Received:
Accepted:
Published:
Issue Date:
Keywords
 Soft robotics
 Locomotion
 Newton–Euler dynamics
 MAVs
 Fishlike robots
Mathematics Subject Classification
 68T40