hey everyone i'm karthik krishna and this is a video abstract for our paper now on archive title
finite horizon energy optimal trajectories and unsteady flows this is joint work with professor
steve brunton and jian song so in this work we bring together ideas from model predictive
control lagrangian coherent structure theory to understand plaque planning in the ocean than the
atmosphere and as such so if you're interested in any of these ideas this paper might be really
useful for you all right so what we're interested in is we're interested in autonomous vehicles
particularly we noticed that a lot of the autonomous vehicles or mobile sensors that
you want to deploy in the ocean uh wait sorry a lot of the autonomous vehicles that you want
to deploy for the applications for ecosystem monitoring transportation and climate monitoring
they all operate in fluid flows so unsteady flow fields like the ocean or the atmosphere and what's
particular about the ocean and atmosphere is a lot of time they generate massive current
so you can see the nazi big waves this huge current that's hitting this boat right now
and a lot of the mobile sensors that we have are kind of like the robot here that's using
its buoyancy to move up and down but it's not able to produce a lot of actuation so if this current
is uh this robots within this current it's not going to be produ able to produce a lot
of actuation to move around so you're going to be dominated by the forces of the current mostly
so what we really want to understand in the interest of saving energy is how do you perform
movement using limited actuation so and how does that relate to the dynamics of the background flow
field so given a certain flow field what kind of trajectories can you produce to move around in it
and that's where the idea of low energy transport comes in so let me try to make this clearer
so you can imagine a flow field so this is what's known as the double gyre flow field and the white
dot that's moving around in it you can think of as one of the agents or robots you want to drop in
the ocean for mobile sensing and right now it's not using any of its actuation so the dynamics
of this is given by this complex looking equation that basically is just saying the velocity of the
robot is the same as the arrow mark that it's standing on and plus whatever velocity that it
produces by its own propulsion but right now it's not doing any of that now if you wanna what you
wanna do is you wanna move to the green cross here and you want to think okay how do i use my
use there to move around and really generally have two strategies for this strategy number one is you
just shoot straight all cylinders towards your goal and this is really expensive because a lot
of time the current is going to be opposing you or not even with the direction so you're supposed to
not only move towards it but you need to overcome the current that's dragging you back the other
idea is to use small course corrections so this uh small used that dot's using to to basically move
in the right place in the right time so the ocean flow field is going to carry to you where you want
to be so and that's the idea of leveraging flow structures and that's really the kind
of trajectories that we want to start looking into for movement all right so this is really important
so given that we want to look at leveraging flow structures we need an algorithm or we need a way
to visualize these flow structures so one really cool way that's from dynamical system theory
is this idea of lagrangian coherence structures so these are the lagrangian coherent structures
for the double gyro flow field that i just showed a slide back and you see these red and blue curves
and what they basically are telling you is if i dropped a bunch of uh drifters like you can see
in this video here when it loops back that where are these drifters going to move towards
so they the the red curves are what are called as attracting lcs so your drifters are going to move
towards them and the blue curves are what's known as repelling lcs so that's where the drifters are
going to move apart from and they're computed using this side algorithm called uh lagran um
sorry the finite time lyapunov exponent and the finite time the open of exponent calculation
involves a finite time uh forward integration or a backward integration depending on the time your
curve you're trying to compute and really what you're asking with this computation is how are
nearby trajectories being pulled apart in forward or backward time and that gives you these curves
all right and also particularly lagrangian current structures has been related to energy optimal
trajectories in the past so uh this review is not really exhaustive so we just picked out two which
stood out to us if there are any other works that you're familiar with we'd definitely like to hear
from you so the first paper that came out was in 2005 by inang shaddan and marsden and what
they showed was that if you took a boundary value problem in the ocean and you want to construct a
trajectory between two points those trajectories tend to have overlapped with lagrangian core and
structures and three years later this other video is basically showing this other idea is what
um if you want a energy optimal trajectory why don't you just like follow the lagrangian code
and structure so use a line path line following algorithm and just stay on the lagrangian current
structure and what you find that is the energy that you spend while moving in
these lagrangian coding structures are much lesser so lesser actuation
all right so we're going to come back to lagrangian coherent structures in in
a few it will be a while so before that we want to understand uh we want to get our own algorithm
for generating trajectories so for that we turn to model predictive control so model predictive
control is basically two steps step one is you optimize over a finite horizon finite time horizon
so this dashed line is this forward prediction of how your flow field is going to look like and you
optimize over it and what you do in the next step is you just take the first step of that and then
you go back and then you generate a new trajectory so in video that winds up looking like this now
i've color coded these dashed lines by what the control effort at every instant is so whenever it
starts glowing yellow that means at that instant that first step is spending a lot of energy
so the cost function so i did talk about optimization so there's a cost function here
so the cost function that we're using has two terms the first term is the distance from the goal
and the second term is the control effort so the energy is spent and
the distance from the goal and these two are fighting against each other basically
you if you minimize one the other one is going to grow which i'll explain in a bit
so there's particular advantages to using this method so a lot of times uh when we're using
mobile sensors in the ocean the flow field isn't really well dissolved so you really don't have
a super accurate model of how your sensor is going to be moving around so this because we are
reoptimizing every instant we're quite robust to some kind of uncertainty like that so if you got
the flow field wrong you're going to recalculate anyway and you're going to look further ahead each
step because you moved a bit so you're really taking in create generating more information so
that's really an advantage second advantage is you can since this is an optimization a numerical
optimization you can start coding in limits of your actuation so if your mobile sensor can't
generate more than a speed of five kilometers per hour you can code that kind of thing in
so the mall predictive control has two parameters so we want to start messing around with these
parameters to understand what are the range of trajectories you can generate in the ocean
and we generally have two parameters so the first we can lump in these two purple parameters which
i'm going to show in second and the other one is this blue parameter called the time horizon
so this is the time horizon and the other one is what we call the r by q ratio
now the r by q ratio is this ratio of of the penalties of energy to control effort sorry the
state error to control effort so you can think of really simple ways you can think of a small rbiq
is for when you're planning a trajectory with a for a vehicle class that's like a speedboat that
can produce massive actuation and you don't have you have to be very precise on where you want to
be so if you want to dock at a harbor or something you have to be exactly there at that point and the
other when you think about large rbiq you want to think about the thing that i showed in the first
slide where it's just moving in buoyancy and can't produce massive actuation so it's going to be
carried so you want to start using well basically we're interested in really large roq actually okay
so in this slide what i'm showing is what happens when you start sweeping through so i'm like
going through all the ryq's and i'm showing how this trajectory is changing
and so what's really good is a lot of the orbits that we get are these closed loitering states
around where you can just keep hovering around in a low energy fashion around your cross mark
and what we notice is the orbits get larger and larger as the energy penalty
drops because it can't accurately use more energy to stay around the x mark
but also what we realize is the qualitative shape of these orbits are changing around so
if you looked at r by q equals 20 and then just moved a little bit further in r by q equals 26
what happens is this i shape turns into this huge shape that traces out the gyrus shape
so that's really interesting so that you can think of as like this kind of trajectory bifurcation
so when you think what's happening is this rbi q20 trajectory is growing and growing and growing
and it suddenly becomes unstable and then it switches over to this new kind of trajectory so
in our work with you know the time horizon equals four we found an entire zoo of these
kind of trajectories that start going and you can think of each of these qualitative trajectories
as a trajectory for a different vehicle class so you can think of for the speed board to a ship to
a small agent like you can go through the entire spectrum of all kinds of vehicles and then you
get a different kind of trajectory for each time when you're planning okay
So next we bring back LCS. What we see here is this video of the drifter moving around along the double gyre
with the LCS plotted in the background, but now we have the model predictive control working
and what's different really with model predictive control now from the past work that's been done
is the model predictive control generates an entire family of trajectories so at every instant you're generating an entirely
new trajectory so you can start visualizing ... how is each trajectory changing with the
Lagrangian coherent structure in the background. So a lot of what you see in this video is there's
a lot of overlapping between the forecast of the MPC and with the LCS. So i'll play it back.
And you can also see that the sensor starts, the dot, starts moving around with the
LCS which is really interesting especially because this LCS is computed with a time horizon of 15
But the MPC time horizon is just merely four and it's still able to like
it's still able to look at all these structures and move with them for some reason
what we also find is that when you're moving across the middle
blue LCS here we start spending a lot of energy so you can see that when the the forward horizon
starts turning really yellow really bright yellow that means spending a lot of energy then
now the middle LCS is particularly interesting because what it's called is a hyperbolic LCS
so a hyperbolic lcs is this curve where if passive drifters with no control are going
to be repelled normally away from it the other kind is the ones in the corner here
so sorry you can think of the ones in this area here the LCS in that area are shear driven so they're they're
not driven by normal movement away so there's something really interesting about this phenomena
okay so now what we do is we are going to look at two cases so
r by q equals 4 and r by q equals 100 and we're going to see what changes with the lcs
all right so what you notice like what's expected is we're not using the lcs at all at the start of
an r by q equals 4 trajectory whereas the rbc 100 trajectory is still moving around with the lcs but
what happens when you get really close to the goal is you start moving around with the lcs so you can
see that it's moving right with the intersection here and that's really interesting because so
what's happening what's possibly happening is that the state error is growing really small
as you get close so then your u preservation term starts kicking in and you start being very energy
efficient near the goal but far away you're just shooting straight towards it like a speedboat
all right so the other parameter that we can talk about is the time horizon so the time
horizon is basically uh how far you can look ahead with your model predictive control now
the time horizon if it's really long means that you have a lot of information about your flow
field so practically speaking if you have a if you're very sure about the flow field at long
scales away from you you want to have a high time horizon but normally we won't be able to do this
because our sensors are small and we're not able to track a large large area so we only have very
local information so essential ideally we want to be able to work even with short time horizons
but we can see the difference of our trajectories vary with the time horizon so
in this video what you can see is the one on the when you start using more information you can get
to the goal quicker both trajectories are using the red lcs because both of them are moving with
an r by q equals hundred but the one on the right is uh using the red lcs to move towards the right
and then loop around a bit and then go to left whereas this trajectory is going straight
and it's able to use that bit of information that it has to move straight to this goal
and that's really interesting but now what we want to do is we want to look at
if we sweep through all the time horizons and all the ryq's what are the best trajectories
we can produce and how do we look at that so for that we have this plot so on this plot
what we're doing is on the y-axis we're plotting uh the energy spent across the entire trajectory
and on the x-axis we're plotting what the state error is along the entire trajectory and we get
these nice pareto optimal curves going around here and what we see is the one the region around one
is where we're using massive energy to get to where we want to go and in the region around
two is where we have this optimal movement that we have to get towards the goal but in a really
energy optimal way and beyond that you get really bad trajectories and these trajectories
even if they are technically using lesser energy than two the the trade-off in uh uh the state
error is way too high at them so we're really interested in these uh trajectories around two
also what uh thing we notice is that a lot of the uh time where i a lot of the time horizons
that are even really short really do well so like a time horizon of two to four is actually doing
pretty pretty well comparably and we also see a bit of convergence towards red as you increase uh
i'm i might have missed this to start so the time for right the colors are the time horizon and what
we're doing is we're sweeping through r by q so uh really low r by q to high r by q and it's tracing
that curve like that but we were also interested in one more thing so this is for a double girder
frequency of 2 pi by 10 that means it's the gyre is moving back and forth at this frequency
but alternatively we can also try a bunch of other frequencies and this was really motivated by
studies and mixing of inertial particles so what you find with inertial particles is when you drop
inertial particles in a double gel and you vary the frequency it has this high pass and low pass
filtering effect and you get you get some of that here too interestingly so as at a really low low
frequency we get this nice quick period optimal curve but as i keep increasing the frequency
you start increasing the time period that's changing frequency and as we keep changing
that basically we get these curves and this curve starts to break apart kind of like this
resonance phenomena and it goes back to actually being normal and this is really interesting
i think it warrants further discussion or further what you say research into this area
okay so that brings me to the end of the talk really um here's the conclusions is we have we
found strong connections between the gyrodynamics and optimal trajectories and you know overlapping
family of mpc horizons and the frequency dependence between gyro so what more you can find
in the paper are you can find what reject more trajectories look like there's a comprehensive
list of figures which show different trajectories when the frequency is high the frequency is
low the time horizon is changing we also have a discussion about how timing in the gyre is really
important so uh different time horizons will perform even for a little increase in time horizon
you can get suddenly drastically good performance and there's a histogram comparing the energy spent
or trajectories to what how much energy or how much flow velocity is in the background flow
but there's one more thing future work so with future work we're really interested in so what
we looked in this paper is how one agent moves towards the goal state essentially
right but we can also do one more thing where we can have an entire fleet of mobile sensors
that are all trying to move towards the goal and this gives us a few ideas so we can think about
multi-agent coordination where we're trying to get them all close to each other or far
away from each other really quickly or we can even understand how uh the so when you have mpc acting
with the double jar it becomes this entirely new dynamical system and we can think of oh what are
the attracting regions in this new dynamical system and how is how do we quantify that and
how do we quantify control flow fields and third we want to understand okay so we observed a lot
of phenomena in throughout this paper and we want to understand okay theoretically what is
producing all this why do mpc and fdle have this connection and so that's that's another direction
so thank you for listening to this talk you can find the work on archive you can
you can play around with the code on github