And we'll start out with the modified Rodrigues parameters. What we started up last time was shadow sets. So, Spencer, what is an MRP shadow set? Sorry, different Spencer. I had two Spencers in a row, bad seating guy, that's really our fault, that's not on me this time. Sorry I meant the guy behind you. Right, does it have to be the long rotation? >> No, it just the opposite set from the long. >> It typically, practically ends up being the long. Because we want the other set. It's just the alternate set, is one way to describe it. The name shadow set, when we developed that stuff, it's kind of you know. You've seen the singular behavior, where in we have near zero behavior. One set is extremely well-behaved. It's kind of like having the light shine straight down on an object and the shadow's right there and then you move a little bit and you get a nice little behavior. But then when you go 360, the light comes off to the side. The things goes off to infinity. The other set has completely the opposite behavior, the 360 is the really well-behaved one and the 0 is the one that kind of gets driven off to infinity, right? That's what these shadow sets are. it's just the alternate set of MRPs and that nomenclature you'll find a lot with MRPs. You could apply it with but people won't know what you mean when you say. They just talk about the alternate or something so. Okay so the shadow set. Anybody remember the mathematical mapping? We just reverse sign. But with MRPs, Jordan? >> Reverse sign and divide by the magnitude? >> Magnitude squared. >> Yeah, sorry. >> Sigma squared, right? So, at which point do we typically choose to switch from one set to another Maria? >> A little after 180, or? >> 180, so what is the MRP at 180? What was the trick, the trigger we have on the code that we check for? >> One. >> Equal to one. The norm is equal to one, right? So we draw this surface, that's this norm equal to one surface. But now in this case an MRP, this is not a constraint surface, this is just a surface in three dimensional space that illustrates if your MRP coordinates go through the surface, you're now describing the long rotation. And that's precisely where want to do it. So, if it's equal to one and Jordan said it's minus sigma, over the norm squared, the norm is one it's really just minus a cent. Is that what Daniel yes. >> David. >> David. David so is that what you would put in code. If it's equal to 1 then just do minus sigma? >> No, because you might step over that point. So, you'd have a range. >> Exactly, sometimes people look at these things. And again they think of it almost as a constraint. It's horrible if I go past 180. No, the math is really well defined, in fact there's papers that talk about having going past the 200 or 300 or maybe you have a longer range that you're okay with tumbling. You can do that nothing bad happens. So, in the integration just do your normal stuff, nothing crazy has to go on. It's just after you finish your time loop then check. If the norm is bigger, minus divide by the norm squared, that's it. And then you stay to within mathematical precision. You don't lose anything. Everything's cool, okay? So, in analysis we often have just, hey, this is equal to 1 precisely. In the code there's no need to iterate in your time step and hit that surface perfectly so you can just do a little simple math. Just that through it and do the full math, and it's easy, okay. So, that was that. Let's talk about the differential, let's talk about adding subtracting. Anything special, we know we can do through DCMs. Was there anything special about adding subtracting with MRPs that we should remember? Go ahead. >> Negative is the opposite rotation? >> Right, same thing with CRPs. We had that there as well. So, that's really handy. So, if I have to, if I have one attitude from body to, sorry from inertial to reference, and now I have to subtract the one from the reference to body Instead of adding minus 30, you can also subtract plus 30, right, basically. So, in one 1D rotation, this is really simple and 3D not necessarily but we see our Ps and MRPs, the altitude of B to N is simply minus that description from N to B. So, that means the additional formula we had, we could actually use addition for both addition and subtraction. Just instead of adding plus 30, you just reverse [INAUDIBLE] and give minus [INAUDIBLE] from that exploitation. So, one formula can handle both cases. If we do the direct addition property where we didn't go to DCMs, that we used the MRP math explicitly, were there any issues we had to worry about? Kaylee. >> [INAUDIBLE] full rotation angle is [INAUDIBLE] >> Exactly, because you can add or you can subtract to rotations depending on which formulas you are using where the net result is a 360 rotation, which of course is the same as a 0 rotation. And in the code you can easily avoid that by just checking the determinant. If that thing is reasonably close to zero, all you have to do is switch one of the two to the ultimate set. And now, instead of adding up 180 and 180 giving you 360, you're adding up 180 and -180, which is the same orientation, and that gives you back zero. So there's little tricks you can do and come up with very fast. Non-singular ways to do addition, subtraction. Good. Moving right along. The other thing we have to do is differential kinematic equations. So, we have the sigma dots=1/4. Let me write that one out, instead of waving in the air. Sigma dot=1/4. B of sigma, times omega, all right. And if you want to be explicit, these are all these kind of things. Okay, that's horrible handwriting, even for me. There we go. Anything special about this B matrix? TK. >> Almost [INAUDIBLE] >> Okay. >> Multiplied by a constant. >> Right, so this matrix if you did b times b transpose we get a times something essentially, right? So, it's not quite but that's something. This makes it so much easier. Again, there's different works we've done in the past, where we have to analytically deal with the inverse of these bees and so that the inverse of this is simply the transpose multiplied times the scalar saves you pages and pages of algebra. It's a very convenient form. So good. We did have that. So that's kind of similar to the quaternion. There was that buffered four by four form that was truly orthogonal. This one isn't quite orthogonal, but it's pretty darn close. Which is also still very convenient. So it's a nice feature of these things. Good. Then, let's see, we ended up talking about Symmetric Stereographic Orientation Parameters. What makes them symmetric? Teebo, where does that name come from? There's asymmetric and symmetric sets. So, we review them at the beginning. So, with these the symmetric stereographic orientation parameters, it's a super family of coordinates, it's in fact infinity instances of it, they contain the CRPs and the MRPs.