䢳䣃䢳䢯䣈䢳䢸

拡散学習を用いた不完全な知覚を有するロボットのための状態推定法
State estimation method for robots with incomplete perception using Diﬀusion-based learning○栗田 英介 (東京農工大)学 里 悠太 (東京農工大)准 小林 祐一 (東京農工大/理研 RTC)
Eisuke KURITA , Tokyo University of Agriculture and Technology
Yuta SATO , Tokyo University of Agriculture and Technology
Yuichi KOBAYASHI , Tokyo University of Agriculture and Technology/RIKEN RTC
We propose a state estimation method for robots with incomplete perception. There is a casethat cannot robots observe the state adequately for sensor information. For example, in a task of hand
position control with a manipulator, the hand cannot be seen if it is out of vision range of camera.
The robot estimates virtual state with diﬀusion-based learning. The propose method is verified byestimating a virtual state of mobile robot with vision range of camera.
Key Words: mobile robot , estimate self-location , incomplete perception

1

はじめに

1.1 研究背景
近年，ロボットは，産業用ロボット以外に，ペットロボットや掃除ロボット，介護ロボット，惑星探査ロボットなど様々な場で利用されることが期待されている．しかし，従来のように工場などの既知環境を主な活動範囲とし，組み立て作業などあらかじめ決められた行動を繰り返すようなロボットと同じ設計方法では，このようなロボットを実現することは難しい．そのため，状況に応じて柔軟な対応が求められるロボットを実現するためには，環境に応じてロボットが自律的に行動を決定する方法が必要である．
ロボットに自律的に行動を決定させるためのアプローチとして，ロボットが自身の経験から学習する方法が考えられる．学習には多様な問題があるが，その中の 1 つにロボットの観測情報と行動の間の関係を学習する問題がある．この関係を用いて，観測情報の望ましい変化を実現するための行動を求めることができる．
しかし，観測情報には，カメラの視野制限やセンサの測定範囲の限界等により，適切に観測が行えない場合がある．例えば，図1 に示すように，ロボットアームの手先位置をカメラを用いて観測することを想定した場合，カメラの視野範囲外に手先位置が出てしまうと，正確な手先位置の情報が観測できなくなる．そのため，ロボットに学習を行わせるとき，センサが適切な観測情報を獲得できない状況が存在することを考慮する必要がある．

1.2 関連研究
目的に応じた行動をロボットに自律的に生成させるため，研究が行われている．郷古らの提案した行動創発のための自己組織的学習モデル [1] は，ロボットに搭載したセンサ情報をロボットのカメラ画像
手先位置を観測状態パターンとして観測し，ロボットに様々な行動を行わせ，行動前と行動後の状態パターンの差とその時の行動を対にしてモデルとして記憶させるものである．十分にモデルの記憶をさせた後，ロボットに目標となる状態パターンを与える．現在の状態パターンと目標パターンの差をとり，その差に一番近いモデルを選び，行動を生成する．これにより，徐々にロボットは状態を目標に近づけることが出来る．郷古らは，この手法を 2 輪走行ロボットに適用して，障害物回避運動や壁沿い走行運動等のシミュレーションを行っている．
適切な観測が行えない状況を回避する研究も行われている．三柳らはロボットに，ある環境中で目的に応じた作業をさせるために，ロボットが作業を行う環境に複数の視覚センサを設置した．
これらのセンサから得られる情報を，ネットワークを通じてロボットに送信することで，ロボットに必要となる情報を補うという手法を提案した [2]．三柳らはこの手法で，移動マニピュレー
タによる対象物の把持や環境中の移動ロボットの自己推定位置の修正等を行っており，ロボットの活動範囲が限定された環境下での情報獲得において有効な手法であることを示している．
複数のロボットを環境中で活動させ，お互いの得た観測データを共有し合うことで，精度の高い観測をさせる研究も行われている．西村らは，複数のロボットが互いに情報を共有することで高精度の自己位置推定を行う方法を提案している [3]．この手法では環境中にランドマークというロボットの環境情報収観測のための目印をいくつか配置している．まず，カメラでランドマークのデータを獲得し，各ロボットはランドマーク位置の情報のみで自己位置推定を行う．次に自己の推定した位置情報を他のロボットと相互交換する．そして，得られた情報から他のロボットもランドマークと見なし，再度自己位置推定を行う．西村らはこの手法
で，高性能な観測装置等を用いなくても，複数のロボットが互いに情報を共有することで高精度の自己位置推定を行えることを示している．

