強化学習を用いた uav の姿勢制御に関する研究 · 2-2. 強化学習...

16
1 強化学習を用いた UAV の姿勢制御に関する研究 Study on the postural control of the UAV using reinforcement learning 東北学院大学工学部 機械知能工学科 1241192 杉本卓哉

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

1

強化学習を用いた UAV の姿勢制御に関する研究

Study on the postural control of the UAV using reinforcement learning

東北学院大学工学部

機械知能工学科 1241192

杉本卓哉

Page 2: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

2

目次

1. 諸言・・・・・・・・・・・・・・・・・・・・・・・・・p3

2. 実験概要・・・・・・・・・・・・・・・・・・・・・・・p4

2-1. AR.Drone2.0・・・・・・・・・・・・・・・・・・・・・・・p4

2-2. 強化学習・・・・・・・・・・・・・・・・・・・・・・・・・p5

2-3. Q-learning・・・・・・・・・・・・・・・・・・・・・・・・p6

2-4. 実験設定・・・・・・・・・・・・・・・・・・・・・・・・・p7

2-5. 学習手順・・・・・・・・・・・・・・・・・・・・・・・・・p8

2-6. PID 制御による実験の補助・・・・・・・・・・・・・・・・・p10

2-7. 学習実験の条件・・・・・・・・・・・・・・・・・・・・・・p11

3. 実験結果・・・・・・・・・・・・・・・・・・・・・・・p12

3-1. 獲得報酬の変化・・・・・・・・・・・・・・・・・・・・・・p12

3-2. 学習の性能評価・・・・・・・・・・・・・・・・・・・・・・p13

3-3. PID 制御との性能比較・・・・・・・・・・・・・・・・・・・p13

3-4. Q 値と MG の遷移の関係・・・・・・・・・・・・・・・・・・p14

4. まとめと課題・・・・・・・・・・・・・・・・・・・・・p15

5. 謝辞・・・・・・・・・・・・・・・・・・・・・・・・・p16

6. 引用文献・・・・・・・・・・・・・・・・・・・・・・・p16

Page 3: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

3

1. 諸言

近年,無人航空機(Unmanned aerial vehicle,以下 UAV と記す)は,広い分野での活用が期待されている.

災害現場では,人間の進入が難しい領域での撮影に活用されている.また,スポーツシーンでは,試合を上

空から撮影することで,選手の育成に活用されている.

UAV の製品のいくつかは,一般の人々にとって身近なスマートフォンやタブレット端末による操縦が採

用されている.しかし,一般の人々が UAV を安全に操縦するためには,十分な経験を積む必要がある.ま

た,複数の UAV を同時に扱う場面では,衝突を避けるための高度な操縦を求められる.このことから,安

全な操縦をアシストする自動操縦システムが必要とされる.

一方,UAV は搭載されたジャイロセンサや加速度センサの情報により姿勢を制御する.しかし,機体の

故障などが発生すると,現有の制御器では制御が困難になる.また,このような非常事態を想定した制御器

の開発には限界がある.そのため,UAV の墜落に関する事故が起きている.機体の自動操縦や,トラブルに

対応する方法の一つとして,オンラインでの学習が可能な学習型制御器の導入が考えられる.

近年,強化学習をはじめとするロボットの行動学習に関する研究が盛んに行われている.強化学習を用い

ることで,ロボット自身が試行錯誤により,目標を達成するための適切な行動(制御)を獲得することがで

きる.そのため,機体にトラブルが発生しても,自律的に制御系を獲得することにより,対応することが期

待できる.また,制御系設計の負担を減らすことも期待できる.UAV に強化学習を適用した研究事例とし

て,高度の推定,自動操縦,安定した着陸などが,すでに行われている[1] [2] [3].

しかし,強化学習は行動の獲得に学習時間が必要になるため,UAV に応用した従来研究の多くは実機で

はなくシミュレーションによる学習性能の検証のみが行われている.一方で,これまでに,実機の UAV を

用いた学習に関する研究も行われている[4].しかし,同研究では強化学習ではなく,人間による操作を前提

とした模倣学習を扱っている.

