Go to the documentation of this file.
11 #include <moveit/planning_scene_interface/planning_scene_interface.h>
12 #include <moveit/move_group_interface/move_group_interface.h>
13 #include <moveit_msgs/ApplyPlanningScene.h>
14 #include <moveit/robot_model_loader/robot_model_loader.h>
15 #include <moveit/planning_scene/planning_scene.h>
16 #include <moveit/kinematic_constraints/utils.h>
24 std::vector<std::unique_ptr<Abstract_robot_element>>
observers_;
26 std::vector<std::shared_ptr<moveit_msgs::CollisionObject>>
coll_markers_;
43 tf2::Transform&
tf()
override {
return tf_;}
109 void workload_checker(std::vector<int>& count_vector, tf2::Transform& obj)
override;
void notify() override
Observer pattern.
void generate_access_fields()
Generate access fields as surrounding poses for possible robots.
tf2::Transform root_tf_
Robot root on table top.
void set_observer_mask(int i)
tf2::Transform & tf() override
void register_observers(std::unique_ptr< Abstract_robot_element > wd)
Register observers in vector.
tf2::Vector3 & size() override
std::vector< std::shared_ptr< moveit_msgs::CollisionObject > > coll_markers_
to be checked
std::vector< std::unique_ptr< Abstract_robot_element > > & access_fields()
Get access fields.
std::vector< std::unique_ptr< Abstract_robot_element > > access_fields_
Serrounding Fields shared pointers.
std::vector< tf2::Transform > bounds_
Bounds of table top surface.
bool in_collision(Ceti_robot *R)
Collsion calculation.
tf2::Transform tf_
Pose of table.
std::bitset< 3 > observer_mask_
Bitmap to set observers.
std::vector< tf2::Transform > & bounds() override
std::vector< std::unique_ptr< Abstract_robot_element > > & observers()
Get observers.
void reset()
Resset all robot properties.
void add_coll_markers(std::shared_ptr< moveit_msgs::CollisionObject > marker)
Adds marker to array.
std::vector< std::unique_ptr< Abstract_robot_element > > observers_
Wing shared pointers.
std::bitset< 3 > observer_mask()
std::string name_
Name of robot.
tf2::Vector3 size_
Size of table.
std::string & name() override
bool check_single_object_collision(tf2::Transform &obj, std::string &str) override
Collsion calculation for single objects.
tf2::Transform & root_tf() override
std::vector< tf2::Transform > & robot_root_bounds() override
void workload_checker(std::vector< int > &count_vector, tf2::Transform &obj) override
Object counter.
std::vector< tf2::Transform > robot_root_bounds_
Bounds of robot arm as sub-region of table top.
Ceti_robot(std::string &name, tf2::Transform tf, tf2::Vector3 size)
Ceti robot constructor.
std::vector< std::shared_ptr< moveit_msgs::CollisionObject > > coll_markers()
Get collision markers.