GeoscienceAustralia / ginan

The Australian Government, through Positioning Australia (part of Geoscience Australia), is funding the design, development and operational service of a Global Navigation Satellite System (GNSS) position correction system - the Ginan service and toolkit. The application of the Ginan correction service by a GNSS device has the potential to increase positioning accuracy from meters to centimetres across Australia. The suite of software systems in this repository (the Ginan toolkit) will be used to create the service. It is available now under an open source licence. Ginan will give individuals and organisations no-cost access to the Ginan software and service as a public good.
https://geoscienceaustralia.github.io/ginan/
Other
221 stars 107 forks source link

>>Question about Yaw calculation formula in nominalYawGps() #66

Closed ZGJ13 closed 6 months ago

ZGJ13 commented 7 months ago

Dear Ginan term First of all, thank you for providing such a marvelous and comprehensive source code! I am recently reading on the part of yaw attitude model. When using sun elevation angle namely beta and orbital angle namely mu to calculate yaw angle, you implemented the formula by adding an extra PI in function nominalYawGps(). However, It does't correspond to the methods in most references, and is also inconsistent with the implementation of common open source codes such as groops/rtklib. Do you have any considerations for doing this operation? If PI is not added to the equation, is the subsequent code also correct? I would appreciate it if you could explain this issue to me. Thank you very much, and I look forward to your reply. yaw

seballgeyer commented 7 months ago

Hello,

After investigating the code in question, the difference in how we calculate the yaw angle in our code compared to other open-source codes like groops/rtklib comes down to how we define the satellite's body reference frame. In our code, we assume that the -Z axis points toward the antenna/Earth, while in other codes, the convention is that the +Z axis points toward the antenna.

This difference affects how we calculate the yaw angle using the sun elevation angle and orbital angle. By adding an extra PI in our calculation, we adjust for this difference in reference frames. If we didn't make this adjustment, it could lead to inconsistencies in the yaw angle calculation and potentially affect the satellite's attitude, which could, in turn, impact the results obtained from the code, as the attitude is used for the PCO, PCV and phase windup.

If you have any further questions or concerns, please don't hesitate to reach out for clarification or additional information.