abstract_robot_decorator.h
Go to the documentation of this file.
1 #ifndef ABSTRACT_ROBOT_DECORATOR_
2 #define ABSTRACT_ROBOT_DECORATOR_
3 
4 #include "ros/ros.h"
5 #include "robot/abstract_robot.h"
6 
7 #include <moveit/planning_pipeline/planning_pipeline.h>
8 #include <moveit/planning_scene_interface/planning_scene_interface.h>
9 #include <moveit/move_group_interface/move_group_interface.h>
10 #include <moveit_msgs/ApplyPlanningScene.h>
11 #include <moveit/robot_model_loader/robot_model_loader.h>
12 #include <moveit/planning_scene/planning_scene.h>
13 #include <moveit/kinematic_constraints/utils.h>
14 
15 
16 #include <gb_grasp/MapGenerator.h>
17 
19  protected:
20  std::unique_ptr<Abstract_robot> next_;
21  std::shared_ptr<moveit::planning_interface::MoveGroupInterface> mgi_;
22  std::shared_ptr<moveit::planning_interface::MoveGroupInterface> mgi_hand_;
23 
24  std::map<std::string, std::string> map_;
25  std::shared_ptr<MapGenerator> grasp_map_generator_;
26 
27 
28  public:
29  Abstract_robot_decorator(std::unique_ptr<Abstract_robot> next)
30  : Abstract_robot("blanc", tf2::Transform(tf2::Quaternion(0,0,0,1), tf2::Vector3(0,0,0)), tf2::Vector3(0,0,0))
31  , mgi_(nullptr)
32  , mgi_hand_(nullptr)
33  , next_(std::move(next)){};
34 
35  std::string& name() override { return next_->name();}
36  tf2::Transform& tf() override { return next_->tf();}
37  tf2::Vector3& size() override { return next_->size();}
38  tf2::Transform& root_tf() override { return next_->root_tf();}
39  std::vector<tf2::Transform>& bounds() override {return next_->bounds();}
40  std::vector<tf2::Transform>& robot_root_bounds() override { return next_->robot_root_bounds();}
41  void notify() override {next_->notify();}
42  bool check_single_object_collision(tf2::Transform& obj, std::string& b) override {next_->check_single_object_collision(obj,b);}
43  void workload_checker(std::vector<int>& count_vector, tf2::Transform& obj) override {next_->workload_checker(count_vector, obj);}
44 
45  inline Abstract_robot* next(){return next_.get();}
46 
47  virtual void spezifie_root_bounds()=0;
48  virtual void spezifie_robot_groups()=0;
49 
50 
51 
52 };
53 
54 
55 #endif
Abstract_robot_decorator::notify
void notify() override
Definition: abstract_robot_decorator.h:41
Abstract_robot_decorator::spezifie_root_bounds
virtual void spezifie_root_bounds()=0
Abstract_robot_decorator::mgi_
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > mgi_
Definition: abstract_robot_decorator.h:21
Abstract_robot_decorator::map_
std::map< std::string, std::string > map_
Definition: abstract_robot_decorator.h:24
Abstract_robot_decorator::Abstract_robot_decorator
Abstract_robot_decorator(std::unique_ptr< Abstract_robot > next)
Definition: abstract_robot_decorator.h:29
abstract_robot.h
Abstract_robot_decorator::bounds
std::vector< tf2::Transform > & bounds() override
Definition: abstract_robot_decorator.h:39
Abstract_robot_decorator::mgi_hand_
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > mgi_hand_
Definition: abstract_robot_decorator.h:22
Abstract_robot_decorator::workload_checker
void workload_checker(std::vector< int > &count_vector, tf2::Transform &obj) override
Definition: abstract_robot_decorator.h:43
Abstract_robot_decorator::size
tf2::Vector3 & size() override
Definition: abstract_robot_decorator.h:37
Abstract_robot_decorator::name
std::string & name() override
Definition: abstract_robot_decorator.h:35
Abstract_robot_decorator::robot_root_bounds
std::vector< tf2::Transform > & robot_root_bounds() override
Definition: abstract_robot_decorator.h:40
Abstract_robot_decorator::check_single_object_collision
bool check_single_object_collision(tf2::Transform &obj, std::string &b) override
Definition: abstract_robot_decorator.h:42
Abstract_robot_decorator::next_
std::unique_ptr< Abstract_robot > next_
Definition: abstract_robot_decorator.h:20
Abstract_robot_decorator
Definition: abstract_robot_decorator.h:18
Abstract_robot_decorator::next
Abstract_robot * next()
Definition: abstract_robot_decorator.h:45
Abstract_robot_decorator::spezifie_robot_groups
virtual void spezifie_robot_groups()=0
Abstract_robot_decorator::root_tf
tf2::Transform & root_tf() override
Definition: abstract_robot_decorator.h:38
Abstract_robot_decorator::grasp_map_generator_
std::shared_ptr< MapGenerator > grasp_map_generator_
Definition: abstract_robot_decorator.h:25
Abstract_robot
Definition: impl/abstract_robot.h:25
Abstract_robot_decorator::tf
tf2::Transform & tf() override
Definition: abstract_robot_decorator.h:36


multi_cell_builder
Author(s): MA
autogenerated on Thu Jan 12 2023 23:45:43