29 #ifndef VIGIR_FOOTSTEP_PLANNING_TERRAIN_MODEL_H__ 30 #define VIGIR_FOOTSTEP_PLANNING_TERRAIN_MODEL_H__ 34 #include <boost/thread/mutex.hpp> 36 #include <pcl/point_cloud.h> 38 #include <vigir_footstep_planning_lib/modeling/state.h> 40 #include <vigir_footstep_planning_plugins/plugins/terrain_model_plugin.h> 42 #include <vigir_terrain_classifier/terrain_model.h> 49 :
public TerrainModelPlugin
54 bool initialize(
const vigir_generic_params::ParameterSet& params = vigir_generic_params::ParameterSet())
override;
56 bool loadParams(
const vigir_generic_params::ParameterSet& params = vigir_generic_params::ParameterSet())
override;
61 bool isAccessible(
const State& next,
const State& current)
const override;
69 bool getPointWithNormal(
const pcl::PointNormal& p_search, pcl::PointNormal& p_result)
const override;
70 bool getHeight(
double x,
double y,
double& height)
const override;
71 bool getFootContactSupport(
const geometry_msgs::Pose& p,
double& support, pcl::PointCloud<pcl::PointXYZI>::Ptr checked_positions = pcl::PointCloud<pcl::PointXYZI>::Ptr())
const override;
72 bool getFootContactSupport(
const tf::Pose& p,
double& support, pcl::PointCloud<pcl::PointXYZI>::Ptr checked_positions = pcl::PointCloud<pcl::PointXYZI>::Ptr())
const;
74 bool update3DData(geometry_msgs::Pose& p)
const override;
82 bool getFootContactSupport(
const tf::Pose& p,
double &support,
unsigned int sampling_steps_x,
unsigned int sampling_steps_y, pcl::PointCloud<pcl::PointXYZI>::Ptr checked_positions = pcl::PointCloud<pcl::PointXYZI>::Ptr())
const;