本研究では,実機の AR.Drone2.0(パロット社製)を用い,強化学習による行動学習実験を行う.実機を

使用することで,シミュレーションでは再現が難しい環境(AR.Drone2.0 のホバリングにより生じる風や,

外部からの僅かな風)での学習の有無を検証することができる.実験では,機体に搭載された小型カメラか

ら取得した画像を元に,床に置かれたマーカー上で,安定したホバリングを実現するようにオンライン学習

を行った.

Page 4: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

4

2. 実験概要

2-1. AR.Drone2.0

本研究では,比較的安価であり,開発環境が整備されていることを考慮し,小型クアッドローターである

AR.Drone2.0(パロット社製)を実験に使用した.

AR.Drone2.0 は,コンピューターやスマートフォンでの操作が可能である.機体の前方と中央付近に,そ

れぞれ 1 つずつ小型カメラを搭載している.実験では中央付近の底面カメラを使用する.

Fig. 1 AR.Drone2.0

Page 5: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

5

2-2. 強化学習

強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

次の手順に従って行われる.

Step 1 システムはセンサにより自らがおかれた状態を観測する

Step 2 観測された状態をもとに行動する

Step 3 行動により変化した状態を観測し,その状態に対応する報酬を得る

Step 4 得られた報酬をもとに,より大きい報酬が得られるように状態と行動の関係を修正する

以上の step1~4 を何度も繰り返すことで,より大きい報酬を得るための状態と行動の関係を徐々に修正し

ていく.つまり,目標のとなる状態に到達したときに報酬を与えるように設定することで,目標を達成する

ための行動を学習することが可能になる.本実験では,単純な強化学習手法の Q-learning を使用した.

Fig. 2 Process of reinforcement learning

Page 6: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

6

2-3. Q-learning

Q-learningは,システムが試行錯誤しながら,Q 値と呼ばれる状態𝑠における行動𝑎を行う価値を,報酬𝑟に

よって更新していく.結果,システムは各状態で最も Q 値の高い行動をとるようになる.Q 値の更新は以

下の式で行う.

𝑄(𝑠𝑡, 𝑎𝑡) ← 𝑄(𝑠𝑡, 𝑎𝑡) + 𝛼[𝑟𝑡+1 + 𝛾𝑚𝑎𝑥𝛼′𝑄(𝑠𝑡+1, 𝑎′) − 𝑄(𝑠𝑡, 𝑎𝑡)] (1)

なお,時刻𝑡の時の状態を𝑠𝑡,行動を𝑎𝑡,時刻𝑡 + 1において最も価値の高い行動を𝑎′とする.学習率𝛼は学

習の速度に関わる定数である.また,割引率𝛾は未来にもらえる報酬を期待した修正に関わる定数である.

ここでは0 < 𝛼 < 1,0 < 𝛾 < 1の範囲で実験を行った.

Fig. 3 Process of Q-learning

Page 7: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

7

2-4. 学習実験の設定

本実験で用いた学習システムは,AR.Drone2.0 と PC により構成される.(Fig.4)AR.Drone2.0 と PCは Wi-

Fi により接続している.学習プログラムの開発には Visual C++を使用した.AR.Drone2.0 のカメラが取得し

た画像は PCに送信され,モニターにリアルタイムで表示される.

AR.Drone2.0 が,地面から高さ約 1mを飛行中に撮影した画像を,Fig.5 に示す.青の格子は取得した画像

に対して Open CV により描画したものである.マーカーの直径は 100mmであることから,格子のスケール

は縦 100m,横 214mmとなる.実験では,マーカーが存在する格子から状態を定義する.

PC は,画像の情報を元に画像処理と Q-learning を行い,決定した速度指令を AR.Drone2.0 に送信する.

この相互のやり取りを繰り返し行い,Q 値の学習を行う.ここでは,地面に配置したマーカーの上空で,

AR.Drone2.0 が静止(ホバリング)しているときを「安定した制御」と位置付け,「画像中央にマーカーを維

持する制御則の学習」を実験の目標とした.

Fig. 5 Image to be displayed on the monitor

Fig. 4 State of the experiment

PC AR.Drone2.0

Marker

Image

Velocity

command

