Giter Club home page Giter Club logo

google-research / ravens Goto Github PK

View Code? Open in Web Editor NEW
523.0 15.0 90.0 5.41 MB

Train robotic agents to learn pick and place with deep learning for vision-based manipulation in PyBullet. Transporter Nets, CoRL 2020.

Home Page: https://transporternets.github.io

License: Apache License 2.0

Shell 1.74% Python 98.26%
deep-learning robotics manipulation pick-and-place computer-vision artificial-intelligence vision rearrangement reinforcement-learning imitation-learning

ravens's Introduction

Ravens - Transporter Networks

Ravens is a collection of simulated tasks in PyBullet for learning vision-based robotic manipulation, with emphasis on pick and place. It features a Gym-like API with 10 tabletop rearrangement tasks, each with (i) a scripted oracle that provides expert demonstrations (for imitation learning), and (ii) reward functions that provide partial credit (for reinforcement learning).


(a) block-insertion: pick up the L-shaped red block and place it into the L-shaped fixture.
(b) place-red-in-green: pick up the red blocks and place them into the green bowls amidst other objects.
(c) towers-of-hanoi: sequentially move disks from one tower to another—only smaller disks can be on top of larger ones.
(d) align-box-corner: pick up the randomly sized box and align one of its corners to the L-shaped marker on the tabletop.
(e) stack-block-pyramid: sequentially stack 6 blocks into a pyramid of 3-2-1 with rainbow colored ordering.
(f) palletizing-boxes: pick up homogeneous fixed-sized boxes and stack them in transposed layers on the pallet.
(g) assembling-kits: pick up different objects and arrange them on a board marked with corresponding silhouettes.
(h) packing-boxes: pick up randomly sized boxes and place them tightly into a container.
(i) manipulating-rope: rearrange a deformable rope such that it connects the two endpoints of a 3-sided square.
(j) sweeping-piles: push piles of small objects into a target goal zone marked on the tabletop.

Some tasks require generalizing to unseen objects (d,g,h), or multi-step sequencing with closed-loop feedback (c,e,f,h,i,j).

Team: this repository is developed and maintained by Andy Zeng, Pete Florence, Daniel Seita, Jonathan Tompson, and Ayzaan Wahid. This is the reference repository for the paper:

Transporter Networks: Rearranging the Visual World for Robotic Manipulation

Project Website  •  PDF  •  Conference on Robot Learning (CoRL) 2020

Andy Zeng, Pete Florence, Jonathan Tompson, Stefan Welker, Jonathan Chien, Maria Attarian, Travis Armstrong,
Ivan Krasin, Dan Duong, Vikas Sindhwani, Johnny Lee

Abstract. Robotic manipulation can be formulated as inducing a sequence of spatial displacements: where the space being moved can encompass an object, part of an object, or end effector. In this work, we propose the Transporter Network, a simple model architecture that rearranges deep features to infer spatial displacements from visual input—which can parameterize robot actions. It makes no assumptions of objectness (e.g. canonical poses, models, or keypoints), it exploits spatial symmetries, and is orders of magnitude more sample efficient than our benchmarked alternatives in learning vision-based manipulation tasks: from stacking a pyramid of blocks, to assembling kits with unseen objects; from manipulating deformable ropes, to pushing piles of small objects with closed-loop feedback. Our method can represent complex multi-modal policy distributions and generalizes to multi-step sequential tasks, as well as 6DoF pick-and-place. Experiments on 10 simulated tasks show that it learns faster and generalizes better than a variety of end-to-end baselines, including policies that use ground-truth object poses. We validate our methods with hardware in the real world.

Installation

Step 1. Recommended: install Miniconda with Python 3.7.

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -u
echo $'\nexport PATH=~/miniconda3/bin:"${PATH}"\n' >> ~/.profile  # Add Conda to PATH.
source ~/.profile
conda init

Step 2. Create and activate Conda environment, then install GCC and Python packages.

cd ~/ravens
conda create --name ravens python=3.7 -y
conda activate ravens
sudo apt-get update
sudo apt-get -y install gcc libgl1-mesa-dev
pip install -r requirements.txt
python setup.py install --user

Step 3. Recommended: install GPU acceleration with NVIDIA CUDA 10.1 and cuDNN 7.6.5 for Tensorflow.

