核心概览

FastSim 是一个统一的、模块化的机器人仿真开发框架,旨在简化机器人研究与工程中的常见工作流:场景构建、控制与交互、任务编排、数据采集与回放、服务化集成等。

框架的核心思路是配置驱动 + 后端无关——通过 YAML/JSON 配置文件描述整个仿真场景与流程,由 UniSim 抽象层屏蔽不同仿真引擎(IsaacLab、Mujoco、PyBullet 等)之间的差异,使上层逻辑无需感知底层后端。

框架架构

下图展示了 FastSim 的整体分层架构及各模块间的关系:

FastSim 架构图 点击放大

框架从上到下共五层:

层级职责
用户接口层CLI / TUI / Web 界面 / Python SDK,提供多种使用入口
配置管理层ConfigManager 加载并校验 YAML/JSON,生成类型安全的配置对象树
核心管理层SceneManagerControllerManagerExtensionManagerTaskManager 各司其职
UniSim 抽象层统一仿真循环(Pre-Physics → Step → Post-Physics),隔离后端差异
后端引擎层IsaacLab、Mujoco、PyBullet、Gazebo 等,支持用户自定义接入

核心设计原则

模块化:以 stereotype 与配置类为边界,便于扩展新的实体类型(base / object / robot / sensor / light)、动作/目标、规划器与扩展模块。

一致性SceneManagerControllerManagerExtensionManager 职责清晰,仿真循环中写入与读取的时序固定,行为可预测。

可复现general / simulation / scene / task / extension 五类配置块固化实验参数,支持校验、导出与模板生成。

开放性:stereotype 注册表机制支持项目级扩展与跨项目复用,无需修改框架核心代码。

主要能力

  • 配置驱动:通过 ConfigManager 加载、校验、导出 YAML/JSON 配置,并可生成字段模板。
  • 统一后端抽象(UniSim):以统一接口封装后端差异,隔离仿真器初始化、步进与运行状态管理。
  • 场景与实体:基于 stereotype 实例化 base / object / robot / sensor / light,并在仿真循环中以固定节奏写回与更新。
  • 控制与编排:以命令队列(Simple / Multi Command)在主循环中执行控制请求,支持同步/异步与优先级调度。
  • 扩展机制:通过扩展配置启用 server、data_collect、record、replay、benchmark 等模块,构建完整的数据采集与回放链路。

推荐阅读路径

建议按下列顺序阅读,以保证概念、配置与可运行示例之间保持一致:

  1. 快速启动:验证 FastSim 生命周期与最小 step() 循环可运行。
  2. 配置系统:掌握五类配置块的字段结构、校验规则与依赖关系。
  3. 核心概念:理解 stereotype、UniSim、SceneManager、ControllerManager、ExtensionManager 的职责边界与交互关系。
  4. 示例应用:对照示例完成资产替换与参数调优,并固化为可复现配置。

页面与源码对照

下表将文档页面对应到实现模块,便于定位概念边界与排查问题。

文档主要内容对应源码
Python SDK最小示例、生命周期、配置加载fastsim/app.pyfastsim/configs/config_manager.pyfastsim/unisim/unisim.py
全局配置general.scan_project、资源路径解析规则fastsim/configs/general_cfg.pyfastsim/utils/asset.py
仿真配置simulation 通用字段与后端关键字段fastsim/configs/simulation_cfg.pyfastsim/simulators/isaaclab/isaaclab_config.py
场景配置scene 结构、实体字典与 stereotype 映射fastsim/configs/scene_cfg.pyfastsim/unisim/scene_manager.py
任务配置task 语义、actions / goals 与校验fastsim/task/task_cfg.pyfastsim/task/task.py
扩展功能配置扩展开关、依赖顺序、record / replay / server / benchmarkfastsim/extensions/extension_manager.pyfastsim/extensions/**
UniSim 统一接口抽象接口与后端适配器fastsim/unisim/unisim.pyfastsim/simulators/**
Scene 场景生命周期、spawnable 体系、更新节奏fastsim/unisim/scene_manager.pyfastsim/unisim/spawnable.py
Controller 控制器Command 队列、同步/异步 Result、控制器 APIfastsim/controllers/**
Extension 扩展扩展 enable 时序、record → 产物 → replay 数据链路fastsim/extensions/**
示例应用可运行示例的对照说明与改造建议demo/**
快速启动CLI / TUI / Web 启动方式与参数fastsim/cli/**fastsim/extensions/servitize/server.py