Implementation of the ProbRobScene language outlined in ProbRobScene: A Probabilistic Specification Language for 3D Robotic Manipulation Environments. Parser for the specifier syntax builds upon the Scenic-Language for autonomous driving.
Wrapper included for the Coppelia-Sim simulator using PyRep.
The best way to try out ProbRobScene is to clone the git repo and try out some of the example scenarios:
git clone https://github.com/craigiedon/ProbRobScene.git
To sample from a raw scenario and just visualize the samples in matplotlib, run
python runScenarioRaw <scenarios/scenario-file> <max_generations>
To run an example in simulation: First, make sure you have the latest version of Coppellia-Sim installed.
Next, install PyRep by following the instructions on their repository.
NOTE: for some combinations of CoppeliaSim + PyRep, users have reported getting the error:
ImportError: libcoppeliaSim.so.1: cannot open shared object file: No such file or directory
A workaround for this is to create a soft-link. Go to your Coppellia-Sim root and type:
ln -s libcoppeliaSim.so libcoppeliaSim.so.1
To run a scenario in CoppeliaSim, along with example robot controller from the paper, try:
python coppeliaTest.py
To load one of the example scenarios (without a controller), try:
python coppeliaView.py scenarios/<exampleName>
You can install ProbRobScene as an external library dependency using pip
by running the following command at the top level directory:
pip install .
NOTE: In order to use the coppelia-sim wrapper, you will still need to install CoppeliaSim and PyRep as discussed above.
tableCube
--- Dual arms mounted on desk with assorted cubes.cupPour
--- Table of cups filled with liquid. Another table with bowl for transfer.gearInsert
--- A gear with hole in it, and a a peg to insert it on.swingingBucket
--- A table with stacked cubes which need to be put into a wobbly swinging basket.rotationRestuarant
--- A stacked plate on a rotating sushi conveyor belt must be picked up and placed on a dining table.