-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Time step miss match between "scan" topic and "scan_matched_points2" topic #895
Comments
Topic "/scan_matched_points2" shows the result of I would say it works as intended? |
No it is not working well. I was using a perfect odometry simulated by stage so even if the scan matcher is not working it should be able to generate a good map. I can see if I activate the real_time_correlative_scan_matcher, the problem is gone. |
Please verify that you set
Hard to say from here. Other than that, you would need to provide a fork with a reproducible roslaunch config as explained in https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/.github/ISSUE_TEMPLATE |
|
Thank you! Good to know.
Yes, if PoseExtrapolator received odometry data, it will extrapolate from that using both translational and angular velocity. 10 Hz does sound low, so this will be poor estimate. Of course, you can always set
I don't think this is a bug (but rather a tuning/documentation issue), so there is currently no need to put much effort into this. |
I have done this but I'm afraid the error is too huge for the ceres_scan_matcher to correct. I have tried a lot of values but does not help. I know we can use scan matcher to correct this error but it doesn't seems a good solution to me.
I have been looking at PoseExtrapolator but I have found no documentation about it. The only parameter I found is kExtrapolationEstimationTimeSec which is not changeable outside the source code. Maybe a bit of documentation on this could be helpful.
I agree this is not a bug but I'm thinking there might be possible improvements. The error caused by time frame mismatch could be reduced by increasing the frame rate. But even if I increase the odom rate to 50Hz the error could still reach 0.6degree which is still significant. Thank you for your help with the problem. I am getting more clear about the problem. I'll try to look deeper into the code. |
We do wait for all sensors to have data before processing. This is what
There are many practical examples that need it. Perhaps your abrupt change from left to right rotation in your simulated world is unlikely in real-world recordings? |
Thanks for the info. However, it seems that is not work for me. But I'll look into that, could it again be some setting issue?
Thanks I've already looked at it. Although there is not much setting different from mine except it is a 3d slam.
The simulated world do not have acceleration could that be a problem? I'll do more test and maybe update again here. Hope this is not a big issue but it could be a good starting point to understand the code. |
BTW, I found my problem very similar with #820. |
Hi, I think I might have found a problem in the code related to my issue. In
The latest angular velocity observation is added after advance is called. The velocity observation is delayed for one time step. I have tried to change the code to the following and my problem is solved:
I'm not sure if this will cause other problems. I think this won't affect the performance when IMU is provided because |
If you think you've found a bug, you can propose a pull request so this can be reviewed in detail. Closing. |
I was doing simulation in stage with a 10Hz laser scanner.
As shown in the picture.
The robot is having a 1 rad/s constant rotation speed.
I found the /scan_matched_points2 (green line) and /scan topic(red line) always have a constant angle difference.
I found the problem is the /scan_matched_points2 topic is always lagged 1 step behind the /scan topic.
This means at 1 rad/s there would be a constant 5.7 degree(1 rad/s / 10Hz) difference.
Can anyone suggest a fix to this?
The text was updated successfully, but these errors were encountered: