Concrete Ceti-Robot. More...
#include <ceti_robot.h>
Public Member Functions | |
std::vector< std::unique_ptr< Abstract_robot_element > > & | access_fields () |
Get access fields. More... | |
void | add_coll_markers (std::shared_ptr< moveit_msgs::CollisionObject > marker) |
Adds marker to array. More... | |
std::vector< tf2::Transform > & | bounds () override |
Ceti_robot (std::string &name, tf2::Transform tf, tf2::Vector3 size) | |
Ceti robot constructor. More... | |
bool | check_single_object_collision (tf2::Transform &obj, std::string &str) override |
Collsion calculation for single objects. More... | |
std::vector< std::shared_ptr< moveit_msgs::CollisionObject > > | coll_markers () |
Get collision markers. More... | |
void | generate_access_fields () |
Generate access fields as surrounding poses for possible robots. More... | |
bool | in_collision (Ceti_robot *R) |
Collsion calculation. More... | |
std::string & | name () override |
void | notify () override |
Observer pattern. More... | |
std::bitset< 3 > | observer_mask () |
std::vector< std::unique_ptr< Abstract_robot_element > > & | observers () |
Get observers. More... | |
void | register_observers (std::unique_ptr< Abstract_robot_element > wd) |
Register observers in vector. More... | |
void | reset () |
Resset all robot properties. More... | |
std::vector< tf2::Transform > & | robot_root_bounds () override |
tf2::Transform & | root_tf () override |
void | set_observer_mask (int i) |
tf2::Vector3 & | size () override |
tf2::Transform & | tf () override |
void | workload_checker (std::vector< int > &count_vector, tf2::Transform &obj) override |
Object counter. More... | |
![]() | |
Abstract_robot (std::string &name, tf2::Transform tf, tf2::Vector3 size) | |
Abstract_robot (std::string name, tf2::Transform tf, tf2::Vector3 size) | |
float | area_calculation (tf2::Transform &A, tf2::Transform &B, tf2::Transform &C) |
Triangle area calculator. More... | |
std::vector< tf2::Transform > & | bounds () |
std::string & | name () |
std::bitset< 3 > | observer_mask () |
std::vector< tf2::Transform > & | robot_root_bounds () |
tf2::Transform & | root_tf () |
void | rotate (float deg) |
void | rotate (float deg) |
void | set_observer_mask (int i) |
void | set_tf (tf2::Transform &t) |
void | set_tf (tf2::Transform &t) |
tf2::Vector3 & | size () |
void | size (tf2::Vector3 &s) |
void | size (tf2::Vector3 &s) |
tf2::Transform & | tf () |
void | translate (tf2::Vector3 t) |
void | translate (tf2::Vector3 t) |
Protected Attributes | |
std::vector< std::unique_ptr< Abstract_robot_element > > | access_fields_ |
Serrounding Fields shared pointers. More... | |
std::vector< std::shared_ptr< moveit_msgs::CollisionObject > > | coll_markers_ |
to be checked More... | |
std::bitset< 3 > | observer_mask_ |
Bitmap to set observers. More... | |
std::vector< std::unique_ptr< Abstract_robot_element > > | observers_ |
Wing shared pointers. More... | |
![]() | |
std::vector< tf2::Transform > | bounds_ |
Bounds of table top surface. More... | |
std::string | name_ |
Name of robot. More... | |
std::bitset< 3 > | observer_mask_ |
std::vector< tf2::Transform > | robot_root_bounds_ |
Bounds of robot arm as sub-region of table top. More... | |
tf2::Transform | root_tf_ |
Robot root on table top. More... | |
tf2::Vector3 | size_ |
Size of table. More... | |
tf2::Transform | tf_ |
Pose of table. More... | |
Concrete Ceti-Robot.
Refers especially to Robot-Arms mounted on a table of variable size.
Definition at line 22 of file ceti_robot.h.
Ceti_robot::Ceti_robot | ( | std::string & | name, |
tf2::Transform | tf, | ||
tf2::Vector3 | size | ||
) |
Ceti robot constructor.
Initializes Ceti-Robot, calculates bounds out of arm and table size.
name | std::string as Robot name, following the Robotarm([0-9]+) pattern |
tf | Table center pose |
size | Table size |
Definition at line 3 of file ceti_robot.cpp.
|
inline |
|
inline |
Adds marker to array.
marker | CollisionObject which will be add to marker vector |
Definition at line 65 of file ceti_robot.h.
|
inlineoverridevirtual |
Implements Abstract_robot.
Definition at line 46 of file ceti_robot.h.
|
overridevirtual |
Collsion calculation for single objects.
Checks collision for a single pose
obj | object pose to check |
str | name of colliding obj |
Implements Abstract_robot.
Definition at line 65 of file ceti_robot.cpp.
|
inline |
Get collision markers.
Definition at line 71 of file ceti_robot.h.
void Ceti_robot::generate_access_fields | ( | ) |
Generate access fields as surrounding poses for possible robots.
Definition at line 12 of file ceti_robot.cpp.
bool Ceti_robot::in_collision | ( | Ceti_robot * | R | ) |
Collsion calculation.
Iterates over Robot to calculate area und check collisions by other robot bounds
R | Robot which bounds are to check for collisions |
Definition at line 118 of file ceti_robot.cpp.
|
inlineoverridevirtual |
Implements Abstract_robot.
Definition at line 42 of file ceti_robot.h.
|
overridevirtual |
Observer pattern.
When changing pose, any observer calculates its new position in world frame
Implements Abstract_robot.
Definition at line 113 of file ceti_robot.cpp.
|
inline |
Definition at line 117 of file ceti_robot.h.
|
inline |
void Ceti_robot::register_observers | ( | std::unique_ptr< Abstract_robot_element > | wd | ) |
Register observers in vector.
manipulates access fields and adds observer+
wd | Wing observer |
Definition at line 162 of file ceti_robot.cpp.
void Ceti_robot::reset | ( | ) |
Resset all robot properties.
Definition at line 106 of file ceti_robot.cpp.
|
inlineoverridevirtual |
Implements Abstract_robot.
Definition at line 47 of file ceti_robot.h.
|
inlineoverridevirtual |
Implements Abstract_robot.
Definition at line 45 of file ceti_robot.h.
|
inline |
Definition at line 118 of file ceti_robot.h.
|
inlineoverridevirtual |
Implements Abstract_robot.
Definition at line 44 of file ceti_robot.h.
|
inlineoverridevirtual |
Implements Abstract_robot.
Definition at line 43 of file ceti_robot.h.
|
overridevirtual |
Object counter.
counds objects attached to table or wings
count_vector | count per robot element |
obj | object to add |
Implements Abstract_robot.
Definition at line 38 of file ceti_robot.cpp.
|
protected |
Serrounding Fields shared pointers.
Definition at line 25 of file ceti_robot.h.
|
protected |
to be checked
Definition at line 26 of file ceti_robot.h.
|
protected |
Bitmap to set observers.
Definition at line 27 of file ceti_robot.h.
|
protected |
Wing shared pointers.
Definition at line 24 of file ceti_robot.h.