Sinusoidal Yawing Attitude

Hello dear Orekit community,

I have been looking into setting up a propagator with an attitude profile where the spacecraft would have a yawing sinusoidal (or pseudo sinusoidal) behaviour between [-90, 90] deg.
Looking at the different AttitudeProvider, it does not appear that such a class would implement that (unless I miss one).

As a first test, I have leveraged the AttitudeSequence to switch attitude at every given time to target a new LoffOffset which almost do the job.
Here after the offset in roll/pitch/yaw compared to a constant law (in this case VVLH):

The small issue in this case is that I’m only managing to get a pseudo-sinusoidal behaviour using AngularDerivativesFilter.USE_RRA.
I tried to remove the number the pseudo-sinusoidal part by reducing the number of steps but thats when I get weird behaviour which I believe is explained by the interpolation scheme:

I guess it might be because this method does not allow me to set the slew-rate as that part is completely handle by the interpolation scheme.

I was hence wondering what I could do to take that into account so that the LOF rotates in the right direction.

I suppose that a solution could be to:

  • either, implement a sinusoidal law by implementing a new AttitudeProvider? Working in python right now I am not sure how feasible it is to implement a new class and use it in the propagator.
  • or keep somehow the AttitudeSequence to do this which I like because of the flexibility (to do other stuff than a sinusoidal law). Do you think that playing with different AngularDerivativesFilter depending on the step would work to mimick a perfect sine?

Thank you very much in advance for your guidance and work!

I am not sure AttitudeSequence is well suited for this.
You could try either TabulatedProvider or TabulatedLofOffset which allow you to specify any
list of angular coordinates you want. The first class expects the angular coordinates to be
defined with respect to an inertial attitude whereas the second one expects the angular coordinates
to be defined with respect to a Local Orbital Frame. I think the second one would suit your
needs.

1 Like

Hi Luc,

Thanks for your reply. Looking at the detailed definition, that definitely looks interesting. I will give it a try.

Thanks again :).