71 lines
2.6 KiB
Markdown
71 lines
2.6 KiB
Markdown
|
|
# Gen2 运行时资产
|
|||
|
|
|
|||
|
|
本目录是 `engineai_lab` Python 包内唯一的 Gen2 运行时资产位置。这样 editable 安装、wheel 安装和从其他工作目录启动时都会得到同一份 URDF 与 mesh。
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
gen2/
|
|||
|
|
├── README.md
|
|||
|
|
├── urdf/
|
|||
|
|
│ ├── robot.urdf
|
|||
|
|
│ ├── robot_simplified_collision.urdf
|
|||
|
|
│ └── robot_simplified_collision_mesh.urdf
|
|||
|
|
└── meshes/
|
|||
|
|
├── *_visual.stl
|
|||
|
|
├── *_collision.stl
|
|||
|
|
└── collision_simplified/
|
|||
|
|
└── *_box_collision.stl
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 三份 URDF 的职责
|
|||
|
|
|
|||
|
|
| 文件 | 用途 | 是否用于训练 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| `robot.urdf` | 原始高精度 visual/collision,作为生成源和人工核对基准 | 否 |
|
|||
|
|
| `robot_simplified_collision.urdf` | visual mesh + URDF box collision,接触更稳定、计算更轻 | **是,唯一默认训练资产** |
|
|||
|
|
| `robot_simplified_collision_mesh.urdf` | visual mesh + 简化 box STL,便于外部工具叠加检查 | 否 |
|
|||
|
|
|
|||
|
|
`source/engineai_lab/robots/gen2.py` 明确加载 `robot_simplified_collision.urdf`。文件缺失时会直接报错,不会静默回退到原始高精度碰撞体,避免不同安装环境得到不同训练物理。
|
|||
|
|
|
|||
|
|
URDF 内 mesh 使用相对路径:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
../meshes/<link>_visual.stl
|
|||
|
|
../meshes/<link>_collision.stl
|
|||
|
|
../meshes/collision_simplified/<link>_box_collision.stl
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
不要写机器相关的绝对路径或旧的 `source/gen2_lab` 路径。
|
|||
|
|
|
|||
|
|
## 重新生成简化碰撞体
|
|||
|
|
|
|||
|
|
生成脚本不会覆盖 `robot.urdf`:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd /home/xtkuang/Projects/cmvr/RL/cmvr_ai_lab
|
|||
|
|
|
|||
|
|
/home/xtkuang/App/anaconda3/envs/engineai_lab/bin/python \
|
|||
|
|
scripts/gen2_generate_simplified_collisions.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
它会更新两份 simplified URDF 和 `meshes/collision_simplified/`,审计 CSV 写入 `outputs/gen2_asset_audit/`。
|
|||
|
|
|
|||
|
|
生成后必须执行:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
/home/xtkuang/App/anaconda3/envs/engineai_lab/bin/python \
|
|||
|
|
scripts/gen2_check_rl_readiness.py
|
|||
|
|
|
|||
|
|
/home/xtkuang/App/anaconda3/envs/engineai_lab/bin/python \
|
|||
|
|
scripts/gen2_visualize_collisions.py
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
静态检查期望 `RESULT=PASS`,且 pelvis/torso 高度目标不能显示 `unknown`。可视化 PNG 写入 `outputs/gen2_asset_audit/`,不写回资产包。
|
|||
|
|
|
|||
|
|
## 修改约束
|
|||
|
|
|
|||
|
|
1. `robot.urdf` 是生成源,先在这里确认 link、joint、limit、mass、inertia 和 mesh。
|
|||
|
|
2. 不要直接手改生成的 simplified URDF 后忘记同步生成脚本。
|
|||
|
|
3. 训练前检查 29 个 link、28 个 joint、全部 mesh 引用和 q0 脚底高度。
|
|||
|
|
4. 历史 `logs/**/params/env.yaml` 中的旧绝对路径只是训练快照,不要批量改写。
|
|||
|
|
5. 供应商原始压缩包放在仓库 `third_party/gen2/`,不进入运行时 wheel。
|