机器人导航学习历程(三)global planner

global planner

  在对move_base中的全局规划进行介绍之前,我们先来回顾一下Navigation的框架,可以看出位于红框中的global_planner是move_base节点的一部分,输入是目标位置以及global_costmap的信息,输出是全局的规划路径,作为local_planner的输入。

在这里插入图片描述

  在ROS的导航中,首先会通过全局路径规划,计算出机器人到目标位置的全局路线。全局路径规划一般是由navfn或global_planner插件实现的。

  • navfn
    通过Dijkstra最优路径的算法,计算costmap上的最小花费路径,作为机器人的全局路线。在算法上还有A*算法。

在这里插入图片描述

  • global_planner
    根据给定的目标位置进行总体路径的规划;这个package为导航提供了一种快速,内插值的全局规划器, 继承了nav_core包中nav_core::BaseGlobalPlanner接口,该实现相比navfn使用更加灵活。

在这里插入图片描述

路径规划算法

  路径规划是指的是机器人的最优路径规划问题,即依据某个或某些优化准则(如工作代价最小、行走路径最短、行走时间最短等),在工作空间中找到一个从起始位置到目标位置能避开障碍物的最优路径。

  路径规划的方法主要可以分为以下五类,global_planner主要用到的就是第二类基于节点的方法。

在这里插入图片描述

Dijkstra算法

  迪杰斯特拉(Dijkstra)算法是典型的用来解决最短路径的算法,也是很多教程中的范例,由荷兰计算机科学家狄克斯特拉于1959年提出,用来求得从起始点到其他所有点最短路径。该算法采用了贪心的思想。

  下面结合实例来看一下(来源于网络)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

与你如初见

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值