大阪電気通信大学

Isaac Labを用いた深層強化学習によるヒト型ロボットのモーション生成のための基礎的研究

概要

 本研究では、NVIDIAのIsaac Lab[1]を用いてヒト型ロボットのモーション生成を試みた.従来の手作業による時系列ごとに各関節の角度を指定するモーションの作成方法では時間や手間がかかる.また,モーション作成には多大な時間と労力がかかり,経験やセンスが必要とされる.このことから,関節の角度の微調整に時間を費やしても,最適なモーションを探索することは難しいという課題がある.そこで本研究では,Isaac Labを用いてシミュレーションを利用した深層強化学習によるモーションの生成を行い,生成したモーションを実際のロボットで再生する目標を達成するための基礎的研究を行う.具体的には,近藤科学社のヒト型ロボットであるKHR-3HV[2]を用いて,モーションを生成するためのタスクを,Isaac Labの見本のタスクの1つであるHumanoidタスク[3]を基に作成を行った.タスクを用いた学習の成果として,シミュレーション上でKHR-3HVモデルが歩行する動作パターンの生成を確認した.

タスクを用いた学習過程の様子

研究背景

 升谷研究室では,自律分散ロボットシステムの研究の一環として,ヒト型ロボットによるサッカー競技RoboCup SSL Humanoid[4]に,図1の近藤科学社のKHR-3HV[2]やROBOTIS社のMAX-E1[5]などのヒト型ロボットを用いて,ODENSというチーム名で参加している.

 これらのロボットは,関節にモータモジュール(一般にサーボと呼ばれる)を搭載し,角度指令を受けて動作する.しかし,ヒト型ロボットの特性として,多数の関節を協調的に動作させる必要があり,モーション作成が非常に難しい課題となっている.モーションとは,時間ごとに設定した関節角度を集めたデータの組のことである(図2).

 これらの理由から,モーション作成では,各関節の動作を細かく設定し,ロボットを動作させながら試行錯誤を繰り返す.このプロセスには多大な時間と労力がかかり,経験やセンスが必要とされる.また,微調整に時間を費やしても,最適なモーションを探索することは難しいという課題がある.

研究目的

 本研究の目的は,研究背景で述べた従来のモーション生成の手動作成プロセスを効率化し,深層強化学習を活用した計算だけでは生成困難なモーションの生成手法の可能性を探ることである.本研究の進捗段階を3つに分ける.

  1. シミュレーションを利用した深層強化学習
  2. シミュレーションで生成したモーションを実際のロボットで再生する
  3. 実際のロボット→シミュレーション

 本研究では,1を達成するための基礎的な研究を行う.この方法では,深層強化学習(DRL:Deep Reinforcement Learning)とGPUによる高速計算の組み合わせが鍵となる.そのため本研究では,NVIDIA Isaac Sim[6]上に構築されたロボット学習のための統合フレームワークIsaac Lab[1]を利用する.Isaac Simとは,実際のロボットを3Dシーンでデザインし物理的に正確にシミュレートすることができるシミュレータである.Isaac Labの特徴として,GPUを活用した物理シミュレーションと深層強化学習による,複数台のロボットの同時シミュレーションが可能な点である.そのため,複数の関節とパーツで複雑に構築されているヒト型ロボットのモーション生成に向いている.

深層強化学習

強化学習

 強化学習とは,意思決定の主体となるエージェントが,環境(タスク)と相互作用しながら累積報酬を最大化するために試行錯誤を繰り返してどのように意思決定をして行動すればよいかを学習する方法である(文献[7]より引用).

深層強化学習

 深層強化学習とは,強化学習の意思決定プロセスに深層学習を取り入れて学習させる方法である.強化学習よりも,複雑で高次元な状態空間や行動空間を扱い最適な行動方針が学習可能な点が特徴である.深層学習とは,人間の神経細胞(ニューロン)を人工的に再現したニューラルネットワークを,階層状に配置して人間の脳を再現したモデルを使用して学習させる方法である.

歩行動作のためのタスクの作成

タスク

 Isaac Labにおいてタスクとは,強化学習の処理の一式をまとめるクラスのことを指している.タスクは以下の計算を担当する[8].

  • シーンの作成
  • 報酬の定義
  • 観察の定義
  • 完了の計算とリセットの実行
  • 行動の適応

 Isaac Labでは,いくつものタスクの見本が提供されている[9].見本のタスクの1つであるHumanoidタスク[3]を基に,本研究の学習に使用するKHR3タスクの設計を行う.

