Path planning in a complex environment.
I am using a turtlebot2 with an ASUS XTION laser scanner and I am trying to develop autonomous mapping functionality but I am running into a lot of issues with path planning. The robot often gets stuck and is unable to find a path to its goal. I am currently testing in an office environment that has a lot of complex obstacle features (chair legs, table legs, human legs, etc.) and I was wondering if these features might be affecting the performance of the path planner? There are also a few ceiling-to-floor windows which may be confusing the laser scanner.
Does anyone know the limitations of the DWA local planner in complex environments? In videos I see online, people often create very structured maze like environments which make it easy for the robot to navigate.
EDIT: The error I get from move_base is "Aborting because a valid plan could not be found. Even after executing all recovery behaviors." This occurs once the robot has mapped out a small area and gets stuck. It may be trying to send a goal to a location not in its vicinity but I'm not sure.
Also, I tend to get the warning "scan matching failed using odometry" when using gmapping so maybe this has something to with it.
Finally, I often get the error "You must specify at least three points for the robot footprint,reverting to previous footprint" even though my robot_radius is set in the costmap_common_params file.
By autonomous planning, are you referring to a frontier-exploration SLAM ? Or do you drive manually the robot during the mapping and then encounter motion planning problems after the mapping ? Your title is misleading, gmapping is the SLAM algorithm but you mention motion planning problems.
Sorry, the title should be path planning in a complex environment. I'll edit the title. But yes, I am trying to do frontier-exploration SLAM but I often get the error "aborting because a valid plan could not be found." I am wondering if this is because the complex environment confuses the robot?
Ok. Are you using an existing package for frontier-exploration SLAM or did you write your own ? If you are using the move_base library with DWA as your local planner, what is your global planner ? Are you sure that it is the local planner failing and not the global planner ?
I am using this existing package. How would I know if the global planner is failing? I do notice that the robot only plans goal nearby it and will never try to navigate across the room.
In fact, frontier exploration works at first until the robot gets caught in a corner and then I get an error that a valid plan was not found. So maybe you are on to something.
Ok then I suppose you are using the default global planner for move_base, navfn. Can you edit your post to add the exact error message that you are getting ? To help you it would help to know if it is the global or the local planner that is failing.
I edited my original post with some of the errors I get. I appreciate your help!!!
"scan matching failed using odometry" suggests that your odometry may not be properly calibrated/functioning. Have you tried building maps by driving around your turtlebot and using gmapping, instead of autonomous mapping ? Do the maps look good ? Some screenshots of the maps would help.