TEB doesn't work with non-lethal obstacle

asked 2018-11-12 03:56:31 -0600

marshalshiaug gravatar image

updated 2018-11-13 06:58:48 -0600

Currently I'm using teb for local path planner with static_layer costmap, where existing lethal obstacle (cost >100) and non-lethal obstacle (cost < 100). And also, static_layer set trinary_costmap to falsefor both global planner and local planner such that all full spectrum of intermediate values are used.

When I tried to move cross non-lethal obstacle: the global path plan made a path which was round the non-lethal obstacle, but when movebase moving, TEB would cross the non-lethal obstacle (which just like the non-lethal obstacle didn't exist).

I am not sure that: Does TEB have the ability to walk round the non-lethal obstacle according to cost map value?

(Please forgive my poor English.)

Thanks for helping.

Edit 1 (rviz display):

image description

The "red" area is non-lethal area which has <100 cost value. Blue line is global path. Red arrows are TEB path.

edit retag flag offensive close merge delete

Comments

Is the obstacle in the static or the obstacle layer of the costmap? if obstaacle_layer, are you including the obstacle_layer plugin for the local_costmap as well? Does the obstacle show up in the local costmap in RViz?

harshal gravatar image harshal  ( 2018-11-13 06:42:06 -0600 )edit

hi @harshal , thanks for commenting. I updated the question with rviz display. For your questions: Obstacle is in static_layer and obstacle information only contains on costmap. I do this because I wanna movebase to "avoid" some tunnels on ground which has <100 cost if existing less cost plan.

marshalshiaug gravatar image marshalshiaug  ( 2018-11-13 07:05:43 -0600 )edit

umm..i am not sure again if the local costmap shows any obstacles or not. As for the global costmap, it is present, hence the planner plans around it. TEB, as you observe, however does not seem to see the obstacle in the local costmap(*) and due to its time optimization tries to pick the faster..

harshal gravatar image harshal  ( 2018-11-13 10:04:59 -0600 )edit

..path that goes over the obstacle. One more possibility is that the weights for optimization of TEB aren't well balanced for your case. You can try to find a better set of values there, or a quick method, invoke the global viapoints function of TEB, setting the values very small...

harshal gravatar image harshal  ( 2018-11-13 10:08:00 -0600 )edit

..so that TEB follows global path closely (This would incur an overhead on time and processing power).

Could you please also specifically test if both, global and local costmaps show this particular obstacle in RViz?

harshal gravatar image harshal  ( 2018-11-13 10:08:59 -0600 )edit

@harshal Because I don't have enough score to upload image, cannot show you the rviz display. But I'm sure that non-lethal obstacle shows in local and global costmaps. And yes. Currently, I change viapoint parameters to make better. Curious, if TEB can do it by default. Thanks

marshalshiaug gravatar image marshalshiaug  ( 2018-11-13 19:22:01 -0600 )edit

TEB should be able to if it sees the obstruction in costmap! Have you set a round footprint(like in image above) in the TEB params as well(footprint model, etc)?

harshal gravatar image harshal  ( 2018-11-14 04:30:59 -0600 )edit