(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-12
(45)【発行日】2023-10-20
(54)【発明の名称】自律型移動装置の最適なカバレッジ経路計画のための方法及びシステム
(51)【国際特許分類】
G05D 1/02 20200101AFI20231013BHJP
【FI】
G05D1/02 P
(21)【出願番号】P 2022179087
(22)【出願日】2022-11-08
【審査請求日】2022-11-08
(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)【参考文献】
【文献】米国特許出願公開第2002/0147568(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
方法であって、当該方法は、
プロセッサが、領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信するステップであって、前記データは、前記領域内の複数の視点から複数の姿勢で取り込まれる、ステップと、
前記プロセッサが、対応する視点で取り込んだ前記データ内で検出した1つ又は複数のオブジェクトと、対応する視点内の前記1つ又は複数のセンサによって取り込んだ前記1つ又は複数のオブジェクトの関心領域とに少なくとも基づいて、前記複数の視点の各視点に優先度コストを割り当てるステップと、
前記プロセッサが、1つ又は複数の目的関数を用いて前記複数の視点から最適な1組の視点を特定するステップであって、前記1つ又は複数の目的関数は、前記複数の視点の各視点に関連付けられた前記優先度コストと、対応する各視点のカバレッジ値とに少なくとも基づくものであり、視点の前記カバレッジ値は、前記対応する視点から前記1つ又は複数のセンサによって取り込まれた前記領域の面積を示す、ステップと、
前記プロセッサが、前記最適な1組の視点に少なくとも基づいて、前記少なくとも1台のロボットのカバレッジ経路を生成するステップであって、前記少なくとも1台のロボットは、前記カバレッジ経路を通過するように構成される、ステップと、を含む、
方法。
【請求項2】
前記データには、レーダー画像、RGB画像、ライダー画像、及び赤外線画像のうちの少なくとも1つが含まれる、請求項1に記載の方法。
【請求項3】
前記1つ又は複数のセンサによって取り込んだ前記1つ又は複数のオブジェクトの前記関心領域は、前記1つ又は複数のオブジェクトの各オブジェクトの長さ、前記1つ又は複数のオブジェクトの各オブジェクトの幅、前記1つ又は複数のオブジェクトの各オブジェクトの大きさ、前記1つ又は複数のオブジェクトの各オブジェクトの面積、及び前記1つ又は複数のオブジェクトの各オブジェクトの体積のうちの少なくとも1つに対応する、請求項1に記載の方法。
【請求項4】
視点に関する前記カバレッジ値には、前記対応する視点から前記1つ又は複数のセンサによって取り込まれた前記領域内の複数のセルのうちの1つ又は複数のセルのセルインデックスが含まれる、請求項1に記載の方法。
【請求項5】
前記1つ又は複数の目的関数は、可視性マトリクス及び少なくとも1つのしきい値にさらに関連付けられ、
前記可視性マトリクスは、前記複数の視点の各視点に関連付けられた前記カバレッジ値に基づいて構成される、請求項4に記載の方法。
【請求項6】
前記カバレッジ経路を生成するステップは、
前記プロセッサが、前記少なくとも1台のロボットが前記最適な1組の視点を巡回するための通過順序を決定するステップを含む、請求項1に記載の方法。
【請求項7】
前記通過順序を決定するステップは、
前記プロセッサが、前記対応する最適な1組の視点同士の間の距離に基づいて、前記最適な1組の視点から最適な各対をなす視点同士の間の通過コストを決定するステップと、
前記プロセッサが、経路目的関数を用いて、前記少なくとも1台のロボットの前記通過順序を特定するステップと、を含み、
前記経路目的関数は、最適な各対をなす視点に関連付けられた前記通過コストと、前記最適な対をなす視点の少なくとも1つの最適な視点に関連付けられた前記優先度コストに基づいている、請求項6に記載の方法。
【請求項8】
キュービックベジェ曲線を用いた前記通過順序に基づいて、前記最適な1組の視点の第1の視点と第2の視点との間の滑らかな移行を生成する、請求項7に記載の方法。
【請求項9】
前記プロセッサが、通過順序の最適な対をなす視点同士の間を通過する前記少なくとも1台のロボットから受信した制御信号に基づいて、前記カバレッジ経路の再計画を開始するステップであって、前記制御信号は、前記1つ又は複数のセンサによって取り込んだ前記1つ又は複数のオブジェクトの各観察結果の質に基づいて、前記少なくとも1台のロボットによって生成され、前記再計画には、前記通過順序から次の最適な姿勢を選択することが含まれる、ステップと、
前記プロセッサが、前記通過順序の前記次の最適な姿勢に基づいて、前記少なくとも1台のロボットの前記カバレッジ経路を更新するステップと、を含む、請求項1に記載の方法。
【請求項10】
前記プロセッサが、前記カバレッジ経路を通過する際に、前記少なくとも1台のロボットから、前記領域内の前記1つ又は複数のオブジェクトの各オブジェクトの複数のオブジェクト特徴を受信するステップと、
前記プロセッサが、各オブジェクトの前記複数のオブジェクト特徴に基づいて、前記1つ又は複数のオブジェクトの各オブジェクトに関する障害物制約を決定するステップと、
前記プロセッサが、前記障害物制約に基づいて、前記1つ又は複数のオブジェクトの各オブジェクトを前記領域内の移動元位置から移動先位置に移動するためのピックアップ順序を生成するステップと、を含む、請求項1に記載の方法。
【請求項11】
前記プロセッサが、前記少なくとも1台のロボットが前記1つ又は複数のオブジェクトの各オブジェクトを前記移動元位置から前記移動先位置に移動させた後に、障害物制約を再評価するステップと、
前記プロセッサが、前記再評価した障害物制約に基づいて、前記少なくとも1台のロボットの前記ピックアップ順序を更新するステップと、を含む、請求項10に記載の方法。
【請求項12】
カバレッジ経路計画を最適化するためのシステムであって、当該システムは、
命令を格納するように構成されたメモリと、
前記メモリに格納した命令を実行するように構成されたプロセッサと、を含み、
該プロセッサは、前記命令を実行することにより、当該システムに、
領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信することであって、該データは、前記領域内の複数の視点から複数の姿勢で取り込まれる、こと、
対応する姿勢で取り込まれた前記データ内で検出した1つ又は複数のオブジェクトと、前記対応する姿勢で前記1つ又は複数のセンサによって取り込んだ前記1つ又は複数のオブジェクトの関心領域とに少なくとも基づいて、前記複数の視点の各視点に優先度コストを割り当てること、
1つ又は複数の目的関数を用いて、前記複数の視点から最適な1組の視点を特定することであって、前記1つ又は複数の目的関数は、前記複数の視点の各視点に関連付けられた優先度コストと、対応する各視点のカバレッジ値とに少なくとも基づくものであり、視点の前記カバレッジ値は、前記対応する視点から前記1つ又は複数のセンサによって取り込まれた前記領域の面積を示す、こと、及び
前記最適な1組の視点に少なくとも基づいて、前記少なくとも1台のロボットのカバレッジ経路を生成することであって、前記少なくとも1台のロボットは、前記カバレッジ経路を通過するように構成される、ことを行わせる、
システム。
【請求項13】
前記データには、レーダー画像、RGB画像、ライダー画像、赤外線画像のうちの少なくとも1つが含まれる、請求項12に記載のシステム。
【請求項14】
前記1つ又は複数のセンサによって取り込んだ前記1つ又は複数のオブジェクトの前記関心領域は、前記1つ又は複数のオブジェクトの各オブジェクトの長さ、1つ又は複数のオブジェクトの各オブジェクトの幅、1つ又は複数のオブジェクトの各オブジェクトの大きさ、前記1つ又は複数のオブジェクトの各オブジェクトの面積、及び前記1つ又は複数のオブジェクトの各オブジェクトの体積のうちの少なくとも1つに対応する、請求項12に記載のシステム。
【請求項15】
視点に関する前記カバレッジ値には、前記対応する視点から前記1つ又は複数のセンサによって取り込まれた前記領域内の複数のセルのうちの1つ又は複数のセルのセルインデックスが含まれる、請求項12に記載のシステム。
【請求項16】
前記1つ又は複数の目的関数は、可視性マトリクス及び少なくとも1つのしきい値にさらに関連付けられ、
前記可視性マトリクスは、前記複数の視点の各視点に関連付けられた前記カバレッジ値に基づいて構成される、請求項15に記載のシステム。
【請求項17】
前記カバレッジ経路を生成するために、当該システムは、前記少なくとも1台のロボットが前記最適な1組の視点を巡回するための通過順序を決定することをさらに行う、請求項12に記載のシステム。
【請求項18】
前記通過順序を決定するために、当該システムは、
対応する最適な対をなす視点同士の間の距離に基づいて、前記最適な1組の視点から最適な各対をなす視点同士の間の通過コストを決定すること、及び
経路目的関数を用いて、前記少なくとも1台のロボットの前記通過順序を特定すること、をさらに行い、
前記経路目的関数は、最適な各対をなす視点に関連付けられた前記通過コストと、前記最適な対をなす視点の少なくとも1つの最適な視点に関連付けられた前記優先度コストとに基づいている、請求項17に記載のシステム。
【請求項19】
当該システムは、キュービックベジェ曲線を用いた前記通過順序に基づいて、前記最適な1組の視点の第1の視点と第2の視点との間の滑らかな移行を生成すること、をさらに行う、請求項18に記載のシステム。
【請求項20】
当該システムは、
通過順序の最適な対をなす視点同士の間を通過する前記少なくとも1台のロボットから受信した制御信号に基づいて、前記カバレッジ経路の再計画を開始することであって、前記制御信号は、前記1つ又は複数のセンサによって取り込んだ前記1つ又は複数のオブジェクトの各観察結果の質に基づいて、前記少なくとも1台のロボットによって生成され、前記再計画には、前記通過順序から次の最適な姿勢を選択することが含まれる、こと、及び
前記通過順序の前記次の最適な姿勢に基づいて、前記少なくとも1台のロボットの前記カバレッジ経路を更新すること、をさらに行う、請求項12に記載のシステム。
【請求項21】
当該システムは、
前記カバレッジ経路を通過する前記少なくとも1台のロボットから、前記領域内の1つ又は複数のオブジェクトの各オブジェクトの複数のオブジェクト特徴を受信すること、
各オブジェクトの前記複数のオブジェクト特徴に基づいて、前記1つ又は複数のオブジェクトの各オブジェクトに関連する障害物制約を決定すること、及び
該障害物制約に基づいて、前記1つ又は複数のオブジェクトの各オブジェクトを前記領域内の移動元位置から移動先位置に移動するためのピックアップ順序を生成すること、をさらに行う、請求項12に記載のシステム。
【請求項22】
当該システムは、
前記少なくとも1台のロボットが前記1つ又は複数のオブジェクトの各オブジェクトを前記移動元位置から前記移動先位置に移動した後に、障害物制約を再評価すること、及び
該再評価した障害物制約に基づいて、前記少なくとも1台のロボットの前記ピックアップ順序を更新すること、をさらに行う、請求項21に記載のシステム。
【請求項23】
最適なカバレッジ経路計画のための命令を記憶する非一時的なコンピュータ可読媒体であって、前記命令がプロセッサによって実行されると、システムに、
領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信することであって、該データは、前記領域内の複数の視点から複数の姿勢で取り込まれる、こと、
対応する姿勢で取り込まれた前記データ内で検出した1つ又は複数のオブジェクトと、前記対応する姿勢で前記1つ又は複数のセンサによって取り込んだ前記1つ又は複数のオブジェクトの関心領域とに少なくとも基づいて、前記複数の視点の各視点に優先度コストを割り当てること、
1つ又は複数の目的関数を用いて、前記複数の視点から最適な1組の視点を特定することであって、前記1つ又は複数の目的関数は、前記複数の視点の各視点に関連付けられた優先度コストと、対応する各視点のカバレッジ値とに少なくとも基づくものであり、視点の前記カバレッジ値は、前記対応する視点から前記1つ又は複数のセンサによって取り込まれた前記領域の面積を示す、こと、及び
前記最適な1組の視点に少なくとも基づいて、前記少なくとも1台のロボットのカバレッジ経路を生成することであって、前記少なくとも1台のロボットは前記カバレッジ経路を通過するように構成されること、を含む段階を行わせる、
非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2022年1月25日に出願した米国特許出願第17/583,250号の一部継続(CIP)出願であり、この出願は、2021年11月11日に出願した米国仮出願第63/278,169号に対する優先権の利益を主張するものであり、それぞれ出願の内容は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、概して、カバレッジ経路計画に関し、より具体的には、自律型移動装置の最適なカバレッジ経路計画に関する。
【背景技術】
【0003】
カバレッジ経路計画には、領域の探索が含まれ、その過程で、領域の完全なカバレッジを保証する、巡回(visit)すべき1組の視点(viewpoints)を特定する。より具体的には、可能性のある障害物を回避しながら、領域をカバーする1組の視点をカプセル化する最良の経路を決定するために、領域が徹底的に解析される。このようなカバレッジ経路計画は、家庭用清掃ロボット、地雷除去ロボット、芝刈り機、農業用自動収穫機、保管及び回収ロボット等として展開される多くのロボットに不可欠である。
【0004】
従来、カバレッジ経路計画アプローチのパフォーマンスは、領域のカバレッジの最適化に基づいて決定されていた。そのため、視点の生成は、カバレッジ経路計画において重要であると考えられている。視点の生成は領域の最大範囲を考慮するが、従来のアプローチを用いて生成された視点は、視点のオブジェクト(object:対象物)の観察結果の質が考慮されていないため、最適ではない。さらに、巡回セールスマン問題(TSP)を使用して、関心領域の最大カバレッジ及び障害物回避のために関心領域をカバーする許容可能な1組の視点を表すカバレッジ経路を生成するが、カバレッジ経路は最適化されていない。これは、ある視点から別の視点への急激な移行によって追加の時間及びエネルギーを消費する可能性があるロボットの運動学的制約が原因で発生する。
【0005】
上記の議論を考慮すると、自律型移動装置のカバレッジ経路計画を最適化する必要がある。
【発明の概要】
【0006】
一実施形態では、方法を開示する。この方法は、プロセッサが、領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信するステップを含む。データは、領域内の複数の視点から複数の姿勢(pose)で取り込まれる。この方法は、プロセッサが、対応する視点で取り込んだデータ内で検出した1つ又は複数のオブジェクトと、対応する視点内の1つ又は複数のセンサによって取り込んだ1つ又は複数のオブジェクトの関心領域とに少なくとも基づいて、複数の視点の各視点に優先度コストを割り当てるステップを含む。この方法は、プロセッサが、1つ又は複数の目的関数を用いて、複数の視点から最適な1組の視点を特定するステップを含む。1つ又は複数の目的関数は、複数の視点の各視点に関連付けられた優先度コストと、対応する各視点のカバレッジ値とに少なくとも基づいている。視点のカバレッジ値は、対応する視点から1つ又は複数のセンサによって取り込まれた領域の面積を示す。この方法は、プロセッサが、最適な1組の視点に少なくとも基づいて、少なくとも1台のロボットのカバレッジ経路を生成するステップを含む。少なくとも1台のロボットは、カバレッジ経路を通過(traverse)するように構成される。
【0007】
別の実施形態では、システムを開示する。このシステムは、メモリ及びプロセッサを含む。メモリは命令を格納するように構成され、プロセッサは、メモリに格納した命令を実行するように構成され、それによりシステムに以下の段階を実行させる。システムは、領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信する。データは、領域内の複数の視点から複数の姿勢で取り込まれる。システムは、対応する視点で取り込んだデータ内で検出した1つ又は複数のオブジェクトと、対応する視点内の1つ又は複数のセンサによって取り込んだ1つ又は複数のオブジェクトの関心領域とに少なくとも基づいて、複数の視点の各視点に優先度コストを割り当てる。システムは、1つ又は複数の目的関数を用いて、複数の視点から最適な1組の視点を特定する。1つ又は複数の目的関数は、複数の視点の各視点に関連付けられた優先度コストと、対応する各視点のカバレッジ値とに少なくとも基づいている。視点のカバレッジ値は、対応する視点から1つ又は複数のセンサによって取り込まれた領域の面積を示す。システムは、最適な1組の視点に少なくとも基づいて、少なくとも1台のロボットのカバレッジ経路を生成するようにされる。少なくとも1台のロボットは、カバレッジ経路を通過するように構成される。
【0008】
さらに別の実施形態では、非一時的なコンピュータ可読媒体を開示する。非一時的なコンピュータ可読媒体は、自律型移動装置のカバレッジ経路計画を最適化するための命令を格納する。命令は、プロセッサによって実行されると、システムに以下の段階を実行させる。この段階は、システムが、領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信することを含む。データは、領域内の複数の視点から複数の姿勢で取り込まれる。この段階は、システムが、対応する視点で取り込んだデータ内で検出した1つ又は複数のオブジェクトと、対応する視点内の1つ又は複数のセンサによって取り込んだ1つ又は複数のオブジェクトの関心領域とに少なくとも基づいて、複数の視点の各視点に優先度コストを割り当てることを含む。この段階は、システムが、1つ又は複数の目的関数を用いて、複数の視点から最適な1組の視点を特定することを含む。1つ又は複数の目的関数は、複数の視点の各視点に関連付けられた優先度コストと、対応する各視点のカバレッジ値とに少なくとも基づいている。視点のカバレッジ値は、対応する視点から1つ又は複数のセンサによって取り込まれた領域の面積を示す。この段階は、システムが、最適な1組の視点に少なくとも基づいて、少なくとも1台のロボットのカバレッジ経路を生成することを含む。少なくとも1台のロボットは、カバレッジ経路を通過するように構成される。
【0009】
前述の概要は説明のみを目的としており、限定することを意図したものではない。上述の例示的な態様、実施形態、及び特徴に加えて、更なる態様、実施形態、及び特徴は、図面及び以下の詳細な説明を参照することによって明らかになろう。
【図面の簡単な説明】
【0010】
本開示に組み込まれ、その一部を構成する添付の図面は、例示的な実施形態を示し、詳細な説明とともに、開示する原理を説明するのに役立つ。同様の特徴及び構成要素を参照するために、図全体で同じ番号を使用する。ここで、本主題の実施形態による装置及び/又は方法のいくつかの実施形態を、単なる例として、添付の図面を参照して説明する。
【
図1】本開示のいくつかの実施形態による、自律型移動装置による倉庫内のオブジェクトの自律的な保管及び回収を表す環境を示す。
【
図2】本開示の一実施形態による、自律型移動装置のカバレッジ経路計画を最適化するためのシステムを示す。
【
図3】本開示の一実施形態による、領域を探索する自律型移動装置のグラフィック表現を示す。
【
図4A】本開示の一実施形態による、オブジェクトの関心領域の正規化した面積を決定するための概略図である。
【
図4B】本開示の一実施形態による、オブジェクトの関心領域の正規化した体積を決定するための概略図である。
【
図5A】本開示の一実施形態による、領域内の最適な1組の視点の例示的な概略図を示す。
【
図5B】本開示の一実施形態による、通過順序に基づいてカバレッジ経路を通過する自律型移動装置の概略図を示す。
【
図6】本開示の一実施形態による、他のオブジェクトによる障害物制約を表す領域に配置された複数のオブジェクトの概略図を示す。
【
図7】本開示の一実施形態による、自律型移動装置のカバレッジ経路を最適化するための方法を示すフローチャートである。
【
図8】本開示の一実施形態による、自律型移動装置のカバレッジ経路を最適化するための汎用コンピュータのブロック図を示す。
【発明を実施するための形態】
【0011】
当業者は、本明細書の任意のブロック図が、本主題の原理を具体化する例示的なシステムの概念図を表すことを理解すべきである。同様に、任意のフローチャート、フロー図、状態移行図、疑似コード等は、コンピュータ可読媒体で実質的に表され、コンピュータ又はプロセッサが明示的に示されているか否かにかかわらず、そのようなコンピュータ又はプロセッサによって実行される様々なプロセスを表していることを理解されたい。
【0012】
本書では、「例示的な」という言葉は、「例、事例、又は実例として役立つ」ことを意味するために本明細書で使用する。本明細書で「例示的」として説明する本主題の任意の実施形態又は実施態様は、必ずしも他の実施形態よりも好ましい又は有利であると解釈すべきではない。
【0013】
本開示は、様々な修正及び代替形態が可能であるが、その特定の実施形態は、図面において例として示され、以下で詳細に説明する。しかしながら、本開示を開示する特定の形態に限定することを意図するものではなく、逆に、本開示は、本開示の精神及び範囲内に入る全ての修正、均等物、及び代替物をカバーすることを意図していることを理解されたい。
【0014】
用語「備える、有する、含む(comprises, comprising)」、又はその他のあらゆる活用形は、構成要素又はステップのリストを含むセットアップ、装置、又は方法が、これらの構成要素又はステップだけを含むのではなく、そのようなセットアップ、装置、又は方法に固有の又は明示的にリストされていない他の構成要素又はステップを含む場合がある。換言すると、装置、システム、又は機器における「・・・を含む」で始まる1つ又は複数の要素は、更なる制約なしに、装置、システム、又は機器内の他の要素又は追加の要素の存在を排除するものではない。
【0015】
本開示の実施形態の以下の詳細な説明では、本明細書の一部を形成し、本開示を実施し得る特定の実施形態を例として示す添付の図面を参照する。これらの実施形態は、当業者が本開示を実施できるように十分に詳細に説明しており、他の実施形態を利用することができ、本開示の範囲から逸脱することなく変更を行うことができることを理解されたい。従って、以下の説明は、限定的な意味で解釈すべきではない。
【0016】
本明細書で使用する「姿勢(pose)」という用語は、ロボットがセル内で特定の位置をとることを指す。より具体的には、ロボットを特定の方向/向きに位置付けして、周囲の画像を取り込む。例えば、セル内のロボットは、90°回転して、ロボットの1つ又は複数のセンサを用いて様々な画像を取り込むために様々な姿勢をとる。一例では、ロボットは、姿勢P1をとるためにセルC1内の位置を占有し、次に、ロボットは、セルC1内で姿勢P2をとるために同じ位置で90°だけ回転する。さらに、ロボットは、セルC1内で姿勢P3をとるために同じ位置でさらに90°だけ回転することができる。こうして、セルC1の位置での90°の回転は、ロボットがセルC1内で姿勢P1、P2、P3、及びP4を取り、領域の複数の画像を取り込むことを保証する。
【0017】
さらに、本明細書で使用する「視点」という用語は、環境及び周囲を評価するための領域内の様々な場所でのロボットの位置及び向き/方向を指す。より具体的には、視点は、領域内の異なる位置又はセルからの特定の透視ビュー(perspective view:視点ビュー)に対応する。例えば、ロボットは、1つ又は複数のセンサを用いて異なる視点で画像を取り込むために、異なるセルの間を移動する。一例では、ロボットは、セルC1内で透視ビュー(すなわち、ある角度での向き)で姿勢を取り、オブジェクトの1つ又は複数の画像を取り込み、次に移動して、セルC2で別の透視ビューで別の姿勢を取り、別の視野角からオブジェクトの1つ又は複数の画像を取り込む。
【0018】
図1は、本開示のいくつかの実施形態による、自律型移動装置によるオブジェクトの自律的な保管及び回収を示す環境100の例示的な表現を示す。環境100は、倉庫102を例示的に示しており、複数のオブジェクト(
図1ではO
1、O
2、O
3、及びO
4として示される)が倉庫102の特定の場所に保管されている。環境100について、例示の目的で倉庫102を参照して説明しているが、環境100は、カバレッジ経路計画を実施し得る任意の他のシナリオであってもよい。1つ又は複数の自律型移動装置のカバレッジ経路計画を実行し得る環境のいくつかの例には、捜索及び救助、芝刈り、地雷除去、及び農業収穫等が含まれるが、これらに限定されない。
【0019】
倉庫102は、オブジェクトの自律的な保管及び回収を行う自律型移動装置108及び110(以下、ロボット108、110と呼ぶ)等の1つ又は複数の自律型移動装置を含む。ロボット108、110は、複数の視点から複数の姿勢でデータを取り込むための1つ又は複数のセンサを含む。典型的に、ロボット108、110の1つ又は複数のセンサは、倉庫102内のオブジェクトの解析及び操作のために、倉庫102からデータを収集する。倉庫102内のオブジェクトに関するデータを収集するロボットの1つ又は複数のセンサのいくつかの例には、オブジェクトを検出するか又はオブジェクトの特徴を特定し、検出したオブジェクトの位置を特定するための、近接センサ(赤外線センサ、超音波距離センサ等)、イメージセンサ(RGBセンサ)、無線検出及び測距(RADAR)センサ、及び光検出及び測距(LIDAR)センサ等が含まれるが、これらに限定されない。一実施形態では、データには、レーダー(radar)画像、RGB画像、ライダー(lidar)画像、及び赤外線画像のうちの少なくとも1つが含まれる。カバレッジ経路計画のための本開示に関連するロボット108、110のセンサのみが開示されており、ロボット108、110は、環境要因を検出し、それらの挙動に影響を与えるための力センサ、光センサ、温度センサ、タッチセンサ、及び音センサ等の他のセンサを含み得、これらセンサは、ロボット108、110内に統合することができることに留意されたい。
【0020】
こうして、オブジェクトO1、O2、O3、及びO4が倉庫102に保管されると、データに基づいてロボット108及び110に対してカバレッジ経路計画を実行して、ロボット108及び110が巡回しなければならない1組の視点をカプセル化する実行可能な1組の経路を決定することができる。前述のように、視点からデータを取り込むことで、倉庫102と関心のあるオブジェクトO1、O2、O3、及びO4との完全なスキャン又は調査が保証される。シナリオ例では、オブジェクトO1、O2、O3、及びO4を識別し、分類して、適切な保管場所に配置する必要がある。例えば、オブジェクトO1及びO3は場所104に配置する必要があり、オブジェクトO2及びO4は、倉庫102の場所106で荷積み及び荷降し(picked and dropped)する必要がある。
【0021】
本開示の様々な実施形態は、倉庫100内のロボットの最適なカバレッジ経路計画のための方法を実施するシステム150を開示する。従って、自律型移動装置の1つ又は複数のセンサからのデータを処理して、ロボットの1つ又は複数のセンサの視野内のオブジェクト及び関連する寸法属性を検出し、これらは、ロボットによってサンプリングした複数の視点の各視点に関連付けられた優先度コストを決定するために使用され得る。その後に、視点毎に決定した優先度コストに基づいて、ロボット108、110毎に最適な1組の視点を決定する。さらに、システム150は、最適な1組の視点に基づいて最適なカバレッジ経路を決定するように構成される。一般に、システム150は、最適な1組の視点のデータ駆動型解析を実行して、情報ゲインを最大化するように各ロボットの最適な1組の視点の通過順序を特定する。さらに、ある最適な視点から別の視点へのロボットの滑らかな移行及び通過(traversal)が実行され、ロボットの運動学的制約による急激な移行によって費やされる時間が最適化される。さらに、システム150は、受信したデータから障害物制約を識別して、オブジェクトを移動元(source)位置から移動先(destination)位置に移動するための最適なピックアップ順序を決定するように構成される。
【0022】
ロボット108、110は、通信ネットワーク120を介してシステム150及びロボット108、110の間で有効に通信することができることが理解される。ロボット108、110は、有線ネットワーク、無線ネットワーク、又は有線ネットワークと無線ネットワークとの組合せを用いて通信ネットワーク120に接続することができる。有線ネットワークのいくつかの非限定的な例には、イーサネット、ローカルエリアネットワーク(LAN)、光ファイバネットワーク等が含まれ得る。無線ネットワークのいくつかの非限定的な例には、無線LAN(WLAN)、セルラーネットワーク、Bluetooth又はZigbeeネットワーク等が含まれ得る。通信ネットワークの一例はインターネットである。次に、最適なカバレッジ経路計画のためのシステム150を、
図2を参照して詳細に説明する。
【0023】
図2は、本開示の一実施形態による、カバレッジ経路を最適化するためのシステム150を示している。本明細書で使用する「カバレッジ経路の最適化」という用語は、ロボットの周囲領域内のオブジェクトに関する情報ゲインを最大化する最適な視点が特定され、最大の情報を含む視点を最初に通過するように最適な視点の通過順序が特定されるマルチフォールド(multi-fold)最適化を指す。カバレッジ経路のそのような最適化は、最適な方法でタスクを実行するために、例えば倉庫102等の周囲領域からのデータを照合するのにかかる時間を短縮する。
【0024】
一実施形態では、システム150は、倉庫102内の自律的な保管及び回収等の環境の操作を管理する集中コントローラである。別の実施形態では、システム150は、最適化したカバレッジ経路を生成する環境で動作するロボットに関する情報を受信することができるリモートサーバであり得る。さらに別の実施形態では、システム150は、ロボット、例えば、ロボット108内に具現化され、本明細書で説明する1つ又は複数の動作を実行することができる。
【0025】
システム150は、プロセッサ202、メモリ204、入力/出力モジュール206及び通信インターフェイス208を含むように示されている。いくつかの実施形態では、システム150は、本明細書に示されるものより多くの又はより少ない構成要素を含んでもよいことに留意されたい。システム150の様々な構成要素は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組合せを用いて実現することができる。さらに、システム150の様々な構成要素は、互いに動作可能に結合され得る。より具体的には、システム150の様々な構成要素は、通信チャネル媒体(バス、相互接続等)を用いて互いに通信することができる。システム150の1つ又は複数の構成要素は、互いに離れて配置された複数のサーバ又は単一のサーバで実現され得ることにも留意されたい。
【0026】
一実施形態では、プロセッサ202は、マルチコアプロセッサ、シングルコアプロセッサ、或いは1つ又は複数のマルチコアプロセッサと1つ又は複数のシングルコアプロセッサとの組合せとして具現化され得る。例えば、プロセッサ202は、コプロセッサ、マイクロプロセッサ、コントローラ、デジタル信号プロセッサ(DSP)、付随するDSPを伴う又は伴わない処理回路、或いはマイクロコントローラユニット(MCU)、ハードウェアアクセラレータ、又は専用コンピュータチップ等を含む様々な他の処理装置等の、様々な処理装置のうちの1つ又は複数として具現化され得る。プロセッサ202は、後で詳細に説明するデータ処理モジュール210、視点生成モジュール212、通過順序生成モジュール214、カバレッジ経路管理モジュール216、及びオブジェクト操作モジュール218を含む。
【0027】
一実施形態では、メモリ204は、本明細書で命令205と呼ぶマシン実行可能命令を格納することができる。一実施形態では、プロセッサ202は、ソフトウェア命令の実行機として具現化される。こうして、プロセッサ202は、メモリ204に格納した命令205を実行して、本明細書で説明する1つ又は複数の動作を実行することができる。メモリ204は、
図2~
図5を参照して詳細に説明するように、プロセッサ202がそれぞれの機能を実行するためにアクセス可能な任意のタイプの記憶装置とすることができる。例えば、メモリ204は、1つ又は複数の揮発性又は不揮発性メモリ、又はそれらの組合せを含むことができる。例えば、メモリ204は、フラッシュメモリ、マスクROM、PROM(プログラム可能ROM)、EPROM(消去可能PROM)、RAM(ランダムアクセスメモリ)等の半導体メモリとして具体化してもよい。
【0028】
一実施形態では、プロセッサ202は、命令205を実行して、(1)1つ又は複数のデータ予測モデルを生成すること、(2)複数の視点の各視点に優先度コストを割り当てること、(3)複数の視点の各視点に関連付けられたカバレッジ値に基づいて可視性(visibility:視界)マトリクスを構成すること、(4)1つ又は複数の目的関数を用いて、複数の視点から最適な1組の視点を特定すること、(5)最適な1組の視点から最適な各対をなす視点同士の間の通過コストを決定すること、及び(6)少なくとも1台のロボットが最適な1組の視点を巡回するための通過順序を特定することを行うように構成される。カバレッジ経路の通過中に、プロセッサ202は、命令205を実行して、(1)最適な対をなす視点同士の間の滑らかな移行を生成すること、(2)少なくとも1台のロボットから受信した制御信号に基づいてカバレッジ経路の再計画を開始すること、(3)少なくとも1台のロボットのカバレッジ経路を更新すること、(4)各オブジェクトに関連する障害物制約を決定すること、(5)障害物制約に基づいて各オブジェクトを移動元位置から移動先に移動するためのピックアップ順序を生成すること、(6)少なくとも1台のロボットが各オブジェクトを移動させた後に障害物制約を再評価すること、及び(7)再評価した障害物制約に基づいて、少なくとも1台のロボットのピックアップ順序を更新すること、を行うように構成される。
【0029】
一実施形態では、I/Oモジュール206は、領域を探索するロボット、オブジェクトをランダムにピックアップして移動するためにカバレッジ経路を通過するロボット、及び/又はシステム150のオペレータ等の周辺装置から入力を受信し、周辺装置に出力を提供するように構成されたメカニズムを含むことができる。本明細書で使用する「システム150のオペレータ」という用語は、倉庫102の管理に直接的又は間接的に関連する1人又は複数の個人を指すことがある。システム150から入力を受信し、システム150に出力を提供するために、I/Oモジュール206は、少なくとも1つの入力インターフェイス及び/又は少なくとも1つの出力インターフェイスを含むことができる。入力インターフェイスの例には、キーボード、マウス、ジョイスティック、キーパッド、タッチスクリーン、ソフトキー、マイク等が含まれるが、これらに限定されない。出力インターフェイスの例には、発光ダイオードディスプレイ、薄膜トランジスタ(TFT)ディスプレイ、液晶ディスプレイ、アクティブマトリックス有機発光ダイオード(AMOLED)ディスプレイ等のディスプレイ、マイク、スピーカ、呼び出し音が含まれるが、これらに限定されない。
【0030】
システム150は、データベース220と有効に通信するように示されている。一実施形態では、データベース220は、データから1つ又は複数のオブジェクトを検出するための1つ又は複数のAIモデルを格納するように構成される。一例では、木枠、パレット、キャニスタ、人間、障害物(例えば、壁、台車等)、又は他のロボット等の様々なオブジェクトを検出するために、様々なニューラルネットワークモデルを格納することができる。さらに、データベース220は、環境内で検出したオブジェクトに関連する詳細、例えば、オブジェクトの特徴(例えば、寸法、テクスチャ、場所、位置、向き等)も格納することができる。一実施形態では、データベース220は、ロボットによって更新及び共有される様々なオブジェクトの障害物制約を示すテーブルも維持する。
【0031】
データベース220は、RAID(redundant array of inexpensive disks)構成におけるハードディスク及び/又はソリッドステートディスク等の複数のストレージユニットを含むことができる。いくつかの実施形態では、データベース220は、ストレージエリアネットワーク(SAN)及び/又はネットワーク接続ストレージ(NAS)システムを含み得る。一実施形態では、データベース220は分散ストレージシステムに対応することができ、個々のデータベースは、ルーティングポリシー、最適な視点選択ポリシー、ロボット仕様、各ロボットの障害物制約等のカスタム情報を格納するように構成される。
【0032】
いくつかの実施形態では、データベース220はシステム150内に統合される。例えば、システム150は、データベース220として1つ又は複数のハードディスクドライブを含むことができる。他の実施形態では、データベース220は、システム150の外部にあり、ストレージインターフェイス(
図2には図示せず)を用いてシステム150によってアクセスされ得る。ストレージインターフェイスは、プロセッサ202にデータベース220へのアクセスを提供することができる任意の構成要素である。ストレージインターフェイスは、例えば、ATA(Advanced Technology Attachment)アダプタ、シリアルATA(SATA)アダプタ、SCSI(Small Computer System Interface)アダプタ、RAIDコントローラ、SANアダプタ、ネットワークアダプタ、及び/又はプロセッサ202にデータベース220へのアクセスを提供する任意の構成要素を含むことができる。
【0033】
一実施形態では、通信インターフェイス208は、環境100内の他のエンティティと通信するように構成されたメカニズムを含むことができる。換言すると、通信インターフェイス208は、プロセッサ202による処理のために少なくとも1台のロボットからのデータを照合するように構成される。例えば、通信インターフェイス208は、領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信するように構成される。領域は、環境内の関心のある領域、例えば、ロボットがオブジェクトの特徴を判断するために探索する、オブジェクトが典型的に降ろされて配置される倉庫内の特定の領域であり得る。一実施形態では、領域Rはグリッド上に表され、そのため、領域は複数のセルC
1、C
2、・・・、C
nとして表される。グリッド上の領域と、その領域を探索するロボットの例示的な表現を、
図3を参照して説明する。
【0034】
ここで
図3を参照すると、本開示の一実施形態による、領域300を探索するロボット310の概略図が示される。
図3に示されるように、領域300は、ロボット310による探索のためのグリッド302として表される。グリッド302は、領域300の仮想表現であり、こうして、グリッド302は、領域300を複数のセルに分離する。グリッド302のセルは、例示の目的で等しい/均一なサイズの正方形を形成するように分離されており、セルは、実際には、例えば、三角形のセル、六角形のセル、菱形のセル、五角形のセル等、異なる形状及びサイズのセル、等しい又は等しくないサイズのセル等に分離され得ることに留意されたい。さらに、例示の目的で単一のロボット310を示しているが、2台以上のロボットを領域300内に同時に配備し、オブジェクトの探索、ランダムな荷積み(picking:ピッキング)及び荷降し(dropping:ドロッピング)を行うことができる。
【0035】
ロボット310は、ロボット310に関連付けられた1つ又は複数のセンサを用いて、領域300に関連するデータを取り込むために領域300を探索する。1つ又は複数のセンサのいくつかの例には、領域300に関連するデータを照合するために、近接センサ、熱センサ、超音波センサ、イメージングセンサ、赤外線センサ、レーダーセンサ、ライダーセンサ等が含まれるが、これらに限定されない。こうして、1つ又は複数のセンサから受信したデータには、レーダー画像、RGB画像、ライダー画像、赤外線画像、超音波画像等が含まれる。より具体的には、1つ又は複数のセンサが、商品/製品を保管する木枠(crate)、パレット、箱等、領域内のオブジェクトに関連するデータを取り込む。一例では、ロボットは、複数の視点V1、V2、・・・、Vmから画像I1、I2、I3、・・・、Inを取り込むことができる。例えば、画像I1、I2はセルC4内の姿勢P1を表す視点V1から取り込まれ、画像I3はセルC8内の姿勢P2を表す視点V2から取り込まれ、画像I4、I5、I6はセルC12内の姿勢P1を表す視点V3から取り込まれ、以下同様である。一例として、画像I1、I2はオブジェクトO1を取り込み、画像I3は領域300内のオブジェクトを取り込まず、画像I4、I5の各々はオブジェクトO2を部分的に取り込み、画像I6はオブジェクトO3を取り込む。ロボット310は、領域300の情報を有しておらず、こうして、領域300を表すグリッド302上の異なるセルをランダムにサンプリングすることに留意されたい。
【0036】
1つ又は複数のセンサの各センサは、視野を有しており、センサ視野で各視点から取り込まれた画像を処理して、対応する視点のカバレッジ値を決定することができる。より具体的には、視点のカバレッジ値は、視点から1つ又は複数のセルが見える領域300の面積を示す。1つ又は複数のセルは、対応する視点から1つ又は複数のセンサの視野(光線304を参照)を光線追跡することによって決定される。領域300がグリッド302上に表されるときに、視点のカバレッジ値は、対応する視点から1つ又は複数のセンサによって取り込まれた領域内の複数のセルのうちの1つ又は複数のセルのセルインデックスに関して表される。一例では、セルC10のロボット310は、視点V3から画像I4を取り込む。従って、画像I4は、セルC10、C14、C11、C15、C7、C8、C12、C16を取り込むことができ、こうして、セルC10、C14、C11、C15、C7、C8、C12、C16のカバレッジ値は、画像I4を処理することによって決定することができる。一実施形態では、カバレッジ値は、特定の視点からグリッド302上のセルを見る確率値である。従って、画像I4を処理して、セルC10、C14、C11、C15、C7、C8、C12、C16のカバレッジ値を決定することができる。例えば、セルC10、C14、C11、C15、C7、C8、C12、C16のカバレッジ値は、それぞれ0.3、0.05、0.72、0.88、0.48、0.97、及び0.44となり得る。これらのカバレッジ値は、ロボット310の1つ又は複数のセンサの視野内の各セルの可視性レベル及び/又は各セル内のオブジェクトの観察結果の質に基づいて決定され得る。
【0037】
一実施形態では、ロボット310の1つ又は複数のセンサによって取り込まれた全ての画像又は全ての観察結果を使用して、領域300のグローバルマップ内に各セルを取り込む確率値を更新し、こうして、ロボット310の複数の視点(すなわち、異なる向き及び姿勢/位置)で行われる異なる観察によって、領域300内の全てのセルのカバレッジ値が改善される。複数のロボットが領域300内に展開される場合に、これらのロボットのそれぞれのロボットの複数の視点から得られたカバレッジ値を使用して、グローバルマップを動的に更新し、それにより観察結果の質を向上させることができる。さらに、様々な視点からセンサデータを継続的に受信し、グローバルマップを更新するプロセスにより、各視点からのオブジェクトの観察結果の最高品質が保証される。さらに、領域300を探索するのに費やす時間は、複数のロボットが協調して一緒に動作するときに、大幅に短縮され得る。ロボット310の1つ又は複数のセンサによって取り込まれたそのようなデータは、通信インターフェイス208によって受信され、プロセッサ202に転送され得る。
【0038】
図2に戻ってこの図を参照すると、少なくとも1台のロボットの1つ又は複数のセンサから受信したデータは、プロセッサ202のデータ処理モジュール210に転送される。以下に説明するように、データ処理モジュール210は、メモリ204に格納した命令205と連携して、プロセッサ202の他のモジュールによって使用されるデータを処理するように構成される。より具体的には、データは探索される領域に関して少なくとも1台のロボットから継続的に受信され、データ処理モジュール210は、(1)視点で取り込んだデータ内の1つ又は複数のオブジェクトを検出し、(2)データに基づいて各視点に関するグリッド上の各セルのカバレッジ値を決定し、(3)各視点でのカバレッジ値に基づいてグローバルマップを動的に更新し、(4)データに基づいて領域内のオブジェクトのオブジェクト特徴を決定し、(5)1つ又は複数のオブジェクトの関心領域に関連する情報を抽出するように構成される。
【0039】
データ処理モジュール210は、視点内の各ロボットの1つ又は複数のセンサによって取り込まれたデータから1つ又は複数のオブジェクトを検出するように構成される。より具体的には、ロボットの1つ又は複数のセンサによって取り込まれた画像を処理して、1つ又は複数のオブジェクトを識別する。例えば、オブジェクトO5(例えば、パレット)が倉庫の領域に位置付けされ、画像I2は視点V3からオブジェクトO5を取り込む。こうして、画像I2は、画像I2からオブジェクトO5を部分的に又は全体的に検出するように処理される。一実施形態では、データ処理モジュール210は、人工知能(AI)ベースのモデル、例えば、機械学習モデル及び深層ニューラルネットワーク(例えば、畳み込みニューラルネットワーク、ピラミッドネットワーク等)を利用して、視点で取り込まれた画像からオブジェクトを検出する。オブジェクトのいくつかの例には、木枠、パレット、箱、バレル、ボックス、コンテナ、キャニスタ、パッケージ等が含まれるが、これらに限定されない。
【0040】
既に説明したように、各視点に対するグリッド上の各セルのカバレッジ値は、対応する視点から取り込まれた画像を処理することによって決定することができる。また、領域のグローバルマップと、各視点で決定したカバレッジ値に基づくグローバルマップの動的な適応とについては、
図3を参照して説明している。一実施形態では、各視点で取り込んだ画像を処理して、1つ又は複数のオブジェクトの関心領域に関連する情報が抽出される。より具体的には、少なくとも1台のロボットによる環境内のオブジェクトの識別、検出、又は操作を支援し得る最大の情報を提供するオブジェクトの領域が、データから特定される。一実施形態では、1つ又は複数のセンサによって取り込んだ1つ又は複数のオブジェクトの関心領域は、1つ又は複数のオブジェクトの各オブジェクトの長さ、1つ又は複数のオブジェクトの各オブジェクトの幅、1つ又は複数のオブジェクトの各オブジェクトの大きさ、1つ又は複数のオブジェクトの各オブジェクトの面積、及び1つ又は複数のオブジェクトの各オブジェクトの体積のうちの少なくとも1つに対応する。より具体的には、各オブジェクトの寸法属性は、データ処理モジュール210によってデータ(すなわち、その視点で取り込んだ画像)から決定され得る。例えば、イメージングセンサは、
図1に示されるように、オブジェクトの正面の長さ「l」(つまり、センサの視野内の線分)と、センサの中心軸と線分との間の角度αとを取り込む。他の使用例では、長さ「l」は、オブジェクトの関心領域によってカバーされる面積等、同様のメトリックに置き換えることができる。このようなシナリオでは、関心領域は、関心オブジェクトの境界ボックスであり得るか、あるしきい値距離内の深度マップ内のピクセルである可能性がある。例えば、車両の登録番号に関して、少なくとも1台のロボットが、構造化されていない駐車場でメンテナンス作業のために特定の車両を識別しなければならない場合に、関心領域は車両のナンバープレート/登録プレートに対応する。こうして、関心領域は、センサ視野(FoV)内のナンバープレートによってカバーされる向首角(heading angle:ヨー角)及び面積に基づいて決定され得る。さらに、正規化した面積は、関心領域の面積と画像平面の総面積との比として決定され得る。
【0041】
一実施形態では、データ処理モジュール210は、データに基づいて領域内の各オブジェクトのオブジェクト特徴を決定するように構成される。オブジェクト特徴のいくつかの例には、サイズ、形状、色、質感等が含まれるが、これらに限定されない。これらのオブジェクト特徴は、オブジェクトを識別及び分類するために、オブジェクト操作モジュール218によって利用され得る。より具体的には、オブジェクト特徴を利用して、オブジェクトを配置しなければならない倉庫内の場所を特定することができる。一例では、パレットの色に基づいて、オブジェクト(例えば、木箱)を異なるラック/棚又は倉庫の場所に配置することができる。こうして、オブジェクト特徴の色を使用して、ロボットがパレットを移動させる必要がある場所を特定することができる。さらに、後で詳細に説明するように、オブジェクト特徴を使用して、障害物制約を識別することができる。さらに、データ処理モジュール210は、通信インターフェイス208を介して少なくとも1台のロボットとオブジェクト特徴を共有することもできる。少なくとも1台のロボットは、オブジェクト特徴に基づいてオブジェクトを操作し、オブジェクトを荷積みし及び/又は指定した場所に移動させることができる。一実施形態では、ある視点で検出した1つ又は複数のオブジェクト、及び対応する視点内の1つ又は複数のオブジェクトの関心領域に関連する情報は、視点生成モジュール212に転送される。
【0042】
視点生成モジュール212は、メモリ204に格納した命令205と連携して、サンプリングした複数の視点から最適な1組の視点を決定するように構成される。最適な1組の視点は、少なくとも1台のロボットが最適な1組の視点を巡回するときに、領域内のオブジェクトに関連する情報ゲインを最大化しながら、領域を完全にカバーすることを保証する。換言すれば、最適な1組の視点は、領域の最大情報を提供する可能な領域の最大面積を最適にカバーする。従って、視点生成モジュール212は、複数の視点の各視点に優先度コストを割り当てるように構成される。優先度コストは、視点内のオブジェクトに関連する情報量と、その視点内のオブジェクトの観察結果の質を示す尺度である。
【0043】
こうして、各視点の優先度コストは、対応する視点で取り込んだデータ内で検出した1つ又は複数のオブジェクト、及び対応する視点で取り込んだ1つ又は複数のオブジェクトの関心領域に少なくとも基づいている。一般に、このような場合に優先度コストを決定する目的は、領域の情報ゲインを最大化する視点を生成することである。こうして、サンプリングした全ての視点には、少なくとも1台のロボットの1つ又は複数のセンサによる観察結果の質に基づいて、優先度コストが割り当てられる。一例では、データ処理モジュール210によって視点に関連付けられたデータからオブジェクトの正面の長さが決定される場合に、次に、その視点の優先度コストは、オブジェクトの正面の長さ「l」(つまり、イメージングセンサの視野内の線分)に基づいており、αはセンサの中心軸と線分との間の角度である。一般に、優先度コストPは、ロボットのセンサに垂直な(normal to)線分が他の角度の線分よりも高いコストを有するように、投影を最大化することに比例する。換言すると、優先度のより高いコストを有する視点は、操作(例えば、荷積みして別の場所に移動)する予定の領域内のオブジェクトをより適切に推定するのに役立つ可能性が高くなる。オブジェクトの正面の長さ「l」と、センサの軸中心と線分「l」との間の角度αとをデータ処理モジュール210から受け取った場合に、視点Viの優先度コストを決定する例を以下の式(1)によって示す。
優先度コスト(Vi)=min(l*sinα,costmin)---------式(1)
minは最小を示し、costはコストを示す。
【0044】
別の実施形態では、オブジェクトの領域が、
図4Aに示されるようにオブジェクトの関心領域である場合に、各視点に関連付けられた優先度コストは、以下に示す式(2)に基づいて決定される。例えば、構造化されていない駐車場に駐車している車両のナンバープレートを識別することが目的である場合に、次に、優先度コストは、向首角αと、ロボット300のセンサ視野(FoV)内のナンバープレート402によってカバーされる領域(面積)404に基づいて割り当てられる。このような優先度コストの割り当ては、情報ゲインを増大させる視点を優先する。式(2)に示されるように、正規化した面積は、関心領域404の面積と画像平面406の総面積との比率である。
優先度コスト(V
i)=min(正規化した面積
占有*cosα,cost
min)------式(2)
【0045】
別の実施形態では、正規化した体積を使用して、複数の視点V
1、V
2、・・・、V
mの各視点V
iの優先度コストP
iを決定することができる。
図4Bに示されるように、αは、離散化されたセルに対する表面法線に対する平均角度であり、これを掃引体積交差(swept volumetric intersection)と組み合わせて使用して、視点に関連する優先度コストP
iを推定する。その後に、正規化した体積は、視野(FoV)内のセルの体積と円錐台の総体積の比率として決定される。
優先度コスト(V
i)=min(正規化した体積
交差*cos(α
平均),cost
min)---式(3)
【0046】
複数の視点の各視点に優先度コストが割り当てられた後に、複数の視点に関連付けられた優先度コストが正規化される。こうして、視点に関連する最大優先度コストPmaxは、複数の視点V1、V2、・・・、Vmに関連する優先度コストから決定される。複数の視点V1、V2、・・・、Vmの優先度コストP1、P2、・・・、Pmは、任意の視点の最大優先度コストが1となるように、最大優先度コスト(maximum priority cost)Pmaxで割られる。
【0047】
一実施形態では、視点生成モジュール212は、1つ又は複数の目的関数を用いて、複数の視点V1、V2、・・・、Vmから最適な1組の視点v1、v2、・・・、vx(vxはViのサブセットである)を識別するように構成される。1つ又は複数の目的関数は、複数の視点V1、V2、・・・、Vmの各視点に関連付けられた優先度コストP1、P2、・・・、Pm、及び対応する各視点のカバレッジ値Ciに少なくとも基づいている。既に説明したように、視点のカバレッジ値は、対応する視点から1つ又は複数のセンサによって取り込まれた領域の面積を示す。例えば、視点V2のカバレッジ値CV2は、その視点V2でロボットのセンサによってカバーされるグリッド上のセル(セルc12、c22、c23、c24、c32、c34、c35、c36等)のセルインデックスを示す。
【0048】
一実施形態では、各視点のカバレッジ値は、可視性マトリクスMとして表すことができる。より具体的には、可視性マトリクスMの行は、グリッド内のセルインデックス(c1、c2、・・・、ck)を表し、列は複数の視点V1、V2、・・・、Vmを表す。候補となる視点毎に、その視点から見える全てのセルが光線追跡を用いて決定される。こうして、ロボットのセンサの視野内の各セルの確率値は、可視性マトリクスMで更新される。センサの光線によって掃引される範囲及び角度は、ロボットが使用するセンサのプロパティに基づいて決定されることに留意されたい。
【0049】
各視点に関連付けられた優先度コスト、複数の視点でのカバレッジ値を含む可視性マトリクスM、及び少なくとも1つのしきい値に基づく目的関数の例を、以下の式(4)に示す。
【数1】
thresholdはしきい値を示し、
ここで、Wは繰り返し更新される凸緩和重みであり、
Mは、センサのFoV(視野)によって掃引されるセルに基づいて計算される可視性マトリクスであり、
Pは、複数の視点の各視点に関連付けられた優先度コストであり、
カバレッジ値Cは、しきい値T
1に基づいて非バイナリ値を想定する。
【0050】
式(4)の目的関数は、NP困難最小化問題のサイズを縮小するための緩和線形計画法(relaxed linear program)を用いて解かれ、グリッド302のセル(
図3参照)等、グリッドの全てのセルが見えるであろう候補視点の縮小セットが取得される。より具体的には、緩和線形計画法を用いて式(4)の目的関数を解くことにより、複数の視点の非ゼロ候補視点が全て抽出される。最初に、全ての凸緩和重みが1に設定され、更新した凸緩和重みWを用いて、スパース性の最終条件に達するまで反復が実行される。この反復最適化の後に、カバレッジ値Cがゼロの全ての要素を破棄することによって、視点のサブセットが候補視点として選択される。一実施形態では、これらの候補視点は「最適な1組の視点」を構成する。別の実施形態では、これらの候補の視点をさらに解析して、緩和整数計画法(relaxed integer program)を用いて最適な1組の視点を生成することができる。より具体的には、視点のサブセット(つまり、視点の候補)を使用して、以下の式(5)に示されるように、バイナリ変数としてCを用いて最適化の最終ラウンドを実行する。
【数2】
ここで、カバレッジ値Cは、しきい値T
2に基づくバイナリ値を想定している。
【0051】
しきい値T
2は、カバレッジ値をバイナリ値に変換するために使用される。一般に、式(5)の目的関数を用いた後に得られた候補視点に基づいて、縮小した可視性マトリクスM
Rが生成され、目的関数を使用して、しきい値T
2に基づいて最小C’を決定する。式(5)の目的関数は、緩和整数計画法を使用して、候補視点(式(4)を用いて決定した候補視点)から最適な1組の視点を決定する。最適化後に、非ゼロのカバレッジ値Cを有する候補視点は、関連する優先度コストに基づいてオブジェクトの最大情報を含む全てのセルの可視性を保証する最適な1組の視点v
xを構成する。複数の視点から決定した最適な1組の視点の例を、
図5Aを参照して示し説明する。こうして、最適な1組の視点は、領域の最大面積を最適にカバーし、少なくとも1台のロボットによって操作する必要がある領域内のオブジェクトに関連する最大の情報を取り込む。最適な1組の視点は、通過順序生成モジュール214に提供される。
【0052】
通過順序生成モジュール214は、メモリ204内の命令と連携して、少なくとも1台のロボットが最適な1組の視点を巡回するための通過順序を決定するように構成される。こうして、通過順序生成モジュール214は、対応する最適な対をなす視点同士の間の距離に基づいて、最適な1組の視点vx(すなわち、vx=v1、v2、v3、v4)から最適な各対をなす視点同士の間の通過コストを決定するように構成される。一例では、1組の視点の各対をなす視点同士の間のユークリッド距離を決定することができる。例えば、視点v1とv2との間、v1とv3との間、v1とv4との間、v2とv3との間等の距離を決定することができる。一般に、全ての可能な最適な対をなす視点同士の間の距離を示す距離マトリクスDが生成される。各対をなす視点同士の間の距離を決定する際に、ロボットの運動学的制約も考慮することができることに留意されたい。
【0053】
通過順序生成モジュール214は、経路目的関数を用いて少なくとも1台のロボットの通過順序を特定するようにさらに構成される。経路目的関数は、最適な各対をなす視点に関連付けられた通過コストと、最適な対をなす視点の少なくとも1つの最適な視点に関連付けられた優先度コストとに基づいている。換言すれば、経路目的関数は、距離マトリクスDと、最適な各対をなす視点の少なくとも1つの最適な視点(つまり、最適な1組の視点の移動元視点及び移動先視点)に関連付けられた優先度コストに基づいている。具体的には、移動先視点の優先度コストを使用して、以下の式(6)のように経路目的関数を解く。
cost経路j=経路長さ(vi,vj)*(1-Pj)-----------式(6)
ここで、viは、最適な1組の視点からの移動元視点であり、
vjは、最適な1組の視点からの移動先視点であり、
Pjは、移動先視点に関連付けられた優先度コストである。
【0054】
経路目的関数は、経路長さ(つまり、移動元視点と移動先視点との間の距離)と優先度コストとの間のバランスを提供し、それによって、最適な通過順序を決定する際に、経路長さと視点の優先度コストとの組合せが最小化されるようにする。従って、近くにある情報量の多い望ましい視点が優先される。一般に、経路目的関数は、移動先視点の優先度コストを考慮した巡回セールスマン問題として定式化される。最適な移動先視点に関連付けられた優先度コストの追加により、情報が少ない最適な視点が近くにある場合でも、少なくとも1台のロボットがより多くの情報を有する視点に最初に巡回することが保証される。より具体的には、経路目的関数は、終了基準に到達する前に情報ゲインを最大化するように優先度関数で定式化される。シナリオの一例では、領域を探索する少なくとも1台のロボットの終了基準は、全てのセルが確実にカバーされるようにすることである。全てのセルがカバーされるまで全てのセルを探索すると費用がかかる可能性があるため、通常は時間ベースの終了が指定される。例えば、この領域を4分間探索すると、次に、オブジェクトの操作がトリガーされる可能性がある。別の例示的なシナリオでは、指定した終了基準は、有効なオブジェクトが検出されるまで探索し、オブジェクト検出の直後に操作をトリガーすることであり得る。このようなシナリオでは、領域全体をカバーするのではなく、最適な1組の視点からオブジェクトに関連する最大限の情報を照合することが優先される。こうして、通過順序生成モジュール214は、少なくとも1台のロボットに関連するカバレッジ経路の総コストが最小化されるように、最適な1組の視点の通過順序を生成する。最適な1組の視点の通過順序は、カバレッジ経路管理モジュール216及び少なくとも1台のロボットと共有される。
【0055】
カバレッジ経路管理モジュール216は、メモリ204内の命令205と連携して、ロボットが辿る経路を管理するように構成される。より具体的には、通過順序に基づく最適な1組の視点の第1の視点と第2の視点との間の滑らかな移行が、キュービックベジェ(cubic Bezier)曲線を用いて生成される。一般に、これらの滑らかな経路は、各最適な視点に正接する制御点にキュービックベジェ曲線をフィッティングすることによって生成される。視点同士の間の滑らかな移行により、非ホロノミックな(non-holonomic)制約を有するロボットが適切な位置合わせで望ましい視点(つまり、移動先視点)に近づくことができ、時間のかかるインプレース(in-place:その場での)回転を実行する必要性を削減する。最適な移動先視点への滑らかな経路がブロックされている場合に、衝突回避プランナー(planner:計画装置)を使用して、衝突のないパスを生成することができる。こうして、カバレッジ経路管理モジュール216は、少なくとも1台のロボットの運動学的制約を考慮して、少なくとも1台のロボットが最適な1組の視点を巡回するためのカバレッジ経路の計算を実行し、これによって、ロボットがカバレッジ経路の近くに留まりながら最適な移動先視点に確実に到達するようにする。このアプローチの別の利点は、滑らかな経路の生成プロセス中に、接線方向に基づいてロボットの動作方向を選択できることである。これにより、ロボットは、hi-fi(high-fidelity)センサを関心のあるオブジェクトに向けた状態で、最適な1組の視点の最適な移動先視点に近づくことができる。このようなアプローチにより、オブジェクトの早期検出が保証される。
【0056】
一実施形態では、制御信号は、1つ又は複数のセンサによって取り込んだ1つ又は複数のオブジェクトの各観察結果の質に基づいて、少なくとも1台のロボットによって生成される。より具体的には、別の最適な視点から最適な移動先視点に到達する前であってもオブジェクトが高精度且つ明瞭に取り込まれる場合に、少なくとも1台のロボットはカバレッジ経路管理モジュール216のための制御信号を生成する。従って、カバレッジ経路管理モジュール216は、通過順序の最適な対をなす視点同士の間を通過する少なくとも1台のロボットから受信した制御信号に基づいて、カバレッジ経路の再計画を開始する。こうして、カバレッジ経路管理モジュール216は、通過順序から次の最適な姿勢を選択し、通過順序の次の最適な姿勢に基づいて少なくとも1台のロボットのカバレッジ経路を更新するように構成される。一般に、オブジェクトが視点同士の間の滑らかな移行中に早期に検出されるため、ロボットは、最適な移動先視点に到達する前であっても、カバレッジ経路の再計画をトリガーする場合がある。
【0057】
一般に、滑らかな経路移行は、終了基準が、カバレッジだけでなく、関心のあるオブジェクトの有効な検出に依存する場合に特に役立ち、この検出は、少なくとも1台のロボットがhi-fiセンサを関心のあるオブジェクトに向けて滑らかに移行する場合に可能である。上記の例では、オブジェクトの早期検出及びそれによる早期終了(オブジェクトを事前に検出するため)に役立ち得、そのため、少なくとも1台のロボットは最適な移動先視点までずっと進むのではなく、次の最適な視点に切り替える。これは、少なくとも1台のロボットが通過する移動時間と距離との両方を最小化するのに役立ち、指定した期間内の顕著な検出の数を増やす。1組の視点及び少なくとも1台のロボットが辿るカバレッジ経路の通過順序を生成する例が、
図5A及び
図5Bを参照して示し、説明する。
【0058】
ここで、
図5A及び
図5Bを参照すると、本開示の一実施形態による、最適な1組の視点v
1、v
2、及びv
3と、最適な1組の視点v
1、v
2、及びv
3の通過順序に基づくカバレッジ経路とを示す領域502の概略
図500が示される。この表現例500では、最適な1組の視点v
1、v
2、及びv
3は、
図2を参照して説明した技術を用いて識別される。さらに、最適な1組の視点の通過順序は、経路目的関数に基づいて決定され、これにより、情報ゲインが最大となる視点が優先的に巡回されることが保証される。こうして、ロボット510の通過順序は、v
3、v
1、及びv
2である。
【0059】
図5Bに示されるように、ロボット510は、最適な視点v
3からデータを取り込み、次に通過順序に基づいて最適な視点v
1に移動する。最適な視点v
3とv
1との間の移行は、滑らかな曲線504として表される。ロボット510が視点v
3からv
1に移行すると、ロボット510のhi-fiセンサ(
図5A及び
図5Bには図示せず)が、移行中及び視点v
1に到達する前であっても、関心のあるオブジェクトO
2に向くように整列される。
図5Bから明らかなように、ロボット510は、同じオブジェクトO
2のデータを取り込むための視点v
1に到達する前の滑らかな移行中に、位置506でオブジェクトO
2のデータを取り込む。オブジェクトのそのような早期検出は、(オブジェクトを事前に検出するため)早期終了に役立ち、そのため、少なくとも1台のロボットがカバレッジ経路の再計画を開始し、それにより移動距離と全ての最適な視点を巡回するのにかかる時間とを最小限に抑える。オブジェクトのこれらの検出は、以下に説明するように、オブジェクトを操作するために使用される。
【0060】
ここで
図2を参照すると、オブジェクト操作モジュール218は、メモリ204内の命令と連携して、1つ又は複数のオブジェクトの各オブジェクトを領域内の移動元位置から移動先位置に移動するためのピックアップ順序を決定するように構成される。従って、オブジェクト操作モジュール218は、1つ又は複数のオブジェクトの各オブジェクトに関して障害物制約を決定するように構成される。一例では、カバレッジ経路を通過するロボットからのデータは、オブジェクトO
1を移動させた後にのみオブジェクトO
3を移動させることができることを示し得る。こうして、オブジェクト操作モジュール218は、データ処理モジュール210から領域内の1つ又は複数のオブジェクトの各オブジェクトの複数のオブジェクト特徴を受信するように構成される。既に説明したように、ロボットはカバレッジ経路を通過し、通過中に、ロボットは、オブジェクトに関連するデータを取り込み、通信インターフェイス208を介してデータ処理モジュール210にデータを送る。データ処理モジュール210は、データの処理に基づいてオブジェクト特徴を決定するように構成される。
【0061】
一実施形態では、1つ又は複数のオブジェクトの各オブジェクトに関する障害物制約は、各オブジェクトの複数のオブジェクト特徴に基づいて決定される。一例では、データから決定されるオブジェクトの寸法及びオブジェクトの場所/位置を使用して、障害物制約を決定することができる。障害物制約を決定する例について、
図6を参照して説明する。
【0062】
ここで
図6を参照すると、本開示の例示的な実施形態による、他のオブジェクトによる妨害を示す領域602に配置されたオブジェクト604、606、608、610、612、614の概略
図600が示されている。既に説明したように、ロボットは最適な1組の視点の通過順序に基づいて領域を探索する。探索中に、ロボットは、オブジェクト604、606、608、610、612、614を識別し、オブジェクト604、606、608、610、612、614のそれぞれのオブジェクト特徴を照合する。より具体的には、ロボットは、それらオブジェクトの操作に関する位置、向き、場所、寸法等に関連するデータを照合する。シナリオ例では、これらのオブジェクトは、他のオブジェクトによってブロック/妨害されているため、操作できない。
図6に示されるように、それらが拘束されているオブジェクトと共にオブジェクトのリストが生成され、表1に示される。
【表1】
【0063】
図6から明らかなように、オブジェクトP1及びP5は、どのオブジェクトにも遮られていない。しかしながら、オブジェクトP2はP1及びP3によって遮られ、オブジェクトP3はオブジェクトP5によって遮られ、以下同様である。ロボットがオブジェクトP2を移動させるためには、ロボットはオブジェクトP1及びP3を移動させる必要があり、オブジェクトP3を移動させるためには、オブジェクトP5を移動させる必要がある。こうして、オブジェクト操作モジュール218は、各オブジェクトの障害物制約に基づいて表1を縮小(reduce)するように構成される。例えば、オブジェクトP2がオブジェクトP3に対して制約され、オブジェクトP3がオブジェクトP5に対して制約されている場合に、次に縮小した制約には全てのサブ制約が含まれる。この場合に、オブジェクトP2はオブジェクトP3及びP5に対して制約される。表現600のためのそのような縮小した障害物制約テーブルを、表2に示す。
【表2】
【0064】
こうして、オブジェクト操作モジュール218は、これらの障害物制約を決定し、それをロボットと動的に共有して、オブジェクト604、606、608、610、612、614を操作する。より具体的には、オブジェクト操作モジュール218は、障害物制約に基づいて領域内のオブジェクトのピックアップ順序を決定する。例えば、ロボットのピックアップ順序は、制約のないオブジェクトから始まる。この表現例では、オブジェクトP1又はP5は、制約がなく、ピックアップ順序で最初に表示される可能性があるため、最初に移動させることができる。このような場合に、複数のオブジェクトに障害物の制約がなく、ヒューリスティック(heuristic)を使用してピックアップ順序を最適化することができる。一例では、ロボットにより近いオブジェクトがピックアップ順序で最初に表示され、他のオブジェクトがその後にリストされる。
【0065】
ここで
図2を参照すると、オブジェクト操作モジュール218は、少なくとも1台のロボットが1つ又は複数のオブジェクトの各オブジェクトを移動元位置から移動先位置に移動させた後に、障害物制約を再評価するように構成される。より具体的には、オブジェクトを移動させた後にピックアップ順序が変更され得る。つまり、障害物制約は、1つのオブジェクトの移動に基づいて動的に変更され得る。そのため、優先順位の高いオブジェクトを移動させた後で、障害物制約が再評価される。上記の表2の表現例では、オブジェクトP1及びP5を移動させた後に、オブジェクトP2及びP3には制約がなく、再評価に基づいて決定されるP2又はP3のいずれかを移動させることができる。従って、少なくとも1台のロボットのピックアップ順序が、再評価した障害物制約に基づいて更新される。全てのオブジェクトを移動させた後に再評価される障害物制約に基づくオブジェクト604、606、608、610、612、614のピックアップ順序の例は、P1->P5->P3->P6->P2->P4の通りになり得る。表現600のピックアップ順序は、例示のみを目的として示され、ピックアップ順序は、オブジェクト同士の間の距離、ロボットと移動対象オブジェクトとの間の距離、オブジェクト移動の複雑さ等の他の制約を考慮に入れることができることに留意されたい。
【0066】
システム150について倉庫環境を参照して説明しているが、本開示の様々な実施形態は、本開示の範囲から逸脱することなく、捜索救助任務、ショッピングリスト内のオブジェクトを照合する(collate:順に並べる)ための商業又は産業インフラストラクチャ、構造化されていない駐車場の監視等にも使用できることに留意されたい。さらに、本開示の実施形態は、割り当てられたタスクに基づくカバレッジ経路計画のために同時に展開される複数のロボットに拡張され得る。自律型移動装置のための最適化したカバレッジ経路を生成するための方法について、次に
図7を参照して説明する。
【0067】
図7は、本開示の一実施形態による、ロボットのカバレッジ経路を最適化するための方法700を示すフローチャートである。フロー図に示される方法700は、例えば、システム150によって実行され得る。フロー図の動作、及びフロー図における動作の組合せは、例えば、1つ又は複数のコンピュータプログラム命令を含むソフトウェアの実行に関連付けられたハードウェア、ファームウェア、プロセッサ、回路及び/又は別の装置によって実施され得る。方法700の動作は、システム150の助けを借りて本明細書で説明する。方法700の動作は、ロボット内に組み込まれたプロセッサ等の、システム150以外のシステム/装置の1つ又は複数のプロセッサを用いて説明及び/又は実施することができることに留意されたい。方法700は動作702で開始する。
【0068】
方法700の動作702において、プロセッサが、領域内の少なくとも1台のロボットに関連付けられた1つ又は複数のセンサからデータを受信する。例えば、プロセッサ202は、
図2を参照して示し説明したシステム150等のシステム内で具体化される。既に説明したように、データは、領域内の複数の視点から複数の姿勢で取り込まれる。システム150は、例えば倉庫等の環境の動作を制御する集中型サーバ内で具現化することができ、又は分散方式で、領域を探索するロボット内に統合することができる。データには、レーダー画像、RGB画像、ライダー画像、及び赤外線画像の少なくとも1つが含まれる。
【0069】
方法700の動作704において、優先度コストが、対応する視点で取り込んだデータ内で検出した1つ又は複数のオブジェクト、及び対応する視点で1つ又は複数のセンサによって取り込んだ1つ又は複数のオブジェクトの関心領域に少なくとも基づいて、複数の視点の各視点に割り当てられる。1つ又は複数のセンサによって取り込んだ1つ又は複数のオブジェクトの関心領域は、1つ又は複数のオブジェクトの各オブジェクトの長さ、1つ又は複数のオブジェクトの各オブジェクトの幅、1つ又は複数のオブジェクトの各オブジェクトの大きさ、1つ又は複数のオブジェクトの各オブジェクトの面積、及び1つ又は複数のオブジェクトの各オブジェクトの体積のうちの少なくとも1つに対応する。視点の優先度コストは、
図2、
図4A~
図4Bを参照して説明したように、式(1)、(2)、及び(3)に基づいて決定される。
【0070】
方法700の動作706において、1つ又は複数の目的関数を用いて、複数の視点から最適な1組の視点が特定される。1つ又は複数の目的関数は、複数の視点の各視点に関連付けられた優先度コスト、及び対応する各視点のカバレッジ値に少なくとも基づいている。1つ又は複数の目的関数の例が、式(4)及び(5)によって示される。視点のカバレッジ値は、対応する視点から1つ又は複数のセンサによって取り込まれた領域の面積を示す。1つ又は複数の目的関数に基づいて最適な1組の視点を特定することは、
図2を参照して説明しており、簡潔にするために、ここでは説明しない。
【0071】
方法700の動作708において、少なくとも1台のロボットのカバレッジ経路が、最適な1組の視点に少なくとも基づいて生成される。こうして、最適な1組の視点の通過順序は、最大の情報を有する最適な視点が優先的に巡回されることを保証しながら、通過する経路長さ/距離を最小化する経路目的関数を用いて決定される。その後に、最適な視点同士の間での少なくとも1台のロボットの滑らかな経路移行が、キュービックベジェ曲線を用いて保証され、少なくとも1台のロボットがカバレッジ経路を通過するように構成される。
【0072】
方法700の動作のシーケンスは、それら動作が提示されるのと同じ順序で必ずしも実行する必要はない。さらに1つ又は複数の動作を一緒にしてグループ化し、単一のステップの形で実行してもよく、又は1つの動作に、並行して又は順次実行できるいくつかのサブステップを含めることができる。
【0073】
図1~
図7を参照して開示した方法、又はフロー
図700の1つ又は複数の動作は、1つ又は複数のコンピュータ可読媒体(例えば、1つ又は複数の光学式媒体ディスク等の非一時的なコンピュータ可読媒体)、揮発性メモリコンポーネント(例えば、DRAM又はSRAM等)、又は不揮発性メモリ又はストレージコンポーネント(例えば、ハードドライブ、又はフラッシュメモリコンポーネント等のソリッドステート不揮発性メモリコンポーネント)に格納したコンピュータ実行可能命令を含むソフトウェアを用いて実装することができ、コンピュータ(例えば、ラップトップコンピュータ、ネットブック、ウェブブック、タブレットコンピューティング装置、スマートフォン、又は他のモバイルコンピューティング装置等の任意の適切なコンピュータ)で実行される。そのようなソフトウェアは、例えば、単一のローカルコンピュータ上で実行され得る。
【0074】
図8は、本開示の一実施形態による、自律型移動装置のカバレッジ経路を最適化するための汎用コンピュータのブロック図を示す。コンピュータシステム800は、中央処理装置(「CPU」又は「プロセッサ」)802を含むことができる。プロセッサ802は、少なくとも1つのデータプロセッサを含むことができる。プロセッサ802は、統合システム(バス)コントローラ、メモリ管理制御ユニット、浮動小数点ユニット、グラフィックス処理装置、デジタル信号処理ユニット等の専用処理ユニットを含むことができる。コンピュータシステム800は、システム150(
図2に示される)に類似し得る。
【0075】
プロセッサ802は、I/Oインターフェイス801を介して1つ又は複数の入出力(I/O)装置(図示せず)と通信するように配置され得る。I/Oインターフェイス801は、オーディオ、アナログ、デジタル、モノラル、RCA、ステレオ、IEEE-1394、シリアルバス、USB(Universal Serial Bus)、赤外線、PS/2、BNC、同軸、コンポーネント、コンポジット、DVI(digital visual interface)、高解像度マルチメディアインターフェイス(HDMI(登録商標))、無線周波数(RF)アンテナ、S-ビデオ、VGA、IEEE802.n/b/g/n/x、Bluetooth、セルラ(例えば、符号分割多元接続(CDMA)、高速パケットアクセス(HSPA+)、グローバル移動体通信システム(GSM)、ロングタームエボリューション(LTE)、WiMax等であるが、これらに限定されない、通信プロトコル/方法を使用し得る。
【0076】
I/Oインターフェイス801を用いて、コンピュータシステム800は、1つ又は複数のI/O装置と通信することができる。例えば、入力装置810は、アンテナ、キーボード、マウス、ジョイスティック、(赤外線)リモコン、カメラ、カードリーダ、ファックス機、ドングル、バイオメトリックリーダ、マイク、タッチスクリーン、タッチパッド、トラックボール、スタイラス、スキャナ、ストレージ装置、トランシーバ、ビデオ装置/ソース等であってもよい。出力装置811は、プリンタ、ファックス機、ビデオディスプレイ(例えば、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)等)、プラズマ、プラズマディスプレイパネル(PDP)、有機発光ダイオードディスプレイ(OLED)等)、オーディオスピーカ等であってもよい。
【0077】
いくつかの実施形態では、コンピュータシステム800は、通信ネットワーク809を介してリモート装置812に接続される。リモート装置812は、ロボットからデータを受信する周辺装置であり得る。プロセッサ802は、ネットワークインターフェイス803を介して通信ネットワーク809と通信するように配置され得る。ネットワークインターフェイス803は、通信ネットワーク809と通信することができる。ネットワークインターフェイス803は、ダイレクトコネクト、イーサネット(例えば、ツイストペア10/100/1000ベースT)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、トークンリング、IEEE802.11a/b/g/n/x等を含むが、これらに限定されない、通信プロトコルを使用することができる。通信ネットワーク809は、直接相互接続、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、無線ネットワーク(例えば、無線アプリケーションプロトコルを使用する)、インターネット等を含むことができるが、これらに限定されない。ネットワークインターフェイス803及び通信ネットワーク809を用いて、コンピュータシステム800は、リモート装置812と通信することができる。ネットワークインターフェイス803は、ダイレクトコネクト、イーサネット(例えば、ツイストペア10/100/1000ベースT)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、トークンリング、IEEE802.11a/b/g/n/x等を含むが、これらに限定されない、接続プロトコルを使用することができる。
【0078】
通信ネットワーク809は、直接相互接続、電子商取引ネットワーク、ピアツーピア(P2P)ネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、無線ネットワーク(例えば、無線アプリケーションプロトコルを使用する)、インターネット、Wi-Fi、3GPP(登録商標)等を含むが、これらに限定されない。第1のネットワーク及び第2のネットワークは、専用ネットワーク又は共有ネットワークのいずれかであり、互いに通信するためのハイパーテキスト転送プロトコル(HTTP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、無線アプリケーションプロトコル(WAP)等、様々なプロトコルを使用する様々なタイプのネットワークの関連付けを表す。さらに、第1のネットワーク及び第2のネットワークは、ルータ、ブリッジ、サーバ、コンピューティング装置、ストレージ装置等を含む、様々なネットワーク装置を含み得る。
【0079】
いくつかの実施形態では、プロセッサ802は、ストレージインターフェイス804を介してメモリ805(例えば、
図8に図示していないRAM、ROM等)と通信するように配置され得る。ストレージインターフェイス804は、メモリ805に接続してもよく、メモリ805は、メモリドライブ、リムーバブルディスクドライブを含むが、これらに限定されず、SATA(Serial Advanced Technology Attachment)、IDE(Integrated Drive Electronics)、IEEE-1394、USB(Universal Serial Bus)、ファイバーチャネル、SCSI(Small Computer System Interface)等の接続プロトコルを使用する。メモリドライブは、ドラム、磁気ディスクドライブ、光磁気ドライブ、光ドライブ、RAID(Redundant Array of Independent Discs)、ソリッドステートメモリ装置、ソリッドステートドライブ等をさらに含み得る。
【0080】
メモリ805は、ユーザインターフェイス806、オペレーティングシステム807、ウェブサーバ808等を含むがこれらに限定されない、プログラム又はデータベースコンポーネントのコレクションを格納することができる。いくつかの実施形態では、コンピュータシステム800は、本開示で説明しているデータ、変数、レコード等のユーザ/アプリケーションデータを格納することができる。このようなデータベースは、Oracle(登録商標)又はSybase(登録商標)等のフォールトトレラントで、リレーショナルで、スケーラブルで、安全なデータベースとして実装することができる。
【0081】
オペレーティングシステム807は、コンピュータシステム800のリソース管理及び操作を容易にすることができる。オペレーティングシステムの例には、APPLE MACINTOSH(登録商標)、OS X、UNIX(登録商標)、UNIX(登録商標)ライクのシステムディストリビューション(例えば、BSD(BERKELEY SOFTWARE DISTRIBUTION(登録商標)、FREEBSD(登録商標)、NETBSD(登録商標)、OPENBSD(登録商標)等)、LINUX DISTRIBUTIONS(登録商標)(例えば、RED HAT(登録商標)、UBUNTU(登録商標)、KUBUNTU(登録商標)等)、IBM(登録商標) OS/2、MICROSOFT(登録商標) WINDOWS(登録商標) (XP(登録商標)、 VISTA(登録商標)/7/8, 10等)、APPLE(登録商標) IOS(登録商標)、GOOGLE(登録商標) ANDROID(登録商標)、BLACKBERRY(登録商標) OS等が含まれるが、これらに限定されない。
【0082】
いくつかの実施形態では、コンピュータシステム800は、ウェブブラウザ808に、格納したプログラムコンポーネントを実施させることができる。ウェブブラウザ808は、例えば、MICROSOFT(登録商標)INTERNET EXPLORER(登録商標)、GOOGLE(登録商標)CHROME(登録商標)、MOZILLA(登録商標)FIREFOX(登録商標)、APPLE(登録商標)SAFARI(登録商標)等のハイパーテキスト表示アプリケーションであってもよい。安全なウェブブラウジングは、安全なHTTPS(Hypertext Transport Protocol)、SSL(Secure Sockets Layer)、TLS(Transport Layer Security)等を用いて提供してもよい。ウェブブラウザ808は、AJAX(登録商標)、DHTML(登録商標)、ADOBER FLASH(登録商標)、JAVASCRIPT(登録商標)、JAVA(登録商標)、API(Application Programming Interfaces)等の機能を利用することができる。いくつかの実施形態では、コンピュータシステム800は、メールサーバに格納したプログラムコンポーネントを実装することができる。メールサーバは、MICROSOFT Exchange等のインターネットメールサーバであってもよい。メールサーバは、ASP(登録商標)、ACTIVEX(登録商標)、ANSI(登録商標) C++/C#、MICROSOFT(登録商標)、.NET(登録商標)、CGI SCRIPTS(登録商標)、JAVA(登録商標)、JAVASCRIPT(登録商標)、PERL(登録商標)、PHP(登録商標)、PYTHON(登録商標)、WEBOBJECTS(登録商標)等の機能を利用することができる。メールサーバは、IMAP(Internet Message Access Protocol)、MAPI(Messaging Application Programming Interface)、MICROSOFT(登録商標)exchange、POP(Post Office Protocol)、SMTP(Simple Mail Transfer Protocol)等の通信プロトコルを利用することができる。いくつかの実施形態では、コンピュータシステム800は、メールクライアントに格納したプログラムコンポーネントを実装することができる。メールクライアントは、APPLE(登録商標) MAIL(登録商標)、MICROSOFT(登録商標) ENTOURAGE(登録商標)、MICROSOFT(登録商標) OUTLOOK(登録商標)、MOZILLA(登録商標) THUNDERBIRD(登録商標)等のメール閲覧アプリケーションであってもよい。
【0083】
さらに、本開示と一致する実施形態を実施する際に、1つ又は複数のコンピュータ可読記憶媒体を利用することができる。コンピュータ可読記憶媒体とは、プロセッサが読み取り可能な情報又はデータを格納できる任意のタイプの物理メモリを指す。こうして、コンピュータ可読記憶媒体は、本明細書で説明する実施形態と一致するステップ又はステージをプロセッサに実行させるための命令を含む、1つ又は複数のプロセッサによる実行のための命令を格納することができる。「コンピュータ可読媒体」という用語は、有形のアイテムを含み、搬送波及び過渡信号を除外する、すなわち非一時的であると理解すべきである。例には、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、コンパクトディスク(CD)ROM、DVD、フラッシュドライブ、ディスク、及び任意の他の既知の物理ストレージメディアが含まれる。
【0084】
本開示の様々な実施形態は、多数の利点を提供する。本開示の実施形態は、自律型移動装置のカバレッジ経路計画のための最適化した方法を提供する。検出したオブジェクトと検出したオブジェクトの関心領域とに基づいて各視点に優先度コストを割り当てることで、最大の情報を有する視点が優先されることが保証される。さらに、各視点に関連付けられた優先度コストに基づいて最適な1組の視点を決定することにより、最大の情報を有する視点が最適な視点として選択されることが保証される。さらに、最適な1組の視点の通過順序を決定するための優先度コストの統合により、経路長と視点の優先度コストとの組合せが最小になるように、近くにある最大情報を有する視点が優先されることが保証される。より具体的には、経路目的関数は、終了基準に到達する前に情報ゲインを最大化する優先度関数で定式化される。さらに、滑らかな経路移行として生成されたカバレッジ経路は、オブジェクトの早期検出及びそれによる早期終了を保証し、それにより少なくとも1台のロボットが通過する移動時間と距離との両方を最小限に抑え、指定した期間内の顕著な検出の数を増やす。
【0085】
一般に、本明細書で使用する用語は、一般に「オープン」な用語として意図していることを当業者は理解するだろう(例えば、「~を含む」という用語は、「~を含むが、これらに限定されない」と解釈すべきであり、「~を有する」という用語は「~を少なくとも有する」と解釈すべきであり、「~を含む」という用語は「~を含むがこれに限定されない」等と解釈すべきである)。例えば、理解を助けるために、詳細な説明には、列挙(recitation)を紹介するための「少なくとも1つ」及び「1つ又は複数」という導入語句の使用を含む場合がある。しかしながら、そのような語句の使用は、「1つ又は複数」又は「少なくとも1つ」という導入句及び「1つの(a, an)」等の不定冠詞(例えば、「a」及び/又は「an」は通常、「少なくとも1つ」又は「1つ又は複数」を意味すると解釈されるべきである。)がそのような列挙に含まれている場合であっても、不定冠詞「1つの(a, an)」による列挙の導入が、そのような導入された記載を含む明細書の特定の部分を、そのような列挙を1つだけ含む発明に限定することを意味すると解釈すべきではない。同じことは、そのような列挙を導入するために使用される定冠詞の使用にも当てはまる。さらに、導入した明細書の列挙の特定の部分が明示的に引用されている場合でも、当業者は、そのような列挙は通常、少なくとも列挙された数を意味すると解釈すべきであることを認識するであろう(例えば、「2つの列挙」の単なる列挙は、他の修飾なしで、典型的に、少なくとも2回の列挙又は2回以上の列挙を意味する)。
【0086】
様々な態様及び実施形態を本明細書に開示しているが、他の態様及び実施形態は当業者には明らかであろう。本明細書に開示する様々な態様及び実施形態は、例示を目的としており、限定を意図するものではなく、真の範囲及び精神は、以下の詳細な説明によって示される。