説明

方位角推定装置、方法及びプログラム

【課題】方位角計測センサを用いずに、位置計測センサの計測値のみから、方位角を推定する。
【解決手段】時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときに、時刻ステップt−1において(Zxa(t−1),Zya(t−1))に位置し、時刻ステップtにおいて(Zxa(t),Zya(t))に位置する確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))を用いて、Bel(Φs(t−1))=P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))・Bel0(Φs(t−1))の関係を満たす、時刻ステップt−1において対象物の方位角がΦs(t−1)である更新後確率Bel(Φs(t−1))を計測更新部18が計算する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、対象物の方位角を推定する技術に関する。
【背景技術】
【0002】
近年、屋内外で活動可能な自律移動ロボットの研究が活発に行われており、それらの応用先が広がりつつある。自律移動ロボットの種類としては、車輪を使用して地表を移動するタイプのものや、空を飛行して移動する自律型空中ロボット、水中を航行する水中型ロボットなどがある。自律移動ロボットの行動を高精度で制御するアルゴリズムを確立する上では、自律移動ロボットの位置と姿勢角を実時間で高精度に計測するための技術が必須である。
【0003】
自律移動ロボットの位置を計測する技術としてGPS方式、無線LAN方式による位置計測技術が、姿勢角、方位角を計測する技術としてジャイロセンサ等を使用する技術が知られている。しかし、これらの位置・角度計測技術の計測精度は、自律移動ロボットを制御する上で不十分であることがある。そこで、これらの位置計測技術により求まった計測値を用いて、より精度が高い位置を推定するために、フィルタ技術が導入されている(例えば、非特許文献1参照。)。これらのフィルタ技術のほとんどがベイズフィルタの応用によるものである。ベイズフィルタを用いて高精度の位置の推定を行うためには、自動移動ロボットの高精度な移動モデルが必要である。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】上田隆一、新井民夫、浅沼和範、梅田和昇、大隅久、「パーティクルフィルタを利用した自己位置推定に生じる致命的な推定誤りからの回復法」、日本ロボット学会誌Vol. 23、No. 4、pp.466〜473、2005
【発明の概要】
【発明が解決しようとする課題】
【0005】
角加速度を計測するジャイロセンサには小型のものが存在するが、絶対角を正確に計測するためのレーザージャイロなどは重量が大きいものが多く、それらを小型の自律飛行船ロボットに搭載するのは難しい。また、自律移動ロボットの中には、自律飛行船型ロボットのようにそのペイロードの重量が限られている場合や、ロボット自身の大きさの制限から必要な性能を満たすセンサをロボットに搭載できない場合がある。
【0006】
非特許文献1の技術では、ロボットの方位角を計測するためのセンサが搭載されていることを前提としているため、このようなセンサが搭載されていない状況において方位角の計測及び推定を行うことはできないという課題がある。
【課題を解決するための手段】
【0007】
上記の課題を解決するために、この発明では、対象物に搭載された位置を計測するセンサの計測値を使用して、その対象物の方位角を推定する。
【発明の効果】
【0008】
方位角を計測するためのセンサがなくても、対象物の方位角を推定することができる。
【図面の簡単な説明】
【0009】
【図1】方位角推定装置の例の機能ブロック図。
【図2】方位角推定方法の例の流れ図。
【図3】方位角の推定の対象となる対象物を例示する図。
【図4】アクチュエータへの指示値を例示する図。
【図5】図4の指示値に対応する方位角速度Φ’の変化を例示する図。
【図6】計算方法2を説明するための図。
【発明を実施するための形態】
【0010】
[対象物]
方位角の推定の対象となる対象物は、例えば図3に例示する自律飛行船等の自律移動ロボットである。この自律飛行船は、舵2、主推進器3、上下方向推進器4を装備している。また、図示していないが、横方向(方位角方向)推進器を備える。この自律飛行船の重心位置は低く設定されているので姿勢傾斜に対する復元力は大きく、自律飛行船の姿勢角は方位角以外は0に維持されるとする。以下、対象物が自律移動ロボットである場合を例に挙げて説明する。なお、状態の推定の対象となる対象物は何でもよく、自律移動ロボットに限られない。
【0011】
図1の自律移動ロボットのゴンドラ部には、5つの無線LAN方式の位置計測センサ61,62,63,64,65が取り付けられている。この例では、これらの位置計測センサ61,62,63,64,65は、自律移動ロボットの水平面(XY平面)内重心位置(Xg(t),Yg(t),Zg(t))を中心として水平面内に点対象に配置されているものとする。位置計測センサ61,62,63,64,65は、水平面内重心位置(Xg(t),Yg(t),Zg(t))から、それぞれ方位角にしてΦs1,Φs2,Φs3,Φs4,Φs5の方向に距離Rs1,Rs2,Rs3,Rs4,Rs5だけ離れた位置に固定されているものとする。各位置計測センサ61,62,63,64,65は、水平面内位置(XY)及び高度(Z)を計測することができる。
【0012】
時刻ステップtにおける位置計測センサ61,62,63,64,65の計測値をそれぞれZ1(t)、Z2(t)、Z3(t)、Z4(t)、Z5(t)とする。
【0013】
Z1(t)=(Zx1(t),Zy1(t),Zz1(t))
Z2(t)=(Zx2(t),Zy2(t),Zz2(t))
Z3(t)=(Zx3(t),Zy3(t),Zz3(t))
Z4(t)=(Zx4(t),Zy4(t),Zz4(t))
Z5(t)=(Zx5(t),Zy5(t),Zz5(t))
すると、これらの平均値(Zxa(t),Zya(t),Zza(t))は、以下のように計算できる。
【0014】
Zxa(t)=[Zx1(t)+Zx2(t)+Zx3(t)+Zx4(t)+Zx5(t)]/5 …(a)
Zya(t)=[Zy1(t)+Zy2(t)+Zy3(t)+Zy4(t)+Zy5(t)]/5 …(b)
Zza(t)=[Zz1(t)+Zz2(t)+Zz3(t)+Zz4(t)+Zz5(t)]/5
【0015】
センサが点対象に配置されていることから、上記平均値(Zxa(t),Zya(t),Zza(t))を自律飛行船の重心位置(Xg,Yg,Zg)の計測値として扱うことができる。以後、平均値(Zxa(t),Zya(t),Zza(t))を自律飛行船の重心位置(Xg,Yg,Zg)の計測値として説明する。
【0016】
なお、自律飛行船は船尾に装備された垂直尾翼の効果により、方位角方向の回転運動については安定であるとする。
【0017】
[自律飛行船の制御]
この発明では、自律飛行船のアクチュエータ(例えば、横方向推進器)に与える指示値は、各行動選択時刻における方位角速度が一定値0となるよう制御されるものとする。また、前進速度は常に一定の値Vxであるとの仮定がなりたつように制御を行う。つまり、各時刻ステップにおいて、自律飛行船のアクチュエータに与える指示値は図4のように制御される。ここで、Taは加速方向に一定値(方位角方向トルクM)を与える時間、Tdは減速方向に一定値(方位角方向トルクM)を与える時間、Tsは自律飛行船自身の持つ方位角方向の速度の安定特性を利用して、方位角速度が0になるよう調整する時間である。
【0018】
図4の指示値を自律飛行船のアクチュエータに与えると、自律飛行船の方位角速度Φ’は図5のようなステップ応答となる。1時刻ステップに相当する時間は、T=Ta+Td+Tsである。TaとTdの時間の長さの比率は、アクチュエータに与える指示値と方位角速度との関係を別途計測し、その関係をもとに決める。また、TaとTdの時間の長さは、Td終了時点でなるべく自律飛行船の方位角速度が0に近くなるように設定される。また、前進速度は一定とするために、前進方向のアクチュエータ力は一定値を指示値とする。
【0019】
[ベイズフィルタ]
以下、ベイズフィルタについて簡単に説明をする。ベイズフィルタの詳細については、参考文献1を参照のこと。
〔参考文献1〕スラン・セバスチャン(著)、バーガード・ウルフラム(著)、フォックス・ディーター(著)、上田隆一(訳)、「確率ロボティクス」、毎日コミュニケーションズ、2007/10/25
【0020】
ベイズフィルタは、以下に記述される(1)予測と(2)計測更新とを繰り返すアルゴリズムである。以下、方位角Φ(t)の推定を例にとって説明する。
【0021】
(1)予測
bel0(Φ(t)) = ∫p(Φ(t)| u(t),Φ(t-1))・bel(Φ(t-1)) dΦ(t-1)
(2)計測更新
bel(Φ(t))=ηp( Zφ(t)| Φ(t) )・bel0(Φ(t))
【0022】
bel(Φ(t))は、時刻ステップtにおいて自律飛行船の方位角がΦ(t)である確率である。時刻ステップtのbel(Φ(t))を求めるために、まず、(1)予測のステップにおいて、一時刻ステップ前のbel(Φ(t−1))に、方位角遷移モデルにより推定した自律移動ロボットの状態遷移確率p(Φ(t)|u(t),Φ(t−1))をかけて、時刻ステップtのbel(Φ(t))の推定値bel0(Φ(t))を求める。ここで、u(t)は時刻ステップtでの自律移動ロボットの制御入力である。
【0023】
次に、(2)計測更新のステップにおいて、時刻ステップtで実際に計測された方位角センサの計測値Zφ(t)を用いて、推定値bel0(Φ(t))の補正を行い、時刻ステップtのbel(Φ(t))を求める。具体的には、自律移動ロボットの状態がΦ(t)である場合に位置計測センサにより計測値Zφ(t)が得られる確率値を用いて、bel0の補正を行っている。なお、ηは、正の定数である。
【0024】
[バイナリベイズフィルタ]
上述のベイズフィルタは数学的概念を記したものにすぎないので、計算機の上でこれを実装するためには別の表現が必要である。ベイズフィルタの実装形態としては、パーティクルフィルタやモンテカルロ・ローカリゼーション、バイナリベイズフィルタなどが知られている。以下では、この発明の手法に関連の深いバイナリベイズフィルタについて簡単に説明する。
【0025】
バイナリベイズフィルタは、ベイズフィルタを計算機での利用に即した離散表現で書き下したものである。バイナリベイズフィルタにおける(1)予測、(2)計算更新、の各ステップは、例えば以下のように記述される。
【0026】
(1−1)予測
Bel0(Φs(t)) = Σp(Φs(t)| a(t),Φs(t-1))・Bel(Φs(t-1))
(1−2)計測更新
Bel(Φs(t))=ηP( Zφs(t)| Φs(t) )・Bel0(Φs(t))
【0027】
ここで、Φs(t)は、時刻ステップtにおける自律飛行船の方位角を離散値で表現したものである。たとえば、0度から360度までの一回転の角度を36分割した場合、Φs(t)の値は36通りの離散値のうちのいずれかをとることになる。例えば、36個のΦs(t)にそれぞれ1から36までの整数が割り当てられる。
【0028】
Bel(Φs(t))は、時刻ステップtにおいて、自律飛行船の方位角がΦs(t)である確率である。時刻ステップtのBel(Φs(t))を求めるために、まず、(1−1)予測のステップにおいて、一時刻ステップ前のBel(Φs(t−1))に、方位角遷移モデルにより推定した自律移動ロボットの状態遷移確率をかけて、時刻ステップtのBel(Φs(t))の推定値Bel0(Φs(t))を求める。ここで、方位角遷移モデルは、方位角遷移確率p(Φs(t)|a(t),Φs(t−1))で表される。ここでa(t)は時刻ステップtにてロボットがとる行動の離散表現であり、その時刻ステップにおいて自律移動ロボットへ与える制御入力値を識別するための識別子である。すなわち、ロボットは正の整数個の行動のうち、各時刻ステップにおいて1つの行動を選択し、その行動と対応づけられた制御入力値を自律移動ロボットのアクチュエータに与える。
【0029】
次に、(1−2)計測更新のステップにおいて、時刻ステップtで実際に計測された方位角センサの計測値の離散値Zφs(t)を用いて、推定値Bel0(Φs(t))の補正を行い、時刻ステップtのBel(Φs(t))を求める。ここで、P(Zφs(t)|Φs(t))は、時刻ステップtで自律飛行船の方位角の真値がΦs(t)であった場合に、方位角センサの計測値の離散値としてZφs(t)が計測される確率値である。
【0030】
以上に述べたバイナリベイズフィルタを用いれば、ベイズフィルタを計算機上で実装することが可能である。しかしながら、この発明は方位角を計測するための方位角センサを搭載できない状況を前提としているため、上記の計算方法で必要となる「方位角センサの計測値の離散値Zφs(t)」を得ることができない。そのため、そのままこの手法を用いることはできない。そこで、この発明では、時刻ステップt及びt−1における位置センサによる計測値(5つのセンサの計測値の平均値)Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)を利用して、(1−2)計測更新の処理を行う。
【0031】
[基本的な考え方]
この発明では、時刻ステップt及びt−1における位置センサによる計測値(5つのセンサの計測値の平均値)をZxa(t),Zya(t),Zxa(t−1),Zya(t−1)とし、上記P(Zφs(t)|Φs(t))の代わりに、確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))を使用する。つまり、時刻ステップt−1において方位角Φs(t−1)の対象物が、行動a(t−1)を取ったときに、時刻ステップt−1において(Zxa(t−1),Zya(t−1))に位置し、時刻ステップtにおいて(Zxa(t),Zya(t))に位置するという計測結果が得られる確率を使用する。この確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))の計算方法は後述する。
【0032】
各時刻における自律飛行船の方位角と制御入力によって、それぞれの時刻での自律飛行船の位置変位量は一意に決まるので、この置き換えは妥当であるといえる。この置き換えを行うとバイナリベイズフィルタは、以下のようになる。
【0033】
(2−1)1時刻ステップ前の予測
Bel0(Φs(t-1)) = Σp(Φs(t-1)| a(t-2),Φs(t-2))・Bel(Φs(t-2))
(2−2)計測更新
Bel(Φs(t-1))=ηP( Zxa(t), Zya(t), Zxa(t-1), Zya(t-1)| Φs(t-1), a(t-1) )・Bel0(Φs(t-1))
(2−3)現在時刻の予測
Bel0(Φs(t)) = Σp(Φs(t)| a(t-1),Φs(t-1))・Bel(Φs(t-1))
【0034】
ここで重要なのは、上記(2−2)計測更新ステップを終了した時点で得られるのは、時刻ステップtにおいて自律飛行船の方位角がΦs(t)である確率Bel(Φs(t))ではなく、時刻ステップt−1において自律飛行船の方位角がΦs(t−1)である確率Bel(Φs(t−1))となる点である。これは、P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))を使用した更新が、一時刻ステップ前(時刻ステップt−1)の方位角Φs(t−1)について行われていることにより生じるものである。
【0035】
そこで、現在時刻ステップtにおいて自律飛行船の方位角がΦs(t)である確率Bel(Φs(t))を得るために、(2−2)計測更新ステップの後に、さらに(2−3)現在時刻の予測ステップの計算を行っている。そして、(2−3)現在時刻の予測ステップで得られるBel0(Φs(t))を方位角の推定値の算出に使用する。
【0036】
ここで、以上の計算を計算機上に実装して、各時刻について繰り返すことを考えると、隣り合う時刻において(2−1)と(2−3)の計算は冗長となる。冗長部分を整理すると、以下のようになる。
【0037】
(3−1)計測更新
Bel(Φs(t-1))=ηP( Zxa(t), Zya(t), Zxa(t-1), Zya(t-1)| Φs(t-1), a(t-1) )・Bel0(Φs(t-1))
(3−2)現在時刻の予測
Bel0(Φs(t)) = Σp(Φs(t)| a(t-1),Φs(t-1))・Bel(Φs(t-1))
【0038】
以下に説明する方位角推定装置の一実施形態では、上記の(3−1)及び(3−2)のステップに従って、自律飛行船の方位角の推定を行う。
【0039】
[実施形態]
図1は、この発明による方位角推定装置の例の機能ブロック図である。図2は、この発明による方位角推定方法の例の流れ図である。
【0040】
方位角推定装置は、図1に例示するように、記憶部11、行動入力部12、初期値設定部13、時刻設定部14、位置計測確率計算部15、推定変位量計算部16、比較部17、計測更新部18、制御部19、予測部20、方位角推定部21、正規化部22、位置計測センサ61,62,63,64,65、重心計算部66及び格子位置取得部67を例えば含む。
【0041】
記憶部11には、各時刻ステップtにおいて対象物のアクチュエータに与えられた行動a(t)が格納される。また、方位角推定部21により計算される、過去の各時刻ステップtにおける対象物の方位角の推定値が格納されてもよい。
【0042】
各時刻ステップtにおける対象物の行動a(t)は、例えば行動入力部12がその各時刻ステップtにおける対象物のXY平面内の位置及び推定された方位角に基づいて自動的に決定してもよいし(例えば、参考文献2参照。)、対象物を遠隔操作する者がその操作により決定してもよい。
〔参考文献2〕特開2007−317165号明細書
【0043】
<ステップS1>
初期値設定部13は、時刻ステップtを初期値0に設定し、時刻ステップt=0におけるBel0(Φs(0))の初期値を設定する(ステップS1)。事前に対象物の方位角を定めておき、対称物をその方位角で配置した場合には、例えば、その方位角に対応するΦsのBel0(Φs(0))=1とし、他のΦsについてのBel0(Φs(0))=0とする。
【0044】
<ステップS2>
時刻設定部14は、t=t+1とする。すなわち時刻ステップtを1だけインクリメントする(ステップS2)。
【0045】
<ステップS3>
位置計測確率計算部15は、時刻ステップt−1において方位角Φs(t−1)の対象物が、行動a(t−1)を取ったときに、時刻ステップt−1において(Zxa(t−1),Zya(t−1))に位置し、時刻ステップtにおいて(Zxa(t),Zya(t))に位置するという計測結果が得られる確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))を計算する(ステップS3)。後述するように、ステップS3及びステップS4の処理は、全ての方位角の離散値Φs(t−1)について行う。計算された確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))は、計測更新部18に送られる。
【0046】
位置計測確率計算部15は、上記計算に用いる、行動a(t−1)については記憶部11から読み込み、Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)については重心計算部66から取得する。なお、重心計算部66は、位置計測センサ61,62,63,64,65からそれぞれ取得したZ1(t),Z2(t),Z3(t),Z4(t),Z5(t),Z1(t−1),Z2(t−1),Z3(t−1),Z4(t−1),Z5(t−1)から、上記(a)及び(b)式に基づいてZxa(t),Zya(t),Zxa(t−1),Zya(t−1)を計算し、位置計測確率計算部15に送る。Zxa(t),Zya(t)は、必要に応じて格子位置取得部67及び比較部17にも送る。
【0047】
確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))は、例えば以下の≪計算方法1≫〜≪計算方法4≫の何れかにより計算することができる。
【0048】
なお、対象物が位置するXY平面は面積Δsの格子で分割されているとし、重心計算部66が計算した重心(Zxa(t),Zya(t))に基づいて、その重心に対応する格子s(t)とその格子s(t)の座標(Xs(t),Ys(t))を格子位置取得部67が取得する。重心に対応する格子とは、例えばその重心を含む格子のことである。座標(Xs(t),Ys(t))は、位置計測確率計算部15に出力される。また、必要に応じて、格子s(t)、格子s(t−1)、格子s(t−1)の座標(Xs(t−1),Ys(t−1))も、位置計測確率計算部15に送られる。格子のサイズは、位置計測センサ61,62,63,64,65の計測精度を考慮して定める。計測精度が高ければ高いほど格子のサイズを小さくすることができる。
【0049】
また、時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときのXY平面における推定変位量を(Dx(Φs(t−1),a(t−1)),Dy(Φs(t−1),a(t−1))とし、方位角Φs(t−1)と行動a(t−1)に基づいて、推定変位量計算部16が推定変位量(Dx(Φs(t−1),a(t−1)),Dy(Φs(t−1),a(t−1))を計算する。例えば、以下の式に基づいて、推定変位量を計算する。推定変位量は、位置計測確率計算部15に出力される。
【0050】
【数1】

【0051】
上記式において、Vxは対象物の前進速度、Φs(t−1)rは方位角(の離散値)Φs(t−1)の代表値であり例えばΦs(t−1)の中央値、dΦ(τ)は対象物が行動a(t−1)を取ったときの時刻τにおける方位角の変化量とする。なお、格子Φs(t−1)の任意の点をΦs(t−1)の代表値としてもよい。τは各時刻ステップt内の経過時刻を表わす。すなわち、各時刻ステップtが始まるときにτ=0とされその後時間の経過と共に増加しτ=Tとなると時刻ステップt+1となり再度τ=0となる。行動a(t−1)に基づいて対象物のアクチュエータに与える指示値が例えば図4のように定まり、この指示値に基づいて例えば図5のように方位角速度の変化量dΦ(τ)が定まる。
【0052】
≪計算方法1≫
計算方法1は、正規分布を用いて位置計測確率を求めるものである。
【0053】
位置計測確率計算部15は、下記式の値を計算して、その計算結果を確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))とする。
【0054】
【数2】

【0055】
ここで、R=(Xs(t)−(Dx(Φs(t−1),a(t−1))+Xs(t−1))+(Ys(t)−(Dy(Φs(t−1),a(t−1))+Ys(t−1)))であり、分散σは予め定められた定数である。
【0056】
≪計算方法2≫
位置計測確率計算部15は、時刻t−1における対象物の重心の計測値(Zxa(t−1),Zya(t−1))に対応する格子s(t−1)を(Dx(Φs(t−1),a(t−1)),Dy(Φs(t−1),a(t−1)))だけXY平面を平行移動させた格子s’(t−1)が、時刻tにおける対象物の重心の計測値(Zxa(t),Zya(t))に対応する格子s(t)と重なる面積(図6の斜線部分の面積)をΔsで割った値を計算して、その計算結果を確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))とする。
【0057】
計算方法2は、格子s’(t−1)が他の格子と重なる面積に比例した確率で、対象物が重なった先の格子内に存在する、という仮定に基づくものである。 ≪計算方法3≫
位置計測確率計算部15は、下記式の値を計算して、その計算結果を確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))とする。
【0058】
【数3】

【0059】
上記式において、Φtan=arctan((Zya(t)−Zya(t−1))/(Zxa(t)−Zxa(t−1)))であり、Φs(t−1)rをΦs(t−1)の代表値とし、DΦ(a(t−1))を対象物が行動a(t−1)を取ったときの方位角の変位量として、R=(Φtan−(DΦ(a(t−1))+Φs(t−1)r))、R=(Φtan−Φs(t−1)r)又はR=(Φtan−(0.5×DΦ(a(t−1))+Φs(t−1)r))であり、分散σを予め定められた定数である。
【0060】
対象物が自律飛行船である場合には、その方位角は進行方向と一致している場合が多い。特に、自律飛行船の進行方向の速度が十分に大きい場合には、それが特に顕著である。計算方法3は、この性質に基づくものである。
【0061】
≪計算方法4≫
自律飛行船の変位ベクトル((Zya(t)−Zya(t−1)),(Zxa(t)−Zxa(t−1)))の大きさが小さくなると(例えば飛行船がその場で回頭しているとき等)、計算方法3の精度は急激に低下する。
【0062】
そこで、計算方法4では、変位ベクトル((Zya(t)−Zya(t−1)),(Zxa(t)−Zxa(t−1)))が、小さい場合には計算方法1により計算を行い、大きい場合には計算方法3により計算を行う。
【0063】
具体的には、比較部17が、変位ベクトルの大きさ((Zxa(t)−Zxa(t−1))+(Zya(t)−Zya(t−1))(1/2)と所定の閾値とを比較して、所定の閾値の方が大きい場合には、計算方法1により確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1)の計算を行い、所定の閾値の方が小さい場合には、計算方法3により確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1)の計算を行う。
【0064】
<ステップS4>
計測更新部18は、位置計測確率計算部15により計算された確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))を用いて、上記(3−1)に対応する計測更新を行う(ステップS4)。
【0065】
具体的には、計測更新部18は、確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))と、時刻ステップt−1において対象物の方位角がΦs(t−1)である更新前確率Bel0(Φs(t−1))とを用いて、Bel(Φs(t−1))=P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))・Bel0(Φs(t−1))の関係を満たす、時刻ステップt−1において対象物の方位角がΦs(t−1)である更新後確率Bel(Φs(t−1))を計算する。更新前確率Bel0(Φs(t−1))は、記憶部11から読み込まれる。計算された更新後確率Bel(Φs(t−1))は、予測部20に送られる。
【0066】
<ステップS5>
制御部19は、全ての方位角の離散値Φs(t−1)について、ステップS3及びステップS4の処理を行ったかどうかを判定する(ステップS5)。全ての方位角の離散値Φs(t−1)について処理を行っていないと判定された場合には、まだ処理を行っていない方位角の離散値Φs(t−1)を選択して、ステップS3に戻る。全ての方位角の離散値Φs(t−1)について処理を行ったと判定された場合には、ステップS6に進む。
【0067】
<ステップS6>
予測部20は、計測更新部18により計算された更新後確率Bel(Φs(t−1))を用いて、上記(3−2)に対応する現在時刻の予測の処理を行う(ステップS6)。
【0068】
具体的には、予測部20は、時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときに、時刻ステップt−1において対象物の方位角がΦs(t)となる確率p(Φs(t)|a(t−1),Φs(t−1))と、更新後確率Bel(Φs(t−1))とを用いて、Bel0(Φs(t))=ΣΦs(t−1)p(Φs(t)|a(t−1),Φs(t−1))・Bel(Φs(t−1))の関係を満たす、時刻ステップtにおいて対象物の方位角がΦs(t)である更新前確率Bel0(Φs(t))を計算する。更新前確率Bel0(Φs(t))は、方位角推定部21に送られると共に、記憶部11に格納される。
【0069】
確率p(Φs(t)|a(t−1),Φs(t−1))は、例えば下記式により計算することができる。
【0070】
【数4】

【0071】
上記式においてR=(Φs(t)−(DΦ(a(t−1))+Φs(t−1)))である。DΦ(a(t−1))は、対象物が行動a(t−1)を取ったときの方位角の変位量である。τを各時刻ステップt内の経過時刻とし、Tを1時刻ステップの長さとし、Φ’(τ)を対象物が行動a(t−1)を取ったときの各時刻τにおける方位角速度とすると、DΦ(a(t−1))は下式により計算することができる。
【0072】
【数5】

【0073】
<ステップS61>
制御部19は、全ての方位角の離散値Φs(t)について、ステップS6の処理を行ったかどうかを判定する(ステップS61)。全ての方位角の離散値Φs(t)について処理を行っていないと判定された場合には、まだ処理を行っていない方位角の離散値Φs(t)を選択して、ステップS6に戻る。全ての方位角の離散値Φs(t)について処理を行ったと判定された場合には、ステップS7に進む。
【0074】
これにより、全ての方位角の離散値Φs(t)について、ステップS6の処理を行う。
【0075】
<ステップS7>
方位角推定部21は、更新前確率Bel0(Φs(t))を用いて、ΣΦs(t)Φs(t)・Bel0(Φs(t))を計算して、その計算結果を時刻ステップtにおける対象物の方位角の推定値とする(ステップS7)。
【0076】
なお、方位角推定部21は、時刻ステップt−1の更新後確率Bel(Φs(t−1))を用いて、ΣΦs(t−1)Φs(t−1)・Bel0(Φs(t−1))を計算して、その計算結果を時刻ステップt−1における対象物の方位角の推定値としてもよい。
【0077】
<ステップS8>
制御部19は次の時刻ステップについても継続して予測を行うかどうかを判断し(ステップS8)、次の時刻ステップについても予測を行う場合にはステップS2に戻る。これ以上予測を行わない場合は処理を終了する。
【0078】
このように、位置計測センサ61,62,63,64,65の計測値を用いて上記(3−1)に対応する計測更新を行うことにより、方位角計測用のセンサを用いずに方位角を推定することができる。
【0079】
[変形例等]
正規化部22が、ステップS5の後に、ΣΦs(t−1)Bel(Φs(t−1))=1となるように、Bel(Φs(t−1))を正規化してもよい。すなわち、各Bel(Φs(t−1))を、Bel(Φs(t−1))/ΣΦs(t−1)Bel(Φs(t−1))に置き換えてもよい。同様に、正規化部22が、ステップS61の後に、ΣΦs(t)Bel0(Φs(t))=1となるように、Bel0(Φs(t))を正規化してもよい。すなわち、各Bel0(Φs(t))を、Bel0(Φs(t))/ΣΦs(t)Bel0(Φs(t))に置き換えてもよい。正規化を行うことにより、方位角の推定精度が増す。
【0080】
方位角推定装置の各部間のデータのやり取りは直接行われてもよいし、記憶部11を介して行われてもよい。
【0081】
方位角推定装置は、コンピュータによって実現することができる。この場合、この装置が有すべき各機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、これ装置における各処理機能が、コンピュータ上で実現される。
【0082】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、これらの装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【0083】
この発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【0084】
15 位置計測確率計算部
17 比較部
18 計測更新部
20 予測部
21 方位角推定部
61,62,63,64,65 位置計測センサ

