I'm using move_base to navigate through a set of waypoints, but the time between reaching a goal and move_base acknowledging success is inconsistent. The robot will drive up to the goal and stop, but it does not always promptly register as having reached the goal. Sometimes, the state will immediately switch to 'SUCCEEDED'. Other times, it takes several seconds. Is this normal behavior? Is there any way to improve the time it takes for move_base to mark a goal as succeeded?
Thanks!
*Below is a simplified version of our loop. Very often, it will take multiple seconds after the robot has stopped moving for it to print "Reached goal"*
...
MoveBaseClient * mbc = new MoveBaseClient("move_base", true);
...
while(ros::ok()){
if (mbc->getState() == actionlib::SimpleClientGoalState::SUCCEEDED){
ROS_INFO("Reached goal");
mbc->sendGoal(getNextGoal());
}
else {
ROS_INFO("Goal incomplete");
}
}
↧