ImuFactor with earth rotation #1872
Replies: 7 comments 2 replies
-
For now a workaround is to call |
Beta Was this translation helpful? Give feedback.
-
You’re probably right that it should be included in the pre-integration math, although I’m not convinced it should be added to the existing factor. Perhaps a derived class for a high quality IMUs is the best approach. Unless the fix is very easy. Do you have a good reference on the math involved? |
Beta Was this translation helpful? Give feedback.
-
One way to proceed is to prototype this in a derived class that overwrites particular functions and has associated unit test for the derivatives, etc. Then we can see how much new code is involved, and whether It’s worth integrating in the base class or keep it as a derived class. Happy to review a PR to this effect. |
Beta Was this translation helpful? Give feedback.
-
I'm also interested in this. For what it's worth, there is a paper and forked version of GTSAM both linked here that has an IMU factor that is supposed to compensate for rotating earth, but also uses an extended pose so the changes are more extensive. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the link. Note GTSAM uses NavState already, which is just the manifold associated with the |
Beta Was this translation helpful? Give feedback.
-
May I add a comment? @stkrauss , I had a look at Brossard's implementation and created a pull-request: #1916 (This branch is not yet tested because I worked originally on release 4.2. branch.) @dellaert, yes, |
Beta Was this translation helpful? Give feedback.
-
@chrisflesher , seems that #1916 already adds earth rotation, although in a review just now I suggested it should be in a separate PR, along with the correct Coriolis. If y’all are game I suggest:
of course, this is a bunch of work, Stefan :-) I think @varunagrawal and I are happy to help but can’t run point at this time. |
Beta Was this translation helpful? Give feedback.
-
I'm interested in estimating gyro biases for a high performance IMU but can't figure out how to account for earth rotation rate properly in GTSAM.
For example I am seeing 7.5deg/hr heading drift at 30deg latitude.
It seems like the IMU pre-integration code assumes IMU measurements are in the
body
frame instead of theintertial
frame like they are normally given. Any ideas / workarounds would be appreciated!Beta Was this translation helpful? Give feedback.
All reactions