[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-facebookresearch--habitat-sim":3,"tool-facebookresearch--habitat-sim":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":79,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":113,"forks":114,"last_commit_at":115,"license":116,"difficulty_score":10,"env_os":117,"env_gpu":118,"env_ram":119,"env_deps":120,"category_tags":127,"github_topics":128,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":135,"updated_at":136,"faqs":137,"releases":170},2952,"facebookresearch\u002Fhabitat-sim","habitat-sim","A flexible, high-performance 3D simulator for Embodied AI research.","habitat-sim 是一款专为具身人工智能（Embodied AI）研究打造的高性能 3D 模拟器。它旨在解决传统仿真平台运行速度慢、难以支撑大规模强化学习训练的痛点，让研究人员能够在逼真的虚拟环境中高效地训练和测试智能体。\n\n这款工具非常适合从事机器人导航、操作任务及人机交互研究的科研人员与开发者。habitat-sim 的核心设计理念是“速度优先”，其渲染效率极高：在单线程下可达数千帧每秒，多进程模式下甚至能突破万帧大关。这意味着原本需要数周的模型训练时间，现在可能只需数小时即可完成。\n\n在功能上，habitat-sim 支持导入多种主流室内室外三维扫描数据集（如 MatterPort3D、HM3D），并能通过 Bullet 物理引擎精确模拟刚体动力学。用户可以灵活配置各类传感器（如 RGB-D 相机），并加载基于 URDF 描述的多样化机器人模型，从移动机械臂到四足机器人都能轻松驾驭。通常，它会与高层实验库 habitat-lab 配合使用，共同构建从任务定义、算法训练到性能评估的完整研发闭环，是推动具身智能落地的强大基础设施。","[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Fhabitat-sim\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Fhabitat-sim)\n[![GitHub license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fblob\u002Fmain\u002FLICENSE)\n[![Conda Version Badge](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Faihabitat\u002Fhabitat-sim?color=blue&label=conda%20version)](https:\u002F\u002Fanaconda.org\u002Faihabitat\u002Fhabitat-sim)\n[![Conda Platforms support Badge](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fpn\u002Faihabitat\u002Fhabitat-sim?color=orange&label=platforms)](https:\u002F\u002Fanaconda.org\u002Faihabitat\u002Fhabitat-sim)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-automated-green.svg)](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002F)\n[![pre-commit](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fpre-commit\u002Fpre-commit)\n[![Python 3.9+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.9%2B-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![Supports Bullet](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsupports-Bullet%20Physics-informational)](https:\u002F\u002Fgithub.com\u002Fbulletphysics\u002Fbullet3)\n[![Follow @ai_habitat](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fai_habitat?style=social)](https:\u002F\u002Fx.com\u002Fai_habitat)\n\n# Habitat-Sim\n\nA high-performance physics-enabled 3D simulator with support for:\n- 3D scans of indoor\u002Foutdoor spaces (with built-in support for [HM3D](https:\u002F\u002Faihabitat.org\u002Fdatasets\u002Fhm3d\u002F), [HSSD](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhssd\u002Fhssd-hab), [MatterPort3D](https:\u002F\u002Fniessner.github.io\u002FMatterport\u002F), [Gibson](http:\u002F\u002Fgibsonenv.stanford.edu\u002Fdatabase\u002F), [Replica](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FReplica-Dataset), and other datasets)\n- CAD models of spaces and piecewise-rigid objects (e.g. [ReplicaCAD](https:\u002F\u002Faihabitat.org\u002Fdatasets\u002Freplica_cad\u002F), [YCB](https:\u002F\u002Fwww.ycbbenchmarks.com\u002F), [Google Scanned Objects](https:\u002F\u002Farxiv.org\u002Fabs\u002F2204.11918)),\n- Configurable sensors (RGB-D cameras, egomotion sensing)\n- Robots described via URDF (mobile manipulators like [Fetch](https:\u002F\u002Fgithub.com\u002Ffetchrobotics), fixed-base arms like [Franka](https:\u002F\u002Fwww.franka.de\u002F), quadrupeds like [AlienGo](https:\u002F\u002Fwww.unitree.com\u002Fproducts\u002Faliengo\u002F)),\n- Rigid-body mechanics (via [Bullet](https:\u002F\u002Fgithub.com\u002Fbulletphysics\u002Fbullet3)).\n\nThe design philosophy of Habitat is to prioritize simulation speed over the breadth of simulation capabilities. When rendering a scene from the Matterport3D dataset, Habitat-Sim achieves several thousand frames per second (FPS) running single-threaded and reaches over 10,000 FPS multi-process on a single GPU. Habitat-Sim simulates a Fetch robot interacting in ReplicaCAD scenes at over 8,000 steps per second (SPS), where each ‘step’ involves rendering 1 RGBD observation (128×128 pixels) and rigid-body dynamics for 1\u002F30sec.\n\n\nHabitat-Sim is typically used with\n[Habitat-Lab](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab), a modular high-level library for end-to-end experiments in embodied AI -- defining embodied AI tasks (e.g. navigation, instruction following, question answering), training agents (via imitation or reinforcement learning, or no learning at all as in classical SensePlanAct pipelines), and benchmarking their performance on the defined tasks using standard metrics.\n\n## [Questions or Comments? Join the AI Habitat community discussions forum.](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab\u002Fdiscussions)\n\n[![Habitat Demo](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=WebGL&message=Try%20AI%20Habitat%20In%20Your%20Browser%20&color=blue&logo=webgl&labelColor=%23990000&style=for-the-badge&link=https:\u002F\u002Faihabitat.org\u002Fdemo)](https:\u002F\u002Faihabitat.org\u002Fdemo)\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F2941091\u002F126080914-36dc8045-01d4-4a68-8c2e-74d0bca1b9b8.mp4\n\n---\n\n## Table of contents\n   1. [Citing Habitat](#citing-habitat)\n   1. [Installation](#installation)\n   1. [Testing](#testing)\n   1. [Documentation](#documentation)\n   1. [Datasets](#datasets)\n   1. [External Contributions](#external-contributions)\n   1. [License](#license)\n\n\n## Citing Habitat\nIf you use the Habitat platform in your research, please cite the [Habitat 1.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01201), [Habitat 2.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.14405), and [Habitat 3.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.13724) papers:\n\n```\n@misc{puig2023habitat3,\n      title  = {Habitat 3.0: A Co-Habitat for Humans, Avatars and Robots},\n      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 Vladimír Vondruš 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},\n      year={2023},\n      archivePrefix={arXiv},\n}\n\n@inproceedings{szot2021habitat,\n  title     =     {Habitat 2.0: Training Home Assistants to Rearrange their Habitat},\n  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},\n  booktitle =     {Advances in Neural Information Processing Systems (NeurIPS)},\n  year      =     {2021}\n}\n\n@inproceedings{habitat19iccv,\n  title     =     {Habitat: {A} {P}latform for {E}mbodied {AI} {R}esearch},\n  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},\n  booktitle =     {Proceedings of the IEEE\u002FCVF International Conference on Computer Vision (ICCV)},\n  year      =     {2019}\n}\n```\n\nHabitat-Sim also builds on work contributed by others.  If you use contributed methods\u002Fmodels, please cite their works.  See the [External Contributions](#external-contributions) section\nfor a list of what was externally contributed and the corresponding work\u002Fcitation.\n\n\n## Installation\n\nHabitat-Sim can be installed in 4 ways:\n1. Via Conda - Recommended method for most users. Stable release and nightly builds.\n1. Via PIP - `pip install . --no-build-isolation` to compile from source. Read [build instructions and common build issues](BUILD_FROM_SOURCE.md).\n1. Via Docker - Updated approximately once per year for the [Habitat Challenge](https:\u002F\u002Faihabitat.org\u002Fchallenge\u002F). Read [habitat-docker-setup](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab#docker-setup).\n1. Via Source - For active development. Read [build instructions and common build issues](BUILD_FROM_SOURCE.md).\n\n### [Recommended] Conda Packages\n\nHabitat is under active development, and we advise users to restrict themselves to [stable releases](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Freleases). Starting with v0.1.4, we provide [conda packages for each release](https:\u002F\u002Fanaconda.org\u002Faihabitat).\n\n1. **Preparing conda env**\n\n   Assuming you have [conda](https:\u002F\u002Fdocs.conda.io\u002Fprojects\u002Fconda\u002Fen\u002Flatest\u002Fuser-guide\u002Finstall\u002F) installed, let's prepare a conda env:\n   ```bash\n   # We require python>=3.9 and cmake>=3.22\n   conda create -n habitat python=3.12 cmake=3.27\n   conda activate habitat\n   ```\n\n1. **conda install habitat-sim**\n\n   Pick one of the options below depending on your system\u002Fneeds:\n\n   - To install on machines with an attached display:\n      ```bash\n      conda install habitat-sim -c conda-forge -c aihabitat\n      ```\n   - To install on headless machines (i.e. without an attached display, e.g. in a cluster) and machines with multiple GPUs (this parameter relies on EGL and thus does *not* work on MacOS):\n      ```\n      conda install habitat-sim headless -c conda-forge -c aihabitat\n      ```\n   - [**Most common scenario**] To install habitat-sim with bullet physics\n      ```\n      conda install habitat-sim withbullet -c conda-forge -c aihabitat\n      ```\n\n   - Note: Build parameters can be chained together. For instance, to install habitat-sim with physics on headless machines:\n      ```\n      conda install habitat-sim withbullet headless -c conda-forge -c aihabitat\n      ```\n\nConda packages for older versions can installed by explicitly specifying the version, e.g. `conda install habitat-sim=0.1.6 -c conda-forge -c aihabitat`.\n\nWe also provide a [nightly conda build for the main branch](https:\u002F\u002Fanaconda.org\u002Faihabitat-nightly). However, this should only be used if you need a specific feature not yet in the latest release version. To get the nightly build of the latest main, simply swap `-c aihabitat` for `-c aihabitat-nightly`.\n\n## Testing\n\n1. Let's download some 3D assets using our python data download utility:\n   - Download (testing) 3D scenes\n      ```bash\n      python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path \u002Fpath\u002Fto\u002Fdata\u002F\n      ```\n      Note that these testing scenes do not provide semantic annotations.\n      If you would like to test the semantic sensors via `example.py`, please use the data from the Matterport3D dataset (see [Datasets](DATASETS.md)).\n\n   - Download example objects\n      ```bash\n      python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path \u002Fpath\u002Fto\u002Fdata\u002F\n      ```\n\n1. **Interactive testing**: Use the interactive viewer included with Habitat-Sim in either C++ or python:\n   ```bash\n   #C++\n   # After 'pip install .', the viewer is on PATH:\n   viewer \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n   # For editable\u002Fdevelopment builds, a convenience symlink is created:\n   .\u002Fbuild\u002Fviewer \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n\n   #Python\n   python examples\u002Fviewer.py --scene \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n   ```\n   You should be able to control an agent in this test scene.\n   Use W\u002FA\u002FS\u002FD keys to move forward\u002Fleft\u002Fbackward\u002Fright and arrow keys or mouse (LEFT click) to control gaze direction (look up\u002Fdown\u002Fleft\u002Fright).\n   Try to find the picture of a woman surrounded by a wreath.\n   Have fun!\n\n1. **Physical interactions**: Habitat-sim provides rigid and articulated dynamics simulation via integration with [Bullet physics](https:\u002F\u002Fpybullet.org\u002F).\n   Try it out now with our interactive viewer functionality in C++ or python.\n\n   First, download our fully interactive [ReplicaCAD apartment dataset](https:\u002F\u002Faihabitat.org\u002Fdatasets\u002Freplica_cad\u002F) (140 MB):\n\n   ```bash\n   #NOTE: by default, data will be downloaded into habitat-sim\u002Fdata\u002F. Optionally modify the data path by adding:  `--data-path \u002Fpath\u002Fto\u002Fdata\u002F`\n   # with conda install\n   python -m habitat_sim.utils.datasets_download --uids replica_cad_dataset\n\n   # with source (from inside habitat_sim\u002F)\n   python src_python\u002Fhabitat_sim\u002Futils\u002Fdatasets_download.py --uids replica_cad_dataset\n   ```\n   - Alternatively, 105 scene variations with pre-baked lighting are available via `--uids replica_cad_baked_lighting` (480 MB).\n\n   Then load a ReplicaCAD scene in the viewer application with physics enabled. If you modified the data path above, also modify it in viewer calls below.\n\n   ```bash\n   #C++\n   viewer --enable-physics --dataset data\u002Freplica_cad\u002FreplicaCAD.scene_dataset_config.json -- apt_1\n\n   #python\n   python examples\u002Fviewer.py --dataset data\u002Freplica_cad\u002FreplicaCAD.scene_dataset_config.json --scene apt_1\n   ```\n   - Using scenes with pre-baked lighting instead? Use `--dataset data\u002Freplica_cad_baked_lighting\u002FreplicaCAD_baked.scene_dataset_config.json --scene Baked_sc1_staging_00`\n\n   The viewer application outputs the full list of keyboard and mouse interface options to the console at runtime.\n\n   Quickstart Example:\n   - `WASD` to move\n   - `LEFT` click and drag the mouse to look around\n   - press `SPACE` to toggle simulation off\u002Fon (default on)\n   - press `'m'` to switch to \"GRAB\" mouse mode\n    - now `LEFT` or `RIGHT` click and drag to move objects or open doors\u002Fdrawers and release to drop the object\n    - with an object gripped, scroll the mouse wheel to:\n      - (default): move it closer or farther away\n      - (+`ALT`): rotate object fixed constraint frame (yaw)\n      - (+`CTRL`): rotate object fixed constraint frame (pitch)\n      - (+`ALT`+`CTRL`): rotate object fixed constraint frame (roll)\n\n1. **Non-interactive testing** (e.g. for headless systems): Run the example script:\n   ```bash\n   python \u002Fpath\u002Fto\u002Fhabitat-sim\u002Fexamples\u002Fexample.py --scene \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n   ```\n   The agent will traverse a particular path and you should see the performance stats at the very end, something like this:\n  `640 x 480, total time: 3.208 sec. FPS: 311.7`.\n\n   To reproduce the benchmark table from [Habitat ICCV'19](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01201) run `examples\u002Fbenchmark.py --scene \u002Fpath\u002Fto\u002Fmp3d_example\u002F17DRP5sb8fy\u002F17DRP5sb8fy.glb`.\n\n   Additional arguments to `example.py` are provided to change the sensor configuration, print statistics of the semantic annotations in a scene, compute action-space shortest path trajectories, and set other useful functionality. Refer to the `example.py` and `demo_runner.py` source files for an overview.\n\n   Load a specific MP3D or Gibson house: `examples\u002Fexample.py --scene path\u002Fto\u002Fmp3d\u002Fhouse_id.glb`.\n\n\n   We have also provided an [example demo](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-lab\u002Fhabitat-lab-demo.html) for reference.\n\n   To run a physics example in python (after building with \"Physics simulation via Bullet\"):\n   ```bash\n   python examples\u002Fexample.py --scene \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb --enable_physics\n   ```\n   Note that in this mode the agent will be frozen and oriented toward the spawned physical objects. Additionally, `--save_png` can be used to output agent visual observation frames of the physical scene to the current directory.\n\n\n### Common testing issues\n\n- If you are running on a remote machine and experience display errors when initializing the simulator, e.g.\n   ```bash\n    X11: The DISPLAY environment variable is missing\n    Could not initialize GLFW\n   ```\n\n  ensure you do not have `DISPLAY` defined in your environment (run `unset DISPLAY` to undefine the variable)\n\n- If you see libGL errors like:\n\n   ```bash\n    X11: The DISPLAY environment variable is missing\n    Could not initialize GLFW\n   ```\n\n    chances are your libGL is located at a non-standard location. See e.g. [this issue](https:\u002F\u002Faskubuntu.com\u002Fquestions\u002F541343\u002Fproblems-with-libgl-fbconfigs-swrast-through-each-update).\n\n## Documentation\n\nBrowse the online [Habitat-Sim documentation](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002Findex.html).\n\nCheck out our [ECCV tutorial series](https:\u002F\u002Faihabitat.org\u002Ftutorial\u002F2020\u002F) for a hands-on quickstart experience.\n\nCan't find the answer to your question? Try asking the developers and community on our [Discussions forum](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab\u002Fdiscussions).\n\n## Datasets\n\n[HowTo use common supported datasets with Habitat-Sim](DATASETS.md).\n\n\n## External Contributions\n\n* If you use the noise model from PyRobot, please cite the their [technical report](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpyrobot#citation).\n\n\n    Specifically, the noise model used for the noisy control functions named `pyrobot_*` and defined in `src_python\u002Fhabitat_sim\u002Fagent\u002Fcontrols\u002Fpyrobot_noisy_controls.py`\n\n\n* If you use the Redwood Depth Noise Model, please cite their [paper](http:\u002F\u002Fredwood-data.org\u002Findoor\u002F)\n\n    Specifically, the noise model defined in `src_python\u002Fhabitat_sim\u002Fsensors\u002Fnoise_models\u002Fredwood_depth_noise_model.py` and `src\u002Fesp\u002Fsensor\u002FRedwoodNoiseModel.*`\n\n\n## License\n\nHabitat-Sim is MIT licensed. See the [LICENSE](LICENSE) for details.\n\nThe demo scripts use:\n- [The King´s Hall](https:\u002F\u002Fsketchfab.com\u002F3d-models\u002Fthe-king-s-hall-d18155613363445b9b68c0c67196d98d) by [Skokloster Castle (Skoklosters slott)](https:\u002F\u002Fsketchfab.com\u002FSkoklosterCastle) licensed under [Creative Commons Attribution](http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F)\n- [Van Gogh Room](https:\u002F\u002Fsketchfab.com\u002F3d-models\u002Fvan-gogh-room-311d052a9f034ba8bce55a1a8296b6f9) by [ruslans3d](https:\u002F\u002Fsketchfab.com\u002Fruslans3d) licensed under [Creative Commons Attribution](http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F)\n","[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Fhabitat-sim\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Ffacebookresearch\u002Fhabitat-sim)\n[![GitHub license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fblob\u002Fmain\u002FLICENSE)\n[![Conda Version Badge](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Faihabitat\u002Fhabitat-sim?color=blue&label=conda%20version)](https:\u002F\u002Fanaconda.org\u002Faihabitat\u002Fhabitat-sim)\n[![Conda Platforms support Badge](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fpn\u002Faihabitat\u002Fhabitat-sim?color=orange&label=platforms)](https:\u002F\u002Fanaconda.org\u002Faihabitat\u002Fhabitat-sim)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-automated-green.svg)](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002F)\n[![pre-commit](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https:\u002F\u002Fgithub.com\u002Fpre-commit\u002Fpre-commit)\n[![Python 3.9+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.9%2B-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![Supports Bullet](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fsupports-Bullet%20Physics-informational)](https:\u002F\u002Fgithub.com\u002Fbulletphysics\u002Fbullet3)\n[![Follow @ai_habitat](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fai_habitat?style=social)](https:\u002F\u002Fx.com\u002Fai_habitat)\n\n# Habitat-Sim\n\n一款高性能、支持物理引擎的3D模拟器，具备以下功能：\n- 室内外空间的3D扫描数据（内置对[HM3D](https:\u002F\u002Faihabitat.org\u002Fdatasets\u002Fhm3d\u002F)、[HSSD](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fhssd\u002Fhssd-hab)、[MatterPort3D](https:\u002F\u002Fniessner.github.io\u002FMatterport\u002F)、[Gibson](http:\u002F\u002Fgibsonenv.stanford.edu\u002Fdatabase\u002F)、[Replica](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002FReplica-Dataset)等数据集的支持）\n- 空间及分段刚性物体的CAD模型（例如[ReplicaCAD](https:\u002F\u002Faihabitat.org\u002Fdatasets\u002Freplica_cad\u002F)、[YCB](https:\u002F\u002Fwww.ycbbenchmarks.com\u002F)、[Google Scanned Objects](https:\u002F\u002Farxiv.org\u002Fabs\u002F2204.11918)等）\n- 可配置传感器（RGB-D相机、自运动感知设备）\n- 通过URDF描述的机器人（移动机械臂如[Fetch](https:\u002F\u002Fgithub.com\u002Ffetchrobotics)、固定基座机械臂如[Franka](https:\u002F\u002Fwww.franka.de\u002F)、四足机器人如[AlienGo](https:\u002F\u002Fwww.unitree.com\u002Fproducts\u002Faliengo\u002F)等）\n- 刚体物理动力学（通过[Bullet](https:\u002F\u002Fgithub.com\u002Fbulletphysics\u002Fbullet3)实现）。\n\nHabitat的设计理念是优先考虑仿真速度，而非仿真功能的广度。在渲染Matterport3D数据集中的场景时，Habitat-Sim在单线程下可达到每秒数千帧（FPS），而在单GPU上使用多进程时则可超过1万FPS。Habitat-Sim还能以每秒8000步（SPS）的速度模拟Fetch机器人与ReplicaCAD场景的交互，其中每一步都包括渲染1张RGBD观测图像（128×128像素）以及持续1\u002F30秒的刚体动力学计算。\n\nHabitat-Sim通常与[Habitat-Lab](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab)一起使用，后者是一个用于具身AI端到端实验的模块化高级库——可用于定义具身AI任务（如导航、指令遵循、问答）、训练智能体（通过模仿学习或强化学习，或在经典的SensePlanAct流程中不进行学习），并使用标准指标评估其在这些任务上的表现。\n\n## [有问题或意见？欢迎加入AI Habitat社区讨论区。](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab\u002Fdiscussions)\n\n[![Habitat演示](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=WebGL&message=在浏览器中体验AI Habitat&color=blue&logo=webgl&labelColor=%23990000&style=for-the-badge&link=https:\u002F\u002Faihabitat.org\u002Fdemo)](https:\u002F\u002Faihabitat.org\u002Fdemo)\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F2941091\u002F126080914-36dc8045-01d4-4a68-8c2e-74d0bca1b9b8.mp4\n\n---\n\n## 目录\n   1. [引用Habitat](#citing-habitat)\n   1. [安装](#installation)\n   1. [测试](#testing)\n   1. [文档](#documentation)\n   1. [数据集](#datasets)\n   1. [外部贡献](#external-contributions)\n   1. [许可证](#license)\n\n\n## 引用Habitat\n如果您在研究中使用了Habitat平台，请引用以下论文：[Habitat 1.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01201)、[Habitat 2.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F2106.14405)和[Habitat 3.0](https:\u002F\u002Farxiv.org\u002Fabs\u002F2310.13724)：\n\n```\n@misc{puig2023habitat3,\n      title  = {Habitat 3.0: 人类、虚拟化身与机器人的共栖环境},\n      author = {Xavi Puig、Eric Undersander、Andrew Szot、Mikael Dallaire Cote、Ruslan Partsey、Jimmy Yang、Ruta Desai、Alexander William Clegg、Michal Hlavac、Tiffany Min、Theo Gervet、Vladimír Vondruš、Vincent-Pierre Berges、John Turner、Oleksandr Maksymets、Zsolt Kira、Mrinal Kalakrishnan、Jitendra Malik、Devendra Singh Chaplot、Unnat Jain、Dhruv Batra、Akshara Rai、Roozbeh Mottaghi},\n      year={2023},\n      archivePrefix={arXiv},\n}\n\n@inproceedings{szot2021habitat,\n  title     =     {Habitat 2.0: 训练家庭助手重新整理居住环境},\n  author    =     {Andrew Szot、Alex Clegg、Eric Undersander、Erik Wijmans、Yili Zhao、John Turner、Noah Maestre、Mustafa Mukadam、Devendra Chaplot、Oleksandr Maksymets、Aaron Gokaslan、Vladimir Vondrus、Sameer Dharur、Franziska Meier、Wojciech Galuba、Angel Chang、Zsolt Kira、Vladlen Koltun、Jitendra Malik、Manolis Savva、Dhruv Batra},\n  booktitle =     {神经信息处理系统进展会议（NeurIPS）},\n  year      =     {2021}\n}\n\n@inproceedings{habitat19iccv,\n  title     =     {Habitat：一个用于具身AI研究的平台},\n  author    =     {Manolis Savva、Abhishek Kadian、Oleksandr Maksymets、Yili Zhao、Erik Wijmans、Bhavana Jain、Julian Straub、Jia Liu、Vladlen Koltun、Jitendra Malik、Devi Parikh、Dhruv Batra},\n  booktitle =     {IEEE\u002FCVF国际计算机视觉会议（ICCV） proceedings},\n  year      =     {2019}\n}\n```\n\nHabitat-Sim还基于他人的工作成果。如果您使用了他人贡献的方法或模型，请记得引用他们的工作。有关外部贡献及其对应的工作和引用，请参阅[外部贡献](#external-contributions)部分。\n\n## 安装\n\nHabitat-Sim可以通过四种方式安装：\n1. 通过Conda——推荐大多数用户使用的方式。提供稳定版和夜间构建版本。\n1. 通过PIP——运行`pip install . --no-build-isolation`即可从源码编译。请阅读[从源码构建指南及常见问题](BUILD_FROM_SOURCE.md)。\n1. 通过Docker——大约每年更新一次，用于[Habitat挑战赛](https:\u002F\u002Faihabitat.org\u002Fchallenge\u002F)。请阅读[habitat-docker-setup](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab#docker-setup)。\n1. 从源码安装——适用于积极开发的用户。请阅读[从源码构建指南及常见问题](BUILD_FROM_SOURCE.md)。\n\n### [推荐] Conda 软件包\n\nHabitat 处于积极开发中，我们建议用户仅使用[稳定版本](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Freleases)。自 v0.1.4 版本起，我们为每个发布版本提供了[Conda 软件包](https:\u002F\u002Fanaconda.org\u002Faihabitat)。\n\n1. **准备 Conda 环境**\n\n   假设您已安装 [Conda](https:\u002F\u002Fdocs.conda.io\u002Fprojects\u002Fconda\u002Fen\u002Flatest\u002Fuser-guide\u002Finstall\u002F)，让我们来创建一个 Conda 环境：\n   ```bash\n   # 我们需要 Python>=3.9 和 CMake>=3.22\n   conda create -n habitat python=3.12 cmake=3.27\n   conda activate habitat\n   ```\n\n1. **使用 Conda 安装 habitat-sim**\n\n   根据您的系统和需求，选择以下选项之一：\n\n   - 在带有显示设备的机器上安装：\n      ```bash\n      conda install habitat-sim -c conda-forge -c aihabitat\n      ```\n   - 在无头机器（即没有连接显示设备的机器，例如集群）以及多 GPU 机器上安装（此参数依赖 EGL，因此在 macOS 上无效）：\n      ```bash\n      conda install habitat-sim headless -c conda-forge -c aihabitat\n      ```\n   - 【最常见场景】安装带 Bullet 物理引擎的 habitat-sim：\n      ```bash\n      conda install habitat-sim withbullet -c conda-forge -c aihabitat\n      ```\n\n   - 注意：构建参数可以串联使用。例如，在无头机器上安装带物理引擎的 habitat-sim：\n      ```bash\n      conda install habitat-sim withbullet headless -c conda-forge -c aihabitat\n      ```\n\n   对于旧版本的软件包，可以通过显式指定版本号来安装，例如 `conda install habitat-sim=0.1.6 -c conda-forge -c aihabitat`。\n\n   我们还提供了主分支的[每日夜间构建 Conda 包](https:\u002F\u002Fanaconda.org\u002Faihabitat-nightly)。不过，只有在您需要最新发布版本中尚未包含的特定功能时，才应使用该包。要获取最新主分支的夜间构建版本，只需将 `-c aihabitat` 替换为 `-c aihabitat-nightly` 即可。\n\n## 测试\n\n1. 让我们使用我们的 Python 数据下载工具下载一些 3D 资源：\n   - 下载（测试）3D 场景\n      ```bash\n      python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path \u002Fpath\u002Fto\u002Fdata\u002F\n      ```\n      请注意，这些测试场景不提供语义标注。\n      如果您想通过 `example.py` 测试语义传感器，请使用 Matterport3D 数据集中的数据（参见 [数据集](DATASETS.md)）。\n\n   - 下载示例对象\n      ```bash\n      python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path \u002Fpath\u002Fto\u002Fdata\u002F\n      ```\n\n1. **交互式测试**：使用 Habitat-Sim 自带的 C++ 或 Python 交互式查看器：\n   ```bash\n   #C++\n   # 在执行 'pip install .' 后，查看器位于 PATH 中：\n   viewer \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n   # 对于可编辑\u002F开发版本，会创建一个便捷的符号链接：\n   .\u002Fbuild\u002Fviewer \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n\n   #Python\n   python examples\u002Fviewer.py --scene \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n   ```\n   您应该能够在该测试场景中控制智能体。使用 W\u002FA\u002FS\u002FD 键进行前后左右移动，使用方向键或鼠标左键来控制视线方向（上下左右）。试着找到那幅被花环环绕的女子画像吧！祝您玩得开心！\n\n1. **物理交互**：Habitat-sim 通过与 [Bullet 物理引擎](https:\u002F\u002Fpybullet.org\u002F) 集成，提供了刚体和关节动力学仿真功能。现在就通过我们的 C++ 或 Python 交互式查看器来体验一下吧。\n\n   首先，下载我们完全可交互的 [ReplicaCAD 公寓数据集](https:\u002F\u002Faihabitat.org\u002Fdatasets\u002Freplica_cad\u002F)（140 MB）：\n\n   ```bash\n   #注意：默认情况下，数据将被下载到 habitat-sim\u002Fdata\u002F 目录下。您也可以通过添加 `--data-path \u002Fpath\u002Fto\u002Fdata\u002F` 来指定数据路径。\n   # 使用 conda 安装\n   python -m habitat_sim.utils.datasets_download --uids replica_cad_dataset\n\n   # 使用源代码（从 habitat_sim\u002F 目录内）\n   python src_python\u002Fhabitat_sim\u002Futils\u002Fdatasets_download.py --uids replica_cad_dataset\n   ```\n   - 或者，您也可以选择下载带有预烘焙光照的 105 种场景变体，使用 `--uids replica_cad_baked_lighting`（480 MB）。\n\n   然后，在启用物理模拟的查看器应用中加载一个 ReplicaCAD 场景。如果您在上面修改了数据路径，也请在下面的查看器调用中相应地修改。\n\n   ```bash\n   #C++\n   viewer --enable-physics --dataset data\u002Freplica_cad\u002FreplicaCAD.scene_dataset_config.json -- apt_1\n\n   #python\n   python examples\u002Fviewer.py --dataset data\u002Freplica_cad\u002FreplicaCAD.scene_dataset_config.json --scene apt_1\n   ```\n   - 如果您使用的是带有预烘焙光照的场景，请使用以下命令：\n     ```bash\n     python examples\u002Fviewer.py --dataset data\u002Freplica_cad_baked_lighting\u002FreplicaCAD_baked.scene_dataset_config.json --scene Baked_sc1_staging_00\n     ```\n\n   查看器应用程序会在运行时将完整的键盘和鼠标操作选项输出到控制台。\n\n   快速入门示例：\n   - 使用 WASD 键移动\n   - 左键单击并拖动鼠标来环视四周\n   - 按下空格键切换物理模拟的开启与关闭状态（默认为开启）\n   - 按下 'm' 键切换到“抓取”鼠标模式\n    - 此时，左键或右键单击并拖动即可移动物体、开关门或抽屉，并松开鼠标以放下物体。\n    - 当抓住某个物体时，滚动鼠标滚轮可以实现：\n      - （默认）将其拉近或推远\n      - （按住 ALT 键）绕固定约束框架旋转（偏航角）\n      - （按住 CTRL 键）绕固定约束框架旋转（俯仰角）\n      - （同时按住 ALT 和 CTRL 键）绕固定约束框架旋转（翻滚角）\n\n1. **非交互式测试**（例如用于无头系统）：运行示例脚本：\n   ```bash\n   python \u002Fpath\u002Fto\u002Fhabitat-sim\u002Fexamples\u002Fexample.py --scene \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n   ```\n   智能体会沿着特定路径行进，最后您将看到性能统计信息，例如：\n  `640 x 480, 总时间：3.208 秒。FPS：311.7`。\n\n   若要复现 [Habitat ICCV'19](https:\u002F\u002Farxiv.org\u002Fabs\u002F1904.01201) 中的基准测试表格，请运行：\n   ```bash\n   python examples\u002Fbenchmark.py --scene \u002Fpath\u002Fto\u002Fmp3d_example\u002F17DRP5sb8fy\u002F17DRP5sb8fy.glb\n   ```\n\n   `example.py` 还提供了其他参数，用于更改传感器配置、打印场景中的语义标注统计信息、计算动作空间中最短路径轨迹以及设置其他实用功能。有关详细信息，请参阅 `example.py` 和 `demo_runner.py` 的源代码。\n\n   加载特定的 MP3D 或 Gibson 房屋：`examples\u002Fexample.py --scene path\u002Fto\u002Fmp3d\u002Fhouse_id.glb`。\n\n   我们还提供了一个 [示例演示](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-lab\u002Fhabitat-lab-demo.html)，供参考。\n\n   若要在 Python 中运行物理示例（在编译时启用了 Bullet 物理模拟）：\n   ```bash\n   python examples\u002Fexample.py --scene \u002Fpath\u002Fto\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb --enable_physics\n   ```\n   请注意，在此模式下，智能体会被冻结，并面向生成的物理物体。此外，还可以使用 `--save_png` 将物理场景中智能体的视觉观测帧输出到当前目录。\n\n### 常见测试问题\n\n- 如果您在远程机器上运行，并在初始化模拟器时遇到显示错误，例如：\n   ```bash\n    X11: DISPLAY 环境变量缺失\n    无法初始化 GLFW\n   ```\n\n  请确保您的环境中未定义 `DISPLAY` 变量（运行 `unset DISPLAY` 来取消定义该变量）。\n\n- 如果您看到类似 libGL 的错误：\n\n   ```bash\n    X11: DISPLAY 环境变量缺失\n    无法初始化 GLFW\n   ```\n\n    这可能是因为您的 libGL 库位于非标准位置。请参阅例如 [这个问题](https:\u002F\u002Faskubuntu.com\u002Fquestions\u002F541343\u002Fproblems-with-libgl-fbconfigs-swrast-through-each-update)。\n\n## 文档\n\n浏览在线 [Habitat-Sim 文档](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002Findex.html)。\n\n查看我们的 [ECCV 教程系列](https:\u002F\u002Faihabitat.org\u002Ftutorial\u002F2020\u002F) ，获得动手实践的快速入门体验。\n\n如果找不到您问题的答案，请尝试在我们的 [讨论论坛](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab\u002Fdiscussions) 上向开发者和社区提问。\n\n## 数据集\n\n[如何使用 Habitat-Sim 支持的常见数据集](DATASETS.md)。\n\n## 外部贡献\n\n* 如果您使用 PyRobot 中的噪声模型，请引用他们的[技术报告](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fpyrobot#citation)。\n\n\n    具体来说，该噪声模型用于名为 `pyrobot_*` 的有噪控制函数，并定义在 `src_python\u002Fhabitat_sim\u002Fagent\u002Fcontrols\u002Fpyrobot_noisy_controls.py` 文件中。\n\n\n* 如果您使用 Redwood 深度噪声模型，请引用他们的[论文](http:\u002F\u002Fredwood-data.org\u002Findoor\u002F)。\n\n    具体而言，该噪声模型定义在 `src_python\u002Fhabitat_sim\u002Fsensors\u002Fnoise_models\u002Fredwood_depth_noise_model.py` 和 `src\u002Fesp\u002Fsensor\u002FRedwoodNoiseModel.*` 文件中。\n\n\n## 许可证\n\nHabitat-Sim 采用 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。\n\n演示脚本使用了：\n- [The King’s Hall](https:\u002F\u002Fsketchfab.com\u002F3d-models\u002Fthe-king-s-hall-d18155613363445b9b68c0c67196d98d)，由 [Skokloster Castle (Skoklosters slott)](https:\u002F\u002Fsketchfab.com\u002FSkoklosterCastle) 创作，采用 [知识共享署名 4.0 国际许可协议](http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F)。\n- [Van Gogh Room](https:\u002F\u002Fsketchfab.com\u002F3d-models\u002Fvan-gogh-room-311d052a9f034ba8bce55a1a8296b6f9)，由 [ruslans3d](https:\u002F\u002Fsketchfab.com\u002Fruslans3d) 创作，采用 [知识共享署名 4.0 国际许可协议](http:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F)。","# Habitat-Sim 快速上手指南\n\nHabitat-Sim 是一个高性能的、支持物理引擎的 3D 模拟器，专为具身人工智能（Embodied AI）研究设计。它支持多种室内\u002F室外场景数据集、可配置传感器以及基于 URDF 的机器人模型，并以极高的渲染速度著称。\n\n## 1. 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu) 或 macOS。\n    *   *注意：无头模式（Headless，即无显示器环境）依赖 EGL，不支持 macOS。*\n*   **Python 版本**: 3.9 或更高 (推荐 3.12)。\n*   **包管理器**: Conda (强烈推荐)。\n*   **硬件**: \n    *   单线程即可运行，但多进程配合单个 GPU 可发挥最大性能（>10,000 FPS）。\n    *   若需物理模拟，需支持 Bullet Physics。\n\n## 2. 安装步骤\n\n推荐使用 **Conda** 进行安装，这是最稳定且配置最简单的方法。\n\n### 第一步：创建 Conda 环境\n\n打开终端，执行以下命令创建名为 `habitat` 的环境（包含 Python 3.12 和 CMake）：\n\n```bash\nconda create -n habitat python=3.12 cmake=3.27\nconda activate habitat\n```\n\n### 第二步：安装 Habitat-Sim\n\n根据您的使用场景选择以下任一命令：\n\n*   **场景 A：通用安装（带物理引擎支持，最常用）**\n    适用于大多数开发和研究场景，包含 Bullet 物理引擎支持。\n    ```bash\n    conda install habitat-sim withbullet -c conda-forge -c aihabitat\n    ```\n\n*   **场景 B：无头服务器安装（集群\u002F无显示器）**\n    适用于没有连接显示器的服务器或多 GPU 环境（仅限 Linux）。\n    ```bash\n    conda install habitat-sim headless -c conda-forge -c aihabitat\n    ```\n\n*   **场景 C：带物理引擎的无头安装**\n    结合了上述两种需求。\n    ```bash\n    conda install habitat-sim withbullet headless -c conda-forge -c aihabitat\n    ```\n\n*   **场景 D：普通桌面安装（有显示器，无需物理引擎）**\n    ```bash\n    conda install habitat-sim -c conda-forge -c aihabitat\n    ```\n\n> **提示**：如果下载速度较慢，可尝试配置 Conda 国内镜像源（如清华源或中科大源），但核心包仍需从 `aihabitat` 频道拉取。\n\n## 3. 基本使用\n\n安装完成后，您可以下载测试数据并启动交互式查看器来验证安装。\n\n### 第一步：下载测试场景\n\n使用内置工具下载简单的测试场景数据：\n\n```bash\npython -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path .\u002Fdata\n```\n\n### 第二步：运行交互式查看器 (Python)\n\n运行以下命令启动查看器，加载刚才下载的城堡场景：\n\n```bash\npython examples\u002Fviewer.py --scene .\u002Fdata\u002Fscene_datasets\u002Fhabitat-test-scenes\u002Fskokloster-castle.glb\n```\n\n### 第三步：操作指南\n\n启动后，您将看到一个 3D 场景，可以通过以下按键控制智能体：\n\n*   **移动**: `W` (前), `A` (左), `S` (后), `D` (右)\n*   **视角**: 鼠标左键拖动 或 方向键\n*   **任务**: 尝试在场景中寻找一幅“被花环包围的女性画像”。\n\n### 进阶：体验物理交互 (可选)\n\n若要体验刚体动力学和物理交互，需下载 ReplicaCAD 数据集并启用物理引擎：\n\n1.  **下载数据**:\n    ```bash\n    python -m habitat_sim.utils.datasets_download --uids replica_cad_dataset --data-path .\u002Fdata\n    ```\n2.  **启动带物理引擎的查看器**:\n    ```bash\n    python examples\u002Fviewer.py --dataset .\u002Fdata\u002Freplica_cad\u002FreplicaCAD.scene_dataset_config.json --scene apt_1\n    ```\n    *   按 `SPACE` 键开启\u002F关闭物理模拟。\n    *   按 `m` 键抓取\u002F放置物体（具体操作请参考控制台输出的帮助信息）。","某机器人实验室团队正在训练一个具备移动操作能力的 AI 代理，使其能在复杂的室内环境中自主导航并抓取物体。\n\n### 没有 habitat-sim 时\n- **训练效率极低**：传统物理模拟器渲染速度慢，单线程每秒仅能处理几十帧，导致强化学习模型需要数周才能完成基础训练。\n- **场景数据单一**：难以快速加载大规模真实扫描数据集（如 MatterPort3D 或 HM3D），只能依赖简单的几何积木搭建测试环境，泛化能力差。\n- **传感器配置僵化**：自定义深度相机或本体感知传感器需要修改底层代码，开发周期长且容易引入 Bug。\n- **真机验证风险高**：由于仿真与真实物理特性差距大，算法直接部署到 Fetch 或 Franka 机械臂上时，常因碰撞检测不准导致设备损坏。\n\n### 使用 habitat-sim 后\n- **训练速度飞跃**：利用其高性能架构，单 GPU 多进程下帧率突破 10,000 FPS，将原本数周的训练任务压缩至数小时内完成。\n- **环境高度逼真**：直接原生支持导入 HM3D、ReplicaCAD 等真实室内扫描数据，让 AI 在接近现实的复杂空间中学习导航与操作。\n- **传感器灵活定义**：通过配置文件即可瞬间部署任意分辨率的 RGB-D 相机及运动传感器，快速迭代不同的感知方案。\n- **安全高效迁移**：基于 Bullet 物理引擎的精准刚体动力学模拟，使得在仿真中训练的抓取策略能无缝迁移到真实机械臂，大幅降低试错成本。\n\nhabitat-sim 通过极致的仿真速度与对真实世界数据的支持，彻底解决了具身智能研究中“训练慢”与“落地难”的核心瓶颈。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffacebookresearch_habitat-sim_03a1070e.png","facebookresearch","Meta Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffacebookresearch_449342bd.png","",null,"https:\u002F\u002Fopensource.fb.com","https:\u002F\u002Fgithub.com\u002Ffacebookresearch",[83,87,91,95,98,102,106,110],{"name":84,"color":85,"percentage":86},"C++","#f34b7d",80.7,{"name":88,"color":89,"percentage":90},"Python","#3572A5",11.9,{"name":92,"color":93,"percentage":94},"CMake","#DA3434",4.9,{"name":96,"color":97,"percentage":23},"GLSL","#5686a5",{"name":99,"color":100,"percentage":101},"Shell","#89e051",0.4,{"name":103,"color":104,"percentage":105},"Cuda","#3A4E3A",0.2,{"name":107,"color":108,"percentage":109},"Dockerfile","#384d54",0,{"name":111,"color":112,"percentage":109},"C","#555555",3599,528,"2026-04-02T22:39:17","MIT","Linux, macOS","需要 GPU 以实现高性能（单卡多进程可达 10,000+ FPS），支持 EGL 用于无显示器环境（Headless），MacOS 不支持 EGL 模式。未明确指定具体型号、显存大小或 CUDA 版本。","未说明",{"notes":121,"python":122,"dependencies":123},"推荐使用 Conda 安装。支持在有显示器机器和无显示器（Headless，需 EGL，不支持 MacOS）机器上安装。可通过 'withbullet' 参数启用 Bullet 物理引擎。无显示器模式依赖 EGL。主要设计哲学是优先保证仿真速度。通常与 Habitat-Lab 配合使用。","3.9+",[124,125,126],"cmake>=3.22","Bullet Physics (可选)","conda (推荐)",[14,15,13,54],[129,130,131,132,133,134],"ai","computer-vision","robotics","simulator","sim2real","cplusplus","2026-03-27T02:49:30.150509","2026-04-06T05:37:32.714945",[138,143,148,153,158,162,166],{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},13626,"在无头（headless）Linux 服务器上运行 Habitat 时遇到 EGL 错误（如 'unable to find CUDA device' 或 'EGL_BAD_PARAMETER'）如何解决？","这是在无头服务器上常见的问题，通常是因为 NVIDIA 驱动未正确配置 EGL。解决方案如下：\n1. 运行 `nvidia-smi` 检查驱动版本。\n2. 从 NVIDIA 官网下载对应版本的驱动安装包（.run 文件）。\n3. 仅解压安装包而不安装：`sh NVIDIA-Linux-x86_64-\u003Cversion>.run --extract-only`。\n4. 进入解压目录创建符号链接（注意不要链接 libEGL_nvidia*）：\n   `ln -s .\u002FlibEGL.so.\u003Cversion> libEGL.so.1`\n   `ln -s .\u002FlibGL.so.\u003Cversion> libGL.so.1`\n5. 将该目录添加到 LD_LIBRARY_PATH 环境变量中。\n6. 或者，下载 `10_nvidia.json` 文件到 `\u002Fusr\u002Fshare\u002Fglvnd\u002Fegl_vendor.d\u002F` 目录，并设置环境变量：`__EGL_VENDOR_LIBRARY_FILENAMES=\u002Fusr\u002Fshare\u002Fglvnd\u002Fegl_vendor.d\u002F10_nvidia.json python your_script.py`。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fissues\u002F1511",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},13627,"如何在无头模式下正确配置 NVIDIA EGL vendor JSON 文件以修复上下文创建失败？","需要手动创建或下载 NVIDIA 的 EGL vendor JSON 文件。具体步骤：\n1. 下载 JSON 文件：从 https:\u002F\u002Fgithub.com\u002Fopenai\u002Fmujoco-py\u002Fblob\u002Fmaster\u002Fvendor\u002F10_nvidia.json 获取内容。\n2. 将其保存为 `10_nvidia.json` 并放置于 `\u002Fusr\u002Fshare\u002Fglvnd\u002Fegl_vendor.d\u002F10_nvidia.json`（可能需要 sudo 权限）。\n3. 运行脚本前设置环境变量：`export __EGL_VENDOR_LIBRARY_FILENAMES=\u002Fusr\u002Fshare\u002Fglvnd\u002Fegl_vendor.d\u002F10_nvidia.json`。\n4. 执行你的 Python 脚本。这能解决 'Check failed: eglDevId \u003C numDevices' 等错误。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fissues\u002F288",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},13628,"为什么 geodesic_distance（测地线距离）在很多情况下返回 inf（无穷大）？","返回 inf 通常表示起点和终点之间没有可行的导航路径（即它们属于不同的连通分量），而不仅仅是距离远。这不是 Bug，而是地图拓扑结构的特性。\n解决方法：\n1. 使用 `pathfinder.island_radius(position)` 检查两点是否在同一连通区域。如果 `island_radius(start) != island_radius(end)`，则两点不可达。\n2. 在 teleport（瞬移）操作前，先检查目标点是否与当前点在同一岛屿（连通分量）上，避免瞬移到不可达区域。\n3. 可以调用内部未完全暴露的 `has_path` 检查逻辑来预先验证路径可行性。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fissues\u002F405",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},13629,"如何使用 build\u002Fviewer 渲染更高分辨率的图像以生成更逼真的视频？","默认的 observation 输出分辨率可能较低。若要获得更高质量的渲染用于视频制作：\n1. 可以在配置中设置更高的分辨率，例如 1920x1080。\n2. 使用 viewer 模式进行渲染，它支持比默认 sensor 更高的分辨率。\n3. 虽然高分辨率下可能会看到一些网格间隙（mesh gaps）或黑色区域，但这通常不影响强化学习代理的训练，代理能够学会适应这些视觉伪影。如果必须修复视觉瑕疵，可参考 Gibson 数据集使用的神经网络填充方法，但 Habitat 原生暂未提供此功能。","https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fissues\u002F345",{"id":159,"question_zh":160,"answer_zh":161,"source_url":142},13630,"安装 habitat-sim 后运行示例代码报错 'WindowlessContext: Unable to create windowless context' 怎么办？","这通常发生在没有显示服务器的环境中。除了配置 EGL 驱动外，还可以尝试以下简单步骤：\n1. 确保安装了 headless 版本的 OpenCV：`pip install opencv-python-headless`。\n2. 确认已按照无头服务器指南配置了 NVIDIA EGL 库（参见相关 EGL 配置问题）。\n3. 如果使用 Docker，请确保容器启动时添加了 `--gpus all` 参数并正确挂载了设备。",{"id":163,"question_zh":164,"answer_zh":165,"source_url":147},13631,"如何调试并解决 'Platform::WindowlessEglApplication::tryCreateContext(): unable to find CUDA device 0 among X EGL devices' 错误？","该错误表明 EGL 无法找到对应的 CUDA 设备。调试步骤：\n1. 运行 `nvidia-smi` 确认 GPU 可见且驱动正常。\n2. 检查是否有多个 EGL 设备但 CUDA 设备映射失败。\n3. 确保 `libEGL.so.1` 符号链接指向正确的 NVIDIA 库文件，而不是系统默认的 Mesa 库。\n4. 显式指定 vendor json 文件路径：`__EGL_VENDOR_LIBRARY_FILENAMES=\u003Cpath>\u002F10_nvidia.json python script.py`。\n5. 如果是多卡环境，尝试限制可见设备或检查 CUDA_VISIBLE_DEVICES 设置。",{"id":167,"question_zh":168,"answer_zh":169,"source_url":152},13632,"SPL（Success weighted by Path Length）计算因距离为 inf 而失效该如何处理？","当终点不可达时，geodesic_distance 返回 inf，导致 SPL 计算分母异常或判定失败。\n处理策略：\n1. 在计算距离前，先用 `pathfinder.island_radius()` 验证起点和终点是否连通。\n2. 如果不连通，应在任务生成阶段重新采样终点，确保目标点在代理所在的连通分量内。\n3. 对于已经发生的 inf 情况，可以在计算逻辑中捕获 inf 值，将其视为任务失败或跳过该次评估，避免拉低整体指标。",[171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,251,256,261,266],{"id":172,"version":173,"summary_zh":174,"released_at":175},72456,"v0.3.3","## 主要功能与改进：\n* 由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2506 中添加 `drawCoordinateAxes` 和 `drawCone`，用于调试线渲染器。\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2508 中将 PARTNR 数据仓库添加到数据集下载器中。\n* **GitHub Actions 从 CircleCI 的迁移**，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2422 中完成。\n  * [CI] - 修复使用 SSH 部署文档的问题，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2509 中完成。\n  * [BE] - 移除 CircleCI，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2512 中完成。\n  * [CI] 修复夜间 Conda 部署问题，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2515 中完成。\n\n* --[BE] 将大部分 Habitat 库合并为单个库，以消除循环依赖。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2511 中完成。\n\n已废弃的过时功能和应用：\n* [BE] - 移除 JavaScript 构建、演示及相关处理，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2492 中完成。\n* [BE] - 移除 C++ Agent 和 Controls，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2497 中完成。\n* [CI] 从依赖项中移除 `imageio-ffmpeg`，由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2519 中完成。\n* --[BE] - 移除多余的 `RigidBaseManager`，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2522 中完成。\n* --[BE] 移除 `Eigen` 依赖（第一部分），由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2301 中完成。\n* [BE] - 从 C++ 模拟器中移除过时的函数，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2498 中完成。\n* [BE] 移除 `datatool`，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2531 中完成。\n\n## 其他更改与错误修复：\n\n* [WIP] 将开发分支合并到主分支，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2476 中完成。\n  * 包含一系列针对 C++ 基础设施的 minor bugfix 和改进，主要涉及 Attributes 子系统，添加硬编码值的显式常量，并处理边缘情况。\n    * https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2470, https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2471, https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2472, https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2465, https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2475, https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2478, https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2464\n* --[BUGFIX] - DebugLineRender：垂直向量生成中的 minor bug，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2487 中修复。\n* `addSensorToObject()` 功能扩展，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2491 中完成。\n* --[BE] - 保存对对象 ManagedObject 包装器的引用，以便内部访问。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2496 中完成。\n* --[BUGFIX] - 为 HM3 添加缺失的 'assets' 库。","2026-02-12T23:56:33",{"id":177,"version":178,"summary_zh":179,"released_at":180},72457,"v0.3.2","## 主要功能与改进：\n\n`Simulator.reset()` 现在会将对象重置为其原始状态（来自场景实例或零初始化）：\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2451 中扩展了 Simulator 的重置逻辑\n\n通过为边缘范围内的“幽灵”命中进行缓冲，提高了光线投射的精度：\n* [修复] - 光线投射缓冲距离，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2466 中实现\n\n在配置和 API 中添加了 `MarkerSets` 支持：\n* --支持 Object、Stage 和 AO 配置 JSON 中的标记集规范，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2368 中实现\n* --将 MarkerSets 分配给对象、'interface' 类及绑定，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2371 中实现\n* --提供用于访问局部空间和世界空间中标记的便捷函数，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2389 中实现\n* --[BUGFIX] - 恢复移除的标记集子配置；不将空配置写入文件，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2435 中修复\n* --[BUGFIX] 确保在适当情况下移除空的 Markerset 子配置，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2434 中修复\n* --[BugFix] - 处理分配给 AO 基础链接的点的变换问题，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2444 中修复\n* --将 MarkerSets 分配给对象、'interface' 类及绑定，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2371 中实现\n\nArticulatedObject API 改进：\n\n- 添加了 `ManagedObject.is_articulated` 属性：\n  * --[BE] - 添加实用函数以指定对象是否为 AO，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2416 中实现\n\n- 添加了带有 AABB 自动更新 API 的 `ManagedArticulatedObject.aabb`：\n  * --[Bugfix] - 在创建时无条件计算 AO 的累积包围盒。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2420 中修复\n  * ManagedObject.getAabb()，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2421 中实现\n\n- 添加了 `ManagedArticulatedObject.link_ids_to_object_ids`：\n  * 为 ManagedArticulatedObject 添加 link_id 到 object_id 映射属性，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2410 中实现\n\n\n## 其他更改与错误修复：\n\n* 为铰接式对象的链接设置节点对象 ID。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2376 中实现\n* --提供对象在世界中的原始位置，不考虑任何可能的质心偏移。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2385 中实现\n* 向 gfx-replay 添加实例元数据。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2377 中实现\n\nMagnum 更新：\n* 更新 Magnum 以支持 ASCII PLY 导入和无伪影的文本渲染，由 @mosra 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2355 中实现\n* 使用针对 Python stub 生成的更改更新 Corrade 和 Magnum","2024-10-30T22:08:14",{"id":182,"version":183,"summary_zh":184,"released_at":185},72458,"v0.3.1","## 主要功能与改进：\n\n- 语义区域支持：定义带有高度挤出的二维多边形环，用于表示和查询场景中的房间\u002F区域：\n\n  - 初始实现及元数据支持由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2299 和 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2307 中完成\n  - 区域查询 API（含 Python 绑定）由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2317 中，以及由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2336 中实现\n\n* 使用 PBR 着色器渲染蒙皮网格模型，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2204 中完成\n* 为语义传感器添加全景\u002F实例 ID 支持，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2316 中完成\n* 移动物体时激活对象，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2314 中实现\n* 暴露 ArticulatedObject 的创建属性，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2259 中完成\n* 定义阶段 ID 的常量及绑定，由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2325 中完成\n* 弃用 Colab（转而使用本地 Jupyter 笔记本），由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2298 中完成\n\n* 文档清理与改进由多位作者在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2238、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2267、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2268、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2275、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2283、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2285、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2281、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2292 中完成\n\n* 更新 Magnum 子模块，由 @mosra 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2243、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2278、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2309、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2322 中完成\n\n\n## 其他更改与错误修复\n* 修复记录器中未删除的刚体问题。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2251 中完成\n* 将默认回退材质设置为 Phong。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2262 中完成\n* 更新对已弃用的 Magnum 'angle' 函数的引用。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2264 中完成\n* 更正 HSSD 公开仓库为未认证访问。由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2261 中完成\n* ——[BE 周] 更新投影矩阵的近\u002F远平面计算。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2276 中完成\n* ——[BE 周] 提高 Attributes Handle 的搜索效率；修复 Viewer.cpp\u002FViewer.py 中的文本渲染问题。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2279 中完成\n* 对 Python 查看器进行小幅修复。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull 中完成","2024-03-15T23:11:47",{"id":187,"version":188,"summary_zh":189,"released_at":190},72459,"v0.3.0","## 主要功能与改进：\n* 渲染：PBR\u002FIBL\u002FHBAO\n  * --通过Magnum实现Nvidia的HBAO效果（角落和缝隙中的柔和阴影），由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2192中完成\n  * --PBR\u002FIBL配置与自定义，由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2155中完成\n* 带蒙皮的关节物体：\n  * 为gfx-replay和旧版回放渲染添加蒙皮支持。由@0mdc在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2120中完成\n* 更精确的get_random_navigable_point_near，由@aclegg3在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2221中完成\n\n\n## 其他变更：\n* --属性\u002F管理器维护：分离单体ObjectAttributes；移除不必要的抽象方法；从字符串构建JSON，由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2177中完成\n* --[BUGFIX] 后台渲染器不应创建额外的上下文，由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2180中完成\n* 禁用损坏的JS测试，并将--no-web-apps设为默认选项，由@eundersander在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2179中完成\n* --[BugFix] GibsonSemanticScene JSON访问问题。由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2181中完成\n* --[BugFix] 使用HasMember消除双重JSON查找，由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2182中完成\n* --关节物体属性\u002F管理器支持，由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2178中完成\n* [BE] - 从API中移除虚拟sceneId，由@aclegg3在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2186中完成\n* --[Bugfix] 向测试资产`skinned_prism.ao_config.json`中添加新字段。由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2188中完成\n* [BE] - 对未实现的物理专用API调用添加错误信息，由@aclegg3在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2187中完成\n* 修复包含空格的目录路径问题，由@vishneshjr在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2176中完成\n* 更新README.md，由@dhruvbatra在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1410中完成\n* --[BE\u002FBugfix] 修改从URDF文件名创建关节物体的方式。由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2190中完成\n* --[BE\u002FBugfix] 提前检查Bullet\u002F物理是否启用；针对无Bullet情况的C++测试修复；若无Bullet则更改Python端enable_physics的默认值，由@jturner65在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2189中完成\n* [docs] 添加从datasets_downloader获取hssd的详细说明，由@aclegg3在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2193中完成\n* 在回放渲染器中添加切换视锥体剔除的选项，由@0mdc在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2199中完成\n* [CI] - 将Spot机器人资产加入CI测试集，由@aclegg3在https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2201中完成\n* --[Habitat3.0] 移除过时\u002F废弃的IBL标志位","2023-10-19T23:46:02",{"id":192,"version":193,"summary_zh":194,"released_at":195},72460,"v0.2.5","## 主要功能与改进：\n* 由 @jturner65 改进的 PBR 渲染\n  * --将材质转换为使用 Magnum 材质。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2083 中完成。\n  * --[PBR 更新 0\u002F3] 添加 Python 绑定以启用 IBL。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2113 中完成。\n  * --[PBR 更新 1\u002F3] 将材质的扩展\u002F层数据映射到 Drawables 缓存中。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2112 中完成。\n  * --[PBR 更新 2\u002F3] 受 PBR 重写启发的默认光照及 IBL 修复\u002F重构。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2119 中完成。\n  * --[PBR 第 3 部分\u002F共 3 部分] 将 KHR 扩展映射到 PBRDrawables，并在着色器中实现。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2091 中完成。\n\n\n* [破坏性更改] - NavMeshSettings 重构。由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2111 和 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2124 中完成。\n* 将 Bullet 升级至 3.2.5。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2149 中完成。\n* 关节物体蒙皮。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2076 中完成。\n* 关节物体语义。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2086 中完成。\n* 更新至最新的 Magnum 子模块。由 @mosra 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2066、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2073、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2100、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2114 和 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2123 中完成。\n  * 在 Python 构建依赖中添加额外的 Magnum 导入插件。由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2105 中完成。\n  * [日志记录] - 设置 Magnum 导入器和转换器的静默标志。由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2115 中完成。\n* 向 URDF 加载 API 添加 inertiaFromURDF 选项。由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2098 中完成。\n* [BE 周] - 为 datasets_download.py 添加 Hugging Face 仓库支持。由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2130 中完成。\n* 向数据集下载器添加 HSSD。由 @mukulkhanna 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2163 中完成。\n\n## 其他改进与错误修复：\n\n### 错误修复\n* 修复 setArticulatedObjectModelFilename 导致垃圾日志输出的问题。由 @eundersander 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2053 中完成。\n* 修复 viewer.py 中帧缓冲区大小不匹配的问题。由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2055 中完成。\n* [错误修复]：圆柱体原始碰撞形状未使用半长。由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2060 中完成。\n* --[错误修复]：在 simtest 中禁用渲染器时，仅应执行一次测试。由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2065 中完成。\n* --(错误修复) 修复法线变换计算，并解决负缩放情况下的背面剔除问题。","2023-07-29T02:58:14",{"id":197,"version":198,"summary_zh":199,"released_at":200},72461,"v0.2.4","# v0.2.4\n\n## 主要功能与改进：\n* 由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2030 中将 Python 升级至 3.9\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2001 中实现更优的相机反投影\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2014 中改进 MultiGoalShortestPath 功能\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2021 中取消默认合并碰撞物体\n* 由 @rpartsey 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2009 中添加坐标系教程\n* 由 @mosra 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1968、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1999、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2015 和 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2032 中更新至最新版 Magnum，新增：完整的蒙皮支持、MeshData 的 Python 绑定、新的 MaterialTools、改进的 glTF 导入\u002F导出等功能\n* 由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2028 中为 Magnum 添加 Vector2、Vector4、Color3 和 Color4 的配置支持，并支持 UserDefinedAttr 中的字符串列表\n* 由 @Skylion007 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1974 和 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2051 中将 pybind11 更新至 v2.10.4\n\n## 其他改进与错误修复：\n\n### 错误修复\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2022 中修复射线距离缩放问题\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2024 中修复 get_island_colored_map 中的颜色溢出问题\n* 由 @rpartsey 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1966 中修复 colab_install.sh 脚本中基线安装的问题\n* 由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2003 中为 MeshData 的 magnum-bindings 在 Py3.7 上进行更新修复\n* 由 @rpartsey 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1989 中修复数据集下载重新链接的问题\n* 由 @jturner65 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2013 中移除测试过程中正在写入的文件\n\n### 批量渲染器与 GFX 回放\n* 由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1947 中将 gfx-replay 播放器与场景图解耦，并将其与批量渲染器集成\n* 由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1964 中将批量渲染器集成到 Python 查看器中\n* 由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1975 中实现 gfx-replay 记录场景图删除操作的功能\n* 由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1976 中实现在所有实例被删除时清除回放渲染器的功能\n* 由 @mosra 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1970 中为批量渲染器添加光照支持\n* 由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2011 中为 replay 渲染器添加绑定，以获取 CUDA 设备指针\n* 由 @0mdc 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F2019 中允许批量渲染器绘制空场景\n* 禁用 sim sen","2023-03-31T21:50:35",{"id":202,"version":203,"summary_zh":204,"released_at":205},72462,"v0.2.4.0-rc1","v0.2.4 rc1","2023-03-30T19:03:18",{"id":207,"version":208,"summary_zh":209,"released_at":210},72463,"v0.2.3","## 主要功能与改进：\n* 导航模块改进，由 @aclegg3 完成：\n  * 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1866 中将 NavMesh 岛屿添加到 API\n  * 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1903 中实现岛屿俯视地图\n  * 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1883 中实现 NavMeshSettings 的 JSON 序列化\n  * 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1850 中完善文档\n* 批量渲染器原型，由 @mosra 和 @0mdc 完成，相关 PR 包括：https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1904、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1798、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1874、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1961\n* 添加滚动和旋转摩擦系数参数，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1845 中完成\n* 文档化 SceneDataset 的 JSON 配置系统，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1863 中完成\n* 向 habitat_sim.utils 添加 settings.py 文件，由 @jaraujo98 和 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1832、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1879、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1949 中完成\n* 机器人模块迁移至 Habitat-lab，由 @zachavis 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1790 中完成\n\n## 其他改进与错误修复：\n### 数据集\n* 更新至 HM3D v0.2，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1910、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1916、https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1927 中完成\n* 添加 Franka 下载链接，由 @laikhtewari 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1837 中完成\n* 添加 Spot 下载链接，由 @jimmytyyang 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1885 中完成\n* 添加 Stretch 下载链接，由 @jimmytyyang 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1936 中完成\n* 更新 Fetch 资源，由 @ASzot 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1959 中完成\n\n### 错误修复\n* 移除 hsim_bindings 在音频方面的直接使用，并修复缺失的重新导出，由 @Skylion007 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1788 中完成\n* 在 viewer.py 中为“none”场景跳过 NavMesh 重新计算，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1809 中完成\n* Gfx-replay 和 JSON 序列化修复，由 @eundersander 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1758 中完成\n* 在 IOTest 中声明分配器，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1816 中完成\n* 将 mp3d_example 场景数据集配置添加到教程中，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1847 中完成\n* 对查看器文本字符串生成语义标签的部分进行小幅修复，由 @aclegg3 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1859 中完成\n* 移除 Simulator.cpp 中对 lightsetup 的额外临时拷贝，由 @Skylion007 在 https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1867 中完成\n* 通过更多使用 std::move 和 emplace 来避免不必要的拷贝，由 @Sky 完成","2022-12-08T21:40:48",{"id":212,"version":213,"summary_zh":214,"released_at":215},72464,"v0.2.3_rc2","v0.2.3 rc2","2022-11-29T21:06:04",{"id":217,"version":218,"summary_zh":219,"released_at":220},72465,"v0.2.3_rc1","v0.2.3 rc1","2022-11-28T16:16:32",{"id":222,"version":223,"summary_zh":224,"released_at":225},72466,"v0.2.2","## Major features and improvements:\r\n- Add audio sensor via integration with RL Audio Propagation Engine (#1646, #1780, #1781) ([doc page](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fblob\u002Fmain\u002Fdocs\u002FAUDIO.md))\r\n- Add Python interactive Viewer utility (#1519, #1538, #1551, #1555, #1558, #1629, #1631, #1632, #1706, #1704, #1707)\r\n- Add FairMotion Interface examples for loading motion capture into Habitat-sim (#1552, #1557, #1560, #1561, #1578)\r\n- Introduce new Habitat configurable logging framework and migrate from GLOG (#1411, #1428, #1431, #1435) ([doc page](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002Flogging.html))\r\n- Refactor all C++ tests to CorradeTestSuite (#1476, #1477)\r\n- Make habitat-sim PIP installable (#1440)\r\n- Add nightly OSX Conda build (#1430) \r\n- Image Based Lighting (IBL) prototype support for PBR shading (#1461, #1488, #1412)\r\n- Add Bullet CollisionHelper utility (#1484)\r\n- Add CollisionGroup overriding for BulletArticulatedObjects (#1597)\r\n- Add get_joint_motor_torques function by @SimarKareer in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1585\r\n- Rigid Object Instance Non-uniform scaling by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1742\r\n- Support user defined config values for ArticulatedObjects defined in JSON accompanying URDFs (#1458)\r\n- Support Wildcard handling in SceneDataset config files (#1584, #1743)\r\n- Support saving SceneInstance config files from current simulator state (#1568, #1416)\r\n- Breaking Change: Remove all object manipulation functionality from Simulator API in favor of ObjectWrapper interface (#1574)\r\n- Breaking Change: Upgrade minimum python version requirement to 3.7 (#1647)\r\n- Breaking Change: Python module moved from `habitat_sim\u002F` to `src_python\u002Fhabitat_sim\u002F` by @erikwijmans in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1586\r\n\r\n### Datasets\r\n- ReplicaCAD v1.1→v1.5  (#1681, #1685, #1694, #1729)\r\n- YCB v1.2 (#1772)\r\n- Replica-Dataset install and use directions updated (#1771)\r\n- Support HM3D semantic textures (#1556, #1592, #1618, #1638, #1657, #1658, #1669, #1678, #1690, #1709)\r\n- Support ScanNet asset importing (#1434)\r\n- Remove SUNCG dataset support\u002Freferences by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1591\r\n- Adding rearrange_pick_dataset_v1 by @vincentpierre in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1664\r\n\r\n## Other improvements and bug fixes:\r\n### Bugfixes\r\n* [bugfix] fix consistent typo across many tutorial files by @aclegg3 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1419\r\n* [BugFix] Update download script to get most recent version of ReplicaCAD dataset by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1398\r\n* [bugfix] Fix missing reserve call for std::vector for ManagedContainer by @Skylion007 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1425\r\n* [bugfix] fix overlay_settings not being forwarded by @aclegg3 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1422\r\n* [Bugfix] Fix bugs in examples benchmarking by @Skylion007 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1429\r\n* [BUGFIX]Remove redundant method refs in log messages by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1432\r\n* [Bugfix]Clean up '0-as-null pointer' warnings by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1442\r\n* [BUGFIX] Do not set orientation based on file ext if default attributes provided, overrides default config for orientation. by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1439\r\n* [bugfix][viewer] Allow user to hide mouseinteraction text by @Skylion007 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1444\r\n* CollisionGroup::Noncollidable fix by @eundersander in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1449\r\n* --Fix clang-tidy cast complaint in configuration. by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1453\r\n* --[BugFix]Fix erroneous ConfigStoredType checks by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1456\r\n* [bugfix] Fix bug in detecting if is_pip() by @Skylion007 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1457\r\n* [bugfix][colab] Dynamically pin numba to appropiate colab version by @Skylion007 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1459\r\n* Fix Double PathFinder by @erikwijmans in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1483\r\n* [Bugfix]: make corrade plugins static by @Skylion007 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1480\r\n* [BugFix]--Address when Bullet is available but physics is not enabled. by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1494\r\n* [BugFix]--Fix improper JSON object access. by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1493\r\n* [Bugfix]--address segfaults by catching nullptr attribs and exiting gracefully by @jturner65 in https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-sim\u002Fpull\u002F1515\r\n* Fi","2022-06-15T15:48:15",{"id":227,"version":228,"summary_zh":229,"released_at":230},72467,"v0.2.2_rc1","v0.2.2 rc1","2022-06-06T16:54:40",{"id":232,"version":233,"summary_zh":234,"released_at":235},72468,"v0.2.1","### Major features and improvements:\r\n- Fetch Robot Wrapper improvements: added third person camera, utility functions for the base movement, refactored the interpolate arm function  (#1373)\r\n- PBR\u002FIBL functionality to render an equirectangular image to cubemap (#1390, #1391)\r\n- The WebXR\u002FWebVR hand functionality and demo with refactoring JS code to support future webapps  (#1366, #1364, #1365)\r\n- Added support for nested user-defined attributes for scene data structures (#1413)\r\n- Added debug line render utility (#1349) \r\n- Powered by CI OSX conda package build (#1386)\r\n- Added viewer Hot-swap scenes functionality (#1368) \r\n\r\n\u003C!--- - Subsystem Logging to filter logs based on different subsystems (#1382) Needs #1411 first --->\r\n\r\n### Other improvements and bug fixes:\r\n- Dataset download util default path improvements (#1362, #1369).\r\n- Fix Colab install issue with scipy (#1361)\r\n- Better default physics config\r\n- Readme restructure to reflect Habitat 2.0 functionality (#1394, #1395, #1403).\r\n- Upgrade Pybind11 to 2.7 (#1388) and Updated Magnum submodules (#1404).\r\n- gltf\u002Fglb \"extensionsUsed\" not being set for Khronos validation (#1402) \r\n- Improved documentation for ContactPointData #1372\r\n- Cleanup and development of flag to enable\u002Fdisable rendering (#1308)\r\n- Enable URDF AO Loader to support unlit \u002F baked lighting assets. #1408\r\n- Various bug fixes, including:\r\n  - Fixed bug in scene instance list view start. (#1380)\r\n  - Change URDF assert to ESP_CHECK (#1397)\r\n\r\n\r\n\r\n\r\n\r\n\r\nCorresponding [Habitat-Lab v0.2.1 release](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab\u002Freleases\u002Ftag\u002Fv0.2.1).\r\n\r\n**Kudos to our community contributors:** @ldcWV, @srama2512","2021-07-30T07:59:16",{"id":237,"version":238,"summary_zh":239,"released_at":240},72469,"v0.2.0","### Major features and improvements:\r\n- Introducing ArticulatedObject API via Bullet physics including: URDF file import, Revolute|Prismatic|Spherical joints with joint position\u002Fvelocity\u002Ftorque control, JointMotor control interface. (#1300, #1312, #1326, #1309, #1228, #1254)\r\n- Rigid point-to-point and fixed frame constraints between objects. (#1328)\r\n- Query detailed contact point information from previous collision detection pass (#1257).\r\n- Customize collision groups and masks for objects with the CollisionGroupHelper. (#1280)\r\n- New, user-friendly ManagedObject interface deprecates previous ID-based interface through Simulator class. Now apply commands and set\u002Fquery properties directly on objects. (#1189, #1246, #1286, #1288)\r\n- RobotWrapper for defining high-level robot interface on top of ArticulatedObject API w\u002F initial Fetch robot platform example. (#1341)\r\n- Option to enable asynchronous rendering via background thread for improved end-to-end performance in simulation heavy scenarios by overlapping CPU-side simulation and GPU-side rendering. (#1229)\r\n- SceneDataset improvements: \r\n  - Automated scene instancing loads stage, rigid and articulated objects, lights, navmesh, etc... from scene config handle. (#1034, #1274)\r\n  - Support for glob wildcards `'*'` in config paths. (#1152)\r\n  - User defined custom fields in JSON now passed through to programmatic structures. Cache your own metadata! (#1302) \r\n  - CSV information report output. See your full config system at a glance. (#1331) \r\n  - Reference assets (e.g., .glb) directly by filepath in configuration. (#1255) \r\n- New utility `habitat_sim\u002Futils\u002Fdatasets_download.py` with versioning and custom data paths simplifies the asset download and setup process significantly. (#1198)\r\n- Hierarchical Sensor Framework re-design (#1064, #1098, #1090, #1117, #1138, #1118, #1159):\r\n  - Decouple sensors from agents.\r\n  - SensorFactory and VisualSensor hierarchy.\r\n  - Extensible design enables straightforward contribution of custom sensors. \r\n- New spherical sensors with RGB, depth, and semantic rendering:\r\n  - CubeMaps (#1011, #1306)\r\n  - Optimized FishEye sensor with 5x speedup. (#1131, #1168, #1291, #1221)\r\n  - Equirectangular sensor. (#1179, #1187, #1221)\r\n- Integrated VHACD to produce convex decompositions of mesh assets after import into Habitat-sim with .obj export. Optimize collision detection for your assets with a utility for configuring parameters and visualizing output. (#1055, #1294)\r\n- New VoxelField data-structures supporting multiple layered data types and a variety of features, including (#1140, #1154, #1172):\r\n  - Automated boundary voxelization of stages and objects via VHACD. \r\n  - Scalar gradient vector field computation.\r\n  - Signed Distance Field (SDF) computation on boundary fields.\r\n  - Visualization of boundary voxels, heat maps, vector fields in object local frames.\r\n- Frustum culling on inserted and physically simulated objects for faster rendering of staged and dynamic scenes. (#1095)\r\n- Added a pre-process utility tool for basis compression of asset textures resulting in faster load and render times. (#1290)\r\n\r\n### Other improvements and bug fixes:\r\n- Stand-alone MetaDataMediator can be configured outside of a Simulator instance and provided during construction for more control + improvements. (#1099, #1243, #1265)\r\n- Option to specify `shader_type` for assets in configuration. (#1183)\r\n- Option to scale all lights in a scene uniformly brighten or dim. (#1339) \r\n- Stages default to falt shading. (#1307)\r\n- Allow custom primitives to be re-constructed from their unique string key enabling de-serialization of procedural assets. (#1314)\r\n- Added a variety of automated code formatters and style checks to pre-commit, linters, and CI. (#1075, #1094, #1102, #1108, #1200, #1219, #1220, #1222, #1240, #1241, #1250, #1249, #1259, #1267, #1275, #1301, #1303, #1313, #1337)\r\n- Optimize CI testing and conda build with parallel execution (~6x test speedup). (#1238, #1239)\r\n- Add custom background clear color for VisualSensorSpec. (#1153)\r\n- Physics simulation benchmarking example utility (#1048)\r\n- Setup `pytest-benchmark` CI integration. (#1323)\r\n- Better logging paradigm (ESP_CHECK) for C++ assertions which propagate failure message and stack trace to python. (#1111)\r\n- WebVR examples replaced with WebXR and improved controls (#1139)\r\n- Added some object instancing and physics functionality to JavaScript bindings (#1146, #1271)\r\n- Improved Viewer application features including:\r\n  - Depth and Semantic sensor visualization options. (#1066, #1207)\r\n  - Add interactive mouse mode with RigidConstraints and removed old-style interactive key-binds + default lighting override. (#1351)\r\n  - Serialization and loading of agent and sensor transforms. (#1180)\r\n  - Bullet debug draw toggle with `','`.\r\n- Added XML parsing support via tinyxml2. (#1137)\r\n- PrettyWriter and precision JSON export. (#1340)\r\n- Added Colab tutorial for easily visualizing asset turn-t","2021-06-30T06:55:06",{"id":242,"version":243,"summary_zh":244,"released_at":245},72470,"v0.2.0_rc2","v0.2.0 rc2","2021-06-30T05:10:39",{"id":247,"version":248,"summary_zh":249,"released_at":250},72471,"v0.2.0-rc1","v0.2.0 rc1","2021-06-28T20:28:19",{"id":252,"version":253,"summary_zh":254,"released_at":255},72472,"v0.1.7","### Major features and improvements:\r\n- Introduced GFX Replay feature. Save graphical replays and play them back. Reproduce earlier observations or produce new observations from different camera positions. (#1049, #983)\r\n- Now supporting Physically Based Rendering (PBR) with point and directional lights. Supports metallic-roughness models specified in glTF 2.0., normal maps, normal texture scale, emissive textures, packed textures, texture transformation, double-sided objects, etc... (#837, #840, #863, #889, #895, #898, #902)\r\n- Introduced new cubemap render camera type (#1000)\r\n- Added Orthographic projection mode and zoom to CameraSensor. (#933)\r\n- Introduced the MetaDataMediator class and SceneDataset concept to manage all metadata used to describe simulator, object, stage, lighting, and scene configuration. Includes JSON configuration framework and parsing ([specs](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002FattributesJSON.html)) and a programmatic configuration API in both [C++](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002Fnamespaceesp_1_1metadata.html) and python([attributes](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002Fhabitat_sim.attributes.html)|[managers](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002Fhabitat_sim.attributes_managers.html)|[metadata](https:\u002F\u002Faihabitat.org\u002Fdocs\u002Fhabitat-sim\u002Fhabitat_sim.metadata.html)). (#862, #818, #817, #819, #852, #869, #879, #881, #883, #885, #897, #917, #928, #923, #990)\r\n- Added a flag to enable\u002Fdisable collisions for objects and stages. (#932)\r\n\r\n### Other improvements and bug fixes:\r\n- Various improvements to viewer application: \r\n  - Screenshots now automatically routed to new output directory each time viewer is run. (#807)\r\n  - `SPACE` toggles dynamic simulation and `'.'` takes single steps. (#887)\r\n  - Added objects now set to agent orientation. (#887)\r\n  - Keyboard control of agent movement is now continuous instead of discrete. (#1013)\r\n  - Added per-frame profiling overlay. (#1015, #1039)\r\n  - Handle mouse scroll+shift for mac (#1040)\r\n  - Integrated GFX Replay recording with `'r'`. (#1001)\r\n- Added JSON reading and writing in C++ with serialization for most Magnum types and some user types. (#980)\r\n- Removed SceneConfiguration functionality absorbed into new MetadataMediator. (#906)\r\n- Moved SimulatorConfiguration to its own source files. (#815)\r\n\r\n- Various bug fixes, including:\r\n  - Pytest crash when habitat-sim and habitat-lab were installed in the same directory. (#908)\r\n  - STATIC objects now have properly configured friction, restitution, and damping. (#846)\r\n  - Fixed issue with MP3D bounding box loading. (#832)\r\n  - Use normal matrix in GenericDrawable. (#838)\r\n  - Correctly use flags to setup shader values in GenericDrawable. (#876)\r\n  - Fix ptex assertion. (#939)\r\n  - Update sensor enums from all-caps to Pascal style. (#1009)\r\n  - Fix configuration edge case in renderer creation logic. (#962)\r\n  - MotionType::UNKOWN changed to UNDEFINED with value -1. (#861)\r\n\r\nCorresponding [Habitat-Lab v0.1.7 release](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fhabitat-lab\u002Freleases\u002Ftag\u002Fv0.1.7).\r\n\r\n**Kudos to our community contributors:** @mpiseno @mwouts ","2021-01-29T23:24:59",{"id":257,"version":258,"summary_zh":259,"released_at":260},72473,"v0.1.7-rc3","v0.1.7 rc3","2021-01-28T22:56:44",{"id":262,"version":263,"summary_zh":264,"released_at":265},72474,"v0.1.7-rc2","v0.1.7 rc2","2021-01-27T20:37:35",{"id":267,"version":268,"summary_zh":269,"released_at":270},72475,"v0.1.7-rc1","v0.1.7 rc1","2021-01-26T17:11:58"]