0:05

We've seen now how to do prototypical rate Lyapunov functions,

Â typically energy like things.

Â We have states which is sometimes the spring mass,

Â the spring energy like things or these natural log functions

Â or other kind of- I've shown you convenient ones for CRPs,

Â MRPs, all the parameters and euler angles.

Â We're not going use euler angles as much.

Â Now we're going to put this all together.

Â This becomes kind of a lego block.

Â We've done some of the math already.

Â You will do more of it then by hand.

Â I want to really focus on the concept again.

Â This is where- It's not- You're not going to learn if I just do all the math.

Â I'm going to show you substeps.

Â So, right now unconstrained control, that's a key assumption,

Â that we are not including saturation of our,

Â you know, we have infinite thrust.

Â And we get whatever thrust or torque we are asking for.

Â It's not just bang, bang like some thrusters are only on-off.

Â We're assuming this is magic thrusters that's,

Â you know, tunable, variable, gets you everything.

Â But that's where we start with the control theory.

Â A lot of it is based on this.

Â So now our dynamical system,

Â this is a rigid body.

Â We have our control vector, it's you,

Â and I'm actually also including L which could be some other disturbance.

Â This could be your gravity gradient torque,

Â this could be a disturbance torque you know about,

Â this could be the solar radiation pressure, atmospheric drag torque.

Â If you know about it,

Â you might as well throw it in your control,

Â it'll make it easier to converge, right?

Â So we're assuming we know all the environmental torques acting on the system here,

Â and then we'll relax that assumption and show you what happens if we

Â have unmodeled torques and how is impacted.

Â That'll be next lecture this afternoon, yay.

Â OK, so external stuff, this is our control vector.

Â So in the end our goal, right,

Â now we're not just driving Del Omega to zero or Sigmas to zero,

Â I want both to go to zero.

Â I need my attitude to lock in and point directly at Maurice and be steady.

Â And no matter what happens with my translation this becomes a time varying reference,

Â right, that I want to track a landmark on an object.

Â So, we're going to solve the reference tracking problem first,

Â which is always a little bit more complicated.

Â The regulation one is the same math,

Â it's just a lot of other terms drop out.

Â You don't have omega Rs or omega R dots and so forth, ok?

Â But this is what we've seen,

Â we've discussed that already,

Â Delta Omega is omega B relative to R,

Â omega is B relative to N,

Â Omega R is R relative to N. Sigma,

Â in this case, is Sigma B relative to R. So in the book I am keeping the same notation.

Â I don't make it explicit otherwise those equations just become incredibly verbose.

Â That's a little bit engineering common sense comes in.

Â This is a tracking problem I understand,

Â this is B relative to R, right?

Â In your simulation if you implement this you're actually integrating B relative to N,

Â and you keeping track of R relative to N,

Â kind of like your project you're doing right now too.

Â And then somewhere in that math you are going to compute what is B relative to R with

Â DCMs or MRP addition subtraction formulas or whatever you want to use, right?

Â So that's what we've assumed we've already done.

Â We have B relative to R. And we want to bring both of these to zero,

Â that means I'm really aggressive and I want to asymptotically stabilizing one,

Â and in fact I'd like it to be globally asymptotically stabilizing, why not?

Â So, let's go through that.

Â You've seen the kinetics equation,

Â this is a kinematics equation.

Â So again, the sigma is B relative to R Delta Omega is

Â omega B relative to R. This is just written out in the classic control formulation.

Â Already Lyapunov function this becomes cookie cutter.

Â We're going to use our kinetic energy like turn which was, you know,

Â inertia over to Omega squared,

Â but instead of omega we're throwing in Delta Omega for a tracking problem.

Â And for the attitude we've chosen this beautiful positive definite function.

Â If the attitude errors are zero,

Â natural log of one is zero so that's good.

Â And if attitude errors are non-zero,

Â it's a number bigger than one,

Â which with the natural log is always a positive number.

Â And it actually also,

Â is this a readerly unbounded function, Kelly?

Â You were asking earlier.

Â If Delta Omega go to zero- go to infinity, does this function go to infinity?

Â Delta Omega goes infinity?

Â Yes. Right, for radially unboundedness we're talking. Trevor.

Â What you think?

Â Matt?

Â Look it does to me.

Â Yeah. It's basically, you know, this is

Â just a constant inertia tensor of rigid body times Delta Omega squared essentially.

Â If Delta Omega goes to zero,

