Abstract
Navigation problems for a model bio-inspired micro-swimmer, consisting of a cargo head and propelled by multiple rotating flagella or propellers and swimming at low Reynolds numbers, are formulated and solved. We consider both the direct problem, namely, predicting velocity and trajectories of the swimmer as a consequence of prescribed rotation rates of the propellers, and inverse problems, namely, find the rotation rates to best approximate desired translational and rotational velocities and, ultimately, target trajectories. The equations of motion of the swimmer express the balance of the forces and torques acting on the swimmer, and relate translational and rotational velocities of the cargo head to rotation rates of the propellers. The coefficients of these equations, representing hydrodynamic resistance coefficients, are evaluated numerically through a custom-built finite-element code to simulate the (Stokes) fluid flows generated by the movement of the swimmer and of its parts. Several designs of the propulsive rotors are considered: from helical flagella with different chirality to marine propellers, and their relative performance is assessed.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
A microswimmer is a microscopic object (i.e., of size in the range 1–\(100\times 10^{-6}\) m) with the ability to move in a fluid environment. Examples coming from nature include sperm cells, bacteria, parasites carrying potentially deadly diseases (e.g. the plasmodium sporozoite responsible for transmission of malaria), unicellular algae, protists, and protozoa (in particular: ciliates, flagellates). Since swimming is crucial in carrying out their biological function, understanding the mechanics of swimming for these living creatures is important; the reviews [1,2,3,4,5] and the many references cited therein can provide ample material for an introduction to the subject. At the same time, the motility of small living organisms is inspiring new concepts and constructs for small scale motile robots and devices, with many potential applications in the biomedical sector ranging from minimally invasive endoscopic and surgical devices, to targeted drug delivery, see, e.g., [6,7,8,9]. The most basic navigation problem for an artificial microswimmer is to predict the swimming speed on the basis of the geometry of the swimmer and of the characteristics of the motor. This problem has been formulated by Purcell in his seminal papers [10, 11], where the problem is also elegantly solved for a swimmer made of a rigid head and a rigid rotating helical tail (bio-inspired by the body architecture of the bacterium Escherichia coli), assuming that hydrodynamic interactions between head and tail are negligible. More recent extensions to include explicitly the effect of these hydrodynamic interactions, the presence of surrounding walls, or the effect of non-negligible inertial forces are discussed, for example, in [12,13,14].
Investigating biology with the functionalist viewpoint of the engineer often leads to new understanding of biological mechanisms and functions, while modeling the mechanics of life-like miniature machines can lead to the design of novel bio-inspired artificial constructs with superior performance. In this two-way interaction between biology and engineering, mathematical modeling plays an important role in that it allows to distill the essence of the success of some specific mechanism, phrase in the portable language of mathematical formalisms, and make it available to applications at different length scales, or based on different material systems, that can be quite different from the one that initially prompted the research. In this paper, we focus on robotic microswimmers whose body architecture is based on rotating tails attached to a rigid head and mimics the one of bacteria. We consider navigation and control problems inspired by those typically posed in the context of unmanned aerial vehicles (drones) see, e.g., [15, 16]. We extend and adapt the techniques used in that field to the context of microswimming. In doing so, we follow Purcell [10] and consider, for simplicity, the case in which hydrodynamic interactions among the main body (hull) and the propulsive units (rotors) can be neglected. Through the analysis of some specific model systems, we show how to formulate and solve some navigation problems. The direct swimming problem consists in solving for the dynamics of the swimmer, namely, predicting velocity and trajectories of the swimmer as a consequence of prescribed rotation rates of the rotors. The inverse swimming problem (namely, find the rotation rates of the rotors to best approximate desired translational and rotational velocities and, ultimately, target trajectories) is a classical control problem. We anticipate and hope that this viewpoint will be useful also in future studies of microswimmers of biological interest, and in the design of new bio-inspired robotic constructs that can find interesting applications as biomedical devices.
2 Equations of motion
We consider a model micro-swimmer composed of a rotationally symmetric head (the cargo or resistive unit, which can be used as a hull to contain a payload, and that we model as a prolate ellipsoid of revolution along the longitudinal axis with unit vector \({\mathbf{e}}_{3}\)) and four rotors (propulsive units shaped as either helical tails or marine propellers) with axes of rotation parallel to the longitudinal axis of the hull and rigidly attached to the hull with a fixed eccentricity e (the same eccentricity for all four propulsive units, for simplicity). Formally, we denote the ellipsoidal body of the microswimmer (the hull) as \({{\mathcal{B}}}_{h}\), the propulsive rotors as \({{\mathcal{B}}}_{p,i}\), \(i=1,\ldots ,4\), and we denote the swimmer body as \({{\mathcal{B}}}\), which is the union of \({{\mathcal{B}}}_{h}\) and of all the \({{\mathcal{B}}}_{p,i}\). The position vector with respect to the center gravity of \({{\mathcal{B}}}_{h}\) of the i-th rotor is denoted by \({{\mathbf{r}}}_{i}\) and we will assume \({{\mathbf{r}}}_{i}=h{{\mathbf{e}}}_{3} + e ({{\mathbf{r}}}_{i})^{\perp }\), where \(({{\mathbf{r}}}_{i})^{\perp }\) is the unit vector obtained by normalizing the projection of \({{\mathbf{r}}}_{i}\) in the plane perpendicular to \({{\mathbf{e}}}_{3}\), so that all the rotors have the same offset along the longitudinal axis h, and the same eccentricity e. We refer to Fig. 1 for a sketch of the geometry of the micro-swimmer.
For the rotors we will consider several different designs, including single helical tails, double helical tails of higher symmetry, and marine propellers, as discussed below. The fluid environment in which the robot moves is a Newtonian viscous fluid (air, water, glycerol, etc.) flowing at low Reynolds numbers, so that inertial forces can be neglected and its fluid dynamics is governed by the following (Stokes) equations:
Here the volume of the fluid surrounding the body \({{\mathcal{B}}}\) extends to the whole space \({\mathbb{R}}^{3}\) (i.e., no confining walls are considered, for simplicity), \({\mathbf{u}}({\mathbf{x}})\in {\mathbb{R}}^{3}\), \(p({\mathbf{x}}) \in {\mathbb{R}}\) are, respectively, the velocity and pressure of the fluid at a generic point \({\mathbf{x}}\in {\mathbb{R}}^{3}{\backslash } {{\mathcal{B}}}\), while \(\mu >0\) is the fluid dynamic viscosity and \({\mathbf{v}} \in {\mathbb{R}}^{3}\) is the velocity vector field of the solid swimmer. Equality between the velocity of the fluid and of the solid at points on the boundary of the swimmer, where the two are in contact, is the no-slip boundary condition. We consider a neutrally buoyant solid swimmer, and neglect inertial and gravity forces. The equations of motion reduce to the balance of generalized viscous forces (i.e., forces and moments, e.g., with respect to the center of mass of the swimmer’s body) exerted by the fluid on the swimmer. The center of mass of the body of the swimmer is denoted by \({\mathbf{G}}\), and its orientation is described by a time-parametrized rotation that maps the orientation at time \(t=0\), which we assume to coincide with the orientation of the lab frame, to the current orientation (the one of the body frame at time t) according to \({{\mathbf{e}}}_{i}(t)={\mathbb{Q}}(t){{\mathbf{e}}}_{i}(0)\), with \({\mathbb{Q}}(0)={\mathbb{I}}\), the identity matrix. Translational and rotational velocities of the body of the swimmer are related to positional and orientational variables by the equations
where we have denoted with \({\check{\varvec{\Omega }}}\) the axial tensor associated with \(\varvec{\Omega }\), i.e., the skew-symmetric tensor such that \({\check{\varvec{\Omega }}} {{\mathbf{v}}}= {\varvec{\Omega }}\times {{\mathbf{v}}}\) for every vector \({{\mathbf{v}}}\).
In view of the linearity of the Stokes system (1), the generalized viscous forces exerted by the fluid on the swimmer are linear functions of the translational and rotational velocities of the swimmer \({\mathbf{U}},{\varvec{\Omega }}\) and of the rotational velocities of the rotors \({\varvec{\omega }}_{i}=\omega _{i}{{\mathbf{e}}}_{3}\), so that the equations of motion of the swimmer can be written as
Here the \(6\times 6\) grand resistance matrix \({{\mathbb{F}}_{tot}}\) contains the hydrodynamic resistive coefficients for rigid motions of the swimmer, and the i-th column of the \(6\times 4\) propulsive matrix \({\mathbb{P}}\) contains forces and torques generated by the i-th rotor turning at unit speed while all other rotors are still (\(\omega _{i}=1\), \(\omega _{j}=0\) for \(j \ne i\)) and the hull is not moving (\({\mathbf{U}}={\varvec{\Omega }}={{\mathbf{0}}}\)). The procedure to construct these matrices is further described below. Following [10, 11] we use additivity of resistance forces contributed by the individual components of the swimmer (this approximation arises from neglecting hydrodynamic interactions between the various parts of the composite swimmer, see the discussion in Sect. 7) and write
where
are the grand resistance matrices of the hull and the i-th rotor, respectively, each partitioned in \(3\times 3\) blocks containing translational (\({\mathbb{K}}\)), coupling (\({\mathbb{C}}\)) and rotational (\({\mathbb{W}}\)) resistance coefficients, while
where \(({\check{\varvec{r}}}_{\varvec{i}})\) is the axial tensor associated with \({\varvec{r}}_{\varvec{i}}\), the position vector of the i-th rotor with respect to \({\mathbf{G}}\). Matrices \({\mathbb{F}}_{e,i}\) contain the transport terms due to the eccentricity of the rotors, and are needed to account for the fact that the moments in the grand resistance matrices \({\mathbb{F}}_{p,i}\) are computed with respect to the center of mass of the i-th rotor, while the last three equations in (3) express the vanishing of the moment with respect to the center of mass of the swimmer body. Moreover, again due to the possible eccentricity of the rotors, a rotational motion around the center of the hull \({\mathbf{G}}\) with angular velocity \({\varvec{\Omega }}\) induces a translational velocity of the i-th rotor given by \({\varvec{\Omega }}\times {{\mathbf{r}}}_{i}\). Clearly, all these contributions vanish in the case \({{\mathbf{r}}}_{i}=0\). Finally, recalling that \({\varvec{\omega }}_{i}=\omega _{i} {{\mathbf{e}}}_{3}\), the i-th column of the \(6\times 4\) propulsion matrix \({\mathbb{P}}\) is given by
More in detail, the coefficients of the grand resistance matrices (5) are obtained from the following representation formulas for the hydrodynamic forces and moments on the hull and on the i-th rotor
where \({\mathbf{f}}_{h}\) is the total force on the hull and \({\varvec{\tau }}_{h}\) is the total moment with respect to the hull center of gravity \({\mathbf{G}}\) of the forces acting on the hull, \({\mathbf{f}}^{(i)}\) represents the force acting on the i-th rotor, \({\varvec{\tau }}^{(i)}\) is the moment computed with respect to the center of gravity of the i-th propeller \({\mathbf{G}}_{p,i}\), and \({\mathbf{r}} _{i}(t)= {\mathbb{Q}}(t){\mathbf{r}}_{i}(0)\) is the position vector of the i-th rotor with respect to the center of gravity \({\mathbf{G}}\) of the hull. Computing the total force and the total moment with respect to \({\mathbf{G}}\) of all the forces in (8), and factoring out \({\mathbf{U}}\), \({\varvec{\Omega }}\), and \(\omega _{i}\), we obtain the equations of motion (3), with coefficients given by (4)–(7).
3 An ideal swimmer with high symmetry
It is useful to consider an ideal swimmer (that is endowed with complete rotational symmetry, and for which the structure of the matrices containing the hydrodynamic coefficients is particularly simple, thanks to many cancellations) with the property that selected swimming problems can be solved analytically. These closed form solutions will be used as conceptual benchmarks for swimming problems formulated on more realistic swimmer geometries, that can be solved only numerically, as discussed later in Sect. 6.
The grand resistance matrix of the swimmer body (the hull) is assumed of the form
Notice that the equation above gives the components of the grand resistance matrix with respect to the body frame, which we have chosen to be aligned with the principal axes of inertia of the swimmer body, whose longitudinal axis is parallel to \({{{\mathbf{e}}}}_{3}\). These components are invariant with time. This is natural since viscous drag coefficients reflect the shape of the object, which is seen invariant in the body frame. We are assimilating here the hull to an ellipsoid of revolution, and we are neglecting the presence of rigid links anchoring the rotors to the swimmer body. In Sect. 6 we will model explicitly these links, and the structure of the matrix will be slightly perturbed. The grand resistance matrix of the i-th rotor is assumed of the form
We will consider two cases. Either the rotors are all equal, or else the first two propellers have one chirality (e.g., they are both left-handed helical filaments), and the other two have opposite chirality (e.g., they are both right-handed helical filaments). We assume that the unit vectors \({{\mathbf{e}}}_{1}\), \({{\mathbf{e}}}_{2}\) are parallel to the links between hull and propellers shown in Fig. 2. The first case is illustrated in Fig. 2, case (a). All rotors have the same grand resistance matrix, given by
The propulsive matrix for this case is then given by
The two configurations of the rotors as seen from \({{\mathbf{e}}}_{3}\) (top-view): a all rotors with same chirality and same angular velocity (left), b opposite rotors with opposite chirality and opposite angular velocity. The directions of the links joining the rotors to the hull are used to define the unit vectors \({{\mathbf{e}}}_{1}\), \({{\mathbf{e}}}_{2}\) of the body frame
The second case is illustrated in Fig. 2, case (b). In this case we have
in Eq. (10) (these coupling coefficients change sign because of the change of chirality) and the propulsive matrix is given by
Again, we refer to Sect. 6 for examples of grand resistance and propulsion matrices arising for concrete examples of realistic rotors, shaped as either helical tails or as marine propellers, and computed by solving numerically outer Stokes problems of the type (1), with suitable assignments of the swimmer velocity field \({\mathbf{v}}\).
4 Swimming problems: solutions for the ideal swimmer
Substituting the hydrodynamic coefficients for the ideal swimmers given by Eq. (9) and either Eqs. (11)–(12) or Eqs. (13)–(14) into the equations of motion (3), we can formulate and solve analytically some physically relevant navigation problems that can be used as conceptual benchmarks for the discussion of more complex cases, for which only numerical simulation is feasible.
4.1 Direct swimming problem
The direct swimming problem consists in predicting the velocity of the swimmer in response to prescribed rotation rates of the rotors. In other words, given the components of the vector of rotor velocities \(\omega\) as data, solve the equations of motion (3) in terms of the unknown translational and rotational velocities. Since the \(6\times 6\) matrix \({\mathbb{F}}_{tot}\) is invertible, there is a unique solution for any arbitrary assignment of the rotor velocities \(\omega _{i}\), \(i=1,\ldots ,4\), namely,
We are interested in particular to the following two concrete problems. For the ideal swimmer with identical rotors, case (a), consider equal rotor velocities
Using Eqs. (9), (11), and (12), Eq. (15) becomes
Its solution is given by \(U_{1}=U_{2}=\Omega _{1}=\Omega _{2}=0\) and
or, more explicitly,
We remark that, in this case, it is impossible to have a non-zero translational velocity accompanied by zero rotational velocity. Since it turns out that always \(C_{33} \ll K_{33}, W_{33}\), zero rotational velocity con only occur if \(\omega =0\), and hence also the translational velocity must vanish. For the ideal swimmer with opposite rotors having opposite chirality, case (b), we are interested in the case
and Eq. (15) becomes
Its solution is given by \(U_{1}=U_{2}=\Omega _{1}=\Omega _{2}=\Omega _{3}=0\) and the only non-vanishing velocity component is
We remark that, in this case, it is possible to have a non-zero translational velocity accompanied by zero rotational velocity. As discussed in more detail in Sect. 5, and as it is intuitively obvious, this leads to straight trajectories along the initial orientation of the longitudinal axis of the body swimmer \({{\mathbf{e}}}_{3}(0)\), with no rotations along the body axis (purely translational motion along a straight line parallel to \({{\mathbf{e}}}_{3}(0)\)).
4.2 Inverse swimming problem
The inverse swimming problem consists in determining rotation rates \(\omega _{i}\), \(i=1,\ldots ,4\) of the rotors to best approximate a set of translational and rotational velocities and, ultimately, a target trajectory. Arranging the \(\omega _{i}\) in a vector \({\varvec{\omega }}= \begin{bmatrix} \omega _{1},\omega _{2},\omega _{3},\omega _{4}\end{bmatrix}^{T}\) of unknowns, and the components of \(\mathbf{U}\) and \({\varvec{\Omega }}\) in a vector \({\mathbf{v}}= \begin{bmatrix} U_{1},U_{2},U_{3},\Omega _{1},\Omega _{2},\Omega _{3}\end{bmatrix}^{T}\) of data, we can rewrite the equations of motion (3) in the standard form \({\mathbb{A}}{\mathbf{x}}={\mathbf{b}}\) as follows
The \(6\times 4\) matrix \({\mathbb{P}}\) is clearly not invertible and there exist data \({\mathbf{v}}\) for which Eq. (23) do not have exact solutions. One can then turn to approximate solutions, which are typically not unique. One possible notion of approximate solution of (23) is one that minimizes the error in the least squares sense
The pseudo-inverse \({\mathbb{P}} ^{\dagger }\) of the coefficient matrix \({\mathbb{P}}\) is useful to find the solution \({\varvec{\omega }}^{\dagger }\) of (24) with smallest norm \(\Vert {\varvec{\omega }}\Vert =(\sum _{i=1}^{4} \omega _{i}^{2})^{1/2}\). This matrix can be computed starting from the Singular Value Decomposition (SVD) of \({\mathbb{P}}\)
where \({\mathbb{U}}\), \({\mathbb{V}}\) are two orthogonal matrices whose columns contain the left-singular and right-singular vectors of \({\mathbb{P}}\), respectively, and \({\varvec{\Sigma }}\) is a diagonal matrix whose entries are the singular values \(\Sigma _{ii}\) of \({\mathbb{P}}\). The pseudo-inverse \({\mathbb{P}} ^{\dagger }\) of \({\mathbb{P}}\) is then given by
where the elements of the diagonal matrix \({\varvec{\Sigma }}^{\dagger }\) are given either by \({\Sigma }^{\dagger }_{ii}=1/\Sigma _{ii}\) if \(\Sigma _{ii}\ne 0\), or by \({\Sigma }^{\dagger }_{ii}=0\) if \(\Sigma _{ii}= 0\). We then obtain
Concretely, we are interested in the inverse problem of approximating a translational motion with velocity
The interest of this problem is that it leads to a straight trajectory parallel to the initial orientation of the longitudinal axis of the swimmer, joining an initial and a target position along that axis with no energy losses that would accompany wobbling motions around the straight trajectory, and with no rotations around the body axis. Besides saving energy, the last feature would be useful for microswimmers equipped with a camera located inside the hull and pointing along the direction of the body axis. Similarly to what happens with drones hovering above a still target, having no rotations would imply that the still target would not appear rotating in the images collected by the camera, as is desirable. For the ideal swimmer with identical rotors, case (a), the approximate solution (27) corresponding to \({\mathbf{v}}\) given by (28) (translational motion along longitudinal axis of the hull) is, in particular,
Equation (29) above represents only an approximate solution for the inverse problem of pure translational swimming with velocity (28). As it is known from the discussion of the direct swimming problem for the ideal swimmer of type (a), equal rotation rates of the rotors lead to non-zero rotational velocities along the longitudinal axis of the swimmer. For the ideal swimmer with opposite rotors having opposite chiralities, case (b), the approximate solution (27) corresponding to \({\mathbf{v}}\) given by (28) (translational motion along the longitudinal axis of the hull) is
Equation (30) above represents also an exact solution for the inverse problem of pure translational swimming with velocity (28). As it is known from our previous discussion of the direct swimming problem for the ideal swimmer of type (b), if propellers with opposite chirality rotate with angular velocities of equal absolute value and opposite sign, then the motion of the swimmer is a pure translation along the longitudinal axis of the hull.
5 Trajectories
Once the translational and rotational velocities \({\mathbf{U}}\), \({\varvec{\Omega }}\) of the swimmer are known, its trajectory and orientation can be recovered by integrating equations (2), see e.g. [17]. We consider here the case of constant rotor velocities. Since the components in the body frame \(\{{{{\mathbf{e}}}}_{i}\}\), \(i=1,2,3\) of the hydrodynamic matrices in the equations of motion (3) are time-invariant (either exactly or up to a good level of approximation), it is natural to write these equations in the body frame, and to solve for the components of \({{\mathbf{U}}}\), \({\varvec{\Omega }}\) in this frame, which are denoted by \(U_{i}\) and \(\Omega _{i}\), \(i=1,2,3\) and are time-invariant. It follows from (2) that
and using the skew-symmetric matrix
we can rewrite the last equation as
We assume that the body frame coincides with the laboratory frame at \(t=0\), and the solution of Eq. (34) is easily expressed in terms of the exponential matrix \({\mathbb{M}}(t)=\exp ({\mathbb{\Lambda }}\, t)\) as
we then integrate (31) to get the trajectory of the center of gravity. We set
and, similarly,
Moreover, we denote by \(\psi = \cos ^{-1}({\hat{{\mathbf{U}}}}_{0}\cdot {{\hat{\varvec{\Omega }}}}_{0})\) the (constant) angle between \({\mathbf{U}}\) and \({\varvec{\Omega }}\), by \({\hat{{{\mathbf{v}}}}}_{0}\) the unit vector perpendicular to both \({\hat{{\mathbf{U}}}}_{0}\) and \({\hat{\varvec{\Omega }}}_{0}\) such that \({\hat{{\mathbf{U}}}}_{0}\times {\hat{\varvec{\Omega }}}_{0}=\sin (\psi ){\hat{{{\mathbf{v}}}}}_{0}\) and set \({\hat{{\mathbf{W}}}}_{0}={\hat{\varvec{\Omega }}}_{0} \times {\hat{{\mathbf{V}}}}_{0}\), so that the triplet \(\{{\hat{{\mathbf{V}}}}_{0},{\hat{{\mathbf{W}}}}_{0},{\hat{\varvec{\Omega }}}_{0}\}\) is an orthonormal basis. We obtain
Equation (36) gives the trajectory in the lab frame of the center of gravity \({{\mathbf{G}}}(t)\) starting from \({{\mathbf{G}}}(0)\) at time \(t=0\) and it represents a circular helix with axis parallel to \({\hat{\varvec{\Omega }}}_{0}\). The straight trajectories of Sect. 4 are a special case corresponding to \({{\mathbf{U}}}\) parallel to \({\varvec{\Omega }}\), leading to \(\sin (\psi )=0\). When \({{\mathbf{U}}}\) and \({\varvec{\Omega }}\) are orthogonal, \(\cos \psi =0\) and the helical trajectories (36) degenerate to circular ones (the swimmer swims in circles). We remark that helical trajectories are ubiquitous for biological microswimmers (in particular: unicellular ciliates or flagellates) that swim by beating periodically their cilia or flagella [18,19,20,21]. This is a direct consequence of the invariance (to translations and rotations) of the equations of motion of the swimmer, Eq. (3), written in the body frame. A more precise version of this statement can be found in [22, 23], where it is called the Helix Theorem.
6 Navigation problems and trajectories for realistic geometries
In order to solve concretely the equations of motion (3), the hydrodynamic coefficients contained in the grand resistance matrices \({{\mathbb{F}}}\) (of either the whole swimmer or of one of its parts; we contemplate both cases by referring to the grand resistance matrix of a generic body \({{\mathcal{B}}}\)) and in the propulsion matrix \({\mathbb{P}}\) need to be evaluated. The row index in these matrix identifies the type of generalized force (components of force along \(\{ {{\mathbf{e}}}_{i}\}\), \(i=1,2,3\) for the first three rows, components of the moment with respect to center of gravity along \(\{ {{\mathbf{e}}}_{i}\}\), \(i=1,2,3\) for the second three rows). The column index identifies the type of swimmer motion for which the corresponding generalized force is being evaluated: translation at unit speed along \(\{ {{\mathbf{e}}}_{i}\}\), \(i=1,2,3\) for the first three columns of \({{\mathbb{F}}}\), rotation at unit speed around an axis through the center of gravity and parallel to \(\{ {{\mathbf{e}}}_{i}\}\), \(i=1,2,3\) for the last three columns of \({{\mathbb{F}}}\), rotation at unit speed of the \(i-th\) rotor (while the rest of the swimmer is fixed) for the \(i-th\) column of \({\mathbb{P}}\). We follow here [14] and exploit the reciprocal theorem (see, e.g., [24]) to compute these hydrodynamic coefficients. More in detail, denoting by \({\mathbf{u}}_{i}\) the velocity field in the fluid region \({{\mathcal{B}}}_{ext}{\setminus } {{\mathcal{B}}}\) obtained by solving the outer Stokes problem (1) with prescribed velocity \({{\mathbf{v}}}_{i}\) on the solid \({{\mathcal{B}}}\), the generic hydrodynamic coefficient \({\mathbb{A}}_{ij}\) in matrices \({{\mathbb{F}}}\) and \({\mathbb{P}}\) can be computed as
where \(D{\mathbf{u}}\) is the symmetric part of the gradient of the velocity field \({\mathbf{u}}\). Here we are writing \({{\mathcal{B}}}_{ext}\) rather than \({\mathbb{R}}^{3}\) since, in practice, we solve the outer Stokes problem in free space by replacing \({\mathbb{R}}^{3}\) with a large computational box \({{\mathcal{B}}}_{ext}\) and setting \({\mathbf{u}}({\mathbf{x}})=0\) on \({\mathbf{x}}\in \partial {{\mathcal{B}}}_{ext}\). As the row index i and the column index j vary in (37), the Dirichlet data \({{\mathbf{v}}}_{i}\) in the outer Stokes problem (1) scan translations and rotations at unit speed, the \({{\mathbf{v}}}_{j}\) scan translations, rotations, and individual rotor rotation at unit speed, and \({\mathbb{A}}_{ij}\) scans all the coefficients of the matrices \({{\mathbb{F}}}\) and \({{\mathbb{P}}}\). For example, the element \({{\mathbb{K}}}_{ij}\) of the \(3\times 3\) submatrix \({{\mathbb{K}}}\) giving the components of viscous drag (i-th force component) opposing translations at unit speed in the direction of \({{\mathbf{e}}}_{j}\) is
where \({\mathbf{u}}_{i}\) (respectively, \({\mathbf{u}}_{j}\)) is the solution of the outer Stokes problem (1) corresponding to a prescribed velocity on the swimmer’s boundary given by \({{\mathbf{v}}}= {{\mathbf{e}}}_{i}\) (respectively, \({{\mathbf{v}}}= {{\mathbf{e}}}_{j}\)). In order to evaluate the hydrodynamic coefficients a CFD program was developed within an MSc thesis by the first author using Pyhton, based on the FEniCSx library, a widespread open-source computing platform that can be executed with good results on a personal computer (Dell XPS 9560 2.8GHz i7-7700HQ with 8 GB RAM in our case). The code has been validated against benchmark results from the literature, comparing both velocity fields with the case of a rotating helix [25], and drag coefficients [26, 27] for a sphere and an ellipsoid in free space, showing that the computational box is large enough and mesh refinement is sufficient to guarantee relative errors of magnitude \(10^{-3}\) with the use of a personal computer. Use of an implementation on a High Performance Computing (HPC) platform allowing larger computational boxes and finer meshes showed smaller relative errors, not exceeding \(10^{-5}\). The HPC code was also written in Python, and based on the FEniCS [28] library, which uses an MPI implementation for parallel computations, and relied, for the solution of the linear systems resulting from the discretization, on the the PETSc library, which provides state-of-the art parallel iterative solvers. The code also allows for more complex configurations, such as the possibility of simulating the hydrodynamic flow around a swimmer in confined environment (e.g. a narrow channel), and of taking inertial effects into account, which becomes a necessity when the size of the swimmer is not microscopic. The Navier–Stokes equations are solved in place of the Stokes equations when needed, at moderate values of Reynolds number. This code was also validated against results from literature, from standard examples of Stokes [29] flow to more complex motions of falling discs and spheres in a fluid at moderate (but non-zero) Reynolds numbers [30, 31]. We collect in the rest of this section the matrices containing the hydrodynamic coefficients for some concrete geometries, illustrated in the figures that follow, and use them to calculate the corresponding trajectories generated by specific choices of rotor velocities, as illustrated below.
The body of the swimmer is the prolate spheroid shown in Fig. 3 with four links of equal length e protruding in directions perpendicualr to the axis of symmetry (parallel to \({{\mathbf{e}}}_{3}\)). The corresponding grand resistance matrix is given in (39). Here, and in all the formulas that follow for the resistance matrices we have used the notation \({\mathrm{e}}x\) to denote \(\times 10^{x}\); the value of the viscosity we have used is always that of glycerol at room temperature (\(\mu =1.0\,\) Pas) and the units of the coefficients are [\(Nsm^{-1}\)] for the \({\mathbb{K}}\) submatrix, [Ns] for the \({\mathbb{C}}\) submatrix, and [Nsm] for the \({\mathbb{W}}\) submatrix.
For the rotors we will consider several alternative choices. For the case shaped as a single left-handed helix with axis length L, radius R, and pitch P, illustrated in Fig. 4, the grand resistance matrix \({\mathbb{F}}_{p}\) is given by
Considering propellers shaped as double-helices, obtained from the previous ones by adding a second identical helix with the same axis but shifted by a phase-angle \(\pi\), see Fig. 5, we obtain a grand resistance matrix \({\mathbb{F}}_{p}\) given by
Realistic geometries do not have perfect rotational symmetries, and the corresponding matrices of hydrodynamic coefficients have less cancellations and fewer zero entries with respect to the ideal case discussed in Sect. 4. The lack of symmetry in the propeller produces trajectories with more pronounced wobbling than in cases where the propellers have higher symmetry. This is true not only in the comparison with the ideal swimmers of Sect. 4, but also in going from the single-helix to the double-helix shape, as shown by the trajectories reported below. The trajectories corresponding to the two choices of propellers of Figs. 4 and 5 are compared below, both in a 3D spatial view with axes XYZ parallel to the axes of the triplet \(\{{\hat{{\mathbf{V}}}}_{0},{\hat{{\mathbf{W}}}}_{0},{\hat{\varvec{\Omega }}}_{0}\}\), and through projections of the trajectory on the XZ plane (see Figs. 6, 7 and 8). From the plot of the projection on the XZ plane of the orthonormal triplet \(\{{{\mathbf{e}}}_{i}(t)\}\), \(i=1,2,3\) defining the body frame it is possible to see that the swimmer with double-helical propeller advances with smaller oscillations around the longitudinal axis. Rotations around the longitudinal axis \({{\mathbf{e}}}_{3}\) are, however, still present also in the more symmetric design.
Finally, two additional rotor geometries were considered, one shaped as a double right-handed helical tail and another one shaped as a marine propeller, as shown in Fig. 9. These shapes included here for comparison, since they have been 3D-printed and their hydrodynamic coefficients have been computed on a HPC platform and validated experimentally, as reported in [14]. The grand resistance matrices for the two propellers shown in Fig. 9 are given by
The geometric data for the helical tail and the marine propeller of Fig. 9 are reported in Table 1. The resulting 3D trajectories are shown in Fig. 10 while their projection onto the plane XZ are shown in Fig. 11.
The swimming performance of the marine propeller is not good in terms of distance covered along the Z-axis, as expected. This is due to the fact that at low Reynolds numbers inertia is negligible, and thus the rotating blades are not able to generate significant lift. Hence, they produce small propulsive forces. This kind of propeller would fare better in a comparison at moderate Reynolds numbers, as is done in [14]. Such a study however is outside of the scope of the present work. For the single and double helix propellers, simulations are performed for each of the two configurations shown in Fig. 2, and the numerical values of the computed velocities are reported in Table 2 and Table 3. For the double helical tail and marine propellers, only case a) is considered since geometries of opposite chirality have not been studied yet with experiments. In case (b) the velocity of rotation \(\Omega _{3}\) is never exactly zero as in the ideal case of Sect. 3, but it is substantially reduced with respect to case (a), for a propeller of equivalent geometry. For propellers shaped as double-helices this rotational velocity is negligible, leading to good performance in applications requiring an on-board camera housed in the hull, and pointing along the direction of the longitudinal axis.
7 Discussion and perspectives
In conclusion, we have formulated and solved the problem of predicting velocities and trajectories of composite swimmers made of an ellipsoidal head and multiple eccentric rotors, as a consequence of prescribed rotation rates of the propellers (direct swimming problem). Conversely, we have discussed how to find the rotation rates of the propellers to best approximate desired translational and rotational velocities and, ultimately, target trajectories (inverse swimming problem). We have obtained analytical solutions for ideal swimmers with high symmetry, and numerical solutions for more realistic swimmers which do not exhibit full rotational symmetry. Future extensions of this work will examine the role of hydrodynamic interactions. To resolve them, the hydrodynamic coefficients in (3) must be evaluated directly for the whole composite swimmer, along the lines discussed in [13, 14], and cannot be obtained by simply adding the individual contributions of the various parts of the composite swimmer, as in Eqs. (4)–(6). Another possible extension is to consider the presence of surrounding walls and the effect of inertial forces, similarly to what has been done in [14] for a robotic swimmer with a single non-eccentric rotor. The HPC code described in the previous section was developed with the aim of investigating these possible extensions of our work. A further direction worth exploring is to address optimal control problems for best matching of desired (target) trajectories, similarly to what is discussed in [32].
References
Lauga E, Powers T (2009) The hydrodynamics of swimming microorganisms. Rep Prog Phys 72:096601
Gaffney E, Gadelha H, Smith D, Blake J, Kirkman-Brown J (2011) Mammalian sperm motility: observation and theory. Annu Rev Fluid Mech 43:501–28
Guasto J, Rusconi R, Stoker R (2012) Fluid mechanics of planktonic microorganisms. Annu Rev Fluid Mech 44:373–400
Goldstein RE (2015) Green algae as model organisms for biological fluid dynamics. Annu Rev Fluid Mech 47:343–375
DeSimone A (2020) Cell motility and locomotion by shape control. In: The mathematics of mechanobiology. Springer lecture notes in mathematics 2260
Tortora G et al (2009) Propeller-based wireless device for active capsular endoscopy in the gastric district. Minim Invasive Ther Allied Technol 18:280–290
Feng J, Cho S (2014) Mini and micro propulsion for medical swimmers. Micromachines 5:97–113
Ornes S (2017) Medical microrobots have potential in surgery, therapy, imaging, and diagnostics. Proc Nat Acad Sci USA 114:12356–12358
Alapan Y et al (2019) Microrobotics and microorganisms: biohybrid autonomous cellular robots. Annu Rev Control Robot Auton Syst 2:205–230
Purcell EM (1976) Life at low Reynolds numbers. Am Inst Phys 45:3–11
Purcell EM (1997) The efficiency of propulsion by a rotating flagellum. Proc Natl Acad Sci USA 94:11307–11311
Ramia M, Tullock D, Phan-Thien N (1993) The role of hydrodynamic interaction in the locomotion of microorganisms. Biophys J 65:755–778
Giuliani N, Heltai L, DeSimone A (2018) Predicting and optimizing microswimmer performance from the hydrodynamics of its components: the relevance of interactions. Soft Robot 5:410–424
Corsi G (2020) Fluid–structure interaction problems involving thin active shells and microswimmers
Pounds P, Mahony R, Hines P, Roberts J (2002) Design of a four rotor aerial robot. In: Proceedings of the 2002 Australasian conference on robotics and automation, AARA
Mueller MW, D’Andrea R (2014) Stability and control of a quadrocopter despite the complete loss of one, two, or three propellers. In: 2014 IEEE international conference on robotics and automation (ICRA)
Lisicki M, Reigh SY, Lauga E (2018) Autophoretic motion in three dimensions. Soft Matter 14:3304–3314
Jennings HS (1901) On the significance of the spiral swimming of organisms. Am Nat 35:369
Shapere A, Wilczeck F (1989) Geometry of self-propulsion at low Reynolds number. J Fluid Mech 198:557–585
Crenshaw HC (1996) A new look at locomotion in microorganisms: rotating and translating. Am Zool 36:608–618
Crenshaw HC, Edelstein-Keshet L (1993) Orientation by helical motion II. Changing the direction of the axis of motion. Bull Math Biol 55(1):213–230
Rossi M, Cicconofri G, Beran A, Noselli G, DeSimone A (2017) Kinematics of flagellar swimming in Euglena gracilis: Helical trajectories and flagellar shapes. Proc Natl Acad Sci USA 114:13085–13090
Cicconofri G, DeSimone A (2019) Modelling biological and bio-inspired swimming at microscopic scales: recent results and perspectives. Comput Fluids 179:799–805
Masoud H, Stone H (2019) The reciprocal theorem in fluid dynamics and transport phenomena. J Fluid Mech. https://doi.org/10.1017/jfm.2019.553
Zhong S, Moored KW, Pinedo V, Garcia-Gonzalez J, Smits AJ (2013) The flow field and axial thrust generated by a rotating rigid helix at low Reynolds numbers. Exp Therm Fluid Sci 46:1–7
Brenner H (1961) The slow motion of a sphere through a viscous fluid towards a plane surface. Chem Eng Sci 16(3–4):242–251
Andersson H, Jiang F (2019) Forces and torques on a prolate spheroid: low-Reynolds-number and attack angle effects. Acta Mech 230:431–447
Logg A, Wells GN, Hake J (2012) DOLFIN: a C++/Python finite element library. In: Logg A, Mardal K-A, Wells GN (eds) Automated solution of differential equations by the finite element method (chapter 10), vol 84 of Lecture notes in computational science and engineering. Springer
Higdon JJL, Muldowney GP (1995) Resistance functions for spherical particles, droplets and bubbles in cylindrical tubes. J Fluid Mech 298:193–210
Jenny M, Dusek J (2004) Efficient numerical method for the direct numerical simulation of the flow past a single light moving spherical body in transitional regimes. J Comput Phys 194(1):215–232
Chrust M, Bouchet G, Dusek J (2014) Effect of solid body degrees of freedom on the path instabilities of freely falling or rising flat cylinders. J Fluids Struct 47:55–70
Kolumbán JJ (2022) Remote trajectory tracking of a rigid body in an incompressible fluid at low Reynolds number. arXiv preprint arXiv:2202.13709
Acknowledgements
We thank prof. L. Preziosi for valuable discussions. We gratefully acknowledge the financial support of the European Commission through the FETPROACT-EIC-08-2020 Grant No. 101017940 (I-Seed). We are also grateful to CINECA for an award under the ISCRA initiative (B Grant MT-SWS21) for the availability of high performance computing resources and support.
Funding
Open access funding provided by Scuola Superiore Sant'Anna within the CRUI-CARE Agreement.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors have no competing interests to declare that are relevant to the content of this article. The authors have no relevant financial or non-financial interests to disclose.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Lolli, A., Corsi, G. & DeSimone, A. Control and navigation problems for model bio-inspired microswimmers. Meccanica 57, 2431–2445 (2022). https://doi.org/10.1007/s11012-022-01567-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11012-022-01567-9