TEB doesn't work with non-lethal obstacle
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 false
for 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):
The "red" area is non-lethal area which has <100 cost value. Blue line is global path. Red arrows are TEB path.
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?
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.
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..
..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...
..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 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
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)?