(57)【要約】【課題】      受信器により受信した信号を用いた自己位置推定の場合に当てはまる機械学習ベースの自己位置推定装置等を提供する。【解決手段】  推定部２３を設け、移動体５に設けられたリーダ９により受信されたタグ３１〜３Ｍの信号に基づいて互いに識別すべき場所ごとに設けられたサポートベクターマシンＳＶＭ１５１〜１５Ｎの訓練を行い、訓練後のサポートベクターマシンを用いて移動体５の自己位置推定を行う。【選択図】  図１
2006065703.tif 000002
【特許請求の範囲】
【請求項１】
発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、
前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習手段と、
前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定手段と、
を有することを特徴とする自己位置推定装置。
【請求項２】
前記発信器はＲＦＩＤタグであり、前記受信器はＲＦＩＤリーダであることを特徴とする請求項１記載の自己位置推定装置。
【請求項３】
前記学習手段による学習及び前記推定手段による推定はサポートベクターマシンを用いて行われることを特徴とする請求項１又は２記載の自己位置推定装置。
【請求項４】
前記サポートベクターマシンは複数であり、前記各サポートベクターマシンは学習の対象となる信号を受信する複数の場所のそれぞれに対応して設けられることを特徴とする請求項３記載の自己位置推定装置。
【請求項５】
複数の発信器が分散配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、
前記空間内の複数の学習位置のそれぞれで受信器が受信した信号のセンサデータを収集して特徴ベクトル群を生成し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号のセンサデータを収集して特徴ベクトル群を生成する特徴ベクトル生成手段と、
前記特徴ベクトル群を用いて、各学習位置に対応して設けられたサポートベクターマシンを訓練するＳＶＭ実行手段と、
自己位置判定手段とを有し、
前記特徴ベクトル生成手段は、訓練後には、前記空間内の任意の位置において受信器が受信した信号のセンサデータから特徴ベクトルを生成し、
前記ＳＶＭ実行手段は、前記サポートベクターマシンのそれぞれに対して前記特徴ベクトルと学習した信号の特徴とを比較させ、
前記自己位置判定手段は、各サポートベクターマシンが比較した比較結果から前記移動体の自己位置を推定する
ことを特徴とする自己位置推定装置。
【請求項６】
発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定方法であって、
学習手段が前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習ステップと、
推定手段が前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定ステップと、
を含む自己位置推定方法。
【請求項７】
請求項６に記載の自己位置推定方法をコンピュータに実行させることが可能なプログラム。
【請求項８】
請求項７記載のプログラムをコンピュータが実行することが可能にて記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己位置推定装置、自己位置推定方法、その自己位置推定方法をコンピュータに実行させることが可能なプログラム、及び、そのプログラムを記録した記録媒体に関し、発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置等に関する。
【背景技術】
【０００２】
移動ロボットの自己位置推定問題はロボティクスにおける最も基本的な課題であり、従来より数多くの研究がなされてきた。
【０００３】
従来の自己位置推定法は、大まかに２つに分類することができる。一つは、作業環境内にある特徴的な物体をランドマークとして用いたり、人工のランドマークを利用したりするものである。ランドマークが観測されるたびにロボットは自己位置推定を行うものである。もう一つは、ネットワークカメラのような大域センシングシステムを用いるものである。
【０００４】
近年、安価で高信頼度の自動識別装置としてＲＦＩＤシステム（Radio Frequency Identification System）が産業生産現場に広く普及している。このＲＦＩＤシステムはＲＦＩＤタグとそのリーダの２つから構成されるものである（図２６参照）。ＲＦＩＤタグは記憶装置とアンテナからなり、ＲＦＩＤリーダは、通常、モジュールとコントロールユニットからなる。ＲＦＩＤタグは各ターゲット上に固定されてデータ保存装置として機能し、ＩＤデータをある一定の周波数で送信する。ＲＦＩＤリーダは磁場や電磁場を利用して有限距離にあるタグと通信することができ、個々のタグのＩＤ情報を読取ることができる。ＲＦＩＤタグの消費電力は極めて低く、数カ月など長い期間に渡って活動することができる。信号は数ヘルツ程度の固有の周波数で発信される。
【０００５】
このＲＦＩＤシステムは、非接触通信可能、遮蔽への耐性、コンパクトさ、低コストなどの優れた特徴を備えている。
【０００６】
いくつかのアプリケーションでは、ＲＦＩＤシステムはリーダの位置決めと追跡に用いられている（非特許文献１参照)。これらの従来のシステムでは、ＲＦＩＤタグの位置は既知であることを前提としていた。
【０００７】
なお、従来にも、機械学習のテクニックはいくつかの自己位置推定システムに対して適用されてはいる（非特許文献２参照）。このような従来技術では、各地点で常に同じようなセンサデータが得られることが仮定されていた。
【０００８】
【非特許文献１】Mike Schneider，“Radio Frequency Identification (RFID) Technology and its Applicationsin the Commercial Construction Industry”， Master's of Science in Civil Engineering Examination at theUniversity of Kentucky，2003.
【非特許文献２】Gerecke U., Sharkey N. E., and Sharkey A. J. C.，“Common evidence vectorsfor reliable localization with SOM ensembles”，Proc. Engineering Application of NeuralNetworks，2001.
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、ランドマークを利用するアプローチは予め与えられたランドマーク地図が正しいことを仮定しているため、照明条件の変化や物体の移動などの環境変化に対して脆弱である。
【００１０】
また、大域センシングシステムを利用するアプローチは、環境変化やセンサノイズに対してロバスト（頑健）であるが、こうしたセンシングシステムは多くのアプリケーションにとって高価である。例えばホームロボットのアプリケーションでは、センシングシステムはロボットと同じ程度に安価である必要がある。
【００１１】
そして、例えばＲＦＩＤシステムのように発信器が配置された空間内において受信器が受信した信号を用いて自己位置推定を行うならば、信号強度が時間と発信器からの距離とに依存するため、発信器の位置を直接的に計測できないという難しさがある。
【００１２】
さらに、機械学習のテクニックを用いて自己位置推定を行うときになされる各地点で常に同じようなセンサデータが得られるという仮定は、発信器が配置された空間内において受信器が受信した信号を用いた自己位置推定の場合には必ずしも当てはまらない。このセンサデータは、自己位置だけでなく、時刻や周囲にある物体の材質などにも影響されるからである。
【００１３】
そこで、本願の目的は、発信器が配置された空間内において受信器により受信した信号を用いた自己位置推定の場合における発信器の位置を直接的に計測できない困難性を克服すると共に、環境変化に対してロバストであり安価な自己位置推定を行う機械学習ベースの自己位置推定装置、自己位置推定方法、その自己位置推定方法をコンピュータにより実行可能なプログラム、及び、そのプログラムを記録した記録媒体を提供する。
【課題を解決するための手段】
【００１４】
本願の請求項１に係る発明の自己位置推定装置は、発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習手段と、前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定手段と、を有することを特徴とする。
【００１５】
本願の請求項２に係る発明の自己位置推定装置は、請求項１において、前記発信器はＲＦＩＤタグであり、前記受信器はＲＦＩＤリーダであることを特徴とする。
【００１６】
本願の請求項３に係る発明の自己位置推定装置は、請求項１又は２において、前記学習手段による学習及び前記推定手段による推定はサポートベクターマシンを用いて行われることを特徴とする。
【００１７】
ここで、サポートベクターマシン（Support Vector Machine: SVM）について説明する。ＳＶＭは、計算学習理論における構造化リスク最小化の原理に基づいた、２クラス分類器のモデルである（Hearst M. A., Scholkopf B., Dumais S., Osuna E., and Platt J.，“Trends and controversies−support vector machines”，IEEE Intelligent Systems，１９９８，第１３巻，第４号，ｐ．１８−２８参照）。例えば図２７に示されるように、ＳＶＭは、特徴データ点：○と特徴データ点：□を分類するという分類問題において、２種類のデータとの間の距離５１（マージン）が最大になるような分離超平面５３が最も汎化能力が高い超平面であることを利用するものである。このように、ＳＶＭは、分離可能な２つの特徴ベクトルグループが与えられた場合には、それぞれのグループを高次元の特徴空間において分離するような分離超平面を決定する。また、ＳＶＭは、分離不能な特徴ベクトルグループ対が与えられた場合は、誤認識率が最小となるように分離超平面を決定する。
【００１８】
ＳＶＭの性能は、カーネルトリックと呼ばれる手法を用いることで飛躍的に向上した。このカーネルトリックは、本質的に非線形な問題に対応するための手法であり、特徴ベクトルを非線形変換してその空間内で線形の識別を行うものである。そして、これにより、汎化能力が高い識別器を構成することができるようになる。
【００１９】
このように、ＳＶＭは、実世界のアプリケーションに適した以下のような優れた特徴を備えている。（１）訓練結果の最適性が保証されている。（２）カーネルトリックを利用して、高速に学習を行うことができるアルゴリズムが存在する。（３）二値のラベルづけされていない訓練データのみが要求される。
【００２０】
本願の請求項４に係る発明の自己位置推定装置は、請求項３において、前記サポートベクターマシンは複数であり、前記各サポートベクターマシンは学習の対象となる信号を受信する複数の場所のそれぞれに対応して設けられることを特徴とする。
【００２１】
本願の請求項５に係る発明の自己位置推定装置は、複数の発信器が分散配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、前記空間内の複数の学習位置のそれぞれで受信器が受信した信号のセンサデータを収集して特徴ベクトル群を生成し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号のセンサデータを収集して特徴ベクトル群を生成する特徴ベクトル生成手段と、前記特徴ベクトル群を用いて、各学習位置に対応して設けられたサポートベクターマシンを訓練するＳＶＭ実行手段と、自己位置判定手段とを有し、前記特徴ベクトル生成手段は、訓練後には、前記空間内の任意の位置において受信器が受信した信号のセンサデータから特徴ベクトルを生成し、前記ＳＶＭ実行手段は、前記サポートベクターマシンのそれぞれに対して前記特徴ベクトルと学習した信号の特徴とを比較させ、前記自己位置判定手段は、各サポートベクターマシンが比較した比較結果から前記移動体の自己位置を推定することを特徴とする。
【００２２】
本願の請求項６に係る発明の自己位置推定方法は、発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定方法であって、学習手段が前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習ステップと、推定手段が前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定ステップと、を含む。
【００２３】
本願の請求項７に係る発明のプログラムは、請求項６に記載の自己位置推定方法をコンピュータに実行させることが可能なものである。
【００２４】
本願の請求項８に係る発明の記録媒体は、請求項７記載のプログラムをコンピュータが実行することが可能にて記録したものである。
【発明の効果】
【００２５】
本発明によれば、空間内の複数の場所のそれぞれにおいて受信器が受信した信号等の特徴を抽出して学習し、空間内で移動体が移動して受信器が受信した観測信号から抽出された特徴と学習した信号の特徴との比較により前記移動体の自己位置を推定するため、発信器の位置を直接的に計測できない困難性を克服すると共に、環境変化に対してロバストであり安価な自己位置推定を行うことができる。
【００２６】
また、本発明によれば、サポートベクターマシンを用いる場合には、訓練結果の最適性が保証されており、そして、カーネルトリックのテクニックを利用することによって複雑な自己位置推定問題を解くような環境モデルを効率的に獲得することができる。
【００２７】
さらに、本発明によれば、サポートベクターマシンが複数あり、各サポートベクターマシンが学習の対象となる信号を受信する複数の場所のそれぞれに対応して設けられる場合には、例えば、信号が変化した場所に対応するサポートベクターマシンを個別に訓練すればよい。
【００２８】
さらに、本発明によれば、タグの数が増えるにつれ、精度が上がり自己位置推定が成功するなど、学習がうまくいくようになる。そのため、例えば、家屋内にランダムに配置されたタグを用いることでロバストな位置推定ができる。また、ランダムかつ発信周期が不定のタグが配置された環境でも、これらをランドマークとして使うことができる。したがって、ユビキタスＲＦタグ環境に近づけば近づくほど、自己位置推定は安定して行なえるようになる。
【００２９】
さらに、本発明によれば、ユーザは、例えば、テーブルや壁などの固定された物体にタグを貼り付けて、できるだけ一様に分布させるだけでよい。一般的な屋内環境では、壁や天井、床、その他の構造材だけでなく、居間や書斎、台所、廊下など、場所々々に応じて、様々な照明器具や家具、家電品などが、配置、利用されている。これらに、タグを貼り付けておいたり、予め貼り付けられて出荷されていたりすることができるため、移動体が部屋の中のどこに位置していても、その近くには常にいずれかのタグがあることが期待できる。
【発明を実施するための最良の形態】
【００３０】
図１は、本発明の実施の形態に係る自己位置推定システムの概略ブロック図である。
【００３１】
自己位置推定システム１は、タグ３１〜３Ｍと移動体５を備える。移動体５は、制御部７とリーダ９と特徴ベクトル生成部１１とＳＶＭ実行部１５と自己位置判定部１７を有するものである。そして、比較部１９はＳＶＭ実行部１５を有し、学習部２１は比較部１９と特徴ベクトル生成部１１を有し、推定部（自己位置推定装置）２３は学習部２１と自己位置判定部１７を有する。
【００３２】
タグ３１〜３Ｍは、図示を省略するが記憶装置とアンテナを有し、ＩＤデータをある一定の周波数で送信する。これらのタグは環境内の固定物体に貼り付けられる。環境内のタグの空間的分布はできるだけ一様になるようにする。なお、既設のＲＦＩＤタグがある場合はこれを利用してもよい。
【００３３】
移動体５は、例えばロボットのような移動体である。
【００３４】
制御部７は、移動体５の動作を制御するものである。
【００３５】
リーダ９は、磁場や電磁場を利用して有限距離にあるタグ３１〜３Ｍと通信することができ、個々のタグのＩＤ情報を読取ることができるものである。
【００３６】
特徴ベクトル生成部１１は、リーダ９により受信されたタグの信号のデータに基づいて特徴ベクトルを生成し、生成した特徴ベクトルをＳＶＭ１３１〜１３Ｎに出力するものである。この特徴ベクトルは、例えば、タグ数Ｍと同じ次元数の実数ベクトルであって、その各要素は各タグから受信したデータの特徴を表すものである。なお、特徴ベクトルを生成するときに用いられる各タグから受信したデータの特徴としては、特徴ベクトルが生成できるものであればどのようなものを利用してもよい。例えば、信号強度の時間平均や信号の発信間隔のデータ、データ自身に埋め込まれたタグ自身の位置データなどに基づいて特徴ベクトルを生成してもよく、また、ＲＦＩＤリーダが複数の周波数をスキャンできる場合は、タグの発信周波数のデータ、タグ自身に埋め込まれた商品コードや企業名のデータなどに基づいて特徴ベクトルを生成してもよい。
【００３７】
ＳＶＭ１３１〜１３Ｎは、サポートベクターマシンであって、互いに識別されるべきＮ個の場所をそれぞれ担当するようＮ個用意される。
【００３８】
ある場所を識別できるようにＳＶＭ１３１〜１３Ｎを訓練するためには、正の例と負の例と呼ぶ特徴ベクトルが必要である。正の例はその場所で取得されそうな特徴ベクトルである。負の例はその場所以外の場所で取得されそうな特徴ベクトルである。正の例と負の例は、ほぼ同数であることが望ましい。正の例を得るためには、その場所で取得された特徴ベクトルから単純にサンプリングすればよい。一方、負の例を得るためには、任意に選ばれた他のいずれかの場所の特徴ベクトルからランダムにサンプリングする。
【００３９】
ＳＶＭは、クラスを二つに分ける識別面を計算する。どれくらいうまく分かれたかは、二つのクラス（正の例と負の例からなるクラス）の中のそれぞれの特徴データ点が、どれくらい識別面から離れているかで計算される。
【００４０】
学習済みのＳＶＭ１３１〜１３Ｎは、特徴ベクトルを入力すると[-1,+1]の範囲にある実数値を自己位置判定部１７に出力する。この出力値は入力した特徴ベクトルが識別面からどれくらい離れているかで計算されるものであり、入力データと学習データとの類似度と解釈することができるものである。そのため、この出力値は、ロボットが対応する場所にいるかどうかの判断基準として利用できる。
【００４１】
なお、学習器としては、ＳＶＭ以外にも、例えば遺伝的アルゴリズム（ＧＡ）による学習やニューラルネットワーク（ＮＮ）による学習、隠れマルコフモデルによる学習、決定木学習、強化学習、統計的機械学習等によるものでもよいが、ＳＶＭは、最終的な識別面の生成において最適性を保障できるという特徴を有するものである。
【００４２】
ＳＶＭ実行部１５はＳＶＭ１３１〜１３Ｎを実行するものである。
【００４３】
自己位置判定部１７は、ＳＶＭ１３１〜ＳＶＭ１３Ｎより入力された実数値に基づいて、移動体５の自己位置の判定を行うものである。
【００４４】
なお、図１では、推定部２３は移動体５に設けられるよう図示されているが、例えば推定部２３を移動体５の外部に設けてリーダ９により受信された信号のデータを推定部２３に送信して学習等の処理を行うようにしたり、推定部２３による処理の一部を移動体５の外部に設けられた手段により行うようにしたりしてもよい。すなわち、例えば図２に示されるように、リーダ部３１と学習部３３と位置推定部３５にモジュール化し、少なくともリーダ部３１が移動体部に設けられるようにすればよい。
【００４５】
図３と図４は、本発明の実施の形態における自己位置推定法を説明するフロー図である。本発明の実施の形態における自己位置推定法は、大きく分けると訓練フェーズ（図３参照）と分類フェーズ（図４参照）とを含む。
【００４６】
図３は、学習部２１が互いに識別されるべき複数の場所（学習位置）で受信された信号から特徴を抽出して学習する訓練フェーズを示すフロー図である。
【００４７】
まず、互いに識別されるべきＮ個の場所のいずれかに移動体５が設置され、リーダ９からのセンサデータが収集される（図３のステップＴ１）。
【００４８】
続いて、各場所で取得したセンサデータに基づいて特徴ベクトル群を生成する（図３のステップＴ２）。
【００４９】
そして、生成された特徴ベクトル群を用いてＳＶＭ１３１〜１３Ｎの弁別学習を行う（図３のステップＴ３）。
【００５０】
この訓練フェーズが終了した後は、移動体５はセンサデータを取得する度に自己位置を推定することが可能となる。なお、この訓練フェーズにおける処理については、図５を用いて具体例の一つを説明し、図６と図７を用いて他の例について説明を行う。
【００５１】
図４は、推定部２３がある位置（位置推定地点）で取得したセンサデータから移動体５の自己位置を推定する分類フェーズを説明する図である。
【００５２】
制御部７は、ある位置（位置推定地点）において、リーダ９からのセンサデータを収集する（図４のステップＣ１）。そして、特徴ベクトル生成部１１は、得られたセンサデータに基づいて特徴ベクトルを生成する（図４のステップＣ２）。この特徴ベクトルの生成処理は、訓練フェーズにおける処理（図３のステップＴ２）とは計測地点の数が異なるだけで、処理内容は同一である。
【００５３】
特徴ベクトル生成部１１により特徴ベクトルが生成されると、各ＳＶＭ１３１〜１３Ｎは、生成された特徴ベクトルと学習した特徴とを比較し、これらの類似度を自己位置判定部１７に出力する（図４のステップＣ３）。
【００５４】
自己位置判定部１７は、ＳＶＭ１３１〜１３Ｎより入力された値を用いて自己位置を推定する（図４のステップＣ４）。この自己位置推定処理では、例えば、あるＳＶＭが正の値を出力した場合に、自己位置判定部１７は正の値を出力したＳＶＭに対応する場所に移動体５がいる可能性が高いと判断する。
【００５５】
なお、一般に、複数のＳＶＭが正の値を出力する可能性がある。ｎ個のＳＶＭで、あらゆる入力に対して常に１個のＳＶＭしか正の値を出力しないならば、曖昧さは０となる。しかしながら、その正の値を出力したＳＶＭが正しい地点のＳＶＭとは限らない。なぜなら、ＳＶＭによりｎ個のクラスに分けられると考えれているｍ次元の特徴データが、時にはノイズにより分類不能なくらいに他のクラスにもぐりこんでいる場合や、そもそもｍ次元では分離が十分行えないくらいに複雑な環境であった場合があるからである。また、ＲＦＩＤタグが用いられるときに、元々のタグが環境に固定されておらずに動いていた場合や、電波遮蔽物が新たに現れたり、タグがいつの間にか壊れたりした場合も、これと同様のことが発生する。また、同一のＩＤを持つタグが、複数個、環境に置かれてしまう可能性もある。
【００５６】
ＳＶＭは、このような誤るリスクをどの程度見積もるか設定した上で、クラス間の距離を最大にするように識別面を生成できる点で、他の学習器にはない、優れた性質を有するものである。例えば、移動ロボットの場合、全くの初期状態ではどこにいるのか全く分からないのが普通であるが、あるいくつかの地点にいると仮定し、自己の移動に伴う移動誤差の最大値を見積もりながら微小移動し、次にどの地点に現れることができたかを観測することで、初期位置と現在位置を推定することができる。
【００５７】
このため、移動体がある地点にいて、その地点に相当しているＳＶＭが正の値を出力していることを、自己位置推定の成功とする。曖昧さを小さくし、かつ、成功率を上げることにより、自己位置推定はより正確に行うことができるようになる。具体的には、例えば、もし１０個のＳＶＭがあり、２個のＳＶＭだけが正の値を出力したとする。そして、その２個のＳＶＭのうちのどちらかが正解している場合には、自己位置推定は成功し、２つの地点に絞りこむことができたとする。
【００５８】
図５は、訓練フェーズにおける処理（図３参照）の具体例の一つを示すフロー図である。
【００５９】
まず、ユーザは、互いに識別されるべきＮ個の場所（学習位置)のいずれかに移動体５を設置し、開始信号を移動体５に送信する（図５のステップＴＳ１）。そして、制御部７は、開始信号が受信されたことを認識すると、移動体５を制御して一定時間その場所の近傍を自立的に探索させ、この探索を行いながらリーダ９からのセンサデータを収集する（図５のステップＴＳ２）。なお、本実施例において、自立的に動作するという表現には、自律的に動作する意味も含まれるものとする。このセンサデータの取得をＮ個の場所すべてについて行う（図５のステップＴＳ３）。
【００６０】
センサデータの収集がすべての学習位置について終了したならば、各学習位置について、その場所で取得したセンサデータから正の例の特徴ベクトル群を生成し、それ以外の場所で取得したセンサデータから負の例の特徴ベクトル群を生成する（図５のステップＴＳ４）。
【００６１】
そして、生成された特徴ベクトル群によりＳＶＭ１３１〜１３Ｎの弁別学習が行われる（図５のステップＴＳ５）。
【００６２】
なお、図３では、移動体５に設けられたリーダ９により実際に計測して得られたセンサデータを用いてＳＶＭ１５１〜１５Ｎの学習を行っているが、例えば、このセンサデータが予めわかっていたり、他の手段により得ることができたりするような場合には、そのようなセンサデータを用いてＳＶＭ１５１〜１５Ｎの学習を行うようにしてもよい。具体的には、図６にあるように、Ｎ個の場所のいずれかにリーダ９を設置してセンサデータを収集し（図６のステップＴＴ１）、各場所で取得したセンサデータに基づいて特徴ベクトル群を生成し（図６のステップＴＴ２）、特徴ベクトル群を用いた弁別学習を行う（図６のステップＴＴ３）という訓練フェーズを行ってもよい。また、図７にあるように、環境内に設置されたタグの発信間隔や電波強度（減衰率）、指向性（アンテナパターン）といった特性が、予め知られている場合、また、タグの配置情報と環境内の壁面や家具などの電波障害物の大まかな配置が予め知られている場合、環境内の各点で観測されるであろうセンサデータをシミュレーションにより予測することができる。このセンサデータを自動生成し（図７のステップＴＥ１）、自動生成されたセンサデータに基づいて特徴ベクトル群を生成し（図７のステップＴＥ２）、特徴ベクトル群を用いた弁別学習を行う（図７のステップＴＥ３）という訓練フェーズを行ってもよい。
【００６３】
さらに、ある場所で信号が変化することもある。ここで、信号が変化した場所とは、例えば、環境内に新たにタグが配置されるか削除されたと予想された場合や、環境内に電波遮蔽物となるような物体が設置されたと予想された場合、なんらかの要因によりこれまで位置推定に成功していた地点で推定に失敗する場合などの状況にあるところを指す。このような場所がある場合には、例えば図８にあるような処理を行うことにより、信号が変化した場所に対応するＳＶＭを訓練し直してもよい。すなわち、信号が変化した場所があるかの判断を行い（図８のステップＴＰ１）、信号が変化した場所があれば図８のステップＴＰ２以降の処理を行い、なければ訓練フェーズを終了する。信号が変化した場所があれば、その場所（およびその近傍）に移動し、リーダ９からのセンサデータを再度収集する（図８のステップＴＰ２）。そして、収集したセンサデータから再度正の例の特徴ベクトル群を生成する（図８のステップＴＰ３）。負の例の特徴ベクトル群は、以前のものを再利用する。もし、他所の正の例が再収集されていれば、これを負の例の特徴ベクトルに加えてもよい。そして、対応するＳＶＭのみで、新たな特徴ベクトル群を用いた分別学習が行われる（図８のステップＴＰ４）。このようにして、信号が変化した場所に対応するＳＶＭを訓練し直してもよい。
【００６４】
ここで、ＳＶＭの正の例は、その地点で得られる特徴ベクトル群である。一方、負の例は、他のＳＶＭに対応する地点で得られる正の例である。ただし、一般に学習時の正の例と負の例は、同数程度であることが望ましい。このため、負の例は、他のＳＶＭの正の例から、ほぼ同数となるように無作為に選ばれる。この手続きでは、信号の変化のない場所でのＳＶＭの学習において、そこでの負の例に対する影響は、ＳＶＭの数の比だけ小さくなることになる。よって、ＳＶＭの数が多ければ、負の例からの影響を無視することができる。
【００６５】
さらに、信号の変化した地点が複数存在し、かつ、それが非常に近接している場合には、例えば図９にあるような処理を行うことにより、相互に負の例を更新し、ＳＶＭの学習に用いてもよい。すなわち、信号が変化した場所があるかの判断を行い（図９のステップＴＱ１）、信号が変化した場所があれば図９のステップＴＱ２以降の処理を行い、なければ訓練フェーズを終了する。信号が変化した場所があれば、その場所（およびその近傍）に移動し、リーダ９からのセンサデータを再度収集する（図９のステップＴＱ２）。その後、収集したセンサデータから再度正の例の特徴ベクトル群を生成する（図９のステップＴＱ３）。次に、近接した場所で信号が変化していたかの判断を行い（図９のステップＴＱ４）、信号が変化していないならば図９のステップＴＱ６の処理を行い、信号が変化しているならば図９のステップＴＱ５の処理を行う。近接した場所で信号が変化していたならば、その地点の正の例のいくつかを選び、以前の負の例と交換する（図９のステップＴＱ５）。そして、対応するＳＶＭのみで、新たな特徴ベクトル群を用いた弁別学習が行われる（図９のステップＴＱ６）。このように、相互に負の例を更新し、ＳＶＭの学習に用いてもよい。
【００６６】
続いて、本発明の位置推定手法の効果を確認するために行った、実機を用いた計測実験について説明する。
【００６７】
まず、実験環境について説明する。
【００６８】
実験に用いたＲＦＩＤタグとリーダの仕様を図１０から図１２に示す。実験に用いたＲＦＩＤタグはアクティブタグであり、十分に遠距離からでも通信できるように電池を内蔵している。なお、タグの配置間隔、リーダ側の電波出力が調整できるならば、通常の電磁誘導型のＲＦＩＤタグでも使用可能である。
【００６９】
また、今回は、台車型の移動ロボットにノートＰＣとタグリーダを積載し、簡易的に自己位置推定の実験を行なうこととした。なお、タグリーダは、通信手順が明らかになれば移動ロボットへの搭載も可能である。
【００７０】
実験では、九州大学大学院工学研究院田中研究室の１室を借用した。環境内の任意の位置にＲＦＩＤタグを設置し、これらからの信号を元に実験室内の位置推定を目標とした。
【００７１】
図１３は、実験室の平面図である。図１３中の壁面近傍に配置された小さな長方形がＲＦＩＤタグであり、内側の等間隔に並ぶ四角形が推定位置候補である。この候補位置は、ホームロボットシステムにおいて、家屋内のおおまかな位置をロバストに推定するという目標から定めた。環境内のタグは２５個であり、候補地点の数を１０とした。
【００７２】
実験に使用したＲＦＩＤタグは３６０度全方向から観測可能な仕様となっている。このため、実験室内では、電波をシールドするような特別な障害物がなければ信号強度に差はあるが全て受信できる。図１４から図２３は、各候補地点において取得されたタグ毎の信号とその強度を示したものである。今回用いたＲＦＩＤリーダは、ＲＦＩＤタグ毎に受信強度を連続に計測するものではなく、ある閾値を設定し、受信信号がこの閾値より大きいか否かを出力するものである。この閾値は、８レベルにのみ設定可能なものであった。また、ＲＦＩＤタグの発信間隔ＴはＴ=７[sec]であったため、ある推定候補地点において学習データを得るためには、少なくとも５６[sec] (８×７)以上停止する必要があった。実験では、プログラムの簡単化のため観測時間を６０[sec] とした。このようなＲＦタグおよびリーダの性能のため、図１４から図２３のグラフは、各受信閾値８レベル毎の、ある単位時間での受信頻度を時間平均して表示している。グラフの折れ線が８本以下となっているが、これは信号強度の弱いレベルのものは観測できなかったためである．
【００７３】
図１４から図２３の各グラフを比べても分かるように、各地点で観測されるＲＦタグのＩＤ及び受信強度のパターンにはあまり大きな差はない。このため、ロボットシステムは、これらの非常に類似した受信パターンから各候補位置の特徴を効率的に学習しなければならない。また、今回の実験では最大２５個のＲＦＩＤタグが環境内に存在しているが、実際の環境では、何個のタグが利用可能か、また、どのように配置されているかは不明であることに注意する必要がある。
【００７４】
移動ロボットの自己位置推定だけのために、環境内にＲＦＩＤタグを必要十分に配置することができれば問題は簡単である。しかし、ＲＦＩＤタグが環境内にどのように配置されているか、また、常に安定した受信が可能かは不明である。また、ＲＦＩＤタグは、電池の問題もあり、発信間隔を十分短くすることも困難である。例えば、今回実験に用いたＲＦＩＤタグの発信間隔は７秒に固定されており、また、各ＲＦＩＤタグで同期が取られているわけではない。このため、移動ロボットの移動速度では観測可能なＲＦＩＤタグの数が減るといった状況もある。このような環境において、本発明の手法によりロバストな自己位置推定ができるかどうかを確かめる。このため、統計的な調査のために、１０００通りの異なるタグ配置をランダムに設定し、自己位置推定実験を行なった。
【００７５】
自己位置推定実験は、（１）ロボットを各学習候補位置に配置し訓練フェーズを実行する、（２）ロボットをいずれかの候補位置に配置し分類フェーズを実行する、という２つのステップにより実行する。
【００７６】
それぞれの候補位置に置かれたロボットは、ここをスタート地点として、その近傍（実験では、５０×５０[cm] の範囲）を移動、探索しながら、それぞれの領域の特徴を取得する。
【００７７】
この探索は、訓練フェーズと分類フェーズにおいて、それぞれ、６０[sec]および７[sec]（１周期）行なった。前述のように、６０[sec] は受信強度全８レベルを各１周期変更する中で、７[sec] は受信強度を８レベル変更する中で少なくとも１回はあるレベルで受信できると期待される時間である。
【００７８】
訓練フェーズが終了した後分類フェーズに入ったロボットは、新しいセンサデータを取得するたびに、訓練フェーズと同じ手続きにより特徴を抽出し、その特徴の全てをセンサデータとしてすべてのＳＶＭに入力する。その結果、各ＳＶＭは入力された特徴と学習した特徴との類似度を実数値として出力する。その出力値は、そのＳＶＭに対応する場所にいる可能性の度合を表している。すなわち、あるＳＶＭが正の値を出力した場合に、ロボットは対応する場所にいる可能性が高いといえる。ただし、一般に、複数のＳＶＭが正の値を出力する可能性がある。例えば、もし１０個のＳＶＭがあり、ただ２個のＳＶＭだけが正の値を出力し、かつ、その２個のＳＶＭのうちのどちらかが正解している場合には、自己位置推定は成功し、２つの地点に絞りこむことができたとみなすことができる。この成功率といくつの地点に絞りこまれたかを表すあいまいさの２つの性質から、自己位置推定の能力を測ることができる。
【００７９】
図２４と図２５は，自己位置推定実験の実験結果を示している．
【００８０】
図２４は，タグの数をＸ軸に，ＳＶＭの成功率をＹ軸として表したグラフである．この実験では，環境内の最大２５個のタグのうち，タグの数と配置がランダムに１個から２５個選ばれている。この結果からは、１０個以上ＲＦＩＤタグが配置されている時に８０[%] の成功率となっている。
【００８１】
また、この実験では、タグの数や配置がランダムに選ばれている。すなわち、ＲＦＩＤタグの配置方法を訓練されていないユーザが、大体の数、ＲＦＩＤタグを与えられて、適当に設置するという状況でもロバストな自己位置推定が行えるという特徴を示しているといえる。これは、移動ロボットのナビゲーションとは別目的で環境内にランダムにＲＦＩＤタグが設置されている状況ということもできる。
【００８２】
図２５は、正の値を出力する（肯定的な値を出力する）ＳＶＭの数の割合を示したものである。ＲＦＩＤタグが増えるにつれ、あいまいさが減少することが分かる。しかし、ある程度の数、ＲＦＩＤタグが配置されている場合、このあいまいさは変わらなくなる。すなわち、ある程度の密度、ＲＦＩＤタグが環境内に存在すれば、あいまいさは十分小さくなることが予想できる。このあいまいさと前述のＳＶＭの成功率とを同時に考えるならば、この実験では、２５個のＲＦＩＤタグのうち１５個程度があれば、０．２以下のあいまいさで自己位置推定が正確かつ安定して行なえるということができる。
【００８３】
なお、今回の実験では、移動ロボットは単にリーダを運ぶ機械としてしか用いられなかったが、実際に自立移動ロボットにリーダを搭載し、自立移動をしながら学習や訓練を進めることができれば都合が良い。ただし、この場合、ロボットの移動速度の問題を新たに考える必要がある。自立移動ロボットによる実験を進める場合には、発信間隔の異なるＲＦタグや信号受信強度を高速かつ詳細に検出できるようなリーダを準備する必要がある。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施の形態に係る自己位置推定システムの概略ブロック図である。
【図２】図１のモジュール化を説明する図である。
【図３】訓練フェーズを説明するフロー図である。
【図４】分類フェーズを説明するフロー図である。
【図５】訓練フェーズの具体例の一つを説明するフロー図である。
【図６】訓練データを外部から得る訓練フェーズの例を説明するフロー図である。
【図７】訓練データを外部から得る訓練フェーズの他の例を説明するフロー図である。
【図８】信号が変化した場所のＳＶＭを訓練し直す例を説明するフロー図である。
【図９】信号が変化した場所が複数あり、負の例も考慮する場合の再学習を説明するフロー図である。
【図１０】実験に用いた開発キットの仕様を表す図である。
【図１１】実験に用いたＲＦタグの仕様を表す図である。
【図１２】実験に用いたリーダの仕様を表す図である。
【図１３】ＲＦタグの配置位置及び位置推定候補位置を示した図である。
【図１４】候補地点１において取得されたタグ毎の信号とその強度を示したグラフである。
【図１５】候補地点２において取得されたタグ毎の信号とその強度を示したグラフである。
【図１６】候補地点３において取得されたタグ毎の信号とその強度を示したグラフである。
【図１７】候補地点４において取得されたタグ毎の信号とその強度を示したグラフである。
【図１８】候補地点５において取得されたタグ毎の信号とその強度を示したグラフである。
【図１９】候補地点６において取得されたタグ毎の信号とその強度を示したグラフである。
【図２０】候補地点７において取得されたタグ毎の信号とその強度を示したグラフである。
【図２１】候補地点８において取得されたタグ毎の信号とその強度を示したグラフである。
【図２２】候補地点９において取得されたタグ毎の信号とその強度を示したグラフである。
【図２３】候補地点１０において取得されたタグ毎の信号とその強度を示したグラフである。
【図２４】タグ数とＳＶＭの成功率との関係を示したグラフである。
【図２５】タグ数とあいまいさとの関係を示したグラフである。
【図２６】ＲＦＩＤタグとそのリーダを表す図である。
【図２７】サポートベクターマシンの分離超平面を説明する図である。
【符号の説明】
【００８５】
１              自己位置推定システム
３１〜３Ｍ      タグ
５              移動体
７              制御部
９              リーダ
１１            特徴ベクトル生成部
１３１〜１３Ｎ  サポートベクターマシン（ＳＶＭ）
１５            ＳＶＭ実行部
１７            自己位置判定部
１９            比較部
２１            学習部
２３            推定部
【図１】
2006065703.tif 000003
【図２】
2006065703.tif 000004
【図３】
2006065703.tif 000005
【図４】
2006065703.tif 000006
【図５】
2006065703.tif 000007
【図６】
2006065703.tif 000008
【図７】
2006065703.tif 000009
【図８】
2006065703.tif 000010
【図９】
2006065703.tif 000011
【図１０】
2006065703.tif 000012
【図１１】
2006065703.tif 000013
【図１２】
2006065703.tif 000014
【図１３】
2006065703.tif 000015
【図１４】
2006065703.tif 000016
【図１５】
2006065703.tif 000017
【図１６】
2006065703.tif 000018
【図１７】
2006065703.tif 000019
【図１８】
2006065703.tif 000020
【図１９】
2006065703.tif 000021
【図２０】
2006065703.tif 000022
【図２１】
2006065703.tif 000023
【図２２】
2006065703.tif 000024
【図２３】
2006065703.tif 000025
【図２４】
2006065703.tif 000026
【図２５】
2006065703.tif 000027
【図２６】
2006065703.tif 000028
【図２７】
2006065703.tif 000029