29 #ifndef VIGIR_FOOTSTEP_PLANNING_LIB_HELPER_H__ 30 #define VIGIR_FOOTSTEP_PLANNING_LIB_HELPER_H__ 35 #include <boost/function.hpp> 36 #include <boost/bind.hpp> 41 #include <nav_msgs/OccupancyGrid.h> 43 #include <vigir_generic_params/generic_params_msgs.h> 45 #include <vigir_footstep_planning_msgs/footstep_planning_msgs.h> 51 template <
typename ActionSpec>
71 template <
typename ActionSpec>
87 template <
typename S>
void finish(
const S& result)
89 if (hasError(result.status))
90 this->setAborted(result, toString(result.status));
92 this->setSucceeded(result, toString(result.status));
100 static Ptr
create(
ros::NodeHandle nh, std::string name,
bool auto_start, ExecuteCallback execute_cb, PreemptCallback preempt_cb = PreemptCallback())
104 as->registerGoalCallback(execute_cb);
106 if (!preempt_cb.empty())
108 as->registerPreemptCallback(preempt_cb);
122 msgs::ErrorStatus
transform(msgs::StepPlan& step_plan,
ros::ServiceClient& transform_step_plan_client,
const std::string& target_frame);
124 template <
typename T>
127 return transform(p, foot_pose_transformer_client,
"planner");
130 template <
typename T>
133 return transform(p, foot_pose_transformer_client,
"robot");
148 bool getGridMapCoords(
const nav_msgs::OccupancyGrid& map,
double x,
double y,
int& map_x,
int& map_y);
149 bool getGridMapIndex(
const nav_msgs::OccupancyGrid& map,
double x,
double y,
int& idx);
TFSIMD_FORCE_INLINE const tfScalar & y() const
void setPreempted(const Result &result=Result(), const std::string &text=std::string(""))
TFSIMD_FORCE_INLINE const tfScalar & x() const