ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Testing performance of my global planner

asked 2021-08-23 11:21:04 -0600

Eman.m gravatar image

updated 2021-08-24 19:32:56 -0600

Mike Scheutzow gravatar image


I implemented my own global planner algorithm as a c++ program. To measure its performance, I implemented A* in c++ also.

When I compare them, I found that my algorithm is faster than A* and generates the same path length as A*.

I wrote my algorithm as ROS global planner plugin, and I can move a robot using it.

However, in ROS, when I compare my planner and navfn (A* based) I found that my algorithm is slower than navfn and produces longer paths.

why there is a difference between A* c++ implementation and navfn (A* version)?


edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2023-05-04 02:01:50 -0600

mgrallos gravatar image

maybe simply because your global planner implementation and navfn's implementation have a slight difference in any way. A single variable declaration will really affect the run time or the results of the code. And we can't expect your code to be EXACTLY the same with navfn implementation.

edit flag offensive delete link more

answered 2021-08-24 19:32:29 -0600

Mike Scheutzow gravatar image

As far as I know, NavFn uses dijkstra algorithm, not A*. This old discussion #q28366 has some interesting tidbits.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2021-08-23 11:21:04 -0600

Seen: 157 times

Last updated: May 04 '23