0
$\begingroup$

Rosanswers logo

Suppose I want to go to point B from A. Global plan initially publishes a straight plan. But whenever, a dynamic obstacle is in the path, DWA will try to drive around the obstacle.

However, I would want to stop for some time and then follow the initial global plan after the obstacle moves away from the plan. I've tried to play with goal_distance_bias, path_distance_bias and other parameters with no success. Is there some straight-forward way to classify dynamic obstacle from the cost map, so I can send zero_velocity from DWA upon detecting one?

Or do I have to write a custom local planner? If yes, could you guys point me towards something to achieve this functionality?

Edit

This question asks a similar question with no answer but some helpful comments.


Originally posted by ashutosh08 on ROS Answers with karma: 28 on 2020-02-12

Post score: 0


Original comments

Comment by ashutosh08 on 2020-02-12:
@mgruhler you've answered a similar question. Could you shed some light on this?

Comment by mgruhler on 2020-02-12:
@ashutosh08 could you please link to that specific answer (I don't know which one that was...) and detail why this doesn't answer your question or what the difference is to that question?

Comment by ashutosh08 on 2020-02-12:
@mgruhler see edit. My task is to align the local planner with the initial straight global plan, and if there were any obstacles, preferably stop the robot rather than moving around.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Is there some straight-forward way to classify dynamic obstacle from the cost map, so I can send zero_velocity from DWA upon detecting one?

As I said in the question you link to: No (not to my knowledge, at least).

Or do I have to write a custom local planner?

You could try the teb_local_planner (following Tut 3 on this page) and check if this helps.

If only following the global plan without obstacle avoidance, only waiting, is your only goal, I'd go for a custom planner. This could have a simple PD controller for path following and a little look-ahead stopping movement once it encounters an obstacle...


Originally posted by mgruhler with karma: 12390 on 2020-02-12

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by ashutosh08 on 2020-02-12:
thank you so much for your help. looks like implementing a PD controller is the best way for me.

Comment by ashutosh08 on 2020-02-17:
@mgruhler thanks worked like a charm. Additionally, what could be the best way to detect an obstacle without implementing move_base?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.