【特許請求の範囲】
【請求項1】
時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときに、時刻ステップt−1において(Zxa(t−1),Zya(t−1))に位置し、時刻ステップtにおいて(Zxa(t),Zya(t))に位置する位置するという計測結果が得られる確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))を計算する位置計測確率計算部と、
上記確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))と、時刻ステップt−1において対象物の方位角がΦs(t−1)である更新前確率Bel0(Φs(t−1))とを用いて、Bel(Φs(t−1))=P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))・Bel0(Φs(t−1))の関係を満たす、時刻ステップt−1において対象物の方位角がΦs(t−1)である更新後確率Bel(Φs(t−1))を計算する計測更新部と、
時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときに、時刻ステップt−1において対象物の方位角がΦs(t)となる確率p(Φs(t)|a(t−1),Φs(t−1))と、上記更新後確率Bel(Φs(t−1))とを用いて、Bel0(Φs(t))=ΣΦs(t−1)p(Φs(t)|a(t−1),Φs(t−1))・Bel(Φs(t−1))の関係を満たす、時刻ステップtにおいて対象物の方位角がΦs(t)である更新前確率Bel0(Φs(t))を計算する予測部と、
上記更新前確率Bel0(Φs(t))又は上記更新後確率Bel(Φs(t−1))を用いて、ΣΦs(t)Φs(t)・Bel0(Φs(t))又はΣΦs(t−1)Φs(t−1)・Bel(Φs(t−1))を計算して、その計算結果を時刻ステップt又は時刻t−1における対象物の方位角の推定値とする方位角推定部と、
を含む方位角推定装置。
【請求項2】
請求項1の方位角推定装置において、
対象物が位置するXY平面が面積Δsの格子で分割されているとし、時刻ステップtにおいて対象物が位置する格子s(t)の座標を(Xs(t),Ys(t))とし、時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときのXY平面における推定変位量を(Dx(Φs(t−1),a(t−1)),Dy(Φs(t−1),a(t−1)),)とし、R=(Xs(t)−(Dx(Φs(t−1),a(t−1))+Xs(t−1))+(Ys(t)−(Dy(Φs(t−1),a(t−1))+Ys(t−1)))とし、分散σを予め定められた定数として、
【数6】


上記位置計測確率計算部は、上記式の値を計算して、その計算結果を上記確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))とする、
ことを特徴とする方位角推定装置。
【請求項3】
請求項1の方位角推定装置において、
対象物が位置するXY平面が面積Δsの格子で分割されているとし、時刻ステップtにおいて対象物が位置する格子をs(t)とし、(Dx(Φs(t−1),a(t−1)),Dy(Φs(t−1),a(t−1)))を時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときのXY平面における推定変位量として、
格子s(t−1)を(Dx(Φs(t−1),a(t−1)),Dy(Φs(t−1),a(t−1)))だけXY平面を平行移動させた格子s’(t−1)が、格子(s)と重なる面積をΔsで割った値を計算して、その計算結果を上記確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))とする、
ことを特徴とする方位角推定装置。
【請求項4】
請求項1の方位角推定装置において、
対象物が位置するXY平面が面積Δsの格子で分割されているとし、時刻ステップtにおける対象物の位置を(Zxa(t),Zya(t))とし、Φtan=arctan((Zya(t)−Zya(t−1))/(Zxa(t)−Zxa(t−1)))とし、Φs(t−1)の中央値をΦs(t−1)rとし、DΦ(a(t−1))を対象物が行動a(t−1)を取ったときの方位角の変位量とし、R=(Φtan−(DΦ(a(t−1))+Φs(t−1)r))、R=(Φtan−Φs(t−1)r)又はR=(Φtan−(0.5×DΦ(a(t−1))+Φs(t−1)r))とし、分散σを予め定められた定数として、
【数7】


