update readme
This commit is contained in:
112
README.md
112
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/ # 数据生成输出
|
||||||
|
└── [生成的数据文件]
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user