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!