(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-16
(45)【発行日】2024-08-26
(54)【発明の名称】カバレッジ経路計画のための自律移動ロボット
(51)【国際特許分類】
G01C 21/34 20060101AFI20240819BHJP
G05D 1/693 20240101ALI20240819BHJP
G05D 1/242 20240101ALI20240819BHJP
G08G 1/16 20060101ALI20240819BHJP
【FI】
G01C21/34
G05D1/693
G05D1/242
G08G1/16 D
(21)【出願番号】P 2022145953
(22)【出願日】2022-09-14
【審査請求日】2022-09-14
(32)【優先日】2021-11-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-01-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517175046
【氏名又は名称】Rapyuta Robotics株式会社
(73)【特許権者】
【識別番号】000206211
【氏名又は名称】大成建設株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】アーユッシュ クマール ゴー
(72)【発明者】
【氏名】松崎 重一
(72)【発明者】
【氏名】中谷 晃治
(72)【発明者】
【氏名】樫本 高章
【審査官】田中 将一
(56)【参考文献】
【文献】特開2007-249632(JP,A)
【文献】特開2017-050018(JP,A)
【文献】特開2013-186724(JP,A)
【文献】特開2021-135509(JP,A)
【文献】特開平05-158533(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01C 21/00 - 21/36
G01C 23/00 - 25/00
G05D 1/00 - 1/87
(57)【特許請求の範囲】
【請求項1】
プロセッサ実装方法であって、
センサデバイスからセンサデータを受信することであって、該センサデータは、所定の領域内のロボットに対応する情報を含み、前記所定の領域は、複数のセルに分割され
、前記ロボットは、前記所定の領域を同時に探索し、各ロボットが所定の経路を進むにつれて探索される領域に基づいて前記情報を動的にブロードキャストする、ように構成される、センサデータを受信すること、
前記受信するデータに基づいて前記ロボットについての衝突マップを生成することであって、前記衝突マップは、各セルが前記ロボットの各ロボットによって占められる確率と、障害物を説明する前記複数のセルからの各セルの可視性とを含む、衝突マップを生成することと、
前記生成される衝突マップに基づいて前記ロボットの目標ポーズのセットを決定することであって、前記目標ポーズのセットおよび前記複数のセルは、可視性行列を形成し、該可視性行列は、センサ観測結果の品質についてのインデックスを含
み、前記インデックスは、センサモデルに基づく前記センサ観測結果の品質の推定を表す、目標ポーズのセットを決定することと、
前記可視性行列に基づいて前記目標ポーズのセットから最適な目標ポーズのセットを決定することであって、該最適な目標ポーズのセットを決定することは、前記可視性行列における各セルの全体的なカバレッジ値を推定
して、最小要素を有するセルのセットを取得することを含
み、前記最適な目標ポーズのセットは、前記ロボットによる訪問のために前記ロボットにより近いポーズに優先順位を付けることを可能にする、最適な目標ポーズのセットを決定することと、
前記決定される最適な目標ポーズのセットから前記ロボットが訪れる最適なポーズの順序を決定することと、
前記決定される最適な目標ポーズのセット
及び前記最適なポーズの順序に基づいて前記ロボットの各ロボットについてのカバレッジ経路計画を生成することであって、該カバレッジ経路計画を生成することは、前記最適な目標ポーズのセットに対応する前記セルの各セルにセンサ可視性コストを割り当て
て、前記センサ可視性コストに基づいて各セルの前記可視性を決定することを含む、カバレッジ経路計画を生成することと、を含む、
プロセッサ実装方法。
【請求項2】
前記生成されるカバレッジ経路についての再計画を開始することであって、該再計画は、前記目標ポーズのセットから次の目標ポーズを選択することを含む、開始することと、
前記目標ポーズのセットからの前記次の目標ポーズに基づいて前記ロボットの各ロボットについての新しいカバレッジ経路を生成することと、を含む、
請求項1に記載のプロセッサ実装方法。
【請求項3】
前記センサデータから受信するフィードバックに基づいてカバレッジ経路を更新することを含み、前記フィードバックは、前記センサデバイスによって取り込まれる各観測結果の品質を含む、請求項1に記載のプロセッサ実装方法。
【請求項4】
前記ロボットに対応する前記情報は、前記複数のセルを含む前記所定の領域内の前記ロボットのセンサ視野を含む、請求項1に記載のプロセッサ実装方法。
【請求項5】
前記センサ視野は、前記所定の領域内の前記ロボットの位置、前記ロボットの向き、前記ロボットの1つ以上の視点を含む、請求項4に記載のプロセッサ実装方法。
【請求項6】
カバレッジマップを生成することを含み、該カバレッジマップは、前記ロボットによってカバーされる、前記所定の領域からの領域を含む、請求項1に記載のプロセッサ実装方法。
【請求項7】
各観測結果の品質を増大させるために前記センサデバイスによってキャプチャされる各観測結果の確率を更新することを含む、請求項
3に記載のプロセッサ実装方法。
【請求項8】
前記可視性行列は、カバレッジマップ内の各セルにセンサ観測結果の品質についてのインデックスを割り当てることを含み、
前記インデックスは、センサモデルに基づく前記センサ観測結果の品質の推定を表し、前記可視性行列は、前記複数のセルを表す行と、前記目標ポーズのセットを表す列とを含む、請求項1に記載のプロセッサ実装方法。
【請求項9】
命令を格納するメモリと、
前記メモリに結合されるプロセッサと、を含み、
前記プロセッサは、前記命令によって、
センサデバイスからセンサデータを受信するように構成され、該センサデータは、所定の領域内のロボットに対応する情報を含み、前記所定の領域は、複数のセルに分割され、
前記ロボットは、前記所定の領域を同時に探索し、各ロボットが所定の経路を進むにつれて探索される領域に基づいて前記情報を動的にブロードキャストする、ように構成され、
前記受信するセンサデータに基づいて前記ロボットについての衝突マップを生成するように構成され、前記衝突マップは、各セルが前記ロボットの各ロボットによって占められる確率と、障害物を説明する前記複数のセルからの各セルの可視性とを含み、
前記生成される衝突マップに基づいて前記ロボットの目標ポーズのセットを決定するように構成され、該目標ポーズのセットおよび前記複数のセルは、可視性行列を形成し、該可視性行列は、センサ観測結果の品質についてのインデックスを含み、
前記インデックスは、センサモデルに基づく前記センサ観測結果の品質の推定を表し、
前記可視性行列に基づいて前記目標ポーズのセットから最適な目標ポーズのセットを決定するように構成され、該最適な目標ポーズのセットを決定することは、前記可視性行列内の各セルの全体的なカバレッジ値を推定
して、最小要素を有するセルのセットを取得することを含み、
前記最適な目標ポーズのセットは、前記ロボットによる訪問のために前記ロボットにより近いポーズに優先順位を付けることを可能にし、
前記決定される最適な目標ポーズのセットから前記ロボットが訪れる最適なポーズの順序を決定するように構成され、
前記決定される最適な目標ポーズのセット
及び前記最適なポーズの順序に基づいて前記ロボットの各ロボットについてのカバレッジ経路計画を生成するように構成され、前記カバレッジ経路計画を生成することは、前記最適な目標ポーズのセットに対応する前記セルの各セルにセンサ可視性コストを割り当て
て、前記センサ可視性コストに基づいて各セルの前記可視性を決定することを含む、
システム。
【請求項10】
前記生成されるカバレッジ経路についての再計画を開始するように更に構成され、前記再計画することは、前記目標ポーズのセットから次の目標ポーズを選択することを含み、
前記目標ポーズのセットからの前記次の目標ポーズに基づいて前記ロボットの各ロボットについての新しいカバレッジ経路を生成することを更に含む、
請求項9に記載のシステム。
【請求項11】
前記センサデータから受信するフィードバックに基づいてカバレッジ経路を更新するように更に構成され、前記フィードバックは、前記センサデバイスによって取り込まれる各観測結果の品質を含む、請求項9に記載のシステム。
【請求項12】
ロボットに対応する前記情報は、前記複数のセルを含む前記所定の領域内の前記ロボットのセンサ視野を含む、請求項9に記載のシステム。
【請求項13】
前記センサ視野は、前記所定の領域内の前記ロボットの位置、前記ロボットの向き、前記ロボットの1つ以上の視点を含む、請求項12に記載のシステム。
【請求項14】
カバレッジマップを生成するように更に構成され、該カバレッジマップは、前記センサデバイスによってカバーされる、前記所定の領域からの領域を含む、請求項9に記載のシステム。
【請求項15】
各観測結果の品質を増大させるために前記センサデバイスによってキャプチャされる各観測結果の確率を更新するように更に
構成され、請求項
11に記載のシステム。
【請求項16】
前記可視性行列は、カバレッジマップ内の各セルにセンサ観測結果の品質についてのインデックスを割り当てることを含み、
前記インデックスは、センサモデルに基づく前記センサ観測結果の品質の推定を表し、前記可視性行列は、前記複数のセルを表す行と、前記目標ポーズのセットを表す列とを含む、請求項9に記載のシステム。
【請求項17】
1つ以上の命令を含む、1つ以上の非一時的な機械読取可能情報格納媒体であって、前記1つ以上の命令は、1つ以上のハードウェアプロセッサによって実行されるときに、
センサデバイスからセンサデータを受信することを引き起こし、前記センサデータは、所定の領域内のロボットに対応する情報を含み、前記所定の領域は、複数のセルに分割され、
前記ロボットは、前記所定の領域を同時に探索し、各ロボットが所定の経路を進むにつれて探索される領域に基づいて前記情報を動的にブロードキャストする、ように構成され、
前記受信するセンサデータに基づいて前記ロボットについての衝突マップを生成することを引き起こし、前記衝突マップは、各セルが前記ロボットの各ロボットによって占められる確率と、障害物を説明する前記複数のセルからの各セルの可視性とを含み、
前記生成される衝突マップに基づいて前記ロボットの目標ポーズのセットを決定することを引き起こし、前記目標ポーズのセットおよび前記複数のセルは、可視性行列を形成し、該可視性行列は、センサ観測結果の品質についてのインデックスを含み、
前記インデックスは、センサモデルに基づく前記センサ観測結果の品質の推定を表し、
前記可視性行列に基づいて前記目標ポーズのセットから最適な目標ポーズのセットを決定することを引き起こし、該最適な目標ポーズのセットを決定することは、前記可視性行列内の各セルの全体的なカバレッジ値を推定
して、最小要素を有するセルのセットを取得することを含み、
前記最適な目標ポーズのセットは、前記ロボットによる訪問のために前記ロボットにより近いポーズに優先順位を付けることを可能にし、
前記決定される最適な目標ポーズのセットから前記ロボットが訪れる最適なポーズの順序を決定することを引き起こし、
前記決定される最適な目標ポーズのセット
及び前記最適なポーズの順序に基づいて前記ロボットの各ロボットについてのカバレッジ経路計画を生成することを引き起こし、前記カバレッジ経路計画を生成することは、前記最適な目標ポーズのセットに対応する前記セルの各セルにセンサ可視性コストを割り当て
て、前記センサ可視性コストに基づいて各セルの前記可視性を決定することを含む、
1つ以上の非一時的な機械読取可能情報格納媒体。
【請求項18】
前記命令は、前記1つ以上のハードウェアプロセッサによって実行されるときに、
前記生成されるカバレッジ経路のための再計画を開始することを更に引き起こし、前記再計画することは、前記目標ポーズのセットから次の目標ポーズを選択することを含み、
前記目標ポーズのセットからの前記次の目標ポーズに基づいて前記ロボットの各ロボットについての新しいカバレッジ経路を生成することを更に引き起こす、
請求項17に記載の1つ以上の非一時的な機械読取可能情報格納媒体。
【請求項19】
カバレッジ経路を更新することは、
ある期間に亘って収集される前記ロボットの各ロボットの前記センサデータを集約することと、
前記ロボットに対応する新しい情報を受信した後に前記センサデータを動的に更新することと、を更に含む、
請求項3に記載の方法。
【請求項20】
ある期間に亘って収集される前記ロボットの各ロボットの前記センサデータを集約し、
前記ロボットに対応する新しい情報を受信した後に前記センサデータを動的に更新する、
ように更に構成される、
請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の参照)
本願は、2021年11月11日に出願された米国仮出願第63/278,169号に対する優先権の利益を主張し、その全文を参照により本明細書に援用する。
【0002】
(技術分野)
本明細書における開示は、一般的には、カバレッジ経路(coverage path)計画、より具体的には、カバレッジ経路計画のための自律移動ロボット(autonomous mobile robots)に関する。
【背景技術】
【0003】
完全なカバレッジ経路計画は、ロボットが作業空間内のあらゆる場所を通過する一方で、障害物および/または将来の障害物も回避することを必要とする。家庭用掃除ロボット、地雷除去ロボット、芝刈機および農業用自動収穫機のような、単一ロボットおよびマルチロボットのカバレッジ経路計画が、広く用いられている。静的環境における完全横断経路計画法に対する多くの解決策があり、これらの解決策は、一般的には、既知の環境について適用可能である。しかしながら、実際の適用環境では、変わらない環境情報を事前に知ることは可能でないことがある。カバレッジ計画のための多くの実装があるが、未知で動的な環境におけるマルチロボットカバレッジ計画に対する先進的な解決策は僅かであり先進的でない。
【発明の概要】
【0004】
本開示に組み込まれ、この開示の一部を構成する、添付の図面は、例示的な実施形態を図示し、本記述と共に、開示の原理を説明するのに役立つ。
【0005】
本開示の実施形態は、従来のシステムにおいて発明者によって認識される1つ以上の問題に対する解決策としての技術的な改良を提供する。1つの実施形態では、カバレッジ経路計画のための自律移動ロボットのためのプロセッサ実装方法が開示される。本方法は、1つ以上のセンサデバイスからセンサデータを受信することを含み、センサデータは、所定の領域内の1つ以上のロボットに対応する情報を含み、所定の領域は、複数のセルに分割される。本方法は、受信するデータに基づいて1つ以上のロボットのためのマップを生成することを更に含み、マップは、所定の領域内の1つ以上のロボットによる複数のセルの各セルの起こりそうな占有を含む。本方法は、生成されるマップに基づいて1つ以上のロボットのポーズのセットを決定することを更に含み、ポーズのセットおよび複数のセルは、可視性行列を形成し、可視性行列は、センサ観測結果の品質についてのインデックスを含む。本方法は、可視性行列に基づいてポーズのセットから最適なポーズのセットを決定することを更に含み、最適なポーズのセットを決定することは、可視性行列における各セルの全体的なカバレッジ値を推定することと、決定される最適なポーズのセットに基づいて1つ以上のロボットの各ロボットについてのカバレッジ経路計画を生成することを含み、カバレッジ経路計画を生成することは、最適なポーズのセットに対応するセルの各セルにセンサ可視性コストを割り当てることを含む。
【0006】
別の実施形態では、カバレッジ経路計画のための自律移動ロボットのためのシステムが開示される。本システムは、命令を格納するメモリと、通信インターフェースを介してメモリに結合されるプロセッサとを含む。1つ以上のハードウェアプロセッサは、命令によって、1つ以上のセンサデバイスからセンサデータを受信するように構成され、センサデータは、所定の領域内の1つ以上のロボットに対応する情報を含み、所定の領域は、複数のセルに分割される。本システムは、受信するセンサデータに基づいて1つ以上のロボットについてのマップを生成するように更に構成され、マップは、所定の領域内の1つ以上のロボットによる複数のセルの各セルの起こりそうな占有を含む。本システムは、生成されるマップに基づいて1つ以上のロボットのポーズのセットを決定するように更に構成され、ポーズのセットおよび複数のセルは、可視性行列を形成し、可視性行列は、センサ観測結果の品質についてのインデックスを含む。本システムは、可視性行列に基づいてポーズのセットから最適なポーズのセットを決定するように更に構成され、最適なポーズのセットを決定することは、可視性行列内の各セルの全体的なカバレッジ値を推定することを含み、決定される最適なポーズのセットに基づいて1つ以上のロボットの各ロボットについてのカバレッジ経路計画を生成し、カバレッジ経路計画を生成することは、最適なポーズのセットに対応するセルの各セルにセンサ可視性コストを割り当てることを含む。
【0007】
更に別の実施形態では、1つ以上の非一時的な機械読取可能情報格納媒体が提供される。1つ以上の非一時的な機械読取可能情報格納媒体は、1つ以上の命令を含み、1つ以上の命令は、1つ以上のハードウェアプロセッサによって実行されるときに、1つ以上のセンサデバイスからセンサデータを受信することを引き起こし、センサデータは、所定の領域内の1つ以上のロボットに対応する情報を含み、所定の領域は、複数のセルに分割される。本方法は、受信するセンサデータに基づいて1つ以上のロボットについてのマップを生成することを更に含み、マップは、所定の領域内の1つ以上のロボットによる複数のセルの各セルの起こりそうな占有を含む。本方法は、生成されるマップに基づいて1つ以上のロボットのポーズのセットを決定することを更に含み、ポーズのセットおよび複数のセルは、可視性行列を形成し、可視性行列は、センサ観測結果の品質についてのインデックスを含む。本方法は、可視性行列に基づいてポーズのセットから最適なポーズのセットを決定することを更に含み、最適なポーズのセットを決定することは、可視性行列内の各セルの全体的なカバレッジ値を推定することと、決定される最適なポーズのセットに基づいて1つ以上のロボットの各ロボットについてのカバレッジ経路計画を生成することを含み、カバレッジ経路計画を生成することは、最適なポーズのセットに対応するセルの各セルにセンサ可視性コストを割り当てることを含む。
【0008】
前述の一般的な記述および以下の詳細な記載は、例示的かつ説明的であるにすぎず、特許請求されるような本発明を制限するものでないことが理解されるべきである。
【0009】
本開示に組み込まれ、この開示の一部を構成する、添付の図面は、例示的な実施形態を図示し、本記述と共に、開示の原理を説明するのに役立つ
【図面の簡単な説明】
【0010】
【
図1】本開示のいくつかの実施形態による、カバレッジ経路計画のための自律移動ロボットのためのシステムアーキテクチャを示している。
【0011】
【
図2】本開示のいくつかの実施形態による、領域のエージェント探索のグラフ表現を示している。
【0012】
【
図3】本開示のいくつかの実施形態による、2つの領域を同時に探索する複数のエージェントのグラフ表現を示している。
【0013】
【
図4】本開示のいくつかの実施形態による、領域の探索後の複数のエージェントのグラフ表現を示している。
【0014】
【
図5】本開示のいくつかの実施形態による、領域の探索後の複数のエージェントのグラフ表現を示している。
【0015】
【
図6】本開示のいくつかの実施形態による、ランダムピックアップ使用事例についてのフロー図を示している。
【0016】
【
図7】本開示のいくつかの実施形態による、
図6のランダムピックアップ使用事例の絵表現を示している。
【0017】
【
図8】本開示のいくつかの実施形態による、非構造化駐車場サーベイランス使用事例についてのフロー図を示している。
【0018】
【
図9】本開示のいくつかの実施形態による、カバレッジ経路計画のための自律移動ロボットのための方法900のフロー図を示している。
【発明を実施するための形態】
【0019】
例示的な実施形態は、添付の図面を参照して記載される。図において、参照番号の左端の数字は、参照番号が最初に現れる図を特定している。便利なときにはいつでも、同じ又は同様の部品を指すために、同じ参照番号が図面を通じて使用されている。開示する原理の例及び構成が本明細書に記載されるが、開示する実施形態の精神及び範囲から逸脱することなく、修正、適合、および他の実装が可能である。この明細書を通じて、「1つの実施形態」、「この実施形態」および類似の語句への言及は、その実施形態に関連して記載される特定の構成、構造または特徴が、1つ以上の実施形態のうちの少なくとも1つに含まれることを意味する。よって、この明細書を通じての様々な場所におけるこれらの語句の出現は、必ずしも同じ実施形態を言及するものでない。さらに、特別な構成、構造又は特徴は、1以上の実施形態において任意の適当な方法で組み合わせられてよい。以下の詳細な記述は、単に例示的なものとして考えられることが意図されており、真の範囲及び精神は、(明細書に含まれているときの)特許請求の範囲によって示されている。
【0020】
本開示の実施形態は、カバレッジ経路(適用範囲経路)(coverage path)計画のための異種の1つ以上の自律移動ロボット(autonomous mobile robots)に技術を提供する。スペース(空間)およびオブジェクト(物体)を探索する(explore)自律移動ロボットは、単一のロボットまたは複数のロボットの場合に未知の環境またはスペースまたはオブジェクトを探索するために協調される、多車両システムの重要な用途である。この技術は、検索(search)および救助(rescue)、故障検出(fault detection)およびモニタリング(監視)、場所特定(localization)およびマッピング(mapping)などのような、広範な用途を有する。本実施形態は全体的なタスク完了時間を減少させる方法およびシステムを提供し、統合情報は1つ以上のロボット間で共有され、自律車両が費やす時間および運動量およびエネルギコストは減少され、センサモデルは従来的な方法と比べて改良される。この技術は、ロボットに限定されるものでなく、駐車エリア内の自律自動車群、野外エリア内のドローン(無人機)、工場、探索ドローン並びにピックアンドドロップ(pick and drop)フォークリフトのための空きスポットを特定することのような、用途において機能することがある他の自律車両のためにも利用されることがある。
【0021】
本方法の実施形態は、可視性(visibility)の信頼(confidence)が所定の閾値よりも高いように、所定の領域がカバーされ、所定の領域内の各実現可能/可視セルがセンサによって見えるように、1つ以上のエージェント(agents)についてのカバレッジ計画を生成することによって前述の目的を達成する、方法およびシステムを提供する。マップまたは生データの形態の感覚情報を共有することによって、我々は、プロセスを最適化することができる、すなわち、時間を短縮したり或いはロボットが進む距離などを短縮したりすることができる。
【0022】
1つの実施形態において、自律ペイロードピック操作(operations)において使用される自律移動ロボットは、特定の範囲内の自律ペイロードを検出するための1つ以上のセンサデバイスを備えており、その範囲は、タスクに基づいてユーザ定義されるか或いは予め定められることがある。センサを検出する技術は、ペイロードがロボットによって検出されることがあるように、ロボットが最初にある場所に進む(navigate)ことを必要とする。本開示の実施形態は、完全な領域がセンサ視野(FOV)によってカバーされるように、目立つ領域(salient region)に経路を生成することによって場所を自律的に発見する技術的問題に対する方法およびシステムを提供する。ロボットは、カバーされる領域および経路を動的に更新し、環境内の障害物を理解しながら、領域を通じて進む。本開示の実施形態は、ユーザ定義された領域の外側の情報を取り込むセンサモデルを提供する。取り込まれる情報は、障害物のタイプ、オブジェクトの向き、オブジェクトの位置、オブジェクトの場所および同等のものを含むことがある。1つ以上のセンサデバイスによって取り込まれる情報は、センサデータとして格納され且つ共有される。取り込まれるセンサデータは、非バイナリ(非二値)(non-binary)であり、それによって、各々の取り込まれる画像に基づいた情報を提供する。各々の取り込まれる画像は、異なる向きを有してよく、各画像は、オブジェクトの可視性の信頼を向上させる。可視性の信頼の閾値がひとたび達成されると、センサデータは格納され、所与の領域内の複数のエージェント間で共有される。センサデータは、取り込まれる画像のタイプ、取り込まれる画像の向き及び位置、および取り込まれる画像の角度に関するフィードバックを連続的に提供し、それによって、グローバルマップの更新を容易にし、オブジェクトの可視性の全体的な信頼を向上させる。センサデータは、複数の向き、異なる角度、アイテム/オブジェクトが取り込まれる位置を持つ、複数のデバイスから受信される集約された情報である。センサデータは、観測に関する連続的なフィードバックを提供し、それによって、マップを動的に更新する。従来のシステムとは異なり、連続的なフィードバックを受信してマップを更新するプロセスは、各ポーズの測定値の最大の品質を保証する。予め定義された空間の探索およびオブジェクトの検索(サーチ)の間に、全てのペイロードのデータベースは、ペイロードの場所およびタイプを追跡し続ける。ひとたび探索が完了してデータベースが作成されると、それはペイロードピック操作および現在または将来の探索のためのブロードキャスト/共有情報のために使用されることができる。
【0023】
自律移動ロボットカバレッジ経路計画のための上述のシステム及び方法の詳細な記述が、
図1~
図9を参照して表される例示に関して示されている。
【0024】
次に、図面を参照すると、より具体的には
図1~9を参照すると、類似の参照符号は、図を通じて一貫して対応する構成を示すが、好ましい実施形態が示されており、これらの実施形態は、以下の例示的なシステムおよび/または方法の文脈で記載される。
【0025】
図1は、本開示のいくつかの実施形態による、カバレッジ経路計画のための自律移動ロボットのためのシステムアーキテクチャを示すブロック図である。システム100は、1人以上のユーザ110をグローバルノード106に接続するローカルネットワーク/クラウド102を含む。ローカルネットワーク/クラウド102は、ユーザの直接的な能動管理の有無にかかわらず、コンピュータシステムリソースのオンデマンド利用可能性を考慮することがある。ローカルネットワーク/クラウド102は、カバレッジ経路計画または軌道を生成し且つ格納する1つ以上のプロセッサおよびメモリを含む。1つの実施形態において、ローカルネットワーク/クラウド102は、本明細書で議論するように、カバレッジ経路計画または軌道を格納するデータベース、およびカバレッジ経路計画を生成するための関連データを含むことある。1つの実施形態において、システム100のアーキテクチャは、ロボット(または本明細書で言及するエージェント)間で重要な情報を共有することを可能にし、グローバルノードを有する。グローバルノードは、異なるソースからのデータを統合し、統合された情報をロボットに中継して戻す際に、重要な役割を果たす。本明細書において、自律移動ロボットは、エージェント、すなわち、エージェント1 112、エージェント2 114、・・・エージェントN 116と呼ばれる。システム100は、複数のロボット、例えば、エージェント112、エージェント2 114のような、異質な自律デバイスをサポートする。グローバルノード106は、ユーザ定義された領域の動的に生成されたグローバルマップを維持すること、および各エージェントからのローカルマップを統合し且つ共有することを可能にする。別の実施形態において、エージェントは、センサデータを公表し、グローバルノード106で統合し、全てのエージェントと共有される単一のグローバルマップのみが維持される。1つ以上のエージェントは、共有データベース104を使用して情報を連続的且つ動的に共有および統合することがある。生成されるローカルマップおよびグローバルマップは、連続的に更新され、共有データベース104を介して1つ以上のエージェントによってアクセスされる。無線ルータ108は、ローカルネットワーク/クラウド102を介して、1つ以上のエージェント、グローバルノード106、共有データベース104およびユーザ110の間の通信を容易にする。システム100およびそのコンポーネント(構成要素)の1つ以上の機能は、
図2~
図8に関してさらに詳細に記載される。
【0026】
図2は、本開示のいくつかの実施形態による、カバレッジ経路計画のための探索プロセスのフロー図を示している。フロー
図200は、所定の探索領域内の1つ以上のロボットのためのマップを生成する情報を含むセンサデータ202を含む。
図2に示すように、グローバルマップ206が、センサデータ202として1つ以上のセンサデバイスに格納される情報を使用して或いは個々のロボットの各々によって生成されるローカルマップ224を介して生成される。本開示のいくつかの実施形態によるセンサモデルは、ユーザ定義された領域の外側の情報も提供する。1つの実施形態において、1つ以上のセンサデバイスは、レーダであってよく、レーダは、予め定義された領域内の障害物に関する情報を取り込むことある。別の実施形態において、センサデバイスは、カメラであってよく、カメラは、1つ以上のロボットに関する情報、および予め定義された領域内のアイテム/オブジェクトに関する情報を取り込む。センサデータ202は、障害物アイテム/オブジェクト、アイテム/オブジェクトの向き、予め定義された領域内のアイテム/オブジェクトの位置に関する情報を含んでよい。取り込まれたセンサデータ202は、非バイナリである。換言すれば、センサデータ202は、見えるか見えないかのいずれかの情報のみを提供するバイナリ出力とは異なり、各々の取り込まれた画像に基づく情報を提供する。取り込まれた各画像は、異なる向きを有することがあり、各画像は、様々な視界角度に関する情報を統合することによってアイテム/オブジェクトの可視性(visibility)の信頼を向上させる。例えば、所望の閾値が特定のオブジェクトに設定され、異なる角度を持つ各々の取り込まれた画像は、観測結果の品質を示す値が割り当てられる。それが特定の定義された閾値をひとたび上回ると、観測結果の質が改良される。センサデータは、所与の領域内の複数のエージェント間で連続的に共有される。ここで、1つ以上のセンサデバイスによって行われたあらゆる画像又はあらゆる観測結果が更新され、各観測の確率が、1つ以上のエージェントの異なる向き及び位置によって改善される。センサデータ202は、アイテム/オブジェクトが取り込まれる複数の方向及び異なる角度を有する複数のデバイスから受信される集約情報である。センサデータ202は、観測結果についての連続的なフィードバックを提供し、それによって、マップを動的に更新する。連続的なフィードバックを受信してマップを更新するプロセスは、各ポーズの測定の最高品質を保証する。
【0027】
ある実施形態において、ロボットは、ロボットを取り囲む自由スペースの記述を提供し、最大感知範囲(RS:sensing range)内の障害物の境界を検出する、全方向性感覚システム(sensory system)を備える。各ロボットは、そのメモリに格納される情報を通信範囲(RC:communication range)内でいつでもブロードキャストしてよい。情報ブロードキャストは、任意の情報であってよく、カバレッジプランナ情報、障害物情報も含み、ロボットは、通信範囲内に位置する隣接ロボットを含む全てのロボットから相対位置を受信するために常にオープンである。通信範囲は、感知範囲よりも大きく、故に、情報は、ロボットの最小運動で領域探索タスクを加速するために、通信範囲内のロボット間で動的かつ連続的に共有される。例えば、ロボットがその最初の動きを計画するためには、全経路情報が必要とされないことがあり、故に、全ナビゲーション時間を最小にするために、領域からの最初の数セルに関する情報が生成されてよく、全経路は、各ロボットが進行(ナビゲーション)を進めるにつれて更新されてよい。これは、初期経路が提供される前にロボットの各々についての待ち時間短縮を確実にする。さらに、記載するような本方法は、経路プランナ(path planner)が領域のサブセットのみを有する経路を生成することを可能にする。
【0028】
次に、センサデータ202は、グローバルマップ206(global maps)およびサブマップ208(submaps)を生成するために使用される。グローバルマップは、領域204Aの衝突マップ(collision map)および/またはカバレッジマップ(coverage map)を含む。1つの実施形態において、衝突マップは、予め定義された所定の領域全体をカバーするセルの離散化されたセットである。衝突マップは、複数のセル中の各セルが占有されている確率を決定する。衝突マップは、物理的にセル内に存在するエージェントの実現可能性(feasibility)を決定し、閉塞(occlusions)を説明することによってセルの可視性を計算する。衝突マップは、観測可能な環境を増加させ、複数のエージェント上の1つ以上のセンサデバイスからのそのような情報を利用するために、複数のエージェント間で共有されてもよい。さらに、1つ以上のセンサデバイスからのあらゆる新しい観測結果が、ベイズ則を使用するセンサモデルに基づいてセルの確率を更新することによって、衝突マップに追加される。1つの実施形態において、カバレッジマップは、グローバルマップ206の一部として生成される。カバレッジマップは、空間的に領域のカバレッジ上の1つ以上のセンサデバイスによって行われた観測結果を含み、従って、どれぐらいの領域が1つ以上のロボットによってカバーされるかの表現を提供する。カバレッジマップは、離散化されたセルを使用しても表現され、離散化されたセルの各々は、各セルについての観測結果の質を決定する。カバレッジマップは、複数のロボット間で共有されてもよく、品質推定値は、1つ以上のロボット上の1つ以上のセンサデバイスからの観測結果を使用して更新される。1つの実施形態では、複数のロボットからのロボットの各々についてのサブマップ208が存在してもよい。
【0029】
本開示の実施形態は、グローバルポーズサンプラ212(global pose sampler)を提供する。グローバルポーズサンプラ212は、ロボットが占有する空間領域であるロボットの幾何形状および衝突マップを使用して、1つ以上のロボットのポーズの実現可能なセットを計算する。一実施形態において、複数のロボットからの各ロボットは、ローカルポーズサンプラ226(local pose sampler)を有してよく、或いはグローバルノード上で動作する共通ポーズサンプラ、例えば、グローバルポーズサンプラ212を共有してよい。ローカルポーズサンプラ226は、ロボットの指定された領域内で実現可能なポーズを生成する一方で、グローバルサンプラ212は、全体的な結合された領域、例えば、領域204Bについてのポーズを生成する。複数のロボットは、不均一であることがあり、異なる幾何学的表現を有することがあるので、一例において、実現可能性は、実現可能なポーズの共通セットがロボット間で共有されるように、保守的な幾何学を使用して計算されることがある。別の例において、実現可能性は、領域結合されたロボット幾何学的形状を使用して計算されてもよい。この例において、ロボットの各々に割り当てられた領域が仮定され、従って、ロボットの各ロボットの幾何学的形状が割り当てられた領域に関連付けられてよい。この例において、実現可能なポーズ(姿勢)は、各セルの空間的場所に基づいて計算される。本開示の実施形態は、グローバルポーズサンプラ212によって生成される各ポーズの表現も提供する。
【0030】
1つの実施形態では、センサ観測結果によって実現可能な領域を完全にカバーするために、ポーズサンプラによって生成される各ポーズは、カバレッジの効果を知るために表現される必要がある。本方法は、カバレッジマップ内の各セルにインデックス(指標)を割り当てることによって前述の目的を達成するために可視表現を提供する。然る後、セルインデックスを表現する行(rows)とポーズを表す列(columns)とを有する行列(matrix)が形成される。この行列中の各要素は、複数のセルについての特定のポーズから作られる観測結果の質の推定値を表す。品質推定値は、センサモデルに基づいている。例えば、センサデバイスがカメラであるならば、カメラの視野内のセルは、非ゼロ品質を有する。1つ以上のロボットが物体を探索している場合、画像内のオブジェクトの位置、画像内のオブジェクトのサイズなどが、その観測結果の全体的な質を推定するために使用されてよい。可視性行列は、生成される実現可能なポーズのセットから最適なポーズのセットを決定することを可能にする。各ポーズの実現可能性を計算する一方で、複数のセンサおよび複数のエージェントからの観測結果を考慮してより良好な結果を提供することがあるように、グローバルポーズサンプラ212上で実行することが有利である。生成されたポーズが可視性行列を使用してひとたび表現されると、ポーズは全体的なカバレッジ値を達成するためにさらに最適化される。
【0031】
1つの実施形態では、グローバルオプティマイザ214(グローバル最適化装置)(global optimizer)が、ポーズ、すなわち、可視性行列について2ステップの最適化を実行する。第1のステップにおいて、グローバルオプティマイザ214は、ポーズの最適セットを計算し、第2のステップにおいて、グローバルオプティマイザは、ポーズを訪れる最適な順序を計算する。然る後、可視性行列を使用して、特定の閾値を上回る各セルの全体的なカバレッジ値が決定される。全体的なカバレッジ値は、最小要素を有するセルのセットを得るための線形プログラムとして定式化されてよい。さらなるプルーニング操作(pruning operations)を実行して、外来のポーズを除去してよい。ポーズの最適なセットがひとたび生成されると、グローバルオプティマイザ214は、これらのポーズを訪れる順序を計算する。ある実施形態において、ポーズの順序は、距離、例えば、自由空間におけるユークリッド距離のように、最適化される必要があるメトリックを使用して、移動セールスマン問題(Travelling salesman problem)として定式化されてよい。別の実施形態において、グローバルオプティマイザ214は、ロボットの運動学的制約および実現可能性を説明するグローバルプランナからの推定される距離を使用してよい。推定される距離を介して最適化されたセットを計算する方法は、ロボットに近いポーズを単に優先するのではなく、ロボットが移動する必要があることがある距離に基づいてポーズに優先順位を付けることを可能にする。例えば、自律車両について、2mだけ後ろに移動することは、1mだけ横方向に移動することに比べて、より少ない時間および労力を消費することがある。本開示の実施形態は、グローバルオプティマイザ214およびローカルオプティマイザ228の両方を提供する。ローカルオプティマイザ228は、エージェントに特有な作動を行うが、グローバルオプティマイザ214と同様の方法で作動する。例示的な実施形態では、ローカルポーズサンプラ226を使用する間に、前述の最適化の両方のステップが局所的に実行されてよい。一方、グローバルポーズサンプラ212を使用するときに、第1のステップにおいて、ポーズの最適なセットを計算することは、(
図1に記載するように)グローバルノードによって実行されてよい。ポーズの最適なセットがひとたび生成されると、そのセットは、ローカルオプティマイザ228で局所的に第2のステップを実行するために、指定された領域に基づいてエージェントに分配されてよく、或いは、グローバルオプティマイザ214で各エージェントについて全体的に実行されてよい。優先順位に基づいて、グローバルオプティマイザ214で最適化されたポーズは、エージェントと共有される。前述の方法は、情報を共有するために使用されるアプリケーションおよび/またはインフラストラクチャに依存することがある。
【0032】
本開示の実施形態は、グローバルノードと複数のエージェントとの間で情報を分離し且つ集約するためのローカルコントローラ218を提供する。ローカルコントローラ218は、複数のエージェントからの情報を共有することを可能にし、グローバルノードで集める。ローカルコントローラ218は、異なるソースからのデータの統合および複数のエージェントに情報を中継して戻すことを容易にする。例えば、複数のエージェントからの各エージェントからのローカルマップは、グローバルマップと共に共有および統合され、グローバルノードによって維持されてよい。別の例において、1つ以上のロボットは、グローバルノードで統合されることがあるセンサデータ202を公開してよく、複数のエージェントに中継される単一のグローバルマップのみが維持される。1つの実施形態において、実現可能な候補ポーズを生成するためにグローバルポーズサンプラ212が使用されるならば、グローバルポーズサンプラ212は、グローバルマップ206からの情報を使用する。候補ポーズがひとたび生成されると、それらは指定された領域場所に基づいて分割され、それぞれのエージェントに割り当てられる。別の実施形態では、ローカルオプティマイザ228が、複数のエージェントの中からエージェントの各々によって使用されてよい。別の実施形態では、最適化がグローバルノードによって実行されるならば、各エージェントについて最適化を実行する代わりに、全てのポーズを一緒に組み合わせられてよい。これはあらゆる領域のために分離される全体的に最適なセットのポーズを生成するのに役立つ。これらのポーズは、直接的に或いはポーズの優先順位を計算するための第2の最適化のステップの後にエージェントに中継されることができる。ローカルコントローラ218は、特定のシナリオにおいてカバレッジ経路計画の再計画(replanning)もトリガする。本開示の実施形態は、そのような特定のシナリオにおいてグローバル再計画装置トリガ220(global replanner trigger)のためのグローバル再計画装置210またはローカル再計画装置トリガ230(local replanner trigger)のためのローカル再計画装置224を提供する。
【0033】
1つの実施形態において、探索が実行される環境は動的であってよく、1つ以上のエージェントは、1つ以上のセンサデバイスから環境の新しい情報を連続的に取り込んでいる。特定のシナリオでは、エージェントによって実行されている計画が実現不可能になることがある場合があることがある。現在の計画が1つ以上の要因の故に実現不可能になると、ローカルコントローラ218は、ローカル再計画装置224またはグローバル再計画装置210をトリガする。本開示の実施形態は、計画が実現不可能になるならば、1つ以上のアプローチを提供する。1つの実施形態において、現在の計画が実現不可能になるときに、エージェントは、優先リストから次の実現可能なポーズを選択してよく、最終目標が達成されるまで継続してよい。このアプローチは、必要とされる再計画計算の数を減らす。別の実施形態において、再計画装置は、局所目標に到達した後に或いは解決策の品質を向上させるために可視性に特定の進展があった後に、再計画装置がトリガされてよい。本システムは、候補ポーズでの可視性を計算するが、1つのポーズから別のポーズへ移動する間に、カバレッジマップも同時に更新されるようになり、故に、カバーされていないセルは、常に、最適化の間に使用されるセル以下である。
【0034】
図3は、本開示の幾つかの実施形態による、領域のエージェント探索のグラフ表現を示している。
図3の300に示すように、ユーザ定義された領域302は、単一のロボット、本明細書ではエージェント310の探索のために考慮される。領域302(region)は、可視的なセル306と、障害物312の他の側にあるセルとに分割される。障害物304(obstruction)は、2つの領域、すなわち、可視的な領域および閉塞領域のような他の領域を分離するライン(線)によって示されている。センサ308によってカバーされるエリア(area)は、円錐によって示され、領域302内の各セルの可視性は、各セルに割り当てられるコストに基づく。例えば、センサ視野308内の最も暗いセルに割り当てられたコストは、最も高い信頼を示す。ここで、値またはコストは、信頼の尺度として、各セルに割り当てられてよい。最も高い値/コストを有するセルは、セルの可視性がエージェント310について高いことを示す。例示的な実施形態において、各セルの陰影は、所定の信頼閾値を決定する。信頼閾値に基づいて、領域302内の各セルの可視性が決定される。例えば、エージェント310によって覆われた(すなわち、見える或いは可視的な)領域は、障害物304内にある。エージェント310によって覆われる領域は、割り当てられたコストに基づいたカバレッジ計画のために使用される。センサによって観測される領域の各々には、領域の各々の領域の観測結果の信頼を決定する閾値および値が割り当てられる。
【0035】
図4は、本開示のいくつかの実施形態に従った、2つの領域を同時に探索する複数のエージェントのグラフ表現を示している。
図4に示すように、2つのエージェント、すなわち、エージェント1 402は、ビューの領域(region of view)、すなわち、領域1 408を探索し、エージェント2 404は、ビューの領域、すなわち、領域2 406を探索する。エージェント1 402は、ライン405(障害物)内の領域をカバーする。可視性の領域内の各セルは、可視性の信頼を示している。換言すれば、可視性の領域内のより暗いセルは、エージェントにより近く、より明るいセルは、エージェントからより遠く、白色セルは、可視性のないセル(すなわち、ライン405を越えるまたは障害物の他の側にあるセル)である。同様に、エージェント2 404も、
図4に示すように、可視性の信頼によって表されている。ここで、2つのエージェントは、定義された領域を同時に探索し、各ロボットが定義されたナビゲーション経路を進行するにつれて探索される領域に基づいて情報を動的にブロードキャストしている。例えば、エージェント2 404は、エージェント1には見えない領域2に関連する情報をブロードキャストしており、それによって、通信およびセンサ範囲内のロボットの探索の各々の進展を更新している。ブロードキャスト情報は、現在または将来の探索のために、他のエージェントによって共有され且つ使用されることがある。本方法は、領域をカバーするのに要する時間を短縮し、ロボットによる運動の量を低減し、領域を見逃しない状況または領域を検出しない状況を低減する。何故ならば、各エージェントは、センサからの情報またはフィードバックを動的に使用しているからである。
【0036】
ある例において、エージェントは、単一の自律車両または複数の異種の自律車両であってよい。別の例において、エージェントは、より少ない時間でより多くの領域をカバーするために、1つ以上のタイプのセンサデバイス/センサビューを使用してよい。本開示の実施形態は、前述の技術的解決策を達成するために、障害物情報を共有する並びに可視性の領域に関する特定の情報を共有するシステムおよび方法を提供する。
【0037】
図5は、本開示のいくつかの実施形態による、領域の探索後の複数のエージェントのグラフ表現を示している。上述のように、エージェント、例えば、エージェント1 502とエージェント2 504との間で共有される情報は、ユーザ定義された領域の完全なエリアをカバーする。
図4に示すように、エージェント1 502とエージェント2 504との間で共有される特定の情報の故に、エージェント1 502のライン503を越える領域がカバーされる(白色セルがない)。ライン503を越える領域または障害物を越えるエリアが見えないとしても、共有される情報は、探索のプロセスを加速し、信頼閾値に基づく可視性の精度を向上させる。
【0038】
図6は、本開示のいくつかの実施形態による、ランダムピックアップ使用事例についてのフロー図を示している。
図6のフロー
図600は、1つ以上のエージェントを使用するユーザ特定された領域からアイテムを検索してピックアップし、それらを指定されたドロップ(落下)場所にドロップ(落下)させるテスト事例を示している。1つの実施形態では、602で、探索領域(region of exploration)およびエージェントが、ユーザ(例えば、倉庫提携者(warehouse associate))によって定義されてよい。別の実施形態において、探索領域は、ロボットに割り当てられるタスクに基づいて予め決定され、自動的に更新されてよい。探索は、単一のロボットまたは複数のロボットの場合があってよい。604で、探索のためのユーザ定義された領域は、1つ以上のエージェントから各エージェントに割り当てられる。探索タスクは、単一のロボットまたは複数の異種のロボットの場合があってよい。
図6に示すように、探索タスクは、領域610を探索するために608でロボット1に割り当てられ、領域614を探索するために612でロボットNに割り当てられる。ロボット1およびロボットNは、ユーザ定義された領域602の入口ポイントに位置付けられる。更に、複数のロボット、この場合には、ロボット1およびロボットNは、互いの間で情報を通信し且つブロードキャストするために、データベース606を共有する。センサデータは、上述のような本開示の1つ以上の実施形態に従って、指定された場所でピックアップおよびドロップされるオブジェクト/アイテムに関する情報を生成するために使用される。情報は、オブジェクトの異なる向き及び位置、オブジェクトの種類、オブジェクトの場所、ローカルマップ及びグローバルマップを使用して生成されたポーズ等を含むことがある。1つの実施形態において、ロボットは、ロボットを取り囲む自由空間の記述を提供し、最大感知範囲(RS:sensing range)内の障害物の境界を検出する、全方向性感覚システムを備える。各ロボットは、そのメモリに格納された情報を通信範囲(RC:communication range)内でいつでもブロードキャストしてよい。ブロードキャストされる情報は、任意の情報であってよく、カバレッジ計画装置情報、障害物情報も含む。ロボットは、通信範囲内に位置する隣接ロボットを含む他のロボットから相対位置を受信するために常にオープンであり、例えば、ロボットNは、ロボット1の通信範囲内にあってよい。通信範囲は、感知範囲よりも大きく、故に、情報は、ロボットの最小運動で領域探索タスクを加速するために、通信範囲内のロボット間で動的且つ連続的に共有される。
【0039】
1つの実施形態において、オブジェクトの生成されたポーズは、
図2に記載されるように最適化され、ドロップされるべき物体は分離される。例えば、定義された領域にドロップされるべきオブジェクトは、異なるタイプ、例えば、木製パレット、プラスチックパレット、金属アイテム等を含んでよい。616で、検出されたオブジェクトは、共有データベース606内に格納された情報、例えば、センサデータのような情報に基づいて、分類(クラス)によって分離される。分類616によって分離されたオブジェクトは、618でドロップ場所を割り当てられ、指定された場所でドロップさせるようにピックアップされる。異なるタイプのポーズがマークされ、620でオブジェクトをパッケージングすることによってドロップポーズを生成することによって、ポーズのタイプに基づいて配置される。例えば、本明細書において、パッケージングは、指定された領域が効率的に使用されるように、指定された領域内に配置/ドロップされる複数のオブジェクトの最適な幾何学的構成を見出すことを意味する。1つの実施形態において、配置されたドロップポーズは、624でロボット1によって並びに626でロボットNによってドロップタスク割り当てを実行するために使用される。ドロップ割り当ては、宛先場所に割り当てられた全てのオブジェクトが指定された場所でピックされ且つドロップされるやいなや完了する。前述のプロセスは、新しいオブジェクトが定義された領域628内で検出されなくなるまで繰り返される。繰り返しサイクルは、オブジェクトが閉塞または障害物の故に見逃されないことも確実にする。
【0040】
図7は、本開示のいくつかの実施形態による、
図6のランダムピックアップ使用事例の絵表現を示している。
図7に示すように、定義された領域内の2つのエージェントは、ピックアップおよびドロップ場所のための領域が割り当てられたP1およびP2である。エージェントP1は、ピックアップ領域R1およびドロップ場所D1を割り当てられる。同様に、エージェントP2は、ピックアップ領域R2とドロップ位置D2が割り当てられる。実現可能なポーズサンプルのセットおよびこれらのポーズサンプルの最適化に基づいて、エージェントP1およびP2は、定義された領域内を進行(ナビゲート)し、領域R1およびR2のためのアイテムをそれぞれ選択する。障害物は、領域内のアイテムのピックアップおよびドロップが衝突することなく実行されるように、グローバルノードまたはローカルノードで捕捉される。
【0041】
図8は、本開示のいくつかの実施形態による、構造化されていない駐車場サーベイランス使用事例についてのフロー図を示している。
図8のフロー
図800は、1つ以上のエージェントを使用して、構造化されていない駐車場内の占有された場所および占有されていない場所についての検索を示している。車両が検出されるならば、ローカル目標を生成して、車両のナンバープレート情報または他の関連メタデータを識別し、データベースを維持する。1つの実施形態では、802で、探索領域およびエージェントがユーザによって定義される。別の実施形態において、探索領域は、ロボットに割り当てられるタスクに基づいて予め決定され、自動的に更新されてよい。探索は、単一のロボットまたは複数のロボットの場合があってよい。804で、探索のためのユーザ定義された領域は、1つ以上のエージェントから各エージェントに割り当てられる。探索タスクは、単一のロボットまたは複数のロボットの場合があってよい。
図8に示すように、探索タスクは、車両が検出されるまで領域を探索するために806でロボット1に割り当てられ、車両が検出されるまで領域を探索するために612でロボットNに割り当てられる。ロボット1およびロボットNは、ユーザ定義された領域802の入口ポイントに位置付けられる。さらに、複数のロボット、この場合には、ロボット1およびロボットNは、互いの間の通信およびブロードキャスト情報のために、データベース810を共有する。共有される情報は、車両の種類、駐車場所、ナンバープレートに関する情報等を含む。車両は、任意の場所から検出されることがある。車両がひとたび検出されると、関連するメタデータが収集されるように、ローカル目標が生成される。そのローカル目標は、ナンバープレートを検出することがあるポーズであってよく、或いは、メタデータが車両等の3D再構成であるならば、一連の目標であってよい。感覚情報が共有されるので、3D再構成を行うために、複数のエージェントが使用されてよい。現在の使用事例における探索プロセスは、車両が検出されるまで繰り返される。車両がナンバープレート情報でひとたび検出されると、探索プロセスは完了する。ここで、ローカル目標は、ナンバープレートが見えるようにポーズのセットを生成することを含んでよい。さらに、検出される車両に関する情報は、812でメタデータとして収集される。収集されるメタデータおよびローカル目標に基づいて、ローカル目標は、814で達成され、然る後、全てのロボットが改良されたローカル目標にアクセスし且つ生成するために、データベース816内に公表され且つ格納される。
【0042】
図9は、本開示のいくつかの実施形態による、カバレッジ経路計画のための自律移動ロボットのための方法900のフロー図を示している。方法900は、コンピュータ実行可能命令の一般的な文脈において記載されることがある。一般に、コンピュータ実行可能命令は、特定の機能を実行するか或いは特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、機能等を含むことができる。方法900は、機能が通信ネットワークを通じてリンクされる遠隔処理デバイスによって実行される分散コンピューティング環境において実施されることもある。方法900が記載される順序は、制限として解釈されることを意図されておらず、任意の数の記載される方法ブロックは、方法900または代替的な方法を実装するために任意の順序で組み合わされることができる。さらに、方法900は、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにおいて実装されることができる。ある実施形態において、フローチャートに示される方法900は、システム、例えば、
図1のシステム100によって実行されてよい。
図9の方法900は、
図1~
図5を参照して記載される。
【0043】
図9を参照すると、図示の実施形態において、方法900は、902で開始され、その場合、方法は、1つ以上のセンサデバイスからセンサデータを受信することを含む。センサデータは、所定の領域内の1つ以上のロボットに対応する情報を含む。所定の領域は、複数のセルに分割される。1つの実施形態において、所定の領域は、ユーザ定義されてよく、或いはアプリケーション依存的であってよい。1つ以上のロボットに対応する情報は、複数のセルを含む所定の領域内の1つ以上のロボットのセンサ視野を含んでよい。例えば、センサ視野は、所定の領域内の1つ以上のロボットの位置、1つ以上のロボットの向き及び位置、1つ以上のロボットの1つ以上の視点等を含む。
図3に示すように、視野は、エージェント(またはロボット)に対応し、その視野内の1つ以上のセルは、1つ以上のセンサデバイスによる測定/観測の品質を決定する。本実施形態によるセンサモデルは、非バイナリ(非二値)である。従って、方法は、センサデータから受信するフィードバックに基づいてカバレッジ経路を更新する。フィードバックは、1つ以上のセンサデバイスによって取り込まれる各観測の品質を含んでよい。例えば、ロボットの視点の第1の観測の品質は、20であってよく、第2の観測の品質は、第1の観測と異なる角度にある40であってよく、統合された第1の観測と第2の観測との組み合わせは、1つ以上のセンサデバイスによって行われる観測の全体的な信頼を高める。同様に、引き続きの観測は、特定の閾値を上回る観測の品質の値が増加させることがある。ここでは、ログ奇数モデルを適用して、センサデバイスによって行われる全ての観測の確率を更新し、それによって、観測の全体的な品質を増加させてよい。センサデータは、ある時間期間に亘って複数のロボットおよび複数のセンサデバイスによって集約されてよい。また、センサデータは、新しい観測が行われるにつれて或いは新しい観測が行われるときに動的に更新される。センサデータは、1つ以上のロボットに対応するマップを生成するのに役立つ。
【0044】
904で、本方法は、受信したセンサデータに基づいて1つ以上のロボットのためのマップを生成することを含む。マップは、所定の領域内の1つ以上のロボットによる複数のセルのそれぞれの起こりそうな占有を含む。生成されるマップは、所定の領域全体をカバーする離散化されたセルのセットを表す、各セルが占有される確率を表すことがある。生成されるマップは、ロボットがセル内に物理的に存在する実現可能性も表し、閉塞を説明することによってセルの可視性を計算する。マップは、観測可能な環境を増加させ、1つ以上のロボット上のセンサからの情報を利用するために、異なるエージェント間で共有されてもよい。さらに、1つ以上のセンサデバイスからの任意の新しい観測値が、ベイズ則を使用してセンサモデルに基づいてセルの確率を更新することによって、生成されたマップに追加される。本方法の実施形態は、カバレッジマップも生成する。カバレッジマップは、所定の領域をカバーする1つ以上のセンサデバイスによって行われる観測を含む。換言すれば、マップは、ある領域がセンサデバイスによってどれぐらいカバーされているかを表す。マップは、各セルの観測の品質を決定する離散化されたセルを使用して、衝突マップと同様の方法でも表される。カバレッジマップは、複数のエージェント間で共有され、品質推定値は、複数のエージェント上のセンサからの観測値を使用することによって更新される。衝突マップは、ポーズサンプラが1つ以上のロボットのポーズの実現可能なセットを生成することを可能にする。
【0045】
906で、本方法は、生成されるマップに基づいて1つ以上のロボットのポーズのセットを決定することを含む。ポーズのセット及び複数のセルは、可視性行列を形成する。可視性行列は、カバレッジマップ内の各セルにセンサ観測の品質についてのインデックス(指標)を割り当てることによって作成される。可視性行列は、複数のセルを表す行(rows)と、ポーズのセットを表す列(columns)とを含む。
図2に記載するように、ポーズサンプラは、ロボットが占有する空間領域であるロボットの幾何学的形状および衝突マップを使用して、ポーズの実現可能なセットを計算する。例えば、各エージェントは、それ自体のローカルポーズサンプラを有するか、或いはグローバルノード上で動作している共通のポーズサンプラを共有することができる。ローカルポーズサンプラは、ロボットの指定された領域内の実現可能なポーズのみを生成する一方で、グローバルサンプラは、組み合わされた全ての領域に亘ってポーズを生成する。ロボットは異種であることがあり、異なる幾何学的表現を有することあるので、ポストの実現可能性は、共通の実現可能なポーズのセットがロボット間を共有できるように、殆ど保守的な幾何学的形状を使用して計算される。別の例では、領域結合されたロボット幾何学的形状が使用されてよい。これは複数のセルからの各セルの空間的場所に基づいて実現可能なポーズを計算することを可能にする。
【0046】
1つの実施形態では、センサ観測によって実現可能な領域を完全にカバーするために、ポーズサンプラによって生成される各ポーズは、カバレッジの効果を知るために表現される必要がある。本方法は、カバレッジマップ内の各セルにインデックスを割り当てることによって、前述の目的を達成するための可視的な表現を提供する。然る後、セルインデックスを表す行とポーズを表す列とを有する行列が形成される。この行列中の各要素は、複数のセルについての特定のポーズから作られる観測の品質の推定値を表す。品質推定は、センサモデルに基づく。例えば、センサデバイスがカメラであるならば、カメラの視野内のセルは、非ゼロ品質である。1つ以上のロボットが物体を探索している場合、画像内のオブジェクトの位置、画像内の物体のサイズ等を使用して、その観測の全体的な品質を推定してよい。可視性行列は、生成された実現可能なポーズのセットから最適なポーズのセットを決定することを可能にする。
【0047】
908で、本方法は、可視性行列に基づいてポーズのセットから最適なポーズのセットを決定することを含む。最適なポーズのセットは、可視性行列内の各セルの全体的なカバレッジ値を推定することを含む。1つの実施形態において、最適化は、2つのステップにおいて、すなわち、第1に、最適なポーズのセットを計算することによって、第2に、ポーズを訪れる最適な順序を計算することによって、実行される。例えば、可視性行列を使用して、特定の閾値を上回る各セルの全体的なカバレッジ値を達成する目的を有する最適化解(optimization solution)が定式化される。目的は、最小要素を有するセルのセットが達成されるように、線形プログラムとして定式化されてよい。さらなるプルーニング操作を行って、外来のポーズを除去してもよい。最適なポーズのセットがひとたび生成されると、これらのポーズを訪れる順序が計算される。最適なポーズのセットの順序は、自由空間におけるユークリッド距離またはロボットの運動学的制約を実現可能性と共に説明するグローバル計画装置からの推定される距離のいずれかを使用して計算される。これは、近いポーズに優先順位を付けるだけの代わりに、ロボットが実際に移動する必要がある距離に基づいて、ポーズに優先順位を付けることを可能にする。最適なポーズのセットは、1つ以上のロボットの各々についてカバレッジ経路計画を生成するために使用される。
【0048】
910で、本方法は、決定された最適なポーズのセットに基づいて、1つ以上のロボットの各々についてカバレッジ経路計画を生成することを含む。カバレッジ経路計画は、最適なポーズのセットに対応するセルの各セルにセンサ可視性コスト(visibility cost)を割り当てることを含む。これらのポーズは、直接的にロボットと共有されることができ、或いはポーズの優先順位を計算するための最適化の第2のステップの後に共有されることができる。カバレッジ経路は、セルのセットとして表され、各セルは、センサ可視性コストを対数確率(log odds)として表す。カバレッジ領域の可視性コストは、(
図2に記載のように)上述のセンサモデルに基づいて反復的に更新される。これは、高品質の観測がセンサで行われるような目標ポーズを生成するのを助ける。最適なポーズのセットは、全てのセルが所望の閾値よりも高い可視性コストを有するように、視点コスト(viewpoint cost)を最小限に抑える。また、カバーされるべき所定の領域は、センサの視野を閉塞したり或いはナビゲーションを制限したりすることがある障害物を含むことがあり、故に、最適化は、反復的に行われる。複数のロボットについて、カバレッジ領域コストマップは、ロボット間で共有され、グローバル最適化機能は、集中化された計画の場合に最適な視点のセットを生成するために、組み合わされた全ての領域について共同で実行される。これらの視点は、各ロボットに指定されたナビゲーション領域に基づいてロボット間で分散される。次に、各ロボットは、最適な方法で全ての視点を訪問するための独自の計画を生成する。
【0049】
本開示の実施形態は、センサ測定モデルを説明しながら、領域をカバーするために要する経路長/時間およびセンサによって行われる観測の品質を最小限に抑えることに焦点を当てる、カバレッジ計画技術を提供する。観測の品質は、さらなる操作のためにオブジェクトを検索し、オブジェクト状態を推定する際に、非常に重要となる。例えば、
図2~
図4に示すように、ロボットまたはエージェントによるカバレッジ領域は、セルのセットとして表され、各セルは、センサ可視性コストを対数確率として表す。各視点のセンサ可視性コストは、視野内のエッジ/表面に対する法線の関数である。従来、フロンティア、すなわち、未探索領域の境界を覆うポーズが使用される。本実施形態において、センサによる状態推定の不確かさ/品質は、アクティブにまたはアプリオリにモデル化される。また、カバレッジ領域の可視性コストは、上述のセンサモデルに基づいて反復的に更新される。これは、高品質の観測がセンサで行われるように、目標ポーズを生成するのを助ける。本方法の最適化目的は、全てのセルが所望の閾値よりも高い可視性コストを有するように、視点コストを最小限に抑えることである。カバーされるべき領域は、センサの視野を閉塞したり或いはナビゲーションを制限したりすることがある障害物を含むことができ、故に、最適化は、反復的に実行される。
【0050】
本方法の実施形態は、現在のカバレッジ計画を再計画する方法も提供する。本方法は、生成されたカバレッジ経路についての再計画を開始することを含む。再計画は、ポーズのセットから次のポーズを選択することと、ポーズのセットからの次のポーズに基づいて1つ以上のロボットの各ロボットについての新しいカバレッジ経路を生成することとを含む。例えば、特定のシナリオでは、エージェントによって実行されている計画が実現不可能になる場合がある。1つ以上の要因の故に現在の計画が実現不可能になるとき、ローカルコントローラは、ローカル再計画装置またはグローバル再計画装置をトリガする。本開示の実施形態は、計画が実現不可能になるならば、1つ以上のアプローチを提供する。1つの実施形態では、現在の計画が実現不可能になるとき、エージェントは、優先順位リストから次の実現可能なポーズを選択し、最終目標が達成されるまで継続してよい。このアプローチは、必要とされる再計画計算の数を減少させる。別の実施形態において、再計画装置は、ローカル目標に到達した後に、或いは解決策の品質を改良するために可視性における特定の進展があった後に、システムまたはユーザから受け取るフィードバックに基づいてトリガされてよい。
【0051】
本開示の実施形態は、当該技術分野において従来知られている問題に対する1つ以上の技術的解決策も提供する。例えば、本方法は、オブジェクトの情報を取り込む問題を2つの部分に分割し、最適な視点のセットおよび視点を通じて経路計画を生成する。視点のセットは、グローバルに計算され、次に、集中化されたシナリオで分散される。分散された計画の場合には、カバレッジ領域コストマップのみが共有される一方で、計画は、各エージェント内でローカルに行われる。加えて、集中化された計画の場合には、最適な視点セットを生成するために、最適化機能が組み合わされた全ての領域について共同で実行される。視点は、各ロボットに指定されたナビゲーション領域に基づいてロボット間で分散される。次に、各ロボットは、最適な方法で全ての視点を訪問するよう、その独自の計画を生成する。分散された計画の場合、計画の非同期性のために、何らかの部分最適性(suboptimality)が導入される。さらに、カバレッジ領域コストマップを共有することは、領域自体に入ることなく他のエージェントのセンサによってのみアクセス可能である領域をカバーすることを可能にする。センサデータは、取り込まれた画像のタイプ、取り込まれた画像の向き及び位置、並びに取り込まれた画像の角度に関するフィードバックを連続的に提供し、それによって、グローバルマップの更新を容易にし、オブジェクトの可視性の全体的な信頼を向上させる。ここで、1つ以上のセンサデバイスによって行われるあらゆる画像またはあらゆる観測が更新され、各観測の確率が異なる向きで改善される。センサデータは、アイテム/オブジェクトが取り込まれる異なる角度、複数の向きおよび位置を有する、複数のデバイスから受信される、集約情報である。センサデータ202は、観測結果についての連続的なフィードバックを提供し、それによって、マップを動的に更新する。連続的なフィードバックを受け取ってマップを更新するプロセスは、各ポーズの測定値の最高品質を保証する。
【0052】
いくつかの実施形態によれば、実際の実装は、他の方法で配置された1つ以上のコンポーネント(構成要素)を含んでよい。他のトポロジー(topologies)が、他の実施形態と共に使用されてよい。その上、本明細書に記載する各コンポーネントまたはデバイスは、任意の数の他の公衆および/または私設ネットワークを介して通信する任意の数のデバイスによって実装されてよい。そのようなコンピューティングデバイスのうちの2つ以上は、互いから遠隔に配置されてよく、プロトコルの任意の知られている方法および/または専用接続を介して互いに通信してよい。各コンポーネントまたはデバイスは、本明細書に記載する機能および任意の他の機能を提供するのに適した任意の数のハードウェアおよび/またはソフトウェア要素を含んでよい。例えば、いくつかの実施形態によるシステムの実装において使用される任意のコンピューティングデバイスは、コンピューティングデバイスが本明細書に記載するように動作するようにプログラムコードを実行するためのプロセッサを含んでよい。
【0053】
本明細書に記載する全てのシステムおよびプロセスは、フロッピーディスク、CD-ROM、DVD-ROM、フラッシュドライブ、磁気テープ、ソリッドステートランダムアクセス記憶装置(RAM)または読出し専用記憶装置(ROM)格納ユニットのような、非一時的なコンピュータ読取可能媒体のうちの1つ以上から読み取られるプログラムコードにおいて具現されてよく、次に、圧縮されたフォーマット、コンパイルされていないフォーマットおよび/または暗号化されたフォーマットで格納されてよい。いくつかの実施形態では、配線接続された回路構成が、いくつかの実施形態によるプロセスの実装のためのプログラムコードの代わりに或いはそのようなプログラムコードとの組み合わせにおいて使用されてよい。従って、実施形態は、ハードウェアおよびソフトウェアの任意の特定の組み合わせに限定されない。
【0054】
ある実装において、本明細書に記載する1つ以上の方法は、少なくとも部分的には、非一時的なコンピュータ読取可能媒体において具現され、1つ以上のコンピューティングデバイスによって実行可能である、命令として実装されてよい。一般に、プロセッサ(例えば、マイクロプロセッサ)は、非一時的コンピュータ読取可能媒体、例えば、メモリから命令を受信し、それらの命令を実行し、それによって、本明細書に記載する方法のうちの1つ以上を含む1つ以上の方法を実行する。そのような命令は、様々な知られているコンピュータ読取可能媒体のうちのいずれかを使用して格納および/または送信されてよい。
【0055】
本明細書中の実施形態は、ハードウェアおよびソフトウェア要素を含むことができる。ソフトウェアにおいて実装される実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されない。本明細書に記載する様々なモジュールによって実行される機能は、他のモジュールまたは他のモジュールの組み合わせにおいて実装されてよい。この記述の目的のために、コンピュータ使用可能媒体またはコンピュータ読取可能媒体は、命令実行システム、装置、またはデバイスによる使用、またはそれらと関連する使用のためのプログラムを含み、格納し、通信し、伝搬し、或いは搬送することができる、任意の装置であることができる。
【0056】
図示するステップは、図示の例示的な実施形態を説明するために設定されており、進行中の技術開発は、特定の機能が実行される方法を変化させることが予想されるべきである。これらの例は、限定のためではなく、例示の目的のために本明細書において提示されている。さらに、機能的な基本要素の境界は、記述の便宜のために、本明細書において任意に定義されている。指定された機能およびその関係が適切に実行される限り、代替境界を定義することができる。(本明細書に記載するものの等価物、拡張、変形、偏差等を含む)代替は、本明細書に含まれる教示に基づいて、関連技術分野の当業者に明らかであろう。そのような代替は、開示する実施形態の範囲および精神に入る。また、「含む(comprising)」、「有する(having)」、「含む(containing)」、および「含む(including)」という用語、および他の類似の形態は、意味において均等であることが意図されており、それらの単語のうちのいずれかの単語に続くアイテムまたは複数のアイテムは、そのようなアイテムまたは複数のアイテムの網羅的なリストであることを意味せず、或いはリストされるアイテムまたは複数のアイテムのみに限定されることを意味しない点においてオープンエンドにされている。本明細書および(明細書に含まれるときの)添付の特許請求の範囲において使用されるとき、単数形の形態は、文脈が明らかに他のことを示さない限り、複数の参照を含むことも留意されるべきである。
【0057】
本開示および例は、例示的なものとしてのみ考慮されることが意図されており、当業者は、他の実施形態が上述したものに修正および変更を加えて実施されてよいことを認識するであろう。