VirtualHome
用 Python API 驱动的多智能体家庭活动仿真器,可渲染视频、生成环境图并训练具身智能体。
- Star 数
- ★ 643
- 最近更新
- 5 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 40/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 具身 AI 研究人员需要可复现的家庭环境来训练和评测智能体策略
- 不适合
- 需要托管服务、开箱即用无需本地运行 Unity 可执行文件的团队
- 只想用文本对话交互、不具备 GPU/图形环境条件的用户
- 寻找开箱即用家用自动化方案的家庭用户(这是科研仿真平台)
这个 Agent 能做什么,适合哪些场景?
VirtualHome 是一个通过程序序列模拟复杂家庭活动的交互式仿真平台,支持拾取物体、开关家电等复杂环境交互,并可模拟多智能体行为。它由两个模拟器组成:基于 Unity 的 Unity Simulator(生成活动视频)和纯 Python 的 Evolving Graph(输出逐步演化的环境图)。用户通过 Python API 编写指令序列,模拟器将其渲染为视频或图序列,同时可输出时间戳动作、实例/语义分割、光流和深度等真值数据。2.3 版本新增程序化环境生成、增强物理模拟、日夜同步时间系统和实时光照。项目还提供 OpenAI Gym 风格的 RL 环境(unity_environment.py),可与 Ray 并行扩展,用于具身智能研究。
读取以指令序列表示的活动程序和环境图,运行两个模拟器:Unity Simulator 通过下载的可执行文件渲染活动视频和快照,Evolving Graph 在纯 Python 中输出程序执行后的环境图序列。通过 simulation.unity_simulator.comm_unity.UnityCommunication 连接可执行文件,可指定端口和 X display 并同时打开多个实例。提供 simulation/environment/unity_environment.py 中的 UnityEnvironment 基类作为 RL 环境,test_unity_environment_mp.py 演示与 Ray 的并行组合。数据集脚本可经 helper_scripts/download_dataset.sh 下载,dataset_utils 中的 augment_dataset_locations.py 和 augment_dataset_exceptions.py 用 KB-RealEnv 和 KB-ExceptionHandler 两个知识库增强脚本。
- 具身 AI 研究人员需要可复现的家庭环境来训练和评测智能体策略
- 计算机视觉研究者需要带实例/语义分割、深度和光流真值的合成数据
- 强化学习工程师需要 Gym 风格环境并通过 Ray 并行扩展训练
- 多智能体协作研究者模拟人与 AI 协作场景(如 Watch-and-Help 挑战)
- 需要生成家庭活动视频或快照数据集的团队
如何安装或部署这个 Agent?
安装 Python 包:
pip install virtualhome下载对应平台的 Unity Simulator 可执行文件并放入 simulation/unity_simulator 目录(Linux、macOS、Windows 版本均可在 virtual-home.org 下载),或直接运行脚本下载:
./helper_scripts/download_dataset.sh无显示器环境可用 Docker(仓库提供 docker 目录)或 X server 运行。
如何使用这个 Agent?
- 启动模拟器(建议窗口模式):
./path_to_exec -screen-fullscreen 0 -screen-quality 4- 运行 Jupyter 演示
demo/unity_demo.ipynb,或直接生成视频/快照:
cd demo/
python generate_video.pycd demo/
python generate_snapshots.py- 在 Linux 无头模式下,先启动 X server,再用指定 display 启动可执行文件:
sudo python helper_scripts/startx.py $display_numDISPLAY=:display_num ./{path_sim}/{exec_file}.x86_64 -batchmode或通过 Python 指定可执行文件:
from simulation.unity_simulator import comm_unity
comm = comm_unity.UnityCommunication(file_name=file_name, port={your_port}, x_display={your_display})- RL 环境:
cd demo
python test_unity_environment.pycd demo
python test_unity_environment_mp.py这个 Agent 有哪些优点和局限?
- 提供两个互补的模拟器:Unity 渲染视频,Evolving Graph 纯 Python 输出图序列,无需图形环境也能验证程序
- 可流式输出时间戳动作、实例/语义分割、光流和深度等多种真值,适合视觉与具身研究
- 内置 Gym 风格 RL 环境并支持与 Ray 并行扩展,可同时打开多个可执行文件实例
- 2.3 版本支持程序化生成无限独特环境,并可运行时修改环境
- 需要单独下载并本地运行 Unity 可执行文件,无显示器的机器需配置 X server 或 Docker
- Evolving Graph 中部分物体和动作在 Unity Simulator 中尚不支持
- 程序化生成、真实感渲染等能力仍在开发中
- 修改模拟器本身需另行获取 Unity 源码仓库并用 Unity Editor 自行构建
这个 Agent 与同类方案有什么区别?
README 未提及可直接对比的同类替代产品,仅说明修改模拟器需使用配套的 virtualhome_unity 源码仓库。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| VirtualHome 当前 | 40 · 缺口较多 | 代码库 / SDK免费 | ★ 643 | 5 个月前 | Python | — |
| IR-SIM 智能机器人模拟器 | 43 · 缺口较多 | 代码库 / SDK免费 | ★ 1.2k | 15 天前 | Python | — |
| AgentGuide - AI Agent 开发求职一站式指南 | 23 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 11k | 1 个月前 | MDX | OpenAI API · Claude API |
| ChatArena | 32 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.6k | 1 年前 | Python | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:代码在本地运行,通过Python API与本地Unity可执行文件通信,无网络凭据或上传逻辑的证据;许可证归属清晰(MIT,MIT版权),贡献者名单明确。扣分处:对外通信端口、X server(需要sudo启动startx.py)、下载可执行文件(仅HTTP链接非HTTPS)等环节的权限与安全说明缺失;无回滚或恢复机制说明;无用户确认/危险操作提示;未提供依赖锁定或安全审计信息,依赖安全仅凭pyproject留空难以验证。
README提供安装、测试和demo脚本路径,内容自洽;pyproject使用setuptools标准构建。扣分处:仅凭README与pyproject,无法确认测试、错误消息与失败处理;version标注(2.3)与pyproject中无版本字段略有脱节;外部Unity可执行文件的可用性完全依赖第三方站点下载,无校验和。
面向具身AI/RL研究者,场景说明清晰(Linux/macOS/Windows、Docker、无显示器X server方案),受众定位良好。扣分处:能力边界仅在'某些对象/动作Evolving Graph支持而Unity不支持'一句中提及,不完整;触发/接口行为细节需查外部文档;环境配置(X server、GPU)步骤粗糙。
README结构清晰(目录、安装、示例、数据集、引用、贡献者),安装说明与pip包一致,示例丰富(notebook、generate_video等),MIT LICENSE完整。扣分处:changelog仅为叙述性'What is New',无正式版本文件(pyproject未含版本);已知限制说明零散;维护责任与更新路径未明确声明;外部资源(可执行、数据集)依赖virtual-home.org,其持久性未说明。
作为 household 多智能体仿真API,定位独特、边际价值明确,有论文背书与PyPI分发。扣分处:实际输出可用性(video/graph质量、API稳定性)未经执行验证,静态证据有限;运行成本(需下载大型Unity可执行、GPU/显示器)对普通用户偏高但文档已提示。
README声明有论文引用与外部文档链接,可部分追溯。扣分处:性能提升、'stability improvements'等声明无指标支撑;无锁定的依赖或测试证据可供交叉验证;声明与推断的区分主要依赖外部文档,本仓库内证据有限。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- Unity可执行文件通过HTTP链接下载且无校验和,建议用户自行验证完整性后再运行。
- startx.py需要sudo启动X server,授予的权限较大,建议在隔离环境(如Docker)中运行。
- 依赖信息不完整(pyproject几乎为空),静态审查无法核实依赖安全性,请勿据此认定供应链安全。
- 本评审为静态审查,未执行任何仿真,输出质量与API稳定性未经验证。