-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
AMCL: Assertion 'cidx >= 0' failed #634
Comments
I built from source with the indigo-devel branch and haven't seen the error (still on 16.04) |
Given that new info, there are only two possibly relevant commits in Kinetic that were not in indigo: If I had to guess, I'd think it was the latter? Perhaps try reverting that commit on the kinetic-devel branch and see if your problem goes away? If so, we can look deeper into why / how to fix it. |
I also have this issue. (ros-kinetic) when trying to set the initial pose from rviz, amcl always crashed. |
I have also experienced this issue. I see it happen when using |
@tutorgaming @SteveMacenski If you can provide replicable steps, it will be easier to debug. |
I'm generally unable to trigger it on demand. We don't recall seeing this issue in Indigo either. I agree the second commit is probably the issue. I would test to see if reverting that resolves the issue but the behavior is sporadic for me. I'll have to wait until next time it comes up to test. If @tutorgaming could test if it happens more consistently in your application, that would be awesome. |
This issue happens more frequently when set a new pose in the kinetic version. Maybe there's no need to assert cidx >= 0 in line 525 in pf.c. |
I'm not sure that's the most robust answer. From diff 232cfd2#diff-f9c8b2ff23a212af56d0b3de46fcf48b I don't think that situation needs I have been running a fork of AMCL with that commit commented out for about 2 weeks now and I haven't seen the issue in that time. I think it would be good @DLu @mikeferguson to revert this if you agree. |
Hi @SteveMacenski, Speaking to the assertion error |
I'm not questioning the need for it in general, it is called elsewhere in the program, my mistake for being non-specific. This was added in the condition when force_publication = true and resampled = false. If we haven't resampled, why would we need to cluster again? I've been working fine for 2 weeks removing that recent commit. Before, I hardly went a couple days without seeing it. |
Sorry for misunderstanding. However, I think we still need to cluster again because there is a possibility that two moving clusters of hypotheses overlap after |
Hope everyone had a good holiday- Can we revert it? |
I think so. Please open a PR. |
PR #666 resolves (I hear that number is good luck in some... particular circles) |
Great to see this got resolved, when will we see it built and pushed out to kinetic, I updated 2/22/2018 and it is still bad. |
That's a question for @DLu and @mikeferguson For now, you can use my branch for a solution |
I'll have to check with @DLu on if we need to get anything else merged (I do know we need to update a few maintainer emails before release), but I can do a release in the next few days. |
Awesome. |
Any movement here? |
Apologies on that -- when I commented on this issue, I thought it was already reviewed & merged. That was not the case. I have a thumbs-up to do a release. I had spent a few minutes to see if there was a more elegant fix than just removing those lines (since the original PR fixes one edge condition error). I had not found a better fix and ended up running out of time that day. I'm currently in the middle of moving, if there's no other comments on that PR by Monday, I'll merge and release then. |
removing recomputation of cluster stats causing assertion error (#634)
merged into kinetic, ported to lunar (still to be merged). releases shortly. |
Thanks Fergs Apparently I can't close this issue, do you mind? |
removing recomputation of cluster stats causing assertion error (#634)
Now released to Kinetic: ros/rosdistro#17159 |
Thanks everyone! |
I'm using AMCL on Ubuntu 16.04 with Kinetic. The error that often comes up is:
amcl: .../amcl/src/amcl/pf/pf.c:525: pf_cluster_stats: Assertion
cidx >= 0' failed.`This sometimes occurs after I send a new initialpose estimate after driving for a few seconds, but I haven't yet found a consistent procedure that causes it to happen.
I have tried building from source and downloading the package with apt, and see the same behavior both ways. I didn't see this error on my robot with Ubuntu 14.04 with Indigo, but I also have changed the type of laserscanner.
Looking at the source code, this error seems to mean there are no particles - any suggestions of where to look for the cause?
The text was updated successfully, but these errors were encountered: