How to Change DWA local planner Algorithm ?

asked 2018-05-10 05:44:12 -0500

Developer gravatar image

Hi

How can a manipulate the DWA local planner that it creates zero velocity commands(stop), when robot Interfaces with a dynamic object.

Thanks

edit retag flag offensive close merge delete

Comments

I suggest to create your own plugin that implements the same functionalities of DWA local planner and stops in case of dynamic object detection. Otherwise, if you don't want to create a plugin by yourself, create a multiplexer for cmd_vel that returns 0 speed when the robot meets a dynamic obstacle.

Chaos gravatar image Chaos  ( 2018-05-10 08:53:33 -0500 )edit

thanks for the answer. How can I create a multiplexer for cmd_vel that returns 0 speed when the robot meets a dynamic obstacle ?

Developer gravatar image Developer  ( 2018-05-10 11:02:18 -0500 )edit

You can use this, for example. Otherwise, you can create it by yourself, if you prefer...

Chaos gravatar image Chaos  ( 2018-05-11 03:55:03 -0500 )edit

Thanks. Is it possible without mux or create local planner from stretch ? (just with manipulation of DWA local planner). if yes, which part of the dwa_local_planner(or any other part of navigation_stack) should I manipulate ? (DWA should create 0 velocity, if robot interfaces with a Dynamic object)

Developer gravatar image Developer  ( 2018-05-11 04:13:48 -0500 )edit

Usually, it is not recomended to modify original ROS code. You can find the original code for DWA local planner in its code API and start creating your own plugin from it by extending the base_local_planner class.

Chaos gravatar image Chaos  ( 2018-05-11 04:37:04 -0500 )edit