1.3

カメラ

Fig. 1: 適切な観測が行えない例

目的

背景でも述べたとおり，環境情報の獲得には，適切に状態を観測できない状況が存在し，学習の際に誤った経験をロボットに蓄えてしまう恐れが存在する．[1] では，誤った状態パターンを観測しても，正常な状態パターンと同様にロボットに記憶させてし䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢳䣃䢳䢯䣈䢳䢸䢪䢳䢫まう．対して，[2] では，誤った観測を防ぐため，センサを環境中に設置したが，その方法ではロボットの活動範囲を制限してしまうことになる．また，[3] では，複数のロボットを協調行動させるため，協調行動を行わせるための複雑な制御則が必要となる．
そこで，本研究では拡散学習という手法を用いて，センサによる観測範囲外の観測値をロボットに推定を行わせてロボットの行動と観測情報の関係を学習する方法を提案する．提案する学習法の利点は，ロボットが観測範囲外の情報を推定するため，観測できない状況を防ぐための特別な機構や制御則を必要としないことである．また，活動範囲を制限する必要も無く，未知の環境での活動にも適用することができる．

2内の関数行列 Jat ,bt の学習は，式 (1) の両辺の二乗誤差を最小化する方法で行う．両辺の二乗誤差を E とし，次式に示す．

E=∥ {(yt+∆t − yt ) − Jat ,bt ut } ∥2
∥ ut ∥2

ここで ∥ ut ∥2 は二乗誤差を正規化するために挿入している．図 2に式 (2) の E と Jat ,bt の関係のグラフを示す．図 2 に示した Jat ,btを最適値に近づけることにより，二乗誤差 E を最小化することができる．二乗誤差 E を最小化することにより，式 (1) の両辺が等しい数値を示すことを意味する． Jat ,bt を最適値に近づけるため，勾配法にもとづいて Jat ,bt を更新を次式で行う．

Jat ,bt ← Jat ,bt − cα1

拡散学習を用いた状態推定法

2.1 問題設定
時刻 t でのロボットの状態を xt ∈ R2 ，観測を yt ∈ R2 ，行動をu ∈ R2 とする．ロボットは運動学や状態方程式など，自身の運動や観測に関するモデルを用いないものとする．状態と観測は 1対 1 対応の関係が成り立っているものとする．観測 y には観測範囲が存在し，観測範囲外の領域では観測信号が得られない．また，観測範囲外かどうかはロボットは判断可能であるものとする．
また，ノイズ等によるセンサ情報の不完全性は考慮しないものとする．
ロボットが行動 u ∈ R2 を微小時間 ∆t だけ行い，ロボットの観測が yt+∆t に変化したとする．観測情報と行動の関係を次のように表せるとする．

yt+∆t − yt = J xt ut(2)∂E∂Jat ,bt(3)

ここで c は学習率と言い，過度に J xt が変化するのを防ぐ定数である．α1 は状態 xt の関数行列の学習回数に応じたガウス関数
exp(− j/K)， j は状態 xt の関数行列の学習回数，K は定数である．
このガウス関数 α1 により，学習回数を重ねる度に更新する割合が小さくなっていく．ここで，∂E/∂Jat ,bt は次式のようになる．

∂E= −2((yt+∆t − yt ) − Jat ,bt ut )uTt
∂Jat ,bt(4)これを，式 (3) に代入すると次式のようになる．

