Move_base_flex(mbf)框架理解

文章详细介绍了move_base_flex的代码结构,包括mbf_abstract_core和mbf_abstract_nav等抽象类,以及costmap_core和costmap_nav的具体实现。重点讨论了类图解析,强调了其与ROS2navigation的相似性和解耦特性,允许根据不同地图类型实现2D、3D导航。此外,文章还探讨了mbf的可编辑性、复用性和可移植性,并推荐了基于mbf框架的导航代码示例。

本文章重点在 第二部分类图解析,第四部分代码解析

1. move_base_flex主体代码结构树


├── mbf_abstract_core (抽象父类,提供控制-局部规划,全局规划,脱困行为基础功能接口)
├── mbf_abstract_nav (抽象导航类,提供控制,规划,脱困执行行为虚函数接口和action对应的状态机以及插件管理器)
├── mbf_costmap_core (子类,基于代价地图costmap实现父类abstract_core的功能接口)
├── mbf_costmap_nav (子类,基于代价地图实现导航功能的接口的设置,action初始化,各接口执行器Execution算法绑定)
├── mbf_msgs (提供局部规划,全局规划,脱困,点到点move_base的action,以及检查路径点代价值等srv)
├── mbf_simple_nav (基于mbf实现简单的导航服务,但是局限性在于没有地图描述。可用于对costmap_nav简化剥离)
└── mbf_utility (mbf框架工具箱,包含速度,里程计获取,坐标变换等)

总结: 这里面的costmap_core,costmap_nav,simple_nav都是属于子类的实现,父类已经把整体流转框架思维写好了。
后续结合mbf类图的参照,就可以实现基于各种不同地图类型的2D,3D导航(如mbf框架

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值