How do I make the robot stop aborting the navigation?
Hello there!
I've been working with the navigation stack in ROS Kinetic for a while now, and while things have been going fine, one thing has been bothering me, recently - the aborting routine.
The thing is, when the robot found an obstacle that it couldn't avoid, it used to do all the recovery behaviors and then abort the navigation. Then, I turned off all the recovery behaviors, and now it just aborts, first thing. The problem is, it aborts way too fast, ridiculously fast. In less than ten seconds, the robot stops and aborts navigation when stuck, before I can do anything to unstuck it.
I wanted a way either to increase the aborting cooldown - making it abort after more than a minute, for example -, or reduce it entirely. The problem with aborting is that it straight up cancels the route it was supposed to be navigating, so when the path is clear again, it won't get back to navigating, because the route was aborted. I'd prefer if the robot just stopped in place until the path was clear.
However, I'm not finding anything that can help me with that - changing the parameters of the recovery behavior doesn't help, because it's not exactly a recovery behavior, it seems, but something that happens after. Can someone give me a light on what to do?
Thanks in advance!
Asked by FFelizpe on 2021-10-21 15:22:39 UTC
Comments
Have you tried increasing
controller_patience
(double, default: 15.0) How long the controller will wait in seconds without receiving a valid control before space-clearing operations are performed.
Asked by osilva on 2021-10-21 19:15:08 UTC
No, I didn't, I'll try it!
However, won't this prejudice the frequency on which the clear costmap will work clearing the map?
Asked by FFelizpe on 2021-10-22 07:15:56 UTC
I learned this from another issue, not sure how all ties up, but see this link:
From: https://github.com/icclab/icclab_summit_xl/commit/93eea82d67f4a3a4308f33254fa0a135acf5f0a8
Asked by osilva on 2021-10-22 07:50:33 UTC
I know they are somehow interconnected based on Navigation Stack setup diagram but I need to dig more into how the inner works of
move_base
.Asked by osilva on 2021-10-22 07:54:19 UTC
I think the key is that
attempt_end
addscontroller_patience
formove_base.cpp
source code:https://github.com/ros-planning/navigation/blob/noetic-devel/move_base/src/move_base.cpp
Asked by osilva on 2021-10-22 08:18:59 UTC
Hello. I want exactly the same thing for my robot. Did you find a solution for this?
Asked by SuleKayiran on 2022-02-23 07:55:28 UTC