強化学習による8自由度4足ロボットの移動制御規則獲得:
同一の学習器で異なるロボットの制御規則を得る

OCT1.jpg OCT2.jpg 画面クリックで拡大表示
上の2つの画像に示す4足ロボットの各脚は, 2個の位置制御サーボモータで駆動され,全体で8自由度である.
クモ型ロボットのOCT1の各脚の2つのモータはそれぞれリフト脚,スイング脚を受け持つ. リフト脚は上下方向,スイング脚は前後方向へ足先を運ぶ役割を持つ.
それに対してイヌ型ロボットOCT2の各脚の2つのモータは同様に第一関節,第二関節を受け持つが, 各脚の2つのモータが駆動する関節軸は平行であり, 足先を運ぶ方向について役割分担がなく,互いの動作が干渉するため, 制御規則の構築はOCT1よりも困難である.
各関節とモータ番号の対応は,OCT1については OCT1Motors.gif , OCT2については Oct2MotorsM.gif ,にそれぞれ示す。 OCT1では反時計回りに対応付けられているのに対し, OCT2では左側前後,右側前後の順番で割り当てられている点でも構造的に異なる.

学習目標

学習目標は,なるべく速くまっすぐに前進する制御規則を獲得することである. このロボットを制御するコントローラが学習主体の「エージェント」になり, ロボット本体を含めた外界がエージェントにとっての「環境」になる. エージェントは事前に環境やロボットのダイナミクスを知らされていな いため,試行錯誤を通じて制御規則を形成していくことが求められる. エージェントの保持する制御規則は,状態入力から行動への確率分布 という形式の政策関数で表現される. エージェントは試行錯誤を通じて政策関数のパラメータを改善する.

問題設定

各時間ステップにおいてエージェントは8個のサーボモータの角度を観測して 現在の状態とし,政策関数に従って行動を選択する. 行動は8個のモータ角度の目標値である. よって現在の状態観測は1ステップ前に出力した行動に等しい. OCT1では脚同士の干渉を無くすため,実際のモータへの指令値は モータ2,8のみ -64〜127 の範囲,それ以外のモータでは -128〜63の範囲に制限してある. OCT2は全モータが 0〜 255の範囲で動作する. コントローラでは状態入力や行動出力を両ロボット区別なく扱うため, これらの範囲を全て [0,1] で正規化する. OCT1LMH.jpg , OCT2LMH.jpg は各ロボットの全モータへそれぞれ左から最小,中心,最大値の角度指令コマンドを 与えたときのロボットの姿勢である.

コントローラが行動を選択後, OCT1の場合約 0.5秒後,OCT2の場合約 0.25秒後に状態遷移結果として報酬が与えられ, 次の時間ステップへと進む. ロボット後方に示される2個の車輪は,ボディの移動を検出して 報酬信号を生成する.2つの車輪の移動速度平均はロボットの前進速度を示し, 2つの車輪の移動速度の差分はロボットが旋回していることを示す. ロボットの学習目標はまっすぐに前進することなので,各時間ステップでの 報酬は,2つの車輪の移動速度平均から差分の絶対値を引いた値とした. 車輪は直径 5cmで200パルス/回転の信号を生成する. 2つのロボットは上記のとおり脚の構造上OCT2の方が学習困難である. OCT1とOCT2では脚とモータの順番や配置も異なる. また,1ステップあたりの時間がOCT2ではOCT1の半分であり, 1ステップ前の行動出力を現在の状態観測とするため, モータが追従できない場合には状態観測が不完全になり, 学習や制御がOCT1よりさらに困難になる要素がある.
本研究では, 困難と思われるOCT2の動作獲得をOCT1と全く同一の学習器で行う。

実験プログラム

強化学習ネットワークプロトコル
小林研究室で使用している実験用のソフトとプロトコル

学習による移動速度の向上の様子

OCT1
Oct1Ave.gif

