2.6 KiB
2.6 KiB
Gen2 运行时资产
本目录是 engineai_lab Python 包内唯一的 Gen2 运行时资产位置。这样 editable 安装、wheel 安装和从其他工作目录启动时都会得到同一份 URDF 与 mesh。
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 使用相对路径:
../meshes/<link>_visual.stl
../meshes/<link>_collision.stl
../meshes/collision_simplified/<link>_box_collision.stl
不要写机器相关的绝对路径或旧的 source/gen2_lab 路径。
重新生成简化碰撞体
生成脚本不会覆盖 robot.urdf:
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/。
生成后必须执行:
/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/,不写回资产包。
修改约束
robot.urdf是生成源,先在这里确认 link、joint、limit、mass、inertia 和 mesh。- 不要直接手改生成的 simplified URDF 后忘记同步生成脚本。
- 训练前检查 29 个 link、28 个 joint、全部 mesh 引用和 q0 脚底高度。
- 历史
logs/**/params/env.yaml中的旧绝对路径只是训练快照,不要批量改写。 - 供应商原始压缩包放在仓库
third_party/gen2/,不进入运行时 wheel。