Ask Your Question

How does DWA works in relation to global planner?

asked 2019-10-23 08:19:48 -0600

kiko453 gravatar image

updated 2019-10-23 08:21:31 -0600

I'm trying to understand how DWA works by looking at this implementation

I try to make the connection with global planner. I don't see where global planner comes into play.

  • How does DWA use information provided by the global planner in ROS, more precisely the trajectory coming from global planner that DWA has to follow? I don't see anywhere where it is following some trajectory.
  • What others information coming from global planner (apart from the trajectory) does DWA use?
  • How does DWA know about the obstacles? because in this implementation, to compute the cost, it computes the distance to each obstacles, so DWA should somehow as input know where the obstacles are (coordinates of obstacle I presume).
  • When we talk about trajectory in DWA (in the original papers they also often use the term trajectory), does DWA compute itself some trajectory to follow or does it follow a trajectory generated by the global planner?

How does all of this work in the DWA implementation of ros? Thanks a lot.

edit retag flag offensive close merge delete


Please realise that the code you link to appears to be a completely ROS-agnostic implementation. I don't know whether you'll receive any answers here, as on ROS Answers, we typically tend to discuss ROS-related topics and questions.

gvdhoorn gravatar imagegvdhoorn ( 2019-10-23 08:31:09 -0600 )edit

my questions are however general related and therefore also ROS related. I just wanted to cite the resource I'm learning DWA from.

kiko453 gravatar imagekiko453 ( 2019-10-23 08:38:15 -0600 )edit

I'm inclined to agree with @gvdhoorn, this isn't a ROS question. That implementation is independent to all of your followups.

stevemacenski gravatar imagestevemacenski ( 2019-10-23 12:02:46 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2019-10-23 21:58:01 -0600

fergs gravatar image

DWA is really more of a controller - not a planner. Given a trajectory (which in ROS is simply an array of geometry_msgs/Pose), and the current position of the robot (again, another Pose message), it will compute the best command to apply to the mobile base at that instant in time (in ROS, a geometry_msgs/Twist message). If you run the DWA algorithm at a high enough frequency (20-50hz), you can "follow" the plan pretty accurately.

In the ROS implementation, the "trajectory" is nothing but a series of poses - there is no time-parameterization, etc. This trajectory is created by a global planner (which, really, is the only real "planner" since DWA really is more of a "controller").

The ROS implementations are located here:

edit flag offensive delete link more

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: 2019-10-23 08:19:48 -0600

Seen: 39 times

Last updated: Oct 23