計測自動制御学会東北支部第337回研究集会(2022.6.27)
資料番号337-5

多脚歩行ロボット制御のための深層強化学習におけるパラメータ調整
Parameter Tuning in Deep Reinforcement Learning for MultileggedRobot Control○大澤士竜*, 釜谷博行*, 工藤憲昌*, 原元司**
Shiryu Osawa*, Hiroyuki Kamaya*, Norimasa Kudoh*, Motoshi Hara***

八戸工業高等専門学校, **松江工業高等専門学校*National Institute of Technology, Hachinohe College,**National Institute of Technology, Matsue College
キーワード: 深層強化学習(Deep Reinforcement Learning), 多脚ロボット(Multilegged Robot)
連絡先: 〒039-1192 青森県八戸市田面木字上野平16-1 八戸工業高等専門学校 産業システム工学専攻
Tel.: 0178-27-7283，E-mail: kamaya-e@hachinohe-ct.ac.jp

態へ到達するための行動を獲得するための手法である。その際、環境等に関する先験的な知識は必要なく、各状態、および行動に対して評価を与えることにより、エージェントは学習を進めることが可能である。

1. はじめに
近年、地震等の災害発生時の救助活動や惑星探査などの分野で多脚ロボットが登場し、注目されている。多脚ロボットは支持脚が多いため安定性が高く不整地での活躍が期待されている[1]。新しい機構や移動方法の開発など、多脚ロボットの不整地での走破性の向上が研究されているが、歩行ロボットの歩行制御は運動学、動力学、状態遷移軌道などの難解な要因を考慮しなければならなく、開発には人の手がかかり、

2.2 Q-learning
Q-learning は、方策に依存しない学習手法である。この手法では、ある状態において、行動を選択し実行する。これによって得られた報酬から行動の価値 Q 値を更新することで、より価値の高い行動をとるよう学習を進めていく。Qlearning は状態、行動ともに離散値のみを扱う。

関節が増えるほど自由度が増え、歩行モーショ
2.3 Normalized Advantage Function (NAF)ンの作成が困難となる。このため、強化学習にNAF は Q-learning のアプローチに基づいたよる歩行動作の獲得が提案されている。
本研究では、ロボット制御に適している連続手法であり、行動、状態ともに連続値を扱う。

値を扱える深層強化学習の一つである、

NAF は DDPG(Deep deterministic policy

Normalized Advantage Function(NAF)に注目

Gradient)よりも多くのタスクにおいて、収束し、歩行動作の学習を行う。

までにかかるエピソード数が少ないことが指摘されている[2]。
NAF の処理の流れを Algorithm1 に示す。

2. 深層強化学習

Algorithm1 において、Q は Q 関数全体を、Q′

2.1 強化学習
強化学習とは、学習を行う主体であるエー
ジェントが環境との相互作用を通し、目標状はそのターゲットネットワークを、µ は方策関数を、R は過去ログデータを蓄積するリプレイ
1

バッファを指す。また、𝐼はネットワーク更新頻
𝐿=度であり、本研究では𝐼 = 1とする。γは割引率、τは学習率である。
14 行目において、𝑄(𝒙𝑖 , 𝒖𝑖 |𝜃 𝑄 )15は式(1)のように、アドバンテージ関数と状態価′

1617

𝑄(𝒙, 𝒖|𝜃= 𝐴(𝒙, 𝒖|𝜃𝐴)+ 𝑉(𝒙|𝜃𝑉)

18(1)𝐴(𝒙, 𝒖|𝜃 𝐴 )1= − (𝒖 − 𝜇(𝒙|𝜃 𝜇 ))𝑇 𝑷(𝒙|𝜃 𝑃 )(𝒖 − 𝜇(𝒙|𝜃 𝜇 )) (2)2𝑷(𝒙|𝜃𝑃)= 𝑳(𝒙|𝜃𝑃 )𝑳(𝒙|𝜃 𝑃 )𝑇

ターゲットネットワークの更新𝜃 𝑄 ← 𝜏𝜃 𝑄 + (1 − 𝜏)𝜃 𝑄

値𝑉(𝒙|𝜃 𝑉 )から求められる。
𝑄)

1∑ (𝑦𝑖 − 𝑄(𝒙𝑖 , 𝒖𝑖 |𝜃 𝑄 ))2𝑛𝑖′

End forEnd forEnd for

行動の探索のため、ネットワークから出力された行動𝒙𝑡 にはノイズを付与する。本研究では、(3)

𝒙𝑡 を平均値、𝛼𝑷−1を共分散行列とした多変量正規分布を生成し、この分布からのランダムサンアドバンテージ関数は式(2)で近似され、𝒙にプリングによるノイズシステムを導入する。α𝜇 )をとはノイズの範囲を調整するハイパーパラメー

