Public Member Functions | Private Member Functions | Private Attributes | List of all members
CostMapCalculation Class Reference

#include <hector_costmap.h>

Public Member Functions

void callbackElevationMap (const hector_elevation_msgs::ElevationGridConstPtr &elevation_map_msg)
 callbackElevationMap get called if a new elevation map is available More...
 
void callbackGridMap (const nav_msgs::OccupancyGridConstPtr &grid_map_msg)
 callbackGridMap get called if a new 2D grid map is available More...
 
void callbackPointCloud (const sensor_msgs::PointCloud2ConstPtr &cloud_msg)
 callbackOctoMap get called if a new octo map is available More...
 
 CostMapCalculation ()
 Default constructor. More...
 
void dynRecParamCallback (hector_costmap::CostMapCalculationConfig &config, uint32_t level)
 dynRecParamCallback This function get called if new parameters has been set with the dynamic reconfigure dialog More...
 
void sysMessageCallback (const std_msgs::String &string)
 sysMessageCallback This function listen to system messages More...
 
void timerCallback (const ros::TimerEvent &event)
 timerCallback publishes periodically a new 2D cost map More...
 
void updateMapParamsCallback (const nav_msgs::MapMetaData &map_meta_data)
 updateMapParamsCallback updates the map meta information if someone has changed it More...
 
 ~CostMapCalculation ()
 Default deconstructor. More...
 

Private Member Functions

bool calculateCostMap (char map_level)
 This function fuses the elevation and grid map und calculates the 2d cost map. More...
 
bool calculateCostMap_old (char map_level)
 This function fuses the elevation and grid map und calculates the 2d cost map. More...
 
bool computeWindowIndices (ros::Time time, double update_radius)
 Computes the indices for the bounding box thats get updated. More...
 

Private Attributes

bool allow_elevation_map_to_clear_occupied_cells
 
nav_msgs::OccupancyGrid cloud_cost_map
 
nav_msgs::OccupancyGrid cost_map
 
std::string cost_map_topic
 
double costmap_pub_freq
 
dynamic_reconfigure::Server< hector_costmap::CostMapCalculationConfig > dyn_rec_server_
 
nav_msgs::OccupancyGrid elevation_cost_map
 
cv::Mat elevation_cost_map_
 
cv::Mat elevation_map_
 
cv::Mat elevation_map_filtered
 
std::string elevation_map_topic
 
int elevation_zero_level
 
cv::Mat grid_map_
 
nav_msgs::OccupancyGridConstPtr grid_map_msg_
 
std::string grid_map_topic
 
double grid_res_z
 
double initial_free_cells_radius
 
tf::TransformListener listener
 
std::string local_transform_frame_id
 
std::string map_frame_id
 
int max_clear_size
 
double max_delta_elevation
 
Eigen::Vector2i max_index
 
Eigen::Vector2i min_index
 
ros::NodeHandle nHandle
 
ros::NodeHandle pnHandle
 
std::string point_cloud_topic
 
ros::Publisher pub_cloud_slice
 
ros::Publisher pub_cost_map
 
bool received_elevation_map
 
bool received_grid_map
 
bool received_point_cloud
 
pcl::PointCloud< pcl::PointXYZ >::Ptr sliced_cloud
 
double slize_max_height
 
double slize_min_height
 
ros::Subscriber sub_elevation_map
 
ros::Subscriber sub_grid_map
 
ros::Subscriber sub_map_info
 
ros::Subscriber sub_point_cloud
 
ros::Subscriber sub_sysMessage
 
std::string sys_msg_topic
 
ros::Timer timer
 
double update_radius_world
 
bool use_cloud_map
 
bool use_elevation_map
 
bool use_grid_map
 
HectorMapTools::CoordinateTransformer< float > world_map_transform
 

Detailed Description

Definition at line 27 of file hector_costmap.h.

Constructor & Destructor Documentation

CostMapCalculation::CostMapCalculation ( )

Default constructor.

Definition at line 21 of file hector_costmap.cpp.

CostMapCalculation::~CostMapCalculation ( )

Default deconstructor.

Definition at line 113 of file hector_costmap.cpp.

Member Function Documentation

bool CostMapCalculation::calculateCostMap ( char  map_level)
private

This function fuses the elevation and grid map und calculates the 2d cost map.

