You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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).
Activity
lopsided98 commentedon Jun 23, 2016
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.
lucbettaieb commentedon Jun 23, 2016
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
lopsided98 commentedon Jun 23, 2016
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).
lopsided98 commentedon Jun 23, 2016
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).
lopsided98 commentedon Jun 23, 2016
My latest changes publish distance and velocity in the JointState messages, but this requires changes to libcreate.
jacobperron commentedon Jun 25, 2016
@lopsided98 Thanks for opening this issue and the PR. I'll review and merge next week :)