おいて行動𝒖をとった価値と、行動𝜇(𝒙|𝜃

った価値の差を表す。ここで、𝑷は正定行列であり、一般に(3)式を満たす下三角行列𝑳(𝒙|𝜃タであり、目的地に到達できるよう調整する。

𝑃)を持つ。従って、NAF ではこの𝑳(𝒙|𝜃 𝑃 )を学習

3. シミュレーション環境する。

本研究では、Unity によって構築したシミュレーション環境内で学習を行う。Unity は、レAlgorithm1

ンダリング、物理エンジン、Unity Editor と呼Normalized Advantage Function

ばれるグラフィカルユーザーインターフェイ

1

Q 関数のランダム初期化 𝑄(𝒙, 𝒖|𝜃 𝑄 )スで構成されるリアルタイム 3D 開発プラット2

ターゲットネットワークの初期化フォームである。Unity は、さまざまなプラッ′𝜃𝑄 ← 𝜃𝑄

トフォーム、開発者の技術レベル、およびゲー

3

リプレイバッファの初期化 𝑅 ← ∅ムタイプをサポートする汎用エンジンとして

4

for episode = 1, max episode do開発された。したがって、Unity エンジンは AI

5

ノイズプロセス𝑁の初期化研究の理想的なシミュレーションプラットフ

6

初期状態を観測 𝒙1 ~𝑝(𝒙1 )ォームである[3]。

7for t = 1, max timestep do

8

行動𝒖𝑡 の選択 𝒖𝑡 = 𝜇(𝒙𝑡 |𝜃 𝜇 ) + 𝑁𝑡

9

行動𝒖𝑡 の実行

10遷移(𝒙𝑡 , 𝒖𝑡 , 𝑟𝑡 , 𝒙𝑡+1 )を𝑅に追加者が Unity Editor を使用してシミュレートさ11

for iteration=1, 𝐼 do

れた環境を作成し、PythonAPI を介してそれら

12

3.1 Unity ML-Agents Toolkit
Unity ML-Agents Toolkit は、研究者や開発𝑅より、バッチサイズ分の遷移と通信できるようにするオープンソースプロデータをランダムサンプリングジェクトである。ツールキットは、学習パイプ

13

y𝑖 = 𝑟𝑖 + 𝛾𝑉′(𝒙𝑖+1 |𝜃 𝑄′ )を代入ラインを構築するためのコア C＃スクリプトと14損失関数𝐿が最小となるようにともに、Unity エディタ内の環境を定義するた

𝜃 𝑄 を更新

めに必要なすべての機能を含む ML-Agents
2SDK を提供する。また、ML-Agents Toolkit は、Table 1 各関節の可動域多くの研究者が使用する標準の gym インター

関節角下限 [°]

上限 [°]

フェースの使用を可能とするラッパーAPI の𝜃1-3030セットを提供している。これにより、gym ラッ𝜃260120

パーを介して独自の学習アルゴリズムの実装

𝜃3-3030が可能となる。
3.3 シミュレーション環境
3.2 ロボットモデル

ML-Agents Toolkit のサンプル Crawler をも本研究では，4 脚ロボットについて学習を行とにシミュレーション環境を構築する。Fig.4う。
ロボットモデルを Fig.1 に示す。
モデルは、に構築した環境を示す。地形は平地であり、乗ML-Agents Toolkit のサンプルである 4 脚ロボり越えることのできない壁に囲まれている。学ットモデル（Crawler）を使用した。Fig.2 に脚習を行うモデルは 3.2 節で述べた 4 脚ロボットの正面図、Fig.3 に脚の平面図を示す。関節は、モデルである。学習の目的を「ターゲット地点各パーツの接合部であり、各脚に二か所存在すへの到達」とし、かつ移動の際は「ターゲットる。図中の矢印が関節の回転角を示している。の方向を向く」ことを目指す。Fig.4 における関節の可動域を Table 1 に示す。各脚の自由度

緑色のキューブがターゲット地点となり、ロボは 3 となる。サイズについて、Fig.1 の矢印のットから 30[m]離れた地点とする。

幅を 2[m]と定義する。

Fig.1 Crawler

𝜃2

Fig.4 構築した環境
4. 学習パラメータ𝜃14.1 実験方法
各ハイパーパラメータを Table 2 に示す。1
試 行 あ た り 5,000 ス テ ッ プ を 最 大 と し 、Fig.2 脚の正面図

1,000,000 ステップで学習を行う。ロボットが転倒した場合や、ボディが地面に接触した場合にはロボットの位置がリセットされる。初期位
置のボディの向きは、ターゲットの方向を向くよう設定した。

𝜃3
Table 2 ハイパーパラメータ
Fig.3 脚の平面図

ハイパーパラメータ
3値最適化手法Table 4 状態データ

Adam

割引率0.99

データ

ターゲット更新係数

0.005

速度ベクトルと目標速度ベクト

学習率0.001

ルの差損失関数

MSE

速度ベクトル

3活性化関数tanh

目標速度ベクトル

3

ボディ方向からキューブ方向へ

4

リプレイバッファサイズ
バッチサイズ

100,0002048

Q ネットワーク、ターゲットネ

次元数1の回転角4ターゲットまでの距離

3

ボディ下部の地面までの距離

1

ボディのパーツ情報

15

ットワークの隠れ層のユニッ

上脚のパーツ情報

16×4

ト数

前脚のパーツ情報

16×4

合計

158

ットワークの隠れ層の数
Q ネットワーク、ターゲットネ

512

4.2 学習要素
学習要素である状態、行動、報酬は Unity 内

Table 5 パーツ情報

で定義される。これを gym ラッパーによりデータ

Pytorch が受け取り、行動パラメータを送信す

ボディのパーツ情報

15↳地面の衝突判定

1

↳速度

3

↳回転角

4

↳ボディからの相対座標3↳ボディからの相対回転角4ることでロボットの制御を行う。
4.2.1 行動
Table 3 に、行動として Pytorch から送信されるデータを示す。
行動空間の合計の次元数は 20となる。

上脚、前脚のパーツ情報
Table 3 行動データ

データ

次元数

次元数

16

↳地面の衝突判定

1

↳速度

3

↳回転角

4

上脚の回転角

2×4↳ボディからの相対座標

3

前脚の回転角

1×4↳ボディからの相対回転角4上脚の力

1×4

↳力1

前脚の力

1×4

合計

204.2.3 報酬
報酬は大きく分けて２種類定義する。まず、

4.2.2 状態

ターゲット地点到達時のゴール報酬としてr =Table 4、Table 5 に、状態として Pytorch で1を与える。次に、ステップ毎のステップ報酬で受信するデータを示す。状態空間の合計の次元ある。学習の目的から、Table 6 のようにステ数は 158 となる。また、回転角はクオータニオップ報酬を設計した。𝑣は目標速度ベクトルとンで表わされる。

ロボットの速度ベクトルの内積、𝜃[rad]はロボ4

ットの向きとターゲット方向の成す角を示す。

たたまれた際に、元に戻すことが出来ず転倒してしまう挙動が多く見受けられた。

Table 6 ステップ報酬
𝑣 > 0.2 0.2 ≥ 𝑣 > 0𝜋−1−1< |𝜃| ≤ 𝜋2𝜋𝜋−10< |𝜃| ≤42𝜋100 ≤ |𝜃| <4𝑣≤0−1

6. おわりに
今回は行動空間ノイズの大きさによる学習−1結果を比較した。結果として、ほぼすべてのαに−1おいて歩行動作が得られた。特に、α = 0.3で優れた結果が得られた。これについて、学習条件の多くを単純化しているため、探索の必要性が5. 実験

少なく、小さいほど良い結果が得られたと考え

行動空間ノイズのパラメータαについて、α =られる。今後の課題として、ロボットがランダ

0.1、α = 0.3、α = 0.5、α = 1、α = 2それぞれのムな方向を向いて生成され方向転換が必要な場合について比較する。Table 7 にゴール回数場合等の環境での学習を行っていきたい。

を、Fig.5 にターゲットとロボット間の最小距離を示す。Table 7 より、α = 0.3においてもっ参考文献ともゴール回数が多くなり、そこから α の値が[1]. 渡邉宗一郎,西山雄輝,程島竜一,琴坂信哉,離れるほどゴール回数が減っていることが分“ザトウグモ型かる。

ASURA I の開発-第４報: 脚機構の解析と6 脚歩行ロボット基本動作実験”,ロボティクスメカニクス講
Table 7 各 α におけるゴール回数

演会 1A1-P10(2013).

0.1

0.30.5

12

ゴール回数

794

1110

ターゲット-ロボット間距離[m]α35[2]. Shixiang Gu, Timothy Lillicrap, Ilya
Sutskever, Sergey Levine,” Continuous
Deep Q-Learning with Model-based
Acceleration”,arXiv:1603.00748v1 (2016)30[3]. Arthur Juliani, Vincent-Pierre Berges,

25

Ervin Teng , Andrew Cohen, Jonathan

20Harper, Chris Elion, Chris Goy, Yuan

15Gao, Hunter Henry, Marwan Mattar,

10

DannyLange,”Unity:AGeneral

5Platformfor

IntelligentAgents”,

00500000
ステップ

α=0.1
α=0.5
α=2
10 区間移動平均 (α=0.3)
10 区間移動平均 (α=1)

arXiv:1809.02627 (2020).

1000000
α=0.3
α=1
10 区間移動平均 (α=0.1)
10 区間移動平均 (α=0.5)
10 区間移動平均 (α=2)

Fig.5 ターゲット-ロボット間距離動作について、ノイズパラメータに関わらず、脚を小刻みに動かして移動する行動が得られた。特にα = 0.1については、全脚が内側に折り5