It is possible to define the attitude to the spacecraft via the propagator method we use. However, I am wondering if it is possible with Orekit to assign a seperate attitude for the sensor we have on the satellite or not.
Okay so let me put it like this. If I set up a simple FootprintOverlapDetector and say, I want to to have some angle where my FoV looks, I could simply change the attitude of the spacecraft which I have attached this sensor (so by changing attitude of s/c sensor’s attitude will also change in a sense).
I am trying to set up GroundFieldOfViewDetector for the detection of entrance-exit events of a s/c to the ground FoV. However, simpy using this method makes my ground FoV direct straight up towards “zenith”, whereas I would like to control its direction. How can I achieve that do you think?
Not sure I understand, FoV here is attached to ground point.
If it looks towards Zenith it’s probably because you designed the FieldOfView in the constructor GroundFieldOfViewDetector to point to Vector3D.PLUS_K and used a TopocentricFrame.
If you want to look in a specific direction from the ground, you have to design a FoV vector with respect to the TopocentricFrame (X = East, Y = North, Z = Zenith)
I suggest you read this post for more information.
If you want your Fov to move with time, you have to design a similar detector using for example a TimeSpanMap instead of a basic fixed FoV.
If you want a moving ground FoV, you could also keep the FoV pointing towards Z direction (Vector3D.PLUS_K) and use the Frame attribute of GroundFieldOfViewDetector to implement the motion.
Frames are by design meant to move with time, by using a TransformProvider that will give you, at a given date, the Transform between the frame and its parent (a TopocentricFrame in the ground FoV case).