Skip to main content

RoboVat: A unified toolkit for simulated and real-world robotic task environments.

Project description

RoboVat

About
Installation
Examples
Citation

About

RoboVat is a tookit for fast development of robotic task environments in simulation and the real world. It provides unified APIs for robot control and perception to bridge the reality gap. Its name is derived from brain in a vat.

Currently, RoboVat supports Sawyer robot via Intera SDK. The simulatied environments run with PyBullet. The codebase is under active development and more environments will be included in the future.

Installation

  1. Create a virtual environment (recommended)

    Create a new virtual environment in the root directory or anywhere else:

    virtualenv --system-site-packages -p python .venv
    

    Activate the virtual environment every time before you use the package:

    source .venv/bin/activate
    

    And exit the virtual environment when you are done:

    deactivate
    
  2. Install the package

Using pip to install the package: bash pip install robovat

The package can also be installed by running:
```bash
python setup.py install
```
  1. Download assets

    Download and unzip the assets folder from Box or the FTP link below to the root directory:

    wget ftp://cs.stanford.edu/cs/cvgl/robovat/assets.zip
    wget ftp://cs.stanford.edu/cs/cvgl/robovat/configs.zip
    unzip assets.zip
    unzip configs.zip
    

    If the assets folder is not in the root directory, remember to specify the argument --assets PATH_TO_ASSETS when executing the example scripts.

Examples

Command Line Interface

A command line interface (CLI) is provided for debugging purposes. We recommend running the CLI to test the simulation environment after installation and data downloading:

python tools/sawyer_cli.py --mode sim

Detailed usage of the CLI are explained in the source code of tools/sawyer_cli.py. The simulated and real-world Sawyer robot can be test using these instructions below in the terminal:

  • Visualize the camera images: v
  • Mouse click and reach: c
  • Reset the robot: r
  • Close and open the gripper: g and o

Planar Pushing

Execute a planar pushing tasks with a heuristic policy:

python tools/run_env.py --env PushEnv --policy HeuristicPushPolicy --debug 1

To execute semantic pushing tasks, we can add bindings to the configurations:

python tools/run_env.py --env PushEnv --policy HeuristicPushPolicy --env_config configs/envs/push_env.yaml --policy_config configs/policies/heuristic_push_policy.yaml --config_bindings "{'TASK_NAME':'crossing','LAYOUT_ID':0}" --debug 1

To execute the tasks with pretrained CAVIN planner, please see this codebase.

Process Objects for Simulation

Many simulators load bodies in the URDF format. Given an OBJ file, the corresponding URDF file can be generated by running:

python tools/convert_obj_to_urdf.py --input PATH_TO_OBJ --output OUTPUT_DIR

To simulate concave bodies, the OBJ file needs to be processed by convex decomposition. The URDF file of a concave body can be generated using V-HACD for convex decomposition by running:

python tools/convert_obj_to_urdf.py --input PATH_TO_OBJ --output OUTPUT_DIR --decompose 1

Citation

If you find this code useful for your research, please cite:

@article{fang2019cavin, 
    title={Dynamics Learning with Cascaded Variational Inference for Multi-Step Manipulation},
    author={Kuan Fang and Yuke Zhu and Animesh Garg and Silvio Savarese and Li Fei-Fei}, 
    journal={Conference on Robot Learning (CoRL)}, 
    year={2019} 
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robovat-0.1.0.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robovat-0.1.0-py3-none-any.whl (115.2 kB view details)

Uploaded Python 3

File details

Details for the file robovat-0.1.0.tar.gz.

File metadata

  • Download URL: robovat-0.1.0.tar.gz
  • Upload date:
  • Size: 88.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for robovat-0.1.0.tar.gz
Algorithm Hash digest
SHA256 743133d85ed448f8a59bc8042ec962e71191036a9f66702b5ea3890b184a54b6
MD5 3ed00fc5b1b63321f1aa06a34601e3df
BLAKE2b-256 0479572c3a7e0aafd76f96fda83b36b2b4a7a2b50e4460b64300805980de8ea1

See more details on using hashes here.

File details

Details for the file robovat-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: robovat-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 115.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.9

File hashes

Hashes for robovat-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 070f1959e8411f44e6983aedc88f7010e6f67d3ecfef754254258ecd05699984
MD5 4484cd2a412d711287f1c61fb41b8af9
BLAKE2b-256 ca7b357f3fd50529d6bfcbcf2ec44e9cff1fbe62c3e4dbb3dc640c323bbfc6b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page