OCT2
Oct2Ave.gif

学習によって獲得した歩容(gait pattern)

OCT2
Oct2_GAIT.gif

計測と制御Vol.40, No.10 (2001) の表紙を飾ったロボットの写真
SICE2001x5_2_.jpg クリックで拡大表示

ムービーファイル

獲得した動作を観察すると,腹部をこするような歩き方を獲得している。これは腹部が床に付いても 前進動作には支障がなかったためであると考えられる。もし腹部が床に付かない動作の獲得を させる、腹部にセンサーを設け、腹部が床に付いたら罰(負の報酬)を与えるようにすれば良い。

このように直感的に分かり易く簡単な報酬を設定するだけで、それよりもはるかに複雑さが大きな 制御規則を自動的に獲得できる点が強化学習の大きな特徴である。

関連論文

  1. 木村 元,山下 透,小林 重信,
    強化学習による4足ロボットの歩行動作獲得,
    電気学会 電子情報システム部門誌, Vol.122-C, No.3, pp.330--337 (2002).
    postscript file, iee0107modified.ps (10.3MB)
    PDF file, iee0107modified.pdf (268KB)
  2. Kimura, H., Yamashita, T. and Kobayashi, S.:
    Reinforcement Learning of Walking Behavior for a Four-Legged Robot,
    40th IEEE Conference on Decision and Control (CDC2001), pp.411--416 (2001).
    6 pages, postscript file, INV2103.ps (6MB)
    PDF file, INV2103.pdf (205KB)
    発表用OHP PAGE01, PAGE02, PAGE03, PAGE04, PAGE05, PAGE06, PAGE07, PAGE08, PAGE09, PAGE10, PAGE11, PAGE12, PAGE13, PAGE14, PAGE15, PAGE16, PAGE17.
    (補足)発表資料中のグラフとwebで示したグラフが一部食い違っていますが、web上のデータは後で取り直したものです。
  3. 山下透,木村 元,小林 重信,
    強化学習による多足歩行ロボットの実現,
    計測自動制御学会 第13回自律分散システムシンポジウム, pp.111--116 (2001)

自然勾配Actor-Criticを使用したロボット

上記のロボットの強化学習アルゴリズム(Actor-Critic)より進歩した自然勾配Actor-Criticを使ったロボット
足のモータは8個ですが状態入力が足の角度(8次元)のほか、 4つの足先センサも含んでいます。
以下のムービーは 15000 step学習後の動作の様子。実時間では20〜30分
Studious.JPG NGAC15000step.mpg 約13秒, 2.3MB
その他ムービー1 (3.68MB) 学習初期
その他ムービー2 (4.75MB) 学習途中1
その他ムービー3 (2.69MB) 学習途中2
その他ムービー4 (3.07MB)
その他ムービー6 (1.62MB)
その他ムービー7 (3.07MB)
その他ムービー8 (2.69MB)
その他ムービー9 (2.00MB)
その他ムービー10 (2.38MB)

関連論文

  1. 木村 元:
    適正度の履歴を用いた自然勾配Actor-Critic法
    計測自動制御学会 第19回自律分散システムシンポジウム(2007年1月)pp.67--72.
    6 pages, PDF file, sice20070129.pdf (247KB)
    Hajime Kimura:
    Natural Gradient Actor-Critic using Eligibility Traces,
    Conference Proceedings of the 19th SICE Symposium on Decentralized Autonomous Systems, pp.67--72 (2007).
    NGAC_demo.zip 自然勾配Actor-Criticアルゴリズムのデモプログラム
  2. Hajime Kimura:
    Natural Gradient Actor-Critic Algorithms using Random Rectangular Coarse Coding,
    The Society of Instrument and Control Engineers (SICE) Annual Conference 2008, 2A17-1, pp.2027--2034 (August 20--22, 2008).
    8 pages, PDF file, SICE20080821.pdf (450KB)