最新消息:

ROS与navigation教程-nav_core

ROS1/一代机器人系统 少儿编程 1996浏览 0评论
ROS与navigation教程

ROS与navigation教程-nav_core

说明:

  • 介绍了nave_core的概念和其相关知识

代码库

  • 参考链接: https://github.com/ros-planning/navigation.git

概要

  • nav_core包包含了导航功能包的关键接口。

  • 所有规划器和修复行为机制可以以插件方式在move_base node中使用,且必须继承这些接口。

ROS与navigation教程-nav_core

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

参考资料

  • http://wiki.ros.org/nav_core

  • http://blog.csdn.net/x_r_su/article/details/53379676

您必须 登录 才能发表评论!