Page 8: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

8

2-5. 学習手順

学習の流れを Fig.4 に示す.始めに,AR.Drone2.0 が飛行中に撮影した画像を PC に送信する.PC では,

受信した画像から「赤の要素が 100 以上,および緑と青より 1.5倍以上あるピクセル」を目的対象として識

別する.本実験では直径 100mmの赤いマーカーを目的対象とした.また,目的対象の中心座標を MG と設

定した.

Fig. 7 The arrangement of the state and rewards

Fig. 6 Flowchart of Q-learning

Page 9: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

9

次に,MG が位置する状態𝑠𝑡(マス目)を観測する.状態は Fig.5 のように,𝑠0~𝑠9がある. 𝑠9は青枠の外

側全域を指す.決定した状態をもとに行動𝑎𝑡を選択し,AR.Drone2.0 に行動(出力コマンド・速度指令)を

送信する.選択できる行動の種類は「右」「左」「前方」「後方」「その場に留まる」の 5つを使用した.行動

により,MG が位置する状態が他の状態に遷移した場合,遷移後の新たな状態を𝑠𝑡+1とする.

一方,行動パターン「右」「左」「前方」「後方」から,いずれかを選択し行動を実行しても,MGが位置す

る状態が遷移しない場合は,新たな状態へと遷移するまで,同じ出力コマンドを AR.Drone2.0 に送信し続け

る.

新たな状態𝑠𝑡+1へ MG が遷移したとき,および,行動パターンから「その場に留まる」を選択したときに,

報酬𝑟𝑡+1を得て Q 値を更新する.報酬は Fig.5 のように,各状態につき+10,-0.5,-60 とした.実験では,

「画像中央にマーカーを維持する制御則の学習」を目標としているため,画像中央にあたる状態𝑠4に最も大

きい報酬を置いた.なお,報酬値の大きさは予備実験により決定した.Q 値の更新 1回につき,学習回数を

1 回と数える.

Page 10: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

10

2-6. PID 制御による実験の補助

これまでに,AR.Drone2.0 に PID 制御を使用して,カメラ画像中央にマーカーを維持する実験が行われて

いる[5].

本研究の実験にて,AR.Drone2.0 が学習中に,マーカーの上空から遠ざかることがある.この場合,MG を

観測できず学習が進まなくなる.また,行動パターン「右」「左」「前方」「後方」「その場に留まる(出力 0)」

のみで MG を再度観測することは難しい.学習をスムーズに進行させる為に,実験の補助として PID 制御

[5]を使用した.

青枠の外側全域にあたる状態𝑠9で MG が観測された場合,PID 制御を用いて,MG が状態𝑠4に位置するま

で制御をかける.万が一,カメラ画像からマーカーが完全に消えても,最後に観測した MG を補完し,その

情報を頼りに PID制御をかける.このとき報酬は-60を得て Q値の更新を行う.更新は次の式を用いる.

𝑄(𝑠𝑡, 𝑎𝑡) ← 𝑄(𝑠𝑡, 𝑎𝑡) + 𝛼[𝑟𝑡+1 − 𝑄(𝑠𝑡, 𝑎𝑡)] (2)

式(2)は,式(1)に 𝛾=0 を代入した式である.これは,割引率を 0 にすることで,PID 制御後の報酬の期待

を無くす為である.さらに,状態𝑠4に復帰直後のみ Q 値の更新を行わない設定にした.これは,あくまで

PID 制御を実験の補助とした為あり,行動パターン「右」「左」「前方」「後方」「その場に留まる(出力 0)」

を使用した制御則の学習が望ましいからである.

Page 11: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

11

2-7. 学習実験の条件

AR.Drone2.0 に搭載するバッテリー残量がなくなるまでの飛行を 1セットとし,計 5セットの学習実験を

行った.学習初期の段階で Q 値はランダムに設定した.行動の選択確率は,学習初期はランダムとし,学習

回数 400 までに,徐々に Q値の大きさをもとに確率的に行動を選択する.また,学習回数 401以降は,Q 値

が最も高い行動を選択するよう設定した.学習率𝛼=0.9,割引率𝛾=0.8とし,実験場所は外乱の影響がほとん