上記位置計測確率計算部は、上記式の値を計算して、その計算結果を上記確率P(Zxs(t),Zys(t),Zxs(t−1),Zys(t−1)|Φs(t−1),a(t−1))とする、
ことを特徴とする方位角推定装置。
【請求項5】
請求項1の方位角推定装置において、
変位ベクトル((Zxa(t)−Zxa(t−1))+(Zya(t)−Zya(t−1))(1/2)と所定の閾値とを比較する比較部と、
上記変位ベクトルの方が小さければ、対象物が位置するXY平面が面積Δsの格子で分割されているとし、時刻ステップtにおいて対象物が位置する格子s(t)の座標を(Xs(t),Ys(t))とし、時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときのXY平面における推定変位量を(Dx(Φs(t−1),a(t−1)),Dy(Φs(t−1),a(t−1)),)とし、R=(Xs(t)−(Dx(Φs(t−1),a(t−1))+Xs(t−1))+(Ys(t)−(Dy(Φs(t−1),a(t−1))+Ys(t−1)))とし、分散σを予め定められた定数として、
【数8】


上記位置計測確率計算部は、上記式の値を計算して、その計算結果を上記確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))とし、
上記変位ベクトルの方が大きければ、対象物が位置するXY平面が面積Δsの格子で分割されているとし、時刻ステップtにおける対象物の位置を(Zxa(t),Zya(t))とし、Φtan=arctan((Zya(t)−Zya(t−1))/(Zxa(t)−Zxa(t−1)))とし、DΦ(a(t−1))を対象物が行動a(t−1)を取ったときの方位角の変位量とし、R=(Φtan−(DΦ(a(t−1))+Φs(t−1)r))、R=(Φtan−Φs(t−1)r)又はR=(Φtan−(0.5×DΦ(a(t−1))+Φs(t−1)r))とし、分散σを予め定められた定数として、
【数9】


