TT Lab
ブログ

한국어 English 日本語 中文

はじめる
ブログ

ブログ

卓球アーム強化学習:基準線を超えたが、利得の大部分は学習によるものではなかった

ステータス:下書き(2026-10-18)、実測。すべての成功率はシミュレーター内の値であり、カメラ周期・遅延・ノイズと回転ヒントの精度は仮定値です。 学習は2026-10-18にホームラボのKubernetesのGPUノード1台(ノートPC用RTX 4060が1枚)で一時Podとして行いました。Podのリソース上限はCPU 6コア・メモリ4 GiBであり、同一ノードの他のサービスとリソースを共有しました。 環境はMuJoCo 3.16.0、MuJoCo Warp(warp-lang 1.18.0)、Python 3.11、PPO(隠れ層256)です。物理条件は第2・5話と同様です(タイムステップ0.5 ms、ラケット剛性4e6)。 評価は学習用ボールと分離した評価用ボール500個(第5話の基準線と同じseed 0のサンプル)を使用し、ランダム化なしのDeepMindデフォルト物理で行いました。RLは3シードの中央値であり、括弧内はシードの最小〜最大です。基準線と名目プランナーは決定的であるため1回のみ実行しました。 生データ(学習ログ、評価結果、記録された軌道、Warpの比較)は作業ディレクトリ measure/sim-tt-rl/ にあります。

目次

1. 直感:何を学ばせるべきか

強化学習で卓球を教える方法には大きく分けて2つあります。1つ目は ロボットの関節を直接 動かす方法です。ポリシーが毎ステップ関節目標を出力し、ボールの打ち方を自力で見つけます。 もう1つは、 古典的制御が得意なことは任せ、判断のみを学習させる 方法です。逆運動学・軌道・関節制御はそのままにして、ポリシーは「いつ、どのような角度で、どれほど強く打つか」といった打撃パラメータのみを選択します。

「卓球ロボットアームの基礎」第13話(報酬と行動空間、 ../robot-arm-basics/13-reward-and-action-space.md)では振り子ラケットでこの2つを比較し、ハイブリッドは早く学習するものの予測器が回転を知らなければに行き詰まると示されました。 今回は第5話の実寸大ロボット(ガントリー2軸+手首2軸)と公開されたボールの分布において同じ問いを投げかけました。

2. 実験設計

方法 ポリシーの出力 学習
古典的基準線 なし(第5話のプランナー) なし
ハイブリッド名目 なし。打撃パラメータを安価な解析式で定め、関節限界を超える解は諦めず限界内にクリップして実行 なし
RL (a) ハイブリッド 決定ごとに法線yaw・pitchの補正、面速度、打撃時刻、ラケット中心x・zの補正。実行は解析的IK・5次軌道・PD PPO、100万決定、CPU
RL (b) 関節直接 100 Hzで関節の目標位置・速度。PDと限界のみを通過 PPO、2億5000万決定、GPU(MuJoCo Warp、4,096ワールド)

3. 結果

반환 성공률: 이득의 대부분은 새 계획기에서 왔다 평가 공 500개, 시뮬레이터 안. RL 은 3시드 중앙값(랜덤화 없음·지연 학습은 1시드). 0% 25% 50% 75% 100% 참 상태 고전 기준선 61.6 하이브리드 명목(학습 없음) 83.2 RL (a) 하이브리드 84.8 명목 + 회전 힌트(학습 없음) 83.2 RL (a) + 회전 힌트 84.2 RL (b) 관절 직접 75.6 RL (b) 지연 0–120 ms 학습 74.4 RL (b) 랜덤화 없음 2 120 Hz·30 ms 고전 기준선 59.2 하이브리드 명목(학습 없음) 80.6 RL (a) 하이브리드 83.8 명목 + 회전 힌트(학습 없음) 80.6 RL (a) + 회전 힌트 83.4 RL (b) 관절 직접 76.2 RL (b) 지연 0–120 ms 학습 73.4 RL (b) 랜덤화 없음 72.6 120 Hz·100 ms 고전 기준선 26.6 하이브리드 명목(학습 없음) 53.6 RL (a) 하이브리드 58.2 명목 + 회전 힌트(학습 없음) 66.6 RL (a) + 회전 힌트 68.6 RL (b) 관절 직접 29.6 RL (b) 지연 0–120 ms 학습 52 RL (b) 랜덤화 없음 0
図:方法および条件別の返球成功率
方法 真の状態 120 Hz・30 ms 120 Hz・100 ms
古典的基準線 61.6% 59.2% 26.6%
ハイブリッド名目(学習なし) 83.2% 80.6% 53.6%
RL (a) ハイブリッド 84.8%(84.4–85.0) 83.8%(82.8–83.8) 58.2%(58.0–59.0)
名目 + 回転ヒント(学習なし) 83.2% 80.6% 66.6%
RL (a) + 回転ヒント 84.2%(84.0–84.2) 83.4%(83.0–83.4) 68.6%(67.4–69.0)
RL (b) 関節直接(Warp) 75.6%(75.2–76.0) 76.2%(75.8–78.4) 29.6%(12.8–38.6)
RL (b) 遅延0〜120 msで学習 74.4% 73.4% 52.0%
RL (b) ランダム化なしで学習 2.0% 72.6% 0.0%
RL (b) CPU版(30分学習) 0.0% 0.0% 0.0%

(遅延0〜120 ms学習、ランダム化なし、CPU版は1シードです。)

3.1 正直な読み取り:利得はどこから来たのか

3.2 関節を直接学習するRL

3.3 同じボール、3つの方法

評価用ボール21番を120 Hz・30 ms条件で記録した軌道(5 ms間隔)で再描画しました。画像をクリックすると3倍速く再生されます。

같은 공, 세 방법: 옆에서 본 공과 라켓 평가 공 21번, 카메라 120 Hz·지연 30 ms 조건, 기록된 궤적(5 ms 간격). 3배 느리게. ▶ 누르면 재생 고전 기준선 계획 실패 (관절 한계 밖) 하이브리드 명목(학습 없음) 반환 성공 RL (a) 하이브리드(학습 후) 반환 성공 가로축은 탁자 길이 방향(로봇 쪽 끝선 뒤 점선이 타격면), 빨간 선분은 라켓 면입니다.
図:同じボールに対する基準線、名目プランナー、学習後ハイブリッドの軌道

基準線は0.2 sでプランニングを行おうとする関節限界外のため諦めてラケットを動きません。名目プランナーと学習後ハイブリッドは同じボールを相手コートに返球します。2つの軌道がほぼ同じであることが3.1節の話そのものです。

3.4 残された失敗

4. GPUが必要だった理由:MuJoCo Warp

関節直接RLはサンプルを大量に消費します。CPU版(プロセス6個)は30分間で1,750万決定を学習しましたが、成功率は0%にとどまりました。同じ環境をMuJoCo Warpに移行し、GPU 1枚で4,096ワールドを同時に実行しました。

학습 곡선: 벽시계 시간 대 학습 중 성공률 학습 분포(랜덤화·탐색 잡음 포함)에서 잰 최근 회차 성공률. 시드별 선. 0 25 50 75 100 0 30 60 90 120 150 벽시계(분) RL (a) 하이브리드 RL (a) + 회전 힌트 RL (b) 관절 직접 RL (b) 지연 0–120 ms RL (b) 랜덤화 없음 RL (b) CPU 판 CPU 판은 30분 동안 0%. Warp 판은 2.5억 결정에 39–62분.
図:学習曲線
実行 決定数 学習時間 物理ステップ/s(中央値) 学習中の最後の成功率
RL (a) ハイブリッド(CPU、3シード) 100万 60.5〜145.6分 59,526–115,518 75.0–75.8%
RL (b) CPU版 1,750万 30.0分 214,169 0.0%
RL (b) Warp(3シード) 2億5000万 41.5〜62.0分 1,833,179–2,393,369 63.5–65.5%
RL (b) Warp、遅延0〜120 ms 2億5000万 39.3分 2,498,807 50.7%

(物理ステップはdt 0.5 msのMuJoCoステップです。学習中の成功率はランダム化と探索ノイズが混ざった学習分布で測定した値であるため、第3節の評価値とは異なります。ハイブリッドの学習時間がシードごとに異なるのは、同一ノードの他の作業とCPUを共有したためです。)

Warpに移行しても同じ物理挙動であるかを事前に確認しました。

5. 実行中に起きたこと

学習Podは kubectl run --rm -i で起動しました。コンテナの終了時にPodが自動的に削除されるようにするためでした。しかし最初のPodは、約4時間後にアタッチ接続がTLSエラーで切断され、その瞬間に --rm が 学習中のPodを削除しました。 その後はコンテナが1分ごとに1行ずつ出力して接続を維持し、結果は10分ごとに外部に取り出しました。Podには最大実行時間(activeDeadlineSeconds)を設定し、最後の安全装置としました。同じノードで他のサービスが稼働しているため、メモリの上限を4 GiBとし、ノードの空きメモリを10分ごとに記録しました(記録した37回のうち5,099〜8,685 MBの余裕)。

6. 未実測

7. 次回へ

次回は、低いボールと作業スペースを広げる奥行き軸をロボットモデルに追加し、同じ評価を再度実行することです。実際の映像で物理と審判を合わせる話は 第8回にあります。

TTの一言。 強化学習がベースラインを大きく上回って喜んでいましたが、ふたを開けてみるとその大部分は学習なしの新プランナーのおかげでした。「学習による取り分」と「設計変更による取り分」を分けて計測してこそ、真の実力が見えてきます!

参考文献

すべてのリンクは2026-10-18時点でのアクセスと閲覧を確認しています。

ログインするといいねできます

コメント

まだコメントはありません。

ログインするとコメントできます