-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Star Tracker's Quaternion seems to be off #351
Comments
@marksuder can you check this one out? |
…) rotation. This causes the DI quaternion and the truth quaternion to track each other (when the star tracker is valid).
…ntity (no) rotation. This causes the DI quaternion and the truth quaternion to track each other (when the star tracker is valid).
Change Inp_DI.txt and SC_NOS3.txt to both use the identity (no) rotation. This causes the DI quaternion and the truth quaternion to track each other (when the star tracker is valid). This issue is being closed and a new issue is being opened to get Inp_DI.txt and SC_NOS3.txt to have inverse, non-identity rotations for the star tracker. |
The new issue to track fixing the inverse rotations is: #431. |
[nasa/nos3#351] Fix initialization of _not_parsed flag. Debug tweaks.
nasa/nos3#351 - Fix initialization and usag…
nasa/nos3#351 - Fix initialization and use …
nasa/nos3#351 - Fix quaternion initializati…
nasa/nos3#351 - Change Inp_DI.txt and SC_NO…
Hi everyone,
I am developing an attitude mode to align a vector in ECI (N) frame with the b2 axis, similar to what the Sunsafe mode does.
To move from the inertial frame to the body frame I need to retrieve the inertial quaternion of the body, which should be provided by the Star Tracker in the
generic_adcs/fsw/src/generic_adcs_ingest.c
script as:In particular, the QxQ method should move from the Sensor frame to the Body frame, by using the quaternion specified in
generic_adcs/fsw/cfg/Inp_DI.txt
as :As far as I understand, then the resulting quaternion stored in the DI_St_Tlm_Payload data structure should be the body quaternion that I am looking for. However, when I confront this quaternion with the one directly retrieved from 42 in the 42Truth Sim, they are totally different.
This leads to a wrong conversion between my ECI and body frame, while the conversion becomes correct when, instead of retrieving the ST quaternion, I retrieve directly the body quaternion from 42.
Is there something that I am missing, or is perhaps the quaternion specified in Inp_DI the wrong one?
Also, to get the body quaternion from 42, I had to modify the 42 code itself to return the ST quaternion as S->B[O].qn instead of the one computed by the method in the (42sensors.c script).
For some reason, modifying the data_provider.cpp code of the ST in this way:
leads to the collapse of the ST sim.
Thanks in advance for the support, I really appreciate it!
The text was updated successfully, but these errors were encountered: