(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-01-24
(54)【発明の名称】視覚的測位方法、これを用いる制御サーバー及び建物
(51)【国際特許分類】
G05D 1/246 20240101AFI20250117BHJP
G01C 21/26 20060101ALI20250117BHJP
【FI】
G05D1/246
G01C21/26
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024542064
(86)(22)【出願日】2022-12-21
(85)【翻訳文提出日】2024-07-12
(86)【国際出願番号】 KR2022020966
(87)【国際公開番号】W WO2023136495
(87)【国際公開日】2023-07-20
(31)【優先権主張番号】10-2022-0004824
(32)【優先日】2022-01-12
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】イ,テジェ
(72)【発明者】
【氏名】キム,ドックァ
(72)【発明者】
【氏名】パク,スンヨン
(72)【発明者】
【氏名】イ,ヨンハン
(72)【発明者】
【氏名】キム,ウヨン
(72)【発明者】
【氏名】イ,ドンファン
【テーマコード(参考)】
2F129
5H301
【Fターム(参考)】
2F129AA01
2F129BB08
2F129BB15
2F129BB22
2F129BB48
2F129EE78
2F129FF02
2F129FF14
2F129FF15
2F129FF17
2F129FF20
2F129FF62
2F129FF73
2F129GG17
2F129GG18
2F129HH18
2F129HH19
2F129HH21
5H301AA02
5H301AA10
5H301BB14
5H301DD07
5H301DD17
5H301GG08
5H301GG09
5H301GG12
5H301GG14
5H301GG17
(57)【要約】
本発明は、視覚的測位方法、これを用いる制御サーバー及び建物に関し、本発明の一実施例に係る視覚的測位方法は、ロボットから、前記ロボットの位置する空間に対する周辺映像を受信する段階と、前記空間に設定された空間特性によって、測位モジュールを選択する段階と、前記選択された測位モジュールを用いて前記周辺映像から前記ロボットに対する測位情報を生成する段階と、を含んでよい。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットに備えられたカメラから取得した周辺映像に基づいて、対象領域内の前記ロボットの位置を判別する制御サーバーの視覚的測位(visual localization)方法であって、
前記ロボットから、前記ロボットの位置する空間に対する周辺映像を受信する段階と、
前記空間に設定された空間特性に基づいて、測位モジュールを適用する段階と、
前記測位モジュールを用いて前記周辺映像から前記ロボットに対する測位情報を生成する段階と、を含む、制御サーバーの視覚的測位方法。
【請求項2】
前記測位モジュールを適用する段階は、
前記対象領域に対応する地図情報と、前記ロボットの測位情報又は前記ロボットのオドメトリ(odometry)に基づいて前記ロボットの位置する空間を区別し、前記空間に設定された空間特性を判別することを特徴とする、請求項1に記載の制御サーバーの視覚的測位方法。
【請求項3】
前記測位モジュールは、
前記周辺映像からマーカー(marker)を抽出し、前記マーカーから認識した座標情報に基づいて前記ロボットの測位情報を生成するマーカー測位モジュールと、
前記周辺映像からサイネージ(signage)を抽出し、前記サイネージの座標情報を求めた後、前記サイネージの座標情報に基づいて前記ロボットの測位情報を生成するサイネージ測位モジュールと、
前記周辺映像からエレベーターの特定特徴点を抽出し、前記特定特徴点に基づいて前記ロボットの測位情報を生成するエレベーター測位モジュールと、
前記周辺映像から特徴点を抽出し、前記特徴点を前記地図情報内の特徴点と比較し、前記ロボットの測位情報を生成するメイン測位モジュール、のうち少なくともいずれか一つを含むことを特徴とする、請求項2に記載の制御サーバーの視覚的測位方法。
【請求項4】
前記測位モジュールを適用する段階は、
前記メイン測位モジュールを前記測位モジュールとして適用した後、前記空間特性によって、前記マーカー測位モジュール、サイネージ測位モジュール、及びエレベーター測位モジュールのうちいずれか一つに転換するか、前記測位モジュールと同時に動作するようにさらに適用することを特徴とする、請求項3に記載の制御サーバーの視覚的測位方法。
【請求項5】
前記測位モジュールを適用する段階は、
前記空間特性が、内部に座標情報を含むマーカーが付着しているマーカー空間であれば、前記マーカー測位モジュールを適用することを特徴とする、請求項3に記載の制御サーバーの視覚的測位方法。
【請求項6】
前記測位モジュールを適用する段階は、
前記空間特性が、内部のあらかじめ指定された位置に設定規格によって設置されるサイネージを含むサイネージ空間であれば、前記サイネージ測位モジュールを適用することを特徴とする、請求項3に記載の制御サーバーの視覚的測位方法。
【請求項7】
前記測位モジュールを適用する段階は、
前記空間特性がエレベーター空間であれば、前記エレベーター測位モジュールを適用することを特徴とする、請求項3に記載の制御サーバーの視覚的測位方法。
【請求項8】
ハードウェアと結合して請求項1~7のいずれか一項に記載の制御サーバーの視覚的測位方法を実行させるために媒体に保存されたコンピュータプログラム。
【請求項9】
ロボットに備えられたカメラから取得した周辺映像に基づいて、対象領域内の前記ロボットの位置を判別する視覚的測位(visual localization)を行う制御サーバーであって、
前記ロボットから、前記ロボットの位置する空間に対する周辺映像を受信する映像受信部と、
前記空間に設定された空間特性に基づいて、測位モジュールを適用する測位モジュール決定部と、
前記測位モジュールを用いて前記周辺映像から前記ロボットに対する測位情報を生成する測位部と、を含む制御サーバー。
【請求項10】
建物であって、
前記建物内を走行しながらサービスを提供する少なくとも一つのロボットが配置され、
前記ロボットは、制御サーバーとの通信によって制御され、
前記制御サーバーは、前記ロボットに備えられたカメラから取得した周辺映像に基づいて、前記建物内の前記ロボットの位置を判別する視覚的測位(visual localization)を行うものであって、コンピュータで読み取り可能な命令を実行するように具現化される少なくとも一つのプロセッサを含み、
前記少なくとも一つのプロセッサは、
前記ロボットから、前記ロボットの位置する空間に対する周辺映像を受信し、
前記空間に設定された空間特性に基づいて、測位モジュールを適用し、
前記測位モジュールを用いて前記周辺映像から前記ロボットに対する測位情報を生成する、建物。
【請求項11】
前記建物は、
前記ロボットが走行する室内領域を含み、前記室内領域を空間特性によって複数の空間に区別し、前記複数の空間のうち少なくともいずれか一つにマーカー又はサイネージを含むことを特徴とする、請求項10に記載の建物。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの走行を制御するためにロボットの位置及びポーズ(pose:姿勢)を測位する視覚的測位方法、これを用いる制御サーバー及び建物に関する。
【背景技術】
【0002】
VL(Visual Localization:視覚的測位、視覚的位置特定)は、ロボットなどで撮影されたイメージに基づいて、ロボットの全域位置を推定できる技術で、ロボットは、撮影されたイメージをVLサーバーに送信し、VLサーバーは、受信したイメージに基づいてロボットの全域位置を推定できる。しかし、このようなVLは、空間全体をスキャンして空間に対する全体マップを生成する事前作業が要求され、このとき、ライダー(Lidar)のような高価の装備が必要である。その上、VLは、初期位置が与えられていない段階でVLのみを用いてロボットの位置を認識する場合、クエリイメージを用いて全体探索を行うため、フォールスポジティブ(false positive:偽陽性)が発生する可能性が高い。しかも、野外のように開放された空間は、規模と環境の変化のため、既存のVLが活用し難いという問題点があった。
【0003】
他の例として、2次元イメージマーカーを活用してロボットの全域位置を推定する技術がある。例えば、韓国公開特許第10-2006-0129960号は、移動ロボットとその位置及び姿勢の算出方法に関し、マップデータメモリは、移動領域のマップデータ、移動領域の所定の位置にあるマーカーの位置データ、マーカーの識別データ、及び移動領域のマーカーに隣接する境界線の位置データを保存し、マーカー検出ユニットが、マーカーの位置データ及び識別データに基づいて画像からマーカーを検出し、境界線検出ユニットが、画像からマーカーに隣接する境界線を検出し、パラメータ算出ユニットが、画像から境界線のパラメータを算出すれば、位置姿勢算出ユニットが、境界線のパラメータと境界線の位置データに基づいて、移動領域内の移動ロボットの位置及び姿勢を算出することを開示している。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、一般の視覚的測位方法の他に、それぞれの空間の空間特性によって特化した複数の視覚的測位方法も共に活用し、より正確な視覚的測位を行うことができる視覚的測位方法、これを用いる制御サーバー及び建物を提供しようとする。
【0005】
本発明は、視覚的測位を行う複数の測位モジュールを統合することにより、空間特性に対してロバストな特性を有する視覚的測位方法、これを用いる制御サーバー及び建物を提供しようとする。
【0006】
本発明は、建物内を走行しながらサービスを提供するロボットを含む建物を提供しようとする。
【課題を解決するための手段】
【0007】
本発明の一実施例に係る視覚的測位方法は、ロボットに備えられたカメラから取得した周辺映像に基づいて、対象領域内の前記ロボットの位置を判別する制御サーバーの視覚的測位(visual localization)方法に関し、前記ロボットから、前記ロボットの位置する空間に対する周辺映像を受信する段階と、前記空間に設定された空間特性に基づいて、測位モジュールを適用する段階と、前記測位モジュールを用いて前記周辺映像から前記ロボットに対する測位情報を生成する段階と、を含んでよい。
【0008】
本発明の一実施例に係る制御サーバーは、ロボットに備えられたカメラから取得した周辺映像に基づいて、対象領域内の前記ロボットの位置を判別する視覚的測位(visual localization)を行うものであって、前記ロボットから、前記ロボットの位置する空間に対する周辺映像を受信する映像受信部と、前記空間に設定された空間特性に基づいて、測位モジュールを適用する測位モジュール決定部と、前記測位モジュールを用いて前記周辺映像から前記ロボットに対する測位情報を生成する測位部を含んでよい。
【0009】
本発明の一実施例に係る建物は、前記建物内を走行しながらサービスを提供する少なくとも一つのロボットが配置され、前記ロボットは制御サーバーとの通信によって制御され、前記制御サーバーは、前記ロボットに備えられたカメラから取得した周辺映像に基づいて、前記建物内の前記ロボットの位置を判別する視覚的測位(visual localization)を行うものであって、コンピュータで読み取り可能な命令を実行するように具現化される少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサは、前記ロボットから、前記ロボットの位置する空間に対する周辺映像を受信し、前記空間に設定された空間特性に基づいて、測位モジュールを適用し、前記測位モジュールを用いて前記周辺映像から前記ロボットに対する測位情報を生成することができる。
【0010】
なお、上述した課題を解決するための手段は、本発明の特徴を全て述べたものではない。本発明の様々な特徴とそれによる利点及び効果は、下記の具体的な実施の形態を参照してより詳細に理解できよう。
【発明の効果】
【0011】
本発明の一実施例に係る視覚的測位方法、これを用いる制御サーバー及び建物によれば、一般の視覚的測位方法の他に、それぞれの空間の空間特性によって特化した複数の視覚的測位方法も共に活用するので、より正確な視覚的測位を行うことが可能である。
【0012】
本発明の一実施例に係る視覚的測位方法、これを用いる制御サーバー及び建物は、空間特性によって特化した複数の測位モジュールを統合してロボットに対する視覚的測位を行うことができるので、様々な空間特性に対してロバストな視覚的測位を提供することができる。
【0013】
ただし、本発明の実施例に係る視覚的測位方法、これを用いる制御サーバー及び建物が達成できる効果は、以上で言及したものに限定されず、言及していない別の効果は、以下の記載から、本発明の属する技術の分野における通常の知識を有する者に明確に理解されるであろう。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施例に係るロボットの動作を制御する制御システムを示す概略図である。
【
図2】本発明の一実施例に係る制御サーバーを示すブロック図である。
【
図3】本発明の一実施例に係るメイン測位モジュールを用いた視覚的測位を示す例示図である。
【
図4】本発明の一実施例に係るマーカー測位モジュールを用いた視覚的測位を示す例示図である。
【
図5】本発明の一実施例に係るサイネージ測位モジュールを用いた視覚的測位を示す例示図である。
【
図6】本発明の一実施例に係るエレベーター測位モジュールを用いた視覚的測位を示す例示図である。
【
図7】本発明の一実施例に係る制御サーバーを示す概略図である。
【
図8】本発明の一実施例に係る視覚的測位を用いる制御システムが構築された建物を示す概略図である。
【
図9】本発明の一実施例に係る視覚的測位方法を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、添付の図面を参照して、本明細書に開示の実施例を詳細に説明する。ただし、図面中、同一又は類似の構成要素には同一の参照番号を付し、それに対する重複説明は省略するものとする。以下の説明で使われる構成要素に対する接尾辞「モジュール」及び「部(ユニット)」は、明細書作成を容易にするために考慮又は混用されるたけで、それ自体で互いに区別される意味又は役割を有するものではない。すなわち、本発明で使われる「部(ユニット)」という用語は、ソフトウェア、FPGA又はASICのようなハードウェア構成要素を意味し、「部(ユニット)」は任意の役割を担う。ただし、「部(ユニット)」はソフトウェア又はハードウェアに限定される意味ではない。「部(ユニット)」は、アドレス可能な記憶媒体に存在するように構成されてもよく、1つ又はそれ以上のプロセッサを再生させるように構成されてもよい。したがって、例えば、「部(ユニット)」はソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素、及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバー、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数を含む。構成要素と「部(ユニット)」で提供される機能は、より小さい数の構成要素及び「部(ユニット)」として結合してもよく、追加の構成要素と「部(ユニット)」にさらに分離されてもよい。
【0016】
また、本明細書に開示の実施例を説明するとき、関連する公知技術に関する具体的な説明が本明細書に開示の実施例の要旨を曖昧にさせ得ると判断される場合にその詳細な説明を省略する。また、添付の図面は、本明細書に開示の実施例を容易に理解させるためのものに過ぎず、添付の図面によって本明細書に開示の技術的思想が限定されることはなく、本発明の思想及び技術範囲における全ての変更、均等物又は代替物も本発明に含まれると理解すべきである。
【0017】
図1は、本発明の一実施例に係るロボットの動作を制御する制御システムを示す概略図である。
【0018】
図1を参照すると、本発明の一実施例に係る制御システムは、ロボット1及び制御サーバー100を含んでよい。
【0019】
以下、
図1を参照して、本発明の一実施例に係る制御システムを説明する。
【0020】
ロボット1は、対象領域A内で移動しながら様々なサービスなどを行うことができる。ここで、対象領域Aは、建物などの室内空間であってよく、ロボット1は、自律走行方式で対象領域A内で移動できるが、ロボット1の位置に対する測位又は移動に対する制御などは制御サーバー100によって行われてよい。すなわち、ロボット1は、制御サーバー100との通信によって移動などの動作を行うことができる。
【0021】
ロボット1はカメラを含んでよく、カメラを用いてロボット1の移動に対応する周辺映像を撮影することができる。ロボット1は、周辺映像を制御サーバー100に送信でき、制御サーバー100は、受信した周辺映像に基づいて、ロボット1に対する視覚的測位(visual localization)を行うことができる。
【0022】
実施例によっては、ロボット1は、カメラの他にもIMU(Inertial Measurment Unit:慣性測定ユニット)センサー、ホイールエンコーダセンサー、ライダーセンサーなどの様々なセンサーをさらに含んでよく、制御サーバー100は、視覚的測位に加え、他の方式でロボット1に対する更なる測位(localization)を行うことも可能である。
【0023】
制御サーバー100は、ネットワークNを通じて対象領域A内に位置するロボット1と通信を行うことができ、ロボット1の移動などを含めて様々な動作を制御することができる。ここで、制御サーバー100とロボット1との通信方式は限定されず、ネットワークNが含み得る通信網(例えば、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など)を活用する通信方式の他、機器間の近距離無線通信なども含むことができる。例えば、ネットワークNは、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうち、一つ以上の任意のネットワークを含んでよい。また、ネットワークNは、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリー又は階層的(hierarchical)ネットワークなどを含むネットワークトポロジのうち任意の一つ以上を含んでよいが、これに限定されない。
【0024】
制御サーバー100はロボット1とネットワークNを通じて通信し、命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置又は複数のコンピュータ装置によって具現化することができる。実施例によっては、制御サーバー100をクラウドサーバーの形態で具現化することも可能である。
【0025】
ロボット1が対象領域A内を移動するためには、ロボット1の現在位置及びポーズ(pose:姿勢)を含む測位情報を生成するための測位を行う必要がある。ここで、対象領域Aに対する具体的な地図情報などはあらかじめ保存されていてよく、制御サーバー100は、地図情報にロボット1の現在位置とポーズを整合させ、ロボット1の現在位置とポーズを地図情報内にマップできる。実施例によっては、位置及びポーズをそれぞれ3次元座標値と3軸回転値(pitch,roll,yaw)で表現することができる。
【0026】
制御サーバー100は、ロボット1から周辺映像を受信でき、受信した周辺映像に基づいて、ロボット1に対する視覚的測位を行うことができる。すなわち、制御サーバー100は、ロボット1に対する視覚的測位の結果から、ロボット1の地図情報内の正確な位置とポーズを確認することができ、これに基づいてロボット1の進行方向、回転方向、進行速度などを決定し、ロボット1の移動を制御することができる。
【0027】
具体的には、制御サーバー100は、受信した周辺映像をクエリ映像とし、地図情報から、クエリ映像に対応する参照イメージを検索することができる。ここで、参照イメージに対応する測定装備の位置とポーズは設定されていてよいので、参照イメージと周辺映像とを比較することで、現在ロボット1の位置とポーズを求めることが可能である。すなわち、局所特徴整合によってクエリ映像に対応するロボット1の位置とポーズを求めることができる。
【0028】
ただし、ロボット1が走行している空間が反復的であるか又は空間内特徴が不足する場合には、周辺映像を用いる視覚的測位の性能が低下するなどの問題があり得る。一方、本発明の一実施例に係る制御サーバー100は、一般の視覚的測位方法の他に、それぞれの空間の空間特性によって特化した複数の視覚的測位方法も共に活用するので、より正確な視覚的測位を行うことが可能である。以下、本発明の一実施例に係る制御サーバーを説明する。
【0029】
図2は、本発明の一実施例に係る制御サーバー100を示すブロック図である。
【0030】
図2を参照すると、本発明の一実施例に係る制御サーバー100は、映像受信部110、測位モジュール決定部120、測位部130、及び地図データベース140を含んでよい。
【0031】
映像受信部110は、ロボット1から、ロボット1の位置する空間に対する周辺映像を受信することができる。ロボット1は、ロボット自体に設置されたカメラを用いて移動中に周辺を撮影した周辺映像を生成でき、撮影した周辺映像をネットワークを通じて映像受信部110に送信することができる。実施例によっては、ロボット1に近接している事物や人などによって周辺映像が隠れることを最小化し、映像内スケール(scale)変化を減らすために、カメラを鉛直上方に向けるように設置することができる。すなわち、周辺映像は、ロボット1の上方を撮影し、対象領域Aの天井を撮影した映像であってよい。
【0032】
測位モジュール決定部120は、空間に設定された空間特性に基づいて、測位モジュールを適用することができる。すなわち、制御サーバー100内には複数の測位モジュールが含まれていてよく、測位モジュール決定部120は、複数の測位モジュールから、現在ロボット1が位置する空間の空間特性に最も適する測位モジュールを適用することができる。
【0033】
具体的には、対象領域Aは、複数の空間に区分されてよく、地図データベース140内に保存された対象領域Aに対する地図情報内には、それぞれの空間別空間特性が設定されていてよい。例えば、対象領域Aが建物である場合に、建物内には、ロボット1に対する充電を支援するための別の充電ステーションなどの空間が設けられていてよく、充電ステーション内ではロボット1の充電のための正確な位置制御が必要であるので、これを補助するためのマーカー(marker)などが含まれてよい。また、建物内業務空間などには、作業者などが空間内位置を認識できるように標識板などのサイネージ(signage)が一定の規則によって定められた設定規格で設置されてよく、建物内のエレベーターの場合は、エレベーター空間内の特定の空間上の特徴が含まれてよい。
【0034】
すなわち、地図情報内にはそれぞれの空間に対する空間特性が設定されているので、それぞれの空間特性に基づいて最適の測位モジュールをあらかじめ設定することができる。したがって、測位モジュール決定部120は、それぞれの空間に対して、空間特性に基づいてあらかじめ設定されたそれぞれの測位モジュールを適用することができる。この場合、各空間の空間特性によって最適の測位モジュールを選択できるので、より正確で迅速に当該空間内で視覚的測位を行うことが可能である。
【0035】
ここで、測位モジュール決定部120は、まず、それぞれのロボット1が現在どの空間に位置するかを区別する必要がある。そのために、測位モジュール決定部120は、対象領域Aに対応する地図情報と、ロボット1の直前測位情報を活用することができる。地図情報は、ロボット1が対象領域A内を走行できるようにあらかじめ精密に生成されて保存されてよく、地図情報内には、対象領域A内に含まれるそれぞれの空間と、空間に設定される空間特性などがあらかじめ保存されていてよい。したがって、測位モジュール決定部120は、ロボット1の直前測位情報に基づいて、現在ロボット1の位置する地図情報上においてどの空間であるかを判別でき、当該空間に設定された空間特性を抽出することができる。実施例によっては、測位モジュール決定部120は、ロボット1に含まれた別のIMUセンサー又はホイールエンコーダセンサーなどを活用してロボット1のオドメトリ(odometry)を求めることができ、直前測位情報に当該オドメトリを適用し、現在ロボット1の位置する空間を特定することも可能である。
【0036】
なお、測位モジュール決定部120が周辺映像からそれぞれの空間などを区別する実施例も可能である。例えば、周辺映像内にマーカー又はサイネージが含まれる場合に、測位モジュール決定部120は、それぞれの空間特性を、マーカー空間、サイネージ空間などと判別し、それぞれ対応する測位モジュールを適用させることができる。
【0037】
ここで、測位モジュールは、メイン測位モジュールV1、マーカー測位モジュールV2、サイネージ測位モジュールV3、エレベーター測位モジュールV4などを含んでよい。ただし、これに限定されず、実施例によっては様々な測位モジュールなどをさらに含むことも可能である。
【0038】
メイン測位モジュールV1は、周辺映像から特徴点を抽出し、特徴点を地図情報内の特徴点と比較し、ロボット1の測位情報を生成できる。ここで、制御サーバー100に含まれた地図データベースには、当該対象領域Aに対応する特徴点地図が含まれていてよい。したがって、メイン測位モジュールV1は、周辺映像をクエリイメージに設定した後、ディープラーニング(deep learning)モデルなどを用いてクエリイメージからグローバルな特徴点を抽出することができる。その後、
図3に示すように、抽出した特徴点を用いて、クエリイメージi1に対応する参照イメージi2を特徴点地図から検索できる。ここで、それぞれの参照イメージには、特徴点地図を生成する時に活用した測定装備の位置及びポーズなどに関する情報がタグされていてよい。したがって、メイン測位モジュールV1は、参照イメージとクエリイメージとを比較し、現在ロボット1の位置及びポーズを特定し、測位情報を生成することができる。
【0039】
一方、メイン測位モジュールV1は、特徴点地図が生成された対象領域Aの全体空間に適用可能であるので、測位モジュール決定部120は、一般の空間ではメイン測位モジュールV1を適用して測位を行い、以降、特定の空間に進入する場合にそれぞれの空間特性に対応する測位モジュールを適用することができる。このとき、測位モジュール決定部120は、メイン測位モジュールから他の測位モジュールへと転換させることができことができるが、実施例によっては、メイン測位モジュールV1と共に他の測位モジュールが動作するようにすることも可能である。すなわち、測位モジュール決定部120は、一つの測位モジュールのみを選択するのではなく、複数の測位モジュールを選択し、ロボット1の位置に対する視覚的測位を行うようにしてもよい。
【0040】
マーカー測位モジュールV2は、周辺映像からマーカー(marker)を抽出し、マーカーから認識した座標情報に基づいてロボット1の測位情報を生成することができる。
【0041】
マーカーは、ポスターや壁紙、ステッカーなど、空間上に付着可能な印刷物の形態で製作されてよく、実施例によっては、
図4(a)に示すように、エイプリルタグ(April tag)などの形態でマーカーMを生成できる。ここで、それぞれのマーカーMには互いに異なる識別コードが含まれてよく、識別コードを用いてそれぞれのマーカーMを区別することができる。マーカー測位モジュールV2は、マーカーMの識別コードを用いて、
図4(b)に示すように、それぞれのマーカーM1,M2にあらかじめ設定された3次元の座標情報などを抽出することができる。地図データベース140内には、対象領域A内のそれぞれのマーカーが付着しているマーカー空間に関する情報と、それぞれのマーカーの識別タグと当該マーカーが付着している3次元座標をマッチングして保存したマーカー地図などが含まれていてよい。したがって、マーカー測位モジュールV2は、ロボット1で撮影された周辺映像をクエリイメージとし、クエリイメージ内からマーカーMを検出でき、マーカーM内に含まれた識別タグにマッチングされた座標情報に基づいて、クエリイメージに対する位置及びポーズを含む測位情報を求めることができる。すなわち、マーカー測位モジュールV2は、クエリイメージ内に含まれたマーカーMの位置と角度などから、ロボット1の位置とポーズに対する測位情報を生成することができる。
【0042】
一方、マーカー測位モジュールV2は、マーカー空間に限って測位を行うことができるので、測位モジュール決定部120は、ロボット1の位置する空間の空間特性がマーカー空間であれば、測位モジュールとしてマーカー測位モジュールV2を適用することができる。すなわち、マーカー空間は、ロボット1の位置に対する精密な制御が必要であるか、既存のメイン測位モジュールV1だけでは正確な測位がし難い空間などであってよく、測位モジュール決定部120は、地図情報内にマーカー空間として設定された空間に当該すれば、マーカー測位モジュールV2を適用することができる。
【0043】
サイネージ測位モジュールV3は、周辺映像からサイネージ(signage)を抽出し、サイネージの座標情報を求めた後、サイネージの座標情報に基づいてロボット1の測位情報を生成することができる。
【0044】
サイネージは、空間内のあらかじめ指定された位置に設定規格によって設置されるものであってよく、対象領域A内の作業者やロボットなどが内部空間の位置を認識できるように設置される標識板などであってよい。実施例によっては、
図5(a)に示すように、サイネージS1,S2が空間内に付着していてよい。ここで、サイネージは、あらかじめ設定された位置上に一定の設定規格によって設置されるので、サイネージ測位モジュールV3は、周辺映像内に含まれたサイネージを抽出でき、サイネージの設定規格からサイネージの座標情報を求めることができる。実施例によっては、サイネージ測位モジュールV3がサイネージに対するOCR(Optical Character Reader)などを用いて文字を認識した後、認識した文字によって当該サイネージを区別し、当該サイネージの3次元座標情報などを抽出することも可能である。地図データベース140内には、対象領域A内のそれぞれのサイネージが付着しているサイネージ空間に関する情報と、それぞれのサイネージが付着している3次元座標とをマップして保存したサイネージ地図などが含まれていてよい。したがって、サイネージ測位モジュールV3は、ロボット1で撮影された周辺映像をクエリイメージとし、クエリイメージ内からサイネージSを検出でき、サイネージSから求めた座標情報に基づいて、クエリイメージに対する位置及びポーズを含む測位情報を求めることができる。
【0045】
一方、サイネージ測位モジュールV3は、サイネージ空間に限って測位を行うことができるので、測位モジュール決定部120は、ロボット1の位置する空間の空間特性がサイネージ空間であれば、測位モジュールとしてサイネージ測位モジュールV3を適用することができる。
【0046】
エレベーター測位モジュールV4は、周辺映像からエレベーターの特定特徴点を抽出し、特定特徴点に基づいてロボット1の測位情報を生成することができる。エレベーターの内部は一般に四角形の天井形状を有しているので、四角形の天井形状をエレベーターの特徴として抽出でき、周辺映像内に現れたエレベーターの天井形状に基づいてエレベーター内のロボット1の位置及びポーズに対する測位情報を生成することができる。実施例によっては、当該エレベーターはロボット1のみ搭乗する専用エレベーターであってよい。
【0047】
具体的には、
図6(a)に見られるように、エレベーターの天井は四角形Rで現れてよく、
図6(b)に見られるように、周辺映像内に現れた四角形の天井形状から、当該エレベーターの特定特徴点F1,F2,F3を抽出することができる。例えば、四角形の形状を形成する各辺の勾配F1,F2、周辺映像の中心点が四角形の形状内に位置する座標情報F3などに基づいて、エレベーター内のロボット1の位置及びポーズに対する測位情報を生成することができる。また、地図データベース140内には、対象領域A内にエレベーターが設置されたエレベーター空間に関する情報と、それぞれのエレベーターから抽出する特定特徴点の種類などを含むエレベーター地図が含まれていてよい。したがって、エレベーター測位モジュールV4は、ロボット1で撮影された周辺映像をクエリイメージとし、クエリイメージからエレベーターの特定特徴点を抽出でき、特定特徴点に基づいて、クエリイメージに対する位置及びポーズを含む測位情報を求めることができる。
【0048】
一方、エレベーター測位モジュールV4はエレベーター空間に限って測位を行うことができるので、測位モジュール決定部120は、ロボット1の位置する空間の空間特性がエレベーター空間であれば、測位モジュールとしてエレベーター測位モジュールV3を適用することができる。
【0049】
なお、ここでは、測位モジュール決定部120がそれぞれの空間の空間特性に基づいて測位モジュールを決定すると仮定したが、実施例によっては、一つの測位モジュールを用いた測位に失敗した時に、他の測位モジュールを用いるように具現化することも可能である。例えば、測位モジュール決定部120は、メイン測位モジュールV1を基本として設定して測位を行うようにしてよく、以降、メイン測位モジュールV1による測位の正確度が落ちるなどして測位に失敗すると、マーカー測位モジュールV2又はサイネージ測位モジュールV3を適用するように測位モジュールを変更することができる。
【0050】
具体的には、メイン測位モジュールV1は、クエリイメージに対応する参照イメージをマッチングさせた後、RANSAC(Random Sample Consensus)アルゴリズムベースのPNP(Perspective-N-Point)を適用することができる。すなわち、PNPを用いてクエリイメージと参照イメージ内にマッチングされた特徴点を比較することによって、ロボット1の回転角度などのポーズを求めることができる。ただし、クエリイメージと参照イメージにおいてマッチングされる特徴点のうち、正常値(inlier)として分類される特徴点の個数が設定個数以下である場合があり得、この場合、メイン測位モジュールV1を用いた空間測位には失敗したと判別できる。すなわち、クエリイメージと参照イメージを比較できる程度にマッチングが十分になされていない場合に該当するため、メイン測位モジュールV1による測位が不正確に示されてしまう。したがって、測位モジュール決定部120は、メイン測位モジュールV1に代えて、マーカー測位モジュールV2又はサイネージ測位モジュールV3を適用でき、実施例によっては、マーカー測位モジュールV2とサイネージ測位モジュールV3を同時に適用することもできる。
【0051】
対象領域A内に含まれる空間の中では、特性上、メイン測位モジュールV1による空間測位が難しい空間が存在することがあり、このような空間内にはマーカーやサイネージなどをあらかじめ付着させておくことができる。したがって、測位モジュール決定部120は、メイン測位モジュールV1による測位に失敗する場合に、メイン測位モジュールV1に代えてマーカー測位モジュールV1又はサイネージ測位モジュールV2を用いた測位を試みるように具現化できる。
【0052】
測位部130は、測位モジュールを用いて、周辺映像からロボットに対する測位情報を生成することができる。すなわち、メイン測位モジュールV1、マーカー測位モジュールV2、サイネージ測位モジュールV3、エレベーター測位モジュールV4などによって、それぞれ測位を行って測位情報を生成することができる。ただし、それぞれの測位モジュールで行う具体的な測位方法は前述しており、ここでは具体的な内容を省略する。
【0053】
一方、測位モジュール決定部120は、複数の測位モジュールを同時に適用することができ、この場合、測位部130は、複数の測位モジュールを用いて測位を行うことができる。具体的には、測位部130は、それぞれの測位モジュールで測定した測位情報を取り集めて最終測位情報を生成でき、このとき、それぞれの測位モジュールに対する加重値を設定し、それぞれの加重値が適用された測位情報を結合させて最終測位情報を生成することができる。例えば、メイン測位モジュールV1とマーカー測位モジュールV2が同時に選択された場合に、メイン測位モジュールV1の加重値を1とし、マーカー測位モジュールV2の加重値を9に設定することで、最終測位情報を生成することができる。その他にも、センサーフュージョン(sensor fusion)分野で広く用いるポーズグラフ最適化(pose graph optimization)手法又はカルマンフィルター(kalman filter)などを活用して、それぞれの測位モジュールで測定した測位情報を結合させることができる。実施例によっては、ポーズグラフ最適化手法のうち動的共分散スケーリング(Dynamic Covariance Scaling)手法を活用でき、これにより、不正確なポーズが一部入力されても、最適化過程で共分散(covariance)を調節し、ロバストにポーズ推定を行うことを可能にする。
【0054】
図7は、本発明の一実施例に係る制御サーバー100を示すブロック図である。
【0055】
図7を参照すると、制御サーバー100は、メモリ10、プロセッサ20、通信インターフェース30、入出力インターフェース40などを含んでよい。メモリ10は、コンピュータ可読記録媒体で、RAM(random access memory)、ROM(read only memory)、及びディスクドライブのような永久大容量記録装置(permanent mass storage device)を含んでよい。ここで、ROMとディスクドライブのような永久大容量記録装置は、メモリ10とは区分される別の永久記憶装置として制御サーバー100に含まれてもよい。また、メモリ10には運営体制と少なくとも一つのプログラムコードが保存されてよい。このようなソフトウェア構成要素は、メモリ10とは別のコンピュータ可読記録媒体からメモリ10にロードされてよい。このような別のコンピュータ可読記録媒体は、フロッピードライブ、ディスク、磁気テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ可読記録媒体を含んでよい。他の実施例において、ソフトウェア構成要素は、コンピュータ可読記録媒体ではなく、通信インターフェース30を介してメモリ10にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワークNを通じて受信されるファイルによって設置されるコンピュータプログラムに基づいて制御サーバー100のメモリ10にロードされてよい。
【0056】
プロセッサ20は、基本的な算術、ロジック及び入出力演算を行うことによって、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ10又は通信インターフェース30によってプロセッサ20に提供されてよい。例えば、プロセッサ20は、メモリ10のような記録装置に保存されたプログラムコードによって受信される命令を実行するように構成されてよい。
【0057】
通信インターフェース30は、ネットワークNを通じて制御サーバー100が他の装置(例えば、前述の記憶装置)と互いに通信するための機能を提供することができる。例えば、制御サーバー100のプロセッサ20がメモリ10のような記録装置に保存されたプログラムコードによって生成した要請や命令、データ、ファイルなどが、通信インターフェース30の制御によって、ネットワークNを通じて他の装置に伝達されてよい。逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワークNを経て制御サーバー100の通信インターフェース30を介して受信されてよい。通信インターフェース30を介して受信された信号や命令、データなどは、プロセッサ20やメモリ10に伝達されてよく、ファイルなどは、制御サーバー100がさらに含み得る記憶媒体(上述した永久記憶装置)に保存されてよい。
【0058】
入出力インターフェース40は、入出力装置50とのインターフェースのための手段であってよい。例えば、入力装置はマイク、キーボード又はマウスなどの装置を、そして出力装置はディスプレイ、スピーカーのような装置を、含んでよい。他の例として、入出力インターフェース40は、タッチスクリーンのように、入力と出力のための機能が一つに統合された装置とのインターフェースのための手段であってもよい。入出力装置50は、制御サーバー100と一つの装置として構成されてもよい。
【0059】
図8は、本発明の一実施例に係る視覚的測位を用いる制御システムが構築された建物Bを示す概略図である。
図8に示すように、建物Bを対象領域として設定でき、対象領域内でサービスを提供する複数のロボット1が建物B内に含まれてよい。また、建物Bは、ロボットが走行する室内領域を含み、室内領域は、空間特性によって複数の空間に区別されるものであってよい。ここで、建物Bは、複数の空間のうち、マーカーが付着しているマーカー空間、サイネージを含むサイネージ空間、エレベーターを含むエレベーター空間などを含んでよい。ロボット1は、ネットワークNを通じて制御サーバー100との通信を行うことができ、制御サーバー100の制御によって移動などの動作を行うことができる。制御サーバー100は、建物B内に構築されなくてよく、建物Bとは別のクラウドサーバーなどとして具現化されてもよい。
【0060】
制御サーバー100は、ロボット1に備えられたカメラから取得した周辺映像に基づいて、建物B内のそれぞれのロボット1の位置を判別する視覚的測位を行うことができる。制御サーバー100の具体的な動作については前述しており、ここでは具体的な説明を省略する。
【0061】
図9は、本発明の一実施例に係る視覚的測位方法を示すフローチャートである。ここで、
図9の各段階は、本発明の一実施例に係る制御サーバーによって行われてよい。
【0062】
制御サーバーは、ロボットから、ロボットの位置する空間に対する周辺映像を受信することができる(S10)。ロボットは、ロボット自体に設置されたカメラを用いて移動中に周辺を撮影した周辺映像を生成でき、撮影した周辺映像をネットワークを通じて制御サーバーに送信できる。実施例によっては、ロボットに近接している事物や人などによって周辺映像が隠れることを最小化するために、カメラを鉛直上方に向けるように設置することができる。すなわち、周辺映像は、ロボットの上方を撮影して対象領域の天井を撮影した映像であってよい。
【0063】
制御サーバーは、空間に設定された空間特性によって、測位モジュールを選択することができる(S20)。すなわち、制御サーバー内には複数の測位モジュールが含まれていてよく、制御サーバーは、複数の測位モジュールから、現在ロボットの位置する空間の空間特性に最適の測位モジュールを選択できる。
【0064】
具体的には、対象領域は複数の空間に区分されてよく、地図データベース内に保存された地図情報内には、対象領域内に含まれたそれぞれの空間に対する空間特性があらかじめ設定されていてよい。したがって、制御サーバーは、ロボットの位置するそれぞれの空間を区別した後、各空間の空間特性によって最適の測位モジュールを選択することによって、より正確で迅速に当該空間内で視覚的測位を行うようにすることができる。
【0065】
ここで、制御サーバーは、まず、それぞれのロボットが現在どの空間に位置するかを判別する必要があり、そのために、制御サーバーは、対象領域に対応する地図情報とロボットの直前測位情報を活用することができる。すなわち、制御サーバーは、ロボットの直前測位情報に基づいて、現在ロボットが位置する地図情報上にどの空間であるかを判別できて、これを用いて、当該空間に設定された空間特性を抽出することができる。また、実施例によっては、ロボットに含まれた別のIMUセンサーやホイールエンコーダセンサーなどから受信したセンサー値を用いてロボットのオドメトリ(odometry)を求めることができるので、制御サーバーが直前測位情報に当該オドメトリを適用し、現在ロボットの位置する空間を正確に特定することも可能である。
【0066】
ここで、測位モジュールは、メイン測位モジュール、マーカー測位モジュール、サイネージ測位モジュール、エレベーター測位モジュールなどを含んでよい。マーカー測位モジュールは、周辺映像からマーカーを抽出し、マーカーから認識した座標情報に基づいてロボットの測位情報を生成することができる。サイネージ測位モジュールは、周辺映像からサイネージを抽出し、サイネージの座標情報を求めた後、サイネージの座標情報に基づいてロボットの測位情報を生成することができる。エレベーター測位モジュールは、周辺映像からエレベーターの特定特徴点を抽出し、特定特徴点に基づいてロボットの測位情報を生成することができる。メイン測位モジュールは、周辺映像から特徴点を抽出し、特徴点を地図情報内の特徴点と比較し、ロボットの測位情報を生成することができる。
【0067】
実施例によっては、制御サーバーがメイン測位モジュールをまず測位モジュールとして選択した後、空間特性によって、マーカー測位モジュール、サイネージ測位モジュール、エレベーター測位モジュールなどに転換させることができる。すなわち、メイン測位モジュールは、全体対象領域に対する視覚的測位を行うことができるので、メイン測位モジュールを基本モジュールとして活用するが、空間特性によって特化した測位モジュールが存在する場合には当該測位モジュールに転換させることができる。また、他の実施例では、メイン測位モジュールと共に、それぞれの空間特性によって追加された測位モジュールを同時に動作させることも可能である。
【0068】
制御サーバーは、選択された測位モジュールを用いて周辺映像からロボットに対する測位情報を生成することができる(S30)。すなわち、メイン測位モジュール、マーカー測位モジュール、サイネージ測位モジュール、エレベーター測位モジュールなどによって、それぞれ測位を行って測位情報を生成することができる。ただし、それぞれの測位モジュールで行う具体的な測位方法は前述しており、ここでは具体的な内容を省略する。
【0069】
一方、制御サーバーは、複数の測位モジュールを同時に選択でき、選択された複数の測位モジュールを同時に用いて測位を行うことができる。具体的には、制御サーバーは、それぞれの測位モジュールで測定した測位情報を取り集めて最終測位情報を生成することができ、このとき、それぞれの測位モジュールに対する加重値を設定し、それぞれの加重値が適用された測位情報を結合させて最終測位情報を生成することができる。また、実施例によっては、センサーフュージョン(sensor fusion)分野で広く用いるポーズグラフ最適化(pose graph optimization)手法やカルマンフィルター(kalman filter)などを活用して、それぞれの測位モジュールで測定した測位情報を結合させることも可能である。
【0070】
前述した本発明は、プログラムが記録された媒体にコンピュータ可読コードとして具現化することが可能である。コンピュータ可読媒体は、コンピュータで実行可能なプログラムを継続保存するか、実行又はダウンロードのために臨時保存するものであってよい。また、媒体は、単一又は数個のハードウェアが結合した形態の様々な記録手段又は記憶手段であってよいが、あるコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散して存在するものであってもよい。媒体の例示には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、CD-ROM及びDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、及びROM、RAM、フラッシュメモリなどを含め、プログラム命令語が保存されるように構成されたものがあり得る。また、他の媒体の例示に、アプリケーションを流通するアプリストアやその他様々なソフトウェアを供給又は流通するサイト、サーバーなどで管理する記録媒体又は記憶媒体も挙げることができる。したがって、上記の詳細な説明は如何なる面においても制限的に解釈されてはならず、例示的なものとして考慮されるべきである。本発明の範囲は、添付する請求項の合理的な解釈によって決定されるべきであり、本発明の等価的範囲内における変更はいずれも本発明の範囲に含まれる。
【0071】
本発明は、上述した実施例及び添付の図面によって限定されるものではない。本発明の属する技術の分野における通常の知識を有する者にとって、本発明の技術的思想を逸脱しない範囲内で、本発明に係る構成要素を置換、変形及び変更できるということが明らかであろう。
【国際調査報告】