-
Notifications
You must be signed in to change notification settings - Fork 165
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
Publish JointState for wheel joints #25
Comments
I forked this repo and added basic support for publishing the joint state. I didn't create a PR because I don't consider it to be complete yet, because it does not actually publish the position or velocity of the wheels, but at least it keeps the wheels from floating at the origin in rviz. I need to figure out how to derive the wheel position and velocity from the data the Create provides. This seems like it should be easy on the Create 2, because it provides the raw encoder data, but the Create 1 (which I am using) does not so there is more math involved. |
What does the create 1 provide? You can always check out http://wiki.ros.org/irobot_create_2_1 or http://wiki.ros.org/create_node or http://wiki.ros.org/create_driver |
The Create 1 provides distance and heading deltas, which can be used to get a pretty good estimate of how far each wheel moved. I'm working on exposing this data through libcreate. I used to use create_node to control my Create, and it publishes joint state messages, but their position and velocity is always zero (just like my fork). |
libcreate actually calculates the how far each wheel moves, but there appears to be some problems with how it does this on the Create 1 (for one, the left and right distances are always the same, see: https://github.com/AutonomyLab/libcreate/blob/master/src/create.cpp#L107). |
My latest changes publish distance and velocity in the JointState messages, but this requires changes to libcreate. |
@lopsided98 Thanks for opening this issue and the PR. I'll review and merge next week :) |
Unless, I'm misunderstanding something, it seems that the driver should publish JointState messages for the wheels. Without these messages, robot_state_publisher cannot generate transforms for the wheels.
The text was updated successfully, but these errors were encountered: