Skip to content
Snippets Groups Projects
Commit 04d97a0d authored by KingMaZito's avatar KingMaZito
Browse files

starting easter comeback approach

parent 3ad71056
Branches
No related tags found
No related merge requests found
# multi_cell_builder
multi_cell_builder is the core package developed with different design patterns to ensure both extensibility and variability.
## executables
multi_cell_builder consists of 3 executables, with each computing .yaml files for the next subsequent module, according the following strcture.
> mtc2taskspace >> base_routine >> cell_routine
### mtc2taskspace
From a bare Ceti-resource file representing an arbitrary scene with specific locations, located in the /resources directory. Mtc2taskspace computes a new file and associates each object with a drop-of-location to a robot. The shared space between robots is expressed by identical location entries for each robot involved. <br/>
multi_cell_builder/mtc/mtc2taskspace.cpp (/resources/{resource}) -> (/descriptions/{resource}) <br/>
roslaunch multi_cell_builder mtc2taskspace.launch resource='dummy.yaml'
### base_routine
Calculates the workspace from a descriptions file (/descriptions/{description}) and a precomputed reachability map (/map/{map}), combined with information of a resource file (/resources/{resource}). Creates the directory (results/{resource}/ros::time.yaml}) with the resulting files as contents. <br/>
multi_cell_builder/src/base_routine.cpp (/map/{map}, /resources/{resource}, /descriptions/{descriptions}) -> (/results/{resource}/ros::time.yaml) <br/>
roslaunch multi_cell_builder base_routine.launch resource='dummy.yaml' map='dummy.yaml' description='dummy.yaml'
> Replace already existing result folder if exists.
>> Resulting files can break the yaml schema, because each robot has an extra rpy element which is important for setting robot pose in franca_description. Also each 8th entry must be a table[0-9]+_table_top id. Cosmetic data (table_wheel...) included as placeholder
### cell_routine
Designed to load a resource file (+ with additional rpy component in the right order) and execute a task with moveit task constructor. A task description can also be the /descriptions/{description} in the example. <br/>
multi_cell_builder/src/cell_routine.cpp (/results/{result}, /descriptions/{task}) -> () <br/>
roslaunch multi_cell_builder base_routine.launch result='/dummy/dummy.yaml' task='dummy.yaml' (is coop) <br/>
roslaunch multi_cell_builder base_routine.launch result='/dummy/dummy.yaml' task='dummy2.yaml' (is parallel)
> Christoph's parser could not be integrated because there is no way to have multiple robots compute a task.
multi_cell_builder is an approach that combines both the work of gb-auerswald and the earlier work of accessibility into a package that allows dynamic changes to the startup configuration and parallel execution. Soon this will be a container that meets the requirements for a software artifact. I wish you a happy Easter and look forward to introducing you to this latest comeback approach next week.
## Current state
State: in progress. Every executable is working with some explained downfalls that should be fixed in the next days. Implementing or omitting ideas because some modules do not work as expected took a lot of time. The actual results (62 files for dummy.yaml) can be loaded and run. I tested 10/62 myself, with surprisingly good results. The following list shows open and closed ToDos.<br/>
State: in progress. Implementing or omitting ideas because some modules do not work as expected took a lot of time. The actual results can be loaded and run. I tested some myself, with surprisingly good results. The following list shows open and closed ToDos.<br/>
:ballot_box_with_check: present a faster work-space execution <br/>
:ballot_box_with_check: generate more solutions for 1 dump file <br/>
:ballot_box_with_check: generate more solutions for 1 protobuf reference file <br/>
:ballot_box_with_check: present solution for general robots <br/>
:ballot_box_with_check: elaborate the moveit task constructor <br/>
:ballot_box_with_check: present more general task files <br/>
:black_square_button: include cosmetic values <br/>
:ballot_box_with_check: passing yaml in xacro (franca_description) <br/>
:ballot_box_with_check: parallel tasks (Docker already downloaded, just have to try) (main focus) <br/>
:black_square_button: fix acm <br/>
:black_square_button: include ferdinands work (main focus)<br/>
:ballot_box_with_check: parallel task execution in container <br/>
:ballot_box_with_check: fix acm <br/>
:black_square_button: include ferdinands work (about to be done)<br/>
Im working non stop, so don't forget to pull. <br/>
[Git Docker](https://github.com/cambel/moveit_simultaneous_motions_demo.git "github link for parallel docker")
[Ferdinand](https://git-st.inf.tu-dresden.de/ceti/ros-internal/technical-tests/gb-grasp-auerswald/-/blob/main/GB_Auerswald.pdf "Ferdi bre")
[Ferdinand](https://git-st.inf.tu-dresden.de/ceti/ros-internal/technical-tests/gb-grasp-auerswald/-/blob/main/GB_Auerswald.pdf "Ferdinand")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment