Skip to content

EmaroLab/paco_synthetic_test

Repository files navigation

PACO - Planning fo ArtiCulated Objects

Problem generator and planners benchmark based on the manipulation of articulated objects.

Before running the scripts, you can check the sample problems and plans that we have already generated in the problems, plans and logs folders.

Domains

Simple:

  • Relative: a domain modelling an articulated object with a set of links and joints. Each joint has an angle associated representing the difference in orientation between the precedent link and the successive one.
  • Oriented: as above, but with an extra link_ground and joint_ground. It is used when it is necessary to discriminate among configurations by their absolute orientation as a whole (e.g., the end orientation of the object is important too, not just the "shape").

Conditional:

  • Legacy: a domain using absolute orientations instead of relative ones, modelled using conditional operators. Each joint represent the angle of the link that follows.
  • Simplified: similar to the one above, but simplified for use in robotics. Links are ordered and only downstream propagation is allowed. Angles are assigned directly to links and joints are eliminated.

In general, to change the state of the joint angle, actions assume that we act on the first link argument, while somehow constraining the second one.

Note: given a joint, it is possible to change its state by acting either on the precedent link or the successive one. The physical interpretation of actions may change from one model to another. The only exception is the simplified domain which only allows acting on a link while constraining the precedent one.

Scripts

  • generate_problems.py generates problems for both simple and conditional cases with equivalent initial and final states. Includes options to set the desired base domain, the number of samples and joints, the resolution, and the average difference between joint angles in the initial and final states. Problems are stored in the problems folder by batch with a tag indicating resolution, number of links and average difference.

  • generate_plans.py plans all the batches in problems and stores the results in plans folder. It uses both Madagascar and Probe planners. A log of planning time and number of actions is stored in the logs folder. Please note that when this script is launched, the plan folder is cleaned of all its content before generating new plans.

  • run.sh generates six batches of problems differing by resolution and number of joints for each domain alternative, then it launches the planners and logs the results. It can be a long process on slower machines.

Run --help to have more detailed information about Python scripts options.

Contacts

Alessio Capitanelli

Fulvio Mastrogiovanni

Marco Maratea

Mauro Vallati

References

Planners

Madagascar

Probe

About

Planning for ArtiCulated Objects

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published