Высокопроизводительный 3D-симулятор с поддержкой физики с поддержкой:
Философия дизайна среды обитания заключается в расстановке приоритетов скорости моделирования над широтой моделирования. При рендеринге сцены из набора данных Matterport3D Mabitat-SIM достигает нескольких тысяч кадров в секунду (FPS), работающих с одним нагрузкой, и достигает более 10000 кадров в несколько кадров на одном графическом процессоре. Среда обитания-SIM имитирует робота, взаимодействующего в репликакад, на более чем 8000 шагов в секунду (SPS), где каждый «шаг» включает в себя 1/30 секунд (128 × 128 пикселей) и динамику жесткого тела для 1/30 секунды.
Среда обитания SIM обычно используется с средой обитания Lab, модульной библиотеки высокого уровня для сквозных экспериментов в воплощенном ИИ-определение воплощенных задач ИИ (например, навигация, обучение, ответное ответы), тренировочные агенты (посредством имитации или обучения усилительности или отсутствия обучения в качестве в классических смыслах Pipelines) и бензировании их производительности на разработках.
Если вы используете платформу среды обитания в своем исследовании, пожалуйста, процитируйте статьи «Хабитат 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 . Чтобы скомпилировать новейшую безголую сборку с Bullet. Прочитайте инструкции по сборке и общие проблемы с сборкой.Хабитат находится в активном развитии, и мы советуем пользователям ограничивать себя стабильными выпусками. Начиная с V0.1.4, мы предоставляем пакеты Conda для каждого выпуска.
Подготовка Conda Env
Предполагая, что у вас установлена 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 habitatConda Установить среду обитания-sim
Выберите один из приведенных ниже вариантов в зависимости от вашей системы/потребностей:
Установить на машинах с прикрепленным дисплеем:
conda install habitat-sim -c conda-forge -c aihabitatЧтобы установить на машины без головы (то есть без прикрепленного дисплея, например, в кластере) и машины с несколькими графическими процессорами (этот параметр полагается на EGL и, следовательно, не работает на macOS):
conda install habitat-sim headless -c conda-forge -c aihabitat
[ Наиболее распространенный сценарий ] для установки среды обитания с физикой пули
conda install habitat-sim withbullet -c conda-forge -c aihabitat
Примечание. Параметры сборки могут быть прикованы вместе. Например, установить среду обитания с физикой на машинах без головы:
conda install habitat-sim withbullet headless -c conda-forge -c aihabitat
Пакеты Conda для более старых версий могут установить путем явного указания версии, например, conda install habitat-sim=0.1.6 -c conda-forge -c aihabitat .
Мы также обеспечиваем ночную конду для основной ветви. Тем не менее, это следует использовать только в том случае, если вам нужна конкретная функция, которая еще не в последней версии релиза. Чтобы получить ночную сборку последней основной, просто поменяйте -c aihabitat на -c aihabitat-nightly .
Давайте загрузим несколько 3D -активов, используя нашу утилиту загрузки данных Python:
Скачать (тестирование) 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/Интерактивное тестирование : используйте интерактивного просмотра, включенного в среду обитания SIM в C ++ или Python:
# 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 (140 МБ):
# 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 МБ).Затем загрузите сцену Replicacad в приложение для просмотра с помощью физики. Если вы изменили путь данных выше, также измените его в вызовах просмотра ниже.
# 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 Пример:
WASD двигатьсяLEFT щелкните и перетащите мышь, чтобы осмотретьсяSPACE для переключения моделирования/включено (по умолчанию)'m' , чтобы переключиться на режим «захватить» мыши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 расположен в нестандартном месте. Смотрите, например, этот вопрос.
Просмотрите документацию по онлайн-среде обитания.
Проверьте нашу серию ECCV для практического опыта QuickStart.
Не можете найти ответ на ваш вопрос? Попробуйте спросить разработчиков и сообщества на нашем форуме обсуждений.
Как использовать общие поддерживаемые наборы данных с средой обитания.
Если вы используете модель шума от 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. Смотрите лицензию для деталей.
Демо -сценарии используют: