This page is written in Japanese.

To the English version of this page.

強化学習の適用例:ロボットの歩行動作獲得

ここで示す例は,強化学習が持つ以下の2つの特徴について示すことを意図している。

2自由度ロボット

ROBOTS.jpg
robot0.gif
Fig.A,B: 学習対象としたロボット機構のその模式図. Aはボディから2節リンクアームが張り出す構造を持ち,Bはボディにねじりと曲 げを行う構造を持つ. AとBはメカニズム的に全く異なるが,完全に同じ学習アルゴリズム を適用可能.

Fig.A, B に示すように,モータを2個搭載した2自由度の機構を持つロボッ トAおよびBに対し,完全に同一の強化学習アルゴリズムを適用し,効率よく前進 する動作を獲得する. 詳しくは公表論文一覧の以下の解説記事を参照:

エージェントすなわちロボットのコントローラが獲得すべき制御規則は, 現在の関節の角度を状態入力として与えられたとき, 前進するような動きとなるようにモータの目標値とすべき関節の角度を 出力することである. ロボットの学習目標は,効率よく前進することなので, 各時刻におけるボディの前進速度をエージェントが報酬として受け取るよう設定 する.
エージェントとロボットは以下のやりとりを行う.
  1. エージェントは状態観測としてロボットの関節の角度θ1, θ2を 受け取る.
  2. エージェントは行動出力として関節モータの角度の目標値a1, a2を出力.
  3. ロボットは目標角度の方向へ各モータを動かす.
  4. 約0.2秒後,ロボットはボディが移動した距離を計測し,その値を報酬と してエージェントに与える.
  5. ステップ1に戻って繰り返す.
上記のように設定することにより,ロボットを効率よく前進させる学習問題は, エージェントが利得(報酬の総計)を最大化するよう政策を探索する最適化 問題へ帰着される.

ここで注目すべき点は,ロボットAとBがメカニズム的に全く異なるにもかかわ らず,強化学習問題として見ると同じになる点と, 求めるべき制御規則が比較的複雑である割に, 報酬の設定が極めて簡単な点である.
よって, ロボットAへ適用可能な強化学習アルゴリズムが,何も変更することな くロボットBにも適用できるという意味と, 設計者が極めて簡単な報酬設定をするだけで複雑な制御規則を自動的に得られる という2つの意味において, 強化学習による制御規則プログラミングの自動化・省力化を実現 している.

状態観測である関節の角度θ1, θ2および行動出力である関節モー タの角度の目標値 a1, a2 は,それぞれ 0 から 255までの整数値をとる. 報酬の値は -128 〜 127の範囲の整数値をとり,ボディが移動しない場合は 0 である. 移動距離を計測するために1回転200パルスのロータリーエンコーダに直径3cm の車輪を付け,パルスの個数を報酬の絶対値,回転方向を報酬の符号として計測 する.

実時間でおよそ5〜6分後の学習中の動作例を (ROBOTSM.jpg 640x792, 119KBytes)に示す. ロボットBについて観察されたのは上に示した動作に類 似する動作のみだった(アニメーションgif, 65.7KB). ところがロボットAは上に示した動作以外にも 学習途中においてさまざまなパターンが見られ,常に変化が観測された. 特に,アーム先端を地面に触れたまま,アームを激しく上下に動かすと同時に アーム自身も曲げたり伸ばしたりして,尺取虫のように移動する様子が観測され た.これはアームを下に動かすときはアーム先端と地面との摩擦力が増すため, このときアームを曲げると前進しやすく,逆にアームを上に動かすときは摩擦力 が減るため,このときアームを伸ばすとほとんど後退することがないことを利用 するものである.このような動作は実際に試行錯誤しない限り, 獲得するのは困難である.


編集済みMPEG ムービーファイル (MPEG1コード)


技術データ

ワンチップマイコンPICを用いたモータドライブ回路

質問やコメント等はメールにてどうぞ:
EMAIL.gif

戻る