Humanoidタスク

 Humanoidタスクとは,図4の等身大のヒト型のモデルに二足歩行で移動させるタスクのことである.このタスクの設定は,起立姿勢の状態で前方1000mの目標位置へ向かってできるだけ早く移動することを学習するものとなっている.

報酬の定義

 以下の7項目の合計した値がHumanoidタスクの報酬となっている.

  • (正)progress_reward: 目標位置へ前進した距離を評価する報酬.目標位置へ近づくほど高い報酬の値が与えられる.
  • (正)alive_reward: タスクを継続できている期間を評価する報酬.継続期間が長いほど高い報酬の値が与えられる.
  • (正)up_reward: 姿勢を直立していた期間を評価する報酬.
  • (正)heading_reward:目標位置方向へ進んでいるかの正確性を評価する報酬.
  • (負)actions_cost: エージェントが環境に対して,不必要に大きな行動の入力値を与えることを抑えるためのコスト.
  • (負)electricity_cost: ロボットモデルが過剰なエネルギー消費を抑えるためのコスト.
  • (負)dof_at_limit_cost: ロボットモデルの関節が可動範囲の限界に達することを防ぐためのコスト.

 正の報酬は,エージェントにロボットモデルが目標位置に近づくための理想的な振る舞いを学ぶ指標として機能する報酬である.負の報酬は、ロボットモデルの無駄なエネルギー消費や過剰な関節の動きを防ぎ、効率的かつ安全な行動を学習させるためのペナルティとして機能する報酬である.

KHR3タスクの作成

 本研究では,Humanoidタスクを基にヒト型ロボットKHR-3HVを対象とする新たなタスクを作成する.KHR-3HVに合わせてタスクのシーン設定,観察の定義,行動の実行,リセットの実行を変更を行う.報酬の定義は,基となるHumanoidタスクのものを使用する.KHR3タスクの作成手順は以下のとおりである.

手順

  1. KHR-3HVのCADモデルをIsaac Labで使えるように変換
  2. 変換したKHR-3HVモデルに合わせてHumanoidタスクを変更し,KHR3タスクを作成
  3. 学習

KHR-3HVのCADモデルの変換

 Isaac Labでシミュレーションを行うには,対象ロボットをURDF(Unified Robot Description Format)形式[10]でモデル化する必要がある.URDFは,ロボットの構造をXML形式で記述するためのフォーマットであり,ロボットの形状や関節の構造,動力学的特性などを定義できる.

 本研究では,吉田の修士学位論文[11]で作成されたKHR-3HVのCADモデルをURDF形式に変換を行った.変換したKHR-3HVのURDFの記述には,一部Isaac Labではサポートされていないタグがあるため削除を行ったKHR-3HVモデルを使用する.最後にKHR-3HVのモデルをURDF形式からUSD形式[12]へのIsaac Labへインポートを行った(図5).また,視覚化したKHR-3HVモデルの木構造を図6に示す.図6の長方形内の文字はKHR-3HVモデルのボディの名前を,青色の楕円形内の文字は関節の名前を示している.

Humanoidタスクからの変更内容

 作成したKHR-3HVのモデルの構造は,既存のHumanoidモデルとは異なる.具体的には,関節の数や関節を構成するボディの数が異なるため,タスクの観察および行動の次元数をKHR-3HVモデルに合わせて変更を行った.

 変更したKHR3タスクの設定を表1に,観察の次元数の内訳と役割を表2に,行動の次元数の内訳を表3に示す.KHR3タスクにおける行動は,エージェントがKHR-3HVモデルの各関節(固定関節を除く)に対して,加える制御用のデータのことを示す.そのため,行動の次元数はKHR-3HVのモデルの関節数と同じ22となっている.観察は,エージェントがKHR-3HVモデルの状態(姿勢、動作)とシーン環境の情報(ターゲットの方向)を学習するために必要なすべての情報を含むデータのことを示す.

 さらに,学習中にロボットが転倒して不正な姿勢になった場合においても学習を適切に継続できるように,リセットの実行条件を変更を行った.具体的には,KHR-3HVモデルの胴体にセンサを取り付ける追加を行った.また,KHR-3HVモデルの胴体に取り付けたセンサが地形に接触したことを検知する計算式の作成も行った.

作成したタスクを用いた学習

 Humanoid タスクを基に作成したKHR3 タスクを用いた学習について述べる.

学習過程

 30 回目の学習では,その場で足踏みをする動作パターンを学習し,50 回目の学習では,歩行する動作パターンを獲得できた.200回目の学習では,50回目,100回目よりもより早く移動できる動作パターンを獲得できたことを確認した.また,1000回の学習を終える頃には,200回目の学習で移動できた距離までを約1.7倍早く移動できたことを確認した.

タスクを用いた学習過程の様子

学習済みモデルの推論の様子

 Isaac Lab では,一定の試行回数ごとにそれまでの学習により蓄積されたデータをファイルに保存する機能と,その保存されたファイルを読み込んで学習により蓄積されたデータを入力として扱い,動作パターンの推論を行い再生する機能がある.その機能を用いて学習済みモデルを読み込んでロボットの動作パターンの確認を行った.

学習済みモデルを用いた推論の様子

結果

 学習中の試行回数ごとの報酬の値の推移をグラフにしたものが図7である.図7から,試行回数が増えるごとに報酬の値が上昇していることを確認できた.

おわりに

 本研究は,シミュレーション環境における深層強化学習を活用したロボットモーション生成に関する基礎的な知見を提供するものである.既存の強化学習タスクを柔軟に改変し,特定のロボットモデルに適応させるタスクを作成することができた.これにより,ロボット固有の構造的特徴を考慮した学習環境を構築する方法を学ぶことができ強化学習の理解を深めることができた.
 しかし、現時点で生成された動作パターンはシミュレーション上での検証に限られており,実ロボットにおける動作再生の可否についての検証は実現できていない.この点は,今後のさらなる研究において解決すべき重要な課題である.また,報酬設計の変更による学習結果の最適化についても取り組む余地が残されており,これらの改善を通じて,より汎用性の高いモーション生成手法を構築できる可能性がある.

参考文献

[1] NVIDIA, “Isaac Lab Documentation,” https://isaac-sim.github.io/IsaacLab/main/, 2025.01.29.
[2] 近藤科学株式会社, “KHR-3HV Ver.2,” https://kondo-robot.com/product/03070, 2025.01.29.
[3] GitHub, “NVIDIA Isaac Lab Repositories Isaac-Humanoid-Direct-v0,” https://github.com/isaac-sim/IsaacLab/tree/main/source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct/humanoid, 2025.01.29.
[4] RoboCup SSLHumanoid, “RoboCup SSL Humanoid,” http://www.robocup-ssl-humanoid.org/indexJ.html, 2025.01.29.
[5] ROBOTIS, “ENGINEER KIT(韓国語),” http://en.robotis.com/model/page.php?co_id=prd_engineerkit, 2025.01.29.
[6] NVIDIA, “NVIDIA Ominiverse IsaacSim,” https://docs.omniverse.nvidia.com/isaacsim/latest/overview.html, 2025.01.29.
[7] slideshare, “強化学習の基礎と深層強化学習(東京大学 松尾研究室 深層強化学習サマースクール講義資料),” https://www.slideshare.net/slideshow/rlssdeepreinforcementlearning/238476038, 2025.01.29.
[8] NVIDIA, “Isaac Lab Documentation Task Design Workflows Direct Environments,” https://isaac-sim.github.io/IsaacLab/main/source/overview/core-concepts/task_workflows.html#direct-environments, 2025.01.29.
[9] NVIDIA, “Isaac Lab Documentation Available Environments,” https://isaac-sim.github.io/IsaacLab/main/source/overview/environments.html, 2025.01.29.
[10] ROS.org, “ROS.org urdf,” http://wiki.ros.org/urdf, 2025.01.29.
[11] 吉田 拓斗, “Meridian システムと Choreonoid を利用したヒト型ロボットの動力学シミュレーションとモーション作成,” 大阪電気通信大学 総合情報学専攻 コンピュータサイエンスコース 修士学位論文, 2023.
[12] Pixar Animation Studios, “OpenUSD,” https://www.pixar.com/openusd, 2025.01.29.

作者プロフィール

坂根 隆斗

大阪電気通信大学 総合情報学部 情報学科 4年 ロボティクス研究室

コメント