00001 00004 /***************************************************************************** 00005 ** Ifdefs 00006 *****************************************************************************/ 00007 00008 #ifndef cost_map_demos_FROM_ROS_COSTMAPS_HPP_ 00009 #define cost_map_demos_FROM_ROS_COSTMAPS_HPP_ 00010 00011 /***************************************************************************** 00012 ** Includes 00013 *****************************************************************************/ 00014 00015 #include <cost_map_core/cost_map_core.hpp> 00016 #include <costmap_2d/costmap_2d_ros.h> 00017 #include <memory> 00018 #include <string> 00019 00020 #include "utilities.hpp" 00021 00022 /***************************************************************************** 00023 ** Namespaces 00024 *****************************************************************************/ 00025 00026 namespace cost_map_demos { 00027 00028 /***************************************************************************** 00029 ** Costmap2DROS Demo/Test Classes 00030 *****************************************************************************/ 00041 class ROSCostmapServer { 00042 public: 00043 typedef costmap_2d::Costmap2DROS ROSCostmap; 00044 typedef std::shared_ptr<ROSCostmap> ROSCostmapPtr; 00045 00046 ROSCostmapServer(const std::string& name, 00047 const std::string& base_link_transform_name, 00048 const cost_map::Position& origin, 00049 const double& width, 00050 const double& height 00051 ); 00052 00053 ROSCostmapPtr getROSCostmap() { return costmap; }; 00054 00055 private: 00056 ROSCostmapPtr costmap; 00057 tf::TransformListener transform_listener; 00058 }; 00059 00060 00061 /***************************************************************************** 00062 ** Costmap2DROS Demo/Test Suite Helpers 00063 *****************************************************************************/ 00064 00071 void broadcastCostmap2DROSTestSuiteTransforms(TransformBroadcaster& broadcaster); 00072 00073 /***************************************************************************** 00074 ** Trailers 00075 *****************************************************************************/ 00076 00077 } // namespace cost_map_demos 00078 00079 #endif /* cost_map_demos_FROM_ROS_COSTMAPS_HPP_ */