ステータス:ドラフト(2026-10-18)、実測。 数値はノートパソコン(Apple M1 Max、macOS 26.5)のPython 3.9.6・numpy 2.0.2で計算したシミュレーション値です。 生データとコード:作業ディレクトリ
measure/robot-arm-basics/のm10_learn.py,out/m10_learn.json。「現実世界」もシミュレーションであり、実際のロボット実験はありません (ハードウェア未実測)。論文の数値はそれぞれの原文(arXiv版は版番号を表記)から確認しました。参考資料は2026-10-18に閲覧しました。 作成ルール:実測データが基本であり、測定できなかったものは「未実測」、確認できなかったものは「未確認」と表示します。
目次
- 1. 直感:分かることは計算し、分からないことは学ぶ
- 2. 図:4つのシステムの境界
- 3. 論文の比較
- 4. 実測:同じ疑問を小さな問題に
- 5. どこに境界を引くか:本シリーズの提案
- 6. 制限事項
- 7. 第1部を終えて
- 参考文献
1. 直感:分かることは計算し、分からないことは学ぶ
第1〜9篇はいずれも方程式でした。ボールの飛行はニュートンの法則、ラケットの姿勢は幾何学、軌道は多項式、制御は逆力学でした。方程式はデータなしで初球から 動作し、なぜ間違っていたのかを説明できます。その代わり、 モデルが間違っている分だけ正確に間違えます。 第7篇では、ラケットの反発係数が0.05ずれると、着地点が13 cm逸れました。
強化学習(reinforcement learning, RL)はその逆です。モデルなしで試行錯誤によって学習するため、モデルの誤りに縛られませんが、多くの試行が必要であり、何を学習したのかを内部まで把握することが困難です。
卓球ロボットを開発した研究はいずれもこの2つを組み合わせます。問題は「組み合わせるかどうか」ではなく、**「どこに境界を引くか」**です。
2. 図:4つのシステムの境界
3. 論文の比較
それぞれの原文を開いて確認した構成です。数値の横の条件が互いに異なるため、直接比較することはできません。
| Müllingら(2013年) | Koçら(2018年) | Büchlerら(2022年) | D'Ambrosioら(2024年) | |
|---|---|---|---|---|
| ロボット | Barrett WAM 7自由度 | Barrett WAM 7自由度 | 空気圧人工筋肉8個で動く4自由度アーム | ABB IRB 1100 6自由度 + リニアガントリー2軸 |
| 認識 | カメラ4台 60 Hz | カメラ4台 60 Hz | ボールの位置 180 Hz | カメラ2台 125 Hz |
| ボールの予測 | EKF(重力・抗力、回転は無視) | EKF + 飛行モデル | モデル(学習中のボールはシミュレーション) | フィルター(リアルタイムの飛行予測は行わない) |
| 打撃の決定 | 混合運動プリミティブ(MoMP)が状況に合ったプリミティブを選択して組み合わせる | 打撃の時刻と位置を同時に最適化 | PPOポリシーがすべて | 高水準コントローラーが打球ごとに技術を1つ選択 |
| 動作 | 人間が腕を持って教えた25個の動作(DMP) | 関節ごとに3次多項式最適軌道 | PPOが筋肉の圧力変化を100 Hzで制御 | 技術17個、それぞれ約1万パラメータのCNNが関節速度を50 Hzで制御 |
| 学習に任せた部分 | プリミティブ選択の重み(RL)、動作の形状(デモンストレーション) | ボールモデルの定数の推定(デモンストレーションデータ) | アーム制御のすべて | 技術(シミュレーションで進化戦略系のBGSで学習) + 技術選択 |
| 報告された結果 | 実機での返球率 69% → 97%(150回の学習後)、対人戦 74.4% → 88% | 実機での返球率:固定打撃平面 約10〜40%、提案手法 約40〜60%(設定により80〜90%) | 返球率 75%(107回)、スマッシュ率 29%(128回、平均約12 m/s) | 29人の人間との29試合で13勝(45%):初級 7/7、中級 6/11、上級以上 0/11 |
まとめると、境界が右に行くほど学習の占める割合が大きくなります。
- Müllingらは物理(EKF予測)と動作の形状(デモンストレーション)をそのままにし、「どの動作をどのくらい組み合わせるか」のみを強化学習で修正しました。150回打つことで返球率を69%から97%に向上させました。
- Koçらは学習をほとんど使わず、ボールモデルの定数を人間のデモンストレーションデータから推定した上で、軌道を最適化によって解きます(最適化にかかる時間は平均25 ms)。第1篇で述べた固定仮想打撃平面の限界を最適化によって克服した事例です。
- Büchlerらは空気圧筋肉のようにモデル構築が難しいアームにおいて、事前知識なしでゼロから学習しました。ボールは実際には飛ばさず、記録した軌道100個をシミュレーションで再生し(HYSR)、アームは実際に動かしました。返球タスクに約1万5千回、約14時間を費やしました。
- D'Ambrosioらは技術の1つひとつをMuJoCoシミュレーションで学習させ(勾配を使用しない進化戦略系のBGSを使用し、PPOやSACよりも動作が滑らかであったと記述されています)、リアルタイム処理では飛行モデルを実行しません。その代わりに、技術を選択する高水準コントローラーに回転分類器、技術ごとの性能記録、手動ルール、対戦相手ごとの選好学習を組み合わせています。選択された技術は20 ms以内に決定されます。
モデルを学習によって補正するアプローチもあります。Sony AI(2026年)は、ボールの抗力・マグナス効果・バウンドモデルを、カメラ9台で収集した約5.8万個の軌道データを用いて再調整し、ラケットモデルには物理式のうえにニューラルネットの残差を追加しました。これにより、着地点の中央誤差が基準モデルの0.37 mから0.15 mに減少したと報告されています。
4. 実測:同じ疑問を小さな問題に
論文の結果はロボット、ボール、評価方法がすべて異なるため、「境界をどこに引けば何回打つ必要があるか」を直接比較することはできません。そこで、第1篇の打撃問題をそのまま持ち込み、小さな実験を行いました。
設定。 「現実世界」のラケットはモデルとは異なります。反発係数 e = 0.72(モデルは0.8)、接線速度保存率 k = 0.88(モデルは1.0、ラバーの摩擦により接線速度が12%減少)。ボールは第1篇のデータセットから選んだ実際の打球300個(学習用200、テスト用100)であり、目標は相手側の(0.3, 0.9)mの地点に0.6秒で落とすことです。
3つの手法。
- (a)方程式のみ: 公称モデル(e = 0.8, k = 1)を用いて第1篇の閉じた解を使用します。
- (b)物理定数のみ学習: N回打ちながら入ってきたボールと出ていくボールの速度を観測し(カメラのノイズ σ 0.05 m/s)、eとkの2つの数値を最小二乗法で再調整します。ラケットは引き続き閉じた解で計算します。法線方向の方程式がeに関して線形(v_out·n − v_r·n = e·(v_r·n − v_in·n))であるため、直ちに解くことができます。
- (c)モデルなしのポリシー探索: ボールの状態(速度3、位置2、定数1)を受け取り、ラケット法線の2つの角度とラケットの速度を出力する線形ポリシー(パラメータ18個)をクロスエントロピー法(CEM)で探索します。1世代あたり40個の候補を用意し、候補ごとにボールを10回打たせて平均着地誤差で順位をつけます。
# (b) 한 번 칠 때마다 e, k 를 최소제곱으로 다시 맞춘다
n, vrn = racket_general(V, v_out_wanted, e, k) # 지금 추정값으로 닫힌 해
vout = true_racket(V, n, vrn) # 실제 세계(모델과 다름)
Vm, Om = V + noise(), vout + noise() # 관측
A_e.append(vrn - Vm @ n); b_e.append(Om @ n - vrn) # e 에 대해 선형인 식
e = dot(A_e, b_e) / dot(A_e, A_e)
| 手法 | 打球数 | テスト着地誤差の中央値 |
|---|---|---|
| (a)方程式のみ(公称モデル) | 0 | 24.5 cm(90% 29.3) |
| (a')方程式 + 正確な定数(参考) | 0 | 0.0007 cm |
| (b)物理定数のみ学習 | 1 | 2.1 cm |
| 3 | 1.8 cm | |
| 10 | 1.3 cm | |
| 30 | 0.77 cm | |
| 100 | 0.33 cm | |
| (c)線形ポリシー CEM | 2,000 | 129 cm |
| 8,000 | 25.0 cm | |
| 16,000 | 30.6 cm | |
| 24,000 | 25.4 cm |
(b)は10個のシードの中央値であり、100回打った後に推定されたeは0.720、kは0.876でした(真値は0.72、0.88)。
- 境界を適切に引くことで、学習コストは驚くほど安くなります。 分からないことが数値2つだけであることを方程式が教えてくれるため、ボールを1回打つだけでも誤差が24.5 cmから2.1 cmに減少しました。
- モデルを捨てるとコストが高くなります。 同じ問題をモデルなしで解いた場合、2,000回打っても1 m以上逸れ、8,000回以降も25 cm付近から改善しませんでした。線形ポリシーは「ボールの速度 → ラケットの角度」という非関係を十分に捉えきれないためです。ポリシーをニューラルネットワークに拡張すれば改善するでしょうが、その分だけより多くの試行が必要になります(未実測)。
- 実際のロボットにおいてボールを2万回打つというのは、人間がボールを拾う時間だけでも1日を超えます。Büchlerらがボールをシミュレーションで再生したこと、D'Ambrosioらが技術をシミュレーションで学習したことは、まさにこのコストが原因です。シミュレーションで学習した場合、今度はシミュレーターの定数が間違っている分だけ現実とずれが生じるため、結局のところ再び「モデルをデータで調整する作業」に戻ることになります(Sony AI 2026)。
この実験は意図的にシンプルにされています。現実世界もシミュレーションであり、モデルと異なる点が「モデル内の定数」であるため、(b)に有利に働いています。モデルの 形式そのものが間違っている 場合(例:ラバーが回転をかける効果をモデルがまったく把握していない)、定数をどのように調整しても残差が生じることになり、その残差を学習するのがSony AI(2026)のニューラルネット残差です。
5. どこに境界を引くか:本シリーズの提案
オープンハードウェアの最初のロボットに向けた出発点として、以下を提案します。実験によって変更される可能性があります。
| 段階 | 初期状態 | 学習を追加する箇所 |
|---|---|---|
| ボール予測(第6篇) | EKF + 物理モデル | 抗力・マグナス効果・バウンド定数を自社のボール・テーブルのデータで再調整する。回転の推定 |
| 打撃決定(第7篇) | 射撃法 + 反発モデルの閉じた解 | ラケットの反発定数を調整(本記事のb)、その後にモデル残差 |
| 逆運動学・軌道(第4・8篇) | 解析解 + 5次多項式 / 時間最適化 | ほとんど不要 |
| 制御(第9篇) | PD + 逆力学フィードフォワード | 慣性・摩擦定数の同定、反復学習制御(同じ動作を繰り返してフィードフォワードを修正する) |
| 戦略(どこに打つか) | 固定目標点 | 強化学習。対戦相手に応じて変化する部分であるため、方程式で記述することは難しい |
原則は1つだけです。 方程式が「何を分からないのか」を絞り込むことができれば、その絞り込まれた部分のみを学習する。 モデル構築が難しいアクチュエータ(空気圧筋肉)や正解のない判断(戦略)は、最初から学習に任せる方が得策です。
6. 制限事項
- CEMは強化学習の中で最もシンプルな部類に入るポリシー探索です。PPOのような勾配ベースの手法、ニューラルネットポリシー、シミュレーション事前学習後の実機微調整とは比較していません(未実測)。
- 「現実世界」の差異を2つの定数のみで表現しました。回転、ボールの個体差、観測遅延が存在する世界における比較は未実測です。
- Büchler らの数値は arXiv v1 基準です。T-RO 2022 最終版の数値は確認できていません(未確認)。Mülling ら 2011 の生体模倣アプローチの原典を開けなかったため、4段階の動作区別は 2013 年論文の図の説明でのみ確認しました。
7. 第1部を終えて
10回にわたってボールを1打つための7つのステップを計算でたどってきました。オープンハードウェアに移行する際に覚えておくべき数値をまとめると以下のようになります。
| 数値 | 値 | 編 |
|---|---|---|
| ボールがエンドラインに到達するまで | データセット中央 0.65 s、12 m/s のボール 0.32 s | 1 |
| 予測誤差の主な原因 | 回転不明 5 cm、回転判明 0.5 cm | 6 |
| ラケット角度 1° / 速度 0.1 m/s / 反発 0.05 | 着地点 6 / 10 / 13 cm | 7 |
| 打ち返すために必要な関節速度 | 約 10 rad/s(人間のように打つ場合は約 25) | 5 |
| スイング時間 | 0.05~0.1 s(加速度の限界 300~600 rad/s²) | 8 |
| 制御 | 1 kHz + フィードフォワード、電流ループ 1~2 kHz 帯域幅 | 9 |
| 関節のゼロ点 | 0.1° がラケットの方向 0.1~0.2° | 3 |
次のステップは、これらの数値を実際のパーツやシミュレータで再度測定することです。その前に、第11~15編では強化学習の原理(MDP、PPO、報酬設計と行動空間、シミュレーションから実機への移行、評価)をトイプロブレムで実際に実装しながら進めていきます。
ティティの一言。 すべてを学ぼうとするとボールを2万回打っても足りません。知っていることは方程式に任せ、知らない2つの数値だけを学ぶので、10回で十分でした!
参考
すべての資料は 2026-10-18 に閲覧しました。
- Mülling, Kober, Kroemer, Peters, Learning to select and generalize striking movements in robot table tennis, IJRR 32(3) (2013) 263–279, 著者公開版, 3.1~3.3 節、図 7。
- Koç, Maeda, Peters, Online optimal trajectory generation for robot table tennis, RAS 105 (2018) 121–137, 著者公開版, 6 節、図 11、表 A.3。
- Büchler, Guist, Calandra, Berenz, Schölkopf, Peters, Learning to Play Table Tennis From Scratch using Muscular Robots, arXiv:2006.05935 v1(T-RO 2022 最終版は未確認)。
- D'Ambrosio 他, Achieving Human Level Competitive Robot Table Tennis, arXiv:2408.03906, II・III 節、付録表 XIV。
- D'Ambrosio 他, Robotic Table Tennis: A Case Study into a High Speed Learning System, arXiv:2309.03315.
- Conti 他(Sony AI), Physics Models for Sim-to-Real Transfer in Professional-Level Robot Table Tennis, arXiv:2606.28805.
- Google DeepMind, competitive_robot_table_tennis, CC-BY 4.0.