Jat ,bt ← Jat ,bt + cα1{(yt+∆t − yt ) − Jat ,bt ut }uTt
∥ ut ∥2(5)(1)
観測範囲外の状態の関数行列の学習

2.3
J xt を状態 xt に対する関数行列と言い，正則行列であるとする．
この関数行列の逆行列を求めることにより，目的に応じた望ましい観測の変化を実現する行動を求めることが出来る．
2.2 観測範囲内の関数行列の学習
本来，状態 xt は連続的に変化する変数である． xt を離散化した 2 次元格子の at , bt 番目の格子を (at , bt ) と表し（at , bt ∈ N），この点における関数行列を Jat ,bt と定義し，学習を行う．観測範囲

E

図 3 のような，カメラ画像からロボットアームの手先位置を観測すると想定した場合を考える．手先位置がカメラの視野範囲外に出ると，手先位置の観測情報が取得できなくなる．つまり，
式 (1) の yt と yt+∆t の値が得られないため，観測範囲外の状態の関数行列の更新が行えない．そこで，観測範囲外の状態で観測するであろう信号を仮想的に推定し，関数行列の学習を行う．
今，範囲外の状態で行動を n 回行い，再び観測範囲内の状態に戻ってきたと仮定する．n 回行動後のロボットが推定する観測値ŷ は次式のようになる．

ŷ =n
∑

(Ja(i),b(i) ui ) + y(6)i=1

J a ,b 更新t

ここで，y は観測範囲外に出る直前に観測できた観測値，ui は観測範囲外に出てから i 回目にとった行動，a(i), b(i) は i 回目の離散化された状態である．この時，再び観測できた観測値と観測範t∂E∂J a ,btt

カメラ画像

最適値

J a ,bttyt

行動

カメラ画像

n回行動y t + ∆t

カメラ画像

ŷFig. 2: 二乗誤差 E と観測行列 Jat ,bt の関係
Fig. 3: 適切な観測が行えない例

䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢳䣃䢳䢯䣈䢳䢸䢪䢴䢫

囲外の関数行列を用いて仮想的に推定した観測値が等しくなる必要がある．整合性を持たせるため観測範囲内の関数行列の学習同様に n 回行動に観測できた観測値 yr と推定した観測値 ŷ の二乗誤差を最小にする方法で学習を行わせる．

E=∥ {yr − y −θl∑n2i=1 (Ja(i),b(i) ui )} ∥2∥ ui ∥(7)∂E∂Ja(i),b(i)(8)

Fig. 4: 移動ロボット

ここで，∂E/∂Ja(i),b(i) は，次式のようになる．
n∑∂E= −2{yright − y −(Ja(i),b(i) ui )}uTt∂Ja(i),b(i)i=1

式 (9) を式 (7) に代入すると，次式のようになる．
∑{yr − y − ni=1 (Ja(i),b(i) ui )} T
Ja(i),b(i) ← Ja(i),b(i) + cα1ut∥ ut ∥2(9)1(Ja(i)−1,b(i) + Ja(i)+1,b(i) + Ja(i),b(i)−1 + Ja(i),b(i)+1 )
4

1α2 (Ja(i)−1,b(i) + Ja(i)+1,b(i) + Ja(i),b(i)−1 + Ja(i),b(i)+1 )4∑{yright − y − ni=1 (Ja(i),b(i) ui )} T+cα1ut∥ ut ∥2(11)(12)

ここで，α2 = 1 − exp(− j/K) である．α1 , α2 を加えることにより，初め，整合性に重みを大きく連続性の重みを小さくしている．更新を重ねるごとに整合性の重みは小さくなっていき，逆に連続性の重みは大きくなっていく．

3

壁s max

これにより，関数行列同士に連続性が生まれ，解を一意に定めることが出来る．式 (10) と式 (11) を合わせた式を次式に示す．

