(57)【要約】  人工マークを用いて、リアルタイムにロボットの位置情報を提供するシステムおよび方法が提供される。本システムは、予め定められた空間に取り付けられた、空間座標値を伴う人工マークを撮影することにより画像信号を取得し、取得した画像信号から人工マークの画像座標値を検出するための画像処理モジュールと、検出した人工マークの画像座標値と予め記憶された人工マークの空間座標値とを比較することにより、現在の位置を算出するための位置算出モジュールと、人工マーク追跡処理および画像座標推定処理のうちの一方を選択的に用いることにより、現在の位置情報を更新するための人工マーク識別モジュールとを備える。
2009512088.tif 000002
【特許請求の範囲】
【請求項１】
人工マークに基づいてリアルタイムに位置を算出するシステムであって、
予め定められた空間に取り付けられた、空間座標値を伴う人工マークを撮影することにより画像信号を取得し、該取得した画像信号から人工マークの画像座標を検出するための画像処理モジュールと、
前記検出した人工マークの前記画像座標値と予め記憶された人工マークの空間座標値とを比較することにより、現在の位置を算出するための位置算出モジュールと、
人工マーク追跡処理および画像座標推定処理のうちの一方を選択的に用いることにより、現在の位置情報を更新するための人工マーク識別モジュールであって、前記人工マーク追跡処理は、現在検出した人工マークに最も近い、前の時間に検出した人工マークのうちの１つの人工マークとして、前記現在検出した人工マークを識別し、前記画像座標推定処理は、現在の位置情報と予め定められた人工マークの空間座標値とを用いて人工マークの画像座標値を推定し、かつ該推定した画像座標値と前記検出した画像座標値とを比較することにより、人工マークを識別する、人工マーク識別モジュールと
を備えたことを特徴とするシステム。
【請求項２】
前記人工マークは、一意なＩＤを有し、かつ予め定められた波長光を発する光源であることを特徴とする請求項１に記載のシステム。
【請求項３】
前記人工標識を点灯したり消灯したりするよう制御するためのマーク制御モジュール
をさらに備えたことを特徴とする請求項２に記載のシステム。
【請求項４】
カメラには、前記人工マークに含まれた発光ユニットから発せられる予め定められた波長光のみをフィルタリングして透過させる光学フィルタが含まれることを特徴とする請求項２に記載のシステム。
【請求項５】
前記算出した現在の位置情報と前記予め記憶された人工マークの空間座標値とを用いて、前記画像座標推定処理を実行するための画像推定モジュール
をさらに備えたことを特徴とする請求項１に記載のシステム。
【請求項６】
カメラがロボットに取り付けられ、
前記システムは、
有線リンクおよび無線リンクを介した、前記カメラからの信号を受信して処理するリモートサーバ
を含むことを特徴とする請求項１乃至５のいずれか１項に記載のシステム。
【請求項７】
人工マークに基づいてリアルタイムに位置を算出する方法であって、
（ａ）人工マークの点灯および消灯を介して認識された画像座標値を用いて現在の初期位置を算出するか、または予め定められた位置として前記現在の初期位置を指定する段階と、
（ｂ）マーク識別モジュールにて、移動している間に人工マーク追跡処理により検出された人工マークを識別する段階であって、前記人工マーク追跡処理は、現在検出された人工マークに最も近い、前の時間に検出された人工マークのうちの１つの人工マークとして、前記現在検出された人工マークを識別する段階と、
（ｃ）位置算出モジュールにて、前記検出され、かつ識別された人工マークの前記画像座標値と、主制御モジュールにおける予め記憶された空間座標値とに基づいて、現在の位置を更新する段階と
を含むことを特徴とする方法。
【請求項８】
人工マークに基づいてリアルタイムに位置を算出する方法であって、
（ａ）人工マークの点灯および消灯を介して認識された画像座標値を用いて現在の初期位置を算出するか、または予め定められた位置として前記現在の初期位置を指定する段階と、
（ｂ）マーク識別モジュールにて、移動している間に人工マークを識別する段階であって、前記人工マークは、位置算出モジュールにて算出された人工マークの現在の位置情報と、主制御モジュールにおける記憶された空間座標値とに基づいて、画像推定モジュールにて人工マークの画像座標値を推定し、かつ該推定した画像座標値と新たに検出した画像座標とを比較することにより識別される、識別する段階と、
（ｃ）前記位置算出モジュールにて、前記検出され、かつ識別された人工マークの前記画像座標値と、前記主制御モジュールにおける予め記憶された空間座標値とに基づいて、現在の位置を更新する段階と
を含むことを特徴とする方法。
【請求項９】
人工マークに基づいてリアルタイムに位置を算出する方法であって、
（ａ）人工マークの点灯および消灯を介して認識された画像座標値を用いて現在の初期位置を算出するか、または予め定められた位置として前記現在の初期位置を指定する段階と、
（ｂ）マーク識別モジュールにて、移動している間に人工マークを識別する段階であって、前記人工マークは、前の時間段階で検出した人工マークのうちの１つの人工マークに最も近い人工マークが同一の人工マークとして識別される画像に対して、人工マーク追跡処理を実行することにより識別されるか、または、前記人工マークは、位置算出モジュールにて算出された人工マークの現在の位置情報と、主制御モジュールにおける記憶された空間座標とに基づいて、画像推定モジュールにて人工マークの画像座標値を推定し、かつ前記前の時間段階で検出した人口マークが消えたときに、前記推定した画像座標値と新たに検出した画像座標値とを比較することにより識別される、識別する段階と、
（ｃ）前記位置算出モジュールにて、前記検出され、かつ識別された人工マークの前記画像座標値と、前記主制御モジュールにおける予め記憶された空間座標値とに基づいて、現在の位置を更新する段階と
を含むことを特徴とする方法。
【請求項１０】
前記段階（ａ）において、前記現在の位置は、マーク制御モジュールによる予め定められた人工マークの点灯および消灯を通じて画像処理モジュールにて検出した画像座標値と、主制御モジュールにおける予め記憶された空間座標値とを用いて、位置算出モジュールにて初期の現在位置を算出することにより算出されることを特徴とする請求項７乃至９のいずれか１項に記載の方法。
【請求項１１】
前記段階（ａ）は、
（ａ−１）マーク制御モジュールによって、予め定められた人工マークを点灯／消灯する段階と、
（ａ−２）画像処理モジュールに含まれるカメラを用いて、点灯／消灯される前記予め定められた人工マークの画像を撮影する段階と、
（ａ−３）前記画像を撮影することにより得られた画像信号を処理することによって、予め定められた人工マークを検出する段階と、
（ａ−４）該検出した人工マークの画像座標値を算出する段階と、
（ａ−５）検出した人工マークの個数が予め定められた個数よりも多いかを判定する段階と、
（ａ−６）前記検出した人工マークの個数が前記予め定められた個数よりも少ない場合、前記検出した人工マークの個数が前記予め定められた個数よりも多くなるまで他の人工マークを点灯／消灯することにより画像座標値を算出し、前記検出した人工マークの個数が前記予め定められた個数よりも多い場合、検出した人工マークの画像座標値と、主制御モジュールにおける予め記憶された空間座標値とから、初期の現在位置を決定する段階と
を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記検出した人工マークの個数は２つであることを特徴とする請求項１１に記載の方法。
【請求項１３】
現在の位置を算出するために使用される誤差補正した画像座標値（ｕ，ｖ）は、以下の式１乃至３を用いて、カメラレンズに起因する誤差を補正することにより、検出した人工マークの画像座標値（ｘ，ｙ）から算出され、ここで、前記式１乃至３において、ｆxおよびｆyは、焦点距離を表し、ＣxおよびＣyは、レンズの中心の画像座標値を示すカメラの内部パラメータを表し、ｋ1、ｋ2、およびｋ3は、キャリブレーションによって得られるレンズ誤差係数を示す定数を表すことを特徴とする請求項１２に記載の方法。
【数１】
2009512088.tif 000017
【数２】
2009512088.tif 000018
【数３】
2009512088.tif 000019
【請求項１４】
前記初期の現在位置（ｒx，ｒy，θ）は、以下の式４乃至７に基づいて、誤差補正した画像座標値（ｕi，ｖi）および（ｕj，ｖj）と、記憶された空間座標値（Ｘi，Ｙi）および（Ｘj，Ｙj）とから算出され、ここで、前記式４乃至７において、θは、空間座標のＹ軸を基準としたときの先進角を表すことを特徴とする請求項１３に記載の方法。
【数４】
2009512088.tif 000020
【数５】
2009512088.tif 000021
【数６】
2009512088.tif 000022
【数７】
2009512088.tif 000023
【請求項１５】
前記段階（ａ）における前記予め定められた位置は、予め定められた動作スタート位置であることを特徴とする請求項７乃至９のいずれか１項に記載の方法。
【請求項１６】
前記人工マーク追跡は、予め定められた時間段階で検出した人工マークの画像座標値に基づいて、予め定められた矩形領域から人工マークを検出することを特徴とする請求項７乃至９のいずれか１項に記載の方法。
【請求項１７】
前記段階（ｂ）は、
（ｂ−１）画像処理により人工マークを検出する段階と、
（ｂ−２）検出した人工マークの個数が予め定められた個数よりも多いかを判定する段階と、
（ｂ−３）前記検出した人工マークの個数が前記予め定められた個数よりも少ない場合、人工マーク検出を実行し、前記検出した人工マークの個数が前記予め定められた個数よりも多い場合、時間ｔ−１での位置情報を用いて人工マークの画像座標値を推定する段階と、
（ｂ−４）検出した人工マークの画像座標値に最も近い、前記推定した画像座標値を有する人工マークを識別する段階と
を含むことを特徴とする請求項８に記載の方法。
【請求項１８】
前記段階（ｂ）は、
（ｂ−１）人工マーク追跡を実行する段階と、
（ｂ−２）追跡してきた前記人工マークが画像から消えたときに、画像処理により新たな人工マークを検出する段階と、
（ｂ−３）前記新たな人工マークを含む検出した人工マークの個数が予め定められた個数よりも多いかを判定する段階と、
（ｂ−４）前記検出した人工マークの個数が前記予め定められた個数よりも少ない場合、人工マーク検出を実行し、前記検出した人工マークの個数が前記予め定められた個数よりも多い場合、新たな人工マークに対して、前の時間ｔ−１での位置情報を用いて画像座標値を推定する段階と、
（ｂ−５）新たに検出した人工マークの画像座標値に最も近い、前記推定した画像座標値を有する人工マークを、新たに検出した人工マークとして識別する段階と
を含むことを特徴とする請求項９に記載の方法。
【請求項１９】
前記新たに検出した人工マークの画像座標値からカメラレンズの誤差を補正することにより、誤差補正した画像座標値を算出し、現在の位置を算出するために、前記誤差補正した画像座標値を反映することを特徴とする請求項１７または１８に記載の方法。
【請求項２０】
前記新たに検出した人工マークは、以下の式８を用いて誤差補正した画像座標値（ｕ，ｖ）に最も近い、画像座標値
【数８】
2009512088.tif 000024
を有する人工マークと識別され、ここで、ＣxおよびＣyは、レンズの中心の画像座標値を示すカメラの内部パラメータを表し、θは、空間座標のＹ軸を基準としたときの先進角を表し、
【数９】
2009512088.tif 000025
であることを特徴とする請求項１９に記載の方法。
【数１０】
2009512088.tif 000026
【請求項２１】
現在の前記位置情報（ｒx，ｒy，θ）は、以下の式９乃至１２を用いて、誤差補正した画像座標値（ｕi，ｖi）および（ｕj，ｖj）と、記憶された空間座標値（Ｘi，Ｙi）および（Ｘj，Ｙj）とから更新されることを特徴とする請求項２０に記載の方法。
【数１１】
2009512088.tif 000027
【数１２】
2009512088.tif 000028
【数１３】
2009512088.tif 000029
【数１４】
2009512088.tif 000030
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムにロボットの位置を算出するためのシステムおよび方法に関し、より詳細には、人工マーク（artificial mark）を用いてリアルタイムにロボットの位置情報を提供するためのシステムおよび方法に関する。
【背景技術】
【０００２】
ロボットは、目的地までの経路を定めた後、自律的にその目的地に向かって移動するために、現在のそのロボット自身の位置を認識しておく必要がある。
【０００３】
人工マーキング方式は、ロボットの位置を決定する方法として一般的に用いられている。この人工マーキング方式では、背景と区別されるよう設計されている人工マークが使用される。このような人工マークは、室内空間全体にわたって取り付けられ、ロボットは、カメラを用いて人工マークを撮影することにより当該人工マークの画像を取得し、かつ取得した画像を処理することによって、こうした人工マークを探し出して、そのロボット自身の位置を認識する。ロボットの位置は、検出した人工マークの画像座標値と、そのロボット内に予め記憶された室内空間座標値とを比較することにより算出される。これまで、ロボットの位置を算出する様々な方法が提案されてきた。
【０００４】
人工マークとしては一般的に、円や矩形などの幾何学的なパターンが用いられる。ロボットの現在の位置を正確に認識するため、ロボットは、このような幾何学的なパターンを認識するのに画像を処理する必要がある。カメラを用いて室内空間から得られる画像信号は、照明の方向、及び照明とカメラとの距離によって多大な影響を受けるので、室内空間において安定的に人工マークを認識することは非常に難しい。したがって、一般的な環境において人工マークを認識する性能を向上させるためには、複雑な計算段階が必要とされる。しかしながら、そのような複雑な計算段階は、ロボットの位置を認識するために画像を処理する時間を増加させもする。特に、照明がほとんど存在しないときには、カメラはほとんど画像を取得できないので、夜間にロボットの位置を認識することはほとんど不可能である。
【０００５】
このような問題点を解決するため、別の従来型の人工マーキング方式が提案された。この人工マーキング方式では、人工マークとして、点灯および消灯が可能な光源が用いられる。また、この別の従来型の人工マーキング方式では、人工マークとして、予め定められた波長光を発する光源が用いられる。光源を取得するために、当該波長光を透過させるフィルタを備えたカメラが使用される。したがって、画像処理は単純化され、人工マークの認識の信頼度は向上する。このような別の従来型の人工マーキング方式は、照明による影響を受けることがほとんどなく、ロボットを移動させるために、夜間でも使用することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、一般に、光源人工マーク群は、それらの間で形態上の差異がないので、各光源人工マークを区別することが難しい。すなわち、光源人工マークの各々を認識するために、各光源人工マークは、順に点灯され消灯される。このような認識手順では、光源の個数に比例した時間を要する。また、光源認識手順を実行する前に、ロボットは停止する必要がある。したがって、ロボットの位置は、リアルタイムに算出できず、ロボットが移動している間は、この認識手順を適用することができない。
【０００７】
室内環境でロボットを運用するために、このロボットは、目的地までの移動経路を変更する能力を有していなければならない。というのは、人などの、動く障害物が存在するからである。ロボットが目的地に向かって移動している間に、このような障害物との衝突を回避するためには、ロボットは、目的地までの経路を頻繁に変更する必要がある。新たな経路を確立するためには、ロボットは、ロボット自身の現在の位置を認識しなければならない。ロボットを停止しなければならず、かつそのロボットの現在の位置を算出するために、各光源人工マークを順に点灯して消灯する場合、そのロボットを管理して動作させるには、非常に効率の悪いものとなる。
【０００８】
したがって、本発明の目的は、人工マークとして光源を用い、各光源人工マークを順に点灯して消灯することなく、人工マーク追跡処理および画像座標推定処理のうちの一方を選択的に用いて画像から検出される人工マークを識別することで、予め定められたサイズと構造とを有する室内空間におけるロボットの動作状態とは無関係に、その人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一側面にしたがうと、人工マークに基づいてリアルタイムに位置を算出するシステムが提供される。このシステムは、予め定められた空間に取り付けられた、空間座標値を伴う人工マークを撮影することにより画像信号を取得して、取得した画像信号から人工マークの画像座標値を検出するための画像処理モジュールと、検出した人工マークの画像座標値を、予め記憶された人工マークの空間座標値と比較することにより現在の位置を算出するための位置算出モジュールと、人工マーク追跡処理および画像座標推定処理のうちの一方を選択的に用いることにより、現在の位置情報を更新するための人工マーク識別モジュールとを備える。ここで、この人工マーク追跡処理は、現在検出した人工マークに最も近い、前の時間に検出した人工マークのうちの１つの人工マークとして、現在検出した人工マークを識別する。また、この画像座標推定処理は、現在の位置情報と予め定められた人工マークの空間座標値とを用いて人工マークの画像座標値を推定し、かつこの推定した画像座標値と検出した画像座標値とを比較することにより、人工マークを識別する。
【００１０】
上記人工マークは建物の天井に取り付けることができ、コントローラはロボットに含めることができる。このコントローラは、マーク制御モジュール、画像処理モジュール、位置算出モジュール、画像推定モジュール、マーク識別モジュール、および主制御モジュールを含む。また、カメラを有する画像処理モジュールのみをロボットに含め、他のデバイス群を有するコントローラをリモートサーバに含めてもよい。この場合、画像処理モジュールは、有線通信リンクまたは無線通信リンクを介して、リモートサーバと通信することが好ましい。
【００１１】
本発明の別の側面にしたがうと、人工マークに基づいてリアルタイムに位置を算出する方法が提供される。この方法は、（ａ）人工マークの点灯および消灯を介して認識された画像座標値を用いて現在の初期位置を算出するか、または予め定められた位置として現在の初期位置を指定する段階と、（ｂ）マーク識別モジュールにて、移動している間に人工マーク追跡処理により検出された人工マークを識別する段階であって、この人工マーク追跡処理は、現在検出された人工マークに最も近い、前の時間に検出された人工マークのうちの１つの人工マークとして、現在検出された人工マークを識別する段階と、（ｃ）位置算出モジュールにて、この検出され、かつ識別された人工マークの画像座標値と、主制御モジュールにおける予め記憶された空間座標値とに基づいて、現在の位置を更新する段階とを備える。
【００１２】
上記段階（ａ）には、（ａ−１）マーク制御モジュールにて、予め定められた人工マークを点灯／消灯する段階と、（ａ−２）画像処理モジュールに含まれるカメラを用いて、点灯／消灯する上記予め定められた人工マークの画像を撮影する段階と、（ａ−３）当該画像の撮影により得られた画像信号を処理することによって、予め定められた人工マークを検出する段階と、（ａ−４）当該検出した人工マークの画像座標値を算出する段階と、（ａ−５）検出した人工マークの個数が予め定められた個数よりも多いかを判定する段階と、（ａ−６）上記検出した人工マークの個数が上記予め定められた個数よりも少ない場合、上記検出した人工マークの個数が上記予め定められた個数よりも多くなるまで他の人工マークを点灯／消灯することにより、画像座標値を算出し、上記検出した人工マークの個数が上記予め定められた個数よりも多い場合、検出した人工マークの画像座標値と、主制御モジュールにおける予め記憶された空間座標値とから、初期の現在位置を決定する段階とを含めることができる。
【００１３】
上記段階（ｂ）には、（ｂ−１）画像処理により人工マークを検出する段階と、（ｂ−２）検出した人工マークの個数が予め定められた個数よりも多いかを判定する段階と、（ｂ−３）上記検出した人工マークの個数が上記予め定められた個数よりも少ない場合、人工マーク検出を実行し、上記検出した人工マークの個数が上記予め定められた個数よりも多い場合、時間ｔ−１での位置情報を用いて、人工マークの画像座標値を推定する段階と、（ｂ−４）上記検出した人工マークの画像座標に最も近い、上記推定した画像座標値を有する人工マークを識別する段階とを含めることができる。
【００１４】
また、前記段階（ｂ）には、（ｂ−１）人工マーク追跡を実行する段階と、（ｂ−２）追跡していた人工マークが消えた場合、画像処理により新たな人工マークを検出する段階と、（ｂ−３）当該新たな人工マークを含む検出した人工マークの個数が予め定められた個数よりも多いかどうかを判定する段階と、（ｂ−４）上記検出した人工マークの個数が上記予め定められた個数よりも少ない場合、人工マーク検出を実行し、上記検出した人工マークの個数が上記予め定められた個数よりも多い場合、新たな人工マークに対して、前の時間ｔ−１での位置情報を用いて、画像座標値を推定する段階と、（ｂ−５）上記新たに検出した人工マークの画像座標値に最も近い、上記推定した画像座標値を有する人工マークを、新たに検出した人工マークとして識別する段階とを含めることもできる。
【発明の効果】
【００１５】
本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法は、以下のような利点を有する。
【００１６】
本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法によれば、ロボットの初期位置を検出した後、ロボットの動作状態とは無関係に、リアルタイムにロボットの位置情報を提供することができる。というのは、本発明にしたがうシステムおよび方法では、ロボットを停止させることなく現在の位置を算出し、カメラにおける画像取得速度と同じような速度で位置情報を提供することができるからである。
【００１７】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法によれば、人工マーク群の空間座標値を正確に測定して記憶することにより、ロボットの正確な位置を提供することができる。また、本発明において、同一の位置では常に同一の位置情報を算出するので、本発明は、安定的な位置算出システムとして実現することができる。
【００１８】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法は、室内空間とは無関係に、カメラによって同時に取得されるよう、少なくとも２つの人工マークが室内の単位領域（unit region）内に取り付けられた場合、より広範な動作領域でもリアルタイムに位置情報を提供することが可能な位置算出システムとして実現することができる。
【００１９】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法によれば、ロボットの位置を算出するために、天井の高さの情報を必要としない。したがって、本発明にしたがうシステムおよび方法は、様々な形状の室内空間において使用することができる。
【００２０】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法によれば、ロボットの現在位置を検出するために、ロボットを停止させる必要がなく、また追加の時間を必要としないので、スムーズモーション制御（smooth motion controlling）が可能となり、動作速度を向上させることができる。
【００２１】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法によれば、ロボットの位置を容易に検出することが可能となり、ロボットは、目的地への経路を自由に定め直すことができる。
【００２２】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法によれば、ロボットは、移動している間もリアルタイムに位置情報を算出することができるので、障害物に出くわしたときでも、目的地への経路を変更することができる。さらに、ロボットは、移動している間に目的地が変更された場合でも、経路を変更することができる。
【００２３】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法によれば、人工マークの検出は、検出した人工マークの画像座標値と、推定した画像座標値とを比較することにより検証されるので、幾何学的な人工マークや天然のマークが用いられる場合にも、ロボットの位置情報を安定的に算出することができる。
【００２４】
また、本発明にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムおよび方法は、室内空間で位置を測定するために、ロボットだけではなく、手動で制御可能なモバイルデバイスに組み込むことができる。
【００２５】
さらに、本発明によれば、絶対座標値がリアルタイムに提供されるので、超音波、赤外線、または視覚センサを用いて、測定データを絶対的な位置情報に反映することにより、より正確な環境地図を作成することができる。
【発明を実施するための最良の形態】
【００２６】
添付の図面とともに、以下の諸実施形態の説明を参照すれば、本発明の他の目的および側面が明らかになるであろう。
【００２７】
図１は、本発明の一実施形態にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムを示すブロック図である。
【００２８】
図１を参照すると、リアルタイムにロボットの位置を算出する本システムは、室内空間の様々な位置に取り付けられた複数の人工マークと、人工マークを点灯したり消灯したりするよう制御するためのマーク制御モジュールと、カメラを用いて人工マークを撮影することにより画像信号を取得して、取得した画像信号から人工マークの画像座標値を検出するための画像処理モジュールと、検出した人工マークの画像座標値と予め記憶された人工マークの空間座標値とを比較することにより、ロボットの位置を算出するための位置算出モジュールと、算出したロボットの位置情報と予め記憶された人工マークの空間座標値とを比較することにより、人工マークの画像座標値を推定するための画像推定モジュールと、推定した画像座標値と検出した画像座標値とを比較することにより、人工マークを識別するためのマーク識別モジュールと、各モジュールの動作を制御することにより、リアルタイムにロボットの位置情報を更新するための主制御モジュールとを備えている。
【００２９】
図２は、本発明にしたがう、リアルタイムにロボットの位置を算出するシステムの管理を示す概念図である。
【００３０】
図２を参照すると、各人工マークは、ＬＥＤ（Light Emitting Diode）などの、予め定められた波長光を発する発光ユニットを含む。このような人工マークは、マーク制御モジュールから生成される信号にしたがって、点灯されたり消灯されたりするよう制御される。また、各人工マークは、他の人工マークと区別するために、一意なＩＤを有している。これらの人工マークは、例えば、天井に取り付けられる。天井に取り付けられたこれら人工マークの位置は、実測を通じてロボット内に記憶されていて、これらの位置が、人工マークの空間座標値として定義されている。人工マークの空間座標値を記憶するために、記憶モジュールが、図１に示したシステム内にさらに含められる。画像処理モジュールはカメラを含む。このカメラは、人工マークに含まれた発光ユニットから発せられる予め定められた波長光のみをフィルタリングして透過させる光学フィルタを有している。また、このカメラは、床から垂直方向にある天井に向けられるようにロボットに取り付けられている。カメラを取り付ける位置は、人工マークの取り付け位置に応じて変更されてもよい。
【００３１】
本実施形態では、ロボットの位置は、人工マークを検出してロボットの初期位置を認識し、以後ロボットの位置情報を周期的に更新することによって算出される。ロボットの初期位置は、ロボットが動作することになる室内空間において初期化される（initialized）位置である。すなわち、ロボットは、室内空間における関連する位置情報を知らない状態で、自身の初期位置を認識する必要がある。本実施形態では、ロボットの初期位置は、人工マークを検出することにより認識される。初期位置が認識されると、以後、ロボットの位置情報は、人工マーク追跡処理および画像座標推定処理により、リアルタイムに算出される。以下において、ロボットの位置を算出する方法について詳細に説明する。
【００３２】
（１）初期位置の認識  
本発明の主要な特徴は、人工マーク追跡処理および画像座標推定処理により、リアルタイムにロボットの位置情報を更新する方法にある。この主要な特徴を提供するためには、ロボットは、人工マークを検出して自身の初期位置を検出する必要がある。ロボットの初期位置を検出するために、人工マークは、順に点灯され消灯される。
【００３３】
図３は、人工マークを検出して、初期位置を認識する方法を示すフローチャートである。
【００３４】
図３を参照すると、すべての人工マークが消灯された後、段階Ｓ１で、マーク制御モジュールが、室内空間内に取り付けられた人工マークのうちの１つを選択する。段階Ｓ２で、マーク制御モジュールは、制御信号すなわち点灯信号（turn-on signal）を生成して、選択した人工マークを点灯する。なお、この制御信号は、有線リンクを介して送信されてもよいし、無線リンクを介して送信されてもよい。
【００３５】
段階Ｓ３で、人工マークを撮影するカメラを用いて得られた画像信号に対して、画像処理を実行することにより、人工マークが検出される。次いで、段階Ｓ４で、選択した人工マークが消灯される。そして、段階Ｓ５で、この画像から、選択した人工マークが検出されるか否かが判定される。人工マークすなわち光源が検出されなかった場合、段階Ｓ６で、次の人工マークが選択される。これらの段階Ｓ２〜Ｓ５は繰り返し実行される。この画像から人工マークが検出された場合、この人工マークが、マーク制御モジュールにより制御されるものとして識別される。すなわち、この画像から検出した人工マークが、マーク識別モジュールにより選択された人工マークに割り当てられた一意なＩＤによって識別され、点灯されたり消灯されたりする。次いで、段階Ｓ７で、検出した人工マークの画像座標値が算出される。
【００３６】
次に、段階Ｓ８で、検出した光源すなわち人工マークの個数が予め定められた個数よりも多いかどうかが判定される。検出した人工マークの個数が予め定められた個数よりも多い場合、段階Ｓ９で、検出した人工マークの画像座標値および記憶された空間座標値に基づいて、ロボットの位置が決定される。一方、段階Ｓ８で、検出した光源の個数が予め定められた個数よりも少なかった場合、次の人工マークを選択し、制御信号をその選択した人工マークに送信し、その選択した人工マークを点灯することにより、人工マークを検出する段階が実行される。ロボットの位置を算出するのに必要な個数の人工マークが検出されるまで、このような段階が繰り返し実行される。本実施形態では、ロボットの位置を算出するのに必要な光源の個数は２つであるので、このような段階が２回実行される。しかしながら、本発明は、ロボットの位置を算出するのに必要な、このような光源の個数によって限定されるものではない。
【００３７】
人工マークを検出するための画像処理は、画像信号に対して量子化処理を実行し、予め定められた閾値よりも高い明るさ（brightness）の値を有する領域を検出することによって、簡単に達成される。というのは、カメラには、予め定められた波長光のみをフィルタリングする光学フィルタが備えられているからである。人工マークを検出すると、検出した人工マークの画像座標値は、検出した領域の中心座標として決定される。
【００３８】
ロボットの位置を算出するのに必要な個数の人工マークが検出されると、検出した人工マークの画像座標値と、当該人工マークに対応する予め記憶された空間座標値とを比較することにより、ロボットの位置が算出される。ロボットの位置は、２つの人工マークを用いることにより算出できるが、誤差を最小化するために、３つの人工マークを用いて、ロボットの位置を算出してもよい。例えば、２つの人工マークが、ＬiおよびＬjであり、ＬiおよびＬjのそれぞれの画像座標値が、（ｘi，ｙi）および（ｘj，ｙj）であり、それぞれの空間座標値が、（Ｘi，Ｙi）および（Ｘj，Ｙj）であると仮定する。すると、ロボットの位置は、以下のようにして算出することができる。ロボットの動作空間は３次元空間であるが、本実施形態では、ロボットの位置を算出するために、高さの情報は必要ないので、必要な位置情報は、２次元平面の座標値である。したがって、２次元座標が用いられる。
【００３９】
まず、以下の式１〜式３を用いて、カメラレンズから生じる誤差を補正することにより、検出した人工マークの画像座標値（ｘi，ｙi）および（ｘj，ｙj）から、誤差補正した画像座標値（ｕi，ｖi）および（ｕj，ｖj）が算出される。以下の式１〜式３において、２つの光源人工マークを区別するための下付き文字ｉおよびｊは付されていない。（ｘ，ｙ）は検出した画像座標値を表し、（ｕ，ｖ）はレンズ誤差を補正した座標値を表している。
【００４０】
【数１】
2009512088.tif 000003
【００４１】
【数２】
2009512088.tif 000004
【００４２】
【数３】
2009512088.tif 000005
【００４３】
上記の式１〜式３において、ｆxおよびｆyは、焦点距離を表し、ＣxおよびＣyは、レンズの中心の画像座標値を示すカメラの内部パラメータを表し、ｋ1、ｋ2、およびｋ3は、キャリブレーションによって得られるレンズ誤差係数（lens error coefficient）を示す定数を表している。
【００４４】
次いで、誤差補正した画像座標値（ｕi，ｖi）および（ｕj，ｖj）と、記憶された空間座標値（Ｘi，Ｙi）および（Ｘj，Ｙj）とに基づいて、ロボットの位置（ｒx，ｒy，θ）が算出される。ここで、θは、空間座標のＹ軸を基準としたときの先進角（heading angle）を表している。図４は、空間座標と誤差補正した画像座標との関係を示す図である。
【００４５】
図４を参照すると、カメラが、天井に対して垂直に向くようにロボットに取り付けられているので、ロボットの位置は画像の中心になる。すなわち、ロボットの画像座標値は（Ｃx，Ｃy）になる。ロボットの空間座標値（ｒx，ｒy）は、検出した光源人工マークの画像座標値（Ｌi，Ｌj）を変換し、かつ変換した画像座標値を（Ｃx，Ｃy）に適用することによって算出される。カメラは、天井に対して垂直に向いているので、座標変換は、以下のように、２次元回転変換および２次元平行変換を用いて実行することができる。
【００４６】
【数４】
2009512088.tif 000006
【００４７】
【数５】
2009512088.tif 000007
【００４８】
【数６】
2009512088.tif 000008
【００４９】
【数７】
2009512088.tif 000009
【００５０】
上述したように、ロボットの初期位置（ｒx，ｒy，θ）は、本実施形態にしたがって算出される。人工マークの検出および初期位置の認識は時間がかかる処理である。というのは、人工マークの点灯および消灯の前に、ロボットは停止されなければならず、人工マークを順に点灯したり消灯したりするよう制御している間に、人工マークの画像が取得され、人工マークは、取得した画像から検出されるからである。しかしながら、そのような人工マークの検出および初期位置の認識は、ロボットが初期化されるときに１回実行される。以後、ロボットの位置情報は、人工マークを点灯したり消灯したりすることなく、人工マーク追跡処理および画像座標推定処理により、リアルタイムに算出される。
【００５１】
これに対し、ロボットの初期位置を検出する他の方法が存在する。ロボットを動作させるスタート位置は通常、固定された位置である。というのは、ロボットは、定期的に充電される必要があるからである。したがって、ロボットのスタート位置が、ロボットの初期位置として設定される。例えば、ロボットを定期的に充電するには、充電システムが必要である。というのは、ロボット自身が電力を生成することは不可能だからである。したがって、ロボットを充電する位置を、ロボットの初期位置として設定することができる。
【００５２】
（２）リアルタイムなロボットの位置更新  
リアルタイムなロボットの位置更新段階では、カメラを用いて、予め定められた時間間隔で画像を取得し、取得した画像から人工マークを検出して、ロボットの空間座標値とロボットの移動方向とを含むロボットの位置情報を更新する。画像取得速度は、用いられるカメラに応じて決定される。例えば、ロボットが、１秒当り３０フレームの画像を取得できるカメラを用いる場合、ロボットの位置は、１秒当り３０Ｈｚの速度で更新可能である。
【００５３】
以下において、移動しているロボットの位置をリアルタイムに算出する方法について説明する。
【００５４】
まず、時間ｔで、画像を取得し、取得した画像から人工マークを検出して、検出した人工マークを識別することにより、ロボットの位置を算出したものと仮定する。次いで、時間ｔ＋１での画像を取得して、時間ｔ＋１での画像から、人工マークを検出する。ロボットの移動によって、時間ｔでの検出した人工マークの画像座標値と、時間ｔ＋１での検出した人工マークの別の画像座標値との間には差異が生じるはずである。しかしながら、カメラの画像取得速度に比べて、ロボットの移動速度はそれほど速くないので、画像座標値の差異はそれほど大きくない。カメラの画像取得速度を１秒当り３０フレームとし、ロボットの移動速度を３ｃｍ／秒とした場合、カメラが１フレームの画像を取得している間に、ロボットは、物理的に１０ｃｍ移動する。したがって、天井の高さを考慮すると、画像間では、数ピクセル（several pixel）内の差異が生じるようになる。このため、時間ｔ＋１で検出した人工マークは、時間ｔ＋１で検出した人工マークに最も近い、時間ｔで検出した人工マークとして識別することができる。このような処理が、人工マーク追跡処理と呼ばれる。人工マークを識別した後、ロボットの位置は、初期位置の算出処理で説明した方法と同じ方法に基づいて、算出される。
【００５５】
人工マークを室内空間に取り付けるとき、少なくとも２つの人工マークを、室内空間の予め定められた単位領域に取り付けることで、カメラは、同時に少なくとも２つの人工マークを取得することができる。２つの人工マークを用いるだけでロボットの位置を算出できる小規模の室内空間では、人工マーク追跡処理を実行するだけで、リアルタイムにロボットの位置を算出することができる。しかしながら、ランダムな構造とサイズとを有するより広い室内空間においてロボットの位置を算出するためには、複数の人工マークを取り付ける必要がある。このようなより広い室内空間では、ロボットが移動している間に、追跡してきた人工マークが画像から消えて、新たな人工マークが画像から取得される。というのは、カメラのアングルによって取得される領域が限定されているからである。この場合には、人工マーク追跡処理を実行するだけでは、新たな人工マークを識別することができない。新たな人工マークを識別するために、時間ｔで算出したロボットの位置情報を用いて、予め記憶された人工マークの空間座標値から逆に画像座標値を推定する。予測する画像座標値は、時間ｔでのロボットの位置を用いて算出されるので、時間ｔ＋１での実際の画像座標値と、推定した画像座標値との間には差異が生じる。したがって、人工マーク追跡処理と類似した画像座標値の近接性（proximity）を用いて、新たに検出した人工マークを識別することができる。
【００５６】
以下において、リアルタイムにロボットの位置を算出する方法について説明する。
【００５７】
図５は、本発明の一実施形態にしたがう、初期認識後のロボットの位置を算出する方法を示すフローチャートである。
【００５８】
図５を参照すると、まず、カメラを用いて画像を取得する。現在の画像を取得した時間をｔと仮定し、前に画像を取得した時間をｔ−１と仮定する。また、時間ｔ−１で取得した画像から検出した人工マークをＬiおよびＬjと仮定し、ＬiおよびＬjのそれぞれの画像座標値を（ｘit-1，ｙit-1）および（ｘjt-1，ｙjt-1）と仮定し、それぞれの誤差補正した画像座標値を（ｕit-1，ｖit-1）および（ｕjt-1，ｖjt-1）と仮定し、それぞれの予め記憶された空間座標値を（Ｘit-1，Ｙit-1）および（Ｘjt-1，Ｙjt-1）と仮定し、ロボットの算出した位置を（ｒxt-1，ｒyt-1，θt-1）と仮定する。時間ｔ−１において、検出した人工マークおよびロボットの位置は、段階Ｓ１１においてロボットの初期位置を認識したときに得られた値を用いて設定される。
【００５９】
次いで、取得した現在の画像から、画像処理により人工マークを検出する。この際、画像全体から人工マークを検出するのではなく、前の時間ｔ−１で検出した人工マークの画像座標値に隣接する予め定められた矩形領域から、人工マークを検出する。矩形領域のサイズは、天井の高さおよびロボットの移動速度を考慮して、カメラの１画像取得間隔の間に画像内において人工マークが最大に移動する距離に基づいて決定される。中心を（ｘit-1，ｙit-1）とする矩形領域から人工マークを検出した場合、検出した人工マークは、Ｌiとして識別される。中心を（ｘjt-1，ｙjt-1）とする矩形領域から人工マークを検出した場合、検出した人工マークは、Ｌjとして識別される。２つの矩形領域の両方から人工マークを検出した場合、ロボットの位置は、初期認識と同一の方法を用いて、予め記憶された空間座標値から算出することができる。というのは、人工マークは、すでに識別されているからである。
【００６０】
２つの矩形領域から人工マークが検出されなかった場合、段階Ｓ１２において、矩形領域の外部にあるその他の画像領域から、人工マークを検出する。時間ｔ−１で検出した人工マークがカメラのアングルから消えたときに、人工マークは、２つの矩形領域から検出されないことになる。このような場合、新たな人工マークを画像から検出する。少なくとも２つの人工マークが、室内空間の予め定められた単位領域に取り付けられているので、カメラは、少なくとも２つの人工マークを同時に取得でき、カメラのアングルから消えた人工マークと同一の個数の人工マークを新たな画像から検出できる。このように、段階Ｓ１３で、新たに検出した光源の個数が、例えば２つといった、予め定められた個数よりも多いかが判定される。しかしながら、本発明は、このような人工マークの個数に限定されるものではない。
【００６１】
新たに検出した人工マークの画像座標値を（ｘ，ｙ）と仮定し、誤差補正した座標値を（ｕ，ｖ）と仮定する。段階Ｓ１４において、新たに検出した人工マークは、時間ｔ−１でのロボットの位置（ｒxt-1，ｒyt-1，θt-1）を用いて、各人工マークＬkの空間座標値（Ｘk，Ｙk）から画像座標値を推定することにより、識別される。ここで、ｋ＝１、．．．、ｎであり、ｎは、取り付けられた人工マークの総数である。レンズの誤差が生じなかった場合、Ｌkの推定した画像座標値
【００６２】
【数８】
2009512088.tif 000010
【００６３】
は、以下の式によって算出される。ここで、ｓは、初期認識で用いられたスケール変換を表している。
【００６４】
新たに検出した人工マークは、（ｕ，ｖ）に最も近い、推定した画像座標値
【００６５】
【数９】
2009512088.tif 000011
【００６６】
を有する人工マークとして識別される。
【００６７】
【数１０】
2009512088.tif 000012
【００６８】
時間ｔで検出して識別した人工マークをＬpおよびＬqと仮定し、それらの画像座標値をそれぞれ、（ｘpt，ｙpt）および（ｘqt，ｙqt）と仮定し、誤差補正した画像座標値をそれぞれ、（ｕpt，ｖpt）および（ｕqt，ｖqt）と仮定し、記憶された空間座標値をそれぞれ、（Ｘp，Ｙp）および（Ｘq，Ｙq）と仮定する。このような仮定の下、段階Ｓ１５で、ロボットの新たな位置情報（ｒxt，ｒyt，θt）は、以下の式を用いて算出される。
【００６９】
【数１１】
2009512088.tif 000013
【００７０】
【数１２】
2009512088.tif 000014
【００７１】
【数１３】
2009512088.tif 000015
【００７２】
【数１４】
2009512088.tif 000016
【００７３】
上述したように、主制御モジュールは、人工マーク追跡処理および画像座標推定処理を実行することにより、ロボットの現在の位置情報を正確に算出する。主制御モジュールはまた、算出したロボットの位置情報を使用して、次の人工マークを追跡し、画像座標値を推定するために、段階Ｓ１６において、電力がロボットに供給されている間に、ロボットの位置を更新する。
【００７４】
本発明にしたがう、ロボットの位置を算出する方法は、上述したように、人工マーク追跡および画像座標推定を組み合わせることによりロボットの位置を算出する時間を最小限にすることで、ロボットの位置を更新する間隔を最小化する。本実施形態では、ロボットの位置は、人工マーク追跡処理および画像座標推定処理を用いて算出される。しかしながら、リアルタイムにロボットの位置を検出するには、画像座標推定を行うだけでも可能である。この場合、人工マーク追跡を同時に用いた場合と比べると、若干長い処理時間を要する。画像座標推定を行うだけでロボットの位置を算出する方法では、カメラから得られた画像全体から人工マークを検出し、各人工マークの画像座標値を、時間ｔ−１などの直近の時間におけるロボットの位置を用いて推定し、検出した人工マークを、検出した人工マークの画像座標値に最も近い推定した画像座標値を有する人工マークとして識別する。画像座標推定のみを用いる位置算出方法は、更新間隔のたびに、画像全体に対して人工マーク検出と画像座標推定とを実行するので、人工マーク追跡および画像座標推定の両方を用いる位置算出方法と比べて、若干長い計算時間を要する。しかしながら、画像座標推定のみを用いたロボットの位置算出方法を使用しても、リアルタイムにロボットの位置を算出することができる。
【００７５】
特定の好ましい実施形態に関して本発明を説明してきたが、当業者であれば、特許請求の範囲に定義される本発明の範囲から逸脱することなく、様々な変形および変更が可能であることが明白であろう。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施形態にしたがう、人工マークに基づいてリアルタイムにロボットの位置を算出するシステムを示すブロック図である。
【図２】本発明にしたがう、リアルタイムにロボットの位置を算出するシステムの管理を示す概念図である。
【図３】人工マークを検出して、初期位置を認識する方法を示すフローチャートである。
【図４】空間座標と誤差補正した画像座標との関係を示す図である。
【図５】本発明の一実施形態にしたがう、初期認識後のロボットの位置を算出する方法を示すフローチャートである。
【図１】
2009512088.tif 000031
【図２】
2009512088.tif 000032
【図３】
2009512088.tif 000033
【図４】
2009512088.tif 000034
【図５】
2009512088.tif 000035
【国際調査報告】
2009512088.tif 000036
2009512088.tif 000037