Parameters
[in]map_levelset the method to calculate the 2d cost map (binary encoded)
Return values
trueif everything went fine, otherwise false

Definition at line 675 of file hector_costmap.cpp.

bool CostMapCalculation::calculateCostMap_old ( char  map_level)
private

This function fuses the elevation and grid map und calculates the 2d cost map.

Parameters
[in]map_levelset the method to calculate the 2d cost map
Return values
trueif everything went fine, otherwise false

Definition at line 440 of file hector_costmap.cpp.

void CostMapCalculation::callbackElevationMap ( const hector_elevation_msgs::ElevationGridConstPtr &  elevation_map_msg)

callbackElevationMap get called if a new elevation map is available

Parameters
[in]elevation_map_msgstores an elevation map as a 2.5D grid

Definition at line 225 of file hector_costmap.cpp.

void CostMapCalculation::callbackGridMap ( const nav_msgs::OccupancyGridConstPtr &  grid_map_msg)

callbackGridMap get called if a new 2D grid map is available

Parameters
[in]grid_map_msgstores 2D grid map data

Definition at line 390 of file hector_costmap.cpp.

void CostMapCalculation::callbackPointCloud ( const sensor_msgs::PointCloud2ConstPtr &  cloud_msg)

callbackOctoMap get called if a new octo map is available

Parameters
[in]octo_map_msgstores an octo map as a 3D point cloud

Definition at line 309 of file hector_costmap.cpp.

bool CostMapCalculation::computeWindowIndices ( ros::Time  time,
double  update_radius 
)
private

Computes the indices for the bounding box thats get updated.

Parameters
[in]timeCurrent time is needed
[in]update_radiusdetermines the size of the bounding box in [m]
Return values
trueif everything went fine, otherwise false

Definition at line 754 of file hector_costmap.cpp.

void CostMapCalculation::dynRecParamCallback ( hector_costmap::CostMapCalculationConfig &  config,
uint32_t  level 
)

dynRecParamCallback This function get called if new parameters has been set with the dynamic reconfigure dialog

Parameters
[in]configcontains current parameters
[in]levelis unused

Definition at line 148 of file hector_costmap.cpp.

void CostMapCalculation::sysMessageCallback ( const std_msgs::String &  string)

sysMessageCallback This function listen to system messages

Parameters
[in]stringparameter contains system messages, like "reset"

Definition at line 119 of file hector_costmap.cpp.

void CostMapCalculation::timerCallback ( const ros::TimerEvent event)

timerCallback publishes periodically a new 2D cost map

Parameters
[in]eventis unused

Definition at line 213 of file hector_costmap.cpp.

void CostMapCalculation::updateMapParamsCallback ( const nav_msgs::MapMetaData &  map_meta_data)

updateMapParamsCallback updates the map meta information if someone has changed it

Parameters
[in]map_meta_datamap meta information like grid resolution or origin

Definition at line 159 of file hector_costmap.cpp.

Member Data Documentation

bool CostMapCalculation::allow_elevation_map_to_clear_occupied_cells
private

Definition at line 104 of file hector_costmap.h.

nav_msgs::OccupancyGrid CostMapCalculation::cloud_cost_map
private

Definition at line 112 of file hector_costmap.h.

nav_msgs::OccupancyGrid CostMapCalculation::cost_map
private

Definition at line 112 of file hector_costmap.h.

std::string CostMapCalculation::cost_map_topic
private

Definition at line 116 of file hector_costmap.h.

double CostMapCalculation::costmap_pub_freq
private

Definition at line 106 of file hector_costmap.h.

dynamic_reconfigure::Server<hector_costmap::CostMapCalculationConfig> CostMapCalculation::dyn_rec_server_
private

Definition at line 92 of file hector_costmap.h.

nav_msgs::OccupancyGrid CostMapCalculation::elevation_cost_map
private

Definition at line 112 of file hector_costmap.h.

cv::Mat CostMapCalculation::elevation_cost_map_
private

Definition at line 114 of file hector_costmap.h.

cv::Mat CostMapCalculation::elevation_map_
private

Definition at line 114 of file hector_costmap.h.

cv::Mat CostMapCalculation::elevation_map_filtered
private

Definition at line 114 of file hector_costmap.h.

