محاكاة ثلاثية الأبعاد ذات الأداء العالي التي تدعم الفيزياء مع دعم:
تتمثل فلسفة التصميم للموئل في تحديد أولويات سرعة المحاكاة على اتساع قدرات المحاكاة. عند تقديم مشهد من مجموعة بيانات MatterPort3D ، يحقق Habitat-Sim عدة آلاف من الإطارات في الثانية (FPS) التي تعمل على تراكم واحد وتصل إلى أكثر من 10000 إطار في الثانية على وحدة معالجة رسمية واحدة. يحاكي الموئل-SIM روبوت الجلب الذي يتفاعل في مشاهد النسخ المتماثل في أكثر من 8000 خطوة في الثانية (SPS) ، حيث تتضمن كل "خطوة" تقديم 1 RGBD (128 × 128 بكسل) وديناميات الجسم الصلبة ل 1/30 ثانية.
عادةً ما يتم استخدام الموائل-SIM مع LAB للموائل ، وهي مكتبة عالية المستوى للتجارب الشاملة في الذكاء الاصطناعى المجسدة-تحديد مهام الذكاء الاصطناعى المتجسدة (مثل التنقل أو التعليم المتابع أو الإجابة على الأسئلة) أو عوامل التدريب (عبر تقليد أو التعلم التعزيز على الإطلاق في خطوط الأنابيب الكلاسيكية) ، و Benching Atting Atting.
إذا كنت تستخدم منصة الموائل في بحثك ، فيرجى الاستشهاد بأوراق الموئل 1.0 و Habitat 2.0 و Habitat 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 بثلاث طرق:
pip install . لتجميع أحدث بنية مقطوعة الرأس مع رصاصة. قراءة تعليمات البناء وقضايا البناء المشتركة.الموئل يخضع للتطوير النشط ، وننصح المستخدمين بتقييد أنفسهم على الإصدارات المستقرة. بدءًا من V0.1.4 ، نقدم حزم كوندا لكل إصدار.
إعداد كوندا البيئة
على افتراض أنك قمت بتثبيت كوندا ، دعنا نستعد لـ 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للتثبيت على آلات مقطوعة الرأس (IE بدون شاشة متصلة ، على سبيل المثال في الكتلة) والآلات ذات وحدات معالجة الرسومات المتعددة (تعتمد هذه المعلمة على 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 .
دعنا نقوم بتنزيل بعض الأصول ثلاثية الأبعاد باستخدام أداة تنزيل بيانات Python:
تنزيل (اختبار) مشاهد ثلاثية الأبعاد
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يجب أن تكون قادرًا على التحكم في وكيل في مشهد الاختبار هذا. استخدم مفاتيح W/A/D/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 لتبديل المحاكاة/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 .
لإعادة إنتاج الجدول القياسي من examples/benchmark.py --scene /path/to/mp3d_example/17DRP5sb8fy/17DRP5sb8fy.glb .
يتم توفير وسيط إضافية إلى example.py لتغيير تكوين المستشعر ، وإحصائيات الطباعة للشروح الدلالية في مشهد ، وحساب أقصر مسار الفضاء ، ووضع وظائف مفيدة أخرى. ارجع إلى ملفات المصدر example.py و demo_runner.py للحصول على نظرة عامة.
قم بتحميل منزل MP3D أو Gibson محدد: examples/example.py --scene path/to/mp3d/house_id.glb .
لقد قدمنا أيضًا مثالًا تجريبيًا للرجوع إليه.
لتشغيل مثال فيزياء في بيثون (بعد البناء مع "محاكاة الفيزياء عبر رصاصة"):
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 للحصول على تجربة سريعة التشغيل.
لا يمكنك العثور على إجابة سؤالك؟ حاول أن تسأل المطورين والمجتمع في منتدى المناقشات لدينا.
كيف تستخدم مجموعات البيانات المدعومة المشتركة مع الموائل SIM.
إذا كنت تستخدم نموذج الضوضاء من Pyrobot ، فيرجى الاستشهاد بالتقرير الفني.
على وجه التحديد ، نموذج الضوضاء المستخدم لوظائف التحكم الصاخبة المسماة pyrobot_* والمحددة في src_python/habitat_sim/agent/controls/pyrobot_noisy_controls.py
إذا كنت تستخدم نموذج ضوضاء عمق Redwood ، فيرجى الاستشهاد بالورق الخاص بهم
على وجه التحديد ، نموذج الضوضاء المحدد في src_python/habitat_sim/sensors/noise_models/redwood_depth_noise_model.py و src/esp/sensor/RedwoodNoiseModel.*
الموئل-SIM هو معهد ماساتشوستس للتكنولوجيا مرخصة. انظر الترخيص للحصول على التفاصيل.
تستخدم البرامج النصية التجريبية: