0
$\begingroup$

Rosanswers logo

Hi to all,

From my understanding, i believe that the move_base will ignore the unknown pixel from the map during the path finding. Is it possible to set any parameter in move_base to remove this action so that i can set unknown pixel as goal?

Preview of my map

With thanks, Zhiping


Originally posted by zhiping on ROS Answers with karma: 45 on 2011-03-16

Post score: 1


Original comments

Comment by Sabrina on 2011-03-17:
What message does move_base drop when aborting?

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Hi Zhiping,

you can set the parameter allow_unknow of navfn to true. Then unknown points of the global costmap are possible goal positions (and possible points in the global plan). If you used this tutorial to set up navigation then adding the following line to move_base.launch should do the trick:

<param name="navfn/allow_unknown" value="true"/>

<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
...
</node>

But make sure that the wanted goal position is within the bounds of your global costmap. If the goal is very close to an obstacle (in range of the inflated obstacle points) navfn will regard it as not reachable - at least in cturtle, may be this has changed in diamondback.

Regards, Sabrina


Originally posted by Sabrina with karma: 285 on 2011-03-17

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by ParNurZeal on 2012-01-18:
I use Gmapping and I set the navfn/allow_unknown value to true as well but it is unable to compute a path to it. I think static map sent by Gmapping had small map size and the goal I sent was beyond this map. How can I force Gmapping to send me more bigger map?

Comment by Sabrina on 2011-03-19:
I am glad to hear that you could find a solution for your problem. I did benefit from exchanging thoughts your problem as well - so no need apologize :). Maybe you should post your solution so we can mark the question as answered.

Comment by zhiping on 2011-03-19:
Thanks for the assistance. I finally solve the problem with your help. Basically, i think i don't need to set the navfn/allow_unknown because the default value is true and unknown_cost_value but i need to set the static map in the global costmap to false because i'm running on gmapping. Sorry to trouble you for so long.

Comment by Sabrina on 2011-03-18:
unknown_cost_value should be the corresponding gray value for unknown space in your map. I assume this is 127 in your case.

Comment by zhiping on 2011-03-17:
I don't have enough karma to load file but i solve it using a hyperlink. Yes, i initialed the global costmap using a static map through a yaml file in move_base. I have also tried using the unknown_cost_value in costmap_2d by changing it from 0 -> 1 but there is not change in the path planning.

Comment by Sabrina on 2011-03-17:
BTW you should be able to add an image of the map when you edit your question. With the "image" button you can upload an image as far as I can see. Also an rviz screen shot showing the robot's and goal position and the map could be useful.

Comment by Sabrina on 2011-03-17:
Yes, if this parameter is true global planning considers unknown space as free. Do you use a static map to initialize the global costmap? Or do you generate the global map online? As move_base clears the space around the robot on start up, placing the robot in unknown space should not be a problem.

Comment by zhiping on 2011-03-17:
Sorry i could not upload my map image to this forum. Basically, my robot is located in a region of unknown. I have used rosparam to confirm that /navfn/allow_unknown is true. So am i correct to say that the global planner (navfn) should be able to plan a path and traverse over the unknown region?

Comment by Sabrina on 2011-03-17:
You have to distinguish between move_base and the global planner. After setting the goal move_base will use the global planner (navfn by default) to compute a path from the robot to the goal. If global planning fails move_base will abort.

Comment by zhiping on 2011-03-17:
Thanks for your help. the move_base seem to take it the unknown as goal but it is unable to compute a path to it

$\endgroup$
0
$\begingroup$

Rosanswers logo

This is a suggested solution for my problem. Basically, i think i don't need to set the navfn/allow_unknown because the default value is true and unknown_cost_value but i need to set the static map in the global costmap to false because i'm running on gmapping


Originally posted by zhiping with karma: 45 on 2011-03-19

This answer was NOT ACCEPTED on the original site

Post score: 2


Original comments

Comment by ParNurZeal on 2012-01-18:
not using static map means you want use the updated map from Gmapping I think.

Comment by ParNurZeal on 2011-12-21:
I'm sorry. Now, I know I used wrong .yaml file and set the map to static map. That's why it did not work.

Comment by ParNurZeal on 2011-12-20:
I'm trying to run move_base with Gmapping as well and still have the same problem with you that robot won't go to unknown space(cannot find the path to there). Have you already solved the problem? How did you solve it?

Comment by barrybear on 2013-06-25:
Hello there! Did you manage to do it? I've set my nav goal to /move_base/local_costmap/unknown_space and set the parameters as described above but there doesn't seem to be any path planning. However it works if i were to use the move_base_simple/goal and clicking on d map in rviz

Comment by Lin_TZ on 2022-08-08:
Hello.I've set the "static map:false",but it did not work.How did you solve it?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.