Ask Your Question

Costmap's obstacle does not clear properly under sparse environment

asked 2011-10-06 05:50:19 -0500

Demian gravatar image


I would like to use Hokuyo to perform navigation under outdoor environment (open field for example). However, the obstacles detected before is not clearing out although the laser shows that there's no object. There is some hack that I can use for example but is there a more elegant way to do this? Perhaps through some parameter settings?

Thanks in advance.

edit retag flag offensive close merge delete


I know this isn't an answer, but I must warn you, in direct sunlight, I've determined that the Hokuyo scanner performs very poorly. It wasn't even feasible for us to use because of it's performance. I know this is just our analysis, but it could be a problem for you.
DimitriProsser gravatar image DimitriProsser  ( 2011-10-06 07:37:53 -0500 )edit
That depends, the URG models are basically non-usable in sunlight, but the UTM-30LX worked ok for us so far.
Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2011-10-06 18:14:24 -0500 )edit
Oh yes, I forgot to make that distinction. I apologize.
DimitriProsser gravatar image DimitriProsser  ( 2011-10-07 02:07:37 -0500 )edit
Ah, yes, the UTM-30LX is exactly the one we are using. So far so good even under direct sunlight. Can anyone shed some light to the way the costmap does the clearing?
Demian gravatar image Demian  ( 2011-10-07 02:37:53 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2011-10-07 02:41:43 -0500

joq gravatar image

I don't believe there is any more elegant way.

When clearing obstacles, costmap_2d only trusts laser scans returning a definite range. Indoors, that makes sense. Outdoors, most scans return max range, which does not clear intervening obstacles. A fake scan with slightly shorter ranges can be constructed that does clear them out.

That hack is messy, but not particularly difficult.

edit flag offensive delete link more


This is something that's come up a few times. Missing returns don't always imply max range so the navigation stack makes no assumptions about them by default. As Jack suggested, the easiest thing to do is write a filter that inserts measurements into a clearing scan at some range.
eitan gravatar image eitan  ( 2011-10-07 07:16:14 -0500 )edit

answered 2015-05-01 13:34:52 -0500

mgerdzhev gravatar image

There is an option in the costmap sensor parameters that allows inf values to be treated as valid. See Section 1.2.2

~<name>/<source_name>/inf_is_valid (bool, default: false)

edit flag offensive delete link more


Thanks for mentioning that. It was not available back in 2011.

joq gravatar image joq  ( 2015-05-01 22:18:16 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2011-10-06 05:50:19 -0500

Seen: 935 times

Last updated: Oct 07 '11