説明

自己位置推定装置、自己位置推定方法、その自己位置推定方法をコンピュータに実行させることが可能なプログラム、及び、そのプログラムを記録した記録媒体

【課題】 受信器により受信した信号を用いた自己位置推定の場合に当てはまる機械学習ベースの自己位置推定装置等を提供する。
【解決手段】 推定部23を設け、移動体5に設けられたリーダ9により受信されたタグ31〜3Mの信号に基づいて互いに識別すべき場所ごとに設けられたサポートベクターマシンSVM151〜15Nの訓練を行い、訓練後のサポートベクターマシンを用いて移動体5の自己位置推定を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自己位置推定装置、自己位置推定方法、その自己位置推定方法をコンピュータに実行させることが可能なプログラム、及び、そのプログラムを記録した記録媒体に関し、発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置等に関する。
【背景技術】
【0002】
移動ロボットの自己位置推定問題はロボティクスにおける最も基本的な課題であり、従来より数多くの研究がなされてきた。
【0003】
従来の自己位置推定法は、大まかに2つに分類することができる。一つは、作業環境内にある特徴的な物体をランドマークとして用いたり、人工のランドマークを利用したりするものである。ランドマークが観測されるたびにロボットは自己位置推定を行うものである。もう一つは、ネットワークカメラのような大域センシングシステムを用いるものである。
【0004】
近年、安価で高信頼度の自動識別装置としてRFIDシステム(Radio Frequency Identification System)が産業生産現場に広く普及している。このRFIDシステムはRFIDタグとそのリーダの2つから構成されるものである(図26参照)。RFIDタグは記憶装置とアンテナからなり、RFIDリーダは、通常、モジュールとコントロールユニットからなる。RFIDタグは各ターゲット上に固定されてデータ保存装置として機能し、IDデータをある一定の周波数で送信する。RFIDリーダは磁場や電磁場を利用して有限距離にあるタグと通信することができ、個々のタグのID情報を読取ることができる。RFIDタグの消費電力は極めて低く、数カ月など長い期間に渡って活動することができる。信号は数ヘルツ程度の固有の周波数で発信される。
【0005】
このRFIDシステムは、非接触通信可能、遮蔽への耐性、コンパクトさ、低コストなどの優れた特徴を備えている。
【0006】
いくつかのアプリケーションでは、RFIDシステムはリーダの位置決めと追跡に用いられている(非特許文献1参照)。これらの従来のシステムでは、RFIDタグの位置は既知であることを前提としていた。
【0007】
なお、従来にも、機械学習のテクニックはいくつかの自己位置推定システムに対して適用されてはいる(非特許文献2参照)。このような従来技術では、各地点で常に同じようなセンサデータが得られることが仮定されていた。
【0008】
【非特許文献1】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.
【非特許文献2】Gerecke U., Sharkey N. E., and Sharkey A. J. C.,“Common evidence vectorsfor reliable localization with SOM ensembles”,Proc. Engineering Application of NeuralNetworks,2001.
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、ランドマークを利用するアプローチは予め与えられたランドマーク地図が正しいことを仮定しているため、照明条件の変化や物体の移動などの環境変化に対して脆弱である。
【0010】
また、大域センシングシステムを利用するアプローチは、環境変化やセンサノイズに対してロバスト(頑健)であるが、こうしたセンシングシステムは多くのアプリケーションにとって高価である。例えばホームロボットのアプリケーションでは、センシングシステムはロボットと同じ程度に安価である必要がある。
【0011】
そして、例えばRFIDシステムのように発信器が配置された空間内において受信器が受信した信号を用いて自己位置推定を行うならば、信号強度が時間と発信器からの距離とに依存するため、発信器の位置を直接的に計測できないという難しさがある。
【0012】
さらに、機械学習のテクニックを用いて自己位置推定を行うときになされる各地点で常に同じようなセンサデータが得られるという仮定は、発信器が配置された空間内において受信器が受信した信号を用いた自己位置推定の場合には必ずしも当てはまらない。このセンサデータは、自己位置だけでなく、時刻や周囲にある物体の材質などにも影響されるからである。
【0013】
そこで、本願の目的は、発信器が配置された空間内において受信器により受信した信号を用いた自己位置推定の場合における発信器の位置を直接的に計測できない困難性を克服すると共に、環境変化に対してロバストであり安価な自己位置推定を行う機械学習ベースの自己位置推定装置、自己位置推定方法、その自己位置推定方法をコンピュータにより実行可能なプログラム、及び、そのプログラムを記録した記録媒体を提供する。
【課題を解決するための手段】
【0014】
本願の請求項1に係る発明の自己位置推定装置は、発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習手段と、前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定手段と、を有することを特徴とする。
【0015】
本願の請求項2に係る発明の自己位置推定装置は、請求項1において、前記発信器はRFIDタグであり、前記受信器はRFIDリーダであることを特徴とする。
【0016】
本願の請求項3に係る発明の自己位置推定装置は、請求項1又は2において、前記学習手段による学習及び前記推定手段による推定はサポートベクターマシンを用いて行われることを特徴とする。
【0017】
ここで、サポートベクターマシン(Support Vector Machine: SVM)について説明する。SVMは、計算学習理論における構造化リスク最小化の原理に基づいた、2クラス分類器のモデルである(Hearst M. A., Scholkopf B., Dumais S., Osuna E., and Platt J.,“Trends and controversies−support vector machines”,IEEE Intelligent Systems,1998,第13巻,第4号,p.18−28参照)。例えば図27に示されるように、SVMは、特徴データ点:○と特徴データ点:□を分類するという分類問題において、2種類のデータとの間の距離51(マージン)が最大になるような分離超平面53が最も汎化能力が高い超平面であることを利用するものである。このように、SVMは、分離可能な2つの特徴ベクトルグループが与えられた場合には、それぞれのグループを高次元の特徴空間において分離するような分離超平面を決定する。また、SVMは、分離不能な特徴ベクトルグループ対が与えられた場合は、誤認識率が最小となるように分離超平面を決定する。
【0018】
SVMの性能は、カーネルトリックと呼ばれる手法を用いることで飛躍的に向上した。このカーネルトリックは、本質的に非線形な問題に対応するための手法であり、特徴ベクトルを非線形変換してその空間内で線形の識別を行うものである。そして、これにより、汎化能力が高い識別器を構成することができるようになる。
【0019】
このように、SVMは、実世界のアプリケーションに適した以下のような優れた特徴を備えている。(1)訓練結果の最適性が保証されている。(2)カーネルトリックを利用して、高速に学習を行うことができるアルゴリズムが存在する。(3)二値のラベルづけされていない訓練データのみが要求される。
【0020】
本願の請求項4に係る発明の自己位置推定装置は、請求項3において、前記サポートベクターマシンは複数であり、前記各サポートベクターマシンは学習の対象となる信号を受信する複数の場所のそれぞれに対応して設けられることを特徴とする。
【0021】
本願の請求項5に係る発明の自己位置推定装置は、複数の発信器が分散配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、前記空間内の複数の学習位置のそれぞれで受信器が受信した信号のセンサデータを収集して特徴ベクトル群を生成し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号のセンサデータを収集して特徴ベクトル群を生成する特徴ベクトル生成手段と、前記特徴ベクトル群を用いて、各学習位置に対応して設けられたサポートベクターマシンを訓練するSVM実行手段と、自己位置判定手段とを有し、前記特徴ベクトル生成手段は、訓練後には、前記空間内の任意の位置において受信器が受信した信号のセンサデータから特徴ベクトルを生成し、前記SVM実行手段は、前記サポートベクターマシンのそれぞれに対して前記特徴ベクトルと学習した信号の特徴とを比較させ、前記自己位置判定手段は、各サポートベクターマシンが比較した比較結果から前記移動体の自己位置を推定することを特徴とする。
【0022】
本願の請求項6に係る発明の自己位置推定方法は、発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定方法であって、学習手段が前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習ステップと、推定手段が前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定ステップと、を含む。
【0023】
本願の請求項7に係る発明のプログラムは、請求項6に記載の自己位置推定方法をコンピュータに実行させることが可能なものである。
【0024】
本願の請求項8に係る発明の記録媒体は、請求項7記載のプログラムをコンピュータが実行することが可能にて記録したものである。
【発明の効果】
【0025】
本発明によれば、空間内の複数の場所のそれぞれにおいて受信器が受信した信号等の特徴を抽出して学習し、空間内で移動体が移動して受信器が受信した観測信号から抽出された特徴と学習した信号の特徴との比較により前記移動体の自己位置を推定するため、発信器の位置を直接的に計測できない困難性を克服すると共に、環境変化に対してロバストであり安価な自己位置推定を行うことができる。
【0026】
また、本発明によれば、サポートベクターマシンを用いる場合には、訓練結果の最適性が保証されており、そして、カーネルトリックのテクニックを利用することによって複雑な自己位置推定問題を解くような環境モデルを効率的に獲得することができる。
【0027】
さらに、本発明によれば、サポートベクターマシンが複数あり、各サポートベクターマシンが学習の対象となる信号を受信する複数の場所のそれぞれに対応して設けられる場合には、例えば、信号が変化した場所に対応するサポートベクターマシンを個別に訓練すればよい。
【0028】
さらに、本発明によれば、タグの数が増えるにつれ、精度が上がり自己位置推定が成功するなど、学習がうまくいくようになる。そのため、例えば、家屋内にランダムに配置されたタグを用いることでロバストな位置推定ができる。また、ランダムかつ発信周期が不定のタグが配置された環境でも、これらをランドマークとして使うことができる。したがって、ユビキタスRFタグ環境に近づけば近づくほど、自己位置推定は安定して行なえるようになる。
【0029】
さらに、本発明によれば、ユーザは、例えば、テーブルや壁などの固定された物体にタグを貼り付けて、できるだけ一様に分布させるだけでよい。一般的な屋内環境では、壁や天井、床、その他の構造材だけでなく、居間や書斎、台所、廊下など、場所々々に応じて、様々な照明器具や家具、家電品などが、配置、利用されている。これらに、タグを貼り付けておいたり、予め貼り付けられて出荷されていたりすることができるため、移動体が部屋の中のどこに位置していても、その近くには常にいずれかのタグがあることが期待できる。
【発明を実施するための最良の形態】
【0030】
図1は、本発明の実施の形態に係る自己位置推定システムの概略ブロック図である。
【0031】
自己位置推定システム1は、タグ31〜3Mと移動体5を備える。移動体5は、制御部7とリーダ9と特徴ベクトル生成部11とSVM実行部15と自己位置判定部17を有するものである。そして、比較部19はSVM実行部15を有し、学習部21は比較部19と特徴ベクトル生成部11を有し、推定部(自己位置推定装置)23は学習部21と自己位置判定部17を有する。
【0032】
タグ31〜3Mは、図示を省略するが記憶装置とアンテナを有し、IDデータをある一定の周波数で送信する。これらのタグは環境内の固定物体に貼り付けられる。環境内のタグの空間的分布はできるだけ一様になるようにする。なお、既設のRFIDタグがある場合はこれを利用してもよい。
【0033】
移動体5は、例えばロボットのような移動体である。
【0034】
制御部7は、移動体5の動作を制御するものである。
【0035】
リーダ9は、磁場や電磁場を利用して有限距離にあるタグ31〜3Mと通信することができ、個々のタグのID情報を読取ることができるものである。
【0036】
特徴ベクトル生成部11は、リーダ9により受信されたタグの信号のデータに基づいて特徴ベクトルを生成し、生成した特徴ベクトルをSVM131〜13Nに出力するものである。この特徴ベクトルは、例えば、タグ数Mと同じ次元数の実数ベクトルであって、その各要素は各タグから受信したデータの特徴を表すものである。なお、特徴ベクトルを生成するときに用いられる各タグから受信したデータの特徴としては、特徴ベクトルが生成できるものであればどのようなものを利用してもよい。例えば、信号強度の時間平均や信号の発信間隔のデータ、データ自身に埋め込まれたタグ自身の位置データなどに基づいて特徴ベクトルを生成してもよく、また、RFIDリーダが複数の周波数をスキャンできる場合は、タグの発信周波数のデータ、タグ自身に埋め込まれた商品コードや企業名のデータなどに基づいて特徴ベクトルを生成してもよい。
【0037】
SVM131〜13Nは、サポートベクターマシンであって、互いに識別されるべきN個の場所をそれぞれ担当するようN個用意される。
【0038】
ある場所を識別できるようにSVM131〜13Nを訓練するためには、正の例と負の例と呼ぶ特徴ベクトルが必要である。正の例はその場所で取得されそうな特徴ベクトルである。負の例はその場所以外の場所で取得されそうな特徴ベクトルである。正の例と負の例は、ほぼ同数であることが望ましい。正の例を得るためには、その場所で取得された特徴ベクトルから単純にサンプリングすればよい。一方、負の例を得るためには、任意に選ばれた他のいずれかの場所の特徴ベクトルからランダムにサンプリングする。
【0039】
SVMは、クラスを二つに分ける識別面を計算する。どれくらいうまく分かれたかは、二つのクラス(正の例と負の例からなるクラス)の中のそれぞれの特徴データ点が、どれくらい識別面から離れているかで計算される。
【0040】
学習済みのSVM131〜13Nは、特徴ベクトルを入力すると[-1,+1]の範囲にある実数値を自己位置判定部17に出力する。この出力値は入力した特徴ベクトルが識別面からどれくらい離れているかで計算されるものであり、入力データと学習データとの類似度と解釈することができるものである。そのため、この出力値は、ロボットが対応する場所にいるかどうかの判断基準として利用できる。
【0041】
なお、学習器としては、SVM以外にも、例えば遺伝的アルゴリズム(GA)による学習やニューラルネットワーク(NN)による学習、隠れマルコフモデルによる学習、決定木学習、強化学習、統計的機械学習等によるものでもよいが、SVMは、最終的な識別面の生成において最適性を保障できるという特徴を有するものである。
【0042】
SVM実行部15はSVM131〜13Nを実行するものである。
【0043】
自己位置判定部17は、SVM131〜SVM13Nより入力された実数値に基づいて、移動体5の自己位置の判定を行うものである。
【0044】
なお、図1では、推定部23は移動体5に設けられるよう図示されているが、例えば推定部23を移動体5の外部に設けてリーダ9により受信された信号のデータを推定部23に送信して学習等の処理を行うようにしたり、推定部23による処理の一部を移動体5の外部に設けられた手段により行うようにしたりしてもよい。すなわち、例えば図2に示されるように、リーダ部31と学習部33と位置推定部35にモジュール化し、少なくともリーダ部31が移動体部に設けられるようにすればよい。
【0045】
図3と図4は、本発明の実施の形態における自己位置推定法を説明するフロー図である。本発明の実施の形態における自己位置推定法は、大きく分けると訓練フェーズ(図3参照)と分類フェーズ(図4参照)とを含む。
【0046】
図3は、学習部21が互いに識別されるべき複数の場所(学習位置)で受信された信号から特徴を抽出して学習する訓練フェーズを示すフロー図である。
【0047】
まず、互いに識別されるべきN個の場所のいずれかに移動体5が設置され、リーダ9からのセンサデータが収集される(図3のステップT1)。
【0048】
続いて、各場所で取得したセンサデータに基づいて特徴ベクトル群を生成する(図3のステップT2)。
【0049】
そして、生成された特徴ベクトル群を用いてSVM131〜13Nの弁別学習を行う(図3のステップT3)。
【0050】
この訓練フェーズが終了した後は、移動体5はセンサデータを取得する度に自己位置を推定することが可能となる。なお、この訓練フェーズにおける処理については、図5を用いて具体例の一つを説明し、図6と図7を用いて他の例について説明を行う。
【0051】
図4は、推定部23がある位置(位置推定地点)で取得したセンサデータから移動体5の自己位置を推定する分類フェーズを説明する図である。
【0052】
制御部7は、ある位置(位置推定地点)において、リーダ9からのセンサデータを収集する(図4のステップC1)。そして、特徴ベクトル生成部11は、得られたセンサデータに基づいて特徴ベクトルを生成する(図4のステップC2)。この特徴ベクトルの生成処理は、訓練フェーズにおける処理(図3のステップT2)とは計測地点の数が異なるだけで、処理内容は同一である。
【0053】
特徴ベクトル生成部11により特徴ベクトルが生成されると、各SVM131〜13Nは、生成された特徴ベクトルと学習した特徴とを比較し、これらの類似度を自己位置判定部17に出力する(図4のステップC3)。
【0054】
自己位置判定部17は、SVM131〜13Nより入力された値を用いて自己位置を推定する(図4のステップC4)。この自己位置推定処理では、例えば、あるSVMが正の値を出力した場合に、自己位置判定部17は正の値を出力したSVMに対応する場所に移動体5がいる可能性が高いと判断する。
【0055】
なお、一般に、複数のSVMが正の値を出力する可能性がある。n個のSVMで、あらゆる入力に対して常に1個のSVMしか正の値を出力しないならば、曖昧さは0となる。しかしながら、その正の値を出力したSVMが正しい地点のSVMとは限らない。なぜなら、SVMによりn個のクラスに分けられると考えれているm次元の特徴データが、時にはノイズにより分類不能なくらいに他のクラスにもぐりこんでいる場合や、そもそもm次元では分離が十分行えないくらいに複雑な環境であった場合があるからである。また、RFIDタグが用いられるときに、元々のタグが環境に固定されておらずに動いていた場合や、電波遮蔽物が新たに現れたり、タグがいつの間にか壊れたりした場合も、これと同様のことが発生する。また、同一のIDを持つタグが、複数個、環境に置かれてしまう可能性もある。
【0056】
SVMは、このような誤るリスクをどの程度見積もるか設定した上で、クラス間の距離を最大にするように識別面を生成できる点で、他の学習器にはない、優れた性質を有するものである。例えば、移動ロボットの場合、全くの初期状態ではどこにいるのか全く分からないのが普通であるが、あるいくつかの地点にいると仮定し、自己の移動に伴う移動誤差の最大値を見積もりながら微小移動し、次にどの地点に現れることができたかを観測することで、初期位置と現在位置を推定することができる。
【0057】
このため、移動体がある地点にいて、その地点に相当しているSVMが正の値を出力していることを、自己位置推定の成功とする。曖昧さを小さくし、かつ、成功率を上げることにより、自己位置推定はより正確に行うことができるようになる。具体的には、例えば、もし10個のSVMがあり、2個のSVMだけが正の値を出力したとする。そして、その2個のSVMのうちのどちらかが正解している場合には、自己位置推定は成功し、2つの地点に絞りこむことができたとする。
【0058】
図5は、訓練フェーズにおける処理(図3参照)の具体例の一つを示すフロー図である。
【0059】
まず、ユーザは、互いに識別されるべきN個の場所(学習位置)のいずれかに移動体5を設置し、開始信号を移動体5に送信する(図5のステップTS1)。そして、制御部7は、開始信号が受信されたことを認識すると、移動体5を制御して一定時間その場所の近傍を自立的に探索させ、この探索を行いながらリーダ9からのセンサデータを収集する(図5のステップTS2)。なお、本実施例において、自立的に動作するという表現には、自律的に動作する意味も含まれるものとする。このセンサデータの取得をN個の場所すべてについて行う(図5のステップTS3)。
【0060】
センサデータの収集がすべての学習位置について終了したならば、各学習位置について、その場所で取得したセンサデータから正の例の特徴ベクトル群を生成し、それ以外の場所で取得したセンサデータから負の例の特徴ベクトル群を生成する(図5のステップTS4)。
【0061】
そして、生成された特徴ベクトル群によりSVM131〜13Nの弁別学習が行われる(図5のステップTS5)。
【0062】
なお、図3では、移動体5に設けられたリーダ9により実際に計測して得られたセンサデータを用いてSVM151〜15Nの学習を行っているが、例えば、このセンサデータが予めわかっていたり、他の手段により得ることができたりするような場合には、そのようなセンサデータを用いてSVM151〜15Nの学習を行うようにしてもよい。具体的には、図6にあるように、N個の場所のいずれかにリーダ9を設置してセンサデータを収集し(図6のステップTT1)、各場所で取得したセンサデータに基づいて特徴ベクトル群を生成し(図6のステップTT2)、特徴ベクトル群を用いた弁別学習を行う(図6のステップTT3)という訓練フェーズを行ってもよい。また、図7にあるように、環境内に設置されたタグの発信間隔や電波強度(減衰率)、指向性(アンテナパターン)といった特性が、予め知られている場合、また、タグの配置情報と環境内の壁面や家具などの電波障害物の大まかな配置が予め知られている場合、環境内の各点で観測されるであろうセンサデータをシミュレーションにより予測することができる。このセンサデータを自動生成し(図7のステップTE1)、自動生成されたセンサデータに基づいて特徴ベクトル群を生成し(図7のステップTE2)、特徴ベクトル群を用いた弁別学習を行う(図7のステップTE3)という訓練フェーズを行ってもよい。
【0063】
さらに、ある場所で信号が変化することもある。ここで、信号が変化した場所とは、例えば、環境内に新たにタグが配置されるか削除されたと予想された場合や、環境内に電波遮蔽物となるような物体が設置されたと予想された場合、なんらかの要因によりこれまで位置推定に成功していた地点で推定に失敗する場合などの状況にあるところを指す。このような場所がある場合には、例えば図8にあるような処理を行うことにより、信号が変化した場所に対応するSVMを訓練し直してもよい。すなわち、信号が変化した場所があるかの判断を行い(図8のステップTP1)、信号が変化した場所があれば図8のステップTP2以降の処理を行い、なければ訓練フェーズを終了する。信号が変化した場所があれば、その場所(およびその近傍)に移動し、リーダ9からのセンサデータを再度収集する(図8のステップTP2)。そして、収集したセンサデータから再度正の例の特徴ベクトル群を生成する(図8のステップTP3)。負の例の特徴ベクトル群は、以前のものを再利用する。もし、他所の正の例が再収集されていれば、これを負の例の特徴ベクトルに加えてもよい。そして、対応するSVMのみで、新たな特徴ベクトル群を用いた分別学習が行われる(図8のステップTP4)。このようにして、信号が変化した場所に対応するSVMを訓練し直してもよい。
【0064】
ここで、SVMの正の例は、その地点で得られる特徴ベクトル群である。一方、負の例は、他のSVMに対応する地点で得られる正の例である。ただし、一般に学習時の正の例と負の例は、同数程度であることが望ましい。このため、負の例は、他のSVMの正の例から、ほぼ同数となるように無作為に選ばれる。この手続きでは、信号の変化のない場所でのSVMの学習において、そこでの負の例に対する影響は、SVMの数の比だけ小さくなることになる。よって、SVMの数が多ければ、負の例からの影響を無視することができる。
【0065】
さらに、信号の変化した地点が複数存在し、かつ、それが非常に近接している場合には、例えば図9にあるような処理を行うことにより、相互に負の例を更新し、SVMの学習に用いてもよい。すなわち、信号が変化した場所があるかの判断を行い(図9のステップTQ1)、信号が変化した場所があれば図9のステップTQ2以降の処理を行い、なければ訓練フェーズを終了する。信号が変化した場所があれば、その場所(およびその近傍)に移動し、リーダ9からのセンサデータを再度収集する(図9のステップTQ2)。その後、収集したセンサデータから再度正の例の特徴ベクトル群を生成する(図9のステップTQ3)。次に、近接した場所で信号が変化していたかの判断を行い(図9のステップTQ4)、信号が変化していないならば図9のステップTQ6の処理を行い、信号が変化しているならば図9のステップTQ5の処理を行う。近接した場所で信号が変化していたならば、その地点の正の例のいくつかを選び、以前の負の例と交換する(図9のステップTQ5)。そして、対応するSVMのみで、新たな特徴ベクトル群を用いた弁別学習が行われる(図9のステップTQ6)。このように、相互に負の例を更新し、SVMの学習に用いてもよい。
【0066】
続いて、本発明の位置推定手法の効果を確認するために行った、実機を用いた計測実験について説明する。
【0067】
まず、実験環境について説明する。
【0068】
実験に用いたRFIDタグとリーダの仕様を図10から図12に示す。実験に用いたRFIDタグはアクティブタグであり、十分に遠距離からでも通信できるように電池を内蔵している。なお、タグの配置間隔、リーダ側の電波出力が調整できるならば、通常の電磁誘導型のRFIDタグでも使用可能である。
【0069】
また、今回は、台車型の移動ロボットにノートPCとタグリーダを積載し、簡易的に自己位置推定の実験を行なうこととした。なお、タグリーダは、通信手順が明らかになれば移動ロボットへの搭載も可能である。
【0070】
実験では、九州大学大学院工学研究院田中研究室の1室を借用した。環境内の任意の位置にRFIDタグを設置し、これらからの信号を元に実験室内の位置推定を目標とした。
【0071】
図13は、実験室の平面図である。図13中の壁面近傍に配置された小さな長方形がRFIDタグであり、内側の等間隔に並ぶ四角形が推定位置候補である。この候補位置は、ホームロボットシステムにおいて、家屋内のおおまかな位置をロバストに推定するという目標から定めた。環境内のタグは25個であり、候補地点の数を10とした。
【0072】
実験に使用したRFIDタグは360度全方向から観測可能な仕様となっている。このため、実験室内では、電波をシールドするような特別な障害物がなければ信号強度に差はあるが全て受信できる。図14から図23は、各候補地点において取得されたタグ毎の信号とその強度を示したものである。今回用いたRFIDリーダは、RFIDタグ毎に受信強度を連続に計測するものではなく、ある閾値を設定し、受信信号がこの閾値より大きいか否かを出力するものである。この閾値は、8レベルにのみ設定可能なものであった。また、RFIDタグの発信間隔TはT=7[sec]であったため、ある推定候補地点において学習データを得るためには、少なくとも56[sec] (8×7)以上停止する必要があった。実験では、プログラムの簡単化のため観測時間を60[sec] とした。このようなRFタグおよびリーダの性能のため、図14から図23のグラフは、各受信閾値8レベル毎の、ある単位時間での受信頻度を時間平均して表示している。グラフの折れ線が8本以下となっているが、これは信号強度の弱いレベルのものは観測できなかったためである.
【0073】
図14から図23の各グラフを比べても分かるように、各地点で観測されるRFタグのID及び受信強度のパターンにはあまり大きな差はない。このため、ロボットシステムは、これらの非常に類似した受信パターンから各候補位置の特徴を効率的に学習しなければならない。また、今回の実験では最大25個のRFIDタグが環境内に存在しているが、実際の環境では、何個のタグが利用可能か、また、どのように配置されているかは不明であることに注意する必要がある。
【0074】
移動ロボットの自己位置推定だけのために、環境内にRFIDタグを必要十分に配置することができれば問題は簡単である。しかし、RFIDタグが環境内にどのように配置されているか、また、常に安定した受信が可能かは不明である。また、RFIDタグは、電池の問題もあり、発信間隔を十分短くすることも困難である。例えば、今回実験に用いたRFIDタグの発信間隔は7秒に固定されており、また、各RFIDタグで同期が取られているわけではない。このため、移動ロボットの移動速度では観測可能なRFIDタグの数が減るといった状況もある。このような環境において、本発明の手法によりロバストな自己位置推定ができるかどうかを確かめる。このため、統計的な調査のために、1000通りの異なるタグ配置をランダムに設定し、自己位置推定実験を行なった。
【0075】
自己位置推定実験は、(1)ロボットを各学習候補位置に配置し訓練フェーズを実行する、(2)ロボットをいずれかの候補位置に配置し分類フェーズを実行する、という2つのステップにより実行する。
【0076】
それぞれの候補位置に置かれたロボットは、ここをスタート地点として、その近傍(実験では、50×50[cm] の範囲)を移動、探索しながら、それぞれの領域の特徴を取得する。
【0077】
この探索は、訓練フェーズと分類フェーズにおいて、それぞれ、60[sec]および7[sec](1周期)行なった。前述のように、60[sec] は受信強度全8レベルを各1周期変更する中で、7[sec] は受信強度を8レベル変更する中で少なくとも1回はあるレベルで受信できると期待される時間である。
【0078】
訓練フェーズが終了した後分類フェーズに入ったロボットは、新しいセンサデータを取得するたびに、訓練フェーズと同じ手続きにより特徴を抽出し、その特徴の全てをセンサデータとしてすべてのSVMに入力する。その結果、各SVMは入力された特徴と学習した特徴との類似度を実数値として出力する。その出力値は、そのSVMに対応する場所にいる可能性の度合を表している。すなわち、あるSVMが正の値を出力した場合に、ロボットは対応する場所にいる可能性が高いといえる。ただし、一般に、複数のSVMが正の値を出力する可能性がある。例えば、もし10個のSVMがあり、ただ2個のSVMだけが正の値を出力し、かつ、その2個のSVMのうちのどちらかが正解している場合には、自己位置推定は成功し、2つの地点に絞りこむことができたとみなすことができる。この成功率といくつの地点に絞りこまれたかを表すあいまいさの2つの性質から、自己位置推定の能力を測ることができる。
【0079】
図24と図25は,自己位置推定実験の実験結果を示している.
【0080】
図24は,タグの数をX軸に,SVMの成功率をY軸として表したグラフである.この実験では,環境内の最大25個のタグのうち,タグの数と配置がランダムに1個から25個選ばれている。この結果からは、10個以上RFIDタグが配置されている時に80[%] の成功率となっている。
【0081】
また、この実験では、タグの数や配置がランダムに選ばれている。すなわち、RFIDタグの配置方法を訓練されていないユーザが、大体の数、RFIDタグを与えられて、適当に設置するという状況でもロバストな自己位置推定が行えるという特徴を示しているといえる。これは、移動ロボットのナビゲーションとは別目的で環境内にランダムにRFIDタグが設置されている状況ということもできる。
【0082】
図25は、正の値を出力する(肯定的な値を出力する)SVMの数の割合を示したものである。RFIDタグが増えるにつれ、あいまいさが減少することが分かる。しかし、ある程度の数、RFIDタグが配置されている場合、このあいまいさは変わらなくなる。すなわち、ある程度の密度、RFIDタグが環境内に存在すれば、あいまいさは十分小さくなることが予想できる。このあいまいさと前述のSVMの成功率とを同時に考えるならば、この実験では、25個のRFIDタグのうち15個程度があれば、0.2以下のあいまいさで自己位置推定が正確かつ安定して行なえるということができる。
【0083】
なお、今回の実験では、移動ロボットは単にリーダを運ぶ機械としてしか用いられなかったが、実際に自立移動ロボットにリーダを搭載し、自立移動をしながら学習や訓練を進めることができれば都合が良い。ただし、この場合、ロボットの移動速度の問題を新たに考える必要がある。自立移動ロボットによる実験を進める場合には、発信間隔の異なるRFタグや信号受信強度を高速かつ詳細に検出できるようなリーダを準備する必要がある。
【図面の簡単な説明】
【0084】
【図1】本発明の実施の形態に係る自己位置推定システムの概略ブロック図である。
【図2】図1のモジュール化を説明する図である。
【図3】訓練フェーズを説明するフロー図である。
【図4】分類フェーズを説明するフロー図である。
【図5】訓練フェーズの具体例の一つを説明するフロー図である。
【図6】訓練データを外部から得る訓練フェーズの例を説明するフロー図である。
【図7】訓練データを外部から得る訓練フェーズの他の例を説明するフロー図である。
【図8】信号が変化した場所のSVMを訓練し直す例を説明するフロー図である。
【図9】信号が変化した場所が複数あり、負の例も考慮する場合の再学習を説明するフロー図である。
【図10】実験に用いた開発キットの仕様を表す図である。
【図11】実験に用いたRFタグの仕様を表す図である。
【図12】実験に用いたリーダの仕様を表す図である。
【図13】RFタグの配置位置及び位置推定候補位置を示した図である。
【図14】候補地点1において取得されたタグ毎の信号とその強度を示したグラフである。
【図15】候補地点2において取得されたタグ毎の信号とその強度を示したグラフである。
【図16】候補地点3において取得されたタグ毎の信号とその強度を示したグラフである。
【図17】候補地点4において取得されたタグ毎の信号とその強度を示したグラフである。
【図18】候補地点5において取得されたタグ毎の信号とその強度を示したグラフである。
【図19】候補地点6において取得されたタグ毎の信号とその強度を示したグラフである。
【図20】候補地点7において取得されたタグ毎の信号とその強度を示したグラフである。
【図21】候補地点8において取得されたタグ毎の信号とその強度を示したグラフである。
【図22】候補地点9において取得されたタグ毎の信号とその強度を示したグラフである。
【図23】候補地点10において取得されたタグ毎の信号とその強度を示したグラフである。
【図24】タグ数とSVMの成功率との関係を示したグラフである。
【図25】タグ数とあいまいさとの関係を示したグラフである。
【図26】RFIDタグとそのリーダを表す図である。
【図27】サポートベクターマシンの分離超平面を説明する図である。
【符号の説明】
【0085】
1 自己位置推定システム
31〜3M タグ
5 移動体
7 制御部
9 リーダ
11 特徴ベクトル生成部
131〜13N サポートベクターマシン(SVM)
15 SVM実行部
17 自己位置判定部
19 比較部
21 学習部
23 推定部







