Go to the documentation of this file. 1 #ifndef ABSTRACT_ROBOT_DECORATOR_
2 #define ABSTRACT_ROBOT_DECORATOR_
6 #include <moveit/planning_pipeline/planning_pipeline.h>
7 #include <moveit/planning_scene_interface/planning_scene_interface.h>
8 #include <moveit/move_group_interface/move_group_interface.h>
9 #include <moveit_msgs/ApplyPlanningScene.h>
10 #include <moveit/robot_model_loader/robot_model_loader.h>
11 #include <moveit/planning_scene/planning_scene.h>
12 #include <moveit/kinematic_constraints/utils.h>
13 #include <gb_grasp/MapGenerator.h>
24 std::unique_ptr<AbstractRobot>
next_;
25 std::shared_ptr<moveit::planning_interface::MoveGroupInterface>
mgi_;
26 std::shared_ptr<moveit::planning_interface::MoveGroupInterface>
mgi_hand_;
28 std::map<std::string, std::string>
map_;
40 :
AbstractRobot(
"blanc", tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(0,0,0)), tf2::Vector3(0,0,0))
47 std::string&
name()
override {
return next_->name();}
50 bool checkSingleObjectCollision(tf2::Transform& obj, std::string& robot_element, std::bitset<3>& panel_mask)
override {
return next_->checkSingleObjectCollision(obj, robot_element, panel_mask);}
53 tf2::Transform&
tf()
override {
return next_->tf();}
56 tf2::Vector3&
size()
override {
return next_->size();}
62 std::vector<tf2::Transform>&
bounds()
override {
return next_->bounds();}
85 inline std::map<std::string, std::string>& map(){
return map_;}
87 inline std::shared_ptr<moveit::planning_interface::MoveGroupInterface>
mgi() {
return mgi_;}
88 inline std::shared_ptr<moveit::planning_interface::MoveGroupInterface>
mgiHand() {
return mgi_hand_;}
void notify() override
Redirects notify call to next_.
AbstractRobotDecorator(std::unique_ptr< AbstractRobot > next)
Abstract Robot Decorator.
virtual void spezifieRootBounds()=0
Pure virtual function to specify root bounds.
std::unique_ptr< AbstractRobot > next_
Abstract Robot which is mimiced.
bool checkSingleObjectCollision(tf2::Transform &obj, std::string &robot_element, std::bitset< 3 > &panel_mask) override
Redirects check_single_object_collision call.
std::map< std::string, std::string > map_
//!< Mapping of specific task constructor variables
tf2::Transform & rootTf() override
Redirects root_tf call to next_.
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > mgiHand()
tf2::Transform & tf() override
Redirects tf call to next_.
virtual void spezifieRobotGroups()=0
Pure virtual function to specify root groupts.
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > mgi_
MoveGroup Interface for the robots arm.
std::string pattern_
Regexpattern.
Abstract Robot implementation.
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > mgi_hand_
MoveGroup Interface for the Robots manipulator.
std::vector< tf2::Transform > & bounds() override
Redirects bounds call to next_.
AbstractRobot * next()
Call of mimiced objects.
std::string & name() override
Redirects name call to next_.
Abstract Robot Decorator.
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > mgi()
std::vector< tf2::Transform > & robotRootBounds() override
Redirects robot_root_bounds call to next_.
tf2::Vector3 & size() override
Redirects size call to next_.
std::shared_ptr< MapGenerator > grasp_map_generator_
Coming soon.