(57)【要約】      （修正有）【課題】データ収集方法及びそのシステムを提供する。【解決手段】第１センサ及び第２センサを含むデータ収集装置がターゲット領域内を移動しながら、第１センサデータ及び第２センサデータをそれぞれ収集し、センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタギングするタイムスタンピング段階と、第１センサデータを基に、ターゲット領域の地図データ、及び第１タイムスタンプ値に対応する時点の位置データを生成するデータ生成段階と、地図データを基に、ターゲット領域の地図に係わる地図情報を生成し、位置データを基に、地図上の移動経路に係わる移動経路情報を生成する情報生成段階と、移動経路情報を基に、第２タイムスタンプ値に対応する時点のセンシング位置を推定し、センシング位置を、第２センサデータにタギングするタギング段階と、センシング位置がタギングされた第２センサデータを保存する保存段階と、を含む。【選択図】図３
2020077372.tif 000002
【特許請求の範囲】
【請求項１】
第１センサ及び第２センサを含むデータ収集装置がターゲット領域内を移動しながら、前記第１センサ及び第２センサを介して、第１センサデータ及び第２センサデータをそれぞれ収集し、前記第１センサデータ及び第２センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタギングするタイムスタンピング段階と、
前記データ収集装置が移動しながら収集する前記第１センサデータを基に、前記ターゲット領域の地図データ、及び前記第１タイムスタンプ値に対応する時点の位置データを生成するデータ生成段階と、
前記地図データを基に、前記ターゲット領域の地図に係わる地図情報を生成し、前記位置データを基に、前記地図上の移動経路に係わる移動経路情報を生成する情報生成段階と、
前記移動経路情報を基に、前記第２タイムスタンプ値に対応する時点のセンシング位置を推定し、前記センシング位置を、前記第２センサデータにタギングするタギング段階と、
前記センシング位置がタギングされた前記第２センサデータを保存する保存段階と、を含むデータ収集方法。
【請求項２】
前記移動経路情報は、前記第１タイムスタンプ値に対応する時点の前記位置データを含み、
前記第２タイムスタンプ値に対応する時点のセンシング位置は、前記第１タイムスタンプ値に対応する時点の前記位置データを利用した内挿を介して推定されることを特徴とする請求項１に記載のデータ収集方法。
【請求項３】
前記データ収集装置が通過していた位置を再び訪問するループクロージャを検出する検出段階と、
前記ループクロージャの検出に応答し、前記位置データを補正する段階と、
前記位置データの補正に応答し、前記地図データを補正する段階と、をさらに含むことを特徴とする請求項１に記載のデータ収集方法。
【請求項４】
前記ループクロージャを検出する段階は、
前記第１センサデータ間の類似度を算出する段階と、
前記第２センサデータ間の類似度を算出する段階と、
前記第１センサデータ間の類似度、及び前記第２センサデータ間の類似度を基に、前記ループクロージャを検出する段階と、を含むことを特徴とする請求項３に記載のデータ収集方法。
【請求項５】
前記第１センサは、レーザスキャナ、カメラ、ＲＧＢＤセンサを含むグループから選択される少なくとも１つを含むことを特徴とする請求項１に記載のデータ収集方法。
【請求項６】
前記第２センサは、カメラ、Ｗｉ−Ｆｉモジュール、ブルートゥース（登録商標）モジュール、地磁気センサ、レーザスキャナ、ＲＧＢＤセンサを含むグループから選択される少なくとも１つを含むことを特徴とする請求項１に記載のデータ収集方法。
【請求項７】
前記第１センサは、三次元レーザスキャナであることを特徴とする請求項６に記載のデータ収集方法。
【請求項８】
前記タイムスタンピング段階、前記データ生成段階、前記情報生成段階、前記タギング段階及び前記保存段階は、前記データ収集装置のプロセッサによって遂行されることを特徴とする請求項１に記載のデータ収集方法。
【請求項９】
前記タイムスタンピング段階は、前記データ収集装置のプロセッサによって遂行され、
前記データ生成段階、前記情報生成段階、前記タギング段階及び前記保存段階は、前記データ収集装置にネットワークを介して接続するサーバコンピュータ装置によって遂行されることを特徴とする請求項１に記載のデータ収集方法。
【請求項１０】
コンピュータに、請求項１ないし９のうちいずれか１項に記載の方法を実行させるためのコンピュータプログラム。
【請求項１１】
第１センサと、
第２センサと、
前記第１センサ及び第２センサを介して、第１センサデータ及び第２センサデータをそれぞれ収集し、前記第１センサデータ及び第２センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタギングするタイムスタンピングモジュールと、
前記第１センサデータを基に、ターゲット領域の地図データを生成し、前記第１タイムスタンプ値に対応する時点の位置データを生成し、前記地図データを基に、前記ターゲット領域の地図に係わる地図情報を生成し、前記位置データを基に、前記地図上の移動経路に係わる移動経路情報を生成するＳＬＡＭ（simultaneous  localization  and  mapping）モジュールと、
前記移動経路情報を基に、前記第２タイムスタンプ値に対応する時点のセンシング位置を推定し、前記センシング位置を、前記第２センサデータにタギングするタギングモジュールと、
前記センシング位置がタギングされた前記第２センサデータを保存する保存モジュールと、を含むデータ収集システム。
【請求項１２】
前記ＳＬＡＭモジュールは、以前に通過していた位置を再び訪問するループクロージャを検出し、前記ループクロージャの検出に応答し、前記位置データを補正し、前記位置データの補正に応答し、前記地図データを補正することを特徴とする請求項１１に記載のデータ収集システム。
【請求項１３】
前記第１センサは、レーザスキャナ、カメラ、ＲＧＢＤセンサを含むグループから選択される少なくとも１つを含むことを特徴とする請求項１１に記載のデータ収集システム。
【請求項１４】
前記第１センサは、三次元レーザスキャナであり、
前記第２センサは、カメラ、Ｗｉ−Ｆｉモジュール、ブルートゥース（登録商標）モジュール、地磁気センサを含むグループから選択される少なくとも１つを含むことを特徴とする請求項１１に記載のデータ収集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを収集する方法及びそのシステムに関し、さらに具体的には、室内位置がタギングされたセンサデータを収集する方法及びそのシステムに関する。
【背景技術】
【０００２】
ユーザに位置基盤サービスを提供するためには、ユーザまたは対象物体の正確な位置情報を得る作業が必要であるが、そのような位置情報は、一般的に、ＧＰＳ（global  position  system）信号を基に獲得される。しかし、高い建物間のようなＧＰＳ信号の陰影地域や、建物の内部のように、ＧＰＳ信号が到達し難い空間では、ユーザまたは対象物体の位置測定に多くの困難が伴う。
【０００３】
建物内部のように、ＧＰＳ信号が到達し難い空間でも、位置基盤サービスを提供するための方法として、特許文献１には、室内のアクセスポイントに係わるスキャン情報を収集し、少なくとも１以上のモニタリングアクセスポイントの既設定位置情報を利用し、モニタリングアクセスポイントに係わるスキャン情報を、室内地図にマッピングし、前記スキャン情報を介して獲得された少なくとも１以上の仮想アクセスポイントに係わるスキャン情報を利用し、前記仮想アクセスポイントに係わる前記室内地図上の位置情報を生成し、前記室内地図に既設定され、前記モニタリングアクセスポイント及び前記仮想アクセスポイントを含むセルそれぞれに係わる識別情報を生成し、室内無線測位のための基準点情報を収集する方法が開示されている。しかし、そのような方法は、室内地図情報があらかじめ存在しなければならないという問題がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国公開特許公報第１０−２０１２−００２９９７６号（公開日２０１２年０３月２７日）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、データ収集装置を利用し、室内空間を移動しながら周辺を探索しながら、自己の位置を測定して地図を作成すると共に、センシング位置がタギングされたセンサデータを収集する方法を提供することである。
【課題を解決するための手段】
【０００６】
前述の技術的課題を達成するための技術的手段として、本開示の第１側面によるデータ収集方法が提供される。当該データ収集方法は、第１センサ及び第２センサを含むデータ収集装置がターゲット領域内を移動しながら、前記第１センサ及び第２センサを介して、第１センサデータ及び第２センサデータをそれぞれ収集し、前記第１センサデータ及び第２センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタギングするタイムスタンピング段階、前記データ収集装置が移動しながら収集する前記第１センサデータを基に、前記ターゲット領域の地図データ、及び前記第１タイムスタンプ値に対応する時点の位置データを生成するデータ生成段階、前記地図データを基に、前記ターゲット領域の地図に係わる地図情報を生成し、前記位置データを基に、前記地図上の移動経路に係わる移動経路情報を生成する情報生成段階、前記移動経路情報を基に、前記第２タイムスタンプ値に対応する時点のセンシング位置を推定し、前記センシング位置を、前記第２センサデータにタギングするタギング段階、及び前記センシング位置がタギングされた前記第２センサデータを保存する保存段階を含む。
【０００７】
本開示の第２側面によるデータ収集システムは、第１センサ；第２センサ；前記第１センサ及び第２センサを介して、第１センサデータ及び第２センサデータをそれぞれ収集し、前記第１センサデータ及び第２センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタギングするタイムスタンピングモジュール；前記第１センサデータを基にターゲット領域の地図データを生成し、前記第１タイムスタンプ値に対応する時点の位置データを生成し、前記地図データを基に、前記ターゲット領域の地図に係わる地図情報を生成し、前記位置データを基に、前記地図上の移動経路に係わる移動経路情報を生成するＳＬＡＭ（simultaneous  localization  and  mapping）モジュール；前記移動経路情報を基に、前記第２タイムスタンプ値に対応する時点のセンシング位置を推定し、前記センシング位置を、前記第２センサデータにタギングするタギングモジュール；及び前記センシング位置がタギングされた前記第２センサデータを保存する保存モジュール；を含む。
【０００８】
本開示の第３側面によるデータ収集方法が提供される。当該データ収集方法は、第１センサ及び第２センサを含むデータ収集装置がターゲット建物内を移動しながら、前記第１センサ及び第２センサを介して、第１センサデータ及び第２センサデータをそれぞれ収集し、前記第１センサデータ及び第２センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタギングするタイムスタンピング段階、前記データ収集装置が移動しながら収集する前記第１センサデータを基に、前記ターゲット建物の臨時地図データ、及び前記第１タイムスタンプ値に対応する時点の臨時位置データを生成するデータ生成段階、前記データ収集装置が通過していた位置を再び訪問するループクロージャ（loop  closure）を検出する検出段階、前記ループクロージャの検出に応答し、前記臨時位置データを補正して補正位置データを生成し、前記補正位置データを基に、移動経路情報、及び前記ターゲット建物の室内地図情報を生成するループクロージング段階、前記移動経路情報を基に、前記第２タイムスタンプ値に対応する時点のセンシング位置を推定し、前記センシング位置を、前記第２センサデータにタギングするタギング段階、及び前記センシング位置がタギングされた前記第２センサデータを保存する保存段階を含む。
【０００９】
本開示の第４側面によるデータ収集システムは、第１センサ；第２センサ；前記第１センサ及び第２センサを介して、第１センサデータ及び第２センサデータをそれぞれ収集し、前記第１センサデータ及び第２センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタギングするタイムスタンピングモジュール；前記第１センサデータを基に、ターゲット建物の臨時地図データを生成し、前記第１タイムスタンプ値に対応する時点の臨時位置データを生成し、前記データ収集装置が通過していた位置を再び訪問するループクロージャを検出し、前記ループクロージャの検出に応答し、前記臨時位置データを補正して補正位置データを生成し、前記補正位置データを基に、移動経路情報、及びターゲット建物の室内地図情報を生成するＳＬＡＭモジュール；前記移動経路情報を基に、前記第２タイムスタンプ値に対応する時点のセンシング位置を推定し、前記センシング位置を、前記第２センサデータにタギングするタギングモジュール；及び前記センシング位置がタギングされた前記第２センサデータを保存する保存モジュール；を含む。
【００１０】
本開示の第５側面によれば、コンピュータに、前述のデータ収集方法を実行させるために、媒体に保存されるコンピュータプログラムが提供される。
【発明の効果】
【００１１】
本開示の多様な実施形態によれば、データ収集装置を利用し、ターゲット建物の室内空間を移動し、かつ周辺を探索しながら自己の位置を測定し、ターゲット建物の室内地図を作成すると共に、センシング位置がタギングされたセンサデータを収集する方法を提供する。センサデータを収集しながらタイムスタンピングが行われ、タイムスタンプ値を利用し、センサデータのセンシング位置が推定されるので、正確なセンシング位置を得ることができる。また、本開示の多様な実施形態によれば、ターゲット建物の室内地図を作成すると共に、ターゲット建物内のセンサデータを収集するために、センサデータ収集にかかるコストと時間とが節減される。
【図面の簡単な説明】
【００１２】
【図１】一実施形態による全体システム構成の例を図示する図面である。
【図２】一実施形態によるマッピングロボットの内部構成について説明するための例示的なブロック図である。
【図３】一実施形態によるマッピングロボットのプロセッサについて説明するための例示的なブロック図である。
【図４】一実施形態によるマッピングロボットのプロセッサの動作について説明するための参照図である。
【図５】一実施形態によるマッピングロボットのプロセッサの動作について説明するための参照図である。
【図６】一実施形態による地図クラウドサーバの内部構成について説明するための例示的なブロック図である。
【図７】一実施形態によるサービスロボットの内部構成について説明するための例示的なブロック図である。
【発明を実施するための形態】
【００１３】
以下では、添付図面を参照し、本開示が属する技術分野で当業者であるならば、容易に実施することができるように、多様な実施形態について詳細に説明する。しかし、本開示の技術的思想は、多様な形態に変形されても具現されるので、本明細書で説明する実施形態に制限されるものではない。本開示の多様な実施形態についての説明において、関連公知技術の具体的な説明が、本開示の技術的思想の要旨を不明確にすると判断される場合、その公知技術に係わる具体的な説明を省略する。同一であったり類似したりする構成要素は、同一参照番号を付し、それに係わる重複説明は、省略する。
【００１４】
明細書全体において、ある要素が他の要素と「連結」されているとするとき、それは、「直接連結」されている場合だけではなく、その中間に、他の要素を挟み、「電気的に連結」されている場合も含む。ある要素が他の要素を「含む」とするとき、それは、特別に反対となる記載がない限り、他の要素以外に、さらに他の要素を排除するものではなく、さらなる他の要素をさらに含んでもよいということを意味する。
【００１５】
一部実施形態は、機能的なブロック構成、及び多様な処理段階によっても説明される。そのような機能ブロックの一部または全部は、特定機能を実行する多様な個数のハードウェア構成及び／またはソフトウェア構成によっても具現される。例えば、本開示の機能ブロックは、１以上のマイクロプロセッサによって具現されたり、所定機能のための回路構成によって具現されたりもする。本開示の機能ブロックは、多様なプログラミング言語またはスクリプト言語（scripting  language）によっても具現される。本開示の機能ブロックは、１以上のプロセッサで実行されるアルゴリズムによっても具現される。本開示の機能ブロックが遂行する機能は、複数の機能ブロックによって遂行されるか、あるいは本開示で複数の機能ブロックが遂行する機能は、１の機能ブロックによっても遂行される。
【００１６】
図面に図示される要素間の連結線または連結部材は、機能的連結、物理的及び／または回路的連結を例示的に示したものである。実際の装置においては、代替可能であったり、追加されたりする多様な機能的連結、物理的連結または回路的連結により、要素間の連結が具現されるのである。
【００１７】
図１は、一実施形態による全体システム構成の例を図示する。
【００１８】
図１を参照すれば、マッピングロボット１００、地図クラウドサーバ２００及びサービスロボット３００ａ、３００ｂ、３００ｃは、ネットワークを介して互いに通信可能に連結される。
【００１９】
マッピングロボット１００及びサービスロボット３００ａ、３００ｂ、３００ｃは、ＧＰＳ（global  position  system）信号を受信することができない特定建物の室内で作動する装置でもある。本明細書において、マッピングロボット１００及びサービスロボット３００ａ、３００ｂ、３００ｃが活動する特定建物をターゲット建物とする。ターゲット建物の内部地図は、事前に存在せず、マッピングロボット１００により、ターゲット建物の室内地図情報が生成される。本開示において、ターゲット建物、またはターゲット建物内の室内空間は、ターゲット領域とも称される。
【００２０】
以下においては、説明の便宜のために、マッピングロボット１００及びサービスロボット３００が、移動プラットホームを備えたロボット装置である場合を想定し、本発明の実施形態について説明するが、本発明は、それに限定されるものではない。マッピングロボット１００及びサービスロボット３００は、センサを含むサービスプラットホーム、例えば、携帯端末、ノート型パソコン、コンピュータのようなデバイスを含んでもよい。
【００２１】
本明細書において、マッピングロボット１００は、ターゲット建物の室内地図情報を生成する装置であり、データ収集装置とも称される。本明細書において、データ収集装置の代表的な例として、マッピングロボット１００が提示されているが、本発明は、それに限定されるものではない。
【００２２】
サービスロボット３００ａ、３００ｂ、３００ｃは、マッピングロボット１００によって生成されるターゲット建物の室内地図情報を利用し、自己の位置を把握し、自己に付与されたサービス機能を遂行することができる。サービスロボット３００ａ、３００ｂ、３００ｃは、ターゲット建物の室内地図情報を利用し、自己の位置を把握するだけではなく、所望場所に移動するための経路に沿って、自律走行を行うことができる。サービスロボット３００ａ、３００ｂ、３００ｃは、自己に付与された任務により、物流サービス、顧客対象案内サービス、保安サービスなどを遂行することができる。図１に開示されたサービスロボット３００ａ、３００ｂ、３００ｃの個数は、本発明を限定せず、サービスロボット３００ａ、３００ｂ、３００ｃについて一般的に説明する場合、サービスロボット３００とするのである。
【００２３】
地図クラウドサーバ２００は、マッピングロボット１００によって生成されるターゲット建物の室内地図情報を保存し、サービスロボット３００に、室内地図情報を提供するコンピュータ装置であり得る。地図クラウドサーバ２００は、サービスロボット３００が移動する経路を演算して提供することもできる。図１において、地図クラウドサーバ２００が、ネットワークを介して、マッピングロボット１００に連結されるように図示されているが、それは、例示的である。地図クラウドサーバ２００がマッピングロボット１００内に配置されるようにも理解され、その場合、地図クラウドサーバ２００の機能がマッピングロボット１００によっても遂行されるのである。本明細書において、データ収集装置は、マッピングロボット１００と地図クラウドサーバ２００とを包括する概念でもある。
【００２４】
マッピングロボット１００、地図クラウドサーバ２００及びサービスロボット３００は、ネットワークを利用し、データを送受信することができる。ネットワークは、マッピングロボット１００及びサービスロボット３００と連結される無線通信網、及び地図クラウドサーバ２００に連結される有線通信網を含んでもよい。無線通信網は、移動通信網、無線ＬＡＮ（local  area  network）、近距離無線通信網などを含んでもよい。無線通信は、例えば、ＬＴＥ、ＬＴＥ−Ａ（ＬＴＥ  Advance）、ＣＤＭＡ（code  division  multiple  access）、ＷＣＤＭＡ（wideband  ＣＤＭＡ）（登録商標）、ＵＭＴＳ（universal  mobile  telecommunications  system）、ＷｉＢｒｏ（wireless  broadband）またはＧＳＭ（global  system  for  mobile  communications）（登録商標）などのうち少なくとも１つを使うセルラ通信を含んでもよい。一例によれば、無線通信網は、Ｗｉ−Ｆｉ（wireless  fidelity）、ブルートゥース（Bluetooth）（登録商標）、ブルートゥース（登録商標）低電力（ＢＬＥ）、ジグビー（Zigbee）（登録商標）、ＮＦＣ（near  field  communication）またはＲＦ（radio  frequency）のうち少なくとも１つを含んでもよい。有線通信網は、例えば、ＵＳＢ（universal  serial  bus）、ＨＤＭＩ（high  definition  multimedia  interface）（登録商標）、ＲＳ−２３２（recommended  standard−２３２）、電力線通信またはＰＯＴＳ（plain  old  telephone  service）などのうち少なくとも１つを含んでもよい。
【００２５】
ネットワークは、テレコミュニケーションネットワーク、例えば、コンピュータネットワーク、インターネットまたはテレホンネットワークのうち少なくとも１つを含んでもよい。ネットワークは、ＰＡＮ（personal  area  network）、ＬＡＮ、ＣＡＮ（campus  area  network）、ＭＡＮ（metropolitan  area  network）、ＷＡＮ（wide  area  network）、ＢＢＮ（broadband  network）、インターネットなどのネットワークのうち１以上の任意のネットワークを含んでもよい。ネットワークは、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター・バスネットワーク、ツリーまたは階層的（hierarchical）なネットワークなどを含むネットワークトポロジーのうちの任意の１以上を含んでもよいが、それらに制限されるものではない。
【００２６】
サービスロボット３００は、地図クラウドサーバ２００から提供されるターゲット建物の室内地図情報を利用し、自己の位置を確認することができる。室内地図情報は、ターゲット建物の室内空間情報だけではなく、サービスロボット３００として、自己の位置を確認させるセンサデータを含んでもよい。センサデータは、ターゲット建物内の位置によって異なるセンサ値を含んでもよい。例えば、センサデータは、ターゲット建物内の他の位置で撮影した映像データを含んでもよい。センサデータは、ターゲット建物内の他の位置で測定した無線信号（例えば、Ｗｉ−Ｆｉ信号、ブルートゥース信号、ジグビー信号など）のデータを含んでもよい。無線信号のデータは、無線信号の種類と強度とを含んでもよい。センサデータは、ターゲット建物内の他の位置で測定した地磁気値を含んでもよい。
【００２７】
地図クラウドサーバ２００から提供されるセンサデータは、ターゲット建物内の異なる位置ごとに異なる値を有し、その値に対応する位置が正確であってこそ、サービスロボット３００が、センサデータを利用し、自己の位置を正確に確認することができる。従来には、ターゲット建物の特定位置にセンサを配置させた後、センサ出力を測定する過程を、ターゲット建物内の既設定の全位置で反復することにより、センサデータが収集された。そのような過程を介して、センサデータを収集する場合、センサを、既設定の特定位置に正確に配置させなければならないという困難が伴い、既設定の全位置において、センサ値を測定しなければならないので、時間が多くかかる。
【００２８】
本発明によるマッピングロボット１００は、ターゲット建物内を移動しながら、第１センサデータだけではなく、第２センサデータを収集することができる。マッピングロボット１００は、第１センサデータ及び第２センサデータそれぞれに、第１タイムスタンプ値及び第２タイムスタンプ値をタギングすることができる。マッピングロボット１００は、収集された第１センサデータを利用し、臨時地図データと臨時経路情報とを生成し、ループクロージャ（loop  closure）が検出されれば、ループクロージングを行うことにより、臨時地図データを補正し、ターゲット建物の室内地図情報を生成し、臨時経路情報を補正し、移動経路情報を生成することができる。第１センサデータは、室内地図情報及び移動経路情報を生成するためのデータであり、空間データとも称される。移動経路情報は、マッピングロボット１００が移動した経路に係わる情報である。
【００２９】
マッピングロボット１００は、第１センサデータ及び第２センサデータにタギングされた第１タイムスタンプ値及び第２タイムスタンプ値を利用し、第２センサデータが得られた時点において、マッピングロボット１００が位置していたセンシング位置座標を正確に推定することができる。マッピングロボット１００は、そのように推定されたセンシング位置座標を、第２センサデータにタギングすることにより、第２センサデータと、そのセンシング位置座標とを正確にマッピングさせることができる。従って、ターゲット建物内の数多くの位置それぞれにおいて収集される第２センサデータに、その正確なセンシング位置座標をタギングして保存することができ、そのような過程は、マッピングロボット１００が、ターゲット建物の室内地図情報を生成する時間になされるので、追加して必要となる時間は、ほとんどない。
【００３０】
図１は、本発明によるデータ収集方法を具現することができるシステムを例示的に図示したものである。本発明によるデータ収集方法が、例示的に図１のマッピングロボット１００で遂行されるように説明されるが、本発明によるデータ収集方法は、スマートフォンやノート型パソコンのような携帯用コンピュータ装置でも遂行される。
【００３１】
本発明によるデータ収集方法は、マッピングロボット１００と地図クラウドサーバ２００とによっても遂行され、その場合、マッピングロボット１００と地図クラウドサーバ２００とが１つのデータ収集装置を構成することができる。
【００３２】
例えば、マッピングロボット１００は移動しながら、第１センサ及び第２センサを介して、第１センサデータ及び第２センサデータをそれぞれ収集し、第１センサデータ及び第２センサデータに、第１タイムスタンプ値及び第２タイムスタンプ値をそれぞれタイムスタンピングすることができる。マッピングロボット１００は、第１タイムスタンプ値及び第２タイムスタンプ値がそれぞれタイムスタンピングされた第１センサデータ及び第２センサデータを、地図クラウドサーバ２００に提供することができる。
【００３３】
地図クラウドサーバ２００は、第１センサデータを基に、臨時地図データを生成し、第１タイムスタンプ値に対応する時点の臨時位置データを生成することができる。地図クラウドサーバ２００は、ループクロージャを検出し、ループクロージャが検出されれば、臨時位置データを補正し、補正位置データを生成し、該補正位置データを基に、移動経路情報、及びターゲット建物の室内地図情報を生成することができる。地図クラウドサーバ２００は、移動経路情報を基に、第２タイムスタンプ値に対応する時点のセンシング位置を推定し、該センシング位置を、第２センサデータにタギングすることができる。地図クラウドサーバ２００は、センシング位置がタギングされた第２センサデータを保存することができる。
【００３４】
一方、補正位置及びセンシング位置は、方向情報を含んでもよい。例えば、補正位置及びセンシング位置は、空間上での位置を特定することができる位置情報と、当該位置での方向を特定することができる方向情報と、をいずれも含む概念でもある。
【００３５】
図２は、一実施形態によるマッピングロボットの内部構成について説明するための例示的なブロック図である。
【００３６】
図２を参照すれば、マッピングロボット１００は、プロセッサ１１０、メモリ１２０、第１センサ部１３０、第２センサ部１４０、通信部１５０及び駆動部１６０を含む。
【００３７】
プロセッサ１１０は、メモリ１２０に保存されたコードによって動作し、第１センサ部１３０、第２センサ部１４０、通信部１５０及び駆動部１６０の全体的な動作を制御する。メモリ１２０は、プロセッサ１１０を動作させるためのコードを保存することができ、プロセッサ１１０の動作によって生成されるデータを保存することができる。プロセッサ１１０は、第１センサ部１３０及び第２センサ部１４０から収集される第１センサデータ及び第２センサデータを利用し、ターゲット建物の室内地図情報、及び自己の移動経路情報を生成し、センシング位置がタギングされた第２センサデータを生成することができる。プロセッサ１１０については、以下でさらに詳細に説明する。
【００３８】
第１センサ部１３０は、プロセッサ１１０が、ターゲット建物の室内地図情報及び移動経路情報を生成するのに利用される空間データ（すなわち、第１センサデータ）を生成することができる。第１センサ部１３０は、レーザスキャナ、カメラ、ＲＧＢＤセンサを含むグループのうちから選択される少なくとも１つを含んでもよい。レーザスキャナは、レーザパルスを発射し、発射されたレーザパルスが周囲の対象物体で反射されて戻ってくるものを受け、物体までの距離などを測定することにより、周辺の様子を精密に描写する装置であり、ライダー（Lidar）を含んでもよい。レーザスキャナは、三次元レーザスキャナでもあり、三次元空間データを生成することができる。レーザスキャナは、既設定の周期で三次元空間データを生成することができる。マッピングロボット１００が移動すれば、レーザスキャナが生成した三次元空間データは、毎フレームごとに変わることになる。プロセッサ１１０は、フレームごとに変わる三次元空間データの特徴点を抽出し、特徴点を整合させることにより、マッピングロボット１００の位置及び移動経路を把握し、ターゲット建物の室内地図情報を生成することができる。
【００３９】
カメラは、例えば、３６０°カメラでもあり、マッピングロボット１００の位置において、前後左右上下の全方向を撮影する装置でもある。カメラは、全方向を撮影した映像データを生成することができる。プロセッサ１１０は、フレームごとに変わる映像データの特徴点を抽出し、特徴点を整合させることにより、マッピングロボット１００の位置及び移動経路を把握し、ターゲット建物の室内地図情報を生成することができる。
【００４０】
一例によれば、プロセッサ１１０は、カメラから得られた映像データを分析し、平面（plane）を識別し、平面の変化を分析することにより、三次元地図データを生成することができる。また、プロセッサ１１０は、三次元地図データ内の自己の位置を把握することができる。
【００４１】
ＲＧＢＤセンサは、カメラのように、ＲＧＢ映像を撮影するセンサの機能と、周囲の対象物体までの距離を感知する深さセンサの機能が結合されたセンサである。ＲＧＢＤセンサは、周囲物体の映像だけではなく、周囲物体までの距離を測定することができる。プロセッサ１１０は、ＲＧＢＤセンサの出力データを基に、ターゲット建物の室内地図情報を生成し、自己の位置を把握することができる。
【００４２】
第２センサ部１４０は、センシング位置がタギングされた第２センサデータを生成するための装置であり、カメラ、Ｗｉ−Ｆｉモジュール、ブルートゥースモジュール、地磁気センサを含むグループから選択される少なくとも１つを含んでもよい。センシング位置は、第２センサデータが得られた位置を意味し、センシング位置がタギングされた第２センサデータは、第２センサデータと共に、センシング位置が保存されるということを意味する。センシング位置は、第２センサデータのメタデータにも保存される。センシング位置は、ターゲット建物の室内地図上の座標にも保存される。センシング位置がタギングされた第２センサデータは、地図クラウドサーバ２００に保存され、ネットワークを介して、ターゲット建物の室内地図情報の一部として、サービスロボット３００にも提供される。センシング位置がタギングされた第２センサデータは、マッピングロボット１００のメモリ１２０にも保存される。
【００４３】
第２センサ部１４０は、カメラ、Ｗｉ−Ｆｉモジュール、ブルートゥースモジュール、地磁気センサを含むグループから選択される複数のセンサを含んでもよい。例えば、第２センサ部１４０は、カメラとＷｉ−Ｆｉモジュールとを含んでもよい。第２センサ部１４０は、二次元レーザスキャナを含んでもよい。第２センサ部１４０は、二次元カメラを含んでもよい。第２センサ部１４０のセンサ装置は、第１センサ部１３０のセンサに比べ、廉価であって低い性能を有するものとすることができる。
【００４４】
Ｗｉ−Ｆｉモジュールは、センシング位置で感知されるアクセスポイントの識別情報、及びアクセスポイントそれぞれから受信されるＷｉ−Ｆｉ信号の強度を感知することができる。ブルートゥースモジュールは、センシング位置で感知されるブルートゥース装置の識別情報、及びブルートゥース装置それぞれから受信されるブルートゥース信号の強度を感知することができる。地磁気センサは、センシング位置において、地球の磁場を感知することができる。
【００４５】
通信部１５０は、ネットワークに接続され、地図クラウドサーバ２００及び／またはサービスロボット３００と通信することができる。通信部１５０は、通信インターフェースとも称され、マッピングロボット１００と外部装置（例えば、地図クラウドサーバ２００）との無線通信を設定することができる。無線通信は、例えば、ＬＴＥ、ＬＴＥ−Ａ、ＣＤＭＡ、ＷＣＤＭＡ、ＵＭＴＳ、ＷｉＢｒｏまたはＧＳＭなどのうち少なくとも１つを使用するセルラ通信を含んでもよい。一例によれば、無線通信は、Ｗｉ−Ｆｉ、ブルートゥース、ブルートゥース低電力（ＢＬＥ）、ジグビー、ＮＦＣまたはＲＦのうち少なくとも１つを含んでもよい。
【００４６】
駆動部１６０は、プロセッサ１１０によって制御され、マッピングロボット１００がターゲット建物内を移動することができる手段を提供する。駆動部１６０は、モータ及び複数のホイールを含んでもよい。例えば、駆動部１６０は、モータドライバ（motor  drivers）、ホイールモータ及び回転モータを含んでもよい。モータドライバは、マッピングロボット１００の走行のためのホイールモータを駆動する役割を行うことができる。ホイールモータは、マッピングロボット１００の走行のための複数個のタイヤを駆動させることができる。回転モータは、マッピングロボット１００のタイヤの方向転換または回転のためにも駆動される。
【００４７】
マッピングロボット１００は、障害物認識部（図示せず）をさらに含んでもよい。障害物認識部は、赤外線センサ、超音波センサ、絶壁センサ、姿勢センサ（ＡＲＳ：attitude  reference  system）、衝突センサ及び光流センサ（ＯＦＳ：optical  flow  sensor）のうち少なくとも１つを含んでもよい。赤外線センサは、マッピングロボット１００を遠隔調整するための赤外線リモートコントローラの信号を受信するセンサを含む。超音波センサは、超音波信号を利用し、障害物とロボットとの距離を判断するためのセンサを含む。絶壁センサは、３６０°範囲で崖または絶壁などを感知するためのセンサを含む。姿勢センサは、マッピングロボット１００の姿勢を検出することができるセンサを含む。姿勢センサは、マッピングロボット１００の回転量検出のための加速度３軸及びジャイロ３軸によって構成されるセンサを含む。衝突センサは、マッピングロボット１００と障害物との衝突を感知するセンサを含む。衝突センサは、３６０°範囲において、マッピングロボット１００と障害物との衝突を感知することができる。光流センサは、マッピングロボット１００の走行時、タイヤの空回り現象、及び多様な底面におけるロボットの走行距離を測定することができるセンサを含む。
【００４８】
図３は、一実施形態によるマッピングロボットのプロセッサについて説明するための例示的なブロック図である。
【００４９】
図３を参照すれば、プロセッサ１１０は、タイムスタンピングモジュール１１１、ＳＬＡＭ（simultaneous  localization  and  mapping）モジュール１１２、タギングモジュール１１３及び保存モジュール１１４を含んでもよい。
【００５０】
タイムスタンピングモジュール１１１は、第１センサ部１３０を介して、第１センサデータを収集し、第１センサデータに、第１タイムスタンプ値をタギングすることができる。タイムスタンピングモジュール１１１は、第２センサ部１４０を介して、第２センサデータを収集し、第２センサデータに、第２タイムスタンプ値をタギングすることができる。第１センサ部１３０は、三次元レーザスキャナであり、第２センサ部１４０は、Ｗｉ−Ｆｉモジュールであると仮定する。第１センサデータは、第１センサ部１３０に例示される三次元レーザスキャナから受信される空間データとも称され、第２センサデータは、第２センサ部１４０に例示されるＷｉ−Ｆｉモジュールから受信されるセンサデータとも称される。
【００５１】
タイムスタンピングとは、データを受信した時刻に該当するタイムスタンプ値を、前記データと関連づけて保存するか、あるいは前記データのメタデータとして保存することにより、前記データにタギングすることを意味する。タイムスタンプは、特定の時刻を示すために、一貫性ある形式によって表現される情報であり、２以上の時刻を比較したり、期間を計算したりするときに便利に使用することができる。タイムスタンプの形式は、本発明を限定するものではない。
【００５２】
第１センサ部１３０と第２センサ部１４０は、互いに独立して動作することができる。従って、第１センサ部１３０（例えば、三次元レーザスキャナ）の第１センサデータの収集周期と、第２センサ部１４０（例えば、Ｗｉ−Ｆｉモジュール）の第２センサデータの収集周期は、互いに独立している。第１センサデータの受信時刻と、第２センサデータの受信時刻は、互いに同期化されない。例えば、第１センサデータは、およそ１ｍｓから１００ｍｓまでの間で選択される時間間隔で受信され、第２センサデータは、およそ１ｍｓから１ｓｅｃまでの間で選択される時間間隔で受信されてよい。第１センサデータ及び第２センサデータそれぞれは、一定周期に受信されない。
【００５３】
タイムスタンピングモジュール１１１は、第１タイムスタンプ値がタギングされた第１センサデータと、第２タイムスタンプ値がタギングされた第２センサデータとをメモリ１２０に保存することができる。第１センサデータ及び第２センサデータそれぞれは、マッピングロボット１００が移動しながら順次に受信するデータの集合とも理解される。
【００５４】
ＳＬＡＭモジュール１１２は、第１センサデータを基に、同時位置推定及び地図作成の機能を遂行することができ、マッピングロボット１００が移動した経路を推定することができる。第１センサデータは、第１タイムスタンプ値がタギングされているので、ＳＬＡＭモジュール１１２は、どの時刻にどの位置を通過したかということに係わる情報を把握することができる。ＳＬＡＭモジュール１１２の同時位置推定及び地図作成の機能は、公知であるので、同時位置推定及び地図作成の機能がいかように遂行されるかということについて詳細に説明しない。
【００５５】
一例によれば、ＳＬＡＭモジュール１１２は、第１センサデータを基に、臨時地図データを生成しながら、第１タイムスタンプ値に対応する時点の臨時位置データを生成することができる。臨時位置データは、第１タイムスタンプ値に対応する時点において、マッピングロボット１００が通過した位置を臨時に推定したデータを意味する。第１センサデータが、三次元レーザスキャナから受信される三次元イメージデータである場合、ＳＬＡＭモジュール１１２は、順次に受信される三次元イメージデータを基に、同時位置推定及び地図作成の機能を遂行することができる。この段階において、ＳＬＡＭモジュール１１２が臨時に作成した地図データ、及び自己の位置データは、センシング誤差を含み、センシング誤差は、経時的に累積されてだんだん大きくなる。臨時地図データと臨時位置データは、そのようなセンシング誤差が除去されていないデータを意味する。例えば、臨時地図データと臨時位置データは、センシング誤差を含んでもよい。
【００５６】
ＳＬＡＭモジュール１１２は、センシング誤差を除去するための方法として、ループクロージング機能を遂行することができる。ＳＬＡＭモジュール１１２は、ループクロージャを検出することができる。本明細書において、ループクロージャとは、マッピングロボット１００が通過していた位置を再び訪問することを意味する。ＳＬＡＭモジュール１１２は、現在受信される第１センサデータである現在データを、以前に受信された第１センサデータである以前データと比較し、それら間の類似度が、既設定の閾値より高い場合、ループクロージャが発生したと決定することができる。第１センサ部１３０が三次元レーザスキャナである場合、同一位置で取得した三次元イメージデータは、非常に類似している。三次元レーザスキャナから受信される三次元イメージデータは、互いに容易に比較されるように、マッピングロボット１００の姿勢により、既設定の座標界にも変換される。マッピングロボット１００が通過していた位置を再び訪問することは、同一座標を再訪問することだけを含むものではなく、以前に訪問した位置に隣接した位置を再び訪問することも含んでもよい。
【００５７】
現在データは、必ずしも以前データの全てと比較されるものではなく、演算量を減らすために、一部の以前データと比較されてもよい。比較の対象になる一部の以前データは、開始地点の以前データ、または交差点位置の以前データであってよい。比較の対象になる一部の以前データは、臨時位置データを基に予測された移動経路を基に、ループクロージャの発生する可能性がある時点の以前データであってもよい。
【００５８】
他の実施形態によれば、ＳＬＡＭモジュール１１２は、ループクロージャを検出するとき、第２センサデータも利用することができる。ＳＬＡＭモジュール１１２は、現在受信される第２センサデータである現在データを、以前に受信された第２センサデータである以前データと比較し、それらの間の類似度が、既設定の閾値より高い場合、ループクロージャが発生したと決定することができる。第２センサ部１４０がＷｉ−Ｆｉモジュールである場合、同一位置で取得した無線信号データは、非常に類似している。第２センサデータについても、現在データは、必ずしも以前データの全てと比較されず、演算量を減らすために、一部の以前データと比較されてもよい。
【００５９】
ＳＬＡＭモジュール１１２は、第１センサデータを基に、ループクロージャを検出した場合、第１センサデータにタギングされた第１タイムスタンプ値を利用し、現在位置について、以前に通過した以前通過時点を把握することができる。第１センサデータを利用して把握した以前通過時点は、第１以前通過時点と称する。ＳＬＡＭモジュール１１２は、第２センサデータを基に、ループクロージャを検出した場合にも、第２センサデータにタギングされた第２タイムスタンプ値を利用し、現在位置について、以前に通過した以前通過時点を把握することができる。第２センサデータを利用して把握される以前通過時点は、第２以前通過時点と称する。ＳＬＡＭモジュール１１２は、第１以前通過時点と第２以前通過時点との差が、既設定の閾値より小さい場合、最終的にループクロージャが発生したと決定することができる。
【００６０】
ＳＬＡＭモジュール１１２は、ループクロージャの検出に応答し、臨時地図データと臨時位置データとから、センシング誤差を除去することにより、ターゲット建物の室内地図情報、及びマッピングロボット１００が移動した移動経路情報を生成することができる。ＳＬＡＭモジュール１１２は、ループクロージャの検出に応答し、臨時位置データを補正し、補正位置データを生成し、補正位置データを基に、移動経路情報を生成することができる。また、ＳＬＡＭモジュール１１２は、ループクロージャが検出されれば、臨時地図データからセンシング誤差を除去することにより、ターゲット建物の室内地図情報を生成することができる。
【００６１】
一例によれば、ループクロージャが検出された現在時点の臨時位置データと、第１以前通過時点の臨時位置データとの差は、第１以前通過時点と現在時点との間で累積されたセンシング誤差に対応するので、ＳＬＡＭモジュール１１２は、ループクロージャが検出された現在時点の臨時位置データと、第１以前通過時点の臨時位置データとを一致させながら、ループクロージャが検出された現在時点の臨時位置データと、第１以前通過時点の臨時位置データとの差を基に、センシング誤差に係わる情報を把握することができる。ＳＬＡＭモジュール１１２は、臨時位置データにおいて、センシング誤差を補正することにより、補正位置データを生成することができる。補正位置データは、臨時位置データからセンシング誤差が除去されたものと理解される。マッピングロボット１００の位置に係わる補正位置データも、推定誤差を含むが、臨時位置データに比べ、はるかに小さい誤差を含む。
【００６２】
ＳＬＡＭモジュール１１２は、補正位置データを基に、移動経路情報を生成することができる。第１センサデータには、第１タイムスタンプ値がタイムスタンピングされているので、移動経路情報は、第１タイムスタンプ値に対応する時点の補正位置データを含む。すなわち、移動経路情報は、マッピングロボット１００が移動した経路に係わる情報であり、第１タイムスタンプ値がタギングされた第１センサデータによって実際に通過した時刻と位置とに係わる情報を含んでもよい。
【００６３】
タギングモジュール１１３は、移動経路情報を基に、第２タイムスタンプ値に対応する時点のセンシング位置を推定することができる。移動経路情報は、マッピングロボット１００が移動した時刻と位置とに係わる情報を含むので、タギングモジュール１１３は、第２タイムスタンプ値に対応する時点において、マッピングロボット１００が位置した位置を把握することができる。この位置は、センシング位置とも称される。一例によれば、タギングモジュール１１３は、第１タイムスタンプ値に対応する時点の補正位置データを利用して内挿することにより、第２タイムスタンプ値に対応する時点のセンシング位置を推定することができる。第１タイムスタンプ値に対応する時点は、第２タイムスタンプ値に対応する時点と正確に一致しない。第２タイムスタンプ値と隣接する２個の第１タイムスタンプ値が選択される。２個の第１タイムスタンプ値に対応する補正位置データが決定される。２個の第１タイムスタンプ値に対応する時点の間、マッピングロボット１００が線形等速運動したと仮定し、第２タイムスタンプ値と隣接する２個の第１タイムスタンプ値の差を基に、内挿演算を遂行することにより、第２タイムスタンプ値に対応する時点のセンシング位置を推定することができる。
【００６４】
マッピングロボット１００が、隣接した２個の第１タイムスタンプ値に対応する位置の間で線形等速運動すると仮定しない場合、例えば、マッピングロボット１００が不規則に運動する場合、第２タイムスタンプ値に対応する時点の位置は、第２タイムスタンプ値に隣接する２以上の第１タイムスタンプ値に対応する時点の位置を基に決定される。タギングモジュール１１３は、２以上の第１タイムスタンプ値に対応する時点の位置を基に、マッピングロボット１００の運動の種類を予想し、この運動の種類、及び第２タイムスタンプ値に対応する時点の位置を基に、第２タイムスタンプ値に対応する時点の位置を推定することができる。
【００６５】
タギングモジュール１１３は、第２タイムスタンプ値に対応する時点において、マッピングロボット１００が位置した位置を基に、センシング位置を推定することができる。厳密には、第２タイムスタンプ値に対応する時点の位置は、第１センサ部１３０の位置を意味する。一方、センシング位置は、第２センサ部１４０の位置を意味する。
【００６６】
第１センサ部１３０と第２センサ部１４０は、マッピングロボット１００内において、他の位置に存在することができる。プロセッサ１１０は、第１センサ部１３０と第２センサ部１４０との位置関係に係わる情報を事前に保存することができる。プロセッサ１１０は、マッピングロボット１００の姿勢により、第１センサ部１３０の位置に対する第２センサ部１４０の位置の関係を算出し、算出された位置関係を利用し、第１センサ部１３０の位置から、第２センサ部１４０の位置を正確に算出することができる。それを介して、タギングモジュール１１３は、第２タイムスタンプ値に対応する時点において、第１センサ部１３０が位置した位置を基にセンシング位置を推定することができる。
【００６７】
タギングモジュール１１３は、そのように推定されたセンシング位置を、第２タイムスタンプ値がタイムスタンピングされた第２センサデータにタギングすることができる。タギングモジュール１１３が、第２センサデータ全部について、前述のような動作を遂行することにより、第２センサデータには、いずれもセンシング位置がタギングされる。第２センサ部１４０がカメラである場合、センシング位置がタギングされた第２センサデータは、カメラが撮影した映像、及びカメラの位置を含んでもよい。第２センサデータに含まれるカメラの位置は、カメラの撮影方向を含んでもよい。固定式カメラである場合、カメラの撮影方向は、マッピングロボット１００の姿勢を介しても決定される。ジンバルカメラである場合、カメラの撮影方向は、マッピングロボット１００の姿勢、及びジンバル角度を基に決定され得る。
【００６８】
保存モジュール１１４は、センシング位置がタギングされた第２センサデータを保存することができる。保存モジュール１１４は、センシング位置がタギングされた第２センサデータをメモリ１２０に保存することができる。保存モジュール１１４は、センシング位置がタギングされた第２センサデータを地図クラウドサーバ２００に保存することができる。保存モジュール１１４は、センシング位置がタギングされた第２センサデータをターゲット建物の室内地図情報に結合することができる。
【００６９】
第２センサ部１４０が、複数種類のセンサを含む場合、第２センサデータも複数存在し、センシング位置がそれぞれタギングされた複数の第２センサデータは、タギングモジュール１１３によっても生成される。ターゲット建物の室内地図情報は、複数の第２センサデータを含んでもよい。例えば、第２センサ部１４０が、カメラとＷｉ−Ｆｉモジュールとを含む場合、第２センサデータは、センシング位置からカメラで撮影した映像データ、及びセンシング位置で受信されるＷｉ−Ｆｉ信号のデータを含んでもよい。
【００７０】
プロセッサ１１０は、マッピングロボット１００の自律走行のための自律走行モジュールをさらに含んでもよく、駆動部１６０は、自律走行モジュールの制御によっても駆動される。自律走行モジュールは、マッピングロボット１００が移動する経路を直接決定することができる。マッピングロボット１００は、ターゲット建物の室内地図情報が作られる前、ターゲット建物を探索することができる。自律走行モジュールは、ターゲット建物を探索するためのアルゴリズムを有することができる。例えば、自律走行モジュールは、ターゲット建物を探索するために、全ての交差点において特定方向に回転するアルゴリズムを有するか、あるいは既設定の移動距離または移動時間にあれば、ループクロージャが発生するように経路を決定するアルゴリズムを有することができる。
【００７１】
他の実施形態によれば、マッピングロボット１００が移動する経路を決定する機能は、地図クラウドサーバ２００で遂行され、プロセッサ１１０は、地図クラウドサーバ２００から自身が移動する経路を受信することができる。
【００７２】
図４及び図５は、一実施形態によるマッピングロボットのプロセッサの動作について説明するための参照図である。
【００７３】
図４及び図５を参照すれば、ＳＬＡＭモジュール１１２のループクロージング動作以前の臨時移動経路Ｐ１と、ループクロージング動作以後に推定した推定移動経路Ｐ２とが図示される。マッピングロボット１００は、左側下端で開始し、長方形の経路を反時計回り方向に移動したと仮定する。図５は、図４の参照図であり、Ａ部分を拡大したものである。
【００７４】
臨時移動経路Ｐ１は、臨時位置データｅｉを基に決定され得る。臨時移動経路Ｐ１から分かるように、臨時位置データｅｉは、マッピングロボット１００の移動により、センシング誤差が累積されるにつれて、実際の経路からだんだん外れる。
【００７５】
ループクロージング動作は、ループクロージャが検出された２つの時点において、臨時位置データｅｉを一致させる動作であり得る。ループクロージング動作によって生成される補正位置データｒｉは、臨時位置データｅｉからセンシング誤差を除外したものと理解される。
【００７６】
プロセッサ１１０が、第２センサデータを第２センサ部１４０から受信されるたびにセンシング位置を決定し、決定されたセンシング位置を第２センサデータにタギングする場合、第２センサデータのセンシング位置ｍｊは、図５に図示されているように、臨時移動経路Ｐ１上の位置と決定されるか、あるいは臨時移動経路Ｐ１上の隣接した臨時位置データｅｉの位置とも決定される。プロセッサ１１０は、第１センサデータを基に、現在位置を、臨時位置データｅｉのように決定することができ、プロセッサ１１０は、臨時位置データｅｉを基に、第２センサデータのセンシング位置を決定することができる。
【００７７】
本実施形態によれば、第２センサデータには、第２タイムスタンプ値がタイムスタンピングされる。プロセッサ１１０は、第２センサデータの第２タイムスタンプ値を利用し、第２センサデータのセンシング位置を、推定移動経路Ｐ２上の位置と決定することができる。その結果、第２センサデータのセンシング位置は、さらに正確になり、第２センサデータのセンシング位置を把握するために、追加して投与しなければならない時間は、ほとんどない。それだけではなく、ターゲット建物内において、マッピングロボット１００が移動した経路に沿って、非常に多数の第２センサデータが取得される。ターゲット建物内の非常に多くのセンシング位置で測定される第２センサデータが収集される。従来には、作業者が、既設定の位置に、センサ装置を持って移動し、センサデータを収集しなければならなかったので、限定された位置についてしかセンサデータを収集することができなかったが、本実施形態によれば、ターゲット建物内において、マッピングロボット１００が移動する経路上において、数ｃｍほどの間隔で、第２センサデータを収集することができる。
【００７８】
図６は、一実施形態による地図クラウドサーバの内部構成について説明するための例示的なブロック図である。
【００７９】
図６を参照すれば、地図クラウドサーバ２００は、プロセッサ２１０、メモリ２２０及び通信部２３０を含む。
【００８０】
プロセッサ１１０は、メモリ１２０に保存されたコードによって動作し、メモリ２２０及び通信部２３０を含む。メモリ２２０は、プロセッサ２１０を動作させるためのコードを保存することができ、プロセッサ２１０の動作によって生成されるデータを保存することができる。メモリ２２０は、ターゲット建物の室内地図情報を保存する保存装置を含んでもよい。他の例によれば、メモリ２２０は、ネットワークを介して連結される別途の保存サーバのデータベースを含んでもよく、ターゲット建物の室内地図情報は、データベースにも保存される。
【００８１】
プロセッサ２１０は、マッピングロボット１００から、ターゲット建物の室内地図情報を受信することができる。室内地図情報は、ターゲット建物の三次元地図を含んでもよい。室内地図情報は、センシング位置がタギングされた第２センサデータを含んでもよい。センシング位置は、ターゲット建物の室内地図情報上の位置にも特定される。
【００８２】
プロセッサ２１０は、サービスロボット３００に、ターゲット建物の室内地図情報を提供することができる。サービスロボット３００は、ターゲット建物の室内地図情報に含まれる第２センサデータを利用し、自己の位置を把握することができる。第２センサデータには、正確に推定されたセンシング位置がタギングされている。サービスロボット３００は、ターゲット建物内において、センサを利用して測定した値を、第２センサデータと比較することにより、自己の位置を推定することができる。
【００８３】
他の実施形態によれば、プロセッサ２１０は、マッピングロボット１００及び／またはサービスロボット３００から、出発地情報と到着地情報とを受信することができる。プロセッサ２１０は、ターゲット建物の室内地図情報を利用し、出発地から到着地まで移動する最適な経路を決定し、最適な経路に係わる情報を、マッピングロボット１００及び／またはサービスロボット３００に提供することができる。最適な経路に係わる情報を受信したマッピングロボット１００及び／またはサービスロボット３００は、最適な経路に沿って移動することができる。他の例によれば、マッピングロボット１００は、自律走行モジュールを含んでもよく、該自律走行モジュールが決めた経路に沿って移動することもできる。
【００８４】
さらに他の実施形態によれば、プロセッサ２１０は、図３のＳＬＡＭモジュール１１２、タギングモジュール１１３及び保存モジュール１１４の機能を遂行することができる。例えば、プロセッサ２１０は、マッピングロボット１００から、第１タイムスタンプ値及び第２タイムスタンプ値がそれぞれタイムスタンピングされた第１センサデータ及び第２センサデータを受信することができる。
【００８５】
プロセッサ２１０は、第１タイムスタンプ値がタイムスタンピングされた第１センサデータを基に、臨時地図データを生成し、第１タイムスタンプ値に対応する時点の臨時位置データを生成することができる。
【００８６】
プロセッサ２１０は、マッピングロボット１００が通過した位置を再び訪問するループクロージャを検出することができる。プロセッサ２１０は、ループクロージャが検出されれば、臨時位置データを補正し、補正位置データを生成し、該補正位置データを基に、移動経路情報、及びターゲット建物の室内地図情報を生成することができる。
【００８７】
プロセッサ２１０は、移動経路情報を基に、第２タイムスタンプ値に対応する時点のセンシング位置を推定し、該センシング位置を、第２センサデータにタギングすることができる。プロセッサ２１０は、センシング位置がタギングされた第２センサデータを保存することができる。
【００８８】
通信部２３０は、ネットワークに接続され、マッピングロボット１００及び／またはサービスロボット３００と通信することができる。通信部２３０は、通信インターフェースとも称され、マッピングロボット１００及び／またはサービスロボット３００との通信を設定することができる。通信部２３０は、有線通信を介して、ネットワークに接続することができる。有線通信は、ＬＡＮ、ＷＡＮ、ＭＡＮ、ＩＳＤＮ（integrated  service  digital  network）などのうち少なくとも１つを含んでもよい。
【００８９】
図７は、一実施形態によるサービスロボットの内部構成について説明するための例示的なブロック図である。
【００９０】
図７を参照すれば、サービスロボット３００は、プロセッサ３１０、メモリ３２０、第２センサ部３３０、通信部３４０及び駆動部３５０を含む。
【００９１】
プロセッサ３１０は、メモリ３２０に保存されたコードによって動作し、メモリ３２０、第２センサ部３３０、通信部３４０及び駆動部３５０の全体的な動作を制御する。メモリ３２０は、プロセッサ３１０を動作させるためのコードを保存することができ、プロセッサ３１０の動作によって生成されるデータを保存することができる。プロセッサ３１０は、第２センサ部３３０から受信されるセンサデータと、地図クラウドサーバ２００に保存されるターゲット建物の室内地図情報とを利用し、ターゲット建物内の自己の位置を推定することができる。プロセッサ３１０について、以下でさらに詳細に説明する。
【００９２】
第２センサ部３３０は、ターゲット建物の室内地図情報に含まれる第２センサデータと同一種類のセンサデータを生成するセンサを含んでもよい。第２センサ部３３０は、マッピングロボット１００の第２センサ部１４０に対応する。例えば、マッピングロボット１００の第２センサ部１４０が、カメラ、Ｗｉ−Ｆｉモジュール、ブルートゥースモジュール、地磁気センサを含むグループから選択される少なくとも１つを含む場合、第２センサ部３３０も、第２センサ部１４０と同一種類の少なくとも１つのセンサを含んでもよい。マッピングロボット１００の第２センサ部１４０が、カメラとＷｉ−Ｆｉモジュールとを含み、ターゲット建物の室内地図情報に、カメラの映像データとＷｉ−Ｆｉモジュールとの無線信号データが含まれる場合、第２センサ部３３０は、カメラかＷｉ−Ｆｉモジュールのうち一方だけ含むか、あるいはカメラとＷｉ−Ｆｉモジュールとの双方も含んでもよい。
【００９３】
マッピングロボット１００の第１センサ部１３０のセンサは、第２センサ部１４０のセンサに比べ、高価であって高い性能を有することができる。サービスロボット３００は、マッピングロボット１００の第１センサ部１３０のような高価のセンサを含まないために、マッピングロボット１００に比べ、低廉に製作され、それぞれの機能に合うように多様な種類にも製作される。
【００９４】
通信部３４０は、ネットワークに接続され、マッピングロボット１００、地図クラウドサーバ２００及び／または他のサービスロボット３００と通信することができる。通信部３４０は、無線通信を支援する通信インターフェースとも称される。無線通信は、セルラ通信、Ｗｉ−Ｆｉ、ブルートゥース、ブルートゥース低電力（ＢＬＥ）、ジグビー、ＮＦＣまたはＲＦのうち少なくとも１つを含んでもよい。
【００９５】
駆動部３５０は、プロセッサ３１０によって制御され、サービスロボット３００が移動することができる手段を提供する。駆動部３５０は、モータ、及び複数のホイールを含んでもよい。例えば、駆動部３５０は、モータドライバ、ホイールモータ及び回転モータを含んでもよい。モータドライバは、サービスロボット３００の走行のためのホイールモータを駆動する役割を行うことができる。ホイールモータは、サービスロボット３００の走行のための複数個のタイヤを駆動させることができる。回転モータは、サービスロボット３００のタイヤの方向転換または回転のためにも駆動される。
【００９６】
一実施形態によれば、プロセッサ３１０は、第２センサ部３３０から、センサデータを受信することができる。プロセッサ３１０は、地図クラウドサーバ２００から、ターゲット建物の室内地図情報を受信することができる。プロセッサ３１０は、ターゲット建物の室内地図情報に含まれるセンシング位置がタギングされた第２センサデータと、第２センサ部３３０から受信されたセンサデータとを比較し、それら間の類似度を判断することができる。プロセッサ３１０は、類似度が高い第２センサデータを抽出し、第２センサデータにタギングされたセンシング位置を基に、サービスロボット３００の現在位置を推定することができる。
【００９７】
他の実施形態によれば、プロセッサ３１０は、第２センサ部３３０からセンサデータを受信すると、センサデータを地図クラウドサーバ２００に伝送することができる。地図クラウドサーバ２００は、サービスロボット３００から受信されるセンサデータを基に、サービスロボット３００の現在位置を推定し、現在位置に係わる情報をサービスロボット３００に伝送することもできる。
【００９８】
ターゲット建物内で、マッピングロボット１００及びサービスロボット３００の移動する経路が指定された場合、マッピングロボット１００は、この経路上の全ての位置において、第２センサデータを受信することができる。ターゲット建物の室内地図情報は、経路上の全ての位置で得られた第２センサデータを含んでもよく、該第２センサデータは、正確なセンシング位置がタギングされる。サービスロボット３００が、ターゲット建物内の指定された経路上に位置する場合、第２センサ部３３０を介して受信されるセンサデータと類似度が非常に高い第２センサデータが存在する可能性が高い。従って、サービスロボット３００の現在位置は、非常に正確に推定される。
【００９９】
以上で説明された本発明による実施形態は、コンピュータ上で多様な構成要素を介して実行されるコンピュータプログラムの形態でも具現され、そのようなコンピュータプログラムは、コンピュータ読み取り可能な媒体にも記録される。このとき、媒体は、コンピュータ実行可能なプログラムを継続的に保存するか、あるいは実行またはダウンロードのために一時的に保存するものでもある。また、媒体は、単一または数個のハードウェアが結合された形態の多様な記録手段または保存手段でもあるが、あるコンピュータシステムに直接接続される媒体に限定されるものではなく、ネットワーク上に分散存在するものであってもよい。媒体の例示としては、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体；ＣＤ−ＲＯＭ（compact  disc  read  only  memory）及びＤＶＤ（digital  versatile  disc）のような光記録媒体；フロプティカルディスク（floptical  disk）のような磁気・光媒体（magneto-optical  medium）；及びＲＯＭ（read-only  memory）、ＲＡＭ（random  access  memory）、フラッシュメモリなどを含んでプログラム命令語が保存されるように構成されたものがある。また、他の媒体の例示として、アプリケーションを流通するアプリストアや、その他多様なソフトウェアを供給ないし流通するサイト、サーバなどで管理する記録媒体も挙げることができる。
【０１００】
前述の発明は、具体的な構成要素のような特定事項、限定された実施形態、及び図面によって説明されているが、それらは、本発明のさらに全般的な理解の一助となるように提供されたものであり、本発明は、前述の実施形態に限定されるものではなく、本発明が属する技術分野で当業者であるならば、そのような記載から、多様な修正と変更とを図ることができるであろう。
【０１０１】
従って、本発明の思想は、前述の実施形態に限って決められるものではなく、特許請求の範囲だけではなく、該特許請求の範囲と均等であるか、あるいはそれらから等価的に変更された全ての範囲が、本発明の思想の範疇に属するものとするのである。
【産業上の利用可能性】
【０１０２】
本発明のデータ収集方法及びそのシステムは、例えば、位置基盤情報関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１０３】
１００    マッピングロボット
１１０、２１０、３１０    プロセッサ
１１１    タイムスタンピングモジュール
１１２    ＳＬＡＭモジュール
１１３    タギングモジュール
１１４    保存モジュール
１２０、２２０、３２０    メモリ
１３０    第１センサ
１４０、３３０    第２センサ
１５０、２３０、３４０    通信部
１６０、３５０    駆動部
２００    地図クラウドサーバ
３００、３００ａ、３００ｂ、３００ｃ    サービスロボット
【図１】
2020077372.tif 000003
【図２】
2020077372.tif 000004
【図３】
2020077372.tif 000005
【図４】
2020077372.tif 000006
【図５】
2020077372.tif 000007
【図６】
2020077372.tif 000008
【図７】
2020077372.tif 000009