[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orekit Users] Reference frame of a S/Cs attitude
Dear list members,
I'm in the course of developing a simple application using Orekit to
calculate the time series of the following paramters for a satellite link
to an earth ground station:
1. slant range
2. elevation (as seen from G/S)
3. S/C-G/S-Sun angle
4. two offset angles between an antenna on the S/C and the line of sight
to the G/S.
Currently I am able to produce parameters 1 and 2 using the following
code:
SpacecraftState currentState = propagator.propagate(now);
PVCoordinates topoScPv = currentState.getPVCoordinates(gsTopoFrame); //
gsTopoFrame is the topocentric frame of the G/S on earth
double slantRange = gsTopoFrame.getRange(topoScPv.getPosition(),
gsTopoFrame, now);
double elevation = gsTopoFrame.getElevation(topoScPv.getPosition(),
gsTopoFrame, now);
Is this the correct approach?
Could anyone please give me a hint at how to get the S/C->G/S unit-vector
in the frame of reference of the S/C with it's attitude applied (parameter
4)? I would like to use this vector to extract two angles relative to an
antenna in order to evaluate the antenna gain in direction of the G/S. My
basic problem is that I don't really know how I can get the S/C-bound
Frame that is oriented according to the attitude of the S/C. The only
S/C-bound frames I can produce are TNW, VNC, QSW/VLVH and VVLH which are
all not related to attitudes.
In order to get the S/C-G/S-Sun angle (parameter 3), I guess it would be
enough to get the unit vectors a = G/S->S/C and b = G/S->Sun in a common
reference frame (e.g. the G/Ss topocentric frame) and then set the angle
to be equal acos(a.normalize().dotProduct(b.normalize())). Is that
correct?
Many thanks for your time and effort for producing this very handy
library!
Best regards,
Raffael Mancini
PS: Have you ever considered introducing a type that would somehow couple
vectors with frames? This could make it possible either at compile or
runtime to check if the vectors are in the same frame.
This message and any attachments are intended for the use of the addressee or addressees only.
The unauthorised disclosure, use, dissemination or copying (either in whole or in part) of its
content is not permitted.
If you received this message in error, please notify the sender and delete it from your system.
Emails can be altered and their integrity cannot be guaranteed by the sender.
Please consider the environment before printing this email.