どない屋内で行った.

学習回数 1 回 400 回 401 回以上

行動決定法 ランダム性高い ランダム性低い Q 値が最も高い行動を選択

Table.1 Selection probability of action

Page 12: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

12

3. 実験結果

3-1. 獲得報酬の変化

Fig.6 に学習曲線を示す.このグラフでは,学習回数 100 回毎の獲得報酬の総和を示している(5セット分

の平均).エラーバーは標準偏差を示している.

学習回数 400までの獲得報酬は低い値を示しているが,学習回数 401以降は獲得報酬が急激に上昇し,高

い値を保持している.このことから,より大きい報酬を得るための行動を学習できていると考えられる.ま

た,バッテリーが無くなり,飛行不能となる 1セット飛行時間は平均 11分 34秒,学習回数 400回までの飛

行時間は平均 7 分 11秒であった.

-800

-600

-400

-200

0

200

400

600

800

1000

0 100 200 300 400 500 600 700 800獲得報酬

学習回数

1 セット平均 11 分 34 秒

平均 7 分 11 秒

Fig. 8 Learning curve

Page 13: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

13

3-2. 学習による性能評価

学習による性能の評価を行うために,画像中央にあたる𝑠4に,マーカーの重心 MGが滞在した割合を比較

した.比較対象は,学習初期にあたる学習回数 1 からと,学習後期の学習回数 401 から,それぞれ 1 分間計

測した.Table.2 は,学習実験の 5セット中,最も成績が良かった 1セットのデータである.状態𝑠4に滞在し

た割合を見ると,滞在時間が約 15 秒増加していることが分かった.このことから,制御則の学習による性

能の向上を確認できた.

状態が𝑠4だった時間(%)

学習初期

(学習回数1から1分間) 3.09sec(5.17%)

学習後期

(学習回数401から1分間) 18.69sec(31.15%)

3-3. PID 制御との性能比較

これまでに,AR.Drone2.0 に PID 制御を使用して,カメラ画像中央にマーカーを維持する実験が行われて

いる[5].ここでは,[5]の結果から,最良の結果を引用して Table.3に示す.Table.3 は,1 分間の飛行中に画

像中央にマーカーを維持した時間と割合を示している.

画像中央にマーカーを維持した時間(%)

PID 制御(1 分間) 約 19.96sec(33.91%)

学習による性能(Table.2)と PID 制御の性能(Table.3)を比較すると,学習で獲得した制御則が,PID制

御に近い性能を記録していた.このことから,本研究の学習システムは,PID 制御を使用した AR.Drone2.0

に近い性能を,自律的に獲得できたと言える.この結果から,制御系設計の知識が少ない使用者の負担を,

学習システムが補完することを期待できる.

Table.2 Comparison of the learning performance

Table.3 Performance of the PID control

Page 14: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

14

3-4. Q 値と MG の遷移の関係

Q 値とは,状態𝑠において行動𝑎を行う価値のことである.実験では,PC が Q 値を更新しながら,

AR.Drone2.0 に行動(出力コマンド・速度指令)を送信していた.行動の種類は「右」「左」「前方」「後方」

「その場に留まる」の 5つを使用しており,この行動によりマーカーの重心 MG が位置する状態が他の状態

へ遷移する.

Table.3 は,各状態において MG の望ましい遷移を示している.実験では「画像中央にマーカーを維持す

る制御則の学習」を目標としていた.そのため,MG が画像中央にあたる状態𝑠4に向かって遷移し,状態𝑠4

からは他の状態へ遷移しない(状態𝑠4で滞在し続ける)ことが望ましい.Table.5 は実験で得た Q値を元に,

最も Table.4に近い MGの遷移を示している.

矢印の記号は,MG が遷移する方向を示し,×(バツ)の記号は MG が遷移しない(MG が滞在し続ける)

ことを示す.青色の記号は,各状態において最も高い Q 値から MG の遷移を示したものであり,緑色の記

号は 2番目に高い Q値から MG の遷移を示したものである.

𝒔𝟎 𝒔𝟏 𝒔𝟐

𝒔𝟑 𝒔𝟒 𝒔𝟓

