I would like to confirm the success of my satellite attitude law in my Orekit code.
I have defined CelestialBodyPointed(frame, pointedBodyPVCoordinatesProvider, phasingCel, pointingSat, phasingSat) with frame = eme2000 and pointingSat = PLUS_I.
After I have defined the attitude as above, I am taking the SpacecraftState at a certain time and using SpacecraftState.getAttitude.getRotation.applyTo(pointingSat) in order to find out which direction the satellite’s “pointingSat” vector is pointed, in the inertial frame.
I think that the resulting vector should point from the satellite to the celestial body, but that does not seem to be the case. Am I misunderstanding the attitude law or some other piece of this process?
I think you should use
applyInverseTo rather than
applyTo, as the attitude is defined from inertial frame to spacecraft frame an,d here you want to transform a direction from spacecraft into inertial.
This feedback solved my issue - Thank you!