robot.h
Go to the documentation of this file.
1 #ifndef ROBOT_
2 #define ROBOT_
3 
4 #include "ros/ros.h"
5 #include "impl/abstract_robot.h"
8 #include "impl/wing.h"
10 #include "impl/field.h"
11 
12 #include <moveit/planning_scene_interface/planning_scene_interface.h>
13 #include <moveit/move_group_interface/move_group_interface.h>
14 #include <moveit_msgs/ApplyPlanningScene.h>
15 #include <moveit/robot_model_loader/robot_model_loader.h>
16 #include <moveit/planning_scene/planning_scene.h>
17 #include <moveit/kinematic_constraints/utils.h>
18 
19 class Robot : public Abstract_robot{
20  protected:
21  std::vector<Abstract_robot_element*> observers_;
22  std::vector<Abstract_robot_element*> access_fields_;
23  std::vector<moveit_msgs::CollisionObject*> coll_markers_;
24 
25 
26  public:
27  Robot(std::string& name, tf2::Transform tf, tf2::Vector3 size) : Abstract_robot(name, tf, size){generate_access_fields();}
28 
29  inline std::vector<Abstract_robot_element*>& observers() { return observers_;}
30  inline std::vector<Abstract_robot_element*>& access_fields() { return access_fields_;}
31 
32  inline void add_coll_markers(moveit_msgs::CollisionObject* marker) {coll_markers_.push_back(marker);}
33  inline std::vector<moveit_msgs::CollisionObject*> coll_markers(){ return coll_markers_;}
34 
36  void reset();
38  float area_calculation(tf2::Transform& A, tf2::Transform& B, tf2::Transform& C);
40 
41  bool check_single_object_collision(tf2::Transform& obj, std::string& str) override;
42  void workload_checker(std::vector<int>& count_vector, tf2::Transform& obj) override;
43  void notify() override;
44 
45 
46 };
47 
48 
49 
50 
51 #endif
Robot::coll_markers_
std::vector< moveit_msgs::CollisionObject * > coll_markers_
Definition: robot.h:23
abstract_robot_element.h
Robot::observers
std::vector< Abstract_robot_element * > & observers()
Definition: robot.h:29
Robot::add_coll_markers
void add_coll_markers(moveit_msgs::CollisionObject *marker)
Definition: robot.h:32
Robot::access_fields_
std::vector< Abstract_robot_element * > access_fields_
Definition: robot.h:22
Robot::notify
void notify() override
Definition: robot.cpp:125
field.h
Robot::reset
void reset()
Definition: robot.cpp:118
Robot::generate_access_fields
void generate_access_fields()
Definition: robot.cpp:3
Robot::workload_checker
void workload_checker(std::vector< int > &count_vector, tf2::Transform &obj) override
Definition: robot.cpp:38
Abstract_robot::name
std::string & name()
Definition: impl/abstract_robot.h:57
Abstract_robot::size
tf2::Vector3 & size()
Definition: impl/abstract_robot.h:59
abstract_robot.h
Robot::coll_markers
std::vector< moveit_msgs::CollisionObject * > coll_markers()
Definition: robot.h:33
Robot::area_calculation
float area_calculation(tf2::Transform &A, tf2::Transform &B, tf2::Transform &C)
Definition: robot.cpp:31
Robot
Definition: robot.h:19
Abstract_robot_element
Definition: impl/abstract_robot_element.h:9
Abstract_robot::tf
tf2::Transform & tf()
Definition: impl/abstract_robot.h:58
Robot::access_fields
std::vector< Abstract_robot_element * > & access_fields()
Definition: robot.h:30
wing_rviz_decorator.h
Robot::observers_
std::vector< Abstract_robot_element * > observers_
Definition: robot.h:21
Robot::Robot
Robot(std::string &name, tf2::Transform tf, tf2::Vector3 size)
Definition: robot.h:27
Robot::check_single_object_collision
bool check_single_object_collision(tf2::Transform &obj, std::string &str) override
Definition: robot.cpp:70
wing.h
Robot::register_observers
void register_observers(Abstract_robot_element *wd)
Definition: robot.cpp:182
Abstract_robot
Definition: impl/abstract_robot.h:25
abstract_robot_element_decorator.h
Robot::check_robot_collision
bool check_robot_collision(Robot *R)
Definition: robot.cpp:130


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