hello everyone and welcome to the
quadcopter modeling and control webinar
I'm Ryan Gordon here with Michael Coren
hi Ryan
hi Michael and we'll be covering the
content today for the quadcopter
modeling control and throughout the
webinar today unlike a lot of our
webinars we'll actually be able to
answer some questions during the event
so if you have any questions as we go
through all the content today please
feel free to type it in the Q&A area of
the WebEx and Michael's going to help me
help relay those questions to me when
appropriate and and we'll be covering a
lot of those questions today and to get
started I'm just going to bring up our
finished quadcopter model and I've
already run the simulation here so this
is just the animation of that simulation
and essentially what the model we're
going to build today and this is just
going to be a big overview of of the
model is I'm going to show you how we
built this quadcopter that will start on
the ground start up and enter into a
hover mode and a stable hover flight and
as you can see over time it's just going
to stabilize that this is a should be
about 1 meter in altitude and yeah this
is what we're going to do today sounds
good alright so coming back to the
PowerPoint why quadcopter modeling and
control first of all quad copters are
really popular if you're watching this
webinar today there's a good chance you
might actually already own a quadcopter
and it's a great way for us to showcase
how model-based design works in addition
to that the concepts that we're going to
show today of modeling simulation and
control can be applied to a variety of
systems not just a quadcopter so if I
show you how to build up a model of a
quadcopter day you could go use those
techniques and build up a model of an
airplane of an automobile all sorts of
things can be applied and of course
finally quad copters are fun to fly ok
so there's three main things we're going
to cover today and normally we go into
great detail about a lot of
try to get to the beginning and end of
the whole design process but quadcopters
are very complex at least the way we're
trying to model ours and get a high
fidelity model so we're only going to
cover these three main points today so
don't worry about trying to follow along
exactly as this webinar will be
available as a recorded version on the
website in about a week's time but try
to get try to follow along and look at
kind of this big picture way we're
modeling this quadcopter
and think about if you have a CAD model
of your system how you could we're
showing you how you can import that
directly into Simulink using the same
mechanics link and finally we're going
to show you just a quick we're only
going to tune one loop of the quadcopter
today but we tuned all our loops using
the same methodology so you can apply
this to your entire MIMO control system
if you can decoupled the loops alright
so the intent here is to really show
more of a workflow than to show a
tutorial of this is how you use the
mechanics this is how you would do
control system design what's simulate
this is really just to give you a broad
brush overview here's here's kind of a
flow between modeling simulation and and
making sure everything works right right
and I'll try to make the model available
I'll put up my email at the end of the
webinar and if you if you're interested
in getting this model that we build
today you can send me an email and we
can get that model to you some things
we'll be covering later hopefully in
another webinar is improving the model
fidelity real time simulation and
testing what I'm sure a lot of you out
there are interested in if you're doing
quad copters already is deploying to
targets if you're doing RG pilot mega
already you can go to the math works
file exchange and there's already block
set that's been developed to help
simplify that process and we've got some
stuff in the works for pixhawk px4 as
well and then finally doing some flight
testing and matching our model to our
real hardware that's something that
we're coming really close to doing here
and something we think is really
exciting that we'll be able to show in
the future so to get started with sim
mechanics if you're not familiar with se
mechanics it's our multi body simulation
environment for 3d mechanical system
and the reason we use it today is going
to simplify the build up of our dynamic
system and it's going to integrate with
other physical modeling libraries so
when we build up the electric motors and
the thrust for the props it's going to
simplify our ability to do all of those
different things without having to
derive the equations and so I'll come
into Simulink and I've got this little
demo I like to show to show house in
mechanics works right so so this is a
Simulink model that contains some
mechanics blocks is that what we're
looking at right now right and so if
you're familiar with simi link down here
we've got our Simulink blocks is
actually only a couple in this model and
up here we've got all of our some
mechanic's blocks and there's three
components and I think I'll first play
the simulation and open up the Simek
annex Explorer to show you what this
model looks like and if I bring this
over to the right-hand side we can kind
of look at what's going on in the
Explorer and show how that's represented
here in the diagram so first I've got
this arm that's this big gray arm here
that's connected and we use these rigid
transforms to tell some mechanics for
all the different pieces of our bulky
body system are and that's connected
using this rigid transform to this prop
and it's parallel on each side so
underneath the Explorer here it's the
same thing except going in the opposite
direction and we use this revolute joint
to define the motion around the z-axis
here so that this prop can't spin and in
addition to that we've connected this
arm to the world using a revolute joint
so that the arm can rotate around the
world and this is pretty similar to how
a quadrotor works except you know
instead of having two props you have
four to balance the system and so when I
run the simulation what I've done is
I've added this step torque input into
one of my revolute joints and I've
temporarily commented out that same step
in
put into my opposite prop so one of the
props will spin and let me run this and
what's in mechanic's does is it
automatically derives the equations of
motion so that the torque generated from
the spinning prop will spin the arm of
the system okay so the way I'm looking
at this model is that you've got
multiple bodies defined you've got an
arm you've actually got two props the
other ones hidden let me move that
around yet right so they have three
bodies and then between those bodies
you're defining how they're connected to
one another you know basically the
constraints that are placed on the
connections between these two bodies
mm-hmm or three bodies three bodies yes
oh so by defining these revolute joints
I'm able to tell some mechanics how I
want these bodies to move relative to
each other okay and then you're
injecting a stimulus in order to rotate
the prop and that's how it's moving
around right okay and so now if I
uncomment this gain I'm essentially
going to make the prop spin in opposite
directions and when I run this
simulation what we'll see is that
because then we can't derive these
equations precisely for me it's now a
balanced system and the arm is no longer
moving now one thing that's different
with this compared to simulate models
that may be maybe folks watching this
are familiar with is the connections
between these two mechanics blocks
aren't one-way directional flow yeah you
see basically squares at the ports so
can you explain that the sure so so when
I hit that play button sim mechanics
under the hood is essentially assembling
this multi body system for me and
deriving all these equations of motion
for the entire system and when you have
a multi body system it's much like a
feedback loop you would have if you
built it up with Simulink blocks you
would have what we call an algebraic
loop I won't go into detail about that
if you're not familiar but essentially
the motion of the arm is dependent on
the motion of the prop and as a prop
gives another full
or the arm gives a force on the prop the
props motion is also dependent on the
torque that the arms moving it kind of
just creates this feedback loop of
motion with the multi body system now in
Simulink the way you would resolve that
is by putting delay in the feedback loop
but Simic annex takes care of that
automatically and that's why uses these
square connections because everything is
interconnected as a system instead of
with Simulink and if you're not too
familiar with simulate I hope you'll
bear with us but with Simulink we use
these arrows because things kind of flow
through the arrows in one direction and
these connections are bi-directional
okay so missing all right so so this is
just kind of our brief overview of how
some mechanics works and why we like to
use it so I see here that got a balanced
system I can add two more props on this
manually but you know as I build this up
I want a system that actually reflects
my quadcopter exactly so this is kind of
the heart of what I want to show today
because I think this really allows you
as an engineer to get started very
quickly with your model and simulation
of your system and what I'm going to do
is I'm going to import a model from
SolidWorks of the quadcopter and build a
dynamic simulation on top of that and if
you've ever had to build a simulation
using the equations of motion you know
how complex it can be to write all this
out and debug it and make sure you've
got all the masses and moments of
inertia correctly defined and what
happens when I use SolidWorks assuming
that my model of course is well defined
is that all of this is taken care of for
me during the import process normally I
would open up some mechanics here to
show you how this import works but I'm
on this webinar computer that we use and
we don't have some mechanics on here so
I just made a short video to demonstrate
this process and so what I've done is
here I've got some mechanics link
installed in my on my PC and here you
can see the same mechanics link dialog
that comes with SolidWorks after you
install some mechanics link on your
computer
and I've got my quadcopter model already
designed for me we actually receive this
from our supplier so there's some
interesting things I'll show you about
how to work through some issues you may
come across when you do this import if
the person who designed your model
didn't keep you in mind when they
designed and all the joints aren't
properly defined but I'll continue on
and as you see how come into this export
menu and it will say Simek annex second
generation second generation i think has
been out since our 2012 BR 2012 a
timeframe and i'm just saving this as an
XML file when you do this exports going
to save it as an XML file and I actually
fast forward this a little bit it takes
about five minutes to do and what it
will do is start going through all these
different components and translating
them into XML that Simek annex can start
to read and as you can see it's
processing on my computer
SolidWorks turned white as it was
processing I'm just trying to show you
the kind of the real-world use case of
how this works and at the end it says
the Simic annex import XML file has been
saved to file quadrotor v2 which is a
file I stayed to pass so that's the
basic process of how you would export it
out of SolidWorks and once you've got
out of SolidWorks I'll add this to my
path gives us where my model is you use
the function
sim mechanics SM import and I'll use the
quadrotor file that I've made previously
and if I come into my SolidWorks model
area you'll see I've got number of
different files I'm using this quadrant
or XML file which is similar to the
export I just performed it was just done
in an older version of SolidWorks so I
know where all my components line up
when I go through it to make it a little
fast for you folks on the other end
viewing the webinar and you saw I just
imported that entire XML file fairly
quickly and when I maximize this these
lines and blocks should be fairly
familiar to you and what I'll do is I'll
hit the play button
and I can see that my quadcopter here in
the sim mechanics Explorer looks like it
started to move so first thing I know is
that it's going to add gravity to my
system and so if I have gravity and
nothing to prevent my system from moving
I need to gave to gravity so I can start
to work with my model make sure all my
components are connected correctly and
then I can come back in and add the
gravity back one of the advantages of
simulation you could just eliminate
gravity that's not a problem right not a
problem okay so let me come back in here
and I can see now when I hit the play
button and nothing's really moving but
there's a couple inconsistencies I
notice with my system I'd like to see my
props start to move I'd like to see Z be
positive down if you're in aerospace
you may be familiar that Z is usually
positive downwards and here I see
there's these positive upwards and I
guess the first thing I'll do is I'll
get one of those props to move so I'll
come in here assembly rotor end which is
where those props are and I see here's
my rotor I'll just disconnect this line
and again this is your something I'm
doing because my the person who
developed my model wasn't really paying
attention to what I needed from the CAD
model he was putting it together for his
own purposes and so now there's a couple
inconsistencies that were generated from
the import and so it's just loading some
of my libraries for sim scape and this
actually is a nice way to to answer the
question that came and the semuc annex
come as part of MATLAB the MATLAB
package like Simulink so so Simulink is
no separate product at the MATLAB of
course Simulink sits on top of MATLAB
since my lab is the platform and then
think of simulating as the platform for
sim mechanics
so it's kind of an analogous situation
where MATLAB is a platform for Simulink
and so now I've got my revolute joint
connected to my rotors are to expect my
rotor to spin and to make sure this
works I'll simply actuate my rotor using
a torque and somewhat arbitrarily I'll
just add a default value of 1 and so
using the physical signals instead of
simulating signals because this will
allow me to build up my entire system in
sim scape blocks I'll just connect the
default constant value of 1 and hit the
play button and when I come to my
Explorer I notice right away I've
actually got slowed it down it's going
to happen so fast that my rotor just
goes crazy ok so you added an input
force to the to the rotor and it just
disconnected and yes a little way
exactly and so this is again one of
those things you might notice if you
start going through your model and
you're trying to figure out what's wrong
and so I know from experience that up
here on the top level all these six soft
joints really don't make a whole lot of
sense and the reason my rotor assembly
was able to disconnect is because I had
the six stuff going here and I can
simply delete that joint oh it looks
like it's actually still running and I
can delete that joint probably to get
rid of the X yeah there it is thanks
Michael yeah and now if I do that I just
get rid of that one I'll see that it
will start to spin but it's still not
performing as I would expect it to looks
like it's at least it didn't fly what
and it didn't fly away but it's not
doing what I would what I would hope it
would so okay so it's spinning a little
day it looks a little choppy and that's
just a matter of the solver not working
as fast as I would like but it looks
like it's going ok I now I can get rid
of the rest of these sixth off joints
because I know these are not in the
right place either because they're all
attached to the different rotor
assemblies
connect these up and now if I run that
simulation what I would expect it to do
when I turn this rotor if you remember
from my previous demo is to spin this
entire system and it's not doing that
because between the world and the on the
quadcopter I don't have a sixth off
joint so what I'll do is I'll come back
into my joints grab a sixth off joint
and connect my quadcopter to the world
using a six degree of freedom joint and
you can see the Vil B and F on every
block and that just stands for base and
follower so the world is my base my
follower is my quadcopter so now if I
run the simulation and I come back to my
Explorer we see oh now I've got the
whole thing spinning that looks looks
like it's doing what it's the photo
doing yeah yeah now this animation is
this something that you develop
separately or are you getting this for
free essentially because you're using
some mechanics this this visualization
all comes with Simek annex so as i built
on my previous one you saw it was very
square and very simple animation that's
because I built it up using base soon
mechanics blocks and I didn't go into
too much detail to define how they would
look right when I do the import the
visualization component is already done
for me so it's using a these are all
Simek annex blocks and then it adds a
visualization on top of them based on
how it was defined into CAD model okay
so you're basically combining the
strengths of SolidWorks and develop
things like some complicated geometries
importing that into sim mechanics so
that you can then run simulations and
actually watch these things move and see
how they're connected to one another and
then you'll show later the controls
aspect that as well precisely yes
basically okay and as I mentioned
earlier the one last thing I want to add
is the positive down so any aerospace
folks out there probably familiar with
with that coordinate system so what I'll
do is I'll have this transform in
and I don't need a translation and I'll
do a standard access rotation along the
x-axis and if I come back to my Explorer
this is going to help me actually
understand how I want to rotate so if I
rotate around this x-axis 180 degrees
easy and it's actually already at PI
radians so I can actually do should be
PI over 2 should do it let's see and I
can say V down positive in my view
convention and it looks like it was not
what I expected so I'll simply manually
go to degrees here and make sure I get
it right and I can actually just do an
update diagram which I do by hitting
ctrl D and remember pi radians is 180
degrees oh that's right basic nap so if
I come back to my Explorer so after
making that that's a little mistake
there that's why I've got Michael here
to help me out well no I think that's
why you've got some mechanics to help
you haven't proved that that was the
case yeah but now you can see that z+
down so I define my view Convention as
e+ down here again it's very common in
aerospace applications and I can take a
look at my system and now I can run the
simulation again to verify everything's
working as I expect and I see the rotor
spinning my quad spins everything's good
in the world and we're ready to move on
and do our control system and one last
thing I should add is that I would add
the gravity back in here as well and
we'll show that in our bigger model so
now we're going to design our control
system got this bigger model open up in
a moment but that does a little bit of
the thrust and the ground contact as I
mentioned earlier but what I do have is
this cascaded control system on the
position rate and rate feedback so I've
got in this particular model I'm
omitting yaw control for now I don't
define the aerodynamic yaw caused from
rotation of the props I'm assuming
things are symmetric this is just to
simplify my control design for now as we
move on in this quadcopter design and do
future videos or webinars and show you
guys how this all works we'd have to add
that in because obviously that is
something that is required to control
the quadcopter but for simplicity today
I'm doing roll pitch and altitude
control and the way I'm going to tune
these PID controllers today is something
really new actually in Simulink which is
the PID control tuning using an
estimated linear model so don't worry
about all those words there I'm going to
show you how that works
but before I get into this demo I want
to just give a brief overview of what
the control system looks like so you can
see the three inner loop controllers
here on the rates PID on the roll pitch
rate in the altitude rate and then I've
got PID controllers on the pitch roll in
altitude that goes into a mixer that's
going to define how much PWM goes to
each one of the four motors and so that
voltage command is going to drive the
PWM okay so let's hop back into Simulink
and we'll tune one of these controllers
today we'd use the same process on all
of them and you don't really need to
know how to do control design to do this
but we really only have the time to use
of one controller and so here's our
finished model I actually use this for
hardware the loop testing I put the
controller on an Arduino I connect that
up to a seaming link real-time target
box
I send my model over to the target box
and it runs in the loop with the
hardware and that lets me know that my
controller is capable of running on the
hardware at the right rates all sorts of
cool stuff like that as I mentioned we
can't cover that all today but I do want
to focus on what I have over here for my
plant model so these blocks over here
these four blocks represent my plant
model
I've got DC motors modeled using similar
onyx you know these are physical signals
because you see these little arrows here
are white arrows instead of black arrows
which are used in Simulink I've got my
external force I use physical signal
blocks as someone mentioned they wanted
to find their own equation I use those
blocks to define the
thrust for each prop I've got my ground
stop here again that was another
question someone asked can you model
hard stop at the ground I do that in
here and essentially what i do is i
model a stop on each of the four feet of
the quad and here i'm using our content
preview to show what's underneath this
block and these should be pretty
familiar to you these are my sim
mechanic's blocks and i have the
external force coming in to drive the
prop and i have a sensor for the rate of
the prop and an external force here to
add the thrust right at the center of
the prop in some mechanics and so if
you've never seen this feature before i
think this came out in is this 13b
michael yes this is and so you can come
into here and do the comp use the
content preview feature to show what's
underneath the block so this is really
great for us because normally i have to
go in and out of these subsystems to
show you how it all works and so for us
making webinars here and math works we
make it really easy for me to show you
what's going on inside of here yeah it's
also convenient if you know you don't
you know you show somebody a big model
they won't know just you know from a
bird's eye level what is actually in
that model you can actually quickly tell
that something is just a placeholder
block as well if it just has a simple
input output i'm going to develop that
later yeah that's another useful way to
use those EPSA block so up here i've
just got two subsystems i can double
click on one of these to change my
settings between real time and desktop
stimulation I'm doing desktop simulation
I'm all set up for that I have my roll
in pitch loops in here and I've isolated
my altitude loop which I'm going to show
you in just a moment here this subsystem
has just some initialization commands
and essentially the way the simulation
works and I've run this already so I'll
just show you what it's going to look
like when it's done because I have all
these steps and all these signals coming
in and out but all it does is that five
seconds you can see my little timer here
in the lower right hand corner the quad
turns on I send a step response it's on
the quad on I have this command one here
that says go to one meter in altitude
and just hold that altitude now it looks
like these props are moving slow but as
I mentioned before there's this
resolution of the end
nation because the spot the props are
spinning at about I think a thousand rpm
they just look like they're running slow
because like persistence of vision of
life yeah have you ever seen someone
take a video of a propeller spinning
right it looks kind of funny because
same same type of visual rest rate in
your eyes yes as sexy was it so so yeah
so so we get this quad guitar ring and I
want to show you how we made it hover so
I'll come into my desktop controller
here and use my desktop controller and
here are those two PID controllers I
showed you before I got rid of the
derivative part on my Z position because
it was going too slow when I had the
derivative damping it out
I've already tuned my Z velocity
controller and so what we'll do is this
is kind of like finishing the control
process so I'll tune my my Z position
here and what I'll first do is I'll take
out a copy of this and comment it out
mistakes happen all the time when I'm
tuning my controller so I'm just having
one back up here in case things don't
work out the way I plan and one thing I
do want to do actually before I get
started is log my input here and record
my signal so I can observe how things
change over time so what I'll do is I'll
put into the default values here if
you've dragged in a PID block from the
same eunuch library
so let's include this is included and
similarly this part is included in base
simulant right
I came here I said I want a PI
controller the default values would be
one and one and I set the sample time to
100 Hertz and so I can run the
simulation as is and I think I only
maybe need 10 seconds here so I'll
modify this to be 10 seconds and I can
see that my simulation is running and I
come to my Explorer and see it's times
kind of match up here my simulations a
little slow there's some techniques I
could use to speed that up as well and I
can see you know it didn't even get back
down to where I needed it to be when I
run it so I'll run this at 2 times speed
came up and it's just very slow and if I
open up my data inspector which will
I'm going to view my signals I can look
at my altitude this is my command
and you know I think I can speed that up
a little bit and I'll use the PID tuners
to speed that up so that data inspector
opened because you log the signal right
right I logged a signal and hit that red
record button right and so the way you
want to speed up a signal where the
control system is by tuning the
controller so I'll hit the tune button
this is just what we call signaling
control design which is built on top of
our controls products and what it's
going to try to do is linearize the
plant but I've got PWM signals in here
I've got all sorts of nonlinearities in
my control system because I've already
put my control system in here so I get
this error I could resolve this error
but today I don't need to because I'm
going to use this new feature to
identify a new plan so I came into this
plant menu and click identify a new
plant and I see my plant identification
window is now open I don't have any
input-output data yet so what I'll do is
simulate data now if I already have data
from my model I can select all of any
one of these to import that data since I
don't I'll simulate the data I'll put in
my commands to get this data that I need
you know this might be a little bit of
trial and error control design is an
iterative process but I know the values
I need to get this going so I'll do a
step of 0.5 amplitude and if you look at
this context menu here you'll see it's
going to measure the input to the PID
controller and it's going to open the
loop at the input at the output of the
PID controller which is the input
command to the peak to the altitude rate
controllers I'm essentially saying give
me an altitude rate of 1 meter per
second at 6 seconds increase that by 0.5
meters per second and record the data
okay so can I just take a step back and
try to explain what you're doing
correctly if I get anything wrong stuff
right so you want to linearize this part
of the model so that you can tune the
controller
yeah I'm attached to it and so in order
to do that you are generating a
a linearized version of the model using
system identification yep and that's
that's what you're doing right now
and yeah that's what you're going to use
in place of the nonlinear model that you
have before and then you're going to be
able to do your tuning that way exactly
okay and so a couple of the big things
that make this model tough to linearize
is the pwm that got fast toggling it's
hard to linearize over that we have an
turbulent discontent discontinuities
there's some things we can do to make
that work
and before this feature came out I would
have done those things to make it work
right but I don't need to do those
anymore because now I can just identify
a plant running simulations okay and so
what this does is it's going to run two
simulations it's going to run one
default simulation without the step and
another simulation with the step so I
have my initial response my offset
response and then the difference between
the two is the data that this will use
and so that looks good to me
having run this before I know it's going
to it's going to work well and I can
just click apply you may need to
experiment again and iterate on your
process here to make sure this works for
your particular system so I close that
there's different structures I can I'll
start over here so we always work left
to right on these context menus there's
a bunch of different things I could do
to pre-process my data fortunately I
don't need to actually do any of these
today but if you have data that's not as
clean as my data is there's all sorts of
ways you can clean it up to make sure
the identification will work well all
right so this would be if you are
getting data from the real world yeah no
that's well even in simulation though
there can be discontinuities that occur
such as a delay and a linear plant model
can't handle delay so you have to remove
that manually right and then I need to
define my plant structure I'm confident
this under damp air will work and I can
see how that's defined here as a
second-order system I also know from
experience that I want to add a zero
because of this the shape of my
identification data and I can click and
drag things to make it fit better but
for this particular data set
it's just going to be easier in my auto
estimate button and run the optimization
routine and you can see it's going to
run through 20 steps of optimization
it's got a pretty good fit 82 percent
fit and that's pretty close but I'll
just go ahead and hit it again and you
can see how fast this works on this
estimation data so it's not too bad for
me to just run it a couple times to make
sure the data is a really good fit and
now I'll just show you I've got 98% fit
on my plant model so this is what my
plant model structure looks like if I
click Edit parameters these are the
parameters that are optimized easy and
this looks really good to me I think 92%
is not too bad so I'll save this plant
and I can get rid of the default plant
that it shows and I can see my initial
response and you may remember when I was
hit that play button it we did a big
overshoot and then took some time to
come down and you can see it's going to
take quite a while to come back down
based on that linear model so actually
the plant that I have in there now
excuse me the controller and I'll show
the parameters over here while I tune
isn't too too bad it's just not as good
as I think it could be so what I'll do
here is I'll start by going on maybe
about 0.5 seconds and make it a little
bit more robust and I can see that the
PID tuner is automatically adjusting my
view as I go through the tuning process
and I can even go faster than this maybe
on my linear plant model so let me try
0.25 so dragging those bars takes away
the need of adjusting the p.i parameters
manually and nicely it's automatically
changing them for you so you could
concentrate on what you really care
about which is the response time in the
transient behavior not the values of the
PDI parameters exactly and it's also got
those classic classical control
requirements in here such as gain and
phase margin so if you have requirements
for gaining phase margin you can make
sure that you hit those requirements
while using the same PID tuner and
observing the step response
so here's something that's pretty fast
it looks like it you know the step
response looks pretty good so I'll click
update block and I'll run my simulation
and I'll open up my data inspector so
once it's done running should be pretty
quick so remember that first five
seconds it's just going to match your
identically because it's just bouncing
off the ground and I could also observe
this in my Simek annex Explorer but I
want to pop those windows up and down
too much right and if I look at my
altitude I can see that's not quite what
I saw on the PID tuner yeah and one of
the reasons for that is the linear model
is only so capable of predicting my
system performance compared to my
nonlinear model and so essentially what
happens is I move that PID tuner way too
fast and now I've got this very
oscillatory behavior where compared to
that is not desirable not desirable
exactly so what I'll do is come back to
my tuner and this is one of my favorite
things about using Simulink to do PID
tuning E and I'll simply slow it down a
little and let's see get a good
overshoot there I'll take the block and
run my simulation again so now it's just
going to take a little a moment to run
the simulation again but this is the
power of that stuff simulation is you
know you're not do not do you know
testing this always on the quadcopter in
order to figure out the right values
you're you know if if you're doing this
and on the real quadcopter you could
start damaging equipment
yep quickly yes you're not obviously
doing here and so now you know I'm very
quickly able to move those sliders
reaching the controller that looks a lot
better run the simulation and know that
my quadcopter is going to behave as I
expect right so now I can see wow this
looks way better than my original right
better than my poorly tuned you know I
did this tuning but it didn't turn out
the way I thought it would now and
everything looks pretty good to me and
so what I can do now is
I'll come back to my tuner I can simply
close this all the parameters have been
applied I don't really need to lose my
commented out block anymore and I'm
ready to deploy this to my target okay
so that's about all we have to show
today