SimWorld 具身智能模拟器
在逼真的物理与社会世界中开发和评测多模态自主智能体。
- Star 数
- ★ 787
- 最近更新
- 3 个月前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 42/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 高 · 需要较重的基础设施
- 开始前需要
- 典型场景
- 具身智能研究者需要在带物理规则的城市或室内场景中评测视觉语言模型的导航、规划和物体交互能力。
- 不适合
- 没有独立GPU或大容量硬盘的开发者
- 希望一条命令即可运行、无需单独启动UE服务器的用户
这个 Agent 能做什么,适合哪些场景?
SimWorld 是一个基于 Unreal Engine 5 的模拟平台,用于开发和评测在复杂物理及社会环境中运行的 LLM/VLM 智能体。系统由 Unreal Engine 后端、环境层和智能体层组成,分别负责场景与物理模拟、城市及交通生成、Gym 风格接口,以及基于多模态观察的决策和动作执行。Python 包包含 Communicator、Humanoid、Map、BaseLLM、本地动作规划器、城市生成、交通、天气和资源检索等组件。智能体可接收位置、朝向、RGB、深度或分割图等观察,并通过移动、旋转、拾取和坐下等动作与 UE 世界交互。部署边界包括本地 Python 客户端和单独启动的 UE 服务器;基础包提供两个轻量城市地图和一个空地图,另有可选的 100 多个预制地图。
典型流程先以 Communicator(UnrealCV()) 连接已启动的 Unreal Engine 服务器,再通过 Humanoid 和 communicator.spawn_agent 在地图中生成智能体。环境可调用 communicator.get_camera_observation、UnrealCV 的位置与朝向接口,形成包含位置、方向和第一视角图像的观察。示例中的 BaseLLM("gpt-4o") 根据观察和目标生成自然语言动作,环境解析后调用 communicator.humanoid_step_forward 或 communicator.humanoid_rotate 执行。平台还可通过 communicator.spawn_object 放置物体、通过 communicator.generate_world 按配置生成城市,并用 communicator.clear_env 清理环境。YAML 配置控制随机种子、时间步长、UE 蓝图路径,以及城市生成、交通、资源检索和智能体/模型选项;运行结果可包括新的多模态观察、基于目标距离的奖励和任务成功状态。
- 具身智能研究者需要在带物理规则的城市或室内场景中评测视觉语言模型的导航、规划和物体交互能力。
- 机器人团队希望先在 UE 场景中验证行人、车辆或机器人动作策略,再决定是否进入实体测试。
- 多智能体研究者需要构建包含交通和社会互动的场景,研究协作、策略推理或行为评测。
- 数据与仿真工程师希望用 RGB、深度和分割传感器生成结构化观察,供训练或基准实验使用。
- 场景开发者已有 Unreal Engine 地图、资源或角色模型,希望将其打包为
.pak并接入统一的 Python 控制接口。 - 课程或原型团队需要用基础地图和 Gym 风格的
reset/step循环快速演示自主导航。
如何安装或部署这个 Agent?
要求 Windows 或 Linux、Python 3.10 及以上、独立显卡且显存至少 6GB、32GB 内存,以及按安装包不同准备 50–200GB 磁盘空间。
安装 Python 客户端:
git clone https://github.com/SimWorld-AI/SimWorld.git
cd SimWorld
conda create -n simworld python=3.10
conda activate simworld
pip install -e .随后下载并解压对应系统的 Base UE 服务器包。Base 是必需组件,包含两个城市地图和一个空地图;可选地图以独立 .pak 文件提供,需要复制到服务器目录的 SimWorld/Content/Paks/。若需自定义配置,可执行 cp config/example.yaml config/your_config.yaml,填写本地路径后通过 Config('path/to/your_config') 加载绝对路径。示例使用 BaseLLM("gpt-4o"),但来源没有说明 API 凭据的环境变量、配置项或获取方式,采用该模型前需自行确认相关认证配置。
如何使用这个 Agent?
先启动 UE 服务器。Windows 可双击 SimWorld.exe,或执行 ./SimWorld.exe <MAP_PATH>;Linux 执行 ./SimWorld.sh <MAP_PATH>。<MAP_PATH> 是 Unreal Engine 内部地图路径,例如 /Game/hospital/map/demo.umap;省略时打开 /Game/Maps/demo_1。
服务器启动后运行 examples/ 中的 Python 示例或 examples/gym_interface_demo.ipynb。最小智能体循环创建 Communicator(UnrealCV()),在环境的 reset() 中用 communicator.spawn_agent 生成 Humanoid 并读取位置、朝向和摄像头图像;随后反复让智能体选择动作,并通过环境的 step(action) 调用移动或旋转 API。城市生成、交通模拟、资源检索、摄像头和底层 UE 命令分别有相应示例。自定义地图、物体和智能体模型需先制作为 .pak 文件,再放入服务器的 Paks 目录。
这个 Agent 有哪些优点和局限?
- UE5 后端把真实感渲染、物理模拟、程序化城市、交通和智能体控制整合在同一架构中。
- 同时提供位置、朝向、RGB、深度和分割等观察接口,并覆盖行人、车辆和机器人动作空间。
- 基础包适合快速验证,还可按需安装 100 多个独立
.pak地图,避免必须一次下载全部扩展环境。 - 支持导入自定义 UE 环境、资源和智能体模型,可在内置内容之外扩展模拟边界。
- Gym 风格接口和明确的 Communicator API 便于构建导航任务、奖励函数及自动评测循环。
- 硬件和存储门槛较高:要求至少 6GB 独立显存、32GB 内存和 50–200GB 磁盘空间。
- 运行依赖独立的 UE 服务器包,Python 客户端本身不能构成完整模拟环境。
- 示例指定
gpt-4o,但未给出模型凭据、费用、限流或失败处理的配置说明。 - 统一训练评测框架、强化学习流水线、1K 以上城市级多智能体模拟和 MuJoCo 集成仍列为未来计划。
- 自由自然语言到 UE 动作的完整落地能力尚未完成;当前示例依赖受限动作文本的解析与显式 API 调用。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| SimWorld 具身智能模拟器 当前 | 42 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 787 | 3 个月前 | Python | — |
| RLinf 强化学习基础设施 | 35 · 缺口较多 | 代码库 / SDK免费 | ★ 5.4k | 1 天前 | Python | — |
| EDSL(Expected Parrot 领域特定语言) | 63 · 存在缺口 | 代码库 / SDK免费 + 模型费 | ★ 497 | 4 天前 | Python | OpenAI API · Claude API |
| MobileGym | 50 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 800 | 5 天前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 说明了 Python 客户端、UE 后端、LLM、摄像头观测和动作命令之间的基本关系,也明确展示生成、移动、清空环境等外部效果,因此数据流与效果具有有限可见性。扣分原因是没有最小权限设计、执行前确认机制、敏感数据或 API 凭据处理规则、依赖完整性/漏洞控制、可恢复回滚流程;clear_env 只是破坏性清理接口,不构成回滚。项目、文档、论文和社区入口提供了部分来源线索,但仓库对象为 SimWorld-AI,而徽章链接指向 maitrix-org,且发布者身份未验证,因此归属仅获有限分。
架构、安装流程、配置和使用层次总体连贯,但快速示例明确经过简化,并含未在片段中初始化的 self.config、self.map、agent_bp、agent_name、duration、observation、position 和 success,不能作为完整一致的可运行实现。Python、操作系统、硬件、UE 服务包及启动顺序都有说明,依赖可获得性处理较好;但大型外部二进制包没有校验值、固定版本或离线替代说明。没有展示异常处理、故障诊断或面向用户的失败消息。
材料清楚覆盖快速测试、百余地图扩展、自定义 UE 环境/资产/代理,以及导航、交通、场景生成和多模态研究等多种受众与场景,因而该项充分。路线图明确区分现有与未来能力,但当前 Agent 框架、自然语言动作、RL 和大规模多代理仍未完成。动作解析只以 startswith 和省略代码示意,缺少严格语法、验证与歧义处理。Windows/Linux、Python、GPU、内存、磁盘、配置覆盖和自定义包均有说明,但未覆盖更广泛平台、兼容矩阵及资源降级策略。
目录、架构、目录树、快速导览、安装、配置、API、定制和路线图组织清晰,信息架构可获满分。安装说明具体但依赖外部 UE 包和链接文档,缺少锁定版本、校验和与完整故障排查。SimWorld-AI 与 maitrix-org 的链接不一致,且包命名含日期但没有稳定性政策。提供最小示例和 examples 入口,但没有 FAQ,且示例不完整。硬件要求和未完成路线图提供部分限制信息,却没有系统陈述已知故障或操作边界。完整 Apache-2.0 许可证支持满分。News 不是正式的版本化变更日志;贡献指南和 Slack 暗示维护入口,但所给材料没有明确维护者、支持承诺或发布责任。
Gym 风格接口、观测结构、动作执行、配置路径和 API 索引使输出对研究原型具有实际可用性;模拟物理与社会环境、可扩展地图和多模态代理接口相对普通代理脚手架具有明显增量价值。扣分原因是核心示例被大量省略,材料没有给出可核查的任务结果、基准改善或产物质量证据。成本方面诚实披露了至少 6GB VRAM、32GB RAM 和 50–200GB 磁盘需求,但没有安装时长、运行开销、模型/API 成本或收益对照。
主要能力通常指向项目目录、具体示例、代码行、配置文件、文档或论文,声明可追溯性较好;但本次仅提供 README 与 LICENSE,目标文件和外部材料无法在源包内交叉核对,所以交叉佐证有限。README 将现有功能、可选扩展和未完成路线图明显分开,事实与未来计划区分较好;不过“准确物理”“无缝集成”“稳健平台”等宣传性表述没有在所给材料中以数据或限制条件支撑。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 快速导览代码是删节示意,含多个未定义或未初始化变量,不应直接视为可运行示例。
- UE 服务端和地图来自大型外部下载;安装前应独立核对来源、版本、许可证和文件完整性。
- 未见 API 密钥、传感器数据、提示内容或其他敏感数据的处理与保留政策。
- spawn、移动、世界生成和 clear_env 会改变模拟状态,材料未提供确认门、事务边界或恢复方案。
- 硬件和存储成本较高,且没有性能基准或成本收益数据支持规模化采用。
- 仓库、徽章和发布者归属线索不完全一致;维护责任与正式发布渠道需另行确认。
常见问题
能否只安装 Python 包就运行?
是否必须使用 GPT-4o?
BaseLLM("gpt-4o"),但架构面向 LLM/VLM 智能体,且未记录其他提供商的现成适配器。更换模型可能需要配置或集成代码。基础安装包含哪些环境?
.pak 文件安装。可以接入自己的 Unreal Engine 内容吗?
.pak 文件并导入 SimWorld。