-
Notifications
You must be signed in to change notification settings - Fork 9
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
Encoder Odometry #78
base: master
Are you sure you want to change the base?
Encoder Odometry #78
Conversation
@@ -0,0 +1,3 @@ | |||
float64 wheelbase |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tell me what this is
src/EncOdom/EncOdom.cpp
Outdated
tf2::convert(newOrientation, transformStamped.transform.rotation); | ||
|
||
const auto delta_position = tf2::quatRotate(newOrientation, tf2::Vector3(0, 0, tangentialVel * dt)); | ||
tf2::convert(delta_position, transformStamped.transform.translation); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something something delta x + old position = new positon
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix
This subscribes to the diffdrive_raw topic and broadcasts a transform from odom to base_link. There are a few uncertainties, such as my assumption that tf2::Vector3 is implicitly converted from RPY to a quaternion with https://docs.ros.org/kinetic/api/tf2/html/namespacetf2.html#a701335dd7331e8391843b31dd89746a6. However, that is a predictable and harmless fix so we only stand to gain by pushing this into master.