Using teb_local_planner with via_points and obstacle avoidance

asked 2019-05-17 02:21:41 -0500

curi_ROS gravatar image

I'm using ROS Kinetic on a real 2-wheel differential drive bot. I would like to use move_base with Global Planner and TebLocalPlanner to navigate through a set of waypoints.

For teb_local_planner, I am publishing a set of points as nav_msgs/Path on the topic /via_points. I have the default parameters of teb_local_planner set up with changes to include via_points, such as weight_viapoints = 5 and weight_obstacle = 50. My goal is to use this combination of Global Planner and TEBLocalPlanner to navigate through a preferred set of viapoints, while being able to avoid obstacles. The problem I am facing is that it seems like the viapoints do not seem to affect the global planner at all, even when I apply higher values such as weight_viapoints = 50. As explained in the tutorial, I do not want to set that too high as I still require some obstacle avoidance behaviour.

I'm able to echo the /via_points topic and see the points are being published once. What am I missing? Is there any other approach to achieving waypoint navigation with obstacle avoidance?

Any help will be appreciated!

edit retag flag offensive close merge delete


@croesmann could you have a look at this?

curi_ROS gravatar image curi_ROS  ( 2019-05-17 02:22:40 -0500 )edit

Create a waypoint based global planneroadmap_global_plannerr instead. And use DWA local planner.

Veera Ragav gravatar image Veera Ragav  ( 2019-05-17 11:30:48 -0500 )edit

This seems interesting, is there any documentation you have created for this that might help me follow it better? For example the msgs you use aren't part of the package you have linked. @Veera Ragav

curi_ROS gravatar image curi_ROS  ( 2019-05-18 10:20:27 -0500 )edit

Can you refer this video

Veera Ragav gravatar image Veera Ragav  ( 2019-05-18 12:26:58 -0500 )edit

In most use cases, via points are inherited from the global plan rather than sending them manually on topic /via-points. However, your use case should work as well, but there are still some open issues

croesmann gravatar image croesmann  ( 2019-07-25 08:24:59 -0500 )edit