From 142913c384fd2d475fa4131c71fc5687a84fd75e Mon Sep 17 00:00:00 2001 From: hofee Date: Tue, 21 Oct 2025 20:24:18 +0800 Subject: [PATCH] update readme --- README.md | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) diff --git a/README.md b/README.md index e69de29..6ff0532 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,112 @@ +# Isaac Sim Agent + +Isaac Sim Agent 是一个基于 NVIDIA Isaac Sim 的机器人任务生成和数据采集系统。该系统支持任务模板划分、任务实例生成、数据采集和回放功能。 + +## 系统架构 + +系统包含以下主要组件: +- **任务模板划分器** (TaskTemplatesDivider): 将大型任务模板划分为多个子任务 +- **任务生成器** (TaskGenerator): 从任务模板生成具体的任务实例 +- **数据生成器** (DataGenerator): 在 Isaac Sim 中执行任务并采集数据 +- **数据回放器** (DataReplayer)(暂未接入): 回放已采集的数据 +- **回放初始化器** (ReplayInitializer)(暂未接入): 为数据回放准备环境 + +## 1 安装依赖 + +安装以下依赖: +```bash +pip install pin -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install numpy==1.26 -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install grasp_nms -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple +pip install git+https://git.hofee.cn/hofee/pyboot.git +``` + +执行 `pb scan` 检查依赖是否完整,若缺少某一依赖,安装对应依赖。 + +## 2 配置说明 + +### 2.1 任务模板划分配置 (divide_task_config.yaml) +```yaml +runner: + workspace: + name: "divide_task" + root_dir: "workspace" + divide: + input_task_templates_root_dir: "/path/to/input/task/templates" + output_task_templates_dir: "" # 为空则默认在workspace/divide_task/task_templates + output_template_targets_dir: "" # 为空则默认在workspace/divide_task/template_targets + divide_num: 100 # 每个进程划分任务数量 + total_nums: 10000 # 总任务模板数量 +``` + +### 2.2 任务生成配置 (generate_task_config.yaml) +```yaml +runner: + workspace: + name: "generate_task" + root_dir: "workspace" + generate: + input_data_root: "/path/to/input/data" + input_target_task_templates_path: "workspace/divide_task/template_targets/task_template_target_0.json" + output_task_root_dir: "" # 为空则默认在workspace/generate_task/task_root_dir + output_generate_result_path: "" # 为空则默认在workspace/generate_task/generate_result_path.json +``` + +### 2.3 数据生成配置 (generate_data_config.yaml) +```yaml +runner: + workspace: + name: "generate_data" + root_dir: "workspace" + generate: + input_data_root: "/path/to/input/data" + input_target_task_path: "workspace/generate_task/generate_result_path.json" + server_url: "localhost:50051" # Isaac Sim 服务器地址 +``` + +## 3 使用流程 + +### 3.1 划分任务模板 +在 `configs/divide_task_config.yaml` 里配置任务模板输入目录、整理好的任务模板输出目录(为空则默认在workspace/divide_task/task_templates)、用于多机生产的划分后的Task Template列表(为空则默认在workspace/divide_task/template_targets) + +```bash +pb run divide_task +``` + +### 3.2 生成任务实例 +从指定任务模版生成任务实例: + +```bash +pb run generate_task +``` + +### 3.3 生成数据 +从指定任务实例表里依次运行任务实例(目前只支持运行同一个任务模板下的多个任务实例): + +```bash +pb run generate_data +``` + +### 3.4 数据回放(暂未接入) +回放已生成的数据: + +```bash +pb run replay +``` + +## 4 工作空间结构 + +``` +workspace/ +├── divide_task/ # 任务模板划分输出 +│ ├── task_templates/ # 整理后的任务模板 +│ └── template_targets/ # 划分后的任务模板目标 +├── generate_task/ # 任务生成输出 +│ ├── task_root_dir/ # 生成的任务实例 +│ └── generate_result_path.json # 生成结果路径 +└── generate_data/ # 数据生成输出 + └── [生成的数据文件] +``` +