-
Notifications
You must be signed in to change notification settings - Fork 807
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
Should this body velocity also consider angular velocity when doing linear velocity coordinate transformation? #786
Comments
You have a fair point. The transformation from nav to body frame should be an Adjoint transform (using Can you please make a PR with a corresponding unit test? |
So I spent more time looking into this. |
I don't even know what bodyVelocity means, as I very poorly documented it back in the day. I guess the assumption is NavState is the body state in a world frame, and this calculates velocity in body frame, but that should be better explained. And, indeed, angular velocity might have to be taken into account. Would be good to reconstruct why this method exists and where it is used. |
That would be the correct definition based on the function definition. |
So the fix is quite simple. If we allow
By rearrangement of terms, we get: |
Reference for equations? Also, how do we test without making it a self-fulfilling prophecy? |
The stackoverflow link has a link to a set of slides that have the equations. I'll try finding a reference that's more permanent (aka book or paper).
|
This is from equation 2.57 in Murray, Li and Sastry. Adding here for posterity. |
gtsam/gtsam/navigation/NavState.cpp
Line 71 in b1e9167
See reference: https://physics.stackexchange.com/questions/197009/transform-velocities-from-one-frame-to-an-other-within-a-rigid-body
The text was updated successfully, but these errors were encountered: