3 #include <vigir_footstep_planning_plugins/plugin_aggregators/robot_model.h> 4 #include <vigir_footstep_planning_plugins/plugin_aggregators/world_model.h> 5 #include <vigir_footstep_planning_plugins/plugin_aggregators/step_cost_estimator.h> 6 #include <vigir_footstep_planning_plugins/plugin_aggregators/post_processor.h> 30 if (
state_.getPredState() ==
nullptr)
34 State& new_state =
next->getState();
39 const State& left_foot =
state_.getLeg() == LEFT ?
state_.getState() :
state_.getPredState()->getState();
40 const State& right_foot =
state_.getLeg() == RIGHT ?
state_.getState() :
state_.getPredState()->getState();
43 WorldModel::instance().update3DData(new_state);
46 PostProcessor::instance().postProcessForward(left_foot, right_foot, new_state);
50 if (!RobotModel::instance().isReachable(left_foot, right_foot, new_state))
54 if (!WorldModel::instance().isAccessible(new_state,
state_.getState()))
59 if (!StepCostEstimator::instance().getCost(left_foot, right_foot, new_state, cost, risk))
64 new_state.setCost(cost);
65 new_state.setRisk(risk);