Git Product home page Git Product logo

probrobscene's Introduction

ProbRobScene

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.

Setup / Running

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

Raw Visualization

To sample from a raw scenario and just visualize the samples in matplotlib, run

python runScenarioRaw <scenarios/scenario-file> <max_generations>

CoppeliaSim Simulator

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>

To take a screenshot of the example scenario, try:

python coppeliaScreenshot.py scenarios/<exampleName>

Using ProbRobScene in External Projects

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.

Example scenarios:


CoppeliaSim

  • 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.


probrobscene's People

Contributors

craigiedon avatar rimvydasrub avatar sai-advaith avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.