Â this term is going to blow up very, very aggressively.

Â So, if it goes to infinity,

Â it's going to blow very aggressively to infinity.

Â Now, let's look at this one,

Â is this one radially unbounded?

Â What do you mean?

Â If you're switching then it's not because-.

Â Ok. Let's not switching. Let's do first

Â without switching but we'll talk about switching afterwards.

Â If Sigma goes to infinity what happens to the natural log?

Â Goes to infinity as well.

Â So, without switching this is a radially unbounded function.

Â And even if we do switch at least this

Â monotonically increasing onto that point which will take advantage of.

Â So the switching is a separate discussion.

Â I will get to right now.

Â Let's just show off that quickly.

Â I just said, l'm just looking at general Omegas.

Â So both of them - this is true for any initial condition -

Â is always positive definite and it's radially unbounded, right?

Â So we're on the right track to have a globally stabilizing control.

Â Wow, what did I do?

Â Now, we take derivatives again as before.

Â We actually- this needs a time derivative of a scalar,

Â so we get to choose as long as we are consistent,

Â this is in terms of tensors and vectors,

Â this sigma is not a vector.

Â There's no body frame derivative of MRPs.

Â MRPs are just three coordinates.

Â This is a matrix in this notation.

Â So keep track of that. We use the same transposes and sometime, you know.

Â But attitude are not vectors.

Â So in this case it's just pure matrix math and we know Sigma dot was

Â equal to all of this stuff in terms of matrix math.

Â In fact, this vector had to be expressed in the B frame for all this to work out.

Â This side though we get to choose and, of course,

Â we pick B frame as before because it's rigid and this derivative goes to zero.

Â But you're still left with this which we've already done in the rate tracking function.

Â Now I'm going to set all these derivatives equal to this function here.

Â Minus P transpose, minus Delta Omega transpose P Delta Omega,

Â and P again is symmetric positive definite.

Â So, what we had before?

Â If I do that what you find with me doing the complete sixth off,

Â this is Omega squares, this is attitude squares.

Â If I differentiate you could have added two times acceleration,

Â and for this one which is attitude's square,

Â you're going to have attitude times rates.

Â Both of them are going to have rates always,

Â and you can factor out the rates.

Â That's what I've done here.

Â So this gives me the derivative from the rate part,

Â this is the derivative that we have on the MRP.

Â You're proving that the derivative of this in your homework is equal to this.

Â But you get that linear term,

Â but I can factor out Delta Omega.

Â This is how we can now if we set the V dot equal to this.

Â Because we can factor out Delta Omega,

Â the right hand side can only be a function of the Delta Omega,

Â otherwise this trick doesn't work.

Â You can now plug in the equations of motion

Â and set this bracketed term equal to minus P Delta Omega,

Â kind of what we did with the general mechanical systems.

Â It's the same trick that we're applying.

Â And from here this has to be equal to this which I can bring over.

Â This gives me my closed loop dynamics.

Â I need to find the control now that achieves this,

Â and if I can do that,

Â I have proven a certain level of stability.

Â What type of stability are you going to have if V dotis equal to this?

Â What we will have proven?

Â Mendar.

Â Brian.

Â Stability.

Â OK, why? What is a definiteness of V dot?

Â Is it negative definite or negative semi definite?

Â Negative definite or

Â Negative semi definite?

Â Why?

Â Cause if Delta Omega is zero, is equal to zero.

Â Well, that's always needed for definiteness.

Â Sigma is also [inaudible].

Â Yes, this is what we had with the spring mass damper system.

Â Remember? As soon as we put that dumping in there,

Â we still got a V dot that was just minus C times X dot squared.

Â So V dot is going to be zero,

Â if extortive is X dot squared.

Â This V dot it's going to be zero,

Â if Delta Omega is squared but we care about Delta Omega and Sigma.

Â That's where I really- I don't write it here on purpose because I want you guys to think.

Â But if you are writing out, I would really recommend keep writing the dependency,

Â that way you don't lose track from one problem to another.

Â What are the goals.

Â So we know Delta Omega is going to have to go to zero for V dot to be zero,

Â but we don't know what the attitude will be as it come to rest pointing 10 degrees off,

Â or does it come to rest pointing precisely where it needs to be.

Â So this is actually, as Brian saying correctly, it's Lyapunov stable.

Â I have not proven

Â asymptotic stability but that doesn't mean it's not asymptotically stable,

Â that's a phenomenal stuff.

