How can I restart move_base server?
Sometimes I will encounter such a problem: due to the positioning error of AMCL, during the execution of the target sent to move_base, the robot will be considered to collide with an obstacle or get stuck in the wall. At this time, the target is Aborted, but move_base will not respond to subsequent targets. I have tried requesting clearmap
and using AMCL's request_nomotion_update
, but the effect is not very immediate. But I found that starting a move_base node with the same name through the launch file to force the previous move_base to close, so as to restart move_base, can effectively solve this problem, and can go to the next target point normally. So I want to know if it is possible to restart the move_base server or node in C++ (some kind of API?) to achieve the same effect, instead of forcing the old node out by using the node with the same name.
Hi @Laura:
Have you considered using
resetState
. Below the code, perhaps you can create a method to do something not as drastic as well.https://github.com/strawlab/navigatio...
@osilva,Thank you very much for your solution. ROS is a very large system for beginners like me. I also need to learn more about the source code and interfaces. Thank you again for your patient answers all the time!
Hey @Laura I learned every day in this forum that’s what I like the most. Thank you for asking too