看了很多博客,都说move_base中指定使用哪个包的那种算法是在 base_global_planner  (string, default: "navfn/NavfnROS"),然后我就用grep -rn “base_global_planner  (string,”  搜索导航包希望能找到了匹配文件,找的我都怀疑我下载了错误的导航包,但是从官网下载的应该不会错,于是我自己看了源代码,发现其实根本就不是上面那个用法,不知道别人从哪里看到这句话的,反正我是看不到,正确的指定路径规划算法的方法应该如下截图:

1、move_base中默认是调用的navfn这个包中的算法,

Navigation中的的move_base路径规划调用

2、而navfn包中含有Dijkstra和Astar两种算法。

3、navfn这个包中src下有navfn.cpp和navfn_ros.cpp两个重要cpp文件。

其中有两个重要函数:初始化函数和makeplan函数,都是在navfn_ros.cpp中定义,两个重要的路径规划算法具体实现是在navfn.cpp中,所以是从:navfn_ros.cpp中调用navfn.pp中的方法。

Navigation中的的move_base路径规划调用



相关文章:

  • 2022-12-23
  • 2021-09-28
  • 2021-09-04
  • 2021-07-28
  • 2021-10-05
  • 2021-12-07
  • 2021-10-27
  • 2021-08-09
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
  • 2021-05-31
相关资源
相似解决方案