Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
Paper • 2303.04137 • Published • 6
How to use tenyyprn/so101-tidyup-diffusion with LeRobot:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
ID:Y-ORIHARA ・ Physical AI 講座 2026 応用編1 最終課題
低価格ロボットアーム SO101 が、机の上の黒いスポンジを白い箱へ片付ける Diffusion Policy です。LeRobot 0.6.1 で学習しました。
ACT と同じ 112 回分のお手本で学習し、同じ4つのランダム配置(マス ②④⑧、③④⑧、①⑤⑦、②⑤⑨)で各 5 回、計 20 回ずつ試しました。
| 指標 | ACT | Diffusion Policy(このモデル) |
|---|---|---|
| 2つのスポンジの「間」をつかんだ回 | 15 / 20 | 0 / 20 |
| 箱に入ったスポンジ | 29 / 60(48%) | 51 / 60(85%) |
| 3個とも片付けた回 | 3 / 20 | 15 / 20 |
| 項目 | 内容 |
|---|---|
observation.state |
関節角度 6 個(SO101 フォロワー) |
observation.images.top |
上のカメラ(Logicool C920)、640×480、手前・左の斜め上から作業エリア全体を見る |
observation.images.wrist |
手首カメラ(Inno-Maker U20CAM-1080P)、640×480 |
action |
関節角度の目標値 6 個 |
lerobot-rollout --strategy.type=base \
--policy.path=tenyyprn/so101-tidyup-diffusion \
--robot.type=so101_follower --robot.port=<フォロワーのポート> --robot.id=<キャリブレーション名> \
--robot.max_relative_target=10 \
--robot.cameras="{ top: {type: opencv, index_or_path: <上のカメラ>, width: 640, height: 480, fps: 30, fourcc: MJPG}, wrist: {type: opencv, index_or_path: <手首カメラ>, width: 640, height: 480, fps: 30, fourcc: MJPG} }" \
--task="Put all the black sponges in the white box" --duration=45
max_relative_target などで動きを制限し、すぐ止められる状態で試してください。