ROS naviagtion analysis: costmap_2d--Layer
来源:互联网 发布:逐点圆弧插补算法 编辑:程序博客网 时间:2024/05/19 23:25
这个类中有一个LayeredCostmap* layered_costmap_
数据成员,这个数据成员很重要,因为这个类就是通过这个指针获取到的对master map的操作。没有这个指针,所有基于Layer继承下去的地图的类,都无法操作master map。
这个类基本上没有什么实质性的操作,主要是提供了统一的接口,要求子类必须实现这些方法。这样plugin使用的时候,就可以不用管具体是什么类型的map,反正都有同样的方法名。
以下是这个类实现的两个方法,其他的方法基本上都是virtual ,要求子类实现。
void Layer::initialize(LayeredCostmap* parent, std::string name, tf::TransformListener *tf){ layered_costmap_ = parent; name_ = name; tf_ = tf; onInitialize();}const std::vector<geometry_msgs::Point>& Layer::getFootprint() const{ return layered_costmap_->getFootprint();}
重要的几个virtual方法:
virtual void updateBounds(double robot_x, double robot_y, double robot_yaw, double* min_x, double* min_y, double* max_x, double* max_y) {} /** * @brief Actually update the underlying costmap, only within the bounds * calculated during UpdateBounds(). */ virtual void updateCosts(Costmap2D& master_grid, int min_i, int min_j, int max_i, int max_j) {} /** @brief Stop publishers. */ virtual void deactivate() {} /** @brief Restart publishers if they've been stopped. */ virtual void activate() {} virtual void reset() {}
这个类就这么多内容,接下来进入真正干活的几个类分析:
ObstacleLayerInflationLayerStaticLayerVoxelLayer
0 0
- ROS naviagtion analysis: costmap_2d--Layer
- ROS naviagtion analysis: costmap_2d--Costmap2DROS
- ROS naviagtion analysis: costmap_2d--LayeredCostmap
- ROS naviagtion analysis: costmap_2d--Costmap2D
- ROS naviagtion analysis: costmap_2d--CostmapLayer
- ROS naviagtion analysis: costmap_2d--StaticLayer
- ROS naviagtion analysis: costmap_2d--ObstacleLayer
- ROS naviagtion analysis: costmap_2d--InflationLayer
- ROS naviagtion analysis: move_base
- ROS Navigation-----costmap_2d简介
- ROS导航包之costmap_2d
- ROS Navigation-----costmap_2d之range_sensor_layer简介
- ROS Navigation-----costmap_2d之social_navigation_layers简介
- ROS Navigation-----costmap_2d之staticmap层简介
- ROS Navigation-----costmap_2d之inflation层简介
- ROS Navigation-----costmap_2d之obstacle层简介
- costmap_2d及创建新的costmap layer plugin
- ROS Navigation-----costmap_2d之创建自定义用户层
- grunt[mismatched:define]
- springmvc(五)springmvc和mybatis整合
- 2014年终总结
- LeetCode-49-Group Anagrams(哈希)-Medium
- 共享锁(S锁)和排它锁(X锁)
- ROS naviagtion analysis: costmap_2d--Layer
- IOS之UIWebView的使用
- iOS沙盒机制(sandBox)
- oracle数据库自动启动关闭
- 【Unity Shader】unity海边波浪效果的实现
- java中字符串的截取
- 2014年11月4日星期二(DEMO10-1,3D裁剪)
- unix网络编程之socket:epoll 系列函数简介、与select、poll 的区别
- PL/SQL报错:“ORA-12154: TNS:无法解析指定的连接标识符”