./oss_scripts/install_cuda.sh  #  For Ubuntu 16.04 and 18.04.
conda install cudatoolkit==10.1.243 -y
conda install cudnn==7.6.5 -y

Alternative: Pure pip

As an example for Ubuntu 18.04:

./oss_scipts/install_cuda.sh  #  For Ubuntu 16.04 and 18.04.
sudo apt install gcc libgl1-mesa-dev python3.8-venv
python3.8 -m venv ./venv
source ./venv/bin/activate
pip install -U pip
pip install scikit-build
pip install -r ./requirements.txt
export PYTHONPATH=${PWD}

Getting Started

Step 1. Generate training and testing data (saved locally). Note: remove --disp for headless mode.

python ravens/demos.py --assets_root=./ravens/environments/assets/ --disp=True --task=block-insertion --mode=train --n=10
python ravens/demos.py --assets_root=./ravens/environments/assets/ --disp=True --task=block-insertion --mode=test --n=100

To run with shared memory, open a separate terminal window and run python3 -m pybullet_utils.runServer. Then add --shared_memory flag to the command above.

Step 2. Train a model e.g., Transporter Networks model. Model checkpoints are saved to the checkpoints directory. Optional: you may exit training prematurely after 1000 iterations to skip to the next step.

python ravens/train.py --task=block-insertion --agent=transporter --n_demos=10

Step 3. Evaluate a Transporter Networks agent using the model trained for 1000 iterations. Results are saved locally into .pkl files.

python ravens/test.py --assets_root=./ravens/environments/assets/ --disp=True --task=block-insertion --agent=transporter --n_demos=10 --n_steps=1000

Step 4. Plot and print results.

python ravens/plot.py --disp=True --task=block-insertion --agent=transporter --n_demos=10

Optional. Track training and validation losses with Tensorboard.

python -m tensorboard.main --logdir=logs  # Open the browser to where it tells you to.

Datasets and Pre-Trained Models

Download our generated train and test datasets and pre-trained models.

wget https://storage.googleapis.com/ravens-assets/checkpoints.zip
wget https://storage.googleapis.com/ravens-assets/block-insertion.zip
wget https://storage.googleapis.com/ravens-assets/place-red-in-green.zip
wget https://storage.googleapis.com/ravens-assets/towers-of-hanoi.zip
wget https://storage.googleapis.com/ravens-assets/align-box-corner.zip
wget https://storage.googleapis.com/ravens-assets/stack-block-pyramid.zip
wget https://storage.googleapis.com/ravens-assets/palletizing-boxes.zip
wget https://storage.googleapis.com/ravens-assets/assembling-kits.zip
wget https://storage.googleapis.com/ravens-assets/packing-boxes.zip
wget https://storage.googleapis.com/ravens-assets/manipulating-rope.zip
wget https://storage.googleapis.com/ravens-assets/sweeping-piles.zip

The MDP formulation for each task uses transitions with the following structure:

Observations: raw RGB-D images and camera parameters (pose and intrinsics).

Actions: a primitive function (to be called by the robot) and parameters.

Rewards: total sum of rewards for a successful episode should be =1.

Info: 6D poses, sizes, and colors of objects.

ravens's People

Contributors

andyzeng avatar ayzaan avatar ericcousineau-tri avatar jmaria88 avatar kevinzakka avatar tony2guo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ravens's Issues

cuDNN failed to initialize

This is the error that I am getting when trying to run train.py:
E tensorflow/stream_executor/cuda/cuda_dnn.cc:328] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

After googling the error, I tried restarting my PC as well as other steps mentioned; however none helped.

Text labels for actions

Hi,

Is there a way to generate text labels for actions within demonstrations? For example for the kit task, "Pick M and place onto the M shaped hole"?

Thanks!

Adding new robots

Love the Ravens work & ability to script demonstrations with the provided robot. I'm looking to work on cross-embodiment transfer with language, specifically trying to use the existing Ravens workspace (and as much of the demo scripting code as possible), but with a variety of different robots (e.g., Franka Emika Panda, Sawyer, etc.).

How straightforward would it be to drop in a new URDF and start generating new demos for a new robot?

Stuck in infinite loop when trying to generate observations for place-red-in-green

On trying to generate observations for place-red-in-green, the task reset gets stuck in an infinite loop as the get_random_pose function of Task keeps returning (None, None). Is there a way to fix this?

By the way, there might be a bug in checking for None in Line 72 of ravens/tasks/place_red_in_green.py, as it should be checking if the elements in the pose tuple are None instead of the tuple being None

Visualizing HeatMaps

Hello, I am exploring this repository after reading the main paper and would like to see the visualization of the produced pick and place heatmaps. Is there any way to do that. A little help on this would be highly appreciated.

No module named 'ravens'

Running this command you will get:

python ravens/demos.py --assets_root=./ravens/environments/assets/ --disp=True --task=block-insertion --mode=train --n=10

The simplest solution is to move the file named demos.py under ravens/ not under ravens/ravens.

Dataset all frames

Hi, is there a simple way to generate the dataset with all frames (including the intermediate observations while the action is being performed)? The current dataset only gives frames for before and after an action has been performed.

Six DOF training error

Hello, first of all thank you for making this repository open source.
I tried replicating the results given in your paper with the block insertion 6 degrees of freedom task. However, I am unsure which model and agent was used to train it in the paper, because I am getting errors when I try to use the transporter_6d agent. I have attached the traceback call:

image

I hope you can help me train the block insertion with 6dof task. Not sure if I am using the right agent for it. Any help is appreciated, thank you.

Error: test show nothing

I tested the trained checkpoints file, and the following appeared in the terminal. It seems that there is no error. May I ask if this is testing? Where is the .pkl file?

(ravens) randy@randy-Precision-7920-Tower:/media/randy/299D817A2D97AD94/FTY/ravens$ python ravens/test.py --assets_root=./ravens/environments/assets/ --task=sweeping-piles --agent=transporter --n_demos=10 --n_steps=40000 --gpu=1
2022-03-31 21:14:03.592907: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
pybullet build time: Dec 1 2021 18:33:04
2022-03-31 21:14:05.890125: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcuda.so.1
2022-03-31 21:14:05.921645: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties:
pciBusID: 0000:73:00.0 name: NVIDIA GeForce RTX 2080 Ti computeCapability: 7.5
coreClock: 1.545GHz coreCount: 68 deviceMemorySize: 10.75GiB deviceMemoryBandwidth: 573.69GiB/s
2022-03-31 21:14:05.922936: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 1 with properties:
pciBusID: 0000:a6:00.0 name: NVIDIA GeForce RTX 2080 Ti computeCapability: 7.5
coreClock: 1.545GHz coreCount: 68 deviceMemorySize: 10.76GiB deviceMemoryBandwidth: 573.69GiB/s
2022-03-31 21:14:05.922984: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2022-03-31 21:14:05.925204: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcublas.so.10
2022-03-31 21:14:05.927267: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcufft.so.10
2022-03-31 21:14:05.927634: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcurand.so.10
2022-03-31 21:14:05.929961: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusolver.so.10
2022-03-31 21:14:05.931298: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusparse.so.10
2022-03-31 21:14:05.935541: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudnn.so.7
2022-03-31 21:14:05.937607: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1858] Adding visible gpu devices: 0, 1
text argument:./ravens/environments/assets/
2022-03-31 21:14:05.981715: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operations: AVX2 AVX512F FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-03-31 21:14:05.999376: I tensorflow/core/platform/profile_utils/cpu_utils.cc:104] CPU Frequency: 2500000000 Hz
2022-03-31 21:14:06.002246: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x561a4ea86030 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2022-03-31 21:14:06.002293: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version
2022-03-31 21:14:06.107250: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x561a50f62630 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2022-03-31 21:14:06.107330: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): NVIDIA GeForce RTX 2080 Ti, Compute Capability 7.5
2022-03-31 21:14:06.109570: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties:
pciBusID: 0000:a6:00.0 name: NVIDIA GeForce RTX 2080 Ti computeCapability: 7.5
coreClock: 1.545GHz coreCount: 68 deviceMemorySize: 10.76GiB deviceMemoryBandwidth: 573.69GiB/s
2022-03-31 21:14:06.109647: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2022-03-31 21:14:06.109721: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcublas.so.10
2022-03-31 21:14:06.109755: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcufft.so.10
2022-03-31 21:14:06.109787: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcurand.so.10
2022-03-31 21:14:06.109818: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusolver.so.10
2022-03-31 21:14:06.109850: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusparse.so.10
2022-03-31 21:14:06.109883: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudnn.so.7
2022-03-31 21:14:06.113529: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1858] Adding visible gpu devices: 1
2022-03-31 21:14:06.113604: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
2022-03-31 21:14:06.621545: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1257] Device interconnect StreamExecutor with strength 1 edge matrix:
2022-03-31 21:14:06.621590: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1263] 1
2022-03-31 21:14:06.621613: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1276] 1: N
2022-03-31 21:14:06.623182: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1402] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10075 MB memory) -> physical GPU (device: 1, name: NVIDIA GeForce RTX 2080 Ti, pci bus id: 0000:a6:00.0, compute capability: 7.5)
Loading pre-trained model at 40000 iterations.
int args: [

Simulation

Hi,

Is it possible to run a simulator to view the gripper in action?

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

I followed the three installation steps for my Ubuntu 18.04 machine to create a conda environment named ravens. The installation seems to have proceeded correctly. However, running the example shows this:

(ravens) seita@starship:~/ravens (master) $ python ravens/demos.py --assets_root=./ravens/environments/assets/ --disp=True --task=block-insertion --mode=train --n=10
2021-07-11 20:47:57.446709: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1
pybullet build time: May 11 2021 10:00:39
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
Traceback (most recent call last):
  File "ravens/demos.py", line 25, in <module>
    from ravens import tasks
  File "/home/seita/ravens/ravens/__init__.py", line 18, in <module>
    from ravens import agents
  File "/home/seita/ravens/ravens/agents/__init__.py", line 18, in <module>
    from ravens.agents.conv_mlp import PickPlaceConvMlpAgent
  File "/home/seita/ravens/ravens/agents/conv_mlp.py", line 22, in <module>
    from ravens.models import mdn_utils
  File "/home/seita/ravens/ravens/models/__init__.py", line 18, in <module>
    from ravens.models.attention import Attention
  File "/home/seita/ravens/ravens/models/attention.py", line 21, in <module>
    from ravens.utils import utils
  File "/home/seita/ravens/ravens/utils/utils.py", line 28, in <module>
    import pybullet as p
ImportError: numpy.core.multiarray failed to import

This error is reported elsewhere, for example:

Most fixes suggest upgrading the numpy version. Here is the pastebin of the result of conda list showing that I'm using numpy 1.18.5. However, upgrading numpy does not succeed because TensorFlow 2.3.0 has a strict numpy dependency:

(ravens) seita@starship:~/ravens (master) $ pip install numpy --upgrade
Requirement already satisfied: numpy in /home/seita/miniconda3/envs/ravens/lib/python3.7/site-packages (1.18.5)
Collecting numpy
  Downloading numpy-1.21.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)
     |████████████████████████████████| 15.7 MB 5.8 MB/s 
Installing collected packages: numpy
  Attempting uninstall: numpy
    Found existing installation: numpy 1.18.5
    Uninstalling numpy-1.18.5:
      Successfully uninstalled numpy-1.18.5
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
tensorflow 2.3.0 requires numpy<1.19.0,>=1.16.0, but you have numpy 1.21.0 which is incompatible.
Successfully installed numpy-1.21.0

The strange part is, I can actually run the data collection and training scripts, after upgrading numpy. However, because TensorFlow 2.3.0 is supposed to be incompatible (e.g., see here) it's not clear to me that this is an ideal situation. There may be some silent errors or unexpected code usage with the more recent numpy versions.

Is anyone able to reproduce this from a clean installation?

pybullet.error: Not connected to physics server

I run the code

python ravens/demos.py --assets_root=./ravens/environments/assets/ --disp=True --task=block-insertion --mode=test --n=100

When disp is True, the p.SHARED_MEMORY is True.

client = p.connect(p.SHARED_MEMORY if disp else p.DIRECT)

then run

`file_io = p.loadPlugin('fileIOPlugin', physicsClientId=client)

`
print 'pybullet.error: Not connected to physics server.' )

Something should I run first? Maybe other physics server.

image

Small typo in README installation step 3

Thanks for the code release! Spotted a very minor typo in the setup instruction:

Step 3. Recommended: install GPU acceleration with NVIDIA CUDA 10.1 and cuDNN 7.6.5 for Tensorflow.
First line
./oss_scipts/install_cuda.sh should be ./oss_scripts/install_cuda.sh

simulation environment for new task

Thanks for your open source environment!
If I want to define new robot tasks in this simulation environment, how should I generate data for Imitation Learning training? Can you provide some suggestions?

Running demos other than block-insertion fail on urdf loading