𝒔𝟔 𝒔𝟕 𝒔𝟖

𝒔𝟎 𝒔𝟏 𝒔𝟐

𝒔𝟑 𝒔𝟒 𝒔𝟓

𝒔𝟔 𝒔𝟕 𝒔𝟖

Table.4と Table.5を比較すると,状態𝑠1,𝑠2,𝑠4,𝑠6,𝑠8における MGの遷移が一致していた.𝑠4が×(バ

ツ)の記号であることから,画像中央でマーカーを維持するための Q 値の学習ができていると言える.し

かし,Table.4のような MG の遷移に,完全に収束することはなかった.これには,次の要因が挙げられる.

1 つに,PCが選択する「行動」と AR.Drone2.0 が出力する「行動」に差異があったと考える.AR.Drone2.0

が「行動」を出力した際に生じる慣性力が,次に PCが選択した「行動」の出力に影響を及ぼすことがあっ

た.また,AR.Drone2.0 がホバリングすることで生じる風が,外乱となり,「行動」に影響を及ぼすことがあ

った.これらの影響は,PC の指示とは異なる「行動」を引き起こすため,Table.4 のような MGの遷移に収

束しないと考察する.

2 つ目に,報酬の値と配置が,まだ適切でない可能性が考えられる.これには,パラメーターの調整が必

要になる.

Table.4 Desirable transition of MG

Table.5 Desirable transition of MG by experiment

Page 15: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

15

4. まとめと課題

本研究では,実機の AR.Drone2.0(パロット社製)を用い,強化学習による行動学習実験を行った.実験

では,地面に配置したマーカーの上空で,AR.Drone2.0 が静止しているときを「安定した制御」と位置付け,

「画像中央にマーカーを維持する制御則の学習」を目標とした.

結果として,「安定した制御」を可能にする制御則の学習を確認した.また,学習による性能の向上を確

認できた.さらに,[5]の結果と性能の比較を行ったところ,本研究の学習システムが,[5]に近い性能を引き

出せたことから,制御における設計の負担を補完できたと言える.

今後の課題として,屋外を想定した学習や,学習の高速化,パラメーターの改善が挙げられる.

Page 16: 強化学習を用いた UAV の姿勢制御に関する研究 · 2-2. 強化学習 強化学習とは,目標のための望ましい入出力関係を,システムに自動的に獲得させる手法である.学習は

16

5. 謝辞

本研究の一部は,科研費基盤研究(C)(15K00363)の助成により行われました.ここに謝意を表します.

郷古学准教授には,強化学習や実験計画の指導をいただきました.新谷茂明君には,PID制御の助言をいた

だきました.これらの人々にお礼申し上げます.

6. 引用文献

[1] Anoop Cherian,Jonathan Andersh,Vassilios Morellas,Berenice Mettler,”Autonomous Altitude Estimation of

a UAV using a Single Onboard Camera,” Proceedings of IEEE/RSJ International Conference on Intelligent Robots and

Systems (IROS),pp. 3900-3905,2009.

[2] Haitham Bou-Ammar,Holger Voos,Wolfgang Ertel,”Controller Design for quadrotor UAVs using Reinforcement

Learning,” Proceedings of 2010 IEEE International Conference on Control Applications part of 2010 IEEE Multi-

Conference on Systems and Control,pp.2130-2135,2010.

[3] Narek Melik-Barkhudarov,Andreas Wendel,Debadeepta Dey,”Vision-Based Landing of a Simulated Unmanned

Aerial Vehicle with Fast Reinforcement Learning,” Proceedings of International Conference on Emerging Security

Technologies (EST),pp. 183-188,2010.

[4] Mark N R Smith,Shigang Yue,Tom Duckett,”Learning Monocular Reactive UAV Control in Cluttered Natural

Environments,” Proceedings of IEEE International Conference on Robotics and Automation (ICRA),pp.1765-1772,

2013.

[5]新谷茂明,”カメラ画像に基づいたUAVの姿勢制御システムの開発”,東北学院大学工学部 機械知能工

学科 学位論文・卒業論文概要集,Vol. 28-ME(2016), pp. ME-81.