foot_grid_map_model.cpp
Go to the documentation of this file.
2 
3 
4 
6 {
7 FootGridMapModel::FootGridMapModel(const std::string& name)
8  : GridMapModel(name)
9 {
10 }
11 
12 bool FootGridMapModel::initialize(const vigir_generic_params::ParameterSet& params)
13 {
14  if (!GridMapModel::initialize(params))
15  return false;
16 
17  // get foot dimensions
18  getFootSize(nh_, foot_size);
19 
20  return true;
21 }
22 
23 bool FootGridMapModel::isAccessible(const State& s) const
24 {
25  boost::shared_lock<boost::shared_mutex> lock(grid_map_shared_mutex_);
26 
27  if (!occupancy_grid_map_)
28  {
29  ROS_ERROR_THROTTLE(10, "[FootGridMapModel] No ground level grid map available yet.");
30  return true;
31  }
32 
33  double x = s.getX();
34  double y = s.getY();
35 
36  double theta = s.getYaw();
37 
38  // collision check for the foot center
39  return !collision_check(x, y, cos(theta), sin(theta), foot_size.x, foot_size.y);
40 }
41 }
42 
43 #include <pluginlib/class_list_macros.h>
44 PLUGINLIB_EXPORT_CLASS(vigir_footstep_planning::FootGridMapModel, vigir_footstep_planning::CollisionCheckPlugin)
bool collision_check(double x, double y, double cos_theta, double sin_theta, double height, double width) const
Checks if a footstep (represented by its center and orientation) collides with an obstacle...
#define ROS_ERROR_THROTTLE(rate,...)
bool initialize(const vigir_generic_params::ParameterSet &params=vigir_generic_params::ParameterSet()) override
bool isAccessible(const State &s) const override
FootGridMapModel(const std::string &name="foot_grid_map_model")


vigir_footstep_planning_default_plugins
Author(s): Alexander Stumpf
autogenerated on Sun Nov 17 2019 03:30:01