【特許請求の範囲】
【請求項1】
発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、
前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習手段と、
前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定手段と、
を有することを特徴とする自己位置推定装置。
【請求項2】
前記発信器はRFIDタグであり、前記受信器はRFIDリーダであることを特徴とする請求項1記載の自己位置推定装置。
【請求項3】
前記学習手段による学習及び前記推定手段による推定はサポートベクターマシンを用いて行われることを特徴とする請求項1又は2記載の自己位置推定装置。
【請求項4】
前記サポートベクターマシンは複数であり、前記各サポートベクターマシンは学習の対象となる信号を受信する複数の場所のそれぞれに対応して設けられることを特徴とする請求項3記載の自己位置推定装置。
【請求項5】
複数の発信器が分散配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定装置であって、
前記空間内の複数の学習位置のそれぞれで受信器が受信した信号のセンサデータを収集して特徴ベクトル群を生成し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号のセンサデータを収集して特徴ベクトル群を生成する特徴ベクトル生成手段と、
前記特徴ベクトル群を用いて、各学習位置に対応して設けられたサポートベクターマシンを訓練するSVM実行手段と、
自己位置判定手段とを有し、
前記特徴ベクトル生成手段は、訓練後には、前記空間内の任意の位置において受信器が受信した信号のセンサデータから特徴ベクトルを生成し、
前記SVM実行手段は、前記サポートベクターマシンのそれぞれに対して前記特徴ベクトルと学習した信号の特徴とを比較させ、
前記自己位置判定手段は、各サポートベクターマシンが比較した比較結果から前記移動体の自己位置を推定する
ことを特徴とする自己位置推定装置。
【請求項6】
発信器が配置された空間内において、受信器を有する移動体の自己位置を推定する自己位置推定方法であって、
学習手段が前記空間内の複数の場所のそれぞれにおいて受信器が受信した信号の特徴を抽出して学習し、又は、前記発信器の配置情報及び前記発信器の特性に基づいて前記空間内の複数の場所のそれぞれに対応して自動生成された信号の特徴を抽出して学習する学習ステップと、
推定手段が前記空間内で前記移動体が移動して受信器が受信した観測信号から抽出された特徴と前記学習手段が学習した信号の特徴との比較により前記移動体の自己位置を推定する推定ステップと、
を含む自己位置推定方法。
【請求項7】
請求項6に記載の自己位置推定方法をコンピュータに実行させることが可能なプログラム。
【請求項8】
請求項7記載のプログラムをコンピュータが実行することが可能にて記録した記録媒体。














































【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2006−65703(P2006−65703A)
【公開日】平成18年3月9日(2006.3.9)
【国際特許分類】
【出願番号】特願2004−249404(P2004−249404)
【出願日】平成16年8月30日(2004.8.30)
【出願人】(596134367)財団法人九州システム情報技術研究所 (12)
【出願人】(302038718)株式会社エヌ・ティ・ティ ネオメイト (5)
【Fターム(参考)】