我一直认为navigation 功能包集中的 move_base就是控制小车运动。

move_base包是一个高级别的导航功能包,可以将目标位姿传递给控制节点,由控制节点控制小车移动,以达到目标位置。

具体来说,move_base包的核心功能是根据当前机器人的位置、目标位置和地图信息来计算机器人的运动路径,然后将运动路径转化为速度控制命令,通过ROS消息发布到控制节点

先看一下导航的结构图

这个包里都有什么呢?

  1. 接收机器人的目标位置;
  2. 从机器人当前位置开始规划一条全局路径到目标位置;
  3. 将全局路径分解成一系列局部路径点,使机器人沿着这些点运动;
  4. 生成速度指令,将机器人导航到目标位置。

move_base 包含以下几个组件:

  1. 全局规划器(global planner):根据机器人的起始位置和目标位置,在地图上进行全局路径规划,生成一条连接起始点和目标点的路径;
  2. 局部规划器(local planner):根据机器人在全局路径上的位置,生成一系列局部路径点,并控制机器人运动,使其沿着局部路径点运动;
  3. costmap:提供机器人周围环境的代价地图,包括静态障碍物、动态障碍物和不可行驶区域等;
  4. 动态调整器(recovery behavior):当机器人遇到无法到达目标的情况时,执行一系列的恢复动作,尝试让机器人重新恢复到可行的状态。
posted on   黑逍逍  阅读(375)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!



点击右上角即可分享
微信分享提示