-
Notifications
You must be signed in to change notification settings - Fork 3
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
Verify Bno055 axis map functionality in NDOF mode #396
Comments
Results:
|
So, correct me if I am wrong, but I understand then, in NDOF the quaternion Z points towards the sky and X towards North, and the remap basically means "what is my default rotation state, with 0 rotation in any axis", is this right or am I understanding this wrong? If so, since in the commutator we are still extracting the rotation around the quaternion Z-axis (i.e.: gravity) and not the device's, and further, we are extracting relative rotation (how much has turned since starting to measure) then the 0 position is not that important for the commutator (except for mathematical stuff like gimbal lock) BUT it is for other measures that might be experimentally relevant (such as gravity vector). In headstage64, indeed, we set the axis_map_config to 00100100 (0x24) which is the default, Z->Z, Y->Y X->X |
Note to self: reperform this test, but do independent yaw, pitch, roll, motions for all three situations and compare. |
Here are the results as requested this morning: This verifies that we must always remap axes with the tether mounting direction being aligned with Z. These measurements were taken from a calibrated BN055. One thing I did notices is that when fully calibrated its the Y axis that aligns with due North, not X. All these measurements were taken with the Default position defined as Y pointing towards due north and Z towards the sky. |
I find it interesting that the values of Yaw and Roll on default and remapped without changing the position are also the same, and only pitch changes (since this remap implies a pitch change), which coincides with the "remap" we are making (we are "turning" it up on pitch). YPR (and quaternion, by extension) do use an absolute system and the remap specifies the 0 position.
|
|
Last point is specially important because a flat headstage with the bno on the bottom is something easy to imagine. |
There is some ambiguity as to what, exactly, the AXIS_MAP and AXIS_SIGN registers do in the context of NDOF mode for the BNO055. The datasheet claims NDOF is absolute relative to the Earth's B field and Gravity vector. So what does remapping axes do in this situation? Is there any way to make this measurement relative to a tether orientation? We need to make some measurements in different axis maps to see how data changes.
At the end of the day, what we are trying to figure out is where we need to put a selector for determining the "tether axis" for commutation. If we are "stuck" with everything being relative the B field G-vector, in some sense, this is good because its very consistent across headstages (assuming that calibration is good). However, it provides no information about how untwisting should be done.
The text was updated successfully, but these errors were encountered: