A Simulation Environment to train Robots in Large Realistic Interactive Scenes

StanfordVL, updated πŸ•₯ 2023-03-21 18:30:32

iGibson: A Simulation Environment to train Robots in Large Realistic Interactive Scenes

iGibson is a simulation environment providing fast visual rendering and physics simulation based on Bullet. iGibson is equipped with fifteen fully interactive high quality scenes, hundreds of large 3D scenes reconstructed from real homes and offices, and compatibility with datasets like CubiCasa5K and 3D-Front, providing 8000+ additional interactive scenes. Some of the features of iGibson include domain randomization, integration with motion planners and easy-to-use tools to collect human demonstrations. With these scenes and features, iGibson allows researchers to train and evaluate robotic agents that use visual signals to solve navigation and manipulation tasks such as opening doors, picking up and placing objects, or searching in cabinets.

Latest Updates

[8/9/2021] Major update to iGibson to reach iGibson 2.0, for details please refer to our arxiv preprint.

  • iGibson 2.0 supports object states, including temperature, wetness level, cleanliness level, and toggled and sliced states, necessary to cover a wider range of tasks.
  • iGibson 2.0 implements a set of predicate logic functions that map the simulator states to logic states like Cooked or Soaked.
  • iGibson 2.0 includes a virtual reality (VR) interface to immerse humans in its scenes to collect demonstrations.

[12/1/2020] Major update to iGibson to reach iGibson 1.0, for details please refer to our arxiv preprint.

  • Release of iGibson dataset that includes 15 fully interactive scenes and 500+ object models annotated with materials and physical attributes on top of existing 3D articulated models.
  • Compatibility to import CubiCasa5K and 3D-Front scene descriptions leading to more than 8000 extra interactive scenes!
  • New features in iGibson: Physically based rendering, 1-beam and 16-beam LiDAR, domain randomization, motion planning integration, tools to collect human demos and more!
  • Code refactoring, better class structure and cleanup.

[05/14/2020] Added dynamic light support :flashlight:

[04/28/2020] Added support for Mac OSX :computer:

Citation

If you use iGibson or its assets and models, consider citing the following publication:

@inproceedings{li2022igibson, title = {iGibson 2.0: Object-Centric Simulation for Robot Learning of Everyday Household Tasks}, author = {Li, Chengshu and Xia, Fei and Mart\'in-Mart\'in, Roberto and Lingelbach, Michael and Srivastava, Sanjana and Shen, Bokui and Vainio, Kent Elliott and Gokmen, Cem and Dharan, Gokul and Jain, Tanish and Kurenkov, Andrey and Liu, Karen and Gweon, Hyowon and Wu, Jiajun and Fei-Fei, Li and Savarese, Silvio}, booktitle = {Proceedings of the 5th Conference on Robot Learning}, pages = {455--465}, year = {2022}, editor = {Faust, Aleksandra and Hsu, David and Neumann, Gerhard}, volume = {164}, series = {Proceedings of Machine Learning Research}, month = {08--11 Nov}, publisher = {PMLR}, pdf = {https://proceedings.mlr.press/v164/li22b/li22b.pdf}, url = {https://proceedings.mlr.press/v164/li22b.html}, }

@inproceedings{shen2021igibson, title={iGibson 1.0: a Simulation Environment for Interactive Tasks in Large Realistic Scenes}, author={Bokui Shen and Fei Xia and Chengshu Li and Roberto Mart\'in-Mart\'in and Linxi Fan and Guanzhi Wang and Claudia P\'erez-D'Arpino and Shyamal Buch and Sanjana Srivastava and Lyne P. Tchapmi and Micael E. Tchapmi and Kent Vainio and Josiah Wong and Li Fei-Fei and Silvio Savarese}, booktitle={2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, year={2021}, pages={accepted}, organization={IEEE} }

Documentation

The documentation for iGibson can be found here: iGibson Documentation. It includes installation guide (including data download instructions), quickstart guide, code examples, and APIs.

If you want to know more about iGibson, you can also check out our webpage, iGibson 2.0 arxiv preprint and iGibson 1.0 arxiv preprint.

Dowloading the Dataset of 3D Scenes

For instructions to install iGibson and download dataset, you can visit installation guide and dataset download guide.

There are other datasets we link to iGibson. We include support to use CubiCasa5K and 3DFront scenes, adding up more than 10000 extra interactive scenes to use in iGibson! Check our documentation on how to use those.

We also maintain compatibility with datasets of 3D reconstructed large real-world scenes (homes and offices) that you can download and use with iGibson. For Gibson Dataset and Stanford 2D-3D-Semantics Dataset, please fill out this form. For Matterport3D Dataset, please fill in this form and send it to [email protected]. Please put "use with iGibson simulator" in your email. Check our dataset download guide for more details.

Using iGibson with VR

If you want to use iGibson VR interface, please visit the [VR guide (TBA)].

Contributing

This is the github repository for iGibson (pip package igibson) 2.0 release. (For iGibson 1.0, please use 1.0 branch.) Bug reports, suggestions for improvement, as well as community developments are encouraged and appreciated. Please, consider creating an issue or sending us an email.

The support for our previous version of the environment, Gibson, can be found in the following repository.

Acknowledgments

iGibson uses code from a few open source repositories. Without the efforts of these folks (and their willingness to release their implementations under permissable copyleft licenses), iGibson would not be possible. We thanks these authors for their efforts!

Issues

Fix empty scene issue of interacting in VR with added objects (#249)

opened on 2023-03-21 18:30:32 by sujaygarlanka

Fixes issue #249

Feature Request: migrate from gym to gymnasium

opened on 2023-03-17 22:08:19 by elliottower

Hi, would it be possible for iGibson to be upgraded from gym to gymnasium? Gymnasium is the maintained version of openai gym and is compatible with current RL training libraries (rllib and tianshou have already migrated, and stable-baselines3 will soon).

This repository is currently listed in the gymnasium third party environments but we are cleaning the list up to only include maintained gymnasium-compatible repositories.

For information about upgrading and compatibility, see migration guide and gym compatibility. The main difference is the API has switched to returning truncated and terminated, rather than done, in order to give more information and mitigate edge case issues.

Installation issue "Could not build wheels for igibson"

opened on 2023-03-09 09:10:45 by twoongg

Hi, I am trying to install iGibson on conda environment. (OS : Ubuntu 20.04) after I run pip install -e ., I encounter

ERROR: Could not build wheels for igibson, which is required to install pyproject.toml-based projects

Below is a full log

Obtaining file:///home/user/iGibson Installing build dependencies ... done Checking if build backend supports build_editable ... done Getting requirements to build editable ... done Installing backend dependencies ... done Preparing editable metadata (pyproject.toml) ... done Collecting tqdm Downloading tqdm-4.65.0-py3-none-any.whl (77 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 7.0 MB/s eta 0:00:00 Collecting GPUtil Downloading GPUtil-1.4.0.tar.gz (5.5 kB) Preparing metadata (setup.py) ... done Collecting future Downloading future-0.18.3.tar.gz (840 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 840.9/840.9 kB 8.8 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting gitpython Downloading GitPython-3.1.31-py3-none-any.whl (184 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 184.3/184.3 kB 8.5 MB/s eta 0:00:00 Collecting numpy>=1.16.0 Downloading numpy-1.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 9.1 MB/s eta 0:00:00 Collecting six Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting progressbar>=2.5 Downloading progressbar-2.5.tar.gz (10 kB) Preparing metadata (setup.py) ... done Collecting bddl~=1.0.1 Downloading bddl-1.0.1.tar.gz (164 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 164.8/164.8 kB 8.7 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Requirement already satisfied: pybullet-svl>=3.1.6.4 in /home/user/anaconda3/envs/igibson/lib/python3.8/site-packages (from igibson==2.2.2) (3.1.6.4) Collecting packaging Using cached packaging-23.0-py3-none-any.whl (42 kB) Collecting transforms3d>=0.3.1 Downloading transforms3d-0.4.1.tar.gz (1.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 8.3 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting scipy>=1.4 Downloading scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.5/34.5 MB 8.8 MB/s eta 0:00:00 Collecting urllib3>=1.20 Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 8.9 MB/s eta 0:00:00 Collecting trimesh Downloading trimesh-3.20.2-py3-none-any.whl (678 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 678.6/678.6 kB 8.4 MB/s eta 0:00:00 Collecting aenum Downloading aenum-3.1.11-py3-none-any.whl (131 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.5/131.5 kB 8.7 MB/s eta 0:00:00 Collecting Pillow>=5.4.0 Downloading Pillow-9.4.0-cp38-cp38-manylinux_2_28_x86_64.whl (3.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 9.0 MB/s eta 0:00:00 Collecting ipython Downloading ipython-8.11.0-py3-none-any.whl (793 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 793.3/793.3 kB 9.0 MB/s eta 0:00:00 Collecting freetype-py Downloading freetype_py-2.3.0-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (978 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 978.9/978.9 kB 8.7 MB/s eta 0:00:00 Collecting networkx>=2.0 Downloading networkx-3.0-py3-none-any.whl (2.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 9.0 MB/s eta 0:00:00 Collecting opencv-python>=3.4.8 Downloading opencv_python-4.7.0.72-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (61.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.8/61.8 MB 8.7 MB/s eta 0:00:00 Collecting gym>=0.12 Downloading gym-0.26.2.tar.gz (721 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 721.7/721.7 kB 8.9 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting matplotlib Downloading matplotlib-3.7.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (9.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.2/9.2 MB 9.2 MB/s eta 0:00:00 Collecting cloudpickle Downloading cloudpickle-2.2.1-py3-none-any.whl (25 kB) Collecting py360convert Downloading py360convert-0.1.0.tar.gz (6.5 kB) Preparing metadata (setup.py) ... done Collecting h5py Downloading h5py-3.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.7 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.7/4.7 MB 9.0 MB/s eta 0:00:00 Collecting PyYAML Downloading PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (701 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 701.2/701.2 kB 7.9 MB/s eta 0:00:00 Collecting pandas Downloading pandas-1.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2/12.2 MB 9.2 MB/s eta 0:00:00 Collecting pytest Downloading pytest-7.2.2-py3-none-any.whl (317 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 317.2/317.2 kB 8.0 MB/s eta 0:00:00 Collecting jupytext Downloading jupytext-1.14.5-py3-none-any.whl (298 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 298.7/298.7 kB 7.8 MB/s eta 0:00:00 Collecting gym-notices>=0.0.4 Downloading gym_notices-0.0.8-py3-none-any.whl (3.0 kB) Collecting importlib-metadata>=4.8.0 Downloading importlib_metadata-6.0.0-py3-none-any.whl (21 kB) Collecting gitdb<5,>=4.0.1 Downloading gitdb-4.0.10-py3-none-any.whl (62 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.7/62.7 kB 8.4 MB/s eta 0:00:00 Collecting prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 Downloading prompt_toolkit-3.0.38-py3-none-any.whl (385 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 385.8/385.8 kB 8.8 MB/s eta 0:00:00 Collecting pexpect>4.3 Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.0/59.0 kB 8.5 MB/s eta 0:00:00 Collecting matplotlib-inline Downloading matplotlib_inline-0.1.6-py3-none-any.whl (9.4 kB) Collecting backcall Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB) Collecting jedi>=0.16 Downloading jedi-0.18.2-py2.py3-none-any.whl (1.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 8.6 MB/s eta 0:00:00 Collecting decorator Downloading decorator-5.1.1-py3-none-any.whl (9.1 kB) Collecting stack-data Downloading stack_data-0.6.2-py3-none-any.whl (24 kB) Collecting pygments>=2.4.0 Downloading Pygments-2.14.0-py3-none-any.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 7.5 MB/s eta 0:00:00 Collecting pickleshare Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB) Collecting traitlets>=5 Downloading traitlets-5.9.0-py3-none-any.whl (117 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.4/117.4 kB 8.6 MB/s eta 0:00:00 Collecting fonttools>=4.22.0 Downloading fonttools-4.39.0-py3-none-any.whl (1.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 8.4 MB/s eta 0:00:00 Collecting contourpy>=1.0.1 Downloading contourpy-1.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 300.0/300.0 kB 8.6 MB/s eta 0:00:00 Collecting importlib-resources>=3.2.0 Downloading importlib_resources-5.12.0-py3-none-any.whl (36 kB) Collecting python-dateutil>=2.7 Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 8.6 MB/s eta 0:00:00 Collecting pyparsing>=2.3.1 Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 8.5 MB/s eta 0:00:00 Collecting cycler>=0.10 Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB) Collecting kiwisolver>=1.0.1 Downloading kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 8.6 MB/s eta 0:00:00 Collecting pytz>=2020.1 Downloading pytz-2022.7.1-py2.py3-none-any.whl (499 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 499.4/499.4 kB 8.9 MB/s eta 0:00:00 Collecting smmap<6,>=3.0.1 Downloading smmap-5.0.0-py3-none-any.whl (24 kB) Collecting zipp>=0.5 Downloading zipp-3.15.0-py3-none-any.whl (6.8 kB) Collecting parso<0.9.0,>=0.8.0 Downloading parso-0.8.3-py2.py3-none-any.whl (100 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.8/100.8 kB 8.8 MB/s eta 0:00:00 Collecting ptyprocess>=0.5 Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB) Collecting wcwidth Downloading wcwidth-0.2.6-py2.py3-none-any.whl (29 kB) Collecting nbformat Downloading nbformat-5.7.3-py3-none-any.whl (78 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.1/78.1 kB 8.5 MB/s eta 0:00:00 Collecting toml Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB) Collecting markdown-it-py<3.0.0,>=1.0.0 Downloading markdown_it_py-2.2.0-py3-none-any.whl (84 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 84.5/84.5 kB 9.2 MB/s eta 0:00:00 Collecting mdit-py-plugins Downloading mdit_py_plugins-0.3.5-py3-none-any.whl (52 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.1/52.1 kB 8.0 MB/s eta 0:00:00 Collecting attrs>=19.2.0 Downloading attrs-22.2.0-py3-none-any.whl (60 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.0/60.0 kB 8.7 MB/s eta 0:00:00 Collecting exceptiongroup>=1.0.0rc8 Downloading exceptiongroup-1.1.0-py3-none-any.whl (14 kB) Collecting pluggy<2.0,>=0.12 Downloading pluggy-1.0.0-py2.py3-none-any.whl (13 kB) Collecting iniconfig Downloading iniconfig-2.0.0-py3-none-any.whl (5.9 kB) Collecting tomli>=1.0.0 Using cached tomli-2.0.1-py3-none-any.whl (12 kB) Collecting executing>=1.2.0 Downloading executing-1.2.0-py2.py3-none-any.whl (24 kB) Collecting pure-eval Downloading pure_eval-0.2.2-py3-none-any.whl (11 kB) Collecting asttokens>=2.1.0 Downloading asttokens-2.2.1-py2.py3-none-any.whl (26 kB) Collecting mdurl~=0.1 Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB) Collecting jsonschema>=2.6 Downloading jsonschema-4.17.3-py3-none-any.whl (90 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.4/90.4 kB 8.8 MB/s eta 0:00:00 Collecting jupyter-core Downloading jupyter_core-5.2.0-py3-none-any.whl (94 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.3/94.3 kB 8.6 MB/s eta 0:00:00 Collecting fastjsonschema Downloading fastjsonschema-2.16.3-py3-none-any.whl (23 kB) Collecting pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 Downloading pyrsistent-0.19.3-py3-none-any.whl (57 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.5/57.5 kB 8.6 MB/s eta 0:00:00 Collecting pkgutil-resolve-name>=1.3.10 Downloading pkgutil_resolve_name-1.3.10-py3-none-any.whl (4.7 kB) Collecting platformdirs>=2.5 Downloading platformdirs-3.1.0-py3-none-any.whl (14 kB) Building wheels for collected packages: igibson, bddl, gym, progressbar, transforms3d, future, GPUtil, py360convert Building editable for igibson (pyproject.toml) ... error error: subprocess-exited-with-error

Γ— Building editable for igibson (pyproject.toml) did not run successfully. β”‚ exit code: 1 ╰─> [144 lines of output] running editable_wheel creating /tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info writing /tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info/PKG-INFO writing dependency_links to /tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info/dependency_links.txt writing requirements to /tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info/requires.txt writing top-level names to /tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info/top_level.txt writing manifest file '/tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info/SOURCES.txt' reading manifest file '/tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' /tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/config/_apply_pyprojecttoml.py:103: _WouldIgnoreField: 'authors' defined outside of pyproject.toml would be ignored. !!

      ##########################################################################
      # configuration would be ignored/result in error due to `pyproject.toml` #
      ##########################################################################

      The following seems to be defined outside of `pyproject.toml`:

      `authors = 'Stanford University'`

      According to the spec (see the link below), however, setuptools CANNOT
      consider this value unless 'authors' is listed as `dynamic`.

      https://packaging.python.org/en/latest/specifications/declaring-project-metadata/

      For the time being, `setuptools` will still consider the given value (as a
      **transitional** measure), but please note that future releases of setuptools will
      follow strictly the standard.

      To prevent this warning, you can list 'authors' under `dynamic` or alternatively
      remove the `[project]` table from your file and rely entirely on other means of
      configuration.


  !!

    warnings.warn(msg, _WouldIgnoreField)
  no previously-included directories found matching 'igibson/data'
  warning: no previously-included files matching '*.py[co]' found anywhere in distribution
  adding license file 'LICENSE'
  writing manifest file '/tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson.egg-info/SOURCES.txt'
  creating '/tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson-2.2.2.dist-info'
  creating /tmp/pip-wheel-oy2a_39f/.tmp-gewa8_c2/igibson-2.2.2.dist-info/WHEEL
  running build_py
  running build_ext
  Traceback (most recent call last):
    File "/home/user/anaconda3/envs/igibson/bin/cmake", line 5, in <module>
      from cmake import cmake
  ModuleNotFoundError: No module named 'cmake'
  Traceback (most recent call last):
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 147, in run
      self._create_wheel_file(bdist_wheel)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 328, in _create_wheel_file
      files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 259, in _run_build_commands
      self._run_build_subcommands()
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 286, in _run_build_subcommands
      self.run_command(name)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1221, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "<string>", line 41, in run
    File "/home/user/anaconda3/envs/igibson/lib/python3.8/subprocess.py", line 415, in check_output
      return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
    File "/home/user/anaconda3/envs/igibson/lib/python3.8/subprocess.py", line 516, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['cmake', '--version']' returned non-zero exit status 1.
  /tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py:151: _DebuggingTips: An error happened while installing 'igibson' in editable mode.

          ************************************************************************
          The following steps are recommended to help debugging this problem:

          - Try to install the project normally, without using the editable mode.
            Does the error still persists?
            (If it does, try fixing the problem before attempting the editable mode).
          - If you are using binary extensions, make sure you have all OS-level
            dependencies installed (e.g. compilers, toolchains, binary libraries, ...).
          - Try the latest version of setuptools (maybe the error was already fixed).
          - If you (or your project dependencies) are using any setuptools extension
            or customization, make sure they support the editable mode.

          After following the steps above, if the problem still persist and
          you think this is related to how setuptools handles editable installations,
          please submit a reproducible example
          (see https://stackoverflow.com/help/minimal-reproducible-example) to:

              https://github.com/pypa/setuptools/issues

          More information about editable installs can be found in the docs:

              https://setuptools.pypa.io/en/latest/userguide/development_mode.html
          ************************************************************************

    _DebuggingTips.warn(project)
  Traceback (most recent call last):
    File "/home/user/anaconda3/envs/igibson/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
      main()
    File "/home/user/anaconda3/envs/igibson/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/user/anaconda3/envs/igibson/lib/python3.8/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 273, in build_editable
      return hook(wheel_directory, config_settings, metadata_directory)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 442, in build_editable
      return self._build_with_temp_dir(
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 398, in _build_with_temp_dir
      self.run_setup()
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 335, in run_setup
      exec(code, locals())
    File "<string>", line 127, in <module>
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/__init__.py", line 108, in setup
      return distutils.core.setup(**attrs)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1221, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 147, in run
      self._create_wheel_file(bdist_wheel)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 328, in _create_wheel_file
      files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 259, in _run_build_commands
      self._run_build_subcommands()
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 286, in _run_build_subcommands
      self.run_command(name)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1221, in run_command
      super().run_command(command)
    File "/tmp/pip-build-env-00rdyg6r/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "<string>", line 41, in run
    File "/home/user/anaconda3/envs/igibson/lib/python3.8/subprocess.py", line 415, in check_output
      return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
    File "/home/user/anaconda3/envs/igibson/lib/python3.8/subprocess.py", line 516, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['cmake', '--version']' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building editable for igibson Building wheel for bddl (setup.py) ... done Created wheel for bddl: filename=bddl-1.0.1-py3-none-any.whl size=212351 sha256=19f839df35e96f000c7833a21237d82f9b308a0a9e9f9e73fc5b6b19af4c96e1 Stored in directory: /home/user/.cache/pip/wheels/17/33/d4/c51b0332fb55d3802766dca72a5ec05c899b4adbf385070f54 Building wheel for gym (pyproject.toml) ... done Created wheel for gym: filename=gym-0.26.2-py3-none-any.whl size=827636 sha256=287b40a4e711e4cde4098f3f627086cfd2bb078b9d83159b9da930a0d076ed42 Stored in directory: /home/user/.cache/pip/wheels/17/79/65/7afedc162d858b02708a3b8f7a6dd5b1000dcd5b0f894f7cc1 Building wheel for progressbar (setup.py) ... done Created wheel for progressbar: filename=progressbar-2.5-py3-none-any.whl size=12067 sha256=72ed44bc4948aa4d4e732c9b9d245cf6e49537ba51c223e83c5a232bca27bf58 Stored in directory: /home/user/.cache/pip/wheels/2c/67/ed/d84123843c937d7e7f5ba88a270d11036473144143355e2747 Building wheel for transforms3d (setup.py) ... done Created wheel for transforms3d: filename=transforms3d-0.4.1-py3-none-any.whl size=1376757 sha256=b8527d2429a3e90e886c54b958c7734691e64f90ea760798499e2371f826d587 Stored in directory: /home/user/.cache/pip/wheels/7b/f0/88/0198ac6eca77ffa36e7247595585e9ec34e1dcc327847ebe73 Building wheel for future (setup.py) ... done Created wheel for future: filename=future-0.18.3-py3-none-any.whl size=492025 sha256=29908a9b3c087a4614eb6b9cd2636dccf3f4d99db40b700957b36b7aef5f9b54 Stored in directory: /home/user/.cache/pip/wheels/a0/0b/ee/e6994fadb42c1354dcccb139b0bf2795271bddfe6253ccdf11 Building wheel for GPUtil (setup.py) ... done Created wheel for GPUtil: filename=GPUtil-1.4.0-py3-none-any.whl size=7392 sha256=fea619705a661169a73418c509a203593c244d684a6a314ebe16ccd82a56cc4f Stored in directory: /home/user/.cache/pip/wheels/ba/03/bb/7a97840eb54479b328672e15a536e49dc60da200fb21564d53 Building wheel for py360convert (setup.py) ... done Created wheel for py360convert: filename=py360convert-0.1.0-py3-none-any.whl size=8145 sha256=c9566c6bb3c60e36aa0855fca867590e9ed15a3ddf258287e5b6f735510c54fa Stored in directory: /home/user/.cache/pip/wheels/7b/7d/05/75fc72b58f90f3bba677f505ba5c4e7893610216f2aef42960 Successfully built bddl gym progressbar transforms3d future GPUtil py360convert Failed to build igibson ERROR: Could not build wheels for igibson, which is required to install pyproject.toml-based projects

I appreciate in advance.

Error running mesh_renderer_example

opened on 2023-02-28 19:02:01 by RiccardoRaffini

When running the mesh_render_example.py script as it is, I get the following error: Traceback (most recent call last): File "D:\Programmi\anaconda3\envs\igibson\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "D:\Programmi\anaconda3\envs\igibson\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "D:\iGibson\igibson\examples\renderer\mesh_renderer_example.py", line 99, in <module> main() File "D:\iGibson\igibson\examples\renderer\mesh_renderer_example.py", line 73, in main frame = renderer.render(modes=("rgb")) File "D:\iGibson\igibson\render\profiler.py", line 30, in __exit__ self.summarize_step(self.start) File "D:\iGibson\igibson\render\profiler.py", line 49, in summarize_step name=self.name, fps=1 / duration, duration=duration ZeroDivisionError: float division by zero

This is due to the fact that for some reason the value of duration is equal to zero.

As a fix I added the following line after the duration calculation at the start of summarize_step method: python duration = duration if duration > 0 else 1

About 'optical_flow' and 'scene_flow'

opened on 2023-02-21 09:14:25 by sanghongrui

Hi, all Thanks for your detailed description about render. However, I am still kind of confused about: - 1. What do the values exactly mean under modes 'scene_flow' and 'optical_flow' ?
- 2. What are the units for the above rendering modes? meters under camera coordinate and pixels in frame space?

VR not working in Linux

opened on 2023-02-13 14:38:54 by michalvavrecka

Hello,

while trying to run iGibson in Ubuntu 20.04 with HTC VivePro (SteamVR, OpenVR runnng) I am facing problems with renderer.

Although Linux system detected, it runs Windows option in mesh_renderer_cpu.py line 106

elif self.platform == "Windows" or self.class.name == "MeshRendererXVR": from igibson.render.mesh_renderer import VRRendererContext # type: ignore

adopting VRRendererContext, while it is not able to localize libopenvr_api.so

ImportError: libopenvr_api.so: cannot open shared object file: No such file or directory

When disabling windows option and run Linux with EGLRendererContext it will miss some functions

AttributeError: 'igibson.render.mesh_renderer.EGLRendererContext.EG' object has no attribute 'preRenderVR'

My question is simple - what Renderer is for Linux machine? Where to put libopenvr_api.so to be visible by VRRendererContext?

Thanks for answer

Michal

Releases

iGibson 2.2.2 2023-02-19 08:26:34

iGibson 2.2.2 is a new patch version with the below changes:

Changelog: - Replace references to deprecated np.int and np.bool with int

Full Changelog: https://github.com/StanfordVL/iGibson/compare/2.2.1...2.2.2

iGibson 2.2.1 2022-10-27 21:45:57

iGibson 2.2.1 is a new patch version with the below changes:

Changelog:

  • Restores support for legacy BehaviorRobot proprioception dimensionality to match BEHAVIOR baselines, using the legacy_proprioception constructor flag.
  • Fixes setuptools build issues.
  • Remove references to non-dataset scenes.
  • Fix BehaviorRobot saving/loading bugs.

Full Changelog: https://github.com/StanfordVL/iGibson/compare/2.2.0...2.2.1

iGibson 2.2.0 2022-05-09 08:18:27

iGibson 2.2.0 is a new minor version with the below features:

Changelog:

  • Fixes iGibson ROS integration
  • Adds the Tiago robot
  • Adds primitive action interface and a sample set of (work-in-progress) object-centric action primitives
  • Fixes some bugs around point nav task robot pose sampling
  • Fixes some bugs around occupancy maps

Full Changelog: https://github.com/StanfordVL/iGibson/compare/2.1.0...2.2.0

iGibson 2.1.0 2022-03-10 04:38:06

iGibson 2.1.0 is a bugfix release (that is numbered as a minor version because 2.0.6, which was a breaking change, was incorrectly numbered as a patch).

Changelog:

  • Fixed performance regression in scenes with large numbers of markers (see #169)
  • Fixed broken iGibson logo
  • Fixed Docker images
  • Removed vendored OpenVR to drastically shrink package size
  • Add better dataset version checking

Full Changelog: https://github.com/StanfordVL/iGibson/compare/2.0.6...2.1.0

iGibson 2.0.6 2022-02-17 01:55:41

Bug-fixes - Fix texture randomization - Renderer updates object poses when the objects' islands are awake - Set ignore_visual_shape to True by default - EmptyScene render_floor_plane set to True by default - Fix shadow rendering for openGL 4.1 - Fix VR demo scripts

Improvements - Major refactoring of Scene saving and loading - Major refactoring of unifying Robots into Objects - Make BehaviorRobot inherit BaseRobot - Clean up robot demos - Add optical flow example - Improve AG (assistive grasping) - Support for multi-arm robots - Handle hidden instances for optimized renderer - Unify semantic class ID - Clean up ray examples - Move VR activation out of BehaviorRobot - Base motion planning using onboard sensing, global 2d map, or full observability - Add gripper to JR2 - Add dataset / assets version validation

Full Changelog: https://github.com/StanfordVL/iGibson/compare/2.0.5...2.0.6

iGibson 2.0.5 2022-01-21 17:43:33

Re-release of iGibson 2.0.4 due to issue in PyPI distribution pipeline.

Bug-fixes - Robot camera rendering where there is non-zero rotation in the x-axis (forward direction) - Rendering floor plane in StaticIndoorScene - BehaviorRobot assisted grasping ray-casting incorrect - BehaviorRobot head rotation incorrect (moving faster than it's supposed to) - URDFObject bounding box computation incorrect - EGL context error if pybullet GUI created before EGL context - Rendering on retina screens - Viewer breaks in planning mode when no robot - LiDAR rendering

Improvements - Major refactoring of Simualtor (including rendering mode), Task, Environment, Robot, sampling code, scene/object/robot importing logic, etc. - Better CI and automation - Add predicates of BehaviorTask to info of Env - Major updates of examples - Minor updates of docs

New Features - Add Controller interface to all robots

Full Changelog: https://github.com/StanfordVL/iGibson/compare/2.0.3...2.0.5

Stanford Vision and Learning Lab

Research Codebase

GitHub Repository Homepage

simulation robot-simulator 3d-scenes