-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[Collision_monitor] Approach polygon time=0 step is not processed #4355
Comments
This makes sense to me, I think the most straightforward fix would be to add something like
at the beginning of Adding a test for this would be great |
That's what I was thinking about. (plus init My only concern is that people may have used this bug as a feature to evade when the robot is touching a wall for example. |
This should have been implemented with #3313 afaik so I don't see the reason to keep this "feature" in that way
hmm, I'm not sure but I think this is not necessary since projectState first projection is at Time=0 + dt, no? |
Actually, thinking about this again, I think there is no avoiding the collision monitor misbehaving if It might still be worth it to check for collision at time=0 but essentially |
Yes, but at least, when the robot is in collision it is not pushing anymore.
The issue is that the value returned is
Yes it will look weird and it will return -simulation_time_step_ when already in collision. A better solution is to make the
|
Agree! Feel free to open a PR |
Seems rational, thanks for the thread on the European timezone. I have nothing further to add :-) |
Bug report
In the approach polygon process, the algorithm loops over
simulation_time_step
to find the collision time.time
start at 0.0 but theprojectState(simulation_time_step_, pose, vel);
is call directly therefor the time 0.0 polygon is not checked.navigation2/nav2_collision_monitor/src/polygon.cpp
Lines 243 to 256 in bf291d7
This leads to a possible flaw in the safety. If the
simulation_time_step
or the velocity is too big, close obstacles in the polygon are not detected and the robot is not stopped.Required Info:
Steps to reproduce issue
simulation_time_step
like 1sExpected behavior
The robot shouldn't move if there is an obstacle in its polygon
Actual behavior
The robot moves even if there is an obstacle in its polygon
Additional information
time
in the collision check actually starts at simulation_time_step_ and not 0.0.The text was updated successfully, but these errors were encountered: