29 #ifndef STEP_CONTROLLER_PLUGIN_H__ 30 #define STEP_CONTROLLER_PLUGIN_H__ 34 #include <vigir_pluginlib/plugin.h> 36 #include <vigir_footstep_planning_plugins/plugins/step_plan_msg_plugin.h> 69 :
public vigir_pluginlib::Plugin
83 virtual void setStepPlanMsgPlugin(vigir_footstep_planning::StepPlanMsgPlugin::Ptr plugin);
95 int getNextStepIndexNeeded()
const;
101 int getLastStepIndexSent()
const;
107 const msgs::ExecuteStepPlanFeedback& getFeedbackState()
const;
112 void updateQueueFeedback();
124 virtual bool updateStepPlan(
const msgs::StepPlan& step_plan);
130 virtual void initWalk() = 0;
162 virtual bool executeStep(
const msgs::Step& step) = 0;
174 virtual void reset();
178 void setNextStepIndexNeeded(
int index);
180 void setLastStepIndexSent(
int index);
182 void setFeedbackState(
const msgs::ExecuteStepPlanFeedback& feedback);
std::string toString(const StepControllerState &state)
boost::shared_mutex plugin_mutex_
msgs::ExecuteStepPlanFeedback feedback_state_
boost::shared_ptr< const StepControllerPlugin > ConstPtr
The StepControllerPlugin class provides the basic interface in order to handle robot-specific behavio...
int last_step_index_sent_
vigir_footstep_planning::StepPlanMsgPlugin::Ptr step_plan_msg_plugin_
boost::shared_ptr< StepControllerPlugin > Ptr
StepQueue::Ptr step_queue_
StepControllerState state_
int next_step_index_needed_