zoukankan      html  css  js  c++  java
  • Navigation(四)global_planner源码解析之框架

    一、全局规划器概述

    对于global planner,可以采用以下三种实现之一: "navfn/NavfnROS","global_planner/GlobalPlanner","carrot_planner/CarrotPlanner"

    本文分析其中一种实现:global_planner/GlobalPlanner。
    move_base调用global_planner需要修改的文件:
    1、bgp_plugin.xml
    2、package.xml
    以上两个文件都在/global_planner文件夹内

    二、根据nav_core提供的BaseGlobalPlanner接口:

    initialize(name, costmap) ——算法实例的选取
    makePlan(start, goal, plan)——两个步骤完成路径的生成(①计算可行点矩阵potential_array (planner_->calculatePotentials) → ②从可行点矩阵中提取路径plan (path_maker_->getPath))
    主要是以下三个实例:
    1.计算“一个点”的可行性 —— p_calc_:PotentialCalculator::calculatePotential()、 QuadraticCalculator::calculatePotential()
    2.计算“所有”的可行点 —— planner_:DijkstraExpansion::calculatePotentials()、 AStarExpansion::calculatePotentials()
    3.从可行点中“提取路径” —— path_maker_:GridPath::getPath()、 GradientPath::getPath()

    涉及到四个算法程序:A*, Dijkstra;gradient_path, grid_path

    可以总结出global_planner框架:

    参考资料:

    https://zhuanlan.zhihu.com/p/46212318

     

    博文主要是总结自己的学习,因此有很多知识点没有提到,仅仅提了个人比较容易遗忘的或者非常重要的知识点。很多资料来源于网络和对一些课程的整理,侵权删。格式没花精力调整,望谅解。
  • 相关阅读:
    python字符串以单词形式反转
    python if 语句的练习
    Python对元祖的操作
    Python对列表的操作
    Python对字符串的操作
    导出EXCEL【Web方式HTML通过拼接html中table】
    链接点击跳动问题
    maven报uri is not registered错误
    maven配置
    三级分类的sql语句
  • 原文地址:https://www.cnblogs.com/JuiceCat/p/12527999.html
Copyright © 2011-2022 走看看