-
Notifications
You must be signed in to change notification settings - Fork 209
Support hamilton quaternion #29
Comments
I think switching to hamilton will ensure correctness of future algorithms. You don't want people to come into the project and start doubting their knowledge because the results they get from implementing their equations is not what they would expect just because something as basic as a product operator has been defined differently. Some other widely used libraries that use hamilton:
I checked eigen source code and this is their multiplication:
Aligning the terms gives:
Which is the same as on wikipedia page (https://en.wikipedia.org/wiki/Quaternion#Hamilton_product) |
Those are some good arguments and I particularly care about compatibility to Eigen. So it sounds like what we need to do is to do a sweep through ECL and replace all incorrect occurrences. That should actually not be too hard, since most of the estimator code is generated and hand-crafted quaternion operations will be just a few. |
I agree. I just wasn't familiar enough with ecl to do it myself. I am glad there is interest in doing that. I really like the product order matching the dcm product order. |
+1 for hamilton |
+1 for some standard that is consistent with other applications, JPL would also be a possibility but matching Eigens convention is probably the right choice here. |
I'm on my way of checking the criteria for the Hamilton convention to be fully compliant.
|
Benefits:
Drawback:
@LorenzMeier @Tumbili @bkueng @priseborough @mkschreder
The text was updated successfully, but these errors were encountered: