Public Member Functions | Protected Attributes | List of all members
Ceti_robot Class Reference

Concrete Ceti-Robot. More...

#include <ceti_robot.h>

Inheritance diagram for Ceti_robot:
Inheritance graph
[legend]

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...
 
- Public Member Functions inherited from Abstract_robot
 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...
 
- Protected Attributes inherited from Abstract_robot
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...
 

Detailed Description

Concrete Ceti-Robot.

Refers especially to Robot-Arms mounted on a table of variable size.

Definition at line 22 of file ceti_robot.h.

Constructor & Destructor Documentation

◆ Ceti_robot()

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.

Parameters
namestd::string as Robot name, following the Robotarm([0-9]+) pattern
tfTable center pose
sizeTable size

Definition at line 3 of file ceti_robot.cpp.

Member Function Documentation

◆ access_fields()

std::vector<std::unique_ptr<Abstract_robot_element> >& Ceti_robot::access_fields ( )
inline

Get access fields.

Returns
Access fields vector

Definition at line 59 of file ceti_robot.h.

◆ add_coll_markers()

void Ceti_robot::add_coll_markers ( std::shared_ptr< moveit_msgs::CollisionObject >  marker)
inline

Adds marker to array.

Parameters
markerCollisionObject which will be add to marker vector

Definition at line 65 of file ceti_robot.h.

◆ bounds()

std::vector<tf2::Transform>& Ceti_robot::bounds ( )
inlineoverridevirtual

Implements Abstract_robot.

Definition at line 46 of file ceti_robot.h.

◆ check_single_object_collision()

bool Ceti_robot::check_single_object_collision ( tf2::Transform &  obj,
std::string &  str 
)
overridevirtual

Collsion calculation for single objects.

Checks collision for a single pose

Parameters
objobject pose to check
strname of colliding obj
Returns
bool if collision true, otherwise false

Implements Abstract_robot.

Definition at line 65 of file ceti_robot.cpp.

◆ coll_markers()

std::vector<std::shared_ptr<moveit_msgs::CollisionObject> > Ceti_robot::coll_markers ( )
inline

Get collision markers.

Returns
marker CollisionObject which will be add to marker vector

Definition at line 71 of file ceti_robot.h.

◆ generate_access_fields()

void Ceti_robot::generate_access_fields ( )

Generate access fields as surrounding poses for possible robots.

Definition at line 12 of file ceti_robot.cpp.

◆ in_collision()

bool Ceti_robot::in_collision ( Ceti_robot R)

Collsion calculation.

Iterates over Robot to calculate area und check collisions by other robot bounds

Parameters
RRobot which bounds are to check for collisions
Returns
bool true if collision, false otherwise

Definition at line 118 of file ceti_robot.cpp.

◆ name()

std::string& Ceti_robot::name ( )
inlineoverridevirtual

Implements Abstract_robot.

Definition at line 42 of file ceti_robot.h.

◆ notify()

void Ceti_robot::notify ( )
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.

◆ observer_mask()

std::bitset<3> Ceti_robot::observer_mask ( )
inline

Definition at line 117 of file ceti_robot.h.

◆ observers()

std::vector<std::unique_ptr<Abstract_robot_element> >& Ceti_robot::observers ( )
inline

Get observers.

Returns
observer vector

Definition at line 53 of file ceti_robot.h.

◆ register_observers()

void Ceti_robot::register_observers ( std::unique_ptr< Abstract_robot_element wd)

Register observers in vector.

manipulates access fields and adds observer+

Parameters
wdWing observer

Definition at line 162 of file ceti_robot.cpp.

◆ reset()

void Ceti_robot::reset ( )

Resset all robot properties.

Definition at line 106 of file ceti_robot.cpp.

◆ robot_root_bounds()

std::vector<tf2::Transform>& Ceti_robot::robot_root_bounds ( )
inlineoverridevirtual

Implements Abstract_robot.

Definition at line 47 of file ceti_robot.h.

◆ root_tf()

tf2::Transform& Ceti_robot::root_tf ( )
inlineoverridevirtual

Implements Abstract_robot.

Definition at line 45 of file ceti_robot.h.

◆ set_observer_mask()

void Ceti_robot::set_observer_mask ( int  i)
inline

Definition at line 118 of file ceti_robot.h.

◆ size()

tf2::Vector3& Ceti_robot::size ( )
inlineoverridevirtual

Implements Abstract_robot.

Definition at line 44 of file ceti_robot.h.

◆ tf()

tf2::Transform& Ceti_robot::tf ( )
inlineoverridevirtual

Implements Abstract_robot.

Definition at line 43 of file ceti_robot.h.

◆ workload_checker()

void Ceti_robot::workload_checker ( std::vector< int > &  count_vector,
tf2::Transform &  obj 
)
overridevirtual

Object counter.

counds objects attached to table or wings

Parameters
count_vectorcount per robot element
objobject to add

Implements Abstract_robot.

Definition at line 38 of file ceti_robot.cpp.

Member Data Documentation

◆ access_fields_

std::vector<std::unique_ptr<Abstract_robot_element> > Ceti_robot::access_fields_
protected

Serrounding Fields shared pointers.

Definition at line 25 of file ceti_robot.h.

◆ coll_markers_

std::vector<std::shared_ptr<moveit_msgs::CollisionObject> > Ceti_robot::coll_markers_
protected

to be checked

Definition at line 26 of file ceti_robot.h.

◆ observer_mask_

std::bitset<3> Ceti_robot::observer_mask_
protected

Bitmap to set observers.

Definition at line 27 of file ceti_robot.h.

◆ observers_

std::vector<std::unique_ptr<Abstract_robot_element> > Ceti_robot::observers_
protected

Wing shared pointers.

Definition at line 24 of file ceti_robot.h.


The documentation for this class was generated from the following files:


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