Harrysunshine/so101-sim-pickplace-v2
Updated • 66
How to use Harrysunshine/so101-dm05-lora-sim-real-10task with PEFT:
from peft import PeftModel
from transformers import AutoModelForCausalLM
base_model = AutoModelForCausalLM.from_pretrained("Dexmal/DM05")
model = PeftModel.from_pretrained(base_model, "Harrysunshine/so101-dm05-lora-sim-real-10task")在 Dexmal/DM05 上做 LoRA 微调得到的 SO-101 单臂策略: 输入顶视 + 腕部两路相机画面、当前 6 维关节状态和一句任务指令,输出 50 步动作块。
仿真与真机混成一份,共 3698 集 / 1,280,507 帧 / 10 个任务,全部 30 fps、640×480:
| 来源 | 内容 | 规模 |
|---|---|---|
| Harrysunshine/so101-sim-pickplace-v2 | 仿真三个抓放场景(cube40 / cube20 / cylinder40) | 1498 集 |
| ModelScope zhuzhuangtian/so101-pick-place-tasks | 真机遥操作,9 个任务 | 2200 集 |
RELATIVE,动作块长度 50在 Xbotics-SO101-Sim 的三个抓放场景各跑 50 局,
成败取环境自带的 is_success(物体落在料箱范围内、手臂不碰物体、手臂不碰料箱、机器人静止),每局上限 500 步:
| 场景 | 成功 | 95% 置信下界(Clopper-Pearson) |
|---|---|---|
| cube40(4 cm 方块) | 47/50 = 94% | 0.835 |
| cube20(2 cm 方块) | 47/50 = 94% | 0.835 |
| cylinder40(罐子) | 46/50 = 92% | 0.808 |
失败大多是「抓起来了但没放进料箱 / 放晚了」,不是抓不住。实物一侧没有测。
需要 dexbotic 框架。适配器里记录的底座是 Dexmal/DM05,
加载时会自动下载。起推理服务:
python playground/dm05_so101_xbotics.py --task inference \
--model-config.model-name-or-path <本仓下载目录> --inference-config.port 7891
⚠️ 推理服务已经把相对动作加回当前状态,返回的是绝对关节角(五个臂关节为度,夹爪为 0–100 行程百分比)。 调用方直接下发即可,再加一次状态会让动作翻倍。
完整的数据准备、训练与仿真评测流程见 dexbotic 的 docs/so101.md,教学示例见
Xbotics-Dexmal-Workshop。
适配器随底座 Dexmal/DM05 采用 Gemma 许可。
Base model
Dexmal/DM05