Refined MoveitMediator. More...
#include <moveit_mediator.h>
Public Member Functions | |
void | connectRobots (std::unique_ptr< AbstractRobotDecorator > robot) override |
connect robot and initialize Moveit components More... | |
moveit::task_constructor::Task | createTask (AbstractRobotDecorator *r, moveit_msgs::CollisionObject &source, tf2::Transform &target) |
Create Task with Moveit Task Constructor. More... | |
std::map< std::string, std::pair< moveit_msgs::RobotTrajectory, moveit_msgs::PlanningScene > > & | executions () |
void | manipulateACM (AbstractRobotDecorator *mr, moveit_msgs::PlanningScene &ps) |
Manipulate ACM by extracting inforamtion of spicified robot. More... | |
void | mediate () override |
mediator function More... | |
void | mergeACM (moveit_msgs::PlanningScene &in) |
Threaded function which calls executaion on a Robot. More... | |
void | mergePS (moveit_msgs::PlanningScene &out, moveit_msgs::PlanningScene in, AbstractRobotDecorator *mr) |
Merge Planning scene. More... | |
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > | mgi () |
MoveitMediator (std::shared_ptr< ros::NodeHandle > const &nh) | |
AbstractMediator constructor. More... | |
void | parallelExec (AbstractRobotDecorator &mr, moveit_msgs::RobotTrajectory rt) |
Threaded function which calls executaion on a Robot. More... | |
void | publishTables () |
publish all panels in the planning scene More... | |
void | setPanel () override |
Sets panels for robots. More... | |
void | setTasks (std::multimap< std::string, std::pair< tf2::Vector3, std::queue< moveit_task_constructor_msgs::ExecuteTaskSolutionGoal >>> &tasks) |
std::map< std::string, std::vector< moveit::task_constructor::Task > > & | taskMap () |
void | taskPlanner () |
Threaded function which calls executaion on a Robot. More... | |
![]() | |
AbstractMediator (std::shared_ptr< ros::NodeHandle > const &d) | |
AbstractMediator constructor. More... | |
CuboidReader * | cuboidReader () |
Get Cuboid_reader. More... | |
std::string & | dirname () |
Get dirname. More... | |
std::map< const std::string, std::vector< pcl::PointXYZ > > & | resultVector () |
Get result_vector. More... | |
RobotReader * | robotReader () |
Get Robot_reader. More... | |
std::map< std::string, std::unique_ptr< AbstractRobotDecorator > > & | robots () |
Get robots. More... | |
void | setDirname (std::string &dirn) |
Set dirname. More... | |
void | setResultVector (std::map< const std::string, std::vector< pcl::PointXYZ >> &res) |
Set result vector. More... | |
pcl::PointCloud< pcl::PointXYZ >::Ptr | vector2cloud (std::vector< pcl::PointXYZ > &vector) |
Cloud converter. More... | |
WingReader * | wingReader () |
Get Wing_reader. More... | |
std::map< const std::string, std::vector< std::unique_ptr< AbstractRobotElement > > > & | wings () |
Get wings. More... | |
Protected Attributes | |
std::map< std::string, std::vector< uint8_t > > | acm_ |
shared allowed collision matrix between robots More... | |
std::shared_ptr< moveit::task_constructor::solvers::CartesianPath > | cartesian_planner_ |
Moveit task Constructior cartesian planner. More... | |
std::map< std::string, std::pair< moveit_msgs::RobotTrajectory, moveit_msgs::PlanningScene > > | executions_ |
Shared execution map containing groot node information. More... | |
std::unique_ptr< JobReader > | job_reader_ |
jobReader instancde which reads task information More... | |
std::shared_ptr< moveit::planning_interface::MoveGroupInterface > | mgi_ |
Move Group Interface of the whole multi-cell. More... | |
std::shared_ptr< ros::Publisher > | planning_scene_diff_publisher_ |
Publisher to manage PlanningScene diffs. More... | |
std::shared_ptr< planning_scene::PlanningScene > | ps_ |
Shared Planning Scene. More... | |
std::unique_ptr< moveit::planning_interface::PlanningSceneInterface > | psi_ |
PlanningSceneInteface to manage Scene Objects. More... | |
std::shared_ptr< moveit::core::RobotModel > | robot_model_ |
Moveit Robot-Model as specified in SDF. More... | |
std::map< std::string, std::vector< uint8_t > > | rs_ |
shared robot state between all robots More... | |
std::shared_ptr< moveit::task_constructor::solvers::PipelinePlanner > | sampling_planner_ |
Moveit task Constructior simple planner. More... | |
std::map< std::string, std::vector< moveit::task_constructor::Task > > | task_map_ |
Tasks mapped to Robot. More... | |
std::multimap< std::string, std::pair< tf2::Vector3, std::queue< moveit_task_constructor_msgs::ExecuteTaskSolutionGoal > > > | tasks_ |
tasks multimap More... | |
![]() | |
std::unique_ptr< CuboidReader > | cuboid_reader_ |
coboidReader instance that distinguishes between scene objects of type bin and box More... | |
std::string | dirname_ |
Dirname of the reference protobuff. More... | |
std::shared_ptr< ros::NodeHandle > | nh_ |
Nodehandle for access to the Rosparam server. More... | |
std::vector< std::vector< std::vector< tf2::Transform > > > | relative_bounds_ |
total bound a workspace More... | |
std::map< const std::string, std::vector< pcl::PointXYZ > > | result_vector_ |
Result_vector of base positions linked to robot. More... | |
std::unique_ptr< RobotReader > | robot_reader_ |
Robot_reader which collects robot poses. More... | |
std::map< std::string, std::unique_ptr< AbstractRobotDecorator > > | robots_ |
Robots agents. More... | |
std::unique_ptr< TSReader > | task_space_reader_ |
Task_space reader which provides drop off positions. More... | |
std::unique_ptr< WingReader > | wing_reader_ |
Wing_reader which collects panel information of robots. More... | |
std::map< const std::string, std::vector< std::unique_ptr< AbstractRobotElement > > > | wings_ |
Refined MoveitMediator.
Build Multi-cells from specifications and apply MoveIt library, as well as Groot library functionallity to display the state in a task.
Definition at line 58 of file moveit_mediator.h.
MoveitMediator::MoveitMediator | ( | std::shared_ptr< ros::NodeHandle > const & | nh | ) |
AbstractMediator constructor.
initializes task_space reader
nh | Ros nodehandle |
Definition at line 12 of file moveit_mediator.cpp.
|
overridevirtual |
connect robot and initialize Moveit components
Set up acm_ and rs_ members to track, merge, and publish changes during execution.
robot | RobotDecorator of Robot |
Implements AbstractMediator.
Definition at line 36 of file moveit_mediator.cpp.
moveit::task_constructor::Task MoveitMediator::createTask | ( | AbstractRobotDecorator * | r, |
moveit_msgs::CollisionObject & | source, | ||
tf2::Transform & | target | ||
) |
Create Task with Moveit Task Constructor.
r | robot |
source | initaial position of object |
target | pose of object after execution |
Definition at line 589 of file moveit_mediator.cpp.
|
inline |
Definition at line 145 of file moveit_mediator.h.
void MoveitMediator::manipulateACM | ( | AbstractRobotDecorator * | mr, |
moveit_msgs::PlanningScene & | ps | ||
) |
Manipulate ACM by extracting inforamtion of spicified robot.
mr | Robot |
ps | Planning Scene which contains ACM information |
Definition at line 118 of file moveit_mediator.cpp.
|
overridevirtual |
mediator function
Construction of robots and planning scenes. Calculate plans in preor to chain them so that they can be executed in parallel.
Implements AbstractMediator.
Definition at line 111 of file moveit_mediator.cpp.
void MoveitMediator::mergeACM | ( | moveit_msgs::PlanningScene & | in | ) |
Threaded function which calls executaion on a Robot.
in | merges acm into shared acm |
Definition at line 521 of file moveit_mediator.cpp.
void MoveitMediator::mergePS | ( | moveit_msgs::PlanningScene & | out, |
moveit_msgs::PlanningScene | in, | ||
AbstractRobotDecorator * | mr | ||
) |
Merge Planning scene.
out | merged Planning Scene |
in | planning scene to merge |
mr | Robot to determine parts to merge in out planning scene |
Definition at line 545 of file moveit_mediator.cpp.
|
inline |
Definition at line 85 of file moveit_mediator.h.
void MoveitMediator::parallelExec | ( | AbstractRobotDecorator & | mr, |
moveit_msgs::RobotTrajectory | rt | ||
) |
Threaded function which calls executaion on a Robot.
mr | RobotDecorator of Robot |
rt | Robot trajetory |
Definition at line 585 of file moveit_mediator.cpp.
void MoveitMediator::publishTables | ( | ) |
publish all panels in the planning scene
Definition at line 94 of file moveit_mediator.cpp.
|
overridevirtual |
Sets panels for robots.
Implements AbstractMediator.
Definition at line 57 of file moveit_mediator.cpp.
|
inline |
Definition at line 148 of file moveit_mediator.h.
|
inline |
Definition at line 146 of file moveit_mediator.h.
void MoveitMediator::taskPlanner | ( | ) |
Threaded function which calls executaion on a Robot.
in | merges acm into shared acm |
Definition at line 236 of file moveit_mediator.cpp.
|
protected |
shared allowed collision matrix between robots
Definition at line 69 of file moveit_mediator.h.
|
protected |
Moveit task Constructior cartesian planner.
Definition at line 66 of file moveit_mediator.h.
|
protected |
Shared execution map containing groot node information.
Definition at line 72 of file moveit_mediator.h.
|
protected |
jobReader instancde which reads task information
Definition at line 68 of file moveit_mediator.h.
|
protected |
Move Group Interface of the whole multi-cell.
Definition at line 61 of file moveit_mediator.h.
|
protected |
Publisher to manage PlanningScene diffs.
Definition at line 64 of file moveit_mediator.h.
|
protected |
Shared Planning Scene.
Definition at line 63 of file moveit_mediator.h.
|
protected |
PlanningSceneInteface to manage Scene Objects.
Definition at line 62 of file moveit_mediator.h.
|
protected |
Moveit Robot-Model as specified in SDF.
Definition at line 60 of file moveit_mediator.h.
|
protected |
shared robot state between all robots
Definition at line 70 of file moveit_mediator.h.
|
protected |
Moveit task Constructior simple planner.
Definition at line 65 of file moveit_mediator.h.
|
protected |
Tasks mapped to Robot.
Definition at line 67 of file moveit_mediator.h.
|
protected |
tasks multimap
Definition at line 71 of file moveit_mediator.h.