Smooth AttitudesSequence switching law

Dear Orekit community,
I have managed to adopt AttitudesSequence in order to switch from a random attitude law (FixedRate) to a sun-pointing mode (CelestialBodyPointed).

What I am struggling with now is having a representative solution of the attitude switching: I have adopted the “transitionTime” variable in order to make sure that the angular rate smoothly varies from a constant rate to a null value pointing the sun.

I have noticed that even if I adopt a very large transition time, also adopting the filter AngularDerivativesFilter.USE_RRA that takes into account all of the attitude derivatives for the integration, the manoeuvres are not performed with a smooth variation of the angular rate, but rather two impulsive manoeuvres are performed at the beginning and at the end of the transition phase. In this way, at the beginning of the transition the spacecraft halves its angular rate value with a first manoeuvre, remains with this constant angular rate for the whole transition phase, and finally performs a second manoeuvre ending up pointing towards the Sun with a final angular rate of 0.

What I would like to simulate is an attitude control taking the whole transitionTime to occur, such that the angular rate varies slowly from the initial level to a value of 0, ending up pointing towards the Sun with one of the body axis.

Is there any way to change the control adopted by Orekit, without going too deep into the code, in order to have a smoother “switch” between the two phases?

Dear @agior,

I’m not very familiar with AttitudeSequence but, looking at the code and the tests, the switching phase should be smooth.

Could you provide a sample code or test so we can check if you found a bug ?

Have a nice day,