ROS naviagtion analysis: move_base】的更多相关文章

博客转载自:https://blog.csdn.net/u013158492/article/details/50483123 这是navigation的第一篇文章,主要通过分析ROS代码级实现,了解navigation.本文从move_base入手. 机器人导航主要框架 Navigation Stack主要组成部分:move_base 用户调用movebase是通过传入带tf参数的构造函数: move_base::MoveBase move_base( tf ); 以下分析move_base的…
博客转载自:https://blog.csdn.net/u013158492/article/details/50493676 构造函数 ObstacleLayer() { costmap_ = NULL; // this is the unsigned char* member of parent class Costmap2D.这里指明了costmap_指针保存了Obstacle这一层的地图数据 } 对于ObstacleLater,首先分析其需要实现的Layer层的方法: virtual v…
博客转载自:https://blog.csdn.net/u013158492/article/details/50493246 从UML中能够看到,StaticLayer主要是在实现Layer层要求实现的接口. virtual void onInitialize(); virtual void activate(); virtual void deactivate(); virtual void reset(); virtual void updateBounds(double robot_x,…
博客转自:https://blog.csdn.net/u013158492/article/details/50490490 在数据成员中,有两个重要的变量:Costmap2D costmap_和 std::vector<boost::shared_ptr<Layer> > plugins_ . 这个类相对比较简单,首先来看构造函数: LayeredCostmap::LayeredCostmap(std::string global_frame, bool rolling_wind…
博客转载自:https://blog.csdn.net/u013158492/article/details/50485418 在上一篇文章中moveBase就有关于costmap_2d的使用: planner_costmap_ros_是用于全局导航的地图,controller_costmap_ros_是局部导航用的地图,地图类型为经过ROS封装的costmap_2d::Costmap2DROS*. ROS Costmap2DROS类的UML 看看这个类的成员变量:LayeredCostmap*…
博客转自:https://blog.csdn.net/u013158492/article/details/50493220 这个类是为ObstacleLayer StaticLayer voxelLayer 这种维护了自己所在层的地图数据的类,提供了一些公共的操作方法. 从UML中可以看到,这个类提供了以下方法,这些方法的参数列表均为(costmap_2d::Costmap2D& master_grid, int min_i, int min_j, int max_i, int max_j)…
博客转载自:https://blog.csdn.net/u013158492/article/details/50493113 这个类中有一个LayeredCostmap* layered_costmap_数据成员,这个数据成员很重要,因为这个类就是通过这个指针获取到的对master map的操作.没有这个指针,所有基于Layer继承下去的地图的类,都无法操作master map. 这个类基本上没有什么实质性的操作,主要是提供了统一的接口,要求子类必须实现这些方法.这样plugin使用的时候,就…
博客转载自:https://blog.csdn.net/u013158492/article/details/50492506 Costmap2D是存储地图数据的父类.真正的地图数据就存储在数据成员unsigned char *costmap_ . 首先,分析类的构造函数:,默认构造函数:Costmap2D::Costmap2D()  // just initialize everything to NULL by default Costmap2D::Costmap2D() : size_x_…
一.概述 目测是全网最全的解析,花了几个小时通读并整理的,供大家参考学习. 概况的话可以看下古月居 https://www.guyuehome.com/270,其实它是翻译官方的,英语ok的可以去ros wiki翻看原版. 重点:navfn包 全局规划(Dji算法).base_local_planner包 局部规划(Trajectory Rollout 和Dynamic Window approaches算法) 二.move_base.h #ifndef NAV_MOVE_BASE_ACTION…
目标:测试social_navigation_layers 方法: 使用move_base接口启动costmap_2d 这样就能直接用configure方法来进行测试不用自己写代码 一.启动move_base 1.launch file <launch> <!-- Launch move_base and load all navigation parameters --> <include file="$(find costmap_test)/config/mov…