-
Notifications
You must be signed in to change notification settings - Fork 58
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
RViz and gazebo inconsistency: robot moves through dock #75
Comments
This sounds expected as long as we rely on pure odometry for RViz because of slipping. |
If the robot is pushing against an obstacle (let's treat it as a wall, i.e. it can't be moved) the wheels indeed will be slipping or even stuck. In this case, the mouse differential motion would be null, so the robot would appear as not moving. |
For the sake of the simulated robot, I would say that dead reckoning pose and ground truth pose should coincide. |
As far as I remember, the dead reckoning pose is calculated automatically by |
That's certainly interesting, though I kinda agree with @alsora we could simplify things for the simulator and rely on simulated ground truth. |
Besides this particular problem, do you see any issue for users who want to test a SLAM system in the simulator? By using the ground truth they would get a perfect odometry that will also never drift. This would be different from the odometry obtained from perfect sensors (i.e. no noise) which on the other hand would drift due to sampling and approximations in the integration procedure. Maybe the best, long term solution would be to have the odom TF to be computed from mouse data rather than wheels, under the assumption that mouse always tracks correctly (i.e. I assume mouse delta is obtained from ground truth) |
Isn't better to use |
At the moment the robot is not using a Kalman filter. |
Returning to the simulated robot discussion, my understanding is that we would like to have frame of reference in RViz that behaves better than pure odometry. I don't think there's a better option that the absolute gazebo pose published as ground truth data for this particular use case (RViz reference frame). |
Sounds good to me if we modify the ground truth plugin to publish the |
Should rviz be showing the "perfect" position of the robot? For a real robot it definitely doesn't as some sort of estimation is always present (SLAM, odometry, whatever). It seems to me there are few things at play here, let me know if my assessment is accurate as I'm just getting started working on this. Sorry if I get anything wrong:
Most of the behaviour here seems actually OK to me, so is there a problem here? I might be misunderstanding something tho. One minor problem is that |
After playing around it a bit, I do see that if I hit an object, the rviz position will continue to increase while the ground truth position doesn't increase. This also kind of make sense? The wheels would be slipping in this case so the encoders should still register the ticks. Solving this seems like it's a downstream project's problem? As it is kind of expected that |
Describe the bug
Commanding the robot to move against the dock shows the robot correctly blocked in gazebo, but in rviz the robot moves through the dock.
To Reproduce
Start empty world (robot will start on the dock)
Command forward velocity
Expected behavior
The robot should "push" against the dock, without making progress forward.
Actual behavior
The expected behavior happens in gazebo, but on the other hand, in rviz, the robot moves through the dock as if it was immaterial.
The text was updated successfully, but these errors were encountered: