Trajectory Planning of a Microswimmer in a Low Reynolds Number Regime #54
antrcy
started this conversation in
Project Portfolio
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
Micro-swimming refers to the locomotion of microorganisms submerged in biological fluid. At this scale, viscous forces overcome inertia effects, forcing swimmers to adopt unique swimming strategies that exploit the viscous resistance of their surrounding. We refer to these types of environments as low Reynold's Number regimes, from the dimensionless quantity that characterizes the nature of flows :
With$U$ the flow speed, $\rho$ the fluid density, $\mu$ the dynamic viscosity and $L$ the characteristic length of the flow. Low Reynolds Number regimes will typically occur in highly viscous fluids and / or at microscopic scales. In his 1977 paper "Life at Low Reynolds Number" Purcell stresses that under these conditions, reciprocal motions can not convey any net displacement - a vivid illustration is given in the same paper as the Scallop theorem, stating that a scallop opening and closing itself performs a reciprocal motion and as a result would not be able to propel itself in a Low Reynolds Number regime. The mechanisms by which microorganisms overcome the physical constraints of their environments is a well documented subject that has been gaining significant attention over the years, opening perspectives for the development of synthetic micro-swimmers for applications to microsurgery and minimally invasive medical treatments.
This semester project investigated the controllability of a certain type of 2D synthetic swimmers called "magneto swimmers" through a series of simulations and numerical experiments.
Figure 1 - Magneto-swimmer model
The magneto-swimmer is a great example of a biologically inspired design which relies on a rigid magnetic head and an elastic flagellum for propulsion. The head possesses a magnetic moment$\mathbf m$ that will interact with an external magnetic field $\mathbf B$ to create a magnetic torque $\mathbf T_M = \mathbf B \times \mathbf m$ on the swimmer's body around its center of mass.
Numerical resolution
For simplicity, we only let the solver handle rigid body to fluid interactions. The swimmer's geometry is thus only composed of a rectangular magnetic head we place in a canal like environment with no flow. To simulate the swimmer's self propulsion capacity, we have the option of adding a translational force$\mathbf F_{\epsilon}$ to the balance of forces on the body. Similarly, we add the magnetic torque to the balance of torques, both are given by the Newton equations :
The amplitude of$\mathbf F_{\epsilon}$ is adjusted dynamically such that the swimmer reaches and maintains a specific velocity.
getPreviousAmplitude()getCurrentVelocity()Constriction effects
Figure 2 - Canal geometry
We studied the effects of the canal's diameters on the drag force (i.e the necessary amplitude of$\mathbf F_{\epsilon}$ to reach and maintain a velocity of $1/t$ ). The swimmer is placed in the middle of a canal of diameter $8$ , $4$ and $2$ times its vertical length.
Figure 3 - 2 times
Figure 4 - 4 times
Figure 5 - 8 times
We observe negligible amounts of deviations, mainly due to the geometry being symmetrical. We break this symmetry by approaching the swimmer increasingly close to the top wall, successively$3$ , $2$ , and $1$ times a body length away.
Figure 6 - 3, 2, and 1 body length away
Deviation effects become more important as the swimmer is placed closer to the boundary. This motivates the addition of a magnetic field to account for boundary effects. It also adjusts its amplitude depending on an error threshold.
getCurrentOrientation()getPreviousField()Figure 8 - Swimmer placed 1 body length away from top wall
The magnetic field helps adjusting the orientation and its amplitude stabilizes below$\approx 1400$ .
Trajectory planning
We have now the necessary tools to accurately control the speed and the orientation of the swimmer. In this project we also looked at different control strategies of the magneto-swimmer model along a prescribed path. For a strategy to be considered viable is needs to address the two following issues :
Trajectory planning : We want a robust and fast way to determine a feasible path from one point to the other.
Trajectory control : We need control mechanisms that ensure the swimmer follows the prescribed path.
Time parametrized curve - The first strategy relies on a time parametrized curve providing a target velocity and angle at each time step.
getCurrentTime()computeEps()computeB()Figure 9 - Time parametrized curve
This strategy does not involve any space based feedback, resulting in poor control accuracy.
Check-point strategy - A series of ordered points in space is fixed beforehand, and the swimmer is instructed to reach each point one after the other.
preProcessingStep()getCurrentPoisition()computeEps()computeB()Figure 10 - Check point strategy
This solution offers a satisfactory response to spatial feedback, but our implementation still suffers from numerical instabilities.
Distance function - We introduce a method for path finding in complex environments that naturally accounts for boundaries and obstacles using the distance function. We keep the swimmer a distance$d$ away from the boundary by assembling a set of mesh elements on the level curve $F(x, y) - d = 0$ which we use to define an ordered list of check points.
Figure 11 - Distance field of a perforated canal
This method will be implemented and tested during the internship. Other follow-up objectives could be to investigate more advanced feedback-based control strategies in 3D biological like geometries.
Beta Was this translation helpful? Give feedback.
All reactions