上記位置計測確率計算部は、上記式の値を計算して、その計算結果を上記確率P(Zxs(t),Zys(t),Zxs(t−1),Zys(t−1)|Φs(t−1),a(t−1))とする、
ことを特徴とする方位角推定装置。
【請求項6】
位置計測確率計算部が、時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときに、時刻ステップt−1において(Zxa(t−1),Zya(t−1))に位置し、時刻ステップtにおいて(Zxa(t),Zya(t))に位置する確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))を計算する位置計測確率計算ステップと、
計測更新部が、上記確率P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))と、時刻ステップt−1において対象物の方位角がΦs(t−1)である更新前確率Bel0(Φs(t−1))とを用いて、Bel(Φs(t−1))=P(Zxa(t),Zya(t),Zxa(t−1),Zya(t−1)|Φs(t−1),a(t−1))・Bel0(Φs(t−1))の関係を満たす、時刻ステップt−1において対象物の方位角がΦs(t−1)である更新後確率Bel(Φs(t−1))を計算する計測更新ステップと、
予測部が、時刻ステップt−1において方位角Φs(t−1)の対象物が行動a(t−1)を取ったときに、時刻ステップt−1において対象物の方位角がΦs(t)となる確率p(Φs(t)|a(t−1),Φs(t−1))と、上記更新後確率Bel(Φs(t−1))とを用いて、Bel0(Φs(t))=ΣΦs(t−1)p(Φs(t)|a(t−1),Φs(t−1))・Bel(Φs(t−1))の関係を満たす、時刻ステップtにおいて対象物の方位角がΦs(t)である更新前確率Bel0(Φs(t))を計算する予測ステップと、
方位角推定部が、上記更新前確率Bel0(Φs(t))又は上記更新後確率Bel(Φs(t−1))を用いて、ΣΦs(t)Φs(t)・Bel0(Φs(t))又はΣΦs(t−1)Φs(t−1)・Bel(Φs(t−1))を計算して、その計算結果を時刻ステップt又は時刻t−1における対象物の方位角の推定値とする方位角推定ステップと、
を含む方位角推定方法。
【請求項7】
請求項1から5の何れかの方位角推定装置の各部としてコンピュータを機能させるための方位角推定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−128115(P2011−128115A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−289393(P2009−289393)
【出願日】平成21年12月21日(2009.12.21)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】