...

修士論文 強化学習法による蛇型ロボットの 適応的推進運動の獲得 福永

by user

on
Category: Documents
46

views

Report

Comments

Transcript

修士論文 強化学習法による蛇型ロボットの 適応的推進運動の獲得 福永
NAIST-IS-MT0351104
修士論文
強化学習法による蛇型ロボットの
適応的推進運動の獲得
福永 修一
2005 年 3 月 10 日
奈良先端科学技術大学院大学
情報科学研究科 情報生命科学専攻
本論文は奈良先端科学技術大学院大学情報科学研究科に
修士 (工学) 授与の要件として提出した修士論文である。
福永 修一
審査委員:
石井 信 教授
小笠原 司 教授
柴田 智広 助教授
強化学習法による蛇型ロボットの
適応的推進運動の獲得∗
福永 修一
内容梗概
ヘビは, 単純な形態でありながら環境に応じて運動を変化させることにより,
様々な環境で運動することができる. このような機能を持つロボットは様々な環
境において行動できるため, レスキューロボットなど実環境で行動するロボットと
して有用である. 本研究では, 蛇型ロボットの環境に応じた制御則を獲得する枠組
を開発することを目的とした. しかし, 蛇型ロボットは多関節であり, 状態空間と
行動空間が大きく学習が困難であるという問題がある. そこで, CPG-actor-ciric
モデルと呼ばれる強化学習法を用いることで, 行動空間を限定しつつ, 蛇型ロボッ
トを十分に制御出来る出力を持つ学習システムを用いた. また, 蛇型ロボットの
状態空間は広いものの, 実際の行動は限定された状態空間にのみ生じるため, 特徴
抽出を行い状態を集約した特徴空間上で学習を行った. シミュレーションによっ
て, 蛇型ロボットが環境に適応した推進運動を獲得できることを示し, 提案手法の
有効性を示した.
キーワード
強化学習, 蛇型ロボット, CPG コントローラ
∗
奈良先端科学技術大学院大学 情報科学研究科 情報生命科学専攻 修士論文, NAIST-IS-
MT0351104, 2005 年 3 月 10 日.
i
Acquisition of an adaptive locomotion of a
snake-like robot by reinforcement learning∗
Shuichi Fukunaga
Abstract
A snake has large potential to move in various environments by changing its
‘gait’ pattern, in spite of its simple body. If a snake-like robot can adapt to its
environments like a snake, it will be a useful mobile robot which can operate under
various conditions. The purpose of this study is to obtain an adaptive locomotion
of a snake-like robot by reinforcement learning. A snake-like robot has large
degree of freedom and hence its state and action spaces are very large. Because
a snake-like robot is redundant and then its significant state and action spaces
are smaller than the original space, I utilize feature variables to approximate the
state value function in our method. A computer simulation showed that a control
rule that allows the robot to adapt to environmental changes is obtained by our
scheme.
Keywords:
reinforcement learning, snake-like robot, CPG controller
∗
Master’s Thesis, Department of Bioinformatics and Genomics, Graduate School of Information Science, Nara Institute of Science and Technology, NAIST-IS-MT0351104, March 10,
2005.
ii
目次
1. はじめに
1
1.1 研究背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2 論文の構成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2. ヘビの力学的解析と蛇型ロボットの制御法
4
2.1 ヘビの力学的解析 . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2 蛇型ロボットの制御法 . . . . . . . . . . . . . . . . . . . . . . . .
7
CPG コントローラによる制御 . . . . . . . . . . . . . . . .
8
2.2.1
3. 学習法
13
3.1 強化学習 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.1.1
強化学習の目的 . . . . . . . . . . . . . . . . . . . . . . . .
13
3.1.2
Temporal Difference (TD) 学習 . . . . . . . . . . . . . . .
14
3.1.3
actor-critic 法 . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.1.4
確率的方策勾配法に基づく actor-critic 法 . . . . . . . . . .
15
3.1.5
CPG-actor-critic モデル . . . . . . . . . . . . . . . . . . .
16
3.2 提案する学習法 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.2.1
特徴抽出による状態表現の集約 . . . . . . . . . . . . . . .
17
3.2.2
特徴量を用いた確率的方策勾配法に基づく CPG-actor-critic
モデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4. シミュレーション
17
20
4.1 Ekeberg モデルに対する学習 . . . . . . . . . . . . . . . . . . . . .
20
4.1.1
問題設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.1.2
特徴抽出 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.1.3
地面に勾配がある場合 . . . . . . . . . . . . . . . . . . . .
23
4.1.4
地面の摩擦係数が変化する場合 . . . . . . . . . . . . . . .
26
4.2 sin 関数による CPG コントーローラに対する学習 . . . . . . . . .
33
sin 関数による CPG コントーローラの特性 . . . . . . . .
33
4.2.1
iii
4.2.2
問題設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.2.3
特徴抽出 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.2.4
シミュレーション結果 . . . . . . . . . . . . . . . . . . . .
37
5. 結論と課題
39
5.1 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5.2 課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
謝辞
41
参考文献
42
iv
図目次
1
ヘビの筋骨格系のモデル . . . . . . . . . . . . . . . . . . . . . . .
5
2
リンクに働く力 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3
蛇型ロボットシミュレータ . . . . . . . . . . . . . . . . . . . . . .
6
4
体形曲線の模式図 . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
5
Ekeberg の提案した神経回路モデル . . . . . . . . . . . . . . . . .
10
6
各ニューロンの出力
. . . . . . . . . . . . . . . . . . . . . . . . .
11
7
CPG コントローラ . . . . . . . . . . . . . . . . . . . . . . . . . .
11
8
Tonic 入力と運動ニューロンの出力の関係 . . . . . . . . . . . . .
12
9
マルコフ決定過程の模式図 . . . . . . . . . . . . . . . . . . . . . .
13
10
actor-critic 法の枠組 . . . . . . . . . . . . . . . . . . . . . . . . .
15
11
CPG-actor-critic モデル . . . . . . . . . . . . . . . . . . . . . . .
17
12
特徴量を用いた確率的方策勾配法に基づく CPG-actor-critic モデル 18
13
問題設定の概略図 . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
14
地面に勾配がある場合の環境設定 . . . . . . . . . . . . . . . . . .
23
15
蛇型ロボットの第 1 リンクの軌跡 (左右の制御信号が同じ場合) . .
23
16
蛇型ロボットの第 1 リンクの軌跡 . . . . . . . . . . . . . . . . . .
24
17
方策パラメータの時間変化 . . . . . . . . . . . . . . . . . . . . . .
25
18
地面の摩擦係数が変化する場合の環境設定 . . . . . . . . . . . . .
26
19
方策パラメータの時間変化 . . . . . . . . . . . . . . . . . . . . . .
27
20
平均報酬の時間変化
. . . . . . . . . . . . . . . . . . . . . . . . .
28
21
t=4000.00∼t=4002.75 の時の蛇型ロボットの動いている様子 . . .
29
22
t=6000.00∼t=6002.75 の時の蛇型ロボットの動いている様子 . . .
30
23
t=9997.25∼t=10000.00 の時の蛇型ロボットの動いている様子 . .
31
24
関節角の絶対値の平均 . . . . . . . . . . . . . . . . . . . . . . . .
32
25
位相と振幅を変えた時の蛇型ロボットの速度 . . . . . . . . . . . .
33
26
Tonic 入力を変えた時の運動ニューロンの出力と位相の変化 . . .
34
27
振幅と蛇型ロボットの速度の関係 . . . . . . . . . . . . . . . . . .
35
28
姿勢に対して FFT をかけたときの振幅とパワーの関係 . . . . . .
37
v
29
平均報酬の時間変化
. . . . . . . . . . . . . . . . . . . . . . . . .
38
30
µ (振幅) の時間変化 . . . . . . . . . . . . . . . . . . . . . . . . .
38
vi
1. はじめに
1.1 研究背景
近年, 様々なロボットの開発が行なわれている [18] [19]. しかし, これらのロ
ボットはどれもあらかじめ設計された制御則に基づいて行動しており, 設計時に
想定していない環境においては行動することが出来ない. 人間の作業空間におい
てロボットが一緒に作業するには人間の行動に応じた動作が求められ, また, レ
スキューロボットは被災地などの未知の環境において行動する必要がある. 未知
の環境において自律的に制御則を獲得する枠組として強化学習法がある. 強化学
習法は, 試行錯誤を行うことによって環境に適した制御則を獲得する手法である
[12]. この手法をロボット制御に適用することが出来れば, 予め想定していない環
境においても適応的に行動することが期待出来る.
さまざまな環境において行動するロボットとの一つとして, 蛇型ロボットは有
用であると考えられる. ヘビの推進運動は, 単純な形態でありながら環境に応じ
て運動を変化させ, 様々な環境で運動する能力がある. 蛇型ロボットは, このよう
な機能を実現することを目的として開発されている. 蛇型ロボットに強化学習を
適用することが出来れば, このような豊富な運動機能を活かし, 未知の環境にお
いても環境に適した行動をとることができると考えられる. 本研究では, 蛇型ロ
ボットの環境に応じた制御則を獲得する枠組を開発することを目的とする.
蛇型ロボットの研究は広瀬の結果 [6] に始まる. 広瀬によって, ヘビの力学的な
解析が行なわれ, 解析に基づき蛇型ロボットが開発された. ヘビは体軸の接線方
向の摩擦が小さく, 法線方向の摩擦が大きいことを利用して推進運動を行ってい
る. この解析に基づき, 両サイドに受動車輪がある箱型のリンクが連結した蛇型
ロボットが開発され, 周期的な信号によって制御できることが示された. そして,
現在では, 蛇型ロボットの研究は多岐に渡っている. 蛇型ロボットを非ホロノミッ
クシステムとして制御する非線形制御理論としての研究 [16], 蛇型ロボットをレ
スキューロボットとして応用するための機構の研究 [17], 生物の運動を参考に蛇
型ロボットを制御する研究 [3] [8] などがあげられる. 本研究では, 生物の運動を
参考にした制御法を用い, さらにその制御法に学習機構を導入することを目的と
1
する.
神経生理学の研究により, 生物のリズム運動は Central pattern generator (CPG)
と呼ばれる周期的な信号を出力する神経回路によって制御されていることが明ら
かになってきた [1]. CPG は再帰結合型ニューラルネットワークによって実装さ
れ, 周期的な出力をする. この知見に基づき近年, CPG をモデル化した制御器
(CPG コントローラ) を用いた運動の制御についての研究が行われており, 2 足歩
行 [13], 4 足歩行ロボット [5], サンショウウオ [7] や蛇型ロボット [3] [8] に適用さ
れている. また, Ekeberg はヤツメウナギの神経回路と運動機構のモデル化を行っ
た [4]. Ijspeert はヤツメウナギのモデルを 拡張したサンショウウオモデルに対し
て, CPG コントローラ内部のニューロンの結合重みを遺伝的アルゴリズム (GA)
によって決定した [7]. GA は複数の個体の生成による学習法であり, 単独の個体
による試行錯誤的学習ではない. 個体の経験を活用する学習法として強化学習法
がある. ある個体が環境の変化へ適応をするためには強化学習法は有効である.
強化学習法はこれまで様々な制御問題に対して成果を上げてきた [12]. しかし,
制御対象は比較的自由度の少ないものであった. 制御対象が多自由度であると,
状態数と行動数が爆発し学習が困難になるという問題がある. そこで, CPG コン
トローラを使うことによって行動数を制限することが考えられる. しかしながら,
強化学習法をそのまま CPG コントローラの学習に適用することは難しい. 通常,
強化学習では方策を被制御システムの状態に応じた関数の形で与える. しかし,
CPG コントローラを用いて制御を行う場合, CPG コントローラの出力がニュー
ロンの内部状態に依存するために被制御システムの状態から一意に決まらない非
定常な方策となる. この問題を解決するために, 中村らは, CPG コントローラに
対する強化学習法として, CPG-actor-critic モデルを提案し, 2 足歩行ロボットの
制御則の獲得課題を行った [10]. また, 蛇型ロボットは 2 足歩行ロボットに比べて
関節が多く, 多自由度であるにも関わらず, 広瀬の研究により, 比較的単純な周期
的な制御信号により制御できることが示されている [6]. そこで, 蛇型ロボットの
ような多自由度で冗長なシステムに対して特徴抽出によって状態空間を集約する
ことを試みた. この CPG-actor-critic モデルによる制御と特徴抽出による状態空
間の集約の有効性をシミュレーションによって示した.
2
1.2 論文の構成
2 章では, ヘビの力学的解析と蛇型ロボットの制御法について説明する. 3 章で
は, 強化学習法について従来手法と, 本研究での提案モデルについて説明する. 4
章では, Ekeberg モデル による CPG コントローラと sin 関数による CPG コン
トローラに対して提案モデルを適用し, 有効性をシミュレーションによって示す.
最後に, 5 章で結論と課題について述べる.
3
2. ヘビの力学的解析と蛇型ロボットの制御法
2.1 ヘビの力学的解析
ヘビの力学的解析は広瀬によって詳細に行なわれた [6]. 広瀬は, ヘビの筋骨格
系を図 1 (a) のように頭から尾にかけてリンクが直列にバネを介して連結してい
るものとしてモデル化した. バネは, リンクを繋ぐジョイントの両サイドにバネ
を配置する. そしてそのバネの伸縮の差によってトルクを出すと考えている. 図
1 (b) に筋骨格系にかかる力を示す. 図より, 偏角 qi とリンクの長さ δs を微小と
仮定すると
Ti = afmi
(1)
の関係が成り立つ. ここで, Ti , a と fmi はそれぞれトルク, 関節からバネまでの
距離とバネの収縮力を示す. ここで, 間接にトルクがかかることにより拘束力 fi
が発生する. また, それぞれのリンクは体軸に対して平行方向に小さな摩擦係数,
垂直方向に大きな摩擦係数を持つ. このヘビのモデルが前進する仕組みは以下の
ようになっている. リンクが連結されているため両隣のジョイントの影響も考え
る必要があり, 両隣のジョイントで生じる力のベクトル和がジョイントへかかる.
このベクトル和は図 2 の太線の fi − fi+1 と fi−1 − fi に当たる. ベクトル和を接線
力と法線力に分解する. 法線力は摩擦力によって打ち消され, 接線力は推進力と
なる. ヘビはこのような仕組みで推進運動を行う.
本研究では図 3 に示すように, 両サイドに受動車輪がある箱型のリンクが 10 個
連結した蛇型ロボットを用いる. 各リンクと受動車輪の重さと大きさを図 1 に示
す. また各リンク間の関節は z 軸を中心に回転するものとする. 4 節のシミュレー
ションでは Open Dynamics Engine (ODE) [11] を用いて蛇型ロボットのダイナ
ミクスの計算を行った.
4
fi
fmi/2
fi
δs
fmi/2
qi
Ti
a
fi
fmi/2
fmi/2
fi
図 1 ヘビの筋骨格系のモデル
5
fi-1
fi-1
fi
fi
fi-fi+1
fi+1
Ti
Ti+1
fi+1
Ti-1
fi+1
fi-1-fi
fi
fi-1
fi
図 2 リンクに働く力
parameter
link mass
link
link
link
wheel mass
wheel
Z
LE
TH
H
DT
WI
HEIGHT
NG
Y
RADIUS
X
図 3 蛇型ロボットシミュレータ
6
value
1.0kg
0.15m
0.10m
0.10m
0.5kg
0.07m
2.2 蛇型ロボットの制御法
広瀬はヘビの体形曲線を「曲率が曲線に沿って正弦波状に変化する曲線」と定
義し, サーペノイド曲線と呼んだ. サーペノイド曲線の偏角 q(s) は次のように示
される.
π δs π s
q(s) =
α
sin
2
l
2l
(2)
ここで, α, s, δs, l と v はそれぞれくねり角, 体軸に沿った距離, 単位節の長さ, 滑
走体形の 1/4 周期の長さと, 体幹方向の滑走速度である. 図 4 に α, s と l の意味
を示す.
(s
)
l
α
図 4 体形曲線の模式図
これより, 各関節のの角速度 ω(s) を
dq(s)
dt
dq(s) ds
=
ds dt
π δs
π s
=
αv
cos
2 l2
2l
ω(s) =
として受動車輪を持つ蛇型ロボットの制御を行なった.
7
(3)
(4)
(5)
2.2.1 CPG コントローラによる制御
以上に示されるように, 広瀬は受動車輪を持つ蛇型ロボットを周期的な入力に
よって制御できることを示した. 本研究では, 周期的な入力を生成する制御器と
して 2 種類の CPG コントローラを用いる. 一つは, Ekeberg によってモデル化さ
れた再帰結合型ニューラルネットワークによって実装された CPG コントローラ
[4] で, もう一つは, Cohen によってモデル化された sin 関数を用いて実装された
CPG コントローラ [2] である. この 2 つの CPG コントローラは, ヤツメウナギ
の CPG に基づいて構成されている.
• Ekeberg モデル による CPG コントローラ
Ekeberg はヤツメウナギの神経回路の知見に基づき, leaky integrator neuron を
用いた再帰結合型ニューラルネットワークにより CPG をモデル化し, 10 個のリン
クが結合されたヤツメウナギの筋骨格モデルを用いて遊泳運動の解析を行った [4].
この神経回路モデルは, 脊髄 (spinal cord) をモデル化したもので, 8 個のニューロ
ンで構成された神経節が図 5 に示すように, 頭から尾にかけて 100 個繋がってい
る. 神経節の 8 個のニューロンは 4 個ずつ左右の 2 グループ (右ニューロン (RN)
と左ニューロン (LN)) に分かれており, それぞれ, 運動ニューロン (motoneurons:
MN), 興奮性ニューロン (excitatory interneurons: EIN), 側抑制ニューロン (lateral
inhibitoryinterneurons: LIN) と対側性側抑制ニューロン (contralateral inhibitory
interneurons: CCIN) から構成される. それぞれのニューロンのダイナミクスは
8
式 (6)∼(9) のように表される.
⎛
⎞
1
ui wi + aT I − ξ+ ⎠
ξ˙+ = ⎝
τD i∈Ψ
+
⎛
⎞
1
u i wi − ξ − ⎠
ξ˙− = ⎝
τD i∈Ψ
(6)
(7)
−
ν̇ =
1
(u − ν)
τA
(8)
u =H(v)
v if v > 0
H(v) =
0 otherwise
(9)
v =1 − exp {(Θ − ξ+ )Γ} − ξ− − µν
ここで Ψ+ と Ψ− は, 興奮性入力と抑制性入力を与えるニューロンのインデック
ス集合である. ξ+ , ξ− , ν と u は興奮性入力, 抑制性入力, 内部電位と出力である.
w, τD , τA , Θ, Γ と µ は結合重み, 入力に対する時定数, 内部電位に対する時定数,
興奮性入力に対するしきい値, ゲインと内部電位に対する順応の程度である. aT I
は脳幹からの信号をモデル化した tonic 信号である. ニューロンのパラメータと
ニューロン間の結合重みは論文の値 [4] を使うものとする. 図 6 に各ニューロン
の出力を示す. 図のようにこの神経回路モデルは周期的な出力を生成する. この
周期的な出力を用いて CPG コントローラを構成する.
Ekeberg は, 図 5 の神経回路モデルを基に図 7 に示す CPG コントローラを構成
し, ヤツメウナギの筋骨格モデルを用いて遊泳運動の解析を行った. この CPG コ
ントローラは, 神経節のニューロン各々に存在する運動ニューロン (MNL , MNR )
の出力により, 体節の左右の筋肉を制御し, 体を屈曲させる. ヤツメウナギの筋骨格
モデルは, 10 個のリンクが繋がったものとしてモデル化されており, i(i = 1, ..., 9)
番目の関節に加わるトルクは 100 個の神経節の中の 10i 番目の運動ニューロンの
出力により,
Ti = Km (MNL(10i) − MNR(10i) )
+Ks (MNL(10i) + MNR(10i) + St )φi + Kd φ̇i
9
(10)
MN
EIN
LIN
CCIN
CCIN
LIN
EIN
MN
1
MN
EIN
LIN
CCIN
CCIN
LIN
EIN
MN
2
MN
EIN
LIN
CCIN
CCIN
LIN
EIN
MN
i
MN
EIN
LIN
CCIN
CCIN
LIN
EIN
MN
100
図 5 Ekeberg の提案した神経回路モデル
のように計算される. Km , Ks , St , Kd , φi , φ̇i はそれぞれ筋力に対するゲイン, 剛
性に対するゲイン, ヘビの硬さ, 角速度の差に対するゲイン, リンクの角度, リン
クの角速度である.
この CPG コントローラは, tonic 信号である aT I により出力信号が変化する.
図 8 のように, tonic 信号の大きさによって運動ニューロンの出力が変化し, 体の
くねり具合が変わる. 一方, 左右のニューロンに異なる大きさの入力を与えると,
左右の運動ニューロンに出力の差が生まれ, その差に従って進行方向が変化する.
10
output
0.9
EIN
0.8
CCIN
0.7
LIN
0.6
MN
0.5
0.4
0.3
0.2
0.1
0
1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000
Time[ms]
図 6 各ニューロンの出力
Tonic
aTI
MNL
MNR
MNL
MNR
図 7 CPG コントローラ
• sin 関数による CPG コントローラ
Cohen らはヤツメウナギの CPG の活動を sin 関数によってモデル化した [2].
Ekeberg モデルは, 生物学的な知見をもとに周期的な出力を持つ CPG コントロー
ラを設計したが, 振幅と振動数を独立に制御することは難しい. 一方このモデル
は, あらかじめ出力が周期的である sin 関数を用いており, 振幅と振動数が独立に
11
Motoneuron’s output
0.85
0.8
0.75
0.7
0.65
0.6
0.5
0.6
0.7
0.8
Tonic input
0.9
1.0
図 8 Tonic 入力と運動ニューロンの出力の関係
制御可能である. 以下にダイナミクスを示す.
ϕ̇i =ωi +
N
αij sin(ϕj − ϕi − η(i − j))
(11)
j=1
τi =A sin(ϕi )
(12)
ϕ, ω, αij , N, η, τ と i, j はそれぞれ現在の状態, 角速度, 同期するまでの速さ, 振
動子の数, 位相, トルクと関節のインデックスである. また, αij は以下のように設
定する.
⎧
⎨αij = α |i − j| = 1 の時
⎩α = 0 それ以外
ij
この CPG コントローラは, 蛇型ロボットの制御にも用いられている [3].
12
(13)
3. 学習法
本研究では自律的に制御則を獲得する学習法として強化学習法を用いる. まず,
強化学習法について従来手法について説明し, その後, 本研究での提案モデルにつ
いて説明する.
3.1 強化学習
3.1.1 強化学習の目的
制御対象のシステムが状態空間 S, 行動空間 A を持つマルコフ決定過程 (MDP)
でモデル化できるとする.
制御器は現在の状態 s(t) ∈ S に基づいて制御信号 a(t) ∈ A を出力する. こ
の, 状態から制御信号への写像を方策と呼ぶ. 制御信号を受けとり, 制御対象の状
態はダイナミクスに従って s(t + 1) ∈ S へ遷移する. この時, 制御器に即時報酬
r(s(t), a(t)) が与えられる.
s(t)
r(t)
a(t)
図 9 マルコフ決定過程の模式図
強化学習の目的は将来に渡って得られる即時報酬の重みつき和, 累積報酬を最
大にする方策を獲得することである. 状態 s から方策 π に従って制御を行なった
場合に得られる累積報酬の期待値は状態価値関数 V π (s) と呼ばれ, 以下のように
13
定義される.
V π (s) = E
∞
γ t r(s(t), a(t))s(0) = s, π
(14)
t=0
ここで, E{·} は方策 π に従い制御信号を出力する場合の状態と行動の系列に関
する期待値を表し, γ ∈ (0, 1] は減衰係数である. 状態価値関数は以下のベルマン
方程式と呼ばれる自己無撞着方程式を満たす必要がある.
V π (s(t)) = E{r(s(t), a(t)) + γV π (s(t + 1))}
(15)
3.1.2 Temporal Difference (TD) 学習
式 (15) より δ(t) を
δ(t) ≡ r(s(t), a(t)) + γV (s(t + 1)) − V (s(t))
(16)
と定義し, δ(t) を誤差信号としてこの誤差を減らすように V (s) を更新すること
により, 式 (15) を満たすような価値関数を学習することが出来る. この δ(t) は
Temporal Difference (TD) 誤差と呼ばれ, これによる学習は TD 学習と呼ばれる.
3.1.3 actor-critic 法
図 10 に actor-critic 法の枠組を示す. この手法は, 状態の価値を評価する critic
と呼ばれる部分と, 状態に応じて確率的に制御信号を出力する actor という 2 つ
の要素により構成される. 制御信号を出力した結果, TD 誤差が正の値ならば良
い状態へ遷移したということを意味するので, 今後その行動をとりやすくするよ
うに出力確率を変化させる. このように, 制御信号の出力確率を TD 誤差の符号
に応じて増減することにより方策を改善することが出来る.
14
Critic
Actor
r
a
s
図 10 actor-critic 法の枠組
3.1.4 確率的方策勾配法に基づく actor-critic 法
本研究では, 木村らによって開発された actor-critic 法 [9] を用いる. この手法
では, Critic は状態価値関数 V (s) を近似し, 以下のような基底関数の線形和に
よって表現されるとする:
VθV (s) ≡
n
θV i ψi (s)
(17)
i=1
ここで θV と ψ(s) は critic のパラメータと基底を表す. パラメータは TD (λ) 法
を用いて更新される. Actor はパラメータ θπ によってパラメトライズされ確率的
方策
πθ (s, a) = p(a|s; θ)
(18)
に基づいて制御信号を出力する. ここで, 適正度 eπ は以下のように定義される.
∂
ln π(a|s)
(19)
eπ ≡
∂θπ
また, 適正度の履歴 ēπ (t) は以下のように定義される.
ēπi (t) ≡
t
τ =0
15
λγeπ (τ )
(20)
方策パラメータの勾配は以下の式によって求めることが出来る.
∂
E{V |πθ } = E{δ(t)ēπ }
∂θπ
(21)
よってパラメータの更新則は以下のようになる.
∆θπ = αδ(t)ēπ (t)
(22)
この手法は, TD 誤差に基づいた学習を行う価値関数ベースの学習法 [12] であ
るが, 確率的方策勾配法と呼ばれる, 方策ベースの学習法と等価である [15] [14].
また, 確率的方策勾配法は, 部分観測マフコフ決定過程 (POMDP) に対しても適
用可能な手法であり, この actor-critic 法に基づく学習法では部分観測性の有無に
かかわらず方策の学習が可能である.
3.1.5 CPG-actor-critic モデル
強化学習は通常, 制御対象の状態から一意に制御信号が決まる定常方策に対す
る学習法として定式化されており, 内部状態に制御信号が依存する CPG コント
ローラの学習には適していない. また, CPG コントローラは再帰結合型ニュー
ラルネットワークの一種で, 時間逆向きのバックプロパゲーション学習が必要な
非線形な制御器である. この問題を解決するために, 中村らは CPG-actor-critic
モデルを提案した [10]. CPG-actor-critic モデルでは CPG 内のニューロンを制
御対象と合わせて一つのシステム (CPG 結合システム) と見なし, その CPG 結
合システムに対する制御則を学習するモデルである. CPG コントローラを用い
た制御は, CPG コントローラと制御対象との相互作用により, CPG コントロー
ラと制御対象がリミットサイクルに引き込まれることを利用した制御法であり,
CPG 結合システムを制御対象として扱うことは都合が良いと考えられる. また,
CPG-actor-critic モデルでは, 制御器である actor は関節制御信号 a を制御信号
とするため, 相互フィードバック結合を持たずに線形となり学習に必要な計算量
も小さい.
16
Critic
Actor
r
a
s
CPG
T
CPG
図 11 CPG-actor-critic モデル
3.2 提案する学習法
3.2.1 特徴抽出による状態表現の集約
蛇型ロボットと CPG コントローラの内部状態を合わせた CPG 結合システム
の状態空間は非常に大きいため, その全ての状態変数を用いて状態価値関数の学
習を行うと学習の収束までに非常に時間がかかる. そこで, 本研究では特量抽出
を行ない特徴量を状態価値関数の入力とする. 特徴量は状態を入力とする関数で
あり z(t) = F (s(t)) と表す. 特徴量を用いるということは部分観測環境となるが,
確率的方策勾配法は POMDP の環境下においても学習が可能であるため, 確率的
方策勾配法を用いることによりこの問題は回避出来る.
3.2.2 特徴量を用いた確率的方策勾配法に基づく CPG-actor-critic モデル
本研究における特徴量を用いた確率的方策勾配法に基づく CPG-actor-critic モ
デルの構成を図 12 に示す. 時刻 t において actor は CPG 結合システムの特徴量
17
z(t) を観測して制御信号 a(t) を出力する. CPG 結合システムは制御信号 a(t) を
受け取り CPG 結合システムの状態が s(t + 1) へ遷移する. この時 critic は CPG
結合システムの状態に応じて即時報酬 r(s(t), a(t)) を受けとるものと仮定する.
Critic
r
Actor
a
z=F(s)
CPG
T
CPG
図 12 特徴量を用いた確率的方策勾配法に基づく CPG-actor-critic モデル
本研究で用いる学習アルゴリズムを以下に示す.
1. 時刻 t において CPG 結合システムの特徴量 z(t) を観測し, actor は確率的
方策 π に従い行動 a(t) を生成する. この制御信号を受けて CPG 結合シス
テムは状態を s(t + 1) に遷移させる.
2. Critic は報酬 r(s(t), a(t)) と CPG 結合システムの特徴量 z(t) を観測し, TD
誤差 δ(t) を
δ(t) = r(s(t), a(t)) + γ V̂ (z(t + 1)) − V (z(t))
(23)
のように計算する. ここで, γ は割引率であり, 状態価値関数 V (z(t)) は現
在の critic により計算する.
18
3. Critic のパラメータを以下のように更新する.
ēV
∂
V (z(t))
∂θV
:= βλeV + ēV
(25)
θV
:= θV + αV δ(t)ēV
(26)
eV
=
(24)
ここで, eV , ēV , αV と βV はそれぞれ, 状態価値関数 V におけるパラメー
タ θ の適正度, 適正度の履歴, critic の学習係数と割引率である.
4. Actor のパラメータを以下のように更新する.
eπ
ēπ
∂
ln π(a|z)
∂θπ
:= βλeπ + ēπ
=
θπ :=
θ + απ δ(t)ēπ
(27)
(28)
(29)
ここで, eπ , ēπ , θ, απ と βπ はそれぞれ, 適正度, 適正度の履歴, 方策パラメー
タ, actor の学習係数と割引率である.
5. 時刻 t を 1 つ進めてステップ 1 へ戻る.
19
4. シミュレーション
ここでは, 提案した方法によってさまざまな環境への適応が可能であることを
シミュレーションによって示す.
4.1 Ekeberg モデルに対する学習
提案した方法の有効性を示すために, Ekeberg モデルを用いて地面に勾配があ
る場合と地面の摩擦係数が変化する場合についてシミュレーションを行う. まず,
具体的な問題設定と用いた特徴量について述べ, その後, シミュレーションについ
て述べる.
4.1.1 問題設定
本シミュレーションの目的は提案手法により蛇型ロボットが目標方向へ進む制
御則を獲得することを示すことである. 目標方向は図 13 に示すように x 軸方向
とし, 目標方向へ進んだ場合に大きな報酬が得られるように即時報酬を以下のよ
うに定義する.
r = vx1 − |vy1 | −
9
Ti2
(30)
i=1
ここで vx1 , |vy1 | と Ti は第 1 リンクの x 方向の速度と第 1 リンクの y 方向の速度
の絶対値と第 i 番目の関節にかけるトルクである. 第 1 項は蛇型ロボットが速く
目標方向へ移動した場合に多く報酬を与えるもので, 第 2 項は進行方向からのず
れた場合に負の報酬を与え, 第 3 項はエネルギー消費を抑えるためのものである.
CPG 結合システムに対する制御信号は 2 次元ベクトル aT I ≡ (aLN , aRN ) と
し, 以下のような正規分布に従い出力されるものとする.
(aT I − ā) (aT I − ā)
1
π(aT I |s) = N (ā, σ) = √ exp −
2σ 2
σ 2π
20
(31)
y
s1
x
0
図 13 問題設定の概略図
ā = (āLN , āRN ) は右ニューロンと左ニューロンに対する入力の平均で,
āLN = θ1 S1 + θ3 + 0.5
(32)
āRN = θ2 S1 + θ3 + 0.5
(33)
のように生成されるものとする. ここで, θ1 , θ2 と θ3 は方策パラメータ, S1 は図
13 に示す蛇型ロボットの向きである. θ1 と θ2 を変えることによって蛇型ロボッ
トの進行方向を変えることができ, θ3 が変えることによって主に蛇型ロボットの
くねり具合を変えることができる.
21
4.1.2 特徴抽出
蛇型ロボットの状態を集約する特徴量として以下の 3 つを用いた.
x
x1 − 10
j
j=1
S1 = arctan
10
y1 − j=1 yj
S2 =
S3 =
9
k=1
100
(34)
|φk |
(35)
(MNL (l) + MNR (l))
(36)
l=1
S1 は, 図 13 に示す蛇型ロボットの向きである. S2 は, 関節角の絶対値の和であり
蛇型ロボットのくねり具合を表す. S3 は, 右 CPG と左 CPG の運動ニューロン
の出力の和であり, 制御トルクを表している. S1 , S2 と S3 は, 以下に示す理由に
より蛇型ロボットの状態を集約する重要な特徴量といえる. S1 は, 蛇型ロボット
の進行方向を示すので, 目標方向へ移動するために重要な情報となる. S2 は, 蛇
型ロボットのくねり具合を表し, 蛇型ロボットの状態に対する特徴量である. 今回
のシミュレーションで用いた CPG コントローラによって制御を行う場合, 蛇型
ロボットは方策パラメータの値に関わらず姿勢はほぼ一定の S 字型で, その曲率
だけが方策パラメータによって変化すると言う特徴がある. 広瀬により, ヘビの
くねり具合いは地面との摩擦の大きさによって変化することが示されており, く
ねり具合いを特徴として用いることは有効であると考えられる. S3 は, 右 CPG
と左 CPG の運動ニューロンの出力の和であり, CPG ニューロンの状態に対する
特徴量である. CPG コントローラの内のニューロンは全て同じ周期で状態を変
化させているため, その全ての状態を観測する必要はない. ニューロンの中でも
運動ニューロンは, 制御トルクは密接に関わっており, 蛇型ロボットを制御する上
で重要な特徴量と考えられる.
状態価値関数の近似には特徴量空間に格子上に動径基底関数 (Radial basis func-
tion; RBF) を配置した RBF ネットワークを用いる. RBF ネットワークの学習
には勾配法を用いた [12].
22
4.1.3 地面に勾配がある場合
s1
x
y
0
図 14 地面に勾配がある場合の環境設定
• 環境設定
図 14 に地面に勾配がある場合の環境設定を示す. この図に示すように, 地面は
目標方向に向かって y 軸方向に 1 度の勾配がある平面とする.
図 15 に右ニューロンと左ニューロンに同じ入力を入れた時の蛇型ロボットの
頭の軌跡を示す. この場合, 矢印方向が示す斜面の下り方向へ進んでしまう. この
-1
-2
y
-3
-4
-5
-6
-7
0
2
4
x
6
8
図 15 蛇型ロボットの第 1 リンクの軌跡 (左右の制御信号が同じ場合)
ような環境においても, 脳幹からの左右の入力を調整することにより目標方向へ
進むことができる制御則を獲得することを目的とする.
23
• シミュレーション結果
図 16 と 17 に第 1 リンクの軌跡と方策パラメータの変化を示す. 図 16 より, 蛇
型ロボットは目標方向の左斜め上方向に進んでいることがわかる. これは滑り落
ちない為に勾配を登る方向へ進んでいるのだと考えられる. 図 17 より, 約 2300
秒後に方策パラメータが収束していることがわかる.
500
400
300
y
200
100
0
-100
t=2500(sec)
-200
-300
200
400
600
800
1000
x
図 16 蛇型ロボットの第 1 リンクの軌跡
24
0.15
0.1
θ1
θ
2
θ1, θ2
0.05
0
−0.05
−0.1
−0.15
−0.2
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
Time[s]
(a) 方策パラメータ θ1 と θ2 の時間変化
0.5
0.4
θ3
0.3
0.2
0.1
0
0
500
1000
1500
2000
2500
3000
3500
4000
Time[s]
(b) 方策パラメータ θ3 の時間変化
図 17 方策パラメータの時間変化
25
4500
5000
4.1.4 地面の摩擦係数が変化する場合
• 環境設定
図 18 に地面の摩擦係数が変化する場合の環境設定を示す. 提案手法が環境の変
化に対して適応した制御則を獲得できることを示すために, 図に示すように 5000
秒後に摩擦係数が 1.0 から 0.1 へ変化するという環境においてシミュレーション
を行なった.
x
s1
y
0
図 18 地面の摩擦係数が変化する場合の環境設定
• シミュレーション結果
図 19 は, それぞれ方策パラメータの変化を示したグラフである. 学習開始から
約 2000 秒後に θ1 , θ2 と θ3 はそれぞれ 0.001, −0.017 と −0.07 に収束した. そし
て, 5000 秒後に摩擦係数が変化した後, θ1 と θ2 はほとんど変化しないが, θ3 は新
しい環境に適応するために変化し, 約 8500 秒後に 環境が変化する前よりも低い
値の −0.13 に収束した. 図 20 は, 平均報酬を示したグラフである. 環境が変化し
た後, いったん報酬が下がるが再び高い報酬を得ている. これは学習が行なわれ
たことを示している.
26
θ1
θ
0.1
2
θ1, θ2
0.05
0
-0.05
-0.1
-0.15
-0.2
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
8000
9000
10000
Time[s]
(a) 方策パラメータ θ1 と θ2 の時間変化
0.1
0.05
θ3
0
0.05
0.1
0.15
0
1000
2000
3000
4000
5000
6000
7000
Time[s]
(b) 方策パラメータ θ3 の時間変化
図 19 方策パラメータの時間変化
27
0
-0.5
-1
-1.5
-2
-2.5
-3
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
[s]
図 20 平均報酬の時間変化
図 21, 22 と 23 はそれぞれ 4000 秒, 6000 秒と 10000 秒の時の蛇型ロボットの動
いている様子のスナップショットである. 中ぬきの丸は頭を表す. 環境が変化する
前の 4000 秒の時は安定した動きであることが分かる. 環境が変化した後の 6000
秒後は尻尾が大きく振れている. さらに時間が経過した, 8000 秒後には安定した
動きであることがわかる. 環境が変化した後, 尻尾が大きく振れるという運動に
なったが方策パラメータ θ3 が小さくなったことにより第 1∼7 関節は曲がり具合
は大きくなり, 体全体で推進力を得ることが出来たと考えられる. これは, 蛇型ロ
ボットが環境の変化に適した推進運動を獲得したことをを示している.
28
t = 4000.00
t = 4001.50
−164
−164
−164.2
−164.2
−164.4
−164.4
−164.6
−164.6
−164.8
−164.8
−165
1271
1271.5
1272
1272.5
1273
1273.5
−165
1271
1274
1271.5
t = 4000.25
−164
−164.2
−164.2
−164.4
−164.4
−164.6
−164.6
−164.8
−164.8
1271.5
1272
1272.5
1273
1273.5
−165
1271
1274
1271.5
t = 4000.50
−164
−164.2
−164.2
−164.4
−164.4
−164.6
−164.6
−164.8
−164.8
1271.5
1272
1272.5
1273
1273.5
−165
1271
1274
1271.5
t = 4000.75
−164
−164.2
−164.2
−164.4
−164.4
−164.6
−164.6
−164.8
−164.8
1271.5
1272
1272.5
1273
1273.5
−165
1271
1274
1271.5
t = 4001.00
−164
−164.2
−164.2
−164.4
−164.4
−164.6
−164.6
−164.8
−164.8
1271.5
1272
1272.5
1273
1273.5
−165
1271
1274
1271.5
t = 4001.25
−164
−164.2
−164.2
−164.4
−164.4
−164.6
−164.6
−164.8
−164.8
1271.5
1272
1272.5
1273
1272
1272.5
1273
1273.5
1274
1272
1272.5
1273
1273.5
1274
1272
1272.5
1273
1273.5
1274
1272
1272.5
1273
1273.5
1274
1273.5
1274
t = 4002.75
−164
−165
1271
1274
t = 4002.50
−164
−165
1271
1273.5
t = 4002.25
−164
−165
1271
1273
t = 4002.00
−164
−165
1271
1272.5
t = 4001.75
−164
−165
1271
1272
1273.5
−165
1271
1274
1271.5
1272
1272.5
1273
中ぬきの丸は頭を表す.
図 21 t=4000.00∼t=4002.75 の時の蛇型ロボットの動いている様子
29
t = 6000.00
t = 6001.50
−43.5
−43.5
−44
−44
−44.5
−44.5
−45
1940
1940.5
1941
1941.5
1942
1942.5
−45
1940
1943
1940.5
t = 6000.25
−43.5
−44
−44
−44.5
−44.5
1940.5
1941
1941.5
1942
1942.5
−45
1940
1943
1940.5
t = 6000.50
−43.5
−44
−44
−44.5
−44.5
1940.5
1941
1941.5
1942
1942.5
−45
1940
1943
1940.5
t = 6000.75
−43.5
−44
−44
−44.5
−44.5
1940.5
1941
1941.5
1942
1942.5
−45
1940
1943
1940.5
t = 6001.00
−43.5
−44
−44
−44.5
−44.5
1940.5
1941
1941.5
1942
1942.5
−45
1940
1943
1940.5
t = 6001.25
−43.5
−44
−44
−44.5
−44.5
1940.5
1941
1941.5
1942
1941
1941.5
1942
1942.5
1943
1941
1941.5
1942
1942.5
1943
1941
1941.5
1942
1942.5
1943
1941
1941.5
1942
1942.5
1943
1942.5
1943
t = 6002.75
−43.5
−45
1940
1943
t = 6002.50
−43.5
−45
1940
1942.5
t = 6002.25
−43.5
−45
1940
1942
t = 6002.00
−43.5
−45
1940
1941.5
t = 6001.75
−43.5
−45
1940
1941
1942.5
−45
1940
1943
1940.5
1941
1941.5
1942
中ぬきの丸は頭を表す.
図 22 t=6000.00∼t=6002.75 の時の蛇型ロボットの動いている様子
30
t = 9997.25
t = 9998.75
21
21
20.8
20.8
20.6
20.6
20.4
20.4
20.2
20.2
20
3237
3237.5
3238
3238.5
3239
3239.5
20
3237
3240
3237.5
t = 9997.50
21
20.8
20.8
20.6
20.6
20.4
20.4
20.2
20.2
3237.5
3238
3238.5
3239
3239.5
20
3237
3240
3237.5
t = 9997.75
21
20.8
20.8
20.6
20.6
20.4
20.4
20.2
20.2
3237.5
3238
3238.5
3239
3239.5
20
3237
3240
3237.5
t = 9998.00
21
20.8
20.8
20.6
20.6
20.4
20.4
20.2
20.2
3237.5
3238
3238.5
3239
3239.5
20
3237
3240
3237.5
t = 9998.25
21
20.8
20.8
20.6
20.6
20.4
20.4
20.2
20.2
3237.5
3238
3238.5
3239
3239.5
20
3237
3240
3237.5
t = 9998.50
21
20.8
20.8
20.6
20.6
20.4
20.4
20.2
20.2
3237.5
3238
3238.5
3239
3238
3238.5
3239
3239.5
3240
3238
3238.5
3239
3239.5
3240
3238
3238.5
3239
3239.5
3240
3238
3238.5
3239
3239.5
3240
3239.5
3240
t = 10000.00
21
20
3237
3240
t = 9999.75
21
20
3237
3239.5
t = 9999.50
21
20
3237
3239
t = 9999.25
21
20
3237
3238.5
t = 9999.00
21
20
3237
3238
3239.5
20
3237
3240
3237.5
3238
3238.5
3239
中ぬきの丸は頭を表す.
図 23 t=9997.25∼t=10000.00 の時の蛇型ロボットの動いている様子
31
0.8
φ1
φ2
φ3
φ4
φ5
φ6
φ7
φ8
φ9
0.75
0.7
phi [rad]
0.65
0.6
0.55
0.5
0.45
0.4
0.35
0.3
2000
4000
6000
Time [s]
8000
10000
図 24 関節角の絶対値の平均
図 24 は, 関節角の絶対値の平均, すなわち各関節の曲がり具合を示したグラフ
である. 環境が変化する前の 2000 秒後や 4000 秒後は各関節の曲がり具合は一定
である. 環境の変化直後の 6000 秒後は第 8, 9 関節の曲がり具合は大きくなり第
1∼7 関節は曲がり具合が小さくなっていることが分かる. 8000 秒後, 10000 秒後
に第 8, 9 関節の曲がり具合は小さくなり, 第 1∼7 関節は曲がり具合は大きくなっ
たことが分かる.
32
4.2 sin 関数による CPG コントーローラに対する学習
ここでのシミュレーションの目的は, 蛇型ロボットに負荷がかけられた場合に
も, 最適な制御則を獲得することである. まず, Ekeberg モデルによる CPG コ
ントローラと sin 関数による CPG コントーローラの違いについて述べる. その
後, 具体的な問題設定と特徴抽出について述べる. 最後にシミュレーション結果
を示す.
4.2.1 sin 関数による CPG コントーローラの特性
図 25 に, sin 関数による CPG コントーローラを用いて蛇型ロボットを制御し
た時の, 振幅と角速度を変えた時の速度を示す. 一方, Ekeberg モデルによる CPG
0.4
(1)
0.35
0.3
0.25
0.462
0.2
0.15
(2)
0.239
0.207
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Amplitude
Velocity [m/s]
Frequency [Hz]
0.717
0.1
0.05
図 25 位相と振幅を変えた時の蛇型ロボットの速度
コントローラは, Tonic 入力を変えることによって運動ニューロンの出力だけで
なく, 周波数も一緒に変わってしまうモデルである. 図 26 に Tonic 入力を変えた
33
時の運動ニューロンの出力と周波数の変化を示す. ここで, 運動ニューロンの出
Motoneuron’s output
0.85
0.8
0.75
0.7
0.65
0.6
0.5
0.6
0.7
0.8
Tonic input
0.9
1.0
(a) Tonic 入力と運動ニューロンの出力の関係
Frequency [Hz]
0.75
0.7
0.65
0.6
0.55
0.5
0.5
0.6
0.7
0.8
Tonic input
0.9
1.0
(b) Tonic 入力と周波数の関係
図 26 Tonic 入力を変えた時の運動ニューロンの出力と位相の変化
力と振幅はほぼ同じことを意味するので, Ekeberg モデルの運動ニューロンと周
波数の関係を図 27 にプロットすると (1) のようになる. sin 関数による CPG コ
ントーローラを用いた場合, 周波数を 0.239 に固定した時の場合は (2) のようにな
る. (1) と (2) を比べると, (1) は速度が 0.24-0.3[m/s], (2) は速度が 0.05-0.3[m/s]
の範囲となっており, (2) のほうがとりえる速度の範囲が広いことがわかる. よっ
て, ここでは (2) のように周波数を 0.239 に固定した時の振幅の制御のみで, 蛇型
34
ロボットの推進運動を適切に変化させることを試みる.
4.2.2 問題設定
ここでは, 蛇型ロボットへ負荷がかけられた時に効率的な動きを獲得すること
を目的とする. 負荷としては登り坂や荷物の牽引などが考えられる. シミュレー
ションの設定は, 一番後ろのリンクを進行と逆向きに力をかけることとする.
図 27 に, 力をかけない場合と後向きに 2.0[N] の力をかけた時の振幅と蛇型ロ
ボットの速度の関係を示す. 力をかけない時は振幅が小さい時に速度が最大とな
るが, 力をかけた時は振幅が大きい時が速度が最大となる.
シミュレーションでは, 10000 秒の時に, 力をかけていない状態から一番後ろの
リンクを進行と逆向きに F=2.0[N] の負荷をかける. このような負荷がかかった
状態においても, 最適な振幅を獲得することを目的とする.
0.35
Force=0.0[N]
Force=2.0[N]
0.3
Velocity [m/s]
0.25
0.2
0.15
0.1
0.05
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Amplitude
図 27 振幅と蛇型ロボットの速度の関係
35
0.8
0.9
即時報酬 r は以下のように定義する.
r=v
(37)
ここで v は蛇型ロボットの速度である. 方策は以下のような正規分布とする.
N (µ, σ)
(38)
µ は振幅であり, 以下のようにパラメトライズする.
µ = θ T ψ(s)
(39)
ここで, θ, ψ と s はそれぞれ, 方策パラメータ, 基底関数と蛇型ロボットの状態
である.
4.2.3 特徴抽出
蛇型ロボットの振幅を最適化するために, 振幅に関する情報が必要となる. そ
こで, 姿勢の空間周波数 (体の曲がり具合) を特徴とするために, 関節角 φ1 , ..., φ9
を入力とした高速フーリエ変換 (Fast Fourier Transform: FFT) によってパワー
スペクトルを計算する. 計算されたパワースペクトルの周波数の小さいものから
第 1 成分 p1 , 第 2 成分 p2 , 第 3 成分 p3 , 第 4 成分 p4 とする.
図 28 は, 姿勢に対して FFT をかけたときの振幅とパワーの関係を示している.
振幅をかえることによってパワーが変化するのは第 2 成分のみで, 第 1, 3, 4 成分
はほとんど変化しないことがわかる. これは, 第 2 成分を見れば蛇型ロボットの
振幅がわかることを示している. よって, 方策を
µ = θ T ψ̂(f )
(40)
とする. ここで, ψ̂ はガウシアンで表された基底関数とし, f は蛇型ロボットの速
度 v と FFT の第 2 成分 p2 の 2 次元ベクトル
f = (v, p2 )
とする.
36
(41)
Power
7
6
p1 :
5
p3 :
p2 :
p4 :
4
3
2
1
0
0.1
0.2
0.3
0.4
0.5
0.6
Amplitude
0.7
0.8
0.9
1.0
図 28 姿勢に対して FFT をかけたときの振幅とパワーの関係
4.2.4 シミュレーション結果
図 29 と 30 に平均報酬と 振幅 µ の時間変化を示す. 環境が変化する前の約
4500 秒後に, 蛇型ロボットが進む速度を表す平均報酬は 0.25 に, 振幅である µ は
0.3 に収束している. この値は, 図 27 からわかるようにほぼ最適値である. また,
環境が変化した後, 後ろ向きにかかる力に抵抗するために振幅を大きくし, 環境が
変化する前より大きい値である 0.9 へ収束している. また, 平均報酬は 0.15 へ収
束している. この 2 つの値も最適値である. この結果は, 環境に適した制御則を獲
得できたことを示している.
37
0.35
0.3
Average reward
0.25
0.2
0.15
0.1
0.05
0
0
5000
10000
15000
20000
15000
20000
Time [s]
図 29 平均報酬の時間変化
1.6
1.4
1.2
µ
1
0.8
0.6
0.4
0.2
0
5000
10000
Time [s]
図 30 µ (振幅) の時間変化
38
5. 結論と課題
5.1 結論
本研究では, 蛇型ロボットの環境に応じた制御則を獲得する枠組を開発するこ
とを目的とした. しかし, 蛇型ロボットは多関節であり, 状態空間と行動空間が大
きく学習が困難であるという問題がある. この問題を解決するために本研究では,
特徴量を用いた確率的方策勾配法に基づく CPG-actor-critic モデルを提案した.
蛇型ロボットは多関節であるため, 蛇型ロボットの状態空間は広い. しかし, 実際
の行動中の姿勢は限定された状態空間にのみ生じるため, 特徴抽出を行い状態を
集約した特徴空間上で学習を行った. シミュレーションでは, 2 つの CPG コント
ローラに対して学習を行った. 1 つ目は, Ekeberg モデルによる CPG コントロー
ラに対して学習を行った. 提案手法を用いることによって, 勾配のある地面と摩
擦係数が変化するという環境において, 蛇型ロボットが環境に適した推進運動を
獲得できることを示した. 2 つ目は, sin 関数による CPG コントーローラに対し
て学習を行った. 提案手法を用いることによって, 蛇型ロボットが負荷がかかった
状態において最適な振幅を獲得出来ることを示した. この 2 つのシミュレーショ
ンにより, 提案手法の有効性を示した.
5.2 課題
本研究では, 提案手法の有効性をシミュレーションにより示した. 提案手法を
実ロボットへ適用し, 有効性を確認することは課題である. 強化学習を実ロボット
へ適用する上での問題点は, 学習時間が長いためロボットが壊れしまうことであ
る. この問題点を解決するためには, 学習を高速化するためのアルゴリズムの改
良が必要である. また一方では, 長い学習時間に耐えるハードウェアの開発をし
なければならない. 蛇型ロボットを長時間動かす上で一番壊れやすい所は, モー
タであると考えられる. そのため, 長時間駆動に耐えられるモータを選定する必
要がある.
提案手法は, CPG コントローラを用いることによって, 狭い行動空間の中で制
39
御を行うことを可能とした. しかし, その一方で, 蛇型ロボットの滑走体形は S 字
形の動きに限定された. この S 字形の動きはヘビ式滑走と言われ [6], ヘビの典型
的な移動様式であるが, 滑走体形は他にも, サイドワインダ滑走, アコーディオン
式滑走や直線式滑走などがあり, 環境に応じて変化させている. これらの滑走体
形を, 環境に応じて学習によって獲得できる制御機構を作ることが出来れば, より
複雑な環境への適応も可能であると考えられる.
また, 提案手法の拡張として特徴量の自動選択が考えられる. 例えば, 本研究で
は蛇型ロボットの S 字体形をもとに生成した特徴量があるが, S 字体形でない場
合はこの特徴量は不必要となる. このような特徴量の選択を, モデル選択法によっ
て行うことが考えられる.
40
謝辞
本研究全般にわたって御指導いただきました石井信教授に深く感謝いたします.
日々の有益な助言を頂きました中村泰博士に深く感謝いたします. 修士論文をま
とめる上での助言を頂きました柴田智広助教授と前田新一助手に感謝致します.
五十嵐康伸氏と塚田祐基氏の助言は大変貴重なものでありました. 本田直樹君と
重ねた議論は大変有益なものであり, この研究だけでなく今後も大いに役立つこ
とと思います. 日常から研究に関して様々な助言をしていただいた論理生命学分
野の皆様に感謝致します. 最後に, 論文審査を引き受けて下さった石井信教授, 小
笠原司教授, 柴田智広助教授に改めてお礼申し上げます.
41
参考文献
[1] M. A. Arbib, editor. The Handbook of Brain Theory and Neural Networks.
MIT Press, second edition, 2002.
[2] A. H. Cohen, P. J. Holmes, and R. H. Rand. The nature of coupling between segmental oscillators of the lamprey spinal generator for locomotion:
A mathematical model. Journal of Mathematical Biology, Vol. 13, pp. 345–
369, 1982.
[3] J. Conradt and P Varshavskaya. Distributed central pattern generator control for a serpentine robot. In Joint International Conference on Artificial
Neural Networks and Neural Information Processing, 2003.
[4] Ö. Ekeberg. A combined neuronal and mechanical model of fish swimming.
Biological Cybernetics, Vol. 69, pp. 363–374, 1993.
[5] Y. Fukuoka, H. Kimura, and A. H. Cohen. Adaptive dynamic walking of
a quadruped robot on irregular terrain based on biological concepts. The
International Journal of Robotics Research, Vol. 22, No. 3-4, pp. 187–202,
2003.
[6] S. Hirose. Biologically Inspired Robots (Snake-like Locomotor and Manipulator). Oxford University Press, 1993.
[7] A.J. Ijspeert. A connectionist central pattern generator for the aquatic and
terrestrial gaits of a simulated salamander. Biological Cybernetics, Vol. 84,
No. 5, pp. 331–348, 2001.
[8] K. Inoue, S. Ma, and C. Jin. Neural oscillator network-based controller for
meandering locomotion of snake-like robots. In Proceedings of the IEEE
International Conference on Robotics and Automation, 2004.
42
[9] H. Kimura and S. Kobayashi. An analysis of actor/critic algorithms using
eligibility traces: Reinforcement learning with imperfect value function. In
15th International Conference on Machine Learning, pp. 278–286, 1998.
[10] Y. Nakamura, M. Sato, and S. Ishii. Reinforcement learning for biped robot.
In 2nd International Symposium on Adaptive Motion of Animals and Machines, 2003.
[11] R. Smith. Open dynamics engine. http://ode.org/.
[12] R. S. Sutton and A. G. Barto. Reinforcement Learning: An Introduction.
MIT Press, 1998.
[13] G. Taga, Y. Yamaguchi, and H. Shimizu. Selforganized control of bipedal
locomotion by neural oscillators in unpredictable environment. Biological
Cybernetics, Vol. 65, No. 3, pp. 147–159, 1991.
[14] R. Tedrake, T. W. Zhang, and H. S. Seung. Stochastic policy gradient
reinforcement learning on a simple 3d biped. In Proceedings of the IEEE
International Conference on Intelligent Robots and Systems, 2004.
[15] R. J. Williams. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine Learning, 1992.
[16] 岩谷靖, 石川将人, 原辰次. 三叉ヘビ型移動ロボットの運動解析と制御. 計測
自動制御学会論文集, Vol. 39, No. 12, pp. 1159–1161, 2003.
[17] 大須賀公一. ヘビ型ロボットによる狭空間探索–大大特「ヘビ型ロボットグ
ループ」の研究紹介–. 日本ロボット学会誌, Vol. 22, No. 5, pp. 554–557,
2004.
[18] 広瀬茂男, 古田勝久, 美多勉. スーパーメカノシステムの研究:東工大COE
プロジェクト. 日本ロボット学会誌, Vol. 18, No. 8, pp. 1061–1065, 2000.
43
[19] 金広文男, 金子健二, 藤原清司, 原田研介, 梶田秀司, 横井一仁, 比留川博久,
赤地一彦, 五十棲隆勝. ヒューマノイドの転倒回復機能の実現. 日本ロボット
学会誌, Vol. 22, No. 1, pp. 37–45, 2004.
44
Fly UP