update readme

This commit is contained in:
2025-10-21 20:24:18 +08:00
parent 6f43878922
commit 142913c384

112
README.md
View File

@@ -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/ # 数据生成输出
└── [生成的数据文件]
```