Control and Path Planning Strategies of a Micro-swimmer – M1 #67
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.
-
Control and Path Planning Strategies of a Micro-swimmer – M1
Student : Antoine Ruch
Supervisors : Lucas Palazzolo (INRIA) & Céline Van Landeghem (IRMA)
Organism : Institut de Recherche en Mathématiques Avancées (IRMA), Strabourg
Time period : June to August 2025
Context
This internship acts as the continuation of a semester project on path planning and numerical control strategies for micro-swimming. We first introduce a trajectory finding method with boundary distance constraints, which we used to test a point-to-point guiding procedure in complex 2D fluid environments. We then propose an implementation of the coupling between a Finite Element fluid solver (
Feelpp) and a Bayesian optimization algorithm (SCBO) for which we provide simple test cases.The distance function strategy
Let$F$ the distance field over the computational fluid domain $\text{𝓕}$ :
We define a boundary distance constraint$d > 0$ with which we associate a level set of $F(x) - d = 0$ , and we evaluate $F(x) - d$ over $\text{𝓕}_h$ , the discretized fluid domain. We then invoke a simple criterion to decide whether a mesh element (triangle or tetrahedral) falls on this level set: if at least two of its vertices map to both negative and positive values, the element is selected. Taking their centroids we obtain a point cloud that approximates the level set.
Geometric graph & Dijkstra's algorithm
My contribution was suggesting to transform this point cloud data set into a geometric graph, with each point acting as vertex connected to its neighbor if their distance falls below a given threshold. We can then use Dijkstra's algorithm to find the optimal path between two points with boundary distance constraints. The resulting ordered sequence of points can then be used by a point-to-point guiding strategy, adjusting an external uniform magnetic field to produce a torque on the swimmer's magnetic body.
Numerical results
A simple Dijkstra test case.
We also have a method to interpolate check-points on the way. We simulate a micro-swimmer guided around a level set.
This time we find an optimal path (in red) inside a super-level set of the zebra-fish tail. The swimmer's trajectory is indicated with a dashed blue line.
Bayesian optimization of swimmer controls
Bayesian optimization uses stochastic processes modelling techniques to approach the behavior of black box, high dimensional functions in order to determine their global optimum in a limited amount of evaluations:
with$\mathcal S$ a hypercube region. At each iteration of this method, a point or a batch of points is selected using an acquisition function, based on the posterior estimation of $f$ constructed from the available training data. SCBO is one instance of a Bayesian optimization algorithm that uses a trust region based approach to acquisition.
We assume the swimmer's trajectory$X_u$ is the solution of a control problem:
with$u(t)$ the control. Let $X_{\text{ref}}: [0, 1] \to \mathbb R^m$ a prescribed trajectory and $\gamma$ a parametrization, we aim to minimize the following objective function:
The optimization spaces of$\gamma$ and $u$ are approached using B-Splines, i.e, linear combinations of piece-wise polynomial functions.
My contribution was to implement the coupling of a provided implementation of SCBO and the
Feelppmicro-swimming solver. We provide test cases for the optimization of simple controls:We also set the energy cost$R=0$ to focus on trajectory accuracy.
Test case n°1 - Reaching a target point
The swimmer must reach the final position of the reference path. We enforce periodic orientation.
Test case n°2 - Avoiding an obstacle
An obstacle is placed in the way of the swimmer.
Test case n°3 - Following a curve
The curve has the analytical expression of a sine wave.
Test case n°4 - Overcoming boundary effects
The swimmer is placed closer to the bottom wall, which would normally attracts the swimmer.
Discussions
We obtained overall satisfying results for simple test cases, but we were limited by the computational burden of each simulation - this prevented us from conducting a full parameter space and performance study. Future work should focus on reducing the computational load, by parallelizing batch evaluations or pre-optimizing on low-fidelity solvers.
Conclusion
In this internship we explored two key aspects of micro-swimming simulations: trajectory planning, or deciding on feasible paths to follow, and trajectory control, i.e. implementing numerical strategies to ensure accurate tracking. On a personal perspective this internship allowed me to develop a strong intuition and methodological approach for computational fluid dynamics. I was also introduced to Bayesian optimization and surrogates, which are concepts I would gladly work with again in future projects.
Useful links
Beta Was this translation helpful? Give feedback.
All reactions