Skip to content
Snippets Groups Projects
Commit 588f213a authored by KingMaZito's avatar KingMaZito
Browse files

readme

parent fed861f9
No related branches found
No related tags found
No related merge requests found
Pipeline #14958 failed
# Workcell Repository
This repository contains packages from various sources as well as self-written packages intended for the automatic construction of multi-robot workcells.
## reachability
Bachelor thesis code.
## mtc
Successor to the bachelor's thesis, realizing more complex cell designs and task executions.
## franka_description
Describes the robots. Must be expanded for each additional robot.
## ceti* packages
Robot configurations for Ceti-like robots consisting of a cube and an arm attached to it. The size of the cube and the position of the arm are calculated based on the given parameters.
\ No newline at end of file
# MTC
MTC is the core package developed with different design patterns to ensure both extensibility and variability.
## executables
MTC 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 Ceti dump file representing an arbitrary scene with specific locations, located in the /resources directory. Mtc2taskspace computes a taskspace.yaml 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.
> resulting .yaml files in /descriptions
>> file structure soon to be changed, sticking more to a struct like representation
### base_routine
Calculates the workspace from a /descriptions file (mtc2taskspace) and a precomputed reachability map (/map), combined with information from a dump file (/resources). Creates the directory results/${dump_file_name} with the resulting dump files as contents.
> Replace the resulting .yaml files in the results/${dump_file_name} directory if they already exist
>> Is strictly programmed, which means that the shared space is given by the first robot, which leads to no result if the first robot is not able to carry the shared space. Also resulting dump files can break the yaml schema, because each robot has an extra rpy element which is important for franca_description -> setting robot rotation... for placing, each 8th entry must be a table[0-9]+_table_top. Cosmetic data (table_wheel...) included as placeholder
>>> Solutions: switching robots, soon to be implemented. Cosmetic data by relative definitions.
### cell_routine
Designed to load a dump_file (+ with additional rpy component) and execute a task with moveit task constructor. A task description can also be the /descriptions file of mtc2taskspace, which is the case now.
> Restricted to coop tasks, since parallel tasks capability must be included first. Also pushing results/example.yaml file into franca_description is 'ugly', since it has to be included manually. Searching for solution.
>> Christoph's parser could not be integrated because there is no way to have multiple robots compute a task.
## 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 by manually changing the path of the results file in launch/cell_routine.launch and franka_description/robots/ceti_double.urdf.xacro. I tested 10/62 myself, with surprisingly good results. The following list shows open and closed ToDos.
:ballot_box_with_check: present a faster work-space execution
:ballot_box_with_check: generate more solutions for 1 dump file
:ballot_box_with_check: present solution for general robots
:ballot_box_with_check: elaborate the moveit task constructor
:ballot_box_with_check: present more general task files
:black_square_button: include cosmetic values
:black_square_button: passing yaml in xacro (franca_description)
:black_square_button: parallel tasks (Docker already downloaded, just have to try) (main focus)
:black_square_button: include ferdinants work (main focus)
Im working non stop, so don't forget to pull.
:ballot_box_with_check:
:ballot_box_with_check:
<launch>
<!--<include file="$(find panda_moveit_config)/launch/demo.launch"></include> -->
<!-- this is to change-->
<rosparam command="load" file="$(find mtc)/results/dummy/-151902566.yaml"/>
<rosparam command="load" file="$(find mtc)/mtc_templates/dummy.yaml" />
<rosparam command="load" file="$(find mtc)/maps/dummy.yaml"/>
<rosparam command="load" file="$(find mtc)/descriptions/dummy.yaml"/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment