実験レポート:Antロボットの強化学習による歩行獲得
1. 実験目的
本実験では、MuJoCo物理シミュレータ環境における4足歩行ロボット(Ant)に対し、深層強化学習アルゴリズム PPO(Proximal Policy Optimization)を適用し、転倒を回避しながら効率的に前進する「歩行動作」の獲得を目指しました。
20万ステップの学習を行い、運動能力を獲得できるか検証しました。
2. 技術的仕組み
2.1 アルゴリズム: PPO (Proximal Policy Optimization)
- 方策勾配法の一種であり、学習の安定性と効率性のバランスに優れています。
- Stable-Baselines3 ライブラリを使用し、MLP(多層パーセプトロン)方策を採用しています。
2.2 環境: Gymnasium Ant-v5
- 状態空間: 関節の角度、角速度、重心の高さ、体の傾きなど。
- 行動空間: 4本の脚(計8つの関節)に対するトルク制御。
2.3 報酬関数 (Reward Function)
以下の要素の合算により、ロボットに望ましい挙動を学習させます。
-
前進報酬 (
forward_reward): x軸方向への移動距離。 -
生存報酬 (
healthy_reward): 転倒せずに生存し続けるインセンティブ。 -
制御コスト (
ctrl_cost): 過度な力(エネルギー消費)に対するペナルティ。 -
接触コスト (
contact_cost): 外部との不適切な接触に対するペナルティ。
3. 実験設定
- 総学習ステップ数: 200,000ステップ
- 学習環境: MuJoCo 3.x / Gymnasium
4. 結果の解析
4.1 学習曲線の解析
グラフの見方
- 横軸 (X-axis: Timesteps): 総シミュレーション・ステップ数。学習が進む時間経過を表します。
- 縦軸 (Y-axis: Episode Reward): 1エピソード(開始から転倒またはタイムアップまで)で獲得した合計報酬。
- 青い点 (Raw Data): 各エピソードごとの生データ。強化学習の特性上、試行錯誤するため変動が激しいのが特徴です。
- 赤い線 (Moving Average): 直近10エピソードの移動平均。学習の全体的な傾向(平均的な上達具合)を示します。
数値の意味
- マイナスの値 (-500〜-1000): 開始直後に転倒し、生存報酬より転倒ペナルティが上回っている状態です。
- プラスの値 (+30〜+50): 転倒せず一定のリズムで前進し続けている状態です。Antロボットにおいて、プラス圏での安定は「歩行の獲得」を意味します。
4.2 挙動の分析 (Before & After)
| 学習フェーズ | 挙動の特徴 | GIF動画 |
|---|---|---|
| 学習前 (Initial) | 脚をランダムにバタつかせるだけであり、数歩も進めずに転倒する。 | ![]() |
| 学習後 (Trained) | 4本の脚を協調させ、重心を安定させながら力強く前進する。 | ![]() |
観察された特徴
- 低重心の維持: 転倒ペナルティを回避するため、まずは重心を低く保つ戦略を取っています。
- 脚の協調運動: 単なるランダムな動きではなく、交互に脚を出し、地面を蹴って進む様子が確認できます。
- 継続的な改善: 10万ステップ時点(初期実験)では「にじり寄る」程度だったが、20万ステップを超えると「リズミカルな歩行」へと進化しています。
5. 結論
本実験により、Antロボットは強化学習を通じて、物理法則に即した複雑な多脚歩行動作を自律的に獲得できることが確認されました。特に学習ステップ数を増やすことで、報酬が指数関数的に向上し、動作の質(速度と安定性)が劇的に改善されることが実証されました。


