Locomotion and control of
a a selfpropelled
shapechanging body in a perfect fluid
Institut Elie Cartan
(Nancy) 
INRIA Lorraine
Projet CORIDA



Reference article
In this page we display numerical simulations related to the article:
that can be downloaded in pdf format by clicking on the title above.
The notation we use in this page matches that of the article.
Maxima computations page
In
the reference article, several proofs of controlability results are obtained by
computing the dimension of vector spaces spanned by vectors fields
together with their Lie brackets. These heavy computations have been
realized with
Maxima (a
free softward distributed under lisence GPL and allowing symbolic
computations). You can download here the Maxima's page of these
computations:
Maxima's page.
Simulations
All of the simuations in this page have been realized with
MATLAB.
Swimming using Lie brackets

The
master idea to prove controlability results consists in computing Lie
brackets of vector fields associated with allowable shapechanges.
Although Lie brackets provide a powerful tool to obtain theoretical
results, the associated shapechanges don't yield in general
very efficient swimming strategies as illustrated by the following
example.
The
shapechanges associated with the Lie Bracket of the two vector fiels X^{1}
and X^{2} yields a net displacement of the center of mass of the swimming body along a
new direction (being none of those associated to X^{1}
and X^{2}). To approximate the Lie bracket [X^{1}, X^{2}],
we integrate first along X^{1}
during a small time step ( = 0.1), then along X^{2 }during
the same time step, next along X^{1}
and finally along X^{2}.
The left hand side of the
movie shows the shapechanges at a macro scale. The right hand side is a zoom on the
small black rectangle showing
the displacement of the center of mass of the body. Notice how small it is.   Movie (click on the
image above to play the movie) 
More efficient swimming strategies

The
observation of the preceding section leads to seeking new swimming
strategies not based on the computation of Lie brackets. We propose
here somesuch examples.
Definition of the control variables 
The main difficulty in seeking swimming strategies is that the controls varibles c_{k}(t) have to be allowable (in the sens given in the reference article). We then define the complex controls variables c_{k} for k = 1,..., 6 as
follows:
One easily checks that the controls variables
c_{k}(t) are indeed allowables.
The new idependant variables we are going to use as our controls are now the functions:
The following simulations show the motion of the swimming animal over 8 strokes
(time between 0 and 16π). Above the pictures, we display the
corresponding controls values (we give only the nonzero elements).
The colors give the density inside the animal. (Click on the images to play the movies).
Using only the two first controls c_{1} and c_{2 }
In this first example, we use only the controls and , all the others being equal to zero for all time.   
Any kind of displacement can be achieved. The control
allows to set the frequency of the strokes (and hence the velocity of the animal) while the function
set the direction (the amoeba turns left when it is positive and turns right when it is negative).
Using the pair of controls c_{3} and c_{4}
Now, we use only the pair of functions to control the swimming shapechanging body, the other controls remaining constant. As in the preceding paragraph, allows to set the frequency of the strokes and determines the direction. Once more, the body can follow any prescribed trajectory.
Notice
that this swimming strategy seems to be less efficient than the
previous one, for the animal undergoes many shapechanges for a small
resulting net displacement.   
Using the last pair of controls c_{5} and c_{6}
Here, we use only the pair of functions as controls. Any trajectory can be achieved but the efficiency is surely very low.   
Not any shapechanges set the amoeba into motion. In this paragraph only, let us redefine the controls and as follows:
Here, we use the function as a control. (Click on the image to play the movie). With these definitions of the controls, only c_{1} and c_{4}
are nonzero. There is no displacement of the center of mass althoug
the deformations are not symmetric with respect to the center of mass.   
In the
reference article,
we prove that the swimming body can follow any prescribed
trajectory while undergoing (approximately) any
prescribed shapechanges. This result is very surprising and can be
illustrated by the following example.
In the second movie, the body seems undergoing
the same shapechanges as in the first movie but it swims backward !
Actually, there are superimposed shapechanges with very high frequency
and very low amplitude. The difference between the shapechanges in the
first and second movies cannot be observed at the normal timescale.   
So let
us slow down the time (up to almost freeze it) and zoom in on the
boundary of the amoeba. Click on the image to play the movie.
Notice the time displayed in the NW corner. The complete simulation time lasts no more than 1e2 seconds !   
A realtime interactive control game

Click on the image and copypaste the mFile in the MATLAB editor. Save it and run it by entering
 >> amoeba_motion
in
the Command Window of MATLAB. You can now control the motion of the amoeba with the keyboard. Use
the keys: 'P' and 'L' to modify the velocity, 'W' and 'X' to steer, and
'G' to enable or disable the grid.   
Other simulations of swimming animals: Biohydrodynamcis Matlab Toolbox

Introduction
Biohydrodynamics Toolbox
(BhT) is a collection of MFiles for design, simulation and analysis of
animal motions in fluids. Animals are modeled as systems of articulated
solid bodies. More widely, BhT allows to perform easily any kind of
numeric experiments involving 2d motions of solids in an ideal fluid
(simulations of socalled fluidstructure interaction systems).
Some of BhT's features
 BhT
deals with ideal fluids only (i. e. inviscid and incompressible) and
whose flows are assumed to be irrotational (i. e. vortex free).
 The
strong coupling between Solid and Fluid Mechanics is taken into account
(no simplification like for instance the bodies hydrodynamically
decoupled hypothesis).
 Animals' articulations are prescribed by the user as functions of time.
 Buoyant force and collisions are supported.
 Fast
computations.
 High accuracy (based on fully explicit
equations of motion and the implementation of Nyström's method to
compute the fluid potential).
 BhT comes with a complete documentation involving examples and tutorials.
 BhT is free, distributed under licence GNU GPL.
Download
Examples of simulations
These simulations have been realized with BhT. (Click on the images to see the movies).
More demos are available on the BhT demo page.   
Locomotion and control of a selfpropelled shapechanging body in a perfect fluid, T. Chambrion and A. Munnier (2009).  Up 