0
$\begingroup$

Rosanswers logo

Hi, I have gone through this and this as well . Can someone explain how the global path planner works in details?

EDIT: According to your suggestion, I have visited NavfnROS and navfn. In navfn_ros.cpp, line number 197 , we have makePlan () method defined which calls calcNavFnDijkstra(true) line 285. This calcNavFnDijkstra(true) is defined here, line number 290. It uses

propNavFnDijkstra(std::max(nx*ny/20,nx+ny),atStart);

00302

00303 // path

00304 int len = calcPath(nx*ny/2);

END

I want to remove only Dijkstra's algorithm; I don't want to change the costmap generation, cell updation, obstacle avoidance

I know what is a potential field, but how it is used here; I have no idea. How does gradient line 989 help us in making the global plan? I am using ROS fuerte.


Originally posted by Mercy on ROS Answers with karma: 31 on 2015-02-03

Post score: 0


Original comments

Comment by fh97 on 2022-01-05:
Hello Dear I also want to remove only Dijkstra's algorithm, pleas can you tell me how you did it or what helped you to understand the code ? Thank you

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

I suggest you have a look at the source code and then ask more specific questions based on what you discover. There are fortunately many people on ROS Answers who are willing to help others, but very few have the time to write a comprehensive answer to a extremely broad questions like yours.

You're much more likely to get answers to a question like "I have looked into package X's code and do not quite understand what is done in function Y, can someone help me?" than to one like "Please explain the internal workings of package X in detail" (such as your current question above).


Originally posted by Stefan Kohlbrecher with karma: 24361 on 2015-02-03

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by Mercy on 2015-02-03:
@Stefan, I have updated the question according to your suggestion. Please have a look.

Comment by Mercy on 2015-02-04:
@Martin thanks. But, currently I have to use that one.

$\endgroup$
0
$\begingroup$

Rosanswers logo

If you're using Hydro or later, you could switch to David Lu's global_planner. It has implementations of several algorithms (A*, Dijkstra) and can also emulate the old navfn behavior, if you wish. Looks like the source code is much easier to digest than navfn.


Originally posted by Martin Günther with karma: 11816 on 2015-02-04

This answer was NOT ACCEPTED on the original site

Post score: 2

$\endgroup$

Your Answer

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