moveit_task_constructor/include/moveit_task_constructor/task.h
v4hn 07b1a72030 add planning pipeline to task and subtasks
This allows to plan in the subtasks without ROS communication
2017-03-05 13:06:16 +01:00

52 lines
801 B
C++

// copyright Michael 'v4hn' Goerner @ 2017
#pragma once
#include <moveit/macros/class_forward.h>
#include <vector>
namespace planning_scene {
MOVEIT_CLASS_FORWARD(PlanningScene);
}
namespace robot_model_loader {
MOVEIT_CLASS_FORWARD(RobotModelLoader);
}
namespace planning_pipeline {
MOVEIT_CLASS_FORWARD(PlanningPipeline);
}
namespace moveit::task_constructor {
MOVEIT_CLASS_FORWARD(SubTask);
MOVEIT_CLASS_FORWARD(Task);
class Task {
public:
Task();
~Task();
void addStart( SubTaskPtr );
void addAfter( SubTaskPtr );
bool plan();
void printState();
protected:
void addSubTask( SubTaskPtr );
std::vector<SubTaskPtr> subtasks_;
planning_scene::PlanningScenePtr scene_;
robot_model_loader::RobotModelLoaderPtr rml_;
planning_pipeline::PlanningPipelinePtr planner_;
};
}