Good. So this is a torque loop. Reaction wheels also, sometimes you can find manufacturers that see will say, you could have a speed loop. And what's the difference there? And I put this up, this is a slide I added. If I go back to the original equations, and I'm just doing a summation over. But originally we didn't have US in there. We had just Big Omega dot. And all the gyroscopes have been dropped already. This is just the reaction-only version of this. This would look like this. And if we use these equations, now here, this is the total I, not the IRW, that we had earlier. This is the equation we have. We can do the same Lyapunov function, set its derivative, and enforce that. And you come up with the same closed-loop dynamics stability requirement. Find now a control that will implement this, and you've guaranteed all their stability. And when you do this instead of gs times u, we solve for wheel accelerations. And the rest of it looks very similar. This part simplifies slightly, while it's just instead of the hs, I just put it in there. That shouldn't have been a bold I, that's just a regular IWS. But you can write this out. This is how we would do with speed loop then. Because now what you're solving for is, basically you do the same minimum norm inverse likely that'll give you the least acceleration on omega dot. You divide by the inertia of the wheels. This is what makes it all work, but you can solve for big omega dot. And why is that a speed loop? What you're solving for is saying look, I need to accelerate this wheel at 10 degrees per second squared. So the change in velocity of my wheel over one second should be 10 degrees per second. And out of that, you tell the wheel speed loop, look, use your server internal to the wheel, and whatever your current speed is, drive it to 10 degrees per second faster. And then that'll implement it. And some people think this is easier. I don't like him as much because well, there's challenges with that. Let's see. We'll do the speed loop by hand next time actually. But the issue that we have is, with this control that we had here torque, I can get away with a much slower update period because I'm holding the torque piecewise constant. This time step I need one Newton-meter , and it'll produce it. And then until you update the control, it's just applying one Newton-meter. So what happens then is if you're doing that, and you're looking at your wheel speeds, here's your current. I have one Newton meter. And if you think of just very, very simple, j omega dot is equal to US. So without any other cross-coupling, that's kind of that, if I have one Newton meter, this is just going to increase linearly. Then I have a new, and now I adjust my control and say, okay, now go to this slope, now go to this slope, and now go to this slope. Still, you got piecewise constant slopes in omega versus if you do with speed loop. Here, I'm saying, look, I need to have this speed. What the speed loop will do, it's going to serve alongside that speed loop, and it will try to get you there. And then you want to get to this level, and it's going to get you there. And then you want to go to this level, and it's going to get you there, and then to this level, and it'll get you there. So you do piecewise constant wheel speeds. Now how do you make this? The purple one, the speed loop look more smooth and continuous is you decrease your update periods. Instead of updating at this period, if I would update like this, smaller, it's going to start to approximate more of a continuous system. And then you can fiddle with the gains. Maybe don't care if you completely converge it to speed to try to smooth it out. So there's a lot of balancing that you can play with, but you need a pretty fast update loop versus the torque loop gives you a lot of that for free. And so if we have to change these wheel speeds, you notice we're not changing in 50 hertz, we're really changing them slowly [inaudible]. So a piecewise constant rate gives you a pretty good approximation. I don't need to subdivide into 10 smaller parts to get that, I can just keep a constant torque, and then update maybe every tenth step that a speed loop will do. So we can fly in with one-hertz loops or two-hertz loops. And there's oldest speed loops often have 10 hertz, or higher that they're running there to get this behavior. And in the end, the math you're seen is not that much different. I really don't think it buys you that much, but the torque loop to me is nicer because I don't have to update as fast. I don't have to make that a constant omega dot assumption. Yes, Sir.