 Everything is changed when we completely disappear in the Shanghai ranking and everything because of the change of the name. Maybe one day we'll get back to this. Maybe one day we'll get rid of the Shanghai. Oh, yeah. Maybe it will be better. OK, so what I wanted to present today is some simple mechanism to explain how we can swim in the water. And I'm afraid I might have missed the scope of my presentation because it might be a little bit technical. But if it's going too complex, you just stop me and I will try to slow down. Even though, I mean, the very beginning is very, I hope it will be very easy to understand. So the question we wanted to answer is related to it's a physicist question, not a biologist, not a question of a biologist. But to imagine if there is a kind of unifying principle that could explain how to swim in the water. And when you see the morphology of the swimmers, when you see the size ranges that you can observe in water, you might think that it's a kind of useless question because it might be very difficult to answer, to question, to address. Even though locomotion is a consequence of interaction with the fluid, and so it's mechanics. And so in some sense, if we're able to deal with the physics and the mechanics, we should be able to address this strange question. So what we did, we tried to model the swimmer with the simple numbers. The first one is the length, the typical length of the swimmer, which is there, which is L. So I don't know if the best is there. So L is the length of the swimmer. And we are assuming that the swimmer has a tail, has a fin, which is oscillating with the given tail bit frequency, and a given amplitude. And if you want to swim, the idea is that you need to interact with the fluid. And the idea is that if you're able to push the water and to compute the force exerting on the water, then you would be able to compute the thrust. And then by balancing the thrust with the drag, you should be able to compute the cheap velocity. And this is what we're going to present now. So let's play with the thrust. So here is a scheme, again, of the swimmer. Here is the ballast of water that could move the fin when it's oscillating. And the typical amount of water you're going to move in volume is going to scale more or less like the volume of the fish. You see, when I'm moving my hand into water, what I move more or less is the amount of water related to my volume of my hand. It has some mathematical basis, but it's like this. That makes sense. And if you want to compute the mass, then you multiply it by the density. And what you've got is the ballast of water that the fin, the tail, can move when it's moving. So if you've got the mass, if you multiply this by an acceleration, you should be able to compute the force. And this force, this acceleration, might be evaluated by multiplying the amplitude of the fin times the frequency, the tail bit frequency squared. This has a dimension of an acceleration. Mass times acceleration give you a force. But there is a little subtility here that the fin is pushing the water perpendicular to the tail. So if you want to get the thrust, you need to project the normal force onto the longitudinal direction. And this is achieved by multiplying this force, this normal force, with a small angle, which is more or less the amplitude of the tail divided by the length. And if you put everything together, what you get is that the thrust is going to scale like density times frequency squared amplitude squared L squared. Easy. And so this is the force for propulsion. But so if you want to cruise at a constant velocity, what you have to do is balance this force with the drag. And so you might observe two kinds of drags in fluids. The first one can be computed for more moderately for a non-standard that are big, but not so big. In such a case, so this is maybe difficult to interpret, but in such a case, what really matters is the shear induced by the viscous layer around the swimmer. And if you use a very simple model that you can find in any textbooks, you use the Blasius model, what you could observe is that the typical thickness of the place where the viscosity is acting, this scales like the length of the plate, let's say, divided by the square root of the Reynolds number. And when you put everything together, what you get is that the skin drag is going to scale like rho u squared divided by square root of Reynolds, which depends also on the velocity of the swimmer, times the typical length. So if you balance these two here, you see that you've got one unknown, which is u, and you can compute the velocity. For a very high Reynolds number, then the viscosity is not so much relevant. Well, it's relevant because it's turbulent and it's complex, but it's not relevant in terms of the drag. And so what you have is that the typical Bernoulli pressure drag, which says that the density, I mean, the pressure drag is going to scale like the density times u squared squared. So you see that if you balance the thrust with this or with this, you can observe two kind of scaleings. The first one, when you balance the thrust with viscosity, what you can construct are two dimensionless numbers. The first one, which is on the left, I did not introduce, but it is the normal Reynolds number computed with the velocity of the fish, of the swimmer, the length, and the viscosity. And you can construct another dimensionless number, which we called, we did mistake by giving this name, but it's like this, you call it the swimming number. But what you can recognize here, it's like a Reynolds number, where basically, if you compare the two terms here, what you have is that the swimming number is a Reynolds number where it's computed with the velocity of the tail. So if you balance this with this, what you get is that the Reynolds number which scales like the swimming to the fourth third. So the velocity of the organism is going to scale like the velocity of the tail to the fourth third to keep this in mind. And then, for a very high Reynolds number, what you will have is you balance the, you will have that the Reynolds number is proportional to the swimming number. In other words, the velocity of the swimmer is proportional to the velocity of the tail. Very easy. These arguments are very crude, and we can really ask the question, will it work? So obviously, if I'm here today, if I'm explaining all this, that means that it works. And we managed to, we made tremendous work on Google. Google gave me the velocity of the shark, gave me the velocity of the dolphins, gave me the velocity. And so with this, by making, by recuperating all the data in the articles, we managed to get something for 1,000 points. And here what we represent are the two-dimensional number, the swimming number, and the Reynolds number. And what you can observe is that for over seven, eight orders of magnitude in terms of dimensions number, you see that there is a collapse of all the points. That means that we did a good job. And so here, for example, here this corresponds to the low Reynolds proportional to swimming. So velocity of the swimmer is just proportional to the velocity of the tail. And what is fun, though, is that you see that the penguins are exactly on the shape. You see the shark, the blue whales, even the strange fishes like this, they all are going to be on the same scanning law. So in some sense, we're happy about that. But in some sense, it might be frightful, because, again, when you see it, they are very different. So what's the point? And as I claimed before, what occurs is that if you want to swim, you need to push the water. And if you want to push the water, you need to act a force. And if you want to act a force, you need to push. So you cannot escape, let's say, from Newton's law. And this is the reason why all these organisms must belong to this. And after, for a smallest organism, smallest in terms of size is something like a few centimeters long, then the bledged dragon starts to play the role, and there's a turnover there. And so what did Mathieu Gadzola, he is an expert in numerical simulation. He managed to do the simulation of swimmers with a prescribed shape. And he tried to reproduce with all these points the experiments that we've seen on the swimmers. But what is really nice is to observe the simulation. He managed to produce. And so what you could see is that here, it's a superposition of the movies for variation of the swimming number. When the swimming number are not too large, you see that the typical, as I claimed before, the typical thickness of the boundary layer is, let's say, kind of large. And when you increase from here to here, the typical thickness of the boundary layer is going down. And so that means that basically here, you could say that everything occurs as if the swimmer was swimming inside the viscous fluid, which is not the case here. And this explains the crossover. So I prepare a transparent slide for explaining this crossover. But I will forget about that. So there is a law that has been derived by Trenta Philou in the year 2000, which states that for all animals, there is a dimensionless number, which is the 12 frequency of the tail bit amplitude divided by u. It's between 0.2 and 0.4. So Trenta Philou at that time showed that. But if you think about that, is it precisely what we've been predicting before? It's just the balance. You see that a times f is more or less the velocity of the tail. And u is the velocity of locomotion. So we're getting back to what I've been explaining before. So that means that we're giving a rationale to explain why the strong number is in swimming animals. It's almost constant, just the consequence of the drag-threshold balance. So we will produce here the strong numbers from Trenta Philou to see it's more or less constant. But what occurs is that in the fast laminar regime, you remember when the velocity of the tail is proportional to the velocity of the tail to the fourth-third, then there will be a different scaling for that. And the law is a reliance to the minus 1 fourth, which should not be observed normally in experiments, because it's very difficult to see even though here, since there is a large number of decades, in Reynolds, you see this trend here. And so yeah. So when we've done all that, it was fun, because everything was working properly. But I had a lot of trouble, because in most of the paper I've been reading about the gates, the swimming gates. It was very difficult to say if the swimmer was going on acceleration, if it was trying to be efficient, if it was sad, not sad, sick. So we thought that it would be very useful to design a kind of a robot over which we can impose ourselves the frequency, the amplitude, and to do the physics. And this is what we've done. So we print using a flexible polymer. The name is a ninja flex. We printed an object like this. And inside, we put a servo motor with two cables. So the servo motor wheel is rotating. And by rotation, it's pulling one cable and relaxing the other one. And so by the rotation of the wheel of the servo motor, we produce a deformation of the tail. So it's going to mimic the movement of the fishes. And so like this, so we put the robot, the robotic device inside the water. And obviously, you can recognize everything is going fine except here on the codec. But you see that it's fun, though, is that when you see that, it seems very natural, at least for me. And so we might have something interesting. So what I wanted to do with this servo motor, with this robotic fish is to compute precisely the drag and the thrust. And to be sure that we're not missing something. And so you remember that the thrust was proportional to the amplitude square, the frequency square. There was a length square. So this is a scale like a velocity. And there's a density missing by the way here. And so we can take the robotic and say to robots, try to swim with a given amplitude and given frequency. And when you do that, so this is amplitude of the fin, pretty variable thrust. And when you do that, what you produce is a very nice curve in the water tunnel over which you see that the thrust is just proportional to the velocity square of the tail for different fins and everything. So for us, it was very interesting. In order to do this experiment, we put just the robot in at rest. Because if the robot is in movement, it's difficult to separate the thrust from the drag. Because what we can measure usually is the sum of all the forces. So you can separate them. So the idea was to set the robot into a fluid at rest in such a way we can neglect the drag. And so what we've been playing with the size of the fin to see if there is interesting stuff. So here, what is represented is, again, the thrust as function of the amplitude square frequency square. So you see that for all the fins, the law is verified. And what is interesting, though, is that you see that when you're changing the size of the fin, you're changing the area over which you can push the fluid. And so you could imagine that having a big fin is going to be very efficient because you're going to push a lot of it. But what occurs is that when you've got a very long fin, the fin can be deformed. It's like when you have a very long elastic material, it's simpler. I mean, it's easier to bend a long material than a shorter one. And so what occurs is that the longest fin that should be much more efficient to push a larger amount of water. What occurs is that they are much more deformed. And the amplitude of an undulation is reduced. So there is a kind of a trade-off to have, let's say, a short fin that is going to be very rigid and very efficient to push the water. And a long fin which should push a large amount of water that can be deformed. But when it is deformed, it doesn't push the water. So there is a trade-off. And this is what we see here. And what we measure, what we plot here in this here is what we call the thrust coefficient. So it's something that measures the efficiency of the thrust. So the highest, so if this number is high, that means that the thrust is going to be efficient for a given amount of imposed parameter. So here you see that here the thrust is high. But you see that here, as I claim, that this fin here is not efficient at all. It's almost six times slower. But what is for sure is that what you have to do is to compare everything, the first coefficient, the area. Because the area here is big, and here the area is small, and everything. And so there is a kind of trade-off in everything. And what you see is that here is the most more efficient tail. Here is the tail which is going to produce the highest thrust. And this one is not efficient at all. And so we've got the thrust. So as I said before, what you have to do now is to compute now the drag. If you are measuring the drag, but under thrust and drag, and you've got the result, and see what we've done. In the water tunnel, and for the size of this fish, which is something like 10 centimeters longer, if you compute the Reynolds number as 10 to the 4, that means you can neglect the effect of the viscous shear. And what you see is that, as you can read in textbooks, that the drag is more or less proportional to the velocity squared, the Bernoulli load that we've seen this morning. OK, so now what we can do is you can put the fish moving into a field which is not at rest, and we impose the velocity in the water tunnel. And so like this, we impose a typical velocity of 4 centimeters per second. And we can impose a given amplitude. We can impose a given frequency. And we've got the force sensor which measures the forces that fills the robotic unit. And what you see is that if the amplitude and the frequency is very, let's say, high, then it's trace prevailing in the sense that we are measuring a force which is positive. If the amplitude or the frequency are small enough, then drag dominant. That means that you will feel a force which is negative. And there is a balance which is designed that you can see here, that is plot here in red, over which the force is almost 0. And what you recognize here, obviously, is that we get back to you, proportional to the amplitude times the frequency, which states that, which give you here an hyperbola, or again, that the straw is constant. OK, so this is what we wanted to do with the fish, to check. Let's see the physics and to play. Because when you're dealing with biology, you cannot say to the cockroach or the elephant, just do what I want you to do. So now the next step will be to try to construct something which will be free to swim and to be almost autonomous. And we've been impacted by this movie a few years before. I don't know if you've seen this movie. So to make this movie, you need to take a freshly dead fish. It's not working, right? And you put into water a tunnel. What you could see here are the top and bottom. You see it's the same fish, but you see from different, with a mirror, different position. And the fish is attached through the nose with a line, with an obstacle. And the obstacle is generating, while the water is moving, is generating vortices. What you could see is that the fish, which is dead, starts swimming, OK? And what is impressive to me is not so much that it makes this movement that sometimes is able to go against the flow. I mean, you could imagine that the fish could flap, like a flag, because it's attached to something. And you might have an instability which triggers this desondulation. But at one moment, the fish is able to go against the flow. So maybe there will be, if you can imagine that you could put just the right amount of energy, the good kick of the muscles at a good moment, maybe you could be very efficient in the way you're moving. And this is what we wanted to explore. And we wanted to see what we wanted to explore. So what we did with a student of mine, who is David Gross, David Gross, it's not real one, obviously, but it's a ceremony, is to construct a numerical model for that. And so the numerical model was the following stuff. The following idea was to take an Eulerian beam, something elastic, completely flat, thin, and everything, and seep all 2D. And to embed this into almost perfect feed, and to make what is called, what people call in feed dynamic vortex panel methods. And what we did here is to impose a proprioceptive feedback. So in proprioceptive, in a sense that there is a torque, we impose a torque distribution along the beam. So imposing a torque distribution along the beam, that means that we are able to deform the beam. But the torque is proportional to the curvature. Why the curvature? Because the curvature is something is a quantity that does not depend on the referential. You see? The angle depends on the referential, but the curvature does not. And if you think about that deeply, when you are underwater, for example, you always know when you don't have the effect of gravity, you always know where are all your feet, your arm, and everything, because what you could measure more or less is the curvature. And why curvature is interesting here? Because most of the most are working in antagonists way. And the fact that they're working in antagonists way, that means that this is producing a curvature. So you see, that would make sense that the curvature could be a good ingredient for proprioceptive feedback. And if you do that, I mean, we are aware we want to make this other beam swim alone. And that was fun, because we did not impose anything like the amplitude or the frequency. It just selects its own swimming gate. So what we're doing now with Jesus Sanchez, which is the new PhD on this project, is to take the fish and to try to put the feedback. And what we do is we're measuring with a force sensor the pressure difference that feels the robot. And this pressure difference depends on alpha, which is the angle, let's say, of the term. Depends on alpha, the derivative alpha, alpha dot. And what we say is that the proprioceptive feedback will say that the angle is going to be proportional to the difference of pressure. And if you put everything together, what is fun though is that you can construct like a non-linear differential equation, non-linear oscillator that could be unstable. And so when you do that, the robot starts to oscillate and the oscillation will produce the swimming gate. And what is fun though is that, again, we do not prescribe, when you do that, you do not prescribe a typical frequency or typical amplitude. It's the robot that selects along the stuff. And so that's it. So we realize the, oh, no, perfect. So what we did is that we did this feedback. So when we touching the robot, it's moving the tail. And what is fun is that when you take the robot and when you put it, so when it is like this, it doesn't, I mean, just stay at rest. But when you take the same robot and you put into water, it starts to swim alone. So this is the movie that sent me to Jesus yesterday. So this is the robotic unit, okay? And when you put into water, it starts to swim. And we did not impose any frequency or amplitude. The swimmer is, it's by itself. So this is the first step for having a proper city feedback. What we would like to do is to go a little bit further because this will work. I mean, with Jesus, we're gonna finalize the model and everything and make the funny and fanciful for theory. But what we wanted to go is to go to learning, learning algorithms in Sarsa, like you did, in such a way that the fish will be able to learn how to swim by reinforcement learning. Okay, and so the next step will be to put some intelligence and to put the robot completely autonomous while he knows how to swim like we did here, except that here we're prescribing the amplitude and the frequency. But this is will be the next step of the project. And I believe I'm done with the time. Thank you. Thank you.