Isaac Lab v2.0 AMPヒューマノイドロボット強化学習
1.はじめに
以前、Isaac Lab v1.0での初期セットアップと四足歩行ロボットの学習をご紹介させていただきましたが、本記事では、Isaac Lab v2.0で新学習タスクとして追加されたAMP(Adversarial Motion Priors)によるヒューマノイドロボットの強化学習をご紹介させていただきます。
2.AMPとは
AMP(Adversarial Motion Priors)は、従来の強化学習(Reinforcement Learning, RL)において難易度の高かった自然な動作の獲得を目的とした、新しい学習手法です。 特にヒューマノイドロボットのように高自由度かつ動作のバリエーションが豊富なエージェントにおいて、AMPは従来の報酬設計型RLと比べて、より自然で安定したモーションの学習を可能にします。
2.1 従来の強化学習でヒューマノイドロボットの学習を行う際の課題
従来のヒューマノイド制御では、歩行・走行・ジャンプといった運動タスクを解くために報酬関数を手作業で設計する必要がありました。
しかしこの報酬設計には以下のような課題があります:
・ ロボットが「速く進む」ために不自然な姿勢や挙動(バタバタ走るなど)を学習してしまう
・ 微妙な姿勢制御や接地タイミングなど、人間にとって自然でも定式化しにくい要素が多い
・ 複雑な動作(例:方向転換しながら走る、片足でバランスを取る)では報酬のチューニングが破綻しやすい
このように、タスク達成を優先するあまり、「人間らしさ」が失われやすいという根本的な問題がありました。
2.2 AMPを使ったヒューマノイドロボットの学習
AMPでは、あらかじめ用意された人間のモーションデータ(Mocap)を元に、「人間らしい動きとは何か?」を学習済みの判別器(Discriminator)を通して表現します。
学習の構造
AMPでは次の2つのモデルが同時に学習されます:
1.ポリシーモデル(Actor / RL Policy)
・ 環境においてロボットを動かす強化学習モデル
・ 目的:人間らしく見える動作を学習する
2.判別器モデル(Discriminator)
・ 人間の動作と、現在のロボットの動作を比較する
・ 目的:入力されたモーションが「本物(人間)か」「偽物(ロボット)か」を判別する
この2つは敵対的(Adversarial)な関係にあります。
ロボット側のポリシーは「判別器に騙される」ような自然な動作を生成しようとするため、結果的に非常に滑らかで現実的な運動を学習することができます。
AMPの利点
・ 報酬関数が不要:人手による調整が激減
・ 自然なモーションが得られる:接地やバランスなども表現できる
・ 多様なモーションに対応:歩行、走行、スピン、ダンスなど
2.3 通常のRLとの違い
3.Isaac LabのAMPヒューマノイドロボット強化学習
最近のv2のアップデートでは、AMPを用いたヒューマノイドロボットのタスクとして、以下のものが提供されました。
・ Isaac-Humanoid-AMP-Walk-v0 : 歩行学習
・ Isaac-Humanoid-AMP-Run-v0 : 走行学習
・ Isaac-Humanoid-AMP-Dance-v0 : ダンス学習
これらはいずれも、.npz形式のモーションデータを用いて訓練されます。
学習に利用するモーションデータを可視化
そこで、これらのAMPタスクを用いたヒューマノイドロボットの学習を試してみました。
まずは、これらのタスクのパラメータをデフォルトの状態にて、一度学習させ、実行しました。
デフォルトパラメータでの学習
パラメータがデフォルトの状態だと、Walkは人間のような動作で歩いていることが確認できましたが、DanceとRunはそもそもヒューマノイドロボットが立ち続けるためのバランスを取ることすら難しい状態でした。しかし、3つすべてに共通して、モーションに近い動作を行おうとしていました。
続いて、デフォルトの状態では全く走ることに成功しなかったIsaac-Humnaoid-AMP-Run-v0タスクの強化学習パラメータの調整を行い、従来より実装されていたHumanoid-v0というヒューマノイドロボットを走らせるタスクとの比較も行いました。
従来より実装済みの走行タスクとAMP走行タスクの比較
Humanoid-v0は走行するという目的は成功していますが、終始人間からかけ離れた動作で走行しておりました。一方で、Isaac-Humanoid-AMP-Run-v0は、モーションに近い動作で走行し、人間に近い走り方ができていることを確認しました。従来の強化学習でのヒューマノイドロボットの走行を人間に近しいような走らせ方に寄せるためには、2.1で挙げたような報酬設計の課題があり、なかなか学習が難しいですが、AMP学習を使うことで、少しのパラメータ調整で人間のような走行をさせることができました。
4.まとめ
今回の記事では、Isaac Lab v2.0で追加実装されたAMPヒューマノイドロボット強化学習についてご紹介させていただきました。AMP学習を扱うことで、本来ヒューマノイドロボットの強化学習では困難だった自然な挙動や複雑な動作を、モーションデータを通じて学習させやすくなっております。まだ現状では、モーションデータの準備がネックになると思いますが、準備できる環境が整うと、AMPヒューマノイドロボット強化学習はより扱いやすくなってくる技術だと考えております。
富士ソフトでは、Isaac Labを用いた強化学習の開発実績(産業機器や四足歩行ロボットなど)があります。また、これからのヒューマノイドロボットに注目しており、日々、ヒューマノイドロボット技術の調査・研究も進めております。Isaac Labを用いた開発については、ぜひ富士ソフトへご相談ください。