Navigation之 nav_core

nav_core是ROS中导航功能的关键接口包,包含全局规划器、局部规划器和修复行为接口。BaseGlobalPlanner接口有global_planner、navfn和carrot_planner等实现;BaseLocalPlanner接口包括base_local_planner、eband_local_planner和teb_local_planner;RecoveryBehavior接口用于修复机制,如clear_costmap_recovery和rotate_recovery。
摘要由CSDN通过智能技术生成

       https://blog.csdn.net/weixin_37058227/article/details/79368234

       nav_core包 包含了导航功能包集的关键接口。nav_core 使所有规划器(planner)和修复行为机制可以插件的方式在move_base node中使用,且必须继承这些接口,接口如下:

     1、 nav_core::BaseGlobalPlanner支持了供导航中全局规划器使用的接口。 move_base node中使用的所有全局规划器插件都必须继承这个接口。目前使用了nav_core::BaseGlobalPlanner接口的全局规划器有:

    (1)global_planner - 一个快速内插值全局规划器,是对navfn的更灵活的替代(pluginlib name: "global_planner/GlobalPlanner")    

    (2)navfn - 一个基于grid的全局规划器,使用navigation函数计算机器人路径global planner that uses a navigation function to compute a path for a robot. (pluginlib name: "navfn/NavfnROS")

    (3)carrot_planner - 一个简单的全局规划器,移动机器人到用户定义的目标点,即使目标在障碍中也会靠近目标。 (pluginlib name: "

给下列程序添加英文注释:namespace nav_core { /** * @class BaseGlobalPlanner * @brief Provides an interface for global planners used in navigation. All global planners written as plugins for the navigation stack must adhere to this interface. / class BaseGlobalPlanner{ public: /* * @brief Given a goal pose in the world, compute a plan * @param start The start pose * @param goal The goal pose * @param plan The plan... filled by the planner * @return True if a valid plan was found, false otherwise / virtual bool makePlan(const geometry_msgs::PoseStamped& start, const geometry_msgs::PoseStamped& goal, std::vector<geometry_msgs::PoseStamped>& plan) = 0; /* * @brief Given a goal pose in the world, compute a plan * @param start The start pose * @param goal The goal pose * @param plan The plan... filled by the planner * @param cost The plans calculated cost * @return True if a valid plan was found, false otherwise / virtual bool makePlan(const geometry_msgs::PoseStamped& start, const geometry_msgs::PoseStamped& goal, std::vector<geometry_msgs::PoseStamped>& plan, double& cost) { cost = 0; return makePlan(start, goal, plan); } /* * @brief Initialization function for the BaseGlobalPlanner * @param name The name of this planner * @param costmap_ros A pointer to the ROS wrapper of the costmap to use for planning / virtual void initialize(std::string name, costmap_2d::Costmap2DROS costmap_ros) = 0; /** * @brief Virtual destructor for the interface */ virtual ~BaseGlobalPlanner(){} protected: BaseGlobalPlanner(){} }; }; // namespace nav_core #endif // NAV_CORE_BASE_GLOBAL_PLANNER_H
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值