Â I've just come up to this level of stability argument.

Â We have to do additional stuff.

Â The higher order derivatives which will get to.

Â So with this- if we can find a control that

Â satisfies this stuff which leads to disclose the dynamics,

Â we've guaranteed at this point actually globally stable system but not convergence yet.

Â So, how do we get this control?

Â Here before we already- we've seen what this is,

Â I'm just reviewing it here.

Â You plug all this stuff in and then here you have your I Omega dot,

Â that's where you plug in your actual dynamical system,

Â the rigid body differential equations.

Â And you do that and then you solve for the Y that makes all of this balanced.

Â And that's what we have here.

Â And you can see this control, thanks to this Lyapunov function,

Â that's a natural log with this linear term that we ended up with here.

Â The control is basically a linear with a scalar gain,

Â I can't get a matrix gain here with this proof.

Â But I've got a proportional feedback,

Â I've got a rate feedback, right?

Â Here I can have a fully populated P-matrix because that's how I wrote that one.

Â And then these other parts are your feed forward

Â feedback compensations that you have to guarantee complete stability.

Â It still has the quadratic rate part,

Â so if you wish you could replace Omega Tildy with

Â Omega R Tildy as I showed you earlier with the rate based control.

Â And that gives you also globally stabilizing but a slightly different performance, right?

Â So, they're all good but that's it and again,

Â implied in here is I just have vectors,

Â and then I have a matrix but I am assuming

Â all these things are going to be computed in the right body frame.

Â So Omega R, if that's given to you in the reference frame,

Â you have to map it.

Â If it's given to you in the inertial frame,

Â you have to map it to the body frame,

Â make sure all these things are mapped to the right frame first. Yes, sir.

Â Talk about how you would go about populating metrics like P.

Â You want to have like some sort of properties

Â but there's like just tones of degrees of [inaudible].

Â Yeah, I'm smiling cause that's a whole other class by itself to do as well.

Â For now, we're just going to say the P equal to as a single scalar,

Â and times identity that goes there,

Â will have a class period on feedback gain selection where I show you

Â what we can- and what's good here is this control, just jumping ahead.

Â This control linearizes extremely well,

Â and as son as we linearize a closed loop response.

Â We can now use classic linear control theory

Â and do root locus placements or Nyquist a bit,

Â you know, you can get all that stuff.

Â Now, why do we even have to linearize it?

Â Take a look at this equation.

Â That's part of our closed loop dynamics.

Â This doesn't look nonlinear.

Â Where does the nonlinearity appear in our closed loop dynamics?

Â So, all these little subtleties.

Â Jordan, what do you think?

Â Would you agree nothing here is non-linear in terms of the Delta Omega and sigma?

Â Delta Omega and Sigma is all appeared linear.

Â It looks like it.

Â OK. So, what else?

Â This is only... How many differential equations do we need for this?

Â The state vector is actually six dimensional, right?

Â This gives you differential equations for three,

Â this is a three dimensional vector set or matrix math.

Â What are the other differential equations we have to solve?

Â The kinematics, right?

Â So with this control,

Â with this Omega Tildy not omega R Tildy,

Â I end up with this which is the kinetic side of it,

Â the closed loop is perfectly linear but my kinematics is non-linear.

Â But we've argued with MRPs.

Â Man, these MRP kinematics linearize extremely well like up to 120 degrees,

Â it's just barely smidgen off.

Â And up to 180, yeah, it gets off but it's not crazy off, you know?

Â So from a feedback perspective this is really

Â attractive because now you can pick games where with

Â linearized theory I can really predict what the performance is going to

Â be and the actual thing is off by a fraction of a percent.

Â So, we'll get to that more when we get to gains. Yes.

Â Wouldn't like implement our linearized version

Â you would linearize to try to tune in again?

Â Yes.

Â Then you use those like a starting point when you

Â want to tuning in in the non-linear setting?

Â Exactly. And those gains are really good for errors that are,

Â you know, 60 degrees, 90 degrees, all kinds of rates.

Â I don't do any post tuning,

Â I just pick them because I know from closed loop performance I want

Â this kind of stiffness for disturbance rejection.

Â Now I use all the classical theory.

Â So that's the beauty of this control with MRP.

Â I did it with constraints,

Â everything is there and I have global stability argued right now.

Â OK. Because V dot is only negative semidefinite.

Â There is no Sigmas that appear here.

Â If you added Sigmas here,

Â you can't do this math to solve for a control.

Â