God is here I'm sorry.
You're not annoying.
And then the doctor wrong then
right there's great potential.
And we better sorry about
it another you can go so
we came back trying to hurt you and
so we've been here for
almost two years by not doing very good
work on the cast it will take the trouble.
Because of my sundress or
to leverage risk in various ways
with the original design rather.
Than talk about race the robot
we've done all right thanks Henrik.
So I hope you guys can hear me
I hate using microphones so
I'm going to try to project today and
if you can hear me just let me know and
I'll start using this clunky thing.
So I want to talk to guys today
about the work we do in my lab.
And especially the focus that is
TALK OF beyond the castle control.
To introduce my lab work in
mechanical engineering and
we really live in a focus
of dynamics controls and
vehicle design so those are to me
the main components of robotics so
I don't see a whole lot of difference
between dynamics controls in design and
robotics in general.
So our core areas are flight dynamics we
do a lot with aerospace vehicles so
that's one of our big focus areas.
We also work in the estimation side
of things looking at complex systems.
We've developed since game theoretic
control algorithms for for
optimization of complex systems and and
we've also been looking at information
theory as well for the estimation side and
then the last thing which is
what I want to talk to you guys
about today's how can we leverage.
New computational architectures a new high
performance embedded computer to do guy.
And control any kind of a different
way than we've done so in the past.
One of the things that I like to highlight
about my lab is that we don't just live
in kind of the control theory side
we have a very strong modeling and
simulation component and then we
like to bring a lot of our projects
to some sort of hardware experiment and
that's really one of the ways I like
to differentiate my lab from sort of.
Like a kind of a classical
controls type of research group
is that we like to put our ideas into
practice on physical systems and
so my students are trying to develop all
these different capabilities by the time
they graduate in the midst of the reason.
Well you know there's a big step taking
something from simulation to practice and
and and certainly I think that's one of
the things that Georgia Tech does well is
a lot of the hardware work so
you can see that in our our institute.
All right so I want to give you guys
a flavor of some past projects we've done
these will be you know
a couple of slides each D.C.
did have some other topics but
then I spend most of the talk looking it
practical algorithms first to cast
the control and that's really
what I want to highlight about
this talk it's not about.
Necessarily algorithms that.
We sometimes we can even prove stability
or convergence about practical outcomes
about algorithms that I think are useful
in the real world that we can go out and
field today to improve
the performance of real world
systems in a current environment.
All right so first thing I want to talk
about is some of the work we've done for
helicopters this work was ongoing a few
years ago we finished it about a year and
a half ago and we do a lot of work with
helicopters and really any kind of
aerospace system and we've been doing
more ground robotics as well lately but
this this work I was kind of motivated by.
The emergence of unmanned helicopters and
kind of we see unmanned helicopters more
and more often throughout the community
to do all kinds of different things
I spent about ten minutes yesterday
pulling some these pictures.
You know I'm in helicopters are actually
being used now in well they were being
used in Afghanistan to deliver cargo
that's a full sized as they call it
an option only pilot helicopter on the top
left that can be flown with zero one or
two pilots and
it's a full size helicopter and
then you have other helicopters like
on the bottom right it's a little bird
helicopter in there it's
wind with zero pilots.
A helicopter in the top
centers made in Houston and
I pulled an article right next
to it you can see there that
the police department in Houston bought
this helicopter and it up in the bottom of
a lake after a technical malfunction
actually the fact that end up in a lake
is a good thing because it could
have ended up somewhere else so.
These things are out there.
They're everywhere and
they're just going to become more and
more common as time goes on one of
the things about helicopters that
many of us many of my aerospace colleagues
know is that when the engine fails and
helicopters very bad things.
And usually bad things happen and actually
what happens is the helicopter needs
to land and I have a this is
a video of the actual helicopter
landing with no engine and it performs
a maneuver called auto rotation and
basically what happens is the helicopter
descends my my my rendering is it going so
well that it but.
It actually is a very safe landing but
basically it descends fast enough to
keep the rotor spinning like a windmill.
And as a helicopter approaches
the ground the rotors spinning and
the pilot has to increase the blade
pitch at exactly the right time.
And that provides a thrust impulse
which slows the helicopter down and
allows it to land safely.
And if you don't time that
maneuver exactly right or
you don't design that maneuver exactly
right then either you flare too soon or
too little too late and and
that causes loss of control or
definite problems in survivability so
the goal of this project which I'm
just going to share with you briefly was
to design a control system that could land
a helicopter with with with no engines.
And there have been some folks here that
have done work in this area there's been.
Some work done at Stanford actually really
only one person has done this is stand for
and that's Andrew waiting and he did it
by flying having a pilot do this lots and
lots and lots of time to train a neural
network which sort of works if you're
landing from that condition at which you
train the neural network so yeah that's
fine we wanted to come up with a control
system that could function from a large
variety of initial vehicle conditions
could you never know when to need this.
Generated trajectory solution
a really short period of time and
so what we came up with was what was what
we called an expert system controller
which takes advantage of our knowledge
about the dynamics of the system.
To allow us to do an effective
control design and
really reflect the way a pilot performs
this maneuver so what happens is we divide
this maneuver into a bunch of different
phases about five different phases and
that really is if you watch what what
a human pilot does actually what a human
pilot does they have about five different
phases they go through as they perform
these maneuvers and each of these
phases is blended together so
for there's a control wall that's defined
for each phase and some are simple some
are complicated the most complicated is is
that flare maneuver which has to be timed
precisely and has to be conditioned
on the total energy the helicopter so
we bring together the potential
the kinetic energy in the stored road and.
Natick energy we bring those together
in a single value and drive the flare
trajectory from that total total energy
and at the same time we're always
calculating our predicted time the impact
and driving that's a sort of value so
I'm not going to control designs actually
fairly complicated for this but basically.
I'll show you a video of simulation
of the actual performance
of this kind of control law and basically
right now we're in a steady state descent
phase we're keeping that rotor turning and
here's a for the flare maneuver where we
slow our forward and vertical velocities
down together simultaneously Upon arriving
at the ground so this is a controlled
design they can actually handle and
autorotation from any initial
conditions because of the two
elements number one folding in the total
energy of the helicopter and also
driving the time to impact to a desired
value that's continually calculated.
You know the mass of the.
You know the approximate mass
within a certain value but
actually the mass the mass.
Because of the feedback control design I
am not sure that the mass even if that for
the total kinetic and the the total energy
comes in anywhere else that's about it so.
So it wasn't enough to just show in
simulation that this thing wore so
we went out to do our flight test facility
I'm going to call it in quotes and
we bought I bought about four helicopters
about this big not just one but
four because we knew we needed four and
third that we did
we implemented the control system and
this is just a standard helicopter so
then we outfitted it with an autopilot
that we built and we fit with our control
system here and let me show you
what happens when we actually try
to implement this I probably won't be able
to hear very well but that's OK Basically.
This is my grad student on
the right flying it and
we strap to go pro to the bottom of this
things you can see what it looks like from
the helicopters perspective when it's
take off and fly to four hundred feet and
my students hand flying it at this
point just to get it to a good initial
condition and when he gets it up to four
hundred feet you'll see him take his hands
off the controls and flip a switch and
that'll kill the engine and
put the helicopter in autonomous landing
the at the same time they probably can't
hear it maybe I'll focus the mike
will toward my computer here.
But you can hear the engine
kind of cut out and
now we're descending this
steady state flight and
the flare trajectory kicks in right
about there where you heard that.
And that's again that flare
trajectory being calculated and
slowing the helicopter to resemble
the last seat so we were able to go but
that was number four actually yes
yes we crashed number four but
we had enough parts from one through three
to kind of piece all back together and
create a Frankenstein and we got all the
gains to do right at that point so yes.
We still have that
helicopter actually OK So
that's that's an example of where we
take something just from theory and
progress that all the way to to practice a
demonstration actually the Army's getting
ready to fund the project on that to
create a pilot advisory system that will
assist the pilot in landing in
difficult autorotation centers for
instance in clouds or
in Boston or at night.
All right so moving on a different topic
another thing we work on a lot in my lab
is we have a very good collaboration
with our with the Army research lab and
with DARPA in the area of
guided projectiles and
I want to show you guys this is actually
a robot it doesn't look like a robot but
this is a robot OK it's a mechanical
system that's got a controller and
a bunch of actuators.
And the thing that I
like to point out about
these guided projectiles is
that it's an extreme and.
Hearing problem you know people say
why are we doing this in an academic
environment sounds like something.
Should be doing well Raytheon actually
builds that thing on the left but
a lot of the ideas about how to build that
thing on the left come out of academic
communities because the engineering
challenges for this system are so
extreme so number one is the size we don't
have a lot of room for actuators and
sensors etc The weight has to be low but
the power consumption has to be very
small because these things have to
sit on the shelf for twenty years and
still work the worst part of the launch
environment anything you put in one of
these devices has to be able to withstand
one hundred thousand G.'s and it's not one
hundred thousand G.'s over one millisecond
one microsecond one hundred thousand G.
pulse for about ten milliseconds OK so
any damping material you use in there will
basically be useless because it bottoms
out is what happens OK so that in and of
itself is bad enough but then these things
usually span about one hundred hertz or so
which is quite a fast when rates the
actuation bandwidth has to be that high or
actually double or triple that and
the cost is another problem I put three
dollar signs that emphasize that you
can't put an actuator or a sensor on here
that cost five thousand dollars because
one time use only and they usually like
to buy them you know in the thousands or
tens of thousands so traditional
solutions just don't work and that's
what we've been we've been working on for
ten years with the army is to help develop
nontraditional solutions to this standard
control and estimation problem for these
types of devices some of the things we've
done is integrated guidance to control so
in the aerospace community we do things
a little bit differently than in
other communities in terms of guidance and
control and time scale separation so
the time scale separation for
these systems actually not possible lot of
a lot of the times so normally time
scale separation means I have a guidance
loop that runs slower in the control loop
that tracks the trajectory runs faster for
these systems a lot of times
you really just have to.
Go from sensor input sensor
outputs a control input.
And the reason really is because
the time of flight is so short so
our sensor rates are relatively maybe
have a fifteen Hertz rate at which you
can get or are a five hertz rate at which
you get G.P.S. or something like that.
You can only run your control system
at a relatively low rate because
of the sensor and that the electronics
requirements say like twenty hertz or
so the time of flight of the system
is only about three seconds so
that means you only get to choose about
forty five or one hundred control inputs
a very low number of control cycles that
are actually used for each projector so
there's only so much you can do and that
means we don't get to offline computer
guidance our computer guy in solution and
send it to our control system to track So
that's one of these I've been working
on with them is new integrated guidance
control can't handle the fact that we have
so few control cycles to choose from.
Another problem we have is
actuation on these systems so
there's been missile actuators
that have been developed for
the past fifty years the problem is
they don't survive in a gun barrel so
you have to create an actuator that can
live inside this really really difficult
environment and so it usually ends up
being something very small simple so
what we've come up with are these micro
mechanisms which are just little spoilers
that pop in and out of the project on
a certain size to create a symmetry and
steer the project on a certain
direction and the and
the physical of the phenomenon that allows
us to work is that these shock waves
are created in front of these spoilers
kind of see on the bottom left
the shock waves are created and
then they are projected onto the fins and
that's what causes that large asymmetry
the sort of fin sort of amplify the effect
OK And that's kind of the unique the
unique contribution of this mechanism so
we're working with DARPA on a program
right now to optimize how these.
Oil there should be arranged to generate
as large a shock as possible and then to
demonstrate an active control mechanism in
a flight experiment this summer so we're
actually building all the projectiles only
internal mechanisms here on campus for
that project.
Another problem we have investigated
with these projectiles is low cost state
estimation so the problem is you can't put
on a five thousand dollars sensor eight
hundred dollars thousand dollars I.M.U. to
these things you have to be cheap so we've
looked at what happens if you take really
really cheap solid state sensors and
packing lot of them on so a few years ago
we did a project with the army where I
took these thermal power sensors
out of a digital thermometer and
we packed them around the edge
of one of these projectiles and
show that if you take one of these wide
field of view infrared sensors and
you measure the infrared image city
of the earth in the sky it turns out
they're totally different the sky looks
cold the ground looks warm and so
as you sweep this thing over rolls like
well you can tell if you're pointed up or
down down with it so we show that you
could use these things on a on a project
here's what it looks like on
the left you put these little
basically digital thermometer sensors
on a projectile and shoot and
you can get your role angle down to
within about half an ear the accuracy.
All right so that's some background
some projects we've done in my group
I want to spend most of the talk
today on the work we're continuing to
do it in the cast the control area.
So I want to start off
with something simple and
I see we definitely have some of
the cast of control experts so
bear with me if what I'm going to talk
about in the first few slides here is
old hat to you but I kind of want
to get everyone up to speed.
So a standard sermon is the system
discrete time looks something like this
right OK this is a standard difference
equation for Nolen your system and
you can apply non-linear model
predictive controllers to
maybe linearized them in and
and you generate the.
Optimal control optimal
control time history OK and
that is based on this state recursion you
see here on the bottom right and basically
the idea is I have a cost function that
penalizes tracking performance and
control effort and it's a deterministic
system so I can write out the dynamic
propagation over certain finite
horizon OK and then generate
the optimal control based on that standard
non-linear model predictive control and
it yields an optimal control sequence.
So M.P.C. is really successful right
there's a lot of actually industrial
processes that use model predict that
control everything from steam steam turbin
control automotive engines if you go
through the model predictive control
literature actually in the seventy's
you know there's a ton of different
obligates from predictive control so
it's been around a long time and
of course we know systems are never
deterministic right so theoretically you
should never be able to apply this rule
and in practice many systems are lightly
stochastic meaning that
the the process of noise and
Parametric uncertainty.
Is dominated by kind of these gross
dynamics that we that we know so so
deterministic really means that
there's the catch the behavior is not
all that important in terms of the control
performance it doesn't affect it greatly
All right so a more general form of
the cassock nonlinear system may look
something like this paper where we
have our deterministic portion and
then some process noise maybe
it's a random process OK.
So this means that as as time
marches on there's a random
portion to our time
propagation of the dynamics
if you apply I determine if that model
predictive controller to the system
is technically not valid right because
I don't know what control what state is
going to result from a given control
input OK I can guess but on average.
You know I know average I might be correct
but but as I march through a certain
a certain optimal control sequence you
know I mean I'm not sure what's going
to happen right because of that
stochastic forcing that goes on and.
So that's why people came up with
something called Markoff decision
processes OK So
Mark off decision process or any D.P.S.
and if you're an expert in Palm Beach
then bear with me for a minute so
M.V.P.'s are basically the day they seek
to minimize the expectation of the cost
over the time horizon you're interested
in OK so by minimizing the expectation
the cost about the cost itself we can deal
with this stochastic component right so
we acknowledge the fact that there's
there is random behavior and then we.
We try to get the control
sequence to work on average and
really the way you define the solution
here there's a there's a way to define
the solution is terms of
value function iteration and
that produces something called a control
policy which tells you basically
what to do no matter what state you're in
so no matter what state you're in you know
what's what that's actually
best action to take on average.
And so N.D.P. is only work when you
know the state of that when you could
measure the state of the system exactly OK
so we can measure the state of the system
exactly with no air and are applicable in
real world systems is usually not the case
either we can't measure some states or
some states we only know approximately And
so that's why people came up with
partially observable and D.P.'s and
again you can solve partially observable
M.V.P.'s using value function aeration
OK And in this case you now have
a belief state OK And so there's your
belief can be distributed over various
states and here's some examples of in red
in these red blocks below see
the degree of belief that
the robot thinks it's in each one of the
squares OK so it now has a distribution.
With regard to its current location
rather than sort of a delta function
that defines its belief.
So now let's talk a little bit
about the piece I'm just saying but
I just want to contrast the term estate
and the casting model creative control
determine is that you get a optimal
input sequence OK that's what
comes out of the model
predictive controller.
Out of the optimal control or you get a
control policy not a control sequence but
in a troll policy and the policy tells
you what to do no matter where you
are potentially a lot more
powerful This is the chart from
Sebastian through the book on this topic
showing it to Google control policy for
a robot in its configuration space
that wants to get to that red
red dot basically the arrow tells it where
best to head at each point in time or
or or at each point in space.
All right so here's some problems with the
Catholic model predictive control number
one very difficult to solve
in practice OK The curse
of dimensionality is a real problem for
the Catholic N.P.C.
because the dimensionality So the size
of the state space grows exponentially
basically to solve this problem in
higher than two dimensions is still
sort of an open research problem OK how do
you solve Tommy P's in high dimensions and
there's a lot of people even here
that work on that kind of thing.
The other problem is for
real systems we have to parameterize
this Control Policy OK so.
There's potentially a huge number
of control inputs I can give
in this control policy that I
showed you it just said the control
input all it needed was a direction
that's all it needs OK but
most systems have higher
dimensional control inputs so
I have to parameterize So
if I try to say allow the system too.
Choose from any of its possible control
inputs again the curse of dimensionality
can hit me so in general we have to come
up with some pair parameterization of
the Control Policy and choose from a much
narrower number of possible solutions
the last issue that arises is
is uncertainty propagation for
non-linear systems so usually for
these to cast the systems we
have to we have to make some assumptions
if we're going to use the piece about how
uncertainty now effects on the later OK.
In general that's very difficult to do for
real world system OK so it's a lot
of times not valid to make that assumption
those are those sorts of assumptions so
understanding how uncertainty now affects
on certainty later and being able to
perform non-linear uncertainty propagation
becomes a problem in practice and
that's something I'm going
to talk about as well.
So for practical systems we're looking for
a controller that can kind of fold each
of these things together to create.
Something that we can actually feel so
number one we have to propagate
our uncertainty so we know if we have
a certain level of uncertainty in our
dynamic system now how does that
uncertainty evolve over time OK So
that's called uncertainty
quantification OK So
number one we need to have a control law
that can propagate uncertainty in real
time number two can parameterize control
all fact if we can choose for me
a general small number of possible
control solutions and then Number
three find an optimal solution based on
these first two first two components so
I'm going to show you some more kind of
concrete examples of how this works so
what we've come up with for a practical
controller design for a system like this.
Is number one to generate
a feedback controller OK so
this feedback controller incorporates
uncertainty propagation.
And optimal control kind of all within
the control loop so if you have your sis.
And you have your initial conditions in
a desired final state you want to hit
the first thing you do is to parameterize
that control parameterize a control
kind of set of solutions and generate
a set of candidates to choose from OK.
Based on those trajectory candidates
we can propagate on uncertainty along
all those trajectory candidates and and
end up with a close loop of uncertainty
propagation that allows us to optimize
the path we want to take OK And for some
problems and I'm not going to talk a lot
about this today but you end up you end up
actually perturbing the original path if
that's part of the control you can end up
with dynamic feasibility that needs to be
addressed as well but this basic pipeline
that I'm showing you here the top four
squares here really allow us to
solve a wide array of problems and
we've use this kind of framework to
generate the Cassa controllers for
quad rotors parafoil those
guided projectiles and
a lot of different possible systems.
So comparing a Palm D.P. approach to
what I'm calling sort of an uncertainty
where uncertainty aware optimal
control approach for a Palm V.P.
approach we generate a control policy for
the algorithms are going to show you today
we create a single trajectory OK this
means we create a single trajectory
command from the current state and
then we update it in a feedback manner OK
so I'm not trying to come up with a policy
offline before we do anything send it to
the robot and have the robot follow it OK
because for many high dimensional systems
it's just not possible to do that so
instead we're solving this problem in
a feedback manner as far as quickly
as we can palm D.P.'s are not
necessarily straightforward to
paralyze because well at least for
like a dynamic programming solution
it's difficult to paralyze
dynamic programming directly.
The nice part about our
uncertainty propagation step
that I want to propose here is the.
You can paralyze that OK there's a lot of
propagation algorithms money Carlow being
the simplest one that can be paralyzed and
actually put on board a system.
So the final problem that comes up
is someone says to me Well yeah but
your algorithm is not very general or
a general algorithm that's true so
the solution that pont that upon the P.
would come up with is technically more
general than mine because they don't
have to parameterize that they can
consider all possible control sequences
from here until time T. OK whereas I'm
reducing the dimensionality of the problem
by parameterizing it down OK so
I'm freely admit that my mind
control algorithm is not as general.
And if I had all the time in the world to
solve it would probably work better but
I do argue that my algorithm
is actually implementable for
a lot of real world systems.
Alright so
I also want to bring up this point and
it's something that I've been
thinking about for a long time.
But for the longest time control designers
like myself have been focused on making
their control law very very.
Simple OK to the point where I was just at
a conference a few weeks ago where someone
with that their control could be computed
in ten microseconds took ten microseconds
to compute their control law and
they were touting that as a virtue OK.
Classically it has been but right now.
Computing power is cheap OK Our
robots are typically equipped with
plenty of computing power usually that's
not the limiting factor on our control it
shouldn't be a limiting factor
in our control design OK So for
fifty years we've been designing control
laws for an eight bit PIC microcontroller
OK you can buy for a few cents OK but
we don't need to do that anymore so
with larger sort of new emerging
embedded computers what new
control tasks can we enable and
that's really what we see.
It Out to kind of explore here is we
have this computing power on board
what can we do with it from a control
design standpoint it may be better
than what you used to be able to do.
So in an old paradigm that usually
we have sensors that feed this
small microprocessor and
generate control inputs and
this is the standard way we build
autopilot cetera for our for our systems
in a new paradigm you can imagine we have
sensors that feed this microprocessor and
the microprocessor.
Leverage is maybe some new imbedded
computer or new hype throughput device
that just sits off the board and
performs uncertainty analysis OK and
this uncertainty engine for
instance can be continually updating
the guidance solution to
deal with with risk so
a risk aware optimal control system may
have kind of this off board co-processor
And we've we've looked recently at
implementing something like that.
All right so
I want to put some concrete details so
as to what everything I showed you so
far is very general sort of pie in the sky
let me show you a project we've
been working on for the past.
Maybe five years or so that kind of
uses this idea to do something real and
this project was funded by NASA and
it's still funded by NASA probably
over the next year or so.
OK So again I'm going to point out
something that's not your average robot
OK so this we don't think about robots
looking like this but this is a robot
again this is a guided parafoil So
it's a it's a large parachute and this is
actually a lot larger than it looks that
pallet There's about the size of a Humvee.
And generally what these things
are is a big big square parachute and
like a skydiving parachute and they have
these lines in the back and you pull these
lines and those lines and it steers the
thing right and left and the goal of these
things is to divert to the liver
supplies to people that need them.
At a certain location.
OK And so they dropped out the back of an
airplane the parachute inflates the robot
turns on and it steers a parachute
around and actually the military and
NASA uses these things the military
use them in humanitarian aid drops so
this is how we deliver water to people for
instance in Haiti.
And NASA uses them to recover pieces of
their their their their launch vehicle or
as crew escape or also to land payloads
on Mars we're trying to do the exact same
thing except the parachute has to be about
ten times that big because the density
of the air on Mars about one percent OK so
it doesn't scale very well to Mars but
they're trying it.
So very cheap and very portable but
very slow casting
OK there are a highly stochastic system so
if you're used to using
used to driving the car around parafoil
will blow you away because number one
the only things we can do with it are turn
right and left OK so we can't move up and
down we can't for instance light like
an airplane doesn't work that way.
The wind really pushes these
things around that's what
drives us the cassock behavior so the wind
pushes these things left and right and
it doesn't take a lot of wind even for
a large system to push it significantly
off from the Target the other problem is
our models are terrible because
this is a flexible system.
Simulation models if we want to run
something in a reasonable amount of time
it has to approximate it as a rigid
body not a good approximation.
So right now we can only land these things
in a Within about a thousand within about
one hundred meters or one football field
where we're trying to get it which is
usually not very good and so
the contrast by the I'm going to
mention that skydivers can land within
about two centimeters where this is so
skydivers military skydivers can can hit
a spot within about two centimeters and
we can only get within a football field
OK So that tells us that we're not really
doing things very well and it's a problem
number one of control and another problem
of the actual controls that parachute
is to give are more general in turn.
Right and Left So combining those two
things could potentially help us out but
it's definitely a problem in both
there is so we need to control systems
that get close to a target but
it's so so accuracy is important but
what we've been looking at is not accuracy
but missing in the right direction OK when
these things Miss Usually they just miss
wherever they get blown around OK but if
you're going to try to land something on
a beach trying to get to some people here
that have been hit by a tsunami you don't
want to hit them even if you're going to
miss you'd rather miss over the water than
hit someone's house OK again if you're
trying to land near the marsh and Grand
Canyon I want to land near the canyon so
I can explore that area but I definitely
don't want to end up in the can OK So
this whole idea of missing but missing in
that we know we're going to miss let's
miss in the right direction that again
is an uncertainty analysis probably
another problem that I point out from
the military is is being able to
land in this four operating base actually
we don't really care as long as we
get it within the walls but
that's not the way the control
system is currently designed we try to hit
a point we don't really care about the now
point we care about shaping
the impact dispersion appropriately.
So that's what we're after here so
the casting problem for
this system comes down to suppose I
generate a bunch of paths to the target.
Which of these paths is more robust than
others paths to when uncertainty OK so
if I have path one path through and
a bunch of wind gusts which one is going
to more likely land in the lake right
that's what I really need to evaluate
from is the Cassa control standpoint so
which is more robust to disturbances and
that means that at the current time I have
to predict the effect of unknown is
services that may happen in the future and
that's what I mean by on
certainty quantification right.
So the way we normally do this and
there's autopilots out there that do this
right now for the military and for NASA
they project where they're going to hit
on the ground this is a model predictive
control right we put we use a model to
predict where we're going to hit and.
Make a controlled decision
based on that model prediction
The problem is if you have an area here
near the target that you really don't want
to hit it doesn't tell you what
your probability is of hitting it
if instead of propagating one
trajectory we propagate hundreds or
thousands of trajectories now we can
overlay we could generate actually
a probability density associated with
our ground impact dispersion and
overlay an obstacle we don't want to hit
integrate over that obstacle and provide
you with a probability of impacting
in an obstacle at the current time.
On the current path that you're looking
at the standard approach geometry for
this system would look something like this
will be where we we fly downwind and we
make kind of a sweeping turn up wind into
the target and land so that we're facing
into the wind at the lowest possible speed
the problem again is that if there's
a WINS somewhere within this turn we're
already far from the target if the winds
are in the wrong direction will never be
able to get there so this potentially
could not be a good path to fly in terms
of robustness to win uncertainty which is
why many skydivers don't fly this kind
of path that our autonomous systems do.
All right so we built a guidance
system of the cast to control
the optimal controller for this system
by basically doing the following We have
a wind estimator that provides us with the
best guess and also a variance in the wind
variance estimate of the when we generate
a bunch of candidate trajectories to
the target I'll show you what some of
those look like and then we generate these
candidates rejecters the target and
really they're just do bins pass that.
We generate these trajectories
we screen them out using
a kinematic model prediction to show to
remove ones that just don't make sense so
we start with say a thousand candidates or
Jack trees that are just created based
on some parameterization we screen out
a bunch that don't make any sense based on
just the kinematic model prediction and
then we take the rest and
we run on the propagation based.
Along each of those candidate
trajectories that are left OK and
we generate that dispersion we generate
that P.D.F. associated with each one of
those trajectories once we have
the impacts of probability density for
each of those candidates we can
then compute the probability.
Of ops will impact or many many other
things many others physics associated with
that and choose one that's most robust
Here's some example kind of Dubin path
project reach the target
at any point in time
you can generate all kinds of different
paths that will get you there and
we can discretized a set of values
that that describe those doom and
the kind of come up with a full trajectory
said that's reasonably general but
keep in mind again by restricting our
controls to do his pads again that's
that's that's removing a lot of the high
dimensionality of this this process and
allowing us to actually
solve it in real time.
All right so once you have those
candidate pads I want to run
the propagation along say a hundred or
two hundred different candidate paths so
Principle want to run of
Monte Carlo simulation and
within that money Carlo simulation
vary the wins randomly or
perturb it with turbulence or random wind
gusts I need to run a lot of cases right
so say I need to run one hundred case one
hundred case money Carlo simulation for
each candidate path I may need to run
one hundred thousand trajectories one
hundred thousand trajectory predictions
during each control cycle Actually it
used to be impossible to do that but now
with something like a G.P.U. it actually
becomes very feasible with a G.P.U. You
can run a money Carlo simulation about two
orders of magnitude lower then you can run
it on like a standard microprocessor So
here with something that costs about two
hundred dollars I now have enough cores
that I can run enough simulations to make
this thing practical practically useful.
The way that you used for uncertainty
probably is actually very soon.
By assigning one simulation to each corps
for instance and even if you're not using
money Carlo even if you're using some
derivatives of for instance the F.T. K.
equation the G.P.U. allows you to
speed things up quite a bit OK.
I'm not going to talk
as much about that but
moving back into the control
law once we have the impacts it
is thanks I can create a cost function
to do all kinds of things and
weigh all sorts of goals one against the
other with this with this type of system.
So here's an example of what
a simulated trajectory looks like.
So.
The black line is the way that a standard
control system would actually fly this
approach and basically you can see as it's
as if the target is located up there or
that red dot is as the parafoil is
coming in it makes this sweeping turn
to land up one of the target and
just as it's through that Stern the winds
die down quite a bit and it ends up over
shooting the target we see this happen all
the time out in the field OK
something like a I call the G.P.U.
implementation or the cast make
implementation you notice the first thing
that happens when it gets an update
from this risk calculator basically
is it starts to turn it early OK And it
turns it early because it knows it needs
to be closer to the target in general this
is what a skydiver does they don't like to
linger too far from the target so
we first thing it does it turns early and
it gets close to the closer to the target
and then when the winds change
it has enough energy to change its
flight path and land at the target and
the other thing is by tuning that cost
function which which penalize the impact
statistics in different ways I can for
instance analyze that way for
instance my goals of landing into
the wind versus landing accurately and
that's what changes the behavior of
the control system from the blue
to the red where in the red case I'm
now trying to land into the wind
versus in the blue case I'm just
trying to be as accurate as possible.
Here's some weird things you could
do with this control system so
I am trying to land on the edge of Lake.
OK So my target is it is zero
zero in each of these plots and
the blue area is an area that want to
land on the left side is what happens
with kind of your standard control
system which tries to get right
down you know hit hit as close as possible
target when you do that you get sort of
a galaxy uncertainty distribution right
if I want to shape that distribution and
there's not a lot of tools out there to
do that OK this controller allows you to
kind of put a hole in that distribution
and redistribute those points around to
different regions OK And
that's what's really powerful about it.
Here's another interesting thing you can
do with this is train aware landings OK so
suppose now I change my penalty and
I say you know I just really don't
want to land far away from the target what
happens is if you put a target along this
ridgeline this standard controller and I
would have my my laser pointer with me but
basically come around to
land kind of north south
which is not the right direction to land
on this ridge OK because if you overshoot
the target you go over the side of that
cliff and you magnify your missed this
OK by putting this risk awareness
in there which basically.
Endows the controller with the ability
to to understand what happens
in cases when it says that it changes
the control shape on the top right so
that it lands along the ridge line which
is the way that a difference of a human
skydiver would kind of look at this
situation See that's what we should do
OK And so you might be able to look at
this and make that decision but when
the terrain gets more complicated that's
when this thing becomes very powerful
because it will automatically compute
that for you based on the statistics.
Are it's not enough to just go
simulate some this stuff and
we did that a few years ago we
want to actually go fly OK So
we built a system this is a power
parafoil system that we built and
we coupled a G.P.U. an embedded G.P.
The first of its kind actually in two and.
Pilot and we had this auto pilot this
autopilots a standard it's our custom auto
pilot that we have in our lab but it's got
all kinds of usual memes sensors G.P.S.
I.M.U. so on and so forth and we powered
it from a light bulb battery and
actually it was way overkill for
the system because it didn't barely.
Barely draw any current But anyway.
What's happening here in the auto
basically it's reaching out to the G.P.U.
to run those money Carlo simulations and
provide it with a robust path of
the target and so we went out to Alabama
and this by the way is the way that this
system sort of works underneath the covers
of the auto pilot auto pilot generates
all the sensor data and it sends the
parafoil state to the G.P.U. processor so
all it needs is the current state of
the system and a Windows to that OK and
a potential when variance as to the G.P.U.
board process is
all the different candidate trajectories
and just sends it back the most the most
robust trajectory that it could find and
then the autopilot tracks that.
So the typical flight sequence for
something like this we would hand
launch it spiral it up to altitude and
then turn the power off so
it sort of simulated a gliding system and
then record its landing behavior so
if you compare again in the.
Behavior with standard guidance this is
experimental data right now I'm showing
you do with it with the standard guidance
in the left in arse the cast the guy in
the right again we see the similar
behavior the standard guidance where we
prover predicted the winds a little bit
and it landed long OK in the G.P.U.
case as soon as that.
Update is initiated it notices were
really close to this obstacle we don't
want to land in.
The first thing it does is it turns
left which is away from the target and
usually not what a standard system
would do it provides itself kind
of an optimal amount of spacing from
the obstacle before turning back and
you notice it lands sort of to the.
Side of the obstacle this is exactly
what we would expect exactly what we saw
in simulation.
When you run it a bunch of times course
once rejected tell you you've got to do it
a bunch of times and we only had enough
money to run about twenty sometimes.
And the left side we got a lot of
trajectories ended up landing along
because we just sort of over predicted the
winds on the top right the experimental
results showed exactly what we see in
simulation once again where when it misses
it tries to miss in the right direction
and in this case you know he said well
it's not quite as accurate in the right
case and that's true because my obstacle
penalty that I put in my cost function
was so high that they control system for
the most part cared about getting
it getting outside the obstacle and
less about accuracy All right so
the idea here is just to show you that
experimental practice we get similar since
the same results we get in simulation and
that we can actually practically use
this thing here's one of these and
I will mention by the way that that was
with an older version of the G.P.U.
and we were now flight testing a much
higher performance when they came out
only about a year ago so a lot of these
things that I'm showing you weren't even
feasible until about two years
where they were these these new
embedded computers came out for
the first time here's what one
of these flights look like.
So the first thing they'll
do is launch the system and
then it only flies about eight
miles an hour when it's powered so
it's sort of like watching grass grow and
they climb it up to about we had to
speed up eight times or also be sitting
here a while but it climbs up to about.
Six or seven hundred feet.
And then it once once sort of pretty good
position that you can see by the way here
that's where the target and
the constraint are located on the ground.
So we'll cut power to it and
basically it will fly sort of an initial
approach segment which is almost open
loop to kind of get it prepared for
its terminal guidance and
then as it gets close to the ground you'll
hear right about is right about here why.
It starts sharing the guy in
solutions with the G.P.U..
And he gets this flight gets about
five to six total G.P.U. updates for
it's going through that cycle continuously
and updating that that optimal guides path
as it gets the ground make one sweeping
right turn toward the target and
the targets pointed out
Of think right there and
you can see that actually the obstacle
area is just behind it so
we're landing again on the proper
side of where we should be landing.
So that's that's what I wanted to
share with you today and really
you know the gist of this talk is to kind
of open up our minds a little bit and
expand beyond standard control design
where we try to condense everything down
to one nice pretty equation I think
a little bit more broadly about what we
can do with with new embedded computers
and new devices that are coming out to do
to enable performance that we didn't used
to used to be able to have so thanks for
coming in.
There's no.
Way to.
Really Work.
Well with.
Yeah so in this case Well I'll tell
you about what we're doing now because
we're using much more powerful
system now but right now we.
Were looking at about like eighty or so
candidate you're in our guidance cycles
take about one and a half to two seconds
and it's depend on the altitude you get up
higher obviously because we're using
a model base controller takes longer but
usually you know a thousand feet is where
we start our solutions it takes about two
seconds and so we usually have updates
about every six seconds we usually keep
updating those solutions.
So.
There's sort of the.
There's the the model world
what's the right Drew.
Because you're sort of.
You're going to say something about
we want to sort of those or modeling.
Earth was doing the modeling
good where we can go with
what is well.
I'm not sure I understand what you're
asking like you know as far as
as far as we use a very kind of
white box approach right where we
think we have a model running and we're
not using any sort of neural networks or
black boxes to approximate these things.
In general and so it's probably somewhere
in between you know this this is starting
to look a little bit more like a machine
learning algorithm right when you when you
evaluate all these things and and then
of course if you can save some of that
knowledge to the next control cycle then
it'll start to look like machine learning
one of the things that we've tried to
make try to enforce here is that we don't
we don't using our priori kind of learned
knowledge about the system except
the dynamics and so potentially you know
you could almost expand upon that and
and and share data say between systems
like once that once one system is landed
they have ideas about what they've
estimated the wind variance to be and
can send that those robot solutions
up to the next one and cetera so
I think it's it's sort of start to
cross that boundary a little bit.
When you know when you go
away you're either going to.
Those.
That.
Are.
Like what will be one of those
things you go if you are.
OK yeah well number one is launch
perturbations So we launched these things.
You know usually you could point the gun.
The projectiles go straight out of the gun
so any time you launch a projectile
there's all sorts of uncertainty about the
launch like that the launch conditions you
intended versus what actually happened
that caused a huge amount of deviation
in addition manufacturing tolerances
a lot of these things that slight
misalignment of something or a slight in
that manufacturing columns who will cause
a large part of a shooting also winds
can cause a huge huge issue for
indirect fire projectiles that fly with
very long distances so usually for
direct fire or short distance rounds
what you usually think of for a gun
that would be launched her patients OK for
long distance projectiles
indirect fire we're talking about
winds are the major driver.
Of.
The.
Yeah so sometimes there's G.P.S.
sometimes we have a G.P.S.
on board and we've loaded in the G.P.S.
coordinates of the target
sometimes we use seekers and one of the
projects here we're using the seeker so
yeah there is feedback and there is some
sort of target identification mechanism
mechanism whether it's visual
whether G.P.S. or otherwise.
A seeker sorry is is
an infrared spot detector so
you know if you have something that's
lighting up the target with an infrared
with some infrared energy
you can detect that.
You know.
If.
It's.
Just me.
Or the.
Rest of.
The.
Relief.
Well.
And this one was.
In Washington.
So.
I'll be with.
You what is this this is.
The Pfizer policy do you mean in
the algorithm that I presented.
It's basically it's an it's
an optimization algorithm in
it's a it's a gets like a.
Sorry so
it's actually like a grid search algorithm
that basically you know we generate
a bunch of so it's so actually I should be
careful when I say optimal right is it
is that it it's not it's simple and
it's only as so we can generate
a grid of solutions and we search for
that reading that's it so
we don't run a gradient based optimizer we
don't interpret between solutions
etc You could certainly do that but
the fact of the matter is usually we can
describe as fine enough that it doesn't
get you anywhere practically we could
call it optimal maybe in that case but
at the performance is not
going to change and has to be.
There with you.
Right that you are.
Essential yet so
it ends up being right it ends of
basically being that algorithm right.
Now if you do it with your.
Model.
So from the from the dispersal basically
from each trajectory candidate we run say
for it's money Carlo simulation you get a
dispersion pattern or set an impact point
associate with that trajectory and then
from there you can build the probability
density various ways Carl that see
a summation something like that right.
Or you can.
Build a histogram whenever you want and
and as to make the probabilities that way.
You use.
Mr.
Right so you can you could basically it
once you once you have a kernel then C.S.
and associated with those with
that with those points basically
now have a probability density and
you can that's a two D.
probability and so you can integrate
over your obstacle right and
then get a probability of obstacle
impact based on that so that if the you.
Know exactly and that cost is get that
one from one term and that cost function
is the probability of hitting it if
hitting the obstacle another term same way
is accuracy to you know hitting the target
so there's a possibility that there's
a very you know absolutely if if
if you weigh the cost function so
that it cares more about accuracy
than it does about obstacle and
it will certainly do that.
With.
How good is the so and in focus your.
Well.
It may be not very good for
some systems for our system it's not good
because the wind doesn't just come in
as an extra term that gets added but
we don't care about it of
noise because our our our our.
Propagation is not dependent on that
assumption and so we can we can.
The system parameters or
inject distance where we want to
write write write write
write write write write.
Well we run money Carlo simulations of
non-linear model right every right to
the right we very parameters are when
it right exactly right right right.
Right all right thank you.