Ja(i),b(i) ←sl(10)このような方法で仮想的な観測値に対する関数行列を推定する
方法の問題点として，整合性を満たす観測範囲外の観測値は無限に存在するという点があげられる．そのため，解を一意に定めることができない．そこで，解を一意に定めるため，Luo らが提案した拡散学習 [4] を用いる．拡散学習とは，解が無限に存在する問題を解く際，格子上の空間的変化に対する観測行列の変化を最小にするという拘束条件をロボットに与え，無限に存在する解を一意に定める手法である．拡散学習の拘束を勾配法で更新式に直したものを次式に示す．

Ja(i),b(i) ←ωrωl

観測範囲内の関数行列の更新と同様，二乗誤差 E を最小化する
Ja(i),b(i) に更新するため，勾配法にもとづいて Ja(i),b(i) の更新を次式で行う．

Ja(i),b(i) ← Ja(i),b(i) + cα1

壁移動ロボットを用いた不完全な観測情報の推定検証

3.1 移動ロボットの条件設定
MATLAB 上でカメラを搭載した 2 輪走行ロボットによる本提案手法のシミュレーションを行った．前方に長い直線状の壁がある環境で，ロボットは図 4，図 5 に示すようにカメラから壁の画像を取得し，s = (sl , sr ) を観測 y として獲得する．sl , sr にはカメラの視野制限による観測限界 smax が存在する．状態 x は，ロボッ

srs max

地面Fig. 5: カメラ画像
トと壁までの距離 l と進入角度 θ である．ロボットの左右の車輪の回転速度 u = (ωl , ωr ) を行動として与える．
ロボットが壁に近づき過ぎた場合，観測値は smax となり，観測値は得られなかったと判断される．そこで，ロボットの観測と行動の関係を学習させ，壁に近い状態でも観測を推定できるかどうか検証を行った．

3.2

ナビゲーションの検証

学習には，各離散状態の関数行列が 1000 回以上更新されるまで，学習を行わせた．ロボットは観測範囲内の状態では行動をランダムに与えて学習を行う．観測範囲内の状態の関数行列が十分に学習した後，観測範囲外の関数行列の学習を行う．ロボットは観測 smax を取得した時，現在の状態が観測範囲外と判断する．この場合，ロボットは前にとった行動の逆パターンの行動をとり,範囲外に出る前の観測範囲内の状態に戻る．そして，観測範囲外の関数行列の学習を行う．このように，観測範囲外に出た場合，前の観測範囲内の状態に戻るという一連の動きを行い，観測範囲外の関数行列の学習を行う．
図 6，図 7 に学習後のロボットが観測が限界値を超え，再び，観測範囲内の状態に戻ってきた時の sl , sr の変化と，ロボットが仮想的に推定した観測値を比べた図を示す．図 6 は観測範囲外に出た後，1 回目の行動で観測範囲内の状態に戻ってきた時の観測値の変化，図 7 は観測範囲外に出た後，3 回行動後に観測範囲内の状態に戻ってきた時の観測値の変化である．図 6，図 7 を見ると，実際のロボットの観測値は smax 以上の数値を示すことは出来ないが，学習した関数行列を用いて推定した観測値は smax 以上䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢳䣃䢳䢯䣈䢳䢸䢪䢵䢫90.17

80.16570.160.155

5bSｒ

640.1530.14520.240.245

0.25
Smax0.255

0.260.265

1Sｌ001234Fig. 6: 観測限界から戻ってきた場合の観測値と推定値 (1)56789aFig. 8: 関数行列の連続性を検証する図
0.24

図示した図である．関数行列の図示方法として，各状態 (a, b) の関数行列 Ja,b を [s′r , s′l ]T = Ja,b [1, 1]T として s′r , s′l を方向表示したものを描いた．これは，u = [1, 1]T を与えたときの観測値の変化量を表す赤線が観測範囲外の関数行列，青線が観測範囲内の関数行列の方向ベクトルである．観測範囲内外に関わらず，すべての関数行列の方向ベクトルが連続的に変化しているのが分かる．このことから，連続性を備えた学習が行えたと言える．

