Good, now how do we prove this? We don't solve nonlinear equations. So we use the Lyapunov functions, Lyapunov's direct method. So Bender, tell me, in brief words, what is Lyapunov's direct method? What are we doing? You have to find a functional, and then that function needs to be positive definite, have continuous partial derivatives, and then also, the derivatives and... Negative definite? For what? What, for what type of stability are you arguing? The semi definite. What type of stability do you have in this case? This means it could be zero. The rates could go to zero away from zero. Origin, right? So now, you've got this flat spot that you can get stuck in actually. We talked about this. The pendulum has some of those. You'd say that in the homework. You could do this, and that's a thing where Vdot could go to zero and you stay there. Right? So this only gives you Lyapunov stability. If you want convergence, asymptotic stability, everything else is the same, except for this argument has to be stronger to be negative definite within some neighborhood. Right? Now, what goes into these functions? Matt? What variables do you throw in here? State variables and time. You could have time. In this class, we're typically dealing with time-independent systems so they're not explicitly time dependent. But you're absolutely correct, time could be in there. State variables, too. But let me ask you then this, which state variables? So, let me show you something. This is a system. Alright. And you have omega dot or I omega dot. Plus some control u. All this stuff. That's a classic rigid body. Which states do you have to put into here? Ansel, what do you think? Why? I'm not sure. Caley, what do you think? Omega dot. So omega dot? That's my angular acceleration. Sorry. It should be sigma dot. So you want sigma dot in here? I'm not sure. Right. But this is the key. That doesn't let me erase it. What is going on? There we go. Feels like Monday. There we go. Just took a little smacking. Okay. Anybody? What states go in there? John? Your attitude coordinates and your omegas. Okay. Do you agree, Spencer? Sounds reasonable. Another trick question. There's no real answer to that question because I'm not giving you the prompt statement. Every time you have a control problem, you should ask what is the control goal. What are we trying to achieve? Right? And that is the key especially in the current homework. There will be some we do with spring-mass-damper system or cubic spring in your homeworks, and you do the same math as what we've been doing and apply it to this kind of similar function. That's great. But there's one of them where the equations of motion is just XDOT equal to u. And, in fact, our rate equations are just Omega dot equal to whatever the Omega equations are. Right? That's a first order dynamical system. So it depends on your control gain. And what we've been discussing last time was just rate-based control. We're looking at prototypical Lyapunov functions that are good measures, that are positive definite, all the stuff Bender needed here, right, to get this going. And we take derivatives and now we have to guarantee this is gonna be negative semidefinite least or hopefully negative definite then we've proven convergence, which is even stronger. All right? But there, the goal is just to drive Omegas to zero. You may have, and in that mechanical system we had, the kinetic energy which is typically what we use as a good prototypical rate-based function, you don't have to use it. You can be creative and use other ones, but energy tends to be a pretty good one. So for a general mechanical system, we have the state space or we call these q's, I believe. So now I can erase it. q M which depends on q times qdot again, and a transpose, right? That's what you end up with. q's are in there, but we don't care about the cues. When you differentiate, they're there, and you have to take derivatives of those q's and it impacts the math. Fine. But from a control perspective, in that one, we said V is equal to this and V was just a function of q dots in the math that we just wrapped up with last time. All right. Because there, we only care about V states going to zero. I don't care where I stand once I settle it. I'm just trying to bring it to rest. If you're trying to do a complete six off motion control, the spacecraft has to point in this direction and be at rest. Now you have to track what you guys were saying earlier, you would have to have attitude and rates. Just because my attitude is zero doesn't, for a second order mechanical system, doesn't guarantee you're gonna stay there. You might just be moving to zero. At this instant, you're zero but your rates are nonzero that means next time step you're gonna be overshooting and so forth, right? So for convergence, you have to make sure your attitudes and your rates go to zero. And we will see that today. Okay. But it's that simple little step. What do you care about? So at the beginning, I really recommend, be anal about this and every time you have a V right out, this is a V of Sigma and this, 'cause some Vs will have Sigma and Omegas in it but you only care about Omegas. And that's the only part, is something negative definite or not is really only a statement about the Omegas. For nonzero omegas, what is this statement or not? That makes sense? So, we can apply this today and go to some examples. So good. That was a nice review. Okay. So Lyapunov functions - We use a control goal. For right now, it's the same. We wrapped up for a general mechanical systems last time so if you haven't seen these equations, nevermind. It's just this is the structure and we go through... Yes, sir, got a question? Why don't we include also the control input, the control function in the Lyapunov function? Because if not, we are trying to prove that maybe the natural system is... Right. You're still looking at the response of, let's say you have a spring-mass-damper system, cubic, quartic springs, crazy stuff happening in there. You still care about the stability of your states, X and Xdot. The control impacts that, so the control then we have to substitute in. When I differentiate, if I have a second order mechanical system and I care about these things, I have to have an Xdot in my Lyapunov function such that when I differentiate there's an Xdoubledot and you've seen here too, at some point, we always plug in the equations of motion which is, I've taken from here and I plugged it in here, and that's where the control appears. So, in this step, I can come up with, well, that's what the control, this is how the control impact my Lyapunov functions and now I can design controls. Well, what we also do sometimes is we have a control and we plug it in explicitly, upfront, and then put these Lyapunov rates in there and we can see what the math says. Is it gonna be stable or not? Can we argue it is stable or not? Remember, we also have this if and if and only if. If a statement says if, Thomas, what does that mean? A is true if B is true. How is that different from if and only if? That means that B doesn't imply A. Right. So one implies the other, but the other doesn't imply the first. If it says if and only if, then it's like, hey, A cannot be unless B is true and B cannot be true unless A is true. Right? Then it goes both ways, that arrow. Good. So this is what we did last time, and we derived this and there's different controls. This was one of them. We will see other ones in this class that we deal with. And because this is a first order, we only care about... See here, there are q's. Your states appear in these general mechanical systems, but I don't care about the states. I don't care what the final configuration is of this multilink system we looked at. I only care that the rates are zero. So you only have to argue that this Vdot is negative definite in terms of the rates. That's why writing it like this is really convenient, and that one is clearly the case. And for tracking, it's basically we use the same kinetic energy-like function. But instead of using really velocities, we use these velocity errors. It's just a nice mathematical structure that gives you something as positive definite in terms of these tracking errors. Here we care about, you know, I should be having these rates. This is the rate I do have, and this is my tracking error rate. So I replaced q's with Delta q dot and do the same math. Tracking typically always gives you more complex stuff. You have feedforward compensation, where the reference motion impacts our stability arguments, you know. How much knowledge do you put into this control?