다음을 지원하는 고성능 물리학 지원 3D 시뮬레이터
서식지의 설계 철학은 시뮬레이션 기능의 폭에 비해 시뮬레이션 속도를 우선시하는 것입니다. MatterPort3D 데이터 세트에서 장면을 렌더링 할 때 Habitat-SIM은 단일 스레드를 실행하는 초당 수천 프레임 (FPS)을 달성하고 단일 GPU에서 10,000 FPS 다중 프로세스에 도달합니다. 서식지 -SIM은 레플리카 드 장면에서 초당 8,000 단계 (SPS)에서 상호 작용하는 페치 로봇을 시뮬레이션합니다. 여기서 각각의 '단계'는 1/30SEC의 1 RGBD 관측 (128 × 128 픽셀) 및 강성 바디 역학을 포함합니다.
Habitat-SIM은 일반적으로 구체화 된 AI의 엔드 투 엔드 실험을위한 모듈 식 고급 라이브러리 인 Habitat-LAB와 함께 사용됩니다.
연구에서 서식지 플랫폼을 사용하는 경우 서식지 1.0, 서식지 2.0 및 서식지 3.0 논문을 인용하십시오.
@misc{puig2023habitat3,
title = {Habitat 3.0: A Co-Habitat for Humans, Avatars and Robots},
author = {Xavi Puig and Eric Undersander and Andrew Szot and Mikael Dallaire Cote and Ruslan Partsey and Jimmy Yang and Ruta Desai and Alexander William Clegg and Michal Hlavac and Tiffany Min and Theo Gervet and Vladimír Vondruš and Vincent-Pierre Berges and John Turner and Oleksandr Maksymets and Zsolt Kira and Mrinal Kalakrishnan and Jitendra Malik and Devendra Singh Chaplot and Unnat Jain and Dhruv Batra and Akshara Rai and Roozbeh Mottaghi},
year={2023},
archivePrefix={arXiv},
}
@inproceedings{szot2021habitat,
title = {Habitat 2.0: Training Home Assistants to Rearrange their Habitat},
author = {Andrew Szot and Alex Clegg and Eric Undersander and Erik Wijmans and Yili Zhao and John Turner and Noah Maestre and Mustafa Mukadam and Devendra Chaplot and Oleksandr Maksymets and Aaron Gokaslan and Vladimir Vondrus and Sameer Dharur and Franziska Meier and Wojciech Galuba and Angel Chang and Zsolt Kira and Vladlen Koltun and Jitendra Malik and Manolis Savva and Dhruv Batra},
booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
year = {2021}
}
@inproceedings{habitat19iccv,
title = {Habitat: {A} {P}latform for {E}mbodied {AI} {R}esearch},
author = {Manolis Savva and Abhishek Kadian and Oleksandr Maksymets and Yili Zhao and Erik Wijmans and Bhavana Jain and Julian Straub and Jia Liu and Vladlen Koltun and Jitendra Malik and Devi Parikh and Dhruv Batra},
booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
year = {2019}
}
서식지 -SIM은 또한 다른 사람들이 기여한 작업을 기반으로합니다. 기여한 방법/모델을 사용하는 경우 해당 작품을 인용하십시오. 외부 기부금 섹션을 참조하십시오.
서식지 SIM은 3 가지 방법으로 설치할 수 있습니다.
pip install . 총알로 최신 헤드리스 빌드를 컴파일합니다. 빌드 지침 및 일반적인 빌드 문제를 읽으십시오.서식지는 적극적인 발전을 받고 있으며 사용자에게 안정적인 릴리스로 자신을 제한하도록 조언합니다. V0.1.4부터 시작하여 각 릴리스에 대한 콘다 패키지를 제공합니다.
콘다 준비
Conda가 설치되었다고 가정하면 Conda Env를 준비합시다.
# We require python>=3.9 and cmake>=3.10
conda create -n habitat python=3.9 cmake=3.14.0
conda activate habitat콘다 설치 서식지 -SIM
시스템/요구에 따라 아래 옵션 중 하나를 선택하십시오.
디스플레이가 첨부 된 기계에 설치하려면 :
conda install habitat-sim -c conda-forge -c aihabitat헤드리스 머신에 설치하려면 (즉, 클러스터에 첨부 된 디스플레이가없는) 및 여러 GPU가있는 머신 (이 매개 변수는 EGL에 의존하므로 MACOS에서는 작동 하지 않습니다 ).
conda install habitat-sim headless -c conda-forge -c aihabitat
[ 가장 일반적인 시나리오 ] Bullet Physics와 함께 서식지 SIM을 설치하려면
conda install habitat-sim withbullet -c conda-forge -c aihabitat
참고 : 빌드 매개 변수를 함께 연결할 수 있습니다. 예를 들어, 헤드리스 머신에 물리학을 사용하여 서식지 SIM을 설치하려면 다음과 같습니다.
conda install habitat-sim withbullet headless -c conda-forge -c aihabitat
이전 버전의 콘다 패키지는 버전을 conda install habitat-sim=0.1.6 -c conda-forge -c aihabitat 적으로 지정하여 설치할 수 있습니다.
우리는 또한 메인 브랜치를위한 야간 콘다 빌드를 제공합니다. 그러나 최신 릴리스 버전에 아직 특정 기능이 필요한 경우에만 사용해야합니다. 최신 메인의 야간 빌드를 얻으려면 -c aihabitat-nightly 위해 -c aihabitat 간단히 바꾸십시오.
파이썬 데이터 다운로드 유틸리티를 사용하여 일부 3D 자산을 다운로드하겠습니다.
다운로드 (테스트) 3D 장면
python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path /path/to/data/ 이러한 테스트 장면은 의미 론적 주석을 제공하지 않습니다. example.py 통해 시맨틱 센서를 테스트하려면 matterport3d 데이터 세트의 데이터를 사용하십시오 (데이터 세트 참조).
예제 객체를 다운로드하십시오
python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path /path/to/data/대화식 테스트 : C ++ 또는 Python의 서식지 SIM에 포함 된 대화식 뷰어를 사용하십시오.
# C++
# ./build/viewer if compiling locally
habitat-viewer /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb
# Python
# NOTE: depending on your choice of installation, you may need to add '/path/to/habitat-sim' to your PYTHONPATH.
# e.g. from 'habitat-sim/' directory run 'export PYTHONPATH=$(pwd)'
python examples/viewer.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb이 테스트 장면에서 에이전트를 제어 할 수 있어야합니다. A/S/D 키를 사용하여 앞으로/왼쪽/뒤로/오른쪽 및 화살표 키 또는 마우스 (왼쪽 클릭)를 사용하여 시선 방향 (위/아래/왼쪽/오른쪽)을 제어하십시오. 화환으로 둘러싸인 여자의 그림을 찾으십시오. 재미있게 보내세요!
물리적 상호 작용 : 서식지 SIM은 총알 물리와 통합을 통해 엄격하고 관절 된 역학 시뮬레이션을 제공합니다. C ++ 또는 Python의 대화식 뷰어 기능을 사용하여 지금 시도하십시오.
먼저 완전히 대화식 Replicacad 아파트 데이터 세트 (140MB)를 다운로드하십시오.
# NOTE: by default, data will be downloaded into habitat-sim/data/. Optionally modify the data path by adding: `--data-path /path/to/data/`
# with conda install
python -m habitat_sim.utils.datasets_download --uids replica_cad_dataset
# with source (from inside habitat_sim/)
python src_python/habitat_sim/utils/datasets_download.py --uids replica_cad_dataset--uids replica_cad_baked_lighting (480 MB)을 통해 제공됩니다.그런 다음 뷰어 애플리케이션에서 물리학 활성화로 레플리카드 장면을로드하십시오. 위의 데이터 경로를 수정 한 경우 아래의 뷰어 통화에서도 수정하십시오.
# C++
# ./build/viewer if compiling locally
habitat-viewer --enable-physics --dataset data/replica_cad/replicaCAD.scene_dataset_config.json -- apt_1
# python
# NOTE: habitat-sim/ directory must be on your `PYTHONPATH`
python examples/viewer.py --dataset data/replica_cad/replicaCAD.scene_dataset_config.json --scene apt_1--dataset data/replica_cad_baked_lighting/replicaCAD_baked.scene_dataset_config.json --scene Baked_sc1_staging_00뷰어 응용 프로그램은 런타임에 콘솔에 키보드 및 마우스 인터페이스 옵션의 전체 목록을 출력합니다.
QuickStart 예 :
WASDLEFT 클릭하고 드래그하여 둘러보십시오SPACE 눌러/on (기본값 켜짐)'m' 눌러 "Grab"마우스 모드로 전환하십시오LEFT 또는 RIGHT 버튼을 클릭하고 드래그하여 물체 또는 문/서랍을 열고 릴리스하여 물체를 떨어 뜨립니다.ALT ) : 객체 회전 고정 제약 조건 프레임 (YAW)CTRL ) : 객체 고정 제약 조건 프레임 회전 (피치)ALT + CTRL ) : 객체 회전 고정 제약 조건 프레임 (롤)비 응현 테스트 (예 : 헤드리스 시스템의 경우) : 예제 스크립트 실행 :
python /path/to/habitat-sim/examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb 에이전트는 특정 경로를 가로 지르며 다음과 같은 성능 통계를 볼 수 있습니다. 640 x 480, total time: 3.208 sec. FPS: 311.7 .
서식지 ICCV'19에서 벤치 마크 테이블을 재현하려면 examples/benchmark.py --scene /path/to/mp3d_example/17DRP5sb8fy/17DRP5sb8fy.glb .
센서 구성을 변경하고 장면에서 시맨틱 주석의 통계를 인쇄하고 액션 공간 짧은 경로 궤적을 계산하고 다른 유용한 기능을 설정하기 위해 추가 example.py 가 제공됩니다. 개요는 example.py 및 demo_runner.py 소스 파일을 참조하십시오.
특정 MP3D 또는 Gibson House : examples/example.py --scene path/to/mp3d/house_id.glb 로드하십시오.
또한 참조를위한 예제 데모를 제공했습니다.
Python에서 물리 예제를 실행하려면 ( "총알을 통한 물리 시뮬레이션"으로 구축 한 후) :
python examples/example.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb --enable_physics 이 모드에서는 에이전트가 얼어 붙은 물리적 물체를 향해 방향을 향합니다. 또한, --save_png 사용하여 물리적 장면의 시각적 관찰 프레임을 현재 디렉토리에 출력 할 수 있습니다.
원격 기계에서 실행 중이며 시뮬레이터를 초기화 할 때 표시 오류가 발생하는 경우 (예 :
X11: The DISPLAY environment variable is missing
Could not initialize GLFW 환경에 정의 된 DISPLAY 없는지 확인하십시오 (변수를 정의하지 않도록 unset DISPLAY 실행하십시오).
libgl 오류가 다음과 같은 경우 :
X11: The DISPLAY environment variable is missing
Could not initialize GLFW당신의 libgl은 비표준 위치에있을 가능성이 있습니다. 이 문제를 참조하십시오.
온라인 서식지 SIM 문서를 찾아보십시오.
실습 QuickStart 경험은 ECCV 튜토리얼 시리즈를 확인하십시오.
질문에 대한 답을 찾을 수 없습니까? 토론 포럼에서 개발자와 커뮤니티에게 물어보십시오.
서식지 SIM과 함께 일반적인 지원되는 데이터 세트를 사용하는 방법.
Pyrobot의 노이즈 모델을 사용하는 경우 기술 보고서를 인용하십시오.
구체적으로, pyrobot_* 라는 시끄러운 제어 기능에 사용되는 노이즈 모델은 src_python/habitat_sim/agent/controls/pyrobot_noisy_controls.py 에 정의됩니다.
레드 우드 깊이 노이즈 모델을 사용하는 경우 종이를 인용하십시오.
구체적으로, src_python/habitat_sim/sensors/noise_models/redwood_depth_noise_model.py 및 src/esp/sensor/RedwoodNoiseModel.*
서식지 SIM은 MIT 라이센스가 부여됩니다. 자세한 내용은 라이센스를 참조하십시오.
데모 스크립트 사용 :