(57)【要約】      （修正有）【課題】移動ロボット・デバイスの経路計画を効率的かつ低コストで作成できるエリア・カバレッジ・システムを提供する。【解決手段】区域分解を用いてエリア・カバレッジ経路計画を作成する方法は、複数のランドマークを有する作業現場地図上で、開始点を特定する。複数のランドマークのうち、第１ランドマークを特定する。障害物を検出するまで、第１ランドマークの周囲において経路を発生する。障害物の検出に応答して、次のランドマークまで経路を直線状にする。次のランドマーク周囲において経路を発生する。【選択図】図１
2011138502.tif 000002
【特許請求の範囲】
【請求項１】
エリア・カバレッジ経路計画の作成方法であって、
複数のランドマークを有する作業現場地図上において開始点を特定するステップと、
前記複数のランドマークにおいて第１ランドマークを特定するステップと、
障害物を検出するまで、前記第１ランドマーク周囲において経路を発生するステップと、
前記障害物の検出に応答して、前記経路を次のランドマークの近傍まで直線状にするステップと、
前記次のランドマーク周囲において前記経路を発生するステップと、
を含む、方法。
【請求項２】
請求項１記載の方法において、前記第１ランドマーク周囲の経路は、１組の同心円状円弧である、方法。
【請求項３】
請求項１記載の方法において、前記第１ランドマーク周囲において前記経路を発生するステップは、更に、
第１作業現場境界線を検出したか否か判定するステップと、
前記第１作業現場境界線を検出したという判定に応答して、前記第１作業現場境界線に沿って、前記第１ランドマークから予め定められた幅だけ遠ざかるように前記経路を移動させるステップと、
前記第１ランドマーク周囲において前記経路を続けるステップと、
を含む、方法。
【請求項４】
請求項３記載の方法であって、更に、
前記第１作業現場境界線が検出されていないという判定に応答して、障害物を検出したか否か判定するステップと、
障害物が検出されていないという判定に応答して、前記第１ランドマーク周囲において前記経路を続けるステップと、
を含む、方法。
【請求項５】
請求項４記載の方法であって、更に、
前記経路が前記作業現場地図をカバーするまで、前記複数のランドマークの周囲において前記経路を繰り返し発生するステップと、
前記作業現場地図をカバーした前記経路を用いて、経路計画を作成するステップと、
を含む、方法。
【請求項６】
エリア・カバレッジ経路計画の実行方法であって、
ランドマークから所望の距離だけ離れたところにおいて、前記ランドマークの予測幅を画素単位で決定するステップと、
前記ランドマークを有する画像を特定するステップと、
前記画像を用いて、前記ランドマークの観察幅を決定するステップと、
前記ランドマークの観察幅を前記ランドマークの予測幅と比較するステップと、
前記観察幅および前記予測幅の比較に基づいて、自律車両を動かすためにメッセージを車両制御プロセスに送るステップと、
を含む、方法。
【請求項７】
請求項６記載の方法であって、更に、
前記ランドマークから成るフィルタ処理画像を形成するために、前記画像をフィルタ処理するステップを含む、方法。
【請求項８】
請求項６記載の方法であって、更に、前記画像において垂直方向に前記ランドマークの方位を正規化するステップを含む、方法。
【請求項９】
請求項６記載の方法において、前記ランドマークの観察幅を前記ランドマークの予測幅と比較するステップは、更に、
前記ランドマークの観察幅が前記ランドマークの予測幅よりも大きいか否か判定するステップと、
前記観察幅が前記予測幅よりも大きいという判定に応答して、前記自律車両を前記ランドマークから遠ざけるように動かすために、メッセージを前記車両制御プロセスに送るステップと、
を含む、方法。
【請求項１０】
請求項９記載の方法であって、更に、
前記観察幅が前記予測幅よりも大きくないという判定に応答して、前記観察幅が前記予測幅未満であるか否か判定するステップと、
前記観察幅が前記予測幅未満であるという判定に応答して、前記自律車両を前記ランドマークに向けて動かすために、メッセージを前記車両制御プロセスに送るステップと、
を含む、方法。  
【請求項１１】
請求項１０記載の方法であって、更に、
障害物を検出したか否か判定するステップと、
障害物が検出されていないという判定に応答して、ランドマークを有する次の画像を特定するステップと、
を含む、方法。
【請求項１２】
経路計画の実行方法であって、
複数のランドマークを有する作業現場の作業現場地図を受け取るステップと、
前記作業現場地図を用いて、前記作業現場に対して複数のエリア・カバレッジ格子エレメントを有するエリア・カバレッジ格子地図を作成するステップと、
前記作業現場地図および前記エリア・カバレッジ格子地図を用いて、前記作業現場について経路計画を作成するステップと、
前記作業現場地図上の前記複数のランドマークに未だ行っていないの印を付けるステップと、
前記複数のエリア・カバレッジ格子エレメントを未カバーとして初期化するステップと、
前記作業現場においてエリア・カバレッジ・タスクを実行するステップと、
を含む、方法。
【請求項１３】
請求項１２記載の方法において、前記作業現場地図は、複数のランドマーク位置、複数のランドマーク属性、および複数の障害物のうち少なくとも１つを含む、方法。
【請求項１４】
請求項１２記載の方法であって、更に、
前記作業現場地図上において、未だ行っていないと印されているランドマークを識別するステップと、
前記未だ行っていないと印されているランドマークに進むように、メッセージを車両制御プロセスに送るステップと、
前記ランドマーク周囲の経路上において、エリア・カバレッジ行動を実行するステップと、
を含む、方法。
【請求項１５】
請求項１４記載の方法であって、更に、
障害物を検出したか否か判定するステップと、
前記障害物が検出されたという判定に応答して、前記作業現場地図上において、前記未だ行っていないと印されているランドマークに、既に行ったの印を付けるステップと、
前記既に行ったと印されているランドマークの関連するエリア・カバレッジ格子エレメントにカバー済みの印を付けるステップと、
を含む、方法。
【請求項１６】
請求項１２記載の方法であって、更に、
未だ行っていないと印されているランドマークが未だ残っているか否か判定するステップと、
未だ行っていないと印されているランドマークが未だ残っているという判定に応答して、前記作業現場地図上において未だ行っていないと印されている次のランドマークを識別するステップと、
前記未だ行っていないと印されている前記次のランドマークに進むために、メッセージを車両制御プロセスに送るステップと、
を含む、方法。
【請求項１７】
請求項１６記載の方法であって、更に、
未だ行っていないと印されているランドマークが残っていないという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているか否か判定するステップと、
未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントと関連のある既に行ったランドマークまで前記経路計画に沿って進めるために、メッセージを前記車両制御プロセスに送るステップと、
前記既に行ったランドマーク周囲の経路において、エリア・カバレッジ行動を実行するステップと、
を含む、方法。
【請求項１８】
経路計画の実行方法であって、
作業現場についての複数のランドマーク属性および障害物情報を受け取るステップと、
複数の格子エレメントを有するエリア・カバレッジ格子地図を作成するステップと、
前記作業現場の作業現場エリアの画像を取得するステップと、
前記画像においてランドマークが特定されたか否か判定するステップと、
前記画像においてランドマークが特定されたという判定に応答して、前記特定されたランドマークが既に行ったものであるか否か判定するステップと、
前記特定されたランドマークが未だ行っていないという判定に応答して、前記特定されたランドマークまでの経路計画を計算するステップと、
を含む、方法。
【請求項１９】
請求項１８記載の方法において、前記複数のランドマーク属性は、ランドマーク記述、ランドマーク画像、およびランドマーク特性のうち少なくとも１つを含む、方法。
【請求項２０】
請求項１８記載の方法において、自律車両と関連のある視覚システムを用いて、前記作業現場エリアの画像を取得する、方法。
【請求項２１】
請求項１８記載の方法であって、更に、
前記画像においてランドマークが特定されていないという判定に応答して、複数のカメラを用いて、度単位の視野にゼロと１との間の値を乗算した積である値だけ回転させて、取得される追加画像において画像の重複ができるようにして、前記作業現場エリアにおいて前記ランドマークを検索するステップを含む、方法。
【請求項２２】
請求項２１記載の方法であって、更に、
前記取得した追加画像において、前記ランドマークが特定されたか否か判定するステップと、
前記取得した追加画像において、前記ランドマークが特定されていないという判定に応答して、前記複数のカメラが３６０度回転したか否か判定するステップと、
前記複数のカメラが３６０度回転していないという判定に応答して、取得される追加画像において画像の重複ができるように、度単位の視野にゼロと１との間の値を乗算した積である値だけ前記複数のカメラを回転させるステップと、
を含む、方法。
【請求項２３】
請求項２２記載の方法であって、前記取得した追加画像において、前記ランドマークが特定されたという判定に応答して、前記特定されたランドマークが既に行ったものであるか否か判定するステップと、
前記特定されたランドマークが未だ行っていないという判定に応答して、前記特定されたランドマークまでの経路計画を計算するステップと、
を含む、方法。
【請求項２４】
請求項１８記載の方法であって、更に、
前記特定されたランドマークが既に行ったものであるという判定に応答して、全ての格子地図エレメントがカバーされているか否か判定するステップと、
全ての格子地図エレメントがカバーされていないという判定に応答して、次の作業現場エリアのための次の画像を取得するステップと、
前記次の画像において次のランドマークが特定されたか否か判定するステップと、
を含む、方法。
【請求項２５】
エリア・カバレッジ経路計画の作成装置であって、
複数のランドマークを用いて、作業現場のエリア・カバレッジ経路計画を作成するように構成されたプロセッサ・ユニットと、
前記プロセッサ・ユニットから受け取った前記作業現場のエリア・カバレッジ経路計画を、可動システムを用いて実行するように構成されている車両制御プロセスと、
を含む、装置。
【請求項２６】
請求項２５記載の装置において、前記プロセッサ・ユニットは、更に、前記複数のランドマークを有する作業現場の作業現場地図を受け取り、前記作業現場地図を用いて、前記作業現場に対して複数のエリア・カバレッジ格子エレメントを有するエリア・カバレッジ格子地図を作成し、前記作業現場地図および前記エリア・カバレッジ格子地図を用いて、前記作業現場について経路計画を作成し、前記作業現場地図上の前記複数のランドマークに未だ行っていないの印を付けるステップと、前記複数のエリア・カバレッジ格子エレメントを未カバーとして初期化するように構成された、装置。
【請求項２７】
請求項２６記載の装置において、前記可動システムは、更に、前記作業現場においてエリア・カバレッジ・タスクを実行するように構成された、装置。
【請求項２８】
請求項２６記載の装置において、前記作業現場地図は、複数のランドマーク位置、複数のランドマーク属性、および複数の障害物のうち少なくとも１つを含む、装置。
【請求項２９】
請求項２６記載の装置において、前記プロセッサ・ユニットは、更に、前記作業現場地図上において、未だ行っていないと印されているランドマークを識別し、前記未だ行っていないと印されているランドマークに進むように、メッセージを車両制御プロセスに送るように構成された、装置。
【請求項３０】
請求項２６記載の方法において、前記プロセッサ・ユニットは、更に、障害物が検出されたか否か判定し、前記障害物が検出されたという判定に応答して、前記作業現場地図上において、前記未だ行っていないと印されているランドマークに、既に行ったの印を付け、前記既に行ったと印されているランドマークの関連するエリア・カバレッジ格子エレメントにカバー済みの印を付けるように構成された、装置。
【請求項３１】
請求項２６記載の装置において、前記プロセッサ・ユニットは、更に、未だ行っていないと印されているランドマークが未だ残っているか否か判定し、未だ行っていないと印されているランドマークが未だ残っているという判定に応答して、前記作業現場地図上において未だ行っていないと印されている次のランドマークを識別し、前記未だ行っていないと印されている前記次のランドマークに進むために、メッセージを車両制御プロセスに送るように構成された、装置。
【請求項３２】
請求項２６記載の装置において、前記プロセッサ・ユニットは、更に、未だ行っていないと印されているランドマークが残っていないという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているか否か判定し、未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントと関連のある既に行ったランドマークまで前記経路計画に沿って進めるために、メッセージを前記車両制御プロセスに送り、前記既に行ったランドマーク周囲の経路において、エリア・カバレッジ行動を実行するように構成された、装置。
【請求項３３】
請求項２５記載の装置であって、更に、
前記作業現場の複数の画像を取り込むように構成された視覚システムを含む、装置。
【請求項３４】
エリア・カバレッジ経路計画の作成装置であって、
作業現場の複数のランドマークを用いて、障害物が検出されるまで第１ランドマーク周囲において経路を発生することによって、エリア・カバレッジ経路計画を作成し、前記障害物が検出されたことに応答して、次のランドマークの近傍まで前記経路を直線状とし、前記次のランドマークの周囲において前記経路を発生するように構成されているプロセッサ・ユニットと、
前記プロセッサ・ユニットから受け取った前記作業現場に対する前記エリア・カバレッジ経路計画を、可動システムを用いて実行するように構成された車両制御プロセスと、
を含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互引用
本願は、"System and Method for Deploying Portable Landmarks"（可搬型ランドマークの配備システムおよび方法）と題し本願と同じ譲受人に譲渡された同時係属中の米国特許出願第 号（代理人整理番号第１８８８５−ＵＳ号）、"Enhanced Visual Landmark for Localization"（位置確認のための改良型視覚ランドマーク）と題し本願と同じ譲受人に譲渡された同時係属中の米国特許出願第 号（代理人整理番号第１８８８６−ＵＳ号）に関連がある。これらの出願全ては、ここで引用したことにより、その内容が本願にも含まれるものとする。
発明の分野
本発明は、一般には、ナビゲーション・システムおよび方法に関し、更に特定すれば移動ロボット・ナビゲーション・システムおよび方法に関する。更に一層特定すれば、本開示は、区域分解を用いるエリア・カバレッジ(area coverage)方法およびシステムに関する。
【従来技術】
【０００２】
肉体的作業を行うためのロボット・デバイスの使用は、近年増加している。移動ロボット・デバイスは、種々の異なる作業を行うために用いることができる。これらの移動デバイスは、半自動モードまたは完全自動モードで動作することもできる。ロボット・デバイスの中には、囲まれたエリアにおいて動作することに制約されるものもあり、この囲まれたエリア内における有効範囲(coverage)を得るために異なる方法を用いる。これらのロボット・デバイスは、通例、固定測地およびナビゲーション・システムが統合されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
多くの場合、移動ロボット・デバイスは推測航法、または汎地球測位システム（ＧＰＳ）の使用を拠り所として、エリア・カバレッジを達成する。これらのシステムは、非効率的である傾向があり、法外なコストがかかることが多い。
【課題を解決するための手段】
【０００４】
異なる例示的実施形態は、区域分解を用いてエリア・カバレッジ経路計画を作成する方法を提供する。複数のランドマークを有する作業現場地図上において、開始点を特定する。複数のランドマークにおいて、第１ランドマークを特定する。この第１ランドマークの周囲において、障害物を検出するまで、通路を発生する。障害物の検出に応答して、次のランドマークまで通路を直線状にする。次のランドマークの回りに経路を発生する。
【０００５】
更に、異なる例示的な実施形態は、区域分解を用いてエリア・カバレッジ経路計画を実行する方法を提供する。ランドマークから所望の距離だけ離れたところにおいて、前記ランドマークの予測幅を画素単位で決定する。ランドマークを有する画像を特定する。画像を用いて、前記ランドマークの観察幅を決定する。ランドマークの観察幅を前記ランドマークの予測幅と比較する。観察幅および前記予測幅の比較に基づいて、自律車両を動かすためにメッセージを車両制御プロセスに送る。
【０００６】
更に、異なる例示的な実施形態は、同時位置測定およびマッピングを用いて作業現場地図を作成する方法を提供する。複数のランドマークを有する作業現場を特定する。この作業現場の作業現場地図を作成する。作業現場においてエリア・カバレッジ・タスクを開始する。作業現場地図上において、未だ行っていないと印されているランドマークを識別する。この未だ行っていないと印されているランドマークに進むように、車両制御プロセスにメッセージを送る。
【０００７】
特徴、機能、および利点は、本発明の種々の実施形態において独立して達成することができ、または更に別の実施形態において組み合わせることもできる。実施形態における更なる詳細は、以下の説明および図面を参照することによって確認することができる。
【図面の簡単な説明】
【０００８】
例示的な実施形態の新規な特徴であると確信する特性について、添付した特許請求の範囲に明記する。しかしながら、例示的な実施形態、ならびにその好ましい使用様式、更に別の目的および利点は、以下の本発明の例示的な実施形態の詳細な説明を参照し、添付図面と合わせて読むことによって最良に理解されよう。
【図１】図１は、例示的な実施形態を実現することができる作業現場環境のブロック図である。
【図２】図２は、例示的な実施形態によるデータ処理システムのブロック図である。
【図３】図３は、例示的な実施形態によるナビゲーション・システムのブロック図である。
【図４】図４は、例示的な実施形態による可動システムのブロック図である。
【図５】図５は、例示的な実施形態によるセンサ・システムのブロック図である。
【図６】図６は、例示的な実施形態による行動データベースのブロック図である。
【図７】図７は、例示的な実施形態による作業現場データベースのブロック図である。
【図８】図８は、例示的な実施形態による作業現場地図のブロック図である。
【図９】図９は、例示的な実施形態による経路計画を実行するプロセスを示すフローチャートである。
【図１０】図１０は、例示的な実施形態にしたがって、同時位置測定およびマッピングを用いて経路計画を実行するプロセスを示すフローチャートである。
【図１１】図１１は、例示的な実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を実行するプロセスを示すフローチャートである。
【図１２】図１２は、例示的な実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を作成するプロセスを示すフローチャートである。
【発明を実施するための形態】
【０００９】
図面を参照し特に図１を参照すると、例示的な実施形態を実現することができる作業現場環境のブロック図が示されている。作業現場環境１００は、自律車両が動作することができる任意のタイプの作業現場環境とすることができる。例示的な一例では、作業現場環境１００は、構造物、建造物、作業現場、エリア、ヤード、ゴルフ・コース、室内環境、野外環境、異なるエリア、ユーザの要望の変化、および／または任意のその他の適した作業現場環境または作業現場環境の組み合わせとすることもできる。
【００１０】
例示的な一例では、ユーザの必要性の変化は、限定ではなく、ユーザが古い場所から新しい場所に移動し、古い場所の構内とは異なる、新しい場所の構内において自律車両を運転することを含むこともできる。別の例示的な一例として、異なるエリアは、限定ではなく、自律車両を屋内環境および野外環境の双方で運転すること、または自律車両を、例えば、前庭および裏庭において運転することを含むことができる。
【００１１】
作業現場環境１００は、本発明の一実施形態ではネットワーク１０１を含む。この例では、バック・オフィス１０２は、１台のコンピュータまたは分散型計算クラウドとすることができる。バック・オフィス１０２は、物理的なデータベースおよび／または外部データベースへの接続をサポートする。これらのデータベースは、異なる例示的な実施形態でも用いることができる。バック・オフィス１０２は、異なる車両へのデータベースをサポートすること、そしてデータベースからの情報へのオンライン・アクセスを提供することもできる。また、バック・オフィス１０２は、例えば、自律車両１０４のような、車両についての経路計画を提供することもできる。作業現場環境１００は、自律車両１０４、複数の作業現場１０６、ユーザ１０８、および手動制御デバイス１１０を含むことができる。本明細書において用いる場合、複数の項目は１つ以上の項目を意味するものとする。例えば、複数の作業現場１０６は、１つ以上の作業現場であるとする。
【００１２】
自律車両１０４は、任意のタイプの自律車両とすることができ、限定ではなく、移動ロボット機械、サービス・ロボット、フィールド・ロボット、ロボット芝刈り機、ロボット除雪機、ロボット落ち葉除去機、ロボット芝給水機、ロボット掃除機、および／またはその他の任意の自律車両を含む。自律車両１０４は、ナビゲーション・システム１１２を含む。ナビゲーション・システム１１２は、自律車両１０４について移動性(mobility)、位置決め、およびナビゲーションを制御するための基本システムを備える。基本システムの能力には、例えば、限定ではなく、作業現場のランダムなエリア・カバレッジを実行するための基本可動機能、接触スイッチの障害物回避のための基本障害物回避機能、測地機能のための基本推測航法および／または自律車両１０４のための基本機能の任意のその他の組み合わせというような、基本的な行動を含むことができる。
【００１３】
複数の作業現場１０６は、作業現場環境１００において、自律車両１０４が動作することができる任意のエリアとすることができる。複数の作業現場１０６における各作業現場には、複数のタスクを関連付けることができる。作業現場１１４は、複数の作業現場１０６における１つの作業現場の例示的な一例である。例えば、例示的な実施形態では、作業現場１１４は、ユーザの住居の裏庭であってもよい。作業現場１１４は、複数のタスク１１６を含む。例示的な実施形態では、複数のタスク１１６は、ユーザの住居の裏庭の芝刈りを含むことができる。自律車両１０４は、作業現場１１４内部において複数のタスク１１６を実行するように動作することができる。本明細書において用いる場合、数(number)は１つ以上の項目に言及する。例示的な一例では、複数の作業現場１０６は、限定ではなく、主要な庭および二次的な庭を含むことができる。主要な庭は、複数のタスク１１６が関連付けられている作業現場１１４とすることができる。二次的な庭には、例えば、他の１組のタスクを関連付けることができる。
【００１４】
複数の作業現場１０６における各作業現場は、複数の作業現場エリア、複数のランドマーク、および／または複数の障害物を含む場合がある。作業現場１１４は、複数の作業現場エリア１１８、複数のランドマーク１２０、および複数の障害物１２２を含む。例示的な一例では、複数の作業エリア１１８は、例えば、限定ではなく、開始点、中間点、および終点というような、作業現場１１４内における複数の場所とすることもできる。別の例示的な例では、複数の作業現場エリア１１８は、作業現場１１４のサブエリアを含むこともできる。
【００１５】
複数のランドマーク１２０は、自律車両１０４によって検出することができ、作業現場の場所を特定するために用いることができる任意のタイプの特徴(feature)とすることができる。例示的な一例では、複数のランドマーク１２０は、限定ではなく、円筒形ランドマーク、有色ランドマーク、パターンを付けたランドマーク、照明付きランドマーク、垂直ランドマーク、自然ランドマーク、以上の任意の組み合わせ、および／または他の任意の適したランドマークを含むことができる。パターンを付けたランドマークは、例えば、別個の情報を提供するために組み込まれた視覚的パターンを含むことができる。照明付けランドマークは、例えば、夜間のような、光が少ない状況または光のない状況において、視覚的検出に備えることができる。自然ランドマークは、例えば、限定ではなく、樹木の幹を含むことができる。他のタイプのランドマークには、例えば、建造物、建築構造、道路、歩道、曲がり角、壁、および／またはその他の任意の適したランドマークを含むことができる。
【００１６】
複数の障害物１２２は、作業現場１１４内の物理的空間、および／または自律車両１０４が占拠したり交差してはならない場所を占拠する任意のタイプの物体とすることができる。作業現場１１４内の物理的空間を占拠する物体のタイプは、例えば、特に非ゼロ速度で互いに衝突した場合に、自律車両１０４によって損傷を負わされるかまたは自律車両１０４に損傷を負わせる可能性がある物体に言及することができる。自律車両１０４が占拠してはいけない場所または交差してはいけない場所は、その空間を何が占拠しているかによって異なる場合もあり、あるいは、例えば、境界線の他方側である。
【００１７】
ユーザ１０８は、限定ではなく、人間の操作者、ロボット・オペレータ、またはその他の何らかの外部システムとすることができる。手動制御デバイス１１０は、ユーザ１０８が自律行動を無効にして自律車両１０４を制御することを可能にする、任意のタイプの手動コントローラとすることができる。例示的な一例では、ユーザ１０８は、手動制御デバイス１１０を用いて、複数のタスク１１６を実行するために、収容位置１２４から作業現場１１４に向けて自律車両１０４の移動を制御することができる。
【００１８】
収容位置１２４は、自律車両１０４のドッキング・ステーションまたは格納ステーションとすることができる。収容位置１２４は、電源１２６を含むことができる。電源１２６は、自律車両１０４が収容位置１２４にあるときに、自律車両１０４に電力を供給することができる。例示的な一例では、電源１２６は、自律車両１０４の電力貯蔵部または電源に再充電することができる。電源１２６は、限定ではなく、バッテリ、移動バッテリ再充電器、ウルトラキャパシタ(ultracapacitor)、燃料電池、ガス発電機(gas powered generator)、太陽電池、および／またはその他の任意の適した電源を含むことができる。
【００１９】
図１における作業現場環境１００の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび／またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの１つ以上を組み合わせること、および／または異なるブロックに分割することもできる。
【００２０】
異なる例示的な実施形態は、ロボット・ナビゲーションに現在用いられている方法は、多くの場合、非常に原始的なランダム・ナビゲーション・システムを用いていることを認識し、これを考慮に入れている。このランダム・ナビゲーション・システムは、電気信号を伝達するワイヤによって確立された周辺の内部で動作する。現在用いられている方法におけるロボット機械には、電気信号検出器と、バンパ・スイッチとを当該機械の本体に装備することができる。これらの機械は、周辺ワイヤからの信号を検出するまで、または機械の外部物体との接触によってバンパ・スイッチが閉じるまで、ほぼ直線方向に移動する。これらの２つの状況のいずれかが発生すると、これらの機械は方向を変える。このように、現在の方法は、機械を作業エリアの周辺以内に制約し、外部物体との接触後に移動を維持する。
【００２１】
異なる例示的な実施形態は、更に、現在ロボット・ナビゲーションに用いられているシステムは、ロボット機械に統合されている固定システムであることも認識し、これを考慮に入れている。これらの固定システムは、測位およびナビゲーション用のセンサを含むことができ、一層効率的でしかも正確なカバレッジに対処するが、基本的なランダム・ナビゲーション・システムを備えたロボット機械の価格よりも数百ドルまたは数千ドルも、ロボット機械の費用が増大する。
【００２２】
更に、異なる例示的な実施形態は、現在ロボット・ナビゲーションに用いられているシステムは、有人機械から無人機械に移動するか否か考慮するときに、消費者に懸念が生ずることを認識し、これを考慮に入れている。消費者は、もっとコストが低くしかもランダム・カバレッジ能力がある機械の方が機械作業に対する感覚的標準を満たすのではないか思い巡らすこともある。他の懸念は、機械が１つの環境において別の環境よりも適切に機能する能力であることが考えられる。更に別の懸念は、現在のシステムにおける固定ナビゲーション・システムが旧式となったときの連続的な技術的更新、および機械全体を交換しなければならないときのコストであると考えられる。
【００２３】
このため、異なる例示的な実施形態の１つ以上は、区域分解を用いてエリア・カバレッジ経路計画を作成する方法を提供する。複数のランドマークを有する作業現場地図上において、開始点を特定する。複数のランドマークのうち第１ランドマークを特定する。障害物を検出するまで、第１ランドマークの周囲において経路を発生する。障害物の検出に応答して、次のランドマークに対して経路を直線にする。次のランドマークの周囲においてこの経路を発生する。
【００２４】
更に、異なる例示的な実施形態は、区域分解を用いてエリア・カバレッジ経路計画を実行する方法を提供する。ランドマークから所望の距離だけ離して、このランドマークの予測幅を画素単位で判定する。このランドマークを有する画像を特定する。この画像を用いて、ランドマークの観察した幅を判定する。ランドマークの観察した幅を、ランドマークの予測した幅と比較する。観察した幅および予測した幅の比較に基づいて、自律車両を動かすために、メッセージを車両制御プロセスに送る。
【００２５】
更に、異なる例示的な実施形態は、同時位置測定(localization)およびマッピングを用いて作業現場地図を作成する方法を提供する。複数のランドマークを有する作業現場を特定する。この作業現場に作業現場地図を作成する。この作業現場においてエリア・カバレッジ・タスクを開始する。未だ行っていないと印したランドマークを、作業現場地図上で特定する。未だ行っていないと印したランドマークに進むために、メッセージを車両制御プロセスに送る。
【００２６】
異なる例示的な実施形態は、既存の高精度位置測定システムの高コストや環境的制限を伴うことなく、自動化タスクのためのエリアを効率的にカバーする能力を提供する。更に、異なる例示的な実施形態は、セミランダム・エリア・カバレッジ方法によって生ずる過剰使用(excessive wear)のエリアをカバーする能力も提供する。
【００２７】
これより図２を参照すると、例示的な一実施形態によるデータ処理システムのブロック図が示されている。データ処理システム２００は、図１におけるバック・オフィス１０２のような、コンピュータの一例であり、プロセスを実現するコンピュータ使用可能プログラム・コードまたは命令を、この例示的な実施形態のために配置することができる。
【００２８】
この例示的な例では、データ処理システム２００は、プロセッサ・ユニット２０４との間に通信を設ける通信ファブリック２０２、メモリ２０６、永続的ストレージ２０８、通信ユニット２１０、入力／出力（Ｉ／Ｏ）ユニット２１２、およびディスプレイ２１４を含む。
【００２９】
プロセッサ・ユニット２０４は、メモリ２０６にロードすることができるソフトウェアの命令を実行する機能を果たす。プロセッサ・ユニット２０４は、個々の実施態様に応じて、１組の１つ以上のプロセッサであってもよく、またはマルチプロセッサ・コアであってもよい。更に、プロセッサ・ユニット２０４は、１つ以上の異質なプロセッサ・システムを用いて実現することもできる。この場合、主プロセッサが副プロセッサと共に１つのチップ上に存在する。別の例示的な例として、プロセッサ・ユニット２０４は、同じタイプの複数の(multiple)プロセッサを内蔵する対称マルチプロセッサ・システムであってもよい。
【００３０】
メモリ２０６および永続的ストレージ２０８は、記憶デバイス２１６の例である。記憶デバイスは、例えば限定ではなく、データ、機能的形態のプログラム・コード、および／またはその他の適した情報というような情報を、一時的におよび／または永続的に格納することができる任意のハードウェア部である。メモリ２０６は、この例では、例えば、ランダム・アクセス・メモリあるいはその他の任意の適した揮発性または不揮発性記憶デバイスとすることができる。永続的ストレージ２０８は、個々の実施態様に応じて、種々の形態をなすことができる。例えば、永続的ストレージ２０８は、１つ以上のコンポーネントまたはデバイスを内蔵することができる。例えば、永続的ストレージ２０８は、ハード・ドライブ、フラッシュ・メモリ、再書き込み可能な光ディスク、再書き込み可能な磁気テープ、または以上の何らかの組み合わせとすることができる。また、永続的ストレージ２０８によって用いられる媒体は、リムーバブルであってもよい。例えば、リムーバブル・ハード・ドライブを永続的ストレージ２０８に用いることもできる。
【００３１】
通信ユニット２１０は、これらの例では、他のデータ処理システムまたはデバイスとの通信に備える。これらの例では、通信ユニット２１０はネットワーク・インターフェース・カードである。通信ユニット２１０は、物理的およびワイヤレス通信の一方または双方の使用によって、通信を提供することができる。
【００３２】
入力／出力ユニット２１２は、データ処理システム２００に接続することができるその他のデバイスとのデータの入力および出力を可能にする。例えば、入力／出力ユニット２１２は、キーボード、マウス、および／またはその他の適した何らかの入力デバイスを通じて、ユーザ入力のための接続を設けることができる。更に、入力／出力ユニット２１２は、出力をプリンタに送ることができる。ディスプレイ２１４は情報をユーザに表示するメカニズムを備えている。
【００３３】
オペレーティング・システム、アプリケーション、および／またはプログラムの命令は、記憶デバイス２１６に配置することができる。記憶デバイス２１６は、通信ファブリック２０２を通じてプロセッサ・ユニット２０４と通信状態にある。これらの例示的な例では、命令は、永続的ストレージ２０８において機能的形態となっている。これらの命令をメモリ２０６にロードして、プロセッサ・ユニット２０４によって実行することができる。異なる実施形態のプロセスは、プロセッサ・ユニット２０４によって、コンピュータ実装命令を用いて実行することができる。コンピュータ実装命令は、メモリ２０６のようなメモリに配置することができる。
【００３４】
これらの命令は、プログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ読み取り可能プログラムと呼ばれており、プロセッサ・ユニット２０４におけるプロセッサによって読み取り実行することができる。異なる実施形態におけるプログラム・コードは、メモリ２０６または永続的ストレージ２０８のような、異なる物理的または有形コンピュータ読み取り可能媒体において具体化することができる。
【００３５】
プログラム・コード２１８は、機能的形態で、選択的にリムーバブルであるコンピュータ読み取り可能媒体２２０上に配置されており、データ処理システム２００にロードするまたは転送して、プロセッサ・ユニット２０４によって実行することができる。プログラム・コード２１８およびコンピュータ読み取り可能媒体２２０は、これらの例ではコンピュータ・プログラム製品２２２を形成する。一例では、コンピュータ読み取り可能媒体２２０は、永続的ストレージ２０８の一部であるハード・ドライブのような、記憶デバイスへの転送のために例えば、永続的ストレージ２０８の一部であるドライブまたはその他のデバイスに挿入されるまたはその中に置かれる光ディスクまたは磁気ディスクのように、有形形態であることができる。有形形態では、コンピュータ読み取り可能媒体２２０は、データ処理システム２００に接続されているハード・ドライブ、サム・ドライブ(thumb drive)、またはフラッシュ・メモリというような、永続的ストレージの形態をなすこともできる。また、コンピュータ読み取り可能媒体２２０の有形形態は、コンピュータ記録可能記憶媒体とも呼ばれる。実例の中には、コンピュータ読み取り可能媒体２２０がリムーバブルでなくてもよい場合もある。
【００３６】
あるいは、プログラム・コード２１８は、コンピュータ読み取り可能媒体２２０からデータ処理システム２００に、通信ユニット２１０への通信リンクを通じて、および／または入力／出力ユニット２１２への接続を通じて転送することもできる。通信リンクおよび／または接続は、例示的な例では、物理的またはワイヤレスとすることができる。また、コンピュータ読み取り可能媒体は、通信リンクまたはプログラム・コードを含むワイヤレス送信というような、無形媒体の形態をなすこともできる。
【００３７】
例示的な実施形態によっては、プログラム・コード２１８をネットワークを通じて永続的ストレージ２０８に別のデバイスまたはデータ処理システムからダウンロードし、データ処理システム２００内で用いるようにすることもできる。例えば、サーバ・データ処理システムにおいてコンピュータ読み取り可能記憶媒体に格納されているプログラム・コードを、ネットワークを通じてこのサーバからデータ処理システム２００にダウンロードすることができる。プログラム・コード２１８を供給するデータ処理システムは、サーバ・コンピュータ、クライアント・コンピュータ、またはプログラム・コード２１８を格納および送信することができる他の何らかのデバイスであってもよい。
【００３８】
データ処理システム２００に図示した異なるコンポーネントは、異なる実施形態を実現することができる態様に対して構造的限定を規定することを意味するのではない。異なる例示的な実施形態は、データ処理システム２００について図示したコンポーネントに加えてまたはこれらの代わりにコンポーネントを含むデータ処理システムにおいても実現することができる。図２に示すその他のコンポーネントは、図示する例示的な例から変更することができる。異なる実施形態は、プログラム・コードを実行することができる任意のハードウェア・デバイスまたはシステムを用いて実現することができる。一例として、データ処理システムは、無機コンポーネントと統合された有機コンポーネントを含むことができ、および／または人を除外した有機コンポーネントで全体的に構成することもできる。例えば、記憶デバイスを有機半導体で構成することもできる。
【００３９】
別の例として、データ処理システム２００における記憶デバイスは、データを記憶することができる任意のハードウェア装置である。メモリ２０６、永続的ストレージ２０８、およびコンピュータ読み取り可能媒体２２０は、有形形態とした記憶デバイスの例である。
【００４０】
別の例では、通信ファブリック２０２を実現するためにバス・システムを用いることもでき、このバス・システムは、システム・バスまたは入力／出力バスというような、１系統以上のバスで構成することができる。勿論、バス・システムは、当該バス・システムに取り付けられている異なるコンポーネントまたはデバイス間におけるデータの転送に備えているアーキテクチャのうち任意の適したタイプを用いて実現することができる。加えて、通信ユニットは、モデムまたはネットワーク・アダプタのような、データを送信および受信するために用いられる１つ以上のデバイスを含むことができる。更に、メモリは、例えば、メモリ２０６または通信ファブリック２０２の中に存在することもあるインターフェースおよびメモリ・コントローラ・ハブにおいて見られるようなキャッシュとすることもできる。
【００４１】
本明細書において用いる場合、「少なくとも１つの」という句は、品目のリストと共に用いられる場合、これらの品目の１つ以上の異なる組み合わせを用いることができること、そしてリストにおける各項目のうち１つだけがあればよいことを意味する。例えば、「品目Ａ、品目Ｂ、および品目Ｃのうち少なくとも１つ」は、例えば、限定ではなく、品目Ａ、または品目Ａおよび品目Ｂを含むことができる。また、この例は、品目Ａ、品目Ｂおよび品目Ｃ、または品目Ｂおよび品目Ｃも含むことができる。
【００４２】
これより図３を参照すると、例示的な一実施形態によるナビゲーション・システムのブロック図が示されている。ナビゲーション・システム３００は、図１におけるナビゲーション・システム１１２の一実施態様の一例である。
【００４３】
ナビゲーション・システム３００は、プロセッサ・ユニット３０２、通信ユニット３０４、行動データベース３０６、作業現場データベース３０８、可動システム３１０、センサ・システム３１２、電源３１４、電力レベル・インディケータ３１６、基本システム・インターフェース３１８、および視覚システム３２０を含む。視覚システム３２０は、複数のカメラ３２２を含む。複数のカメラ３２２は、例えば、限定ではなく、カラー・カメラ、白黒カメラ、ディジタル・カメラ、赤外線カメラ、および／または任意のその他の適したカメラを含むことができる。
【００４４】
例示的な一例では、複数のカメラ３２２は、例えば、図１における自律車両１０４のような、ナビゲーション・システム３００と関連のある自律車両に対して下方および水平となる視野(view)を捕らえるように方位付けることができる。この例示的な例では、複数のカメラ３２２の方位付けによって、ランドマーク識別および一測定に加えて、例えば、境界線および／または周辺追従というような自律的な車両の行動を可能にすることができる。複数のカメラ３２２がカラー・カメラを含む例示的な一例では、境界線追従行動は、複数のカメラ３２２を用いて、例えば、コンクリートの曲がり角と対照をなす緑色の草というような、色の境界線を識別することができる。
【００４５】
別の例示的な一例では、図１における自律車両１０４のような、ナビゲーション・システム３００と関連のある自律車両の走行方向に対して垂直に面する視野を捕らえるように、複数のカメラ３２２を方位付けることもできる。更に別の例示的な一例では、例えば、ナビゲーション・システム３００と関連のある自律車両がランドマークの周囲を走行している場合、このランドマークに面する視野を捕らえるように方位付けることもできる。
【００４６】
視覚システム３２０は、ナビゲーション・システム３００の視覚能力向上のために、複数のカメラ３２２から複数の画像３２４を供給することによって、被写体深度認識に備えるように動作する。視覚システム３２０は、例えば、限定ではなく、ステレオ視覚システム、非対称視覚システム、スタジアメトリック測距視覚システム(stadiametric ranging vision system)、および／または任意のその他の適した視覚システムとすることができる。複数のカメラ３２２は、例えば、図１における作業現場１１４のような、作業現場または作業現場エリアの複数の画像３２４を撮影するために用いることができる。複数の画像３２４は、例えば、ランドマーク識別および経路計画に用いるために、基本システム・インターフェース３１８を通じてプロセッサ・ユニット３０２に転送することができる。本明細書において用いる場合、「複数の」は１つ以上の画像に言及するものとする。
【００４７】
プロセッサ・ユニット３０２は、図２におけるデータ処理システム２００の一実施態様の一例とすることができる。プロセッサ・ユニット３０２は、車両制御プロセス３２６を含む。車両制御プロセス３２６は、可動システム３１０と通信しこれを制御するように構成されている。車両制御プロセス３２６は、経路計画モジュール３２８を含む。経路計画モジュール３２８は、行動データベース３０６および作業現場データベース３０８からの情報を、視覚システム３２０から受け取った複数の画像３２４と共に用いて、経路計画３３０を作成することができる。経路計画モジュール３２８は、区域分解プロセス３３２を用いて経路計画３３０を作成し、例えば、作業現場の経路を計画することができる。経路は、任意の長さでよく、例えば、１フィートまたは１０フィートでもよく、自律車両のランドマーク、障害物、周辺、および／または境界線に対する位置が変化するに連れて変化してもよい。区域分解プロセス３３２は、エリア・カバレッジ・アルゴリズムであり、図８および図１３に更に詳しく例示的に示す。区域分解プロセス３３２は、経路計画モジュール３２８および／または車両制御プロセス３２６が、例えば、作業現場の任意の所与の位置にある１つだけの可視ランドマークを用いて、経路計画３３０を計画し実行することを可能にすることができる。区域分解プロセス３３２は、ランドマークから既に定められている距離にある円弧を追従する経路を発生する。この既に定められている距離は、例えば、限定ではなく、自律車両の幅に等しくても、自律車両の１本のパス(pass)に対するタスク・カバレッジ幅に等しくてもよく、および／または任意のその他の指定距離でもよい。例示的な一例では、区域分解プロセス３３２は、現場特定誤差を補償するために、自律車両がランドマークから遠ざかるに連れて徐々に近接し合う円弧から成る経路を発生することができる。また、区域分解プロセス３３２は、例えば、自律車両を１つのランドマークから別のランドマークまで動かすために、二点間行動に合わせた直線的経路を発生することもできる。
【００４８】
例示的な一例では、経路計画モジュール３２８は、作業現場に対して、経路計画３３０のような経路を計画するために、作業現場データベース３０８から作業現場地図を引き出すことができる。作業現場地図は、例えば、図１における作業現場１１４のような、作業現場を特定する地図である。作業現場地図は、エリア・カバレッジ・タスクのための位置を特定し、作業現場におけるエリア・カバレッジ・タスクの実行のために経路を計画するために用いることができる。作業現場地図は、この例において特定された複数のランドマークを有することができる。車両制御プロセス３２６は、経路計画３３０を用いてコマンドおよび／または信号を可動システム３１０に送り、経路計画３３０にしたがって、ナビゲーション・システム３００と関連のある自律車両を動かすことができる。車両制御プロセス３２６は、例えば、限定ではなく、自立車両上で選択されるボタン、手動制御デバイスからのコマンド、ソフトウェア・ドリブン・イベント、時間ドリブン・イベント、および／または任意のその他の適したトリガというような、トリガに応答して、経路計画３３０を用いてエリア・カバレッジを開始することができる。
【００４９】
また、プロセッサ・ユニット３０２は、図９および図１０に更に詳細に例示的に示すように、同時位置測定およびマッピング・プロセス３３４も含むことができる。同時位置測定およびマッピング・プロセス３３４は、例えば、ナビゲーション・システム３００と関連のある自律車両によるエリア・カバレッジ・タスクの動作中に、経路計画３３０のような、経路計画を有する作業現場地図を作成することができる。
【００５０】
更に、プロセッサ・ユニット３０２は、行動データベース３０６および作業現場データベース３０８と通信しこの中に格納されているデータにアクセスすることができる。データにアクセスするには、行動データベース３０６および／または作業現場データベース３０８の中にデータを格納する、これらからデータを引き出す、および／またはこのデータに対して作用するための任意のプロセスを含むことができる。例えば、データにアクセスするには、限定ではなく、行動データベース３０６および／または作業現場データベース３０８に収容されている参照表を用いること、行動データベース３０６および／または作業現場データベース３０８を用いて照会プロセスを実行すること、および／またはデータベースに格納されているデータにアクセスするための任意のその他の適したプロセスを含むことができる。
【００５１】
プロセッサ・ユニット３０２は、センサ・システム３１２から情報を受け取り、可動システム３１０を制御するときに、センサ情報を、行動データベース３０６からの行動データと共に用いることができる。また、プロセッサ・ユニット３０２は、例えば、図１におけるユーザ１０８によって動作させられる手動制御デバイス１１０のような、外部コントローラからの制御信号を受け取ることもできる。これらの制御信号は、通信ユニット３０４を用いて、プロセッサ・ユニット３０２によって受け取ることができる。
【００５２】
通信ユニット３０４は、情報を受け取るための通信リンクをプロセッサ・ユニット３０２に設けることができる。この情報は、例えば、データ、コマンド、および／または命令を含む。通信ユニット３０４は、種々の形態をなすことができる。例えば、通信ユニット３０４は、セルラ・フォン・システム、Ｗｉ−Ｆｉワイヤレス・システム、または何らかのその他の適したワイヤレス通信システムというような、ワイヤレス通信システムを含むことができる。
【００５３】
また、通信ユニット３０４は、例えば、図１における手動制御デバイス１１０のような、任意の(optional)手動コントローラへの有線接続も含むことができる。更に、通信ユニット３０４は、例えば、ユニバーサル・シリアル・バス・ポート、シリアル・インターフェース、パラレル・ポート・インターフェース、ネットワーク・インターフェース、または物理的な通信リンクを設けるための何らかのその他の適したポートというような、通信ポートも含むことができる。通信ユニット３０４は、例えば、外部制御デバイスまたはユーザと通信するために用いることができる。
【００５４】
例示的な一例では、プロセッサ・ユニット３０２は、図１においてユーザ１０８によって動作させられる手動制御デバイス１１０から制御信号を受け取ることができる。これらの制御信号は車両制御プロセス３２６の自律行動を無効にして、ユーザ１０８に、ナビゲーション・システム３００と関連のある自律車両を停止、始動、操舵、および／またはそれ以外で制御させることができる。
【００５５】
行動データベース３０６は、可動システム３１０を制御するときに車両制御プロセス３２６が利用することができる複数の行動行為(behavioral action)を収容する。行動データベース３０６は、限定ではなく、基本的な車両行動、エリア・カバレッジ行動、周囲行動、障害物回避行動、手動制御行動、給電行動、および／または自律車両のための任意のその他の適した行動を含むことができる。
【００５６】
可動システム３１０は、図１における自律車両１０４のような、自律車両に移動可能性(mobility)を備える。可動システム３１０は、種々の形態をなすことができる。可動システム３１０は、例えば、限定ではなく、推進システム、操舵システム、制動システム、および可動コンポーネントを含むことができる。これらの例では、可動システム３１０は、車両制御プロセス３２６からコマンドを受け取り、これらのコマンドに応答して、関連のある自律車両を動かすことができる。
【００５７】
センサ・システム３１２は、センサ・データを収集しプロセッサ・ユニット３０２に送信するための複数のセンサ・システムを含むことができる。例えば、センサ・システム３１２は、限定ではなく、推測航法システム、障害物検出システム、周辺検出システム、および／または図５に更に詳細に例示的に示すような、何らかのその他の適したタイプのセンサ・システムを含むことができる。センサ・データとは、センサ・システム３１２によって収集された情報のことである。
【００５８】
電源３１４は、ナビゲーション・システム３００、および例えば、図１における自律車両１０４のような、関連のある自律車両のコンポーネントに電力を供給する。電源３１４は、限定ではなく、バッテリ、移動バッテリ再充電器、ウルトラキャパシタ(ultracapacitor)、燃料電池、ガス発電機(gas powered generator)、太陽電池、および／または任意のその他の適した電源を含むことができる。電力レベル・インディケータ３１６は、電源３１４のレベルを監視し、電源レベルをプロセッサ・ユニット３０２に伝達する。例示的な一例では、電力レベル・インディケータ３１６は、電源３１４における電力の低レベルについての情報を送ることができる。プロセッサ・ユニット３０２は、行動データベース３０６にアクセスして、この例示的な例では、低電力レベルの指示に応答して、行動行為(behavioral action)を採用することができる。例えば、限定ではなく、行動行為は、低電力レベルの検出に応答して、タスクの処理を中止すること、および再充電ステーションを探すこととしてもよい。
【００５９】
基本システム・インターフェース３１８は、ナビゲーション・システム３００の視覚システム３２０とその他のコンポーネントとの間において給電およびデータ通信を備える。例示的な一例では、基本システム・インターフェース３１８を用いて、複数の画像３２４を視覚システム３２０からプロセッサ・ユニット３０２に転送することができる。
【００６０】
図３におけるナビゲーション・システム３００の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび／またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの１つ以上を組み合わせること、および／または異なるブロックに分割することもできる。
【００６１】
例えば、有利な一実施形態では、複数のカメラ３２２は２台のカメラを備えていてもよい。第１カメラは、区域分解プロセス３３２を実現するのに十分であればよく、一方第２カメラは、ナビゲーション・システム３００と関連のある自律車両に追加能力を提供する。この例示的な例では、第２カメラは、ランドマークからの延長距離における動作のために用いることができる。ナビゲーション・システム３００によってランドマークを用いることができる最大距離は、例えば、経路追従に指定される最大誤差、カメラの分解能、カメラの視野、およびランドマークの幅の関数とすることができる。ナビゲーション・システム３００の視覚システム３２０がランドマークに対して最も近い指定地点にある場合、ランドマークは、第１カメラによって取り込まれる画像を満たすことができる。視覚システム３２０が、ナビゲーション・システム３００と関連のある自律車両によって、ランドマークから遠ざかるように移動させられるに連れて、画像におけるランドマークの幅においてエッジの割合が大きくなるので、画像捕獲からのエッジ誤差が増大する。第１カメラよりも狭い視野の第２カメラを追加することによって、この例示的な例では、第１カメラで許されるよりも、ランドマークから遠い距離において、ランドマークが、処理された画像の多くを占めることが可能となり、例えば、エッジ誤差を最小限に抑えることができる。
【００６２】
別の例示的な例では、例えば、図６における障害物３６０度周回６２６および障害物１８０度周回６２４というような行動に有用な、ステレオ視覚行動(stereo vision behavior)に追加のカメラを用いることもできる。更に別の例示的な例では、ナビゲーション・システム３００と関連のある自律車両の一方側だけでなくもっと多い側で、視覚システム３２０が複数の画像３２４を取り込むことを可能にするために、追加のカメラを用いることができる。例えば、複数のカメラ３２２が、自律車両の対向する両側において視野に面するようにすれば、自律車両が１台のカメラをランドマークに連続的に面するように位置決めする必要なく、簡略化した円弧状遷移(arc transition)を行うことができる。
【００６３】
任意の数の追加カメラを複数のカメラ３２２に追加することができる。本明細書において用いる場合、「複数のカメラ」とは１台以上のカメラに言及するものとする。
これより図４を参照すると、例示的な一実施形態による可動システムのブロック図が示されている。可動システム４００は、図３における可動システム３１０の一実施態様の一例である。
【００６４】
可動システム４００は、図３におけるナビゲーション・システム３００のような、ナビゲーション・システムと関連のある自律車両に移動可能性を与える。可動システム４００は、種々の形態をなすことができる。可動システム４００は、例えば、限定ではなく、推進システム４０２、操舵システム４０４、制動システム４０６、および複数の可動コンポーネント４０８を含むことができる。これらの例では、推進システム４０２は、図３におけるナビゲーション・システム３００のようなナビゲーション・システムからのコマンドに応答して、図１における自律車両１０４のような自律車両を推進させるまたは動かすことができる。
【００６５】
推進システム４０２は、ナビゲーション・システムのプロセッサ・ユニットから受け取った命令に応答して、自律車両が移動する速度を維持または上昇させることができる。推進システム４０２は、電気制御推進システムとすることができる。推進システム４０２は、例えば、限定ではなく、内燃エンジン、内燃エンジン／電気混成システム、電気エンジン(electric engine)、または何らかのその他の適した推進システムとすることができる。例示的な一例では、推進システム４０２は車輪駆動モータ４１０を含むことができる。車輪駆動モータ４１０は、車輪のような可動コンポーネントに組み込まれている電気モータとすることができ、可動コンポーネントを直接駆動する。例示的な一実施形態では、車輪駆動モータ４１０を差動的に制御することによって、操舵を行うこともできる。
【００６６】
操舵システム４０４は、ナビゲーション・システムのプロセッサ・ユニットから受け取ったコマンドに応答して、自律車両の方向または操舵を制御する。操舵システム４０４は、例えば、限定ではなく、電気制御油圧操舵システム、電気駆動ラックおよびピニオン操舵システム、差動操舵システム、または何らかのその他の適した操舵システムとすることができる。例示的な一例では、操舵システム４０４は、複数の可動コンポーネント４０８を制御するように構成された専用車輪を含むことができる。
【００６７】
制動システム４０６は、ナビゲーション・システムのプロセッサ・ユニットから受け取ったコマンドに応答して、自律車両を減速および／または停止させることができる。制動システム４０６は、電気制御制動システムとすることができる。この制動システムは、例えば、限定ではなく、油圧制動システム、摩擦制動システム、車輪駆動モータ４１０を用いた再生制動システム、または電気的に制御することができる何らかの他の適した制動システムとすることができる。例示的な一例では、ナビゲーション・システムは、図１における手動制御デバイス１１０のような外部コントローラからコマンドを受け取り、緊急停止装置を活性化させることができる。ナビゲーション・システムは、コマンドを可動システム４００に送り、制動システム４０６を制御して、この例示的な例では、緊急停止を実行することができる。
【００６８】
複数の可動コンポーネント４０８は、ナビゲーション・システムのプロセッサ・ユニットから受け取り、推進システム４０２、操舵システム４０４、および制動システム４０６によって実行する命令に応答して、複数の方向および／または位置に移動する能力を、自律車両に設ける。複数の可動コンポーネント４０８は、例えば、限定ではなく、車輪、トラック(tracks)、フィート(feet)、ロータ、プロペラ、翼、および／またはその他の適したコンポーネントとすることができる。
【００６９】
図４における可動システムの図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび／またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの１つ以上を組み合わせること、および／または異なるブロックに分割することもできる。
【００７０】
これより図５を参照すると、例示的な一実施形態によるセンサ・システムのブロック図が示されている。センサ・システム５００は、図３におけるセンサ・システム３１２の一実施態様の一例である。
【００７１】
センサ・システム５００は、センサ・データを収集し、図３におけるナビゲーション・システム３００のような、ナビゲーション・システムのプロセッサ・ユニットにセンサ・データを送信するために複数のセンサ・システムを含む。センサ・システム５００は、障害物検出システム５０２、周辺検出システム５０４、および推測航法システム５０６を含む。
【００７２】
障害物検出システム５０２は、限定ではなく、複数のコンタクト・スイッチ５０８および超音波変換器５１０を含むことができる。複数のコンタクト・スイッチ５０８は、例えば、図１における作業現場環境１００のような環境における自律車両の外部物体との接触を検出する。複数のコンタクト・スイッチ５０８は、例えば、限定ではなく、バンパ・スイッチを含むことができる。超音波変換器５１０は、高周波音波を発生し、戻ってくるエコーを評価する。超音波変換器５１０は、信号、即ち、高周波音波を送ってからエコーを受信するまでの時間間隔を計算して、物体までの距離を決定する。
【００７３】
周辺検出システム５０４は、図１における作業現場１１４のような作業現場の周辺または境界線を検出し、周辺検出についての情報を、ナビゲーション・システムのプロセッサ・ユニットに送る。周辺検出システム５０４は、限定ではなく、受信機５１２および赤外線検出器５１４を含むことができる。受信機５１２は、例えば、図１における作業現場１１４のような、作業現場の周辺を規定するワイヤによって発することができる電気信号を検出する。赤外線検出器５１４は、例えば、図１における作業現場１１４のような、作業現場の周辺に沿って赤外線光源によって放出することができる赤外線光を検出する。
【００７４】
例示的な一例では、受信機５１２は、周辺ワイヤからの電気信号を検出し、その検出した信号についての情報を、図３におけるナビゲーション・システム３００のような、ナビゲーション・システムのプロセッサ・ユニットに送ることができる。次いで、ナビゲーション・システムは、図４における可動システム４００のような、可動システムにコマンドを送り、この例示的な例では、ナビゲーション・システムと関連のある自律車両の方向または行程を変更することができる。
【００７５】
推測航法システム５０６は、ナビゲーション・システムと関連のある自律車両の現在地を推定する。推測航法システム５０６は、既に決定されている位置、ならびに経過時間および行程において、既知の速度または推定速度についての情報に基づいて、現在地を推定する。推測航法システム５０６は、限定ではなく、オドメータ５１６、コンパス５１８、および加速度計５２０を含むことができる。オドメータ５１６は、図１における自律車両１０４のような機械が走行した距離を示すために用いられる電子または機械的デバイスである。コンパス５１８は、地球の磁極に対する位置または方向を決定するために用いられるデバイスである。加速度計５２０は、自由落下に対してそれが受けた加速度を測定する。
【００７６】
図５におけるセンサ・システム５００の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび／またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの１つ以上を組み合わせること、および／または異なるブロックに分割することもできる。
【００７７】
これより図６を参照すると、例示的な一実施形態による行動データベースのブロック図が示されている。行動データベース６００は、図３における行動データベース３０６の一実施態様の一例である。
【００７８】
行動データベース６００は、図３における可動システム３１０を制御するときに、ナビゲーション・システム３００の車両制御プロセス３２６が利用することができる複数の行動行為を含む。行動データベース６００は、限定ではなく、基本的車両行動６０２、エリア・カバレッジ行動６０４、周辺行動６０６、障害物回避行動６０８、手動制御行動６１０、給電行動６１２、および／または自律車両のための任意のその他の適した行動を含むことができる。
【００７９】
基本車両行動６０２は、自律車両が実行することができる複数の基本タスクについて行為を規定する。基本車両行動６０２は、限定ではなく、芝刈り、清掃(vacuuming)、床磨き、落ち葉掃除、除雪、散水、噴霧、セキュリティ、および／または任意のその他の適したタスクを含むことができる。
【００８０】
エリア・カバレッジ行動６０４は、基本車両行動６０２を実行するときにエリア・カバレッジについて行為を規定する。エリア・カバレッジ行動６０４は、限定ではなく、区域分解行動６１４を含むことができる。区域分解行動６１４は、例えば、限定ではなく、円弧追従(follow arc)６１６、二点間６１８、および／または任意のその他の適した行動を含むことができる。
【００８１】
周辺行動６０６は、図５における周辺検出システム５０４によるというような、周辺検出に応答したナビゲーション・システムについての行為を規定する。例示的な一例では、周辺行動６０６は、限定ではなく、周辺追従６２０、進行方向変更６２２、および／または任意のその他の適した行動を含むことができる。進行方向変更６２２は、周辺の内部に留まるために、ある角度だけ自律車両の進行方向を変更するように動作することができる。周辺追従６２０は、予め定められた距離だけ自律車両を周辺に平行に動かすように動作することができる。予め定められた距離は、例えば、自律車両の幅から誤差量を減算した値に等しくすることができる。
【００８２】
障害物回避行動６０８は、ナビゲーション・システムが自律車両周囲の環境における物体との衝突を回避するための行為を規定する。例示的な一例では、障害物回避行動６０８は、限定ではなく、障害物１８０度周回６２４、障害物３６０度周回６２６、逆方向および進行方向変更６２８、および／または任意のその他の適した行動を含むことができる。障害物１８０度周回６２４は、例えば、第１方向とは逆の第２方向において継続するように、障害物の周囲に沿って半分だけ自律車両を導くように動作することができる。障害物３６０度周回６２６は、例えば、障害物の周囲にある全てのエリアにおいてタスクを実行するために、この障害物の全体の周囲に沿って自律車両を導くように動作することができる。逆方向および進行方向変更６２８は、図５における障害物検出システム５０２のような、障害物検出システムによって検出された物体を回避するために、自律車両の方向を逆転し、進行方向を変更するように動作することができる。
【００８３】
手動制御行動６１０は、ナビゲーション・システムが、自律性をディスエーブルし、例えば、図１におけるユーザ１０８のようなユーザからの運動制御を採用するための行為を規定する。給電行為６１２は、ナビゲーション・システムが、図３における電源３１４のような電源において検出した電力レベルに応答して、複数の措置を講ずるための行為を規定する。例示的な一実施形態では、給電行動６１２は、限定ではなく、自律車両のタスク処理を停止し、自律車両のために追加電力または電力再充電を探し出すことを含むことができる。
【００８４】
図６における行為データベース６００の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび／またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの１つ以上を組み合わせること、および／または異なるブロックに分割することもできる。
【００８５】
これより図７を参照すると、例示的な一実施形態による作業現場データベースのブロック図が示されている。作業現場データベース７００は、図３における作業現場データベース３０８の一実施態様の一例である。
【００８６】
作業現場データベース７００は、経路を計画するときおよび／または図３における可動システム３１０を制御するときに、ナビゲーション・システム３００のプロセッサ・ユニット３０２が利用することができる複数のデータベースを含む。作業現場データベース７００は、限定ではなく、地図データベース７０２、ランドマーク・データベース７０４、および／または自律車両についての情報の任意のその他の適したデータベースを含むことができる。
【００８７】
地図データベース７０２は、複数の作業現場地図７０６を含む。複数の作業現場地図７０６は、例えば、図１における複数の作業現場１０６に対応することができる。例示的な一実施形態では、複数の作業現場地図７０６は、ネットワーク１０１を用いて図１におけるバック・オフィス１０２のような遠隔地から地図データベース７０２にロードすることができる。別の例示的な実施形態では、複数の作業現場地図７０６は、図３における同時位置測定およびマッピング・プロセス３３４によって作成された後に、地図データベース７０２に格納することもできる。更に別の例示的な実施形態では、例えば、基本システム・インターフェース３１８を通じて図１のユーザ１０８のようなユーザ、および／または図３における通信ユニット３０４によって、複数の作業現場地図７０６を地図データベース７０２にロードすることもできる。例示的な一例では、図３における同時位置測定およびマッピング・プロセス３３４が、作業現場における初期動作の間に作業現場地図を作成し、この作成した作業現場地図を、同じ作業現場における今後の動作において今後用いるために、地図データベース７０２に格納することもできる。
【００８８】
複数の作業現場地図７０６は、例えば、限定ではなく、作業現場地図７０８、エリア・カバレッジ格子地図７１０、複数の作業現場画像７１２、および／または任意のその他の適した作業現場地図を含むことができる。作業現場地図７０８は、複数の作業現場地図７０６に格納されている先験的な地図であってもよく、例えば、図１における作業現場１１４のような、作業現場についてのランドマーク位置および障害情報を含む。作業現場地図７０８は、例えば、図１におけるユーザ１０８のような、ユーザによって作成することができ、作業現場の地図および／または画像上において、当該作業現場のランドマーク位置および障害物を特定する。例示的な一例では、作業現場地図７０８は、図１における自律車両１０４によって、作業現場のランドマークおよび障害物を考慮に入れつつ、作業現場にエリア・カバレッジ経路を計画するために用いることができる。
【００８９】
エリア・カバレッジ格子地図７１０は、例えば、限定ではなく、エリア・カバレッジ格子オーバーレイを含む作業現場地図、エリア・カバレッジ格子オーバーレイを含む作業現場画像、囲われた空間および／または作業現場の寸法に対するエリア・カバレッジ格子、および／または任意のその他の適したエリア・カバレッジ格子地図とすることができる。例示的な一例では、図３におけるナビゲーション・システム３００は、図１におけるユーザ１０８によって供給された作業現場地図７０８を用いて、エリア・カバレッジ格子地図７１０を作成することができる。別の例示的な例では、ナビゲーション・システム３００が、図１におけるユーザ１０８のような、ユーザから受け取ったランドマーク属性情報および障害物情報を用いて、エリア・カバレッジ格子地図７１０を作成することができる。更に別の例示的な例では、図１における自律車両１０４が、図３における視覚システム３２０のような、視覚システムを用いて、複数の作業現場画像７１２を取り込み、複数の作業現場画像７１２を用いて、エリア・カバレッジ格子地図７１０を作成することができる。
【００９０】
ランドマーク・データベース７０４は、ランドマーク属性７１４および位置情報７１６を含むことができる。ランドマーク属性７１４は、例えば、限定ではなく、ランドマーク画像、ランドマーク定義、ランドマーク特性、および／または、例えば、図１における作業現場１１４の中にある複数のランドマーク１２０のような、作業現場の中にある複数のランドマークを特定するために用いられる任意のその他の適したランドマーク属性を含むことができる。ランドマーク画像は、例えば、複数の異なるタイプのランドマークの、格納されている画像を含むことができる。ランドマーク定義とは、例えば、複数のランドマークに関連する名称および／または記述に言及することができる。ランドマーク特性は、例えば、限定ではなく、形状、色、表面模様、および／または複数のランドマークを特定するための任意のその他の適した特性を含むことができる。位置情報７１６は、例えば、図１における作業現場１１４のような、特定された作業現場内にある位置に対する複数のランドマークの位置を特定する。位置情報７１６は、例えば、地図データベース７０２に格納されている複数の作業現場地図７０６と関連付けることができる。
【００９１】
図７における作業現場データベース７００の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的限定またはアーキテクチャの限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび／またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの１つ以上を組み合わせること、および／または異なるブロックに分割することもできる。
【００９２】
これより図８を参照すると、例示的な一実施形態による作業現場地図のブロック図が示されている。作業現場地図８００は、図７の地図データベース７０２における複数の作業現場地図の一実施態様の例示的な一例とすることができる。
【００９３】
作業現場地図８００は、作業現場８０１に合わせて作成される。作業現場８０１は、図１における作業現場１１４の例示的な一例とすることができる。作業現場地図８００は、ランドマーク８０２、ランドマーク８０４、およびランドマーク８０６を含む。また、作業現場地図８００は、花壇８０８および薮８１０も含む。例示的な一例では、花壇８０８および薮８１０は障害物と見なされる場合もある。作業現場地図８００は、作業現場の各側の周辺によって定められており、具体的には、作業現場境界線８１２、作業現場境界線８１４、作業現場境界線８１６、および作業現場境界線８１８によって定められている。例えば、図３における区域分解プロセス３３２を用いて、作業現場地図８００に経路計画を作成することができる。
【００９４】
経路計画は、開始点８２０から開始することができる。この経路計画は、開始点８２０から、作業現場境界線８１２に達するまで、ランドマーク８０２の周囲を進む。経路計画は、ランドマーク８０２から予め定められた距離を維持して、円弧状の経路を形成することができる。予め定められた距離は、例えば、限定ではなく、経路計画を作成しようとしている自律車両の幅とすることができる。作業現場境界線８１２に達すると、経路計画は、予め定められた距離の間ランドマーク８０２から遠ざかるように、作業現場境界線８１２を辿る。次いで、経路計画は、作業現場境界線８１４に達するまで、ランドマーク８０２の周囲を逆に進む。経路計画は、各直前の円弧状経路から、予め定められた距離を維持する。作業現場境界線に達すると、経路は、直前の円弧状経路から予め定められた距離だけ離れて、作業現場境界線を辿り、その後方向を変えて、ランドマーク８０２のような、ランドマークの周囲を逆に進む。
【００９５】
経路は、地点Ａ８２２において、障害物、この例では薮８１０に達する。すると、地点Ｂ８２４において作業現場境界線８１６に達するまで、経路は直線状となる。次のランドマーク、この例では、ランドマーク８０４が特定される。経路は、地点Ｃ８２６に達するまで、ランドマーク８０４を中心に同心円状に進む。次いで、地点Ｄ８２８において障害物または作業現場境界、この例では花壇８０８に達するまで、経路は直線状となる。ランドマーク８０６が特定され、経路は、地点Ｅ８３０に達するまで、ランドマーク８０６の周囲を進む。地点Ｅ８３０は、経路を追従する自律車両がランドマーク８０６から達した距離において、ランドマーク８０６がもはや視覚的ランドマークとしては有用でなくなる場合における地点の例示的な一例とすることができる。この距離は、例えば、自律車両の視覚システムによる画像検出の要求精度を満たさないような距離とするとよい。次いで、自律車両は、例えば、ランドマーク８０６よりも近い距離のところにある、別のランドマークの周囲の経路上を進み続けることができる。この別のランドマークは、以前に行ったランドマークであってもよい。地点Ｅ８３０において、経路は、薮８１０の逆側にあるランドマーク８０２周囲の経路を終わらせることに再度集中する。薮８１０は、ランドマーク８０４の周囲の行程を追従するために、経路が以前に離れて行ったところである。地点Ｆ８３２において、経路は、再度ランドマーク８０４の周囲の経路を終わらせることに集中する。ランドマーク８０４は、作業現場境界線８１４および作業現場境界線８１６が一致した周辺に遭遇し、直線状に地点Ｄ８２８に進んだときに、経路が以前に離れて行ったところである。自律車両が作業現場内を移動するに連れて、図７におけるエリア・カバレッジ格子地図７１０は、どの格子がカバーされたかを反映するために、更新される。経路は、終点に達し、他に行くべき追加のランドマークがなく、エリア・カバレッジ格子地図７１０毎に作業現場についてカバーすべき追加のエリアがなくなるまで、ランドマーク８０４を中心とする同心円内を進み続ける。
【００９６】
図１における自律車両１０４のような自律車両は、作業現場地図８００を用いて作業現場８０１について作成した経路計画に従うことができる。自律車両は、作業現場地図８００において特定された開始点８２０において開始することができる。経路において、ランドマーク８０２周囲にある開始点８２０から作業現場境界線８１２までのこの区間は、図６における追従円弧６１６のような、区域分解行動を用いて実行することができる。自律車両が地点Ａ８２２に到達すると、図６における二点間６１８のような、区域分解行動を用いて、地点Ｂ８２４までの直線経路を実行することができる。
【００９７】
図８における作業現場地図８００の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび／またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの１つ以上を組み合わせること、および／または異なるブロックに分割することもできる。
【００９８】
これより図９を参照すると、例示的な一実施形態にしたがって経路計画を実行するプロセスを図示するフローチャートが示されている。図９におけるプロセスは、例えば、図３におけるナビゲーション・システム３００のプロセッサ・ユニット３０２のようなコンポーネントによって実現することができる。
【００９９】
このプロセスが開始すると、複数のランドマークを有する作業現場の作業現場地図を受け取る（ステップ９０２）。複数のランドマークは、少なくとも１つのランドマークが作業現場の任意の位置から見えるように位置付けることができる。複数のランドマークは、例えば、限定ではなく、人によって、ロボットによって、自律的に、自然に、および／または任意のその他の適したランドマーク配置方法によって、作業現場に位置付けることができる。
【０１００】
例示的な一例では、作業現場地図は、図７における作業現場地図７０８のような、経路計画のない初期地図である場合もある。作業現場地図は、図７における地図データベース７０２のような地図データベースから引き出すこと、あるいは、例えば、ユーザまたはバック・オフィスから受け取ることができる。例示的な一例では、作業現場地図は、障害物、または境界線が、作業現場に精通するユーザによって示されている、作業現場の航空写真であってもよい。また、作業現場地図は、作業現場のランドマークの位置に印が付けられ、更にこの例示的な例ではユーザによって印を付けられた、直径および色というようなランドマーク属性を有することもできる。
【０１０１】
本プロセスは、作業現場地図を用いて、作業現場に合わせて、複数のエリア・カバレッジ格子エレメントを有するエリア・カバレッジ格子地図を作成する（ステップ９０４）。エリア・カバレッジ格子エレメントは、例えば、エリア・カバレッジ格子地図の複数のセクションとすることができる。例示的な一例では、エリア・カバレッジ格子地図は、作業現場地図から作成され、この場合、エリア・カバレッジ格子地図は、作業現場地図と同じ領域を表し、更に格子に分割されている。各エリア・カバレッジ格子エレメントのサイズは、予め定められていること、および／またはユーザによって選択することもできる。例えば、各エリア・カバレッジ格子エレメントは、作業現場においてエリア・カバレッジ・タスクを実行する候補となる自律車両のサイズの１／１０および２倍の間とすることができる。
【０１０２】
次いで、本プロセスは、作業現場地図およびエリア・カバレッジ格子地図を用いて、この作業現場に合った経路計画を作成する（ステップ９０６）。本プロセスは、作業現場地図上にある複数のランドマークに「未だ行っていない」の印を付け、複数のエリア・カバレッジ格子エレメントを「未カバー」(uncovered)として初期化する（ステップ９０８）。例示的な一例では、作業現場地図を初期化するには、全ての指定ランドマークを未だ行っていないとして設定し、エリア・カバレッジ格子地図を初期化するには、全てのエリア・カバレッジ格子エレメントをゼロに設定する。本プロセスが進むに連れて、例えば、ランドマークから計算した距離以内にある全てのエリアがカバーされたときに、ランドマークに既に行ったの印を付けることができる。計算した距離は、例えば、ランドマークのサイズ、視覚システムのパラメータ、および／または自律車両とランドマークとの間における最大許容距離誤差に基づくことができる。
【０１０３】
例示的な一例では、エリアがカバーされたと見なされるのは、当該エリアにおける格子エレメントのある割合が、所与のしきい値よりも大きなカバレッジ値を有するときである。このカバレッジ値は、エリア・カバレッジ格子エレメントの値である。この値は、ゼロから開始して、少なくとも１つの値が得られるまで、自律車両、または自律車両運転者(effecter)がエリア・カバレッジ格子エレメントに位置することが示される毎に、ある量だけ増分される。
【０１０４】
例示的な一例では、カバレッジ値にはゼロまたは１の値だけが発生し、ゼロは、エリア・カバレッジ格子エレメントがカバーされていないことを示し、１は、エリア・カバレッジ格子エレメントがカバーされていることを示す。別の例示的な例では、自律車両位置測定における誤差を、エリア・カバレッジ格子エレメントを増分する際に考慮することができる。この例示的な例では、現在計算中の自律車両位置にあるエリア・カバレッジ格子エレメントを１に設定するのではなく、ゼロと１との間の確率を、その位置にいることに割り当て、確率が低い程、隣接するエリア・カバレッジ格子エレメントに割り当てる。現在のおよび隣接するエリア・カバレッジ格子エレメントは、占有の確率にしたがって増分される。この例示的な例では、現在の占有確率の和が１になる。
【０１０５】
次に、本プロセスは、経路計画を用いて、作業現場において自律車両によるエリア・カバレッジ・タスクを実行する（ステップ９１０）。本プロセスは、作業現場地図上で未だ行っていないと印されているランドマークを特定する（ステップ９１２）。本プロセスは、自律車両を未だ行っていないと印されているランドマークに動かすために、メッセージを車両制御プロセスに送る（ステップ９１４）。
【０１０６】
本プロセスは、ランドマーク周囲の経路において、自律車両によるエリア・カバレッジ行動を実行する（ステップ９１６）。図７におけるエリア・カバレッジ格子地図７１０のような、作業現場と関連のあるエリア・カバレッジ格子地図を、エリア・カバレッジ行動を実行するために用いられた自律車両について計算された各現在地に基づいて更新する。次いで、本プロセスは、障害物が検出されたか、または自律車両が円全体を通り抜けた (traverse)か否か判定する（ステップ９１８）。障害物が発見されていない、または円全体を通り抜けていないと判定された場合、本プロセスはステップ９１６に戻る。
【０１０７】
障害物が検出された、または円全体を通り抜けたと判定された場合、本プロセスは、自律車両がランドマークから所与の距離だけ離れて移動できるか否か判定する（ステップ９２０）。自律車両は、障害物により、または、例えば、距離計算誤差がしきい値を超過するために、ランドマークから所与の距離だけ離れて移動できない場合がある。自律車両がランドマークから所与の距離だけ離れて移動できると判定された場合、本プロセスは、自律車両をランドマークから所与の距離だけ離れて移動するように、メッセージを車両制御プロセスに送り、逆方向でエリア・カバレッジ行動を実行し（ステップ９２２）、次いでプロセスはステップ９１８に戻る。自律車両がランドマークから所与の距離だけ離れて移動できないと判定された場合、本プロセスは作業現場地図上でこのランドマークに「既に行った」の印を付ける（ステップ９２４）。次いで、本プロセスは、作業現場地図上に、未だ「未だ行っていない」と印されているランドマークが残っているか否か判定する（ステップ９２６）。作業現場地図上に、未だ「未だ行っていない」と印されているランドマークが１つでも残っていると判定された場合、本プロセスは、作業現場地図上で「未だ行っていない」と印されている次のランドマークを特定し（ステップ９２８）、ステップ９１４に戻る。
【０１０８】
作業現場地図上に、未だ「未だ行っていない」と印されているランドマークが残っていないと判定された場合、本プロセスは、次に、「未カバー」と記されているエリア・カバレッジ格子エレメントが残っているか否か判定する（ステップ９３０）。「未カバー」と記されているエリア・カバレッジ格子エレメントが１つでも残っていると判定されると、本プロセスは、未カバーと印されているエリア・カバレッジ格子エレメントと関連のある既に行ったのランドマークまで、経路計画に沿って進むように、メッセージを車両制御プロセスに送り（ステップ９３２）、次いでステップ９１６に戻る。「未カバー」と記されているエリア・カバレッジ格子エレメントが残っていないと判定された場合、本プロセスはその後終了する。
【０１０９】
これより図１０を参照すると、例示的な一実施形態にしたがって同時位置測定およびマッピングを用いて経路計画を実行するプロセスを図示するフローチャートが示されている。図１０におけるプロセスは、例えば、図３における同時位置測定およびマッピング・プロセス３３４のような、コンポーネントによって実現することができる。
【０１１０】
本プロセスが開始すると、複数のランドマーク属性および作業現場についての障害物情報を受け取る（ステップ１００２）。ランドマーク属性は、例えば、限定ではなく、ランドマークの記述、画像、特性、および／または任意のその他の適した属性とすることができる。例示的な一例では、複数のランドマーク属性は、所与の直径ならびに赤、白、および青の色を有する円筒として、ランドマークを特定することができる。
【０１１１】
本プロセスは、複数の格子エレメントを有するエリア・カバレッジ格子地図を作成する（ステップ１００４）。次いで、本プロセスは作業現場の画像を取得する（ステップ１００６）。この画像は、例えば、複数のカメラ３２２を用いる図３における視覚システム３２０のような、視覚システムを用いて取得することができる。本プロセスは、画像においてランドマークが特定されたか否か判定する（ステップ１００８）。
【０１１２】
画像においてランドマークが特定されていないと判定された場合、本プロセスは、複数のカメラを用いて、度単位の視野にゼロと１との間の値を乗算した積である値だけ回転させて、取得される追加画像において画像の重複ができるようにして、作業現場エリアにおいてランドマークを検索する（ステップ１０１０）。次いで、本プロセスは、取得された追加画像においてランドマークが特定されたか否か判定する（ステップ１０１２）。追加画像においてランドマークが特定されないと判定された場合、本プロセスは、複数のカメラが３６０度回転したか否か判定する（ステップ１０１４）。複数のカメラが３６０度回転したと判定された場合、本プロセスは誤差処理(error handling)を追加し（ステップ１０１６）、その後終了する。誤差処理とは、少なくとも１つのランドマークが、作業現場の全ての作業可能な部分から常に見えるという、ランドマークの規則を指す。少なくとも１つのランドマークを発見することができない場合、この規則は破られたことになり、本プロセスは終了する。
【０１１３】
複数のカメラが３６０度回転していないと判定された場合、本プロセスはステップ１０１０に戻る。ステップ１００８においてランドマークが画像において特定されたと判定された場合、またはステップ１０１２においてランドマークが追加画像において特定されたと判定された場合、本プロセスは、次に、特定されたランドマークが既に行ったものか否か判定する（ステップ１０１８）。ランドマークが既に行ったものである場合、エリア・カバレッジ格子マップには、「既に行った」と既に識別されているランドマークが印される。
【０１１４】
特定されたランドマークが既に行ったものである場合、本プロセスは、全ての格子地図エレメントがカバーされているか否か判定する（ステップ１０２０）。格子地図エレメントがカバーされている場合、エリア・カバレッジ格子地図上でこれには「カバー済み」(covered)と印される。「未カバー」と印されているエリアがエリア・カバレッジ格子地図にある場合、カバーすべき到達可能な格子地図エレメントが残っていることになる。全ての格子地図エレメントがカバーされていると判定された場合、本プロセスはその後終了する。
【０１１５】
全ての格子地図エレメントが未だカバーされていないと判定された場合、本プロセスは次の作業現場エリアに移動し、ランドマークを探すために次の画像を取得し（ステップ１０２２）、ステップ１００８に戻る。
【０１１６】
特定されたランドマークが未だ行っていないと判定された場合、本プロセスは、特定されたランドマークまでの経路計画を計算する（ステップ１０２４）。次いで、本プロセスは、自律車両の現在地および推定ランドマーク位置を、作業現場のエリア・カバレッジ格子地図上に印する（ステップ１０２６）。本プロセスは、経路計画を実行し、通り抜けられたエリア・カバレッジ格子エレメントに「カバー済み」と印を付け（ステップ１０２８）、ステップ１０２０に進む。
【０１１７】
これより図１１を参照すると、例示的な一実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を実行するプロセスを図示するフローチャートが示されている。図１１におけるプロセスは、例えば、図３におけるナビゲーション・システム３００のようなコンポーネントによって実現することができる。
【０１１８】
本プロセスが開始すると、ランドマークから所望の距離における、当該ランドマークの予測幅を画素単位で決定する（ステップ１１０２）。予測幅は、ランドマークの画像において、そのランドマークから所与の距離において特定されると予測されるランドマークの幅とすることができる。この予測幅は、例えば、画像を取り込むために用いられる複数のカメラについてのカメラ画像分解能、ランドマーク・データベースにおいて特定されているランドマークの既知の幅、ランドマークからの自律車両の目標距離、および画像を取り込むために用いられる複数のカメラの視野に基づいて幾何学的に計算することができる。本プロセスは、ランドマークを有する画像を特定する（ステップ１１０４）。この画像は、例えば、図３における視覚システム３２０のような、視覚システムを用いて特定することができる。本プロセスは、画像をフィルタ処理して、ランドマークのみから成るフィルタ処理画像を形成する（ステップ１１０６）。画像をフィルタ処理すると、例えば、画素ノイズを低減することができる。例示的な一例では、フィルタ処理は、例えば、視覚システム３２０の複数のカメラ３２２において偏光波長選択フィルタを用いて、光学的に行うことができる。他の例示的な例では、視覚システム３２０に実装したソフトウェアを用いて、波長選択フィルタ処理を行うことができる。更に別の例示的な例では、視覚システム３２０は、画素レベルのノイズを除去するためのメディアン・フィルタの適用によって、図３における複数の画像３２４をフィルタ処理することができる。メディアン・フィルタは、この例では、視覚システム３２０によって用いられるソフトウェア・プロセスであってもよい。
【０１１９】
本プロセスは、オプションとして、フィルタ処理した画像において垂直方向に円筒状ランドマークの方位を正規化する（ステップ１１０８）。画像の正規化は、例えば、図３の視覚システム３２０および／またはプロセッサ・ユニット３０２を用いて実行することができる。例示的な一例では、ランドマークが円筒である場合、この円筒の軸を特定するように画像を処理することができる。次いで、この例では、特定した軸に対して直交に幅を計算する。
【０１２０】
本プロセスは、フィルタ処理した画像を用いて、観察したランドマークの幅を画素単位で決定する（ステップ１１１０）。例示的な一例では、観察したランドマークの幅は、ステップ１１０８からの正規化したランドマークの１つの断面を用いて計算することができる。別の例示的な例では、観察したランドマークの幅は、画像において特定したランドマークの複数の断面の平均を取ることによって計算することができる。ランドマークを消すグレアが検出された例示的な一例では、大多数または複数の断面幅よりも遥かに小さい複数の断面幅を、幅の計算から欠落させることができる。
【０１２１】
次いで、本プロセスは、観察幅が予測幅よりも大きいか否か判定する（ステップ１１１２）。観察幅が予測幅よりも大きくないと判定された場合、本プロセスは、観察幅が予測幅未満であるか否か判定する（ステップ１１１４）。観察幅が予測幅未満であると判定された場合、本プロセスは自律車両をランドマークに向けて方向転換するために、メッセージを車両制御プロセスに送る（ステップ１１１６）。観察幅が予測幅未満でないと判定された場合、本プロセスは、周辺または障害物が検出されたと判定する（ステップ１１１８）。
【０１２２】
観察幅が予測幅よりも大きいと判定された場合、本プロセスは、自律車両をランドマークから遠ざけるように方向転換するために、メッセージを車両制御プロセスに送り（ステップ１１２０）、ステップ１１１８に進む。
【０１２３】
周辺も障害物も検出されないと判定された場合、プロセスはステップ１１０４に戻る。周辺または障害物が検出されたと判定された場合、本プロセスはその後終了する。
これより図１２を参照すると、例示的な一実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を作成するプロセスを図示するフローチャートが示されている。図１２におけるプロセスは、例えば、図３におけるナビゲーション・システム３００のようなコンポーネントによって実現することができる。
【０１２４】
本プロセスが開始すると、複数のランドマークを有する作業現場地図上の開始点を特定する（ステップ１２０２）。本プロセスは、複数のランドマークの中で第１ランドマークを特定する（ステップ１２０４）。本プロセスは、開始点から第１ランドマークを中心とする経路を開始し、第１ランドマークから予め定められた距離を維持して、第１円弧を形成する（ステップ１２０６）。本プロセスは、作業現場境界線が検出されたか否か判定する（ステップ１２０８）。
【０１２５】
作業現場境界線が検出されたと判定された場合、本プロセスはこの作業現場境界線に沿って第１円弧から予め定められた幅だけ離れるように、経路を移動させる（ステップ１２１０）。次いで、プロセスは、第１ランドマークを中心とする経路を進み続けて、次の円弧を形成し（ステップ１２１２）、次いでステップ１２０８に戻る。
【０１２６】
作業現場境界線が検出されていないと判定された場合、本プロセスは、障害物が検出されたか否か判定する（ステップ１２１４）。障害物が検出されていないと判定された場合、本プロセスはステップ１２０６に戻る。障害物が検出されたと判定された場合、本プロセスは、次のランドマークの近傍まで、経路を直線状とする（ステップ１２１６）。本プロセスは、次のランドマークを中心とする経路を進み続けて、複数の円弧を形成する（ステップ１２１８）。本プロセスは、経路が作業現場マップをカバーするまで反復的に繰り返す（ステップ１２２０）。次いで、本プロセスは経路計画を作成し（ステップ１２２２）、その後本プロセスは終了する。
【０１２７】
図示した異なる実施形態におけるフローチャートおよびブロック図は、装置、方法、およびコンピュータ・プログラム製品の何らかの可能な実施態様のアーキテクチャ、機能、おおび動作を例示したものである。これに関して、フローチャートまたはブロック図における各ブロックは、コンピュータ使用可能または読み取り可能プログラム・コードのモジュール、セグメント、または一部を表すことができ、プログラム・コードは、指定された１つまたは複数の機能を実現するための１つ以上の実行可能命令を備えている。代替実施態様の中には、ブロックの中に印した１つまたは複数の機能が、図に印した順序通りには行われない場合もある。例えば、場合によっては、連続して示される２つのブロックを実質的に同時に実行することもあり、また、関与する機能に応じて、ブロックを逆の順序で実行することもあり得る。
【０１２８】
異なる有利な実施形態は、全体的にハードウェアとした実施形態、全体的にソフトウェアとした実施形態、またはハードウェアおよびソフトウェア・エレメント双方を含む実施形態という形態をなすことができる。一部の実施形態はソフトウェアで実現され、これには、限定ではないが、例えば、ファームウェア、常駐ソフトウェア、およびマイクロコードというような形態を含む。
【０１２９】
更に、異なる実施形態は、コンピュータあるいは命令を実行する任意のデバイスまたはシステムによって用いられる、またはこれと関係のあるプログラム・コードを提供するコンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータ・プログラム製品という形態をなすことができる。この開示に限って言えば、コンピュータ使用可能またはコンピュータ読み取り可能媒体は、一般に、命令実行システム、装置、またはデバイスによって用いられるプログラムまたはこれと関係のあるプログラムを収容、格納、伝達、伝搬、または移送することができる任意の有形装置とすることができる。
【０１３０】
コンピュータ使用可能またはコンピュータ読み取り可能媒体は、例えば、限定ではなく、電子、磁気、光学、電磁、赤外線、または半導体システム、あるいは伝搬媒体とすることができる。コンピュータ読み取り可能媒体の非限定的例には、半導体またはソリッド・ステート・メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、硬質磁気ディスク、および光ディスクが含まれる。光ディスクには、コンパクト・ディスク−リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含むことができる。
【０１３１】
更に、コンピュータ使用可能またはコンピュータ読み取り可能媒体は、コンピュータ読み取り可能または使用可能プログラム・コードを収容または格納することができ、このコンピュータ読み取り可能または使用可能プログラム・コードをコンピュータ上で実行すると、このコンピュータ読み取り可能または使用可能プログラム・コードの実行によって、コンピュータに別のコンピュータ読み取り可能または使用可能プログラム・コードを通信リンクを通じて送信させる。この通信リンクは、例えば、限定ではなく、物理的またはワイヤレスである媒体を用いることができる。
【０１３２】
コンピュータ読み取り可能またはコンピュータ使用可能プログラム・コードを格納するおよび／または実行するのに適したデータ処理システムは、システム・バスのような通信ファブリックを通じてメモリ・エレメントに直接または間接的に結合されている１つ以上のプロセッサを含む。メモリ・エレメントは、プログラム・コードの実際の実行中に用いられるローカル・メモリ、バルク・ストレージ、およびコードの実行中にコードをバルク・ストレージから引き出すかもしれない回数を減らすために、少なくとも一部のコンピュータ読み取り可能またはコンピュータ使用可能プログラム・コードの一時的格納に備えたキャッシュ・メモリを含むことができる。
【０１３３】
入力／出力即ちＩ／Ｏデバイスは、直接または介在するＩ／Ｏコントローラを介してシステムに結合することができる。これらのデバイスは、例えば、限定ではなく、キーボード、タッチ・スクリーン・ディスプレイ、およびポインティング・デバイスを含むことができる。異なる通信アダプタもシステムに結合して、データ処理システムを他のデータ処理システムあるいはリモート・プリンタまたは記憶デバイスに、介在する私的または公衆ネットワークを通じて結合することを可能にすることができる。モデムおよびネットワーク・アダプタの非限定的な例には、多くの現在入手可能なタイプの通信アダプタがある。
【０１３４】
異なる有利な実施形態の記載は、例示および説明を目的として提示したのであって、網羅的であることも、実施形態を開示した形態に限定することを意図するのではない。多くの変更および変容も当業者には明白であろう。更に、異なる実施形態は、他の実施形態と比較して、異なる利点を提供することができる。選択された１つまたは複数の実施形態は、本発明の原理、実用的用途を最良に説明するため、そして当業者が本発明を、想定される個々の使用に適するような種々の変更を加えた種々の実施形態について理解することが可能となるために、選定し説明したのである。
【符号の説明】
【０１３５】
１００  作業現場環境
１０１  ネットワーク
１０２  バック・オフィス
１０４  自律車両
１０８  ユーザ
１１０  手動制御デバイス
１１２  ナビゲーション・システム
１２０  ランドマーク
１２２  障害物
１２４  収容位置
１２６  電源
２００  データ処理システム
２０４  プロセッサ・ユニット
２０６  メモリ
２０８  永続的ストレージ
２１０  通信ユニット
２１２  入力／出力ユニット
２１４  ディスプレイ
２１６  記憶デバイス
２２２  コンピュータ・プログラム製品
２２０  コンピュータ読み取り可能媒体
２１８  プログラム・コード
２２４  コンピュータ読み取り可能記憶媒体
２２６  コンピュータ読み取り可能信号媒体
３００  ナビゲーション・システム
３０２  プロセッサ・ユニット
３０４  通信ユニット
３０６  行動データベース
３０８  作業現場データベース
３１０  可動システム
３１２  センサ・システム
３１４  電源
３１６  電力レベル・インディケータ
３１８  基本システム・インターフェース
３２０  視覚システム
３２２  複数のカメラ
３２４  複数の画像
３２６  車両制御プロセス
３２８  経路計画モジュール
３３２  区域分解プロセス
３３０  経路計画
３３４  同時位置測定およびマッピング・プロセス
４００  可動システム
４０２  推進システム
４０４  操舵システム
４０６  制動システム
４０８  複数の可動コンポーネント
４１０  車輪駆動モータ
５００  センサ・システム
５０２  障害物検出システム
５０４  周辺検出システム
５０６  推測航法システム
５０８  複数のコンタクト・スイッチ
５１０  超音波変換器
５１２  受信機
５１４  赤外線検出器
５１６  オドメータ
５１８  コンパス
５２０  加速度計
６００  行動データベース
７００  作業現場データベース
７０２  地図データベース
７０４  ランドマーク・データベース
８００  作業現場地図
８０１  作業現場
８０２  ランドマーク
８０４  ランドマーク
８０６  ランドマーク
８０８  花壇
８１０  薮
８１２、８１４，８１６，８１８  作業現場境界線
８２０  開始点
８３４  終点
【図１】
2011138502.tif 000003
【図２】
2011138502.tif 000004
【図３】
2011138502.tif 000005
【図４】
2011138502.tif 000006
【図５】
2011138502.tif 000007
【図６】
2011138502.tif 000008
【図７】
2011138502.tif 000009
【図８】
2011138502.tif 000010
【図９】
2011138502.tif 000011
【図１０】
2011138502.tif 000012
【図１１】
2011138502.tif 000013
【図１２】
2011138502.tif 000014
【外国語明細書】
2011138502000001.pdf