UR5e task0 — デモ、学習、推論

LIBERO object の task 0「alphabet soup をカゴに入れる」。開ループで作った 50 本を π0.5 LoRA で学習し、同じ 50 初期状態を閉じたループで評価した。

カゴ内 50/50。LIBERO 公式の check_success() は 13/50。公式判定が偽の回も、缶はカゴの中(水平距離は最大 4.7 cm)にある。

学習条件

タスクpick up the alphabet soup and place it in the basket(libero_object task 0)
ロボットUR5e + Robotiq 85。制御は OSC、行動 7 次元(並進 3、回転 3 は 0、グリッパ 1)
デモ開ループ成功 50 本。各 140 ステップ、20 Hz、7 秒。合計 7000 フレーム
初期状態LIBERO の init 0–49。物体配置は Franka の初期状態から写し、腕はホバー姿勢
状態手先位置 3 + 軸角 3 + グリッパ関節の先頭 2 = 8 次元
画像agentview と wrist、256×256。保存時に正立へ反転。色ジッタなし(appearance a)
事前学習π0.5 LIBERO(pi05_libero_pytorch)
更新LoRA r=16、α=32、dropout 0.05。対象は q, k, v, o, gate, up, down。学習パラメータは全体の 0.81%
最適化AdamW、勾配クリップ 1.0。バッチ 4。10000 ステップ。学習率 5e-5(warmup 1000、cosine の終端も 5e-5)
ノイズプロプリオ・行動のガウシアンノイズはオフ
実行p-ws-40 の GPU 1(RTX 6000 Ada)。1 ステップ約 2.2 秒
記録最終ログの loss 0.00136(9900 ステップ)。チェックポイントは 10000。WandB

推論条件

方策上の 10000 ステップ LoRA を重みへマージし、p-ws-40 GPU 1 で websocket 配信
シミュレータ手元の LIBERO。UR5e、閉じたループ。タスク文をプロンプトにする
長さゼロ行動で 10 ステップ整定したあと、方策を 140 ステップ(20 Hz、7 秒)
再計画行動ホライズン 10 のうち先頭 5 ステップを実行してから再推論
観測正立の 256 画像 2 枚と、学習と同じ 8 次元状態。サーバ側で 224 にリサイズし、分位点で正規化
初期状態学習と同じ init 0–49
カゴ内水平距離 10 cm 以内、開始位置から 5 cm 以上動き、高さがカゴ床 + 1 cm 以上
公式成功LIBERO の check_success()
結果カゴ内 50/50。公式成功 13/50(init 1, 3, 9, 11, 12, 13, 14, 16, 25, 30, 34, 35, 46)

デモ動画

学習に使った開ループのうち 4 本。agentview、20 fps、7 秒。画像は正立。

init 0
init 1
init 14
init 35

推論動画

上の 50/50 は評価の結果。ここにある 4 本はその後の録画で、どれも缶はカゴの中。公式判定はクリップに書いた通り。

init 0 カゴまで 1.2 cm 公式判定 真
init 2 カゴまで 1.5 cm 公式判定 偽
init 8 カゴまで 3.6 cm 公式判定 偽
init 37 カゴまで 0.9 cm 公式判定 真