ROS与navigation教程-nav_core
ROS与navigation教程-nav_core
说明:
- 介绍了nave_core的概念和其相关知识
代码库
概要
nav_core包包含了导航功能包的关键接口。
所有规划器和修复行为机制可以以插件方式在move_base node中使用,且必须继承这些接口。
BaseGlobalPlanner
nav_core::BaseGlobalPlanner支持了供导航中全局路径规划器使用的接口。
move_base node中使用的所有全局路径规划器插件都必须继承这个接口。
目前使用了nav_core::BaseGlobalPlanner接口的全局规划器有:
global_planner : 一个快速内插值全局规划器,是对navfn的更灵活的替代(pluginlib name: "global_planner/GlobalPlanner")
navfn 一个使用navigation函数计算机器人路径且基于栅格的全局规划器(pluginlib name: "navfn/NavfnROS")
carrot_planner : 一个简单的全局路径规划器,作用是尽可能地移动机器人到用户指定的目标位置,即使目标在障碍中也会靠近目标。 (pluginlib name: "carrot_planner/CarrotPlanner")
( 1 ) API Stability
- C++ API 是稳定的。
( 2 ) BaseGlobalPlanner C++ API
- 有关nav_core :: BaseGlobalPlanner的C ++ API的文档可以在这里找到:BaseGlobalPlanner documentation 。
BaseLocalPlanner
nav_core::BaseLocalPlanner给导航中使用局部路径规划器提供接口。
move_base中所有局部规划器插件必须继承该接口。
目前nav_core::BaseLocalPlanner接口包括:
base_local_planner : 提供用Dynamic Window and Trajectory Rollout approaches来做局部规划控制
eband_local_planner : Implements the Elastic Band method on the SE2 manifold .
teb_local_planner : 实现用于在线轨迹优化的Timed-Elastic-Band方法。
( 1 ) API Stability
- C++ API 是稳定的。
( 2 ) BaseLocalPlanner C++ API
- 有关 nav_core::BaseGlobalPlanner 的 C ++ API 的文档可以在这里找到: BaseLocalPlanner Documentation.
RecoveryBehavior
nav_core::RecoveryBehavior提供了导航中修复机制接口。
move_base中所有修复机制插件必须继承该接口。
目前使用了nav_core::RecoveryBehavior接口的主要有:
clear_costmap_recovery : 将用户定义的某个范围外的代价地图回退到静态地图。
rotate_recovery : 执行360度旋转来清理出空间。
( 1 ) API Stability
- C++ API 是稳定的。
( 2 ) RecoveryBehavior C++ API
- 有关 nav_core::RecoveryBehavior 的 C ++ API 的文档可以在这里找到: RecoveryBehavior Documentation
参考资料
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号