This is a great project -- thanks for open-sourcing it! Looking forward to trying it out, however, only the block-insertion demo seems to be working at present. When trying to run demos.py on any other example, relative paths to description files appear to be causing issues resulting in errors.

For example for assembling-kits:

python ravens/demos.py  --assets_root=./ravens/environments/assets/ --disp=True --task=assembling-kits --mode=train --n=10
b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/kitting/kit.urdf' not found

Traceback (most recent call last):
  File "ravens/demos.py", line 81, in <module>
    app.run(main)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "ravens/demos.py", line 62, in main
    obs = env.reset()
  File "/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/environments/environment.py", line 168, in reset
    self.task.reset(self)
  File "/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/tasks/assembling_kits.py", line 80, in reset
    urdf = self.fill_template(template, replace)
  File "/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/tasks/task.py", line 324, in fill_template
    with open(template, 'r') as file:
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/.local/lib/python3.7/site-packages/ravens-0.1-py3.7.egg/ravens/tasks/../assets/kitting/object-template.urdf'

Have also tried using pip install -e ., but error persists. Example for towers-of-hanoi:

python ravens/demos.py  --assets_root=./ravens/environments/assets/ --disp=True --task=towers-of-hanoi --mode=train --n=10
int args: [CNSFileIO is not enabled in this build.
Oracle demonstration: 1/10
ven = NVIDIA Corporation
ven = NVIDIA Corporation
b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/stand.urdf' not found

b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/disk0.urdf' not found

b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/disk1.urdf' not found

b3Printf: b3Warning[examples/Importers/ImportURDFDemo/BulletUrdfImporter.cpp,152]:

b3Printf: URDF file './ravens/environments/assets/assets/hanoi/disk2.urdf' not found

Traceback (most recent call last):
  File "ravens/demos.py", line 81, in <module>
    app.run(main)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "ravens/demos.py", line 62, in main
    obs = env.reset()
  File "/home/user/code/ravens/ravens/environments/environment.py", line 173, in reset
    obs, _, _, _ = self.step()
  File "/home/user/code/ravens/ravens/environments/environment.py", line 193, in step
    while not self.is_static:
  File "/home/user/code/ravens/ravens/environments/environment.py", line 111, in is_static
    for i in self.obj_ids['rigid']]
  File "/home/user/code/ravens/ravens/environments/environment.py", line 111, in <listcomp>
    for i in self.obj_ids['rigid']]
TypeError: an integer is required (got type NoneType)

Or sweeping-piles:

python ravens/demos.py  --assets_root=./ravens/environments/assets/ --disp=True --task=sweeping-piles --mode=train --n=10
Traceback (most recent call last):
  File "/home/user/code/ravens/ravens/utils/pybullet_utils.py", line 29, in load_urdf
    return pybullet_client.loadURDF(file_path, *args, **kwargs)
AttributeError: 'str' object has no attribute 'loadURDF'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "ravens/demos.py", line 81, in <module>
    app.run(main)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 303, in run
    _run_main(main, args)
  File "/home/user/.miniconda/envs/ravens/lib/python3.7/site-packages/absl/app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "ravens/demos.py", line 62, in main
    obs = env.reset()
  File "/home/user/code/ravens/ravens/environments/environment.py", line 152, in reset
    self.ee = self.task.ee(self.assets_root, self.ur5, 9, self.obj_ids)
  File "/home/user/code/ravens/ravens/tasks/grippers.py", line 59, in __init__
    os.path.join(self.assets_root, SPATULA_BASE_URDF), pose[0], pose[1])
  File "/home/user/code/ravens/ravens/utils/pybullet_utils.py", line 30, in load_urdf
    except pybullet_client.error:
AttributeError: 'str' object has no attribute 'error'

Note that this has been tested on all tasks listed in the README.md, and the three examples above cover the extent of errors seen in tasks not mentioned.

can you please add the documentation about actions

Hi, can you please add docuentatino what those actions mean? for example, what does this aciton mean:
act: {'pose0': (array([0.49375 , 0.003125 , 0.03997803]), array([0, 0, 0, 1])), 'pose1': (array([0.578125 , 0.015625 , 0.03997803]), array([0., 0., 0., 1.]))}
it's very ambiguous, what those arrays represent

module not found

You can use this to solve it when in the ravens directory on Windows

set PYTHONPATH=%cd%

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.