std::string CostMapCalculation::elevation_map_topic
private

Definition at line 116 of file hector_costmap.h.

int CostMapCalculation::elevation_zero_level
private

Definition at line 102 of file hector_costmap.h.

cv::Mat CostMapCalculation::grid_map_
private

Definition at line 114 of file hector_costmap.h.

nav_msgs::OccupancyGridConstPtr CostMapCalculation::grid_map_msg_
private

Definition at line 110 of file hector_costmap.h.

std::string CostMapCalculation::grid_map_topic
private

Definition at line 116 of file hector_costmap.h.

double CostMapCalculation::grid_res_z
private

Definition at line 101 of file hector_costmap.h.

double CostMapCalculation::initial_free_cells_radius
private

Definition at line 100 of file hector_costmap.h.

tf::TransformListener CostMapCalculation::listener
private

Definition at line 94 of file hector_costmap.h.

std::string CostMapCalculation::local_transform_frame_id
private

Definition at line 117 of file hector_costmap.h.

std::string CostMapCalculation::map_frame_id
private

Definition at line 117 of file hector_costmap.h.

int CostMapCalculation::max_clear_size
private

Definition at line 105 of file hector_costmap.h.

double CostMapCalculation::max_delta_elevation
private

Definition at line 103 of file hector_costmap.h.

Eigen::Vector2i CostMapCalculation::max_index
private

Definition at line 119 of file hector_costmap.h.

Eigen::Vector2i CostMapCalculation::min_index
private

Definition at line 119 of file hector_costmap.h.

ros::NodeHandle CostMapCalculation::nHandle
private

Definition at line 80 of file hector_costmap.h.

ros::NodeHandle CostMapCalculation::pnHandle
private

Definition at line 81 of file hector_costmap.h.

std::string CostMapCalculation::point_cloud_topic
private

Definition at line 116 of file hector_costmap.h.

ros::Publisher CostMapCalculation::pub_cloud_slice
private

Definition at line 84 of file hector_costmap.h.

ros::Publisher CostMapCalculation::pub_cost_map
private

Definition at line 83 of file hector_costmap.h.

bool CostMapCalculation::received_elevation_map
private

Definition at line 104 of file hector_costmap.h.

bool CostMapCalculation::received_grid_map
private

Definition at line 104 of file hector_costmap.h.

bool CostMapCalculation::received_point_cloud
private

Definition at line 104 of file hector_costmap.h.

pcl::PointCloud<pcl::PointXYZ>::Ptr CostMapCalculation::sliced_cloud
private

Definition at line 109 of file hector_costmap.h.

double CostMapCalculation::slize_max_height
private

Definition at line 107 of file hector_costmap.h.

double CostMapCalculation::slize_min_height
private

Definition at line 107 of file hector_costmap.h.

ros::Subscriber CostMapCalculation::sub_elevation_map
private

Definition at line 86 of file hector_costmap.h.

ros::Subscriber CostMapCalculation::sub_grid_map
private

Definition at line 87 of file hector_costmap.h.

ros::Subscriber CostMapCalculation::sub_map_info
private

Definition at line 90 of file hector_costmap.h.

ros::Subscriber CostMapCalculation::sub_point_cloud
private

Definition at line 88 of file hector_costmap.h.

ros::Subscriber CostMapCalculation::sub_sysMessage
private

Definition at line 89 of file hector_costmap.h.

std::string CostMapCalculation::sys_msg_topic
private

Definition at line 116 of file hector_costmap.h.

ros::Timer CostMapCalculation::timer
private

Definition at line 96 of file hector_costmap.h.

double CostMapCalculation::update_radius_world
private

Definition at line 100 of file hector_costmap.h.

bool CostMapCalculation::use_cloud_map
private

Definition at line 104 of file hector_costmap.h.

bool CostMapCalculation::use_elevation_map
private

Definition at line 104 of file hector_costmap.h.

bool CostMapCalculation::use_grid_map
private

Definition at line 104 of file hector_costmap.h.

HectorMapTools::CoordinateTransformer<float> CostMapCalculation::world_map_transform
private

Definition at line 98 of file hector_costmap.h.


The documentation for this class was generated from the following files:


hector_costmap
Author(s):
autogenerated on Mon Jun 10 2019 13:34:32