0.23
0.22
0.21

Sr

0.2
0.19
0.18
0.17

40.16
0.15

0.24

0.245

0.25
Smax

0.255

0.26

0.265

0.27

0.275

SlFig. 7: 観測限界から戻ってきた場合の観測値と推定値 (2)の数値を示すことが出来た．また，観測範囲内に戻ってきた時の推定値と実際の観測値は等しい値を示すことは出来なかったが，同じ傾向を示す結果が得られた．図 6 ではロボットが推定した観測値の経路長 0.0338 に対し，推定した観測値と実際の観測値の誤差は 0.0012 であった．図 7 ではロボットが推定した観測値の経路長 0.1066 に対し，推定した観測値と実際の観測値の誤差は 0.0137 であった．この結果から観測範囲外での行動回数に応じて，誤差も大きくなることがわかる．ロボットは観測可能領域外では実際の観測値が使えないので，ロボットが推定した観測を用いる．そのため，観測可能領域外で行動を繰り返すと，その分だけ誤差が生じてしまい，実際の観測と仮想的に推定した観測との誤差が大きくなってしまうためである．
次に観測範囲外の推定した観測値を一意に決めるために拘束条件として与えた連続性が成り立っているか検証した．関数行列の規則性を検証した結果を図 8 に示す．図 8 は各状態の関数行列をおわりに本研究では，拡散学習を用いてロボットの観測情報と行動の関係を学習する手法をを提案し，MATLAB による移動ロボットを用いたシミュレーションを行い，検証を行った．移動ロボットによる適用では，実際の観測と推定した観測の変化は同じ傾向を示した．これにより，目的に応じた望ましい観測情報の変化を実現する行動を求めることが可能になる．
提案された推定法を実機移動ロボットによって検証することは今後の課題である．しかし実機を用いる場合，今回は考慮に入れていなかったノイズによるセンサの観測情報に誤差が含まれる問題が出てきてしまう．実機での検証を行うため，より実用的な問
題に研究を拡大する予定である．

文 献[1] 郷古学, 登美直樹, 長野智晃, 伊藤宏司: ”行動創発のための自己組織的学習モデル”. 第 20 回自律分散システム・シンポジウム資料,pp.91-94,2008.
[2] 三柳秀人, 永谷圭司, 五福明夫: ”自律移動ロボットのための環境埋め込み型視覚センサシステムの構築”. 第 10 回 ロボティクスシンポジア予稿集,pp.543-548,2005.
[3] 西村能輝, 堀浩一: ”相互の観測を用いた自己位置推定”. 第 22 回人工知能学会
全国大会,3J2-1,2008.
[4] Zhiwei Luo, Hideyuki Ando, Shigeyuki Hosoe, Keiji Watanabe and Atsuo Kato:”Spatial generalization of optimal control for robot manipilators”. Journal of
Robotics and Mechatronics,Vol.13,No.5,pp.533-539,2001.

䣝䣐䣱䢰䢢䢲䢻䢯䢶䣟䢢䣒䣴䣱䣥䣧䣧䣦䣫䣰䣩䣵䢢䣱䣨䢢䣶䣪䣧䢢䢴䢲䢲䢻䢢䣌䣕䣏䣇䢢䣅䣱䣰䣨䣧䣴䣧䣰䣥䣧䢢䣱䣰䢢䣔䣱䣤䣱䣶䣫䣥䣵䢢䣣䣰䣦䢢䣏䣧䣥䣪䣣䣶䣴䣱䣰䣫䣥䣵䢮䢢䣈䣷䣭䣷䣱䣭䣣䢮䢢䣌䣣䣲䣣䣰䢮䢢䣏䣣䣻䢢䢴䢶䢯䢴䢸䢮䢢䢴䢲䢲䢻䢳䣃䢳䢯䣈䢳䢸䢪䢶䢫