説明

区域分解を用いるエリア・カバレッジ・システムおよび方法

【課題】移動ロボット・デバイスの経路計画を効率的かつ低コストで作成できるエリア・カバレッジ・システムを提供する。
【解決手段】区域分解を用いてエリア・カバレッジ経路計画を作成する方法は、複数のランドマークを有する作業現場地図上で、開始点を特定する。複数のランドマークのうち、第1ランドマークを特定する。障害物を検出するまで、第1ランドマークの周囲において経路を発生する。障害物の検出に応答して、次のランドマークまで経路を直線状にする。次のランドマーク周囲において経路を発生する。

【発明の詳細な説明】
【技術分野】
【0001】
関連出願に対する相互引用
本願は、"System and Method for Deploying Portable Landmarks"(可搬型ランドマークの配備システムおよび方法)と題し本願と同じ譲受人に譲渡された同時係属中の米国特許出願第 号(代理人整理番号第18885−US号)、"Enhanced Visual Landmark for Localization"(位置確認のための改良型視覚ランドマーク)と題し本願と同じ譲受人に譲渡された同時係属中の米国特許出願第 号(代理人整理番号第18886−US号)に関連がある。これらの出願全ては、ここで引用したことにより、その内容が本願にも含まれるものとする。
発明の分野
本発明は、一般には、ナビゲーション・システムおよび方法に関し、更に特定すれば移動ロボット・ナビゲーション・システムおよび方法に関する。更に一層特定すれば、本開示は、区域分解を用いるエリア・カバレッジ(area coverage)方法およびシステムに関する。
【従来技術】
【0002】
肉体的作業を行うためのロボット・デバイスの使用は、近年増加している。移動ロボット・デバイスは、種々の異なる作業を行うために用いることができる。これらの移動デバイスは、半自動モードまたは完全自動モードで動作することもできる。ロボット・デバイスの中には、囲まれたエリアにおいて動作することに制約されるものもあり、この囲まれたエリア内における有効範囲(coverage)を得るために異なる方法を用いる。これらのロボット・デバイスは、通例、固定測地およびナビゲーション・システムが統合されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
多くの場合、移動ロボット・デバイスは推測航法、または汎地球測位システム(GPS)の使用を拠り所として、エリア・カバレッジを達成する。これらのシステムは、非効率的である傾向があり、法外なコストがかかることが多い。
【課題を解決するための手段】
【0004】
異なる例示的実施形態は、区域分解を用いてエリア・カバレッジ経路計画を作成する方法を提供する。複数のランドマークを有する作業現場地図上において、開始点を特定する。複数のランドマークにおいて、第1ランドマークを特定する。この第1ランドマークの周囲において、障害物を検出するまで、通路を発生する。障害物の検出に応答して、次のランドマークまで通路を直線状にする。次のランドマークの回りに経路を発生する。
【0005】
更に、異なる例示的な実施形態は、区域分解を用いてエリア・カバレッジ経路計画を実行する方法を提供する。ランドマークから所望の距離だけ離れたところにおいて、前記ランドマークの予測幅を画素単位で決定する。ランドマークを有する画像を特定する。画像を用いて、前記ランドマークの観察幅を決定する。ランドマークの観察幅を前記ランドマークの予測幅と比較する。観察幅および前記予測幅の比較に基づいて、自律車両を動かすためにメッセージを車両制御プロセスに送る。
【0006】
更に、異なる例示的な実施形態は、同時位置測定およびマッピングを用いて作業現場地図を作成する方法を提供する。複数のランドマークを有する作業現場を特定する。この作業現場の作業現場地図を作成する。作業現場においてエリア・カバレッジ・タスクを開始する。作業現場地図上において、未だ行っていないと印されているランドマークを識別する。この未だ行っていないと印されているランドマークに進むように、車両制御プロセスにメッセージを送る。
【0007】
特徴、機能、および利点は、本発明の種々の実施形態において独立して達成することができ、または更に別の実施形態において組み合わせることもできる。実施形態における更なる詳細は、以下の説明および図面を参照することによって確認することができる。
【図面の簡単な説明】
【0008】
例示的な実施形態の新規な特徴であると確信する特性について、添付した特許請求の範囲に明記する。しかしながら、例示的な実施形態、ならびにその好ましい使用様式、更に別の目的および利点は、以下の本発明の例示的な実施形態の詳細な説明を参照し、添付図面と合わせて読むことによって最良に理解されよう。
【図1】図1は、例示的な実施形態を実現することができる作業現場環境のブロック図である。
【図2】図2は、例示的な実施形態によるデータ処理システムのブロック図である。
【図3】図3は、例示的な実施形態によるナビゲーション・システムのブロック図である。
【図4】図4は、例示的な実施形態による可動システムのブロック図である。
【図5】図5は、例示的な実施形態によるセンサ・システムのブロック図である。
【図6】図6は、例示的な実施形態による行動データベースのブロック図である。
【図7】図7は、例示的な実施形態による作業現場データベースのブロック図である。
【図8】図8は、例示的な実施形態による作業現場地図のブロック図である。
【図9】図9は、例示的な実施形態による経路計画を実行するプロセスを示すフローチャートである。
【図10】図10は、例示的な実施形態にしたがって、同時位置測定およびマッピングを用いて経路計画を実行するプロセスを示すフローチャートである。
【図11】図11は、例示的な実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を実行するプロセスを示すフローチャートである。
【図12】図12は、例示的な実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を作成するプロセスを示すフローチャートである。
【発明を実施するための形態】
【0009】
図面を参照し特に図1を参照すると、例示的な実施形態を実現することができる作業現場環境のブロック図が示されている。作業現場環境100は、自律車両が動作することができる任意のタイプの作業現場環境とすることができる。例示的な一例では、作業現場環境100は、構造物、建造物、作業現場、エリア、ヤード、ゴルフ・コース、室内環境、野外環境、異なるエリア、ユーザの要望の変化、および/または任意のその他の適した作業現場環境または作業現場環境の組み合わせとすることもできる。
【0010】
例示的な一例では、ユーザの必要性の変化は、限定ではなく、ユーザが古い場所から新しい場所に移動し、古い場所の構内とは異なる、新しい場所の構内において自律車両を運転することを含むこともできる。別の例示的な一例として、異なるエリアは、限定ではなく、自律車両を屋内環境および野外環境の双方で運転すること、または自律車両を、例えば、前庭および裏庭において運転することを含むことができる。
【0011】
作業現場環境100は、本発明の一実施形態ではネットワーク101を含む。この例では、バック・オフィス102は、1台のコンピュータまたは分散型計算クラウドとすることができる。バック・オフィス102は、物理的なデータベースおよび/または外部データベースへの接続をサポートする。これらのデータベースは、異なる例示的な実施形態でも用いることができる。バック・オフィス102は、異なる車両へのデータベースをサポートすること、そしてデータベースからの情報へのオンライン・アクセスを提供することもできる。また、バック・オフィス102は、例えば、自律車両104のような、車両についての経路計画を提供することもできる。作業現場環境100は、自律車両104、複数の作業現場106、ユーザ108、および手動制御デバイス110を含むことができる。本明細書において用いる場合、複数の項目は1つ以上の項目を意味するものとする。例えば、複数の作業現場106は、1つ以上の作業現場であるとする。
【0012】
自律車両104は、任意のタイプの自律車両とすることができ、限定ではなく、移動ロボット機械、サービス・ロボット、フィールド・ロボット、ロボット芝刈り機、ロボット除雪機、ロボット落ち葉除去機、ロボット芝給水機、ロボット掃除機、および/またはその他の任意の自律車両を含む。自律車両104は、ナビゲーション・システム112を含む。ナビゲーション・システム112は、自律車両104について移動性(mobility)、位置決め、およびナビゲーションを制御するための基本システムを備える。基本システムの能力には、例えば、限定ではなく、作業現場のランダムなエリア・カバレッジを実行するための基本可動機能、接触スイッチの障害物回避のための基本障害物回避機能、測地機能のための基本推測航法および/または自律車両104のための基本機能の任意のその他の組み合わせというような、基本的な行動を含むことができる。
【0013】
複数の作業現場106は、作業現場環境100において、自律車両104が動作することができる任意のエリアとすることができる。複数の作業現場106における各作業現場には、複数のタスクを関連付けることができる。作業現場114は、複数の作業現場106における1つの作業現場の例示的な一例である。例えば、例示的な実施形態では、作業現場114は、ユーザの住居の裏庭であってもよい。作業現場114は、複数のタスク116を含む。例示的な実施形態では、複数のタスク116は、ユーザの住居の裏庭の芝刈りを含むことができる。自律車両104は、作業現場114内部において複数のタスク116を実行するように動作することができる。本明細書において用いる場合、数(number)は1つ以上の項目に言及する。例示的な一例では、複数の作業現場106は、限定ではなく、主要な庭および二次的な庭を含むことができる。主要な庭は、複数のタスク116が関連付けられている作業現場114とすることができる。二次的な庭には、例えば、他の1組のタスクを関連付けることができる。
【0014】
複数の作業現場106における各作業現場は、複数の作業現場エリア、複数のランドマーク、および/または複数の障害物を含む場合がある。作業現場114は、複数の作業現場エリア118、複数のランドマーク120、および複数の障害物122を含む。例示的な一例では、複数の作業エリア118は、例えば、限定ではなく、開始点、中間点、および終点というような、作業現場114内における複数の場所とすることもできる。別の例示的な例では、複数の作業現場エリア118は、作業現場114のサブエリアを含むこともできる。
【0015】
複数のランドマーク120は、自律車両104によって検出することができ、作業現場の場所を特定するために用いることができる任意のタイプの特徴(feature)とすることができる。例示的な一例では、複数のランドマーク120は、限定ではなく、円筒形ランドマーク、有色ランドマーク、パターンを付けたランドマーク、照明付きランドマーク、垂直ランドマーク、自然ランドマーク、以上の任意の組み合わせ、および/または他の任意の適したランドマークを含むことができる。パターンを付けたランドマークは、例えば、別個の情報を提供するために組み込まれた視覚的パターンを含むことができる。照明付けランドマークは、例えば、夜間のような、光が少ない状況または光のない状況において、視覚的検出に備えることができる。自然ランドマークは、例えば、限定ではなく、樹木の幹を含むことができる。他のタイプのランドマークには、例えば、建造物、建築構造、道路、歩道、曲がり角、壁、および/またはその他の任意の適したランドマークを含むことができる。
【0016】
複数の障害物122は、作業現場114内の物理的空間、および/または自律車両104が占拠したり交差してはならない場所を占拠する任意のタイプの物体とすることができる。作業現場114内の物理的空間を占拠する物体のタイプは、例えば、特に非ゼロ速度で互いに衝突した場合に、自律車両104によって損傷を負わされるかまたは自律車両104に損傷を負わせる可能性がある物体に言及することができる。自律車両104が占拠してはいけない場所または交差してはいけない場所は、その空間を何が占拠しているかによって異なる場合もあり、あるいは、例えば、境界線の他方側である。
【0017】
ユーザ108は、限定ではなく、人間の操作者、ロボット・オペレータ、またはその他の何らかの外部システムとすることができる。手動制御デバイス110は、ユーザ108が自律行動を無効にして自律車両104を制御することを可能にする、任意のタイプの手動コントローラとすることができる。例示的な一例では、ユーザ108は、手動制御デバイス110を用いて、複数のタスク116を実行するために、収容位置124から作業現場114に向けて自律車両104の移動を制御することができる。
【0018】
収容位置124は、自律車両104のドッキング・ステーションまたは格納ステーションとすることができる。収容位置124は、電源126を含むことができる。電源126は、自律車両104が収容位置124にあるときに、自律車両104に電力を供給することができる。例示的な一例では、電源126は、自律車両104の電力貯蔵部または電源に再充電することができる。電源126は、限定ではなく、バッテリ、移動バッテリ再充電器、ウルトラキャパシタ(ultracapacitor)、燃料電池、ガス発電機(gas powered generator)、太陽電池、および/またはその他の任意の適した電源を含むことができる。
【0019】
図1における作業現場環境100の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび/またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの1つ以上を組み合わせること、および/または異なるブロックに分割することもできる。
【0020】
異なる例示的な実施形態は、ロボット・ナビゲーションに現在用いられている方法は、多くの場合、非常に原始的なランダム・ナビゲーション・システムを用いていることを認識し、これを考慮に入れている。このランダム・ナビゲーション・システムは、電気信号を伝達するワイヤによって確立された周辺の内部で動作する。現在用いられている方法におけるロボット機械には、電気信号検出器と、バンパ・スイッチとを当該機械の本体に装備することができる。これらの機械は、周辺ワイヤからの信号を検出するまで、または機械の外部物体との接触によってバンパ・スイッチが閉じるまで、ほぼ直線方向に移動する。これらの2つの状況のいずれかが発生すると、これらの機械は方向を変える。このように、現在の方法は、機械を作業エリアの周辺以内に制約し、外部物体との接触後に移動を維持する。
【0021】
異なる例示的な実施形態は、更に、現在ロボット・ナビゲーションに用いられているシステムは、ロボット機械に統合されている固定システムであることも認識し、これを考慮に入れている。これらの固定システムは、測位およびナビゲーション用のセンサを含むことができ、一層効率的でしかも正確なカバレッジに対処するが、基本的なランダム・ナビゲーション・システムを備えたロボット機械の価格よりも数百ドルまたは数千ドルも、ロボット機械の費用が増大する。
【0022】
更に、異なる例示的な実施形態は、現在ロボット・ナビゲーションに用いられているシステムは、有人機械から無人機械に移動するか否か考慮するときに、消費者に懸念が生ずることを認識し、これを考慮に入れている。消費者は、もっとコストが低くしかもランダム・カバレッジ能力がある機械の方が機械作業に対する感覚的標準を満たすのではないか思い巡らすこともある。他の懸念は、機械が1つの環境において別の環境よりも適切に機能する能力であることが考えられる。更に別の懸念は、現在のシステムにおける固定ナビゲーション・システムが旧式となったときの連続的な技術的更新、および機械全体を交換しなければならないときのコストであると考えられる。
【0023】
このため、異なる例示的な実施形態の1つ以上は、区域分解を用いてエリア・カバレッジ経路計画を作成する方法を提供する。複数のランドマークを有する作業現場地図上において、開始点を特定する。複数のランドマークのうち第1ランドマークを特定する。障害物を検出するまで、第1ランドマークの周囲において経路を発生する。障害物の検出に応答して、次のランドマークに対して経路を直線にする。次のランドマークの周囲においてこの経路を発生する。
【0024】
更に、異なる例示的な実施形態は、区域分解を用いてエリア・カバレッジ経路計画を実行する方法を提供する。ランドマークから所望の距離だけ離して、このランドマークの予測幅を画素単位で判定する。このランドマークを有する画像を特定する。この画像を用いて、ランドマークの観察した幅を判定する。ランドマークの観察した幅を、ランドマークの予測した幅と比較する。観察した幅および予測した幅の比較に基づいて、自律車両を動かすために、メッセージを車両制御プロセスに送る。
【0025】
更に、異なる例示的な実施形態は、同時位置測定(localization)およびマッピングを用いて作業現場地図を作成する方法を提供する。複数のランドマークを有する作業現場を特定する。この作業現場に作業現場地図を作成する。この作業現場においてエリア・カバレッジ・タスクを開始する。未だ行っていないと印したランドマークを、作業現場地図上で特定する。未だ行っていないと印したランドマークに進むために、メッセージを車両制御プロセスに送る。
【0026】
異なる例示的な実施形態は、既存の高精度位置測定システムの高コストや環境的制限を伴うことなく、自動化タスクのためのエリアを効率的にカバーする能力を提供する。更に、異なる例示的な実施形態は、セミランダム・エリア・カバレッジ方法によって生ずる過剰使用(excessive wear)のエリアをカバーする能力も提供する。
【0027】
これより図2を参照すると、例示的な一実施形態によるデータ処理システムのブロック図が示されている。データ処理システム200は、図1におけるバック・オフィス102のような、コンピュータの一例であり、プロセスを実現するコンピュータ使用可能プログラム・コードまたは命令を、この例示的な実施形態のために配置することができる。
【0028】
この例示的な例では、データ処理システム200は、プロセッサ・ユニット204との間に通信を設ける通信ファブリック202、メモリ206、永続的ストレージ208、通信ユニット210、入力/出力(I/O)ユニット212、およびディスプレイ214を含む。
【0029】
プロセッサ・ユニット204は、メモリ206にロードすることができるソフトウェアの命令を実行する機能を果たす。プロセッサ・ユニット204は、個々の実施態様に応じて、1組の1つ以上のプロセッサであってもよく、またはマルチプロセッサ・コアであってもよい。更に、プロセッサ・ユニット204は、1つ以上の異質なプロセッサ・システムを用いて実現することもできる。この場合、主プロセッサが副プロセッサと共に1つのチップ上に存在する。別の例示的な例として、プロセッサ・ユニット204は、同じタイプの複数の(multiple)プロセッサを内蔵する対称マルチプロセッサ・システムであってもよい。
【0030】
メモリ206および永続的ストレージ208は、記憶デバイス216の例である。記憶デバイスは、例えば限定ではなく、データ、機能的形態のプログラム・コード、および/またはその他の適した情報というような情報を、一時的におよび/または永続的に格納することができる任意のハードウェア部である。メモリ206は、この例では、例えば、ランダム・アクセス・メモリあるいはその他の任意の適した揮発性または不揮発性記憶デバイスとすることができる。永続的ストレージ208は、個々の実施態様に応じて、種々の形態をなすことができる。例えば、永続的ストレージ208は、1つ以上のコンポーネントまたはデバイスを内蔵することができる。例えば、永続的ストレージ208は、ハード・ドライブ、フラッシュ・メモリ、再書き込み可能な光ディスク、再書き込み可能な磁気テープ、または以上の何らかの組み合わせとすることができる。また、永続的ストレージ208によって用いられる媒体は、リムーバブルであってもよい。例えば、リムーバブル・ハード・ドライブを永続的ストレージ208に用いることもできる。
【0031】
通信ユニット210は、これらの例では、他のデータ処理システムまたはデバイスとの通信に備える。これらの例では、通信ユニット210はネットワーク・インターフェース・カードである。通信ユニット210は、物理的およびワイヤレス通信の一方または双方の使用によって、通信を提供することができる。
【0032】
入力/出力ユニット212は、データ処理システム200に接続することができるその他のデバイスとのデータの入力および出力を可能にする。例えば、入力/出力ユニット212は、キーボード、マウス、および/またはその他の適した何らかの入力デバイスを通じて、ユーザ入力のための接続を設けることができる。更に、入力/出力ユニット212は、出力をプリンタに送ることができる。ディスプレイ214は情報をユーザに表示するメカニズムを備えている。
【0033】
オペレーティング・システム、アプリケーション、および/またはプログラムの命令は、記憶デバイス216に配置することができる。記憶デバイス216は、通信ファブリック202を通じてプロセッサ・ユニット204と通信状態にある。これらの例示的な例では、命令は、永続的ストレージ208において機能的形態となっている。これらの命令をメモリ206にロードして、プロセッサ・ユニット204によって実行することができる。異なる実施形態のプロセスは、プロセッサ・ユニット204によって、コンピュータ実装命令を用いて実行することができる。コンピュータ実装命令は、メモリ206のようなメモリに配置することができる。
【0034】
これらの命令は、プログラム・コード、コンピュータ使用可能プログラム・コード、またはコンピュータ読み取り可能プログラムと呼ばれており、プロセッサ・ユニット204におけるプロセッサによって読み取り実行することができる。異なる実施形態におけるプログラム・コードは、メモリ206または永続的ストレージ208のような、異なる物理的または有形コンピュータ読み取り可能媒体において具体化することができる。
【0035】
プログラム・コード218は、機能的形態で、選択的にリムーバブルであるコンピュータ読み取り可能媒体220上に配置されており、データ処理システム200にロードするまたは転送して、プロセッサ・ユニット204によって実行することができる。プログラム・コード218およびコンピュータ読み取り可能媒体220は、これらの例ではコンピュータ・プログラム製品222を形成する。一例では、コンピュータ読み取り可能媒体220は、永続的ストレージ208の一部であるハード・ドライブのような、記憶デバイスへの転送のために例えば、永続的ストレージ208の一部であるドライブまたはその他のデバイスに挿入されるまたはその中に置かれる光ディスクまたは磁気ディスクのように、有形形態であることができる。有形形態では、コンピュータ読み取り可能媒体220は、データ処理システム200に接続されているハード・ドライブ、サム・ドライブ(thumb drive)、またはフラッシュ・メモリというような、永続的ストレージの形態をなすこともできる。また、コンピュータ読み取り可能媒体220の有形形態は、コンピュータ記録可能記憶媒体とも呼ばれる。実例の中には、コンピュータ読み取り可能媒体220がリムーバブルでなくてもよい場合もある。
【0036】
あるいは、プログラム・コード218は、コンピュータ読み取り可能媒体220からデータ処理システム200に、通信ユニット210への通信リンクを通じて、および/または入力/出力ユニット212への接続を通じて転送することもできる。通信リンクおよび/または接続は、例示的な例では、物理的またはワイヤレスとすることができる。また、コンピュータ読み取り可能媒体は、通信リンクまたはプログラム・コードを含むワイヤレス送信というような、無形媒体の形態をなすこともできる。
【0037】
例示的な実施形態によっては、プログラム・コード218をネットワークを通じて永続的ストレージ208に別のデバイスまたはデータ処理システムからダウンロードし、データ処理システム200内で用いるようにすることもできる。例えば、サーバ・データ処理システムにおいてコンピュータ読み取り可能記憶媒体に格納されているプログラム・コードを、ネットワークを通じてこのサーバからデータ処理システム200にダウンロードすることができる。プログラム・コード218を供給するデータ処理システムは、サーバ・コンピュータ、クライアント・コンピュータ、またはプログラム・コード218を格納および送信することができる他の何らかのデバイスであってもよい。
【0038】
データ処理システム200に図示した異なるコンポーネントは、異なる実施形態を実現することができる態様に対して構造的限定を規定することを意味するのではない。異なる例示的な実施形態は、データ処理システム200について図示したコンポーネントに加えてまたはこれらの代わりにコンポーネントを含むデータ処理システムにおいても実現することができる。図2に示すその他のコンポーネントは、図示する例示的な例から変更することができる。異なる実施形態は、プログラム・コードを実行することができる任意のハードウェア・デバイスまたはシステムを用いて実現することができる。一例として、データ処理システムは、無機コンポーネントと統合された有機コンポーネントを含むことができ、および/または人を除外した有機コンポーネントで全体的に構成することもできる。例えば、記憶デバイスを有機半導体で構成することもできる。
【0039】
別の例として、データ処理システム200における記憶デバイスは、データを記憶することができる任意のハードウェア装置である。メモリ206、永続的ストレージ208、およびコンピュータ読み取り可能媒体220は、有形形態とした記憶デバイスの例である。
【0040】
別の例では、通信ファブリック202を実現するためにバス・システムを用いることもでき、このバス・システムは、システム・バスまたは入力/出力バスというような、1系統以上のバスで構成することができる。勿論、バス・システムは、当該バス・システムに取り付けられている異なるコンポーネントまたはデバイス間におけるデータの転送に備えているアーキテクチャのうち任意の適したタイプを用いて実現することができる。加えて、通信ユニットは、モデムまたはネットワーク・アダプタのような、データを送信および受信するために用いられる1つ以上のデバイスを含むことができる。更に、メモリは、例えば、メモリ206または通信ファブリック202の中に存在することもあるインターフェースおよびメモリ・コントローラ・ハブにおいて見られるようなキャッシュとすることもできる。
【0041】
本明細書において用いる場合、「少なくとも1つの」という句は、品目のリストと共に用いられる場合、これらの品目の1つ以上の異なる組み合わせを用いることができること、そしてリストにおける各項目のうち1つだけがあればよいことを意味する。例えば、「品目A、品目B、および品目Cのうち少なくとも1つ」は、例えば、限定ではなく、品目A、または品目Aおよび品目Bを含むことができる。また、この例は、品目A、品目Bおよび品目C、または品目Bおよび品目Cも含むことができる。
【0042】
これより図3を参照すると、例示的な一実施形態によるナビゲーション・システムのブロック図が示されている。ナビゲーション・システム300は、図1におけるナビゲーション・システム112の一実施態様の一例である。
【0043】
ナビゲーション・システム300は、プロセッサ・ユニット302、通信ユニット304、行動データベース306、作業現場データベース308、可動システム310、センサ・システム312、電源314、電力レベル・インディケータ316、基本システム・インターフェース318、および視覚システム320を含む。視覚システム320は、複数のカメラ322を含む。複数のカメラ322は、例えば、限定ではなく、カラー・カメラ、白黒カメラ、ディジタル・カメラ、赤外線カメラ、および/または任意のその他の適したカメラを含むことができる。
【0044】
例示的な一例では、複数のカメラ322は、例えば、図1における自律車両104のような、ナビゲーション・システム300と関連のある自律車両に対して下方および水平となる視野(view)を捕らえるように方位付けることができる。この例示的な例では、複数のカメラ322の方位付けによって、ランドマーク識別および一測定に加えて、例えば、境界線および/または周辺追従というような自律的な車両の行動を可能にすることができる。複数のカメラ322がカラー・カメラを含む例示的な一例では、境界線追従行動は、複数のカメラ322を用いて、例えば、コンクリートの曲がり角と対照をなす緑色の草というような、色の境界線を識別することができる。
【0045】
別の例示的な一例では、図1における自律車両104のような、ナビゲーション・システム300と関連のある自律車両の走行方向に対して垂直に面する視野を捕らえるように、複数のカメラ322を方位付けることもできる。更に別の例示的な一例では、例えば、ナビゲーション・システム300と関連のある自律車両がランドマークの周囲を走行している場合、このランドマークに面する視野を捕らえるように方位付けることもできる。
【0046】
視覚システム320は、ナビゲーション・システム300の視覚能力向上のために、複数のカメラ322から複数の画像324を供給することによって、被写体深度認識に備えるように動作する。視覚システム320は、例えば、限定ではなく、ステレオ視覚システム、非対称視覚システム、スタジアメトリック測距視覚システム(stadiametric ranging vision system)、および/または任意のその他の適した視覚システムとすることができる。複数のカメラ322は、例えば、図1における作業現場114のような、作業現場または作業現場エリアの複数の画像324を撮影するために用いることができる。複数の画像324は、例えば、ランドマーク識別および経路計画に用いるために、基本システム・インターフェース318を通じてプロセッサ・ユニット302に転送することができる。本明細書において用いる場合、「複数の」は1つ以上の画像に言及するものとする。
【0047】
プロセッサ・ユニット302は、図2におけるデータ処理システム200の一実施態様の一例とすることができる。プロセッサ・ユニット302は、車両制御プロセス326を含む。車両制御プロセス326は、可動システム310と通信しこれを制御するように構成されている。車両制御プロセス326は、経路計画モジュール328を含む。経路計画モジュール328は、行動データベース306および作業現場データベース308からの情報を、視覚システム320から受け取った複数の画像324と共に用いて、経路計画330を作成することができる。経路計画モジュール328は、区域分解プロセス332を用いて経路計画330を作成し、例えば、作業現場の経路を計画することができる。経路は、任意の長さでよく、例えば、1フィートまたは10フィートでもよく、自律車両のランドマーク、障害物、周辺、および/または境界線に対する位置が変化するに連れて変化してもよい。区域分解プロセス332は、エリア・カバレッジ・アルゴリズムであり、図8および図13に更に詳しく例示的に示す。区域分解プロセス332は、経路計画モジュール328および/または車両制御プロセス326が、例えば、作業現場の任意の所与の位置にある1つだけの可視ランドマークを用いて、経路計画330を計画し実行することを可能にすることができる。区域分解プロセス332は、ランドマークから既に定められている距離にある円弧を追従する経路を発生する。この既に定められている距離は、例えば、限定ではなく、自律車両の幅に等しくても、自律車両の1本のパス(pass)に対するタスク・カバレッジ幅に等しくてもよく、および/または任意のその他の指定距離でもよい。例示的な一例では、区域分解プロセス332は、現場特定誤差を補償するために、自律車両がランドマークから遠ざかるに連れて徐々に近接し合う円弧から成る経路を発生することができる。また、区域分解プロセス332は、例えば、自律車両を1つのランドマークから別のランドマークまで動かすために、二点間行動に合わせた直線的経路を発生することもできる。
【0048】
例示的な一例では、経路計画モジュール328は、作業現場に対して、経路計画330のような経路を計画するために、作業現場データベース308から作業現場地図を引き出すことができる。作業現場地図は、例えば、図1における作業現場114のような、作業現場を特定する地図である。作業現場地図は、エリア・カバレッジ・タスクのための位置を特定し、作業現場におけるエリア・カバレッジ・タスクの実行のために経路を計画するために用いることができる。作業現場地図は、この例において特定された複数のランドマークを有することができる。車両制御プロセス326は、経路計画330を用いてコマンドおよび/または信号を可動システム310に送り、経路計画330にしたがって、ナビゲーション・システム300と関連のある自律車両を動かすことができる。車両制御プロセス326は、例えば、限定ではなく、自立車両上で選択されるボタン、手動制御デバイスからのコマンド、ソフトウェア・ドリブン・イベント、時間ドリブン・イベント、および/または任意のその他の適したトリガというような、トリガに応答して、経路計画330を用いてエリア・カバレッジを開始することができる。
【0049】
また、プロセッサ・ユニット302は、図9および図10に更に詳細に例示的に示すように、同時位置測定およびマッピング・プロセス334も含むことができる。同時位置測定およびマッピング・プロセス334は、例えば、ナビゲーション・システム300と関連のある自律車両によるエリア・カバレッジ・タスクの動作中に、経路計画330のような、経路計画を有する作業現場地図を作成することができる。
【0050】
更に、プロセッサ・ユニット302は、行動データベース306および作業現場データベース308と通信しこの中に格納されているデータにアクセスすることができる。データにアクセスするには、行動データベース306および/または作業現場データベース308の中にデータを格納する、これらからデータを引き出す、および/またはこのデータに対して作用するための任意のプロセスを含むことができる。例えば、データにアクセスするには、限定ではなく、行動データベース306および/または作業現場データベース308に収容されている参照表を用いること、行動データベース306および/または作業現場データベース308を用いて照会プロセスを実行すること、および/またはデータベースに格納されているデータにアクセスするための任意のその他の適したプロセスを含むことができる。
【0051】
プロセッサ・ユニット302は、センサ・システム312から情報を受け取り、可動システム310を制御するときに、センサ情報を、行動データベース306からの行動データと共に用いることができる。また、プロセッサ・ユニット302は、例えば、図1におけるユーザ108によって動作させられる手動制御デバイス110のような、外部コントローラからの制御信号を受け取ることもできる。これらの制御信号は、通信ユニット304を用いて、プロセッサ・ユニット302によって受け取ることができる。
【0052】
通信ユニット304は、情報を受け取るための通信リンクをプロセッサ・ユニット302に設けることができる。この情報は、例えば、データ、コマンド、および/または命令を含む。通信ユニット304は、種々の形態をなすことができる。例えば、通信ユニット304は、セルラ・フォン・システム、Wi−Fiワイヤレス・システム、または何らかのその他の適したワイヤレス通信システムというような、ワイヤレス通信システムを含むことができる。
【0053】
また、通信ユニット304は、例えば、図1における手動制御デバイス110のような、任意の(optional)手動コントローラへの有線接続も含むことができる。更に、通信ユニット304は、例えば、ユニバーサル・シリアル・バス・ポート、シリアル・インターフェース、パラレル・ポート・インターフェース、ネットワーク・インターフェース、または物理的な通信リンクを設けるための何らかのその他の適したポートというような、通信ポートも含むことができる。通信ユニット304は、例えば、外部制御デバイスまたはユーザと通信するために用いることができる。
【0054】
例示的な一例では、プロセッサ・ユニット302は、図1においてユーザ108によって動作させられる手動制御デバイス110から制御信号を受け取ることができる。これらの制御信号は車両制御プロセス326の自律行動を無効にして、ユーザ108に、ナビゲーション・システム300と関連のある自律車両を停止、始動、操舵、および/またはそれ以外で制御させることができる。
【0055】
行動データベース306は、可動システム310を制御するときに車両制御プロセス326が利用することができる複数の行動行為(behavioral action)を収容する。行動データベース306は、限定ではなく、基本的な車両行動、エリア・カバレッジ行動、周囲行動、障害物回避行動、手動制御行動、給電行動、および/または自律車両のための任意のその他の適した行動を含むことができる。
【0056】
可動システム310は、図1における自律車両104のような、自律車両に移動可能性(mobility)を備える。可動システム310は、種々の形態をなすことができる。可動システム310は、例えば、限定ではなく、推進システム、操舵システム、制動システム、および可動コンポーネントを含むことができる。これらの例では、可動システム310は、車両制御プロセス326からコマンドを受け取り、これらのコマンドに応答して、関連のある自律車両を動かすことができる。
【0057】
センサ・システム312は、センサ・データを収集しプロセッサ・ユニット302に送信するための複数のセンサ・システムを含むことができる。例えば、センサ・システム312は、限定ではなく、推測航法システム、障害物検出システム、周辺検出システム、および/または図5に更に詳細に例示的に示すような、何らかのその他の適したタイプのセンサ・システムを含むことができる。センサ・データとは、センサ・システム312によって収集された情報のことである。
【0058】
電源314は、ナビゲーション・システム300、および例えば、図1における自律車両104のような、関連のある自律車両のコンポーネントに電力を供給する。電源314は、限定ではなく、バッテリ、移動バッテリ再充電器、ウルトラキャパシタ(ultracapacitor)、燃料電池、ガス発電機(gas powered generator)、太陽電池、および/または任意のその他の適した電源を含むことができる。電力レベル・インディケータ316は、電源314のレベルを監視し、電源レベルをプロセッサ・ユニット302に伝達する。例示的な一例では、電力レベル・インディケータ316は、電源314における電力の低レベルについての情報を送ることができる。プロセッサ・ユニット302は、行動データベース306にアクセスして、この例示的な例では、低電力レベルの指示に応答して、行動行為(behavioral action)を採用することができる。例えば、限定ではなく、行動行為は、低電力レベルの検出に応答して、タスクの処理を中止すること、および再充電ステーションを探すこととしてもよい。
【0059】
基本システム・インターフェース318は、ナビゲーション・システム300の視覚システム320とその他のコンポーネントとの間において給電およびデータ通信を備える。例示的な一例では、基本システム・インターフェース318を用いて、複数の画像324を視覚システム320からプロセッサ・ユニット302に転送することができる。
【0060】
図3におけるナビゲーション・システム300の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび/またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの1つ以上を組み合わせること、および/または異なるブロックに分割することもできる。
【0061】
例えば、有利な一実施形態では、複数のカメラ322は2台のカメラを備えていてもよい。第1カメラは、区域分解プロセス332を実現するのに十分であればよく、一方第2カメラは、ナビゲーション・システム300と関連のある自律車両に追加能力を提供する。この例示的な例では、第2カメラは、ランドマークからの延長距離における動作のために用いることができる。ナビゲーション・システム300によってランドマークを用いることができる最大距離は、例えば、経路追従に指定される最大誤差、カメラの分解能、カメラの視野、およびランドマークの幅の関数とすることができる。ナビゲーション・システム300の視覚システム320がランドマークに対して最も近い指定地点にある場合、ランドマークは、第1カメラによって取り込まれる画像を満たすことができる。視覚システム320が、ナビゲーション・システム300と関連のある自律車両によって、ランドマークから遠ざかるように移動させられるに連れて、画像におけるランドマークの幅においてエッジの割合が大きくなるので、画像捕獲からのエッジ誤差が増大する。第1カメラよりも狭い視野の第2カメラを追加することによって、この例示的な例では、第1カメラで許されるよりも、ランドマークから遠い距離において、ランドマークが、処理された画像の多くを占めることが可能となり、例えば、エッジ誤差を最小限に抑えることができる。
【0062】
別の例示的な例では、例えば、図6における障害物360度周回626および障害物180度周回624というような行動に有用な、ステレオ視覚行動(stereo vision behavior)に追加のカメラを用いることもできる。更に別の例示的な例では、ナビゲーション・システム300と関連のある自律車両の一方側だけでなくもっと多い側で、視覚システム320が複数の画像324を取り込むことを可能にするために、追加のカメラを用いることができる。例えば、複数のカメラ322が、自律車両の対向する両側において視野に面するようにすれば、自律車両が1台のカメラをランドマークに連続的に面するように位置決めする必要なく、簡略化した円弧状遷移(arc transition)を行うことができる。
【0063】
任意の数の追加カメラを複数のカメラ322に追加することができる。本明細書において用いる場合、「複数のカメラ」とは1台以上のカメラに言及するものとする。
これより図4を参照すると、例示的な一実施形態による可動システムのブロック図が示されている。可動システム400は、図3における可動システム310の一実施態様の一例である。
【0064】
可動システム400は、図3におけるナビゲーション・システム300のような、ナビゲーション・システムと関連のある自律車両に移動可能性を与える。可動システム400は、種々の形態をなすことができる。可動システム400は、例えば、限定ではなく、推進システム402、操舵システム404、制動システム406、および複数の可動コンポーネント408を含むことができる。これらの例では、推進システム402は、図3におけるナビゲーション・システム300のようなナビゲーション・システムからのコマンドに応答して、図1における自律車両104のような自律車両を推進させるまたは動かすことができる。
【0065】
推進システム402は、ナビゲーション・システムのプロセッサ・ユニットから受け取った命令に応答して、自律車両が移動する速度を維持または上昇させることができる。推進システム402は、電気制御推進システムとすることができる。推進システム402は、例えば、限定ではなく、内燃エンジン、内燃エンジン/電気混成システム、電気エンジン(electric engine)、または何らかのその他の適した推進システムとすることができる。例示的な一例では、推進システム402は車輪駆動モータ410を含むことができる。車輪駆動モータ410は、車輪のような可動コンポーネントに組み込まれている電気モータとすることができ、可動コンポーネントを直接駆動する。例示的な一実施形態では、車輪駆動モータ410を差動的に制御することによって、操舵を行うこともできる。
【0066】
操舵システム404は、ナビゲーション・システムのプロセッサ・ユニットから受け取ったコマンドに応答して、自律車両の方向または操舵を制御する。操舵システム404は、例えば、限定ではなく、電気制御油圧操舵システム、電気駆動ラックおよびピニオン操舵システム、差動操舵システム、または何らかのその他の適した操舵システムとすることができる。例示的な一例では、操舵システム404は、複数の可動コンポーネント408を制御するように構成された専用車輪を含むことができる。
【0067】
制動システム406は、ナビゲーション・システムのプロセッサ・ユニットから受け取ったコマンドに応答して、自律車両を減速および/または停止させることができる。制動システム406は、電気制御制動システムとすることができる。この制動システムは、例えば、限定ではなく、油圧制動システム、摩擦制動システム、車輪駆動モータ410を用いた再生制動システム、または電気的に制御することができる何らかの他の適した制動システムとすることができる。例示的な一例では、ナビゲーション・システムは、図1における手動制御デバイス110のような外部コントローラからコマンドを受け取り、緊急停止装置を活性化させることができる。ナビゲーション・システムは、コマンドを可動システム400に送り、制動システム406を制御して、この例示的な例では、緊急停止を実行することができる。
【0068】
複数の可動コンポーネント408は、ナビゲーション・システムのプロセッサ・ユニットから受け取り、推進システム402、操舵システム404、および制動システム406によって実行する命令に応答して、複数の方向および/または位置に移動する能力を、自律車両に設ける。複数の可動コンポーネント408は、例えば、限定ではなく、車輪、トラック(tracks)、フィート(feet)、ロータ、プロペラ、翼、および/またはその他の適したコンポーネントとすることができる。
【0069】
図4における可動システムの図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび/またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの1つ以上を組み合わせること、および/または異なるブロックに分割することもできる。
【0070】
これより図5を参照すると、例示的な一実施形態によるセンサ・システムのブロック図が示されている。センサ・システム500は、図3におけるセンサ・システム312の一実施態様の一例である。
【0071】
センサ・システム500は、センサ・データを収集し、図3におけるナビゲーション・システム300のような、ナビゲーション・システムのプロセッサ・ユニットにセンサ・データを送信するために複数のセンサ・システムを含む。センサ・システム500は、障害物検出システム502、周辺検出システム504、および推測航法システム506を含む。
【0072】
障害物検出システム502は、限定ではなく、複数のコンタクト・スイッチ508および超音波変換器510を含むことができる。複数のコンタクト・スイッチ508は、例えば、図1における作業現場環境100のような環境における自律車両の外部物体との接触を検出する。複数のコンタクト・スイッチ508は、例えば、限定ではなく、バンパ・スイッチを含むことができる。超音波変換器510は、高周波音波を発生し、戻ってくるエコーを評価する。超音波変換器510は、信号、即ち、高周波音波を送ってからエコーを受信するまでの時間間隔を計算して、物体までの距離を決定する。
【0073】
周辺検出システム504は、図1における作業現場114のような作業現場の周辺または境界線を検出し、周辺検出についての情報を、ナビゲーション・システムのプロセッサ・ユニットに送る。周辺検出システム504は、限定ではなく、受信機512および赤外線検出器514を含むことができる。受信機512は、例えば、図1における作業現場114のような、作業現場の周辺を規定するワイヤによって発することができる電気信号を検出する。赤外線検出器514は、例えば、図1における作業現場114のような、作業現場の周辺に沿って赤外線光源によって放出することができる赤外線光を検出する。
【0074】
例示的な一例では、受信機512は、周辺ワイヤからの電気信号を検出し、その検出した信号についての情報を、図3におけるナビゲーション・システム300のような、ナビゲーション・システムのプロセッサ・ユニットに送ることができる。次いで、ナビゲーション・システムは、図4における可動システム400のような、可動システムにコマンドを送り、この例示的な例では、ナビゲーション・システムと関連のある自律車両の方向または行程を変更することができる。
【0075】
推測航法システム506は、ナビゲーション・システムと関連のある自律車両の現在地を推定する。推測航法システム506は、既に決定されている位置、ならびに経過時間および行程において、既知の速度または推定速度についての情報に基づいて、現在地を推定する。推測航法システム506は、限定ではなく、オドメータ516、コンパス518、および加速度計520を含むことができる。オドメータ516は、図1における自律車両104のような機械が走行した距離を示すために用いられる電子または機械的デバイスである。コンパス518は、地球の磁極に対する位置または方向を決定するために用いられるデバイスである。加速度計520は、自由落下に対してそれが受けた加速度を測定する。
【0076】
図5におけるセンサ・システム500の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび/またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの1つ以上を組み合わせること、および/または異なるブロックに分割することもできる。
【0077】
これより図6を参照すると、例示的な一実施形態による行動データベースのブロック図が示されている。行動データベース600は、図3における行動データベース306の一実施態様の一例である。
【0078】
行動データベース600は、図3における可動システム310を制御するときに、ナビゲーション・システム300の車両制御プロセス326が利用することができる複数の行動行為を含む。行動データベース600は、限定ではなく、基本的車両行動602、エリア・カバレッジ行動604、周辺行動606、障害物回避行動608、手動制御行動610、給電行動612、および/または自律車両のための任意のその他の適した行動を含むことができる。
【0079】
基本車両行動602は、自律車両が実行することができる複数の基本タスクについて行為を規定する。基本車両行動602は、限定ではなく、芝刈り、清掃(vacuuming)、床磨き、落ち葉掃除、除雪、散水、噴霧、セキュリティ、および/または任意のその他の適したタスクを含むことができる。
【0080】
エリア・カバレッジ行動604は、基本車両行動602を実行するときにエリア・カバレッジについて行為を規定する。エリア・カバレッジ行動604は、限定ではなく、区域分解行動614を含むことができる。区域分解行動614は、例えば、限定ではなく、円弧追従(follow arc)616、二点間618、および/または任意のその他の適した行動を含むことができる。
【0081】
周辺行動606は、図5における周辺検出システム504によるというような、周辺検出に応答したナビゲーション・システムについての行為を規定する。例示的な一例では、周辺行動606は、限定ではなく、周辺追従620、進行方向変更622、および/または任意のその他の適した行動を含むことができる。進行方向変更622は、周辺の内部に留まるために、ある角度だけ自律車両の進行方向を変更するように動作することができる。周辺追従620は、予め定められた距離だけ自律車両を周辺に平行に動かすように動作することができる。予め定められた距離は、例えば、自律車両の幅から誤差量を減算した値に等しくすることができる。
【0082】
障害物回避行動608は、ナビゲーション・システムが自律車両周囲の環境における物体との衝突を回避するための行為を規定する。例示的な一例では、障害物回避行動608は、限定ではなく、障害物180度周回624、障害物360度周回626、逆方向および進行方向変更628、および/または任意のその他の適した行動を含むことができる。障害物180度周回624は、例えば、第1方向とは逆の第2方向において継続するように、障害物の周囲に沿って半分だけ自律車両を導くように動作することができる。障害物360度周回626は、例えば、障害物の周囲にある全てのエリアにおいてタスクを実行するために、この障害物の全体の周囲に沿って自律車両を導くように動作することができる。逆方向および進行方向変更628は、図5における障害物検出システム502のような、障害物検出システムによって検出された物体を回避するために、自律車両の方向を逆転し、進行方向を変更するように動作することができる。
【0083】
手動制御行動610は、ナビゲーション・システムが、自律性をディスエーブルし、例えば、図1におけるユーザ108のようなユーザからの運動制御を採用するための行為を規定する。給電行為612は、ナビゲーション・システムが、図3における電源314のような電源において検出した電力レベルに応答して、複数の措置を講ずるための行為を規定する。例示的な一実施形態では、給電行動612は、限定ではなく、自律車両のタスク処理を停止し、自律車両のために追加電力または電力再充電を探し出すことを含むことができる。
【0084】
図6における行為データベース600の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび/またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの1つ以上を組み合わせること、および/または異なるブロックに分割することもできる。
【0085】
これより図7を参照すると、例示的な一実施形態による作業現場データベースのブロック図が示されている。作業現場データベース700は、図3における作業現場データベース308の一実施態様の一例である。
【0086】
作業現場データベース700は、経路を計画するときおよび/または図3における可動システム310を制御するときに、ナビゲーション・システム300のプロセッサ・ユニット302が利用することができる複数のデータベースを含む。作業現場データベース700は、限定ではなく、地図データベース702、ランドマーク・データベース704、および/または自律車両についての情報の任意のその他の適したデータベースを含むことができる。
【0087】
地図データベース702は、複数の作業現場地図706を含む。複数の作業現場地図706は、例えば、図1における複数の作業現場106に対応することができる。例示的な一実施形態では、複数の作業現場地図706は、ネットワーク101を用いて図1におけるバック・オフィス102のような遠隔地から地図データベース702にロードすることができる。別の例示的な実施形態では、複数の作業現場地図706は、図3における同時位置測定およびマッピング・プロセス334によって作成された後に、地図データベース702に格納することもできる。更に別の例示的な実施形態では、例えば、基本システム・インターフェース318を通じて図1のユーザ108のようなユーザ、および/または図3における通信ユニット304によって、複数の作業現場地図706を地図データベース702にロードすることもできる。例示的な一例では、図3における同時位置測定およびマッピング・プロセス334が、作業現場における初期動作の間に作業現場地図を作成し、この作成した作業現場地図を、同じ作業現場における今後の動作において今後用いるために、地図データベース702に格納することもできる。
【0088】
複数の作業現場地図706は、例えば、限定ではなく、作業現場地図708、エリア・カバレッジ格子地図710、複数の作業現場画像712、および/または任意のその他の適した作業現場地図を含むことができる。作業現場地図708は、複数の作業現場地図706に格納されている先験的な地図であってもよく、例えば、図1における作業現場114のような、作業現場についてのランドマーク位置および障害情報を含む。作業現場地図708は、例えば、図1におけるユーザ108のような、ユーザによって作成することができ、作業現場の地図および/または画像上において、当該作業現場のランドマーク位置および障害物を特定する。例示的な一例では、作業現場地図708は、図1における自律車両104によって、作業現場のランドマークおよび障害物を考慮に入れつつ、作業現場にエリア・カバレッジ経路を計画するために用いることができる。
【0089】
エリア・カバレッジ格子地図710は、例えば、限定ではなく、エリア・カバレッジ格子オーバーレイを含む作業現場地図、エリア・カバレッジ格子オーバーレイを含む作業現場画像、囲われた空間および/または作業現場の寸法に対するエリア・カバレッジ格子、および/または任意のその他の適したエリア・カバレッジ格子地図とすることができる。例示的な一例では、図3におけるナビゲーション・システム300は、図1におけるユーザ108によって供給された作業現場地図708を用いて、エリア・カバレッジ格子地図710を作成することができる。別の例示的な例では、ナビゲーション・システム300が、図1におけるユーザ108のような、ユーザから受け取ったランドマーク属性情報および障害物情報を用いて、エリア・カバレッジ格子地図710を作成することができる。更に別の例示的な例では、図1における自律車両104が、図3における視覚システム320のような、視覚システムを用いて、複数の作業現場画像712を取り込み、複数の作業現場画像712を用いて、エリア・カバレッジ格子地図710を作成することができる。
【0090】
ランドマーク・データベース704は、ランドマーク属性714および位置情報716を含むことができる。ランドマーク属性714は、例えば、限定ではなく、ランドマーク画像、ランドマーク定義、ランドマーク特性、および/または、例えば、図1における作業現場114の中にある複数のランドマーク120のような、作業現場の中にある複数のランドマークを特定するために用いられる任意のその他の適したランドマーク属性を含むことができる。ランドマーク画像は、例えば、複数の異なるタイプのランドマークの、格納されている画像を含むことができる。ランドマーク定義とは、例えば、複数のランドマークに関連する名称および/または記述に言及することができる。ランドマーク特性は、例えば、限定ではなく、形状、色、表面模様、および/または複数のランドマークを特定するための任意のその他の適した特性を含むことができる。位置情報716は、例えば、図1における作業現場114のような、特定された作業現場内にある位置に対する複数のランドマークの位置を特定する。位置情報716は、例えば、地図データベース702に格納されている複数の作業現場地図706と関連付けることができる。
【0091】
図7における作業現場データベース700の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的限定またはアーキテクチャの限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび/またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの1つ以上を組み合わせること、および/または異なるブロックに分割することもできる。
【0092】
これより図8を参照すると、例示的な一実施形態による作業現場地図のブロック図が示されている。作業現場地図800は、図7の地図データベース702における複数の作業現場地図の一実施態様の例示的な一例とすることができる。
【0093】
作業現場地図800は、作業現場801に合わせて作成される。作業現場801は、図1における作業現場114の例示的な一例とすることができる。作業現場地図800は、ランドマーク802、ランドマーク804、およびランドマーク806を含む。また、作業現場地図800は、花壇808および薮810も含む。例示的な一例では、花壇808および薮810は障害物と見なされる場合もある。作業現場地図800は、作業現場の各側の周辺によって定められており、具体的には、作業現場境界線812、作業現場境界線814、作業現場境界線816、および作業現場境界線818によって定められている。例えば、図3における区域分解プロセス332を用いて、作業現場地図800に経路計画を作成することができる。
【0094】
経路計画は、開始点820から開始することができる。この経路計画は、開始点820から、作業現場境界線812に達するまで、ランドマーク802の周囲を進む。経路計画は、ランドマーク802から予め定められた距離を維持して、円弧状の経路を形成することができる。予め定められた距離は、例えば、限定ではなく、経路計画を作成しようとしている自律車両の幅とすることができる。作業現場境界線812に達すると、経路計画は、予め定められた距離の間ランドマーク802から遠ざかるように、作業現場境界線812を辿る。次いで、経路計画は、作業現場境界線814に達するまで、ランドマーク802の周囲を逆に進む。経路計画は、各直前の円弧状経路から、予め定められた距離を維持する。作業現場境界線に達すると、経路は、直前の円弧状経路から予め定められた距離だけ離れて、作業現場境界線を辿り、その後方向を変えて、ランドマーク802のような、ランドマークの周囲を逆に進む。
【0095】
経路は、地点A822において、障害物、この例では薮810に達する。すると、地点B824において作業現場境界線816に達するまで、経路は直線状となる。次のランドマーク、この例では、ランドマーク804が特定される。経路は、地点C826に達するまで、ランドマーク804を中心に同心円状に進む。次いで、地点D828において障害物または作業現場境界、この例では花壇808に達するまで、経路は直線状となる。ランドマーク806が特定され、経路は、地点E830に達するまで、ランドマーク806の周囲を進む。地点E830は、経路を追従する自律車両がランドマーク806から達した距離において、ランドマーク806がもはや視覚的ランドマークとしては有用でなくなる場合における地点の例示的な一例とすることができる。この距離は、例えば、自律車両の視覚システムによる画像検出の要求精度を満たさないような距離とするとよい。次いで、自律車両は、例えば、ランドマーク806よりも近い距離のところにある、別のランドマークの周囲の経路上を進み続けることができる。この別のランドマークは、以前に行ったランドマークであってもよい。地点E830において、経路は、薮810の逆側にあるランドマーク802周囲の経路を終わらせることに再度集中する。薮810は、ランドマーク804の周囲の行程を追従するために、経路が以前に離れて行ったところである。地点F832において、経路は、再度ランドマーク804の周囲の経路を終わらせることに集中する。ランドマーク804は、作業現場境界線814および作業現場境界線816が一致した周辺に遭遇し、直線状に地点D828に進んだときに、経路が以前に離れて行ったところである。自律車両が作業現場内を移動するに連れて、図7におけるエリア・カバレッジ格子地図710は、どの格子がカバーされたかを反映するために、更新される。経路は、終点に達し、他に行くべき追加のランドマークがなく、エリア・カバレッジ格子地図710毎に作業現場についてカバーすべき追加のエリアがなくなるまで、ランドマーク804を中心とする同心円内を進み続ける。
【0096】
図1における自律車両104のような自律車両は、作業現場地図800を用いて作業現場801について作成した経路計画に従うことができる。自律車両は、作業現場地図800において特定された開始点820において開始することができる。経路において、ランドマーク802周囲にある開始点820から作業現場境界線812までのこの区間は、図6における追従円弧616のような、区域分解行動を用いて実行することができる。自律車両が地点A822に到達すると、図6における二点間618のような、区域分解行動を用いて、地点B824までの直線経路を実行することができる。
【0097】
図8における作業現場地図800の図示は、異なる有利な実施形態を実現することができる態様に対して、物理的または構造的限定を暗示することを意味するのではない。図示したコンポーネントに加えておよび/またはこれらに代わって他のコンポーネントを用いることもできる。有利な実施形態によっては、一部のコンポーネントが不要な場合もある。または、ブロックは一部の機能的コンポーネントを例示するために示されている。異なる有利な実施形態において実現するときには、これらのブロックの1つ以上を組み合わせること、および/または異なるブロックに分割することもできる。
【0098】
これより図9を参照すると、例示的な一実施形態にしたがって経路計画を実行するプロセスを図示するフローチャートが示されている。図9におけるプロセスは、例えば、図3におけるナビゲーション・システム300のプロセッサ・ユニット302のようなコンポーネントによって実現することができる。
【0099】
このプロセスが開始すると、複数のランドマークを有する作業現場の作業現場地図を受け取る(ステップ902)。複数のランドマークは、少なくとも1つのランドマークが作業現場の任意の位置から見えるように位置付けることができる。複数のランドマークは、例えば、限定ではなく、人によって、ロボットによって、自律的に、自然に、および/または任意のその他の適したランドマーク配置方法によって、作業現場に位置付けることができる。
【0100】
例示的な一例では、作業現場地図は、図7における作業現場地図708のような、経路計画のない初期地図である場合もある。作業現場地図は、図7における地図データベース702のような地図データベースから引き出すこと、あるいは、例えば、ユーザまたはバック・オフィスから受け取ることができる。例示的な一例では、作業現場地図は、障害物、または境界線が、作業現場に精通するユーザによって示されている、作業現場の航空写真であってもよい。また、作業現場地図は、作業現場のランドマークの位置に印が付けられ、更にこの例示的な例ではユーザによって印を付けられた、直径および色というようなランドマーク属性を有することもできる。
【0101】
本プロセスは、作業現場地図を用いて、作業現場に合わせて、複数のエリア・カバレッジ格子エレメントを有するエリア・カバレッジ格子地図を作成する(ステップ904)。エリア・カバレッジ格子エレメントは、例えば、エリア・カバレッジ格子地図の複数のセクションとすることができる。例示的な一例では、エリア・カバレッジ格子地図は、作業現場地図から作成され、この場合、エリア・カバレッジ格子地図は、作業現場地図と同じ領域を表し、更に格子に分割されている。各エリア・カバレッジ格子エレメントのサイズは、予め定められていること、および/またはユーザによって選択することもできる。例えば、各エリア・カバレッジ格子エレメントは、作業現場においてエリア・カバレッジ・タスクを実行する候補となる自律車両のサイズの1/10および2倍の間とすることができる。
【0102】
次いで、本プロセスは、作業現場地図およびエリア・カバレッジ格子地図を用いて、この作業現場に合った経路計画を作成する(ステップ906)。本プロセスは、作業現場地図上にある複数のランドマークに「未だ行っていない」の印を付け、複数のエリア・カバレッジ格子エレメントを「未カバー」(uncovered)として初期化する(ステップ908)。例示的な一例では、作業現場地図を初期化するには、全ての指定ランドマークを未だ行っていないとして設定し、エリア・カバレッジ格子地図を初期化するには、全てのエリア・カバレッジ格子エレメントをゼロに設定する。本プロセスが進むに連れて、例えば、ランドマークから計算した距離以内にある全てのエリアがカバーされたときに、ランドマークに既に行ったの印を付けることができる。計算した距離は、例えば、ランドマークのサイズ、視覚システムのパラメータ、および/または自律車両とランドマークとの間における最大許容距離誤差に基づくことができる。
【0103】
例示的な一例では、エリアがカバーされたと見なされるのは、当該エリアにおける格子エレメントのある割合が、所与のしきい値よりも大きなカバレッジ値を有するときである。このカバレッジ値は、エリア・カバレッジ格子エレメントの値である。この値は、ゼロから開始して、少なくとも1つの値が得られるまで、自律車両、または自律車両運転者(effecter)がエリア・カバレッジ格子エレメントに位置することが示される毎に、ある量だけ増分される。
【0104】
例示的な一例では、カバレッジ値にはゼロまたは1の値だけが発生し、ゼロは、エリア・カバレッジ格子エレメントがカバーされていないことを示し、1は、エリア・カバレッジ格子エレメントがカバーされていることを示す。別の例示的な例では、自律車両位置測定における誤差を、エリア・カバレッジ格子エレメントを増分する際に考慮することができる。この例示的な例では、現在計算中の自律車両位置にあるエリア・カバレッジ格子エレメントを1に設定するのではなく、ゼロと1との間の確率を、その位置にいることに割り当て、確率が低い程、隣接するエリア・カバレッジ格子エレメントに割り当てる。現在のおよび隣接するエリア・カバレッジ格子エレメントは、占有の確率にしたがって増分される。この例示的な例では、現在の占有確率の和が1になる。
【0105】
次に、本プロセスは、経路計画を用いて、作業現場において自律車両によるエリア・カバレッジ・タスクを実行する(ステップ910)。本プロセスは、作業現場地図上で未だ行っていないと印されているランドマークを特定する(ステップ912)。本プロセスは、自律車両を未だ行っていないと印されているランドマークに動かすために、メッセージを車両制御プロセスに送る(ステップ914)。
【0106】
本プロセスは、ランドマーク周囲の経路において、自律車両によるエリア・カバレッジ行動を実行する(ステップ916)。図7におけるエリア・カバレッジ格子地図710のような、作業現場と関連のあるエリア・カバレッジ格子地図を、エリア・カバレッジ行動を実行するために用いられた自律車両について計算された各現在地に基づいて更新する。次いで、本プロセスは、障害物が検出されたか、または自律車両が円全体を通り抜けた (traverse)か否か判定する(ステップ918)。障害物が発見されていない、または円全体を通り抜けていないと判定された場合、本プロセスはステップ916に戻る。
【0107】
障害物が検出された、または円全体を通り抜けたと判定された場合、本プロセスは、自律車両がランドマークから所与の距離だけ離れて移動できるか否か判定する(ステップ920)。自律車両は、障害物により、または、例えば、距離計算誤差がしきい値を超過するために、ランドマークから所与の距離だけ離れて移動できない場合がある。自律車両がランドマークから所与の距離だけ離れて移動できると判定された場合、本プロセスは、自律車両をランドマークから所与の距離だけ離れて移動するように、メッセージを車両制御プロセスに送り、逆方向でエリア・カバレッジ行動を実行し(ステップ922)、次いでプロセスはステップ918に戻る。自律車両がランドマークから所与の距離だけ離れて移動できないと判定された場合、本プロセスは作業現場地図上でこのランドマークに「既に行った」の印を付ける(ステップ924)。次いで、本プロセスは、作業現場地図上に、未だ「未だ行っていない」と印されているランドマークが残っているか否か判定する(ステップ926)。作業現場地図上に、未だ「未だ行っていない」と印されているランドマークが1つでも残っていると判定された場合、本プロセスは、作業現場地図上で「未だ行っていない」と印されている次のランドマークを特定し(ステップ928)、ステップ914に戻る。
【0108】
作業現場地図上に、未だ「未だ行っていない」と印されているランドマークが残っていないと判定された場合、本プロセスは、次に、「未カバー」と記されているエリア・カバレッジ格子エレメントが残っているか否か判定する(ステップ930)。「未カバー」と記されているエリア・カバレッジ格子エレメントが1つでも残っていると判定されると、本プロセスは、未カバーと印されているエリア・カバレッジ格子エレメントと関連のある既に行ったのランドマークまで、経路計画に沿って進むように、メッセージを車両制御プロセスに送り(ステップ932)、次いでステップ916に戻る。「未カバー」と記されているエリア・カバレッジ格子エレメントが残っていないと判定された場合、本プロセスはその後終了する。
【0109】
これより図10を参照すると、例示的な一実施形態にしたがって同時位置測定およびマッピングを用いて経路計画を実行するプロセスを図示するフローチャートが示されている。図10におけるプロセスは、例えば、図3における同時位置測定およびマッピング・プロセス334のような、コンポーネントによって実現することができる。
【0110】
本プロセスが開始すると、複数のランドマーク属性および作業現場についての障害物情報を受け取る(ステップ1002)。ランドマーク属性は、例えば、限定ではなく、ランドマークの記述、画像、特性、および/または任意のその他の適した属性とすることができる。例示的な一例では、複数のランドマーク属性は、所与の直径ならびに赤、白、および青の色を有する円筒として、ランドマークを特定することができる。
【0111】
本プロセスは、複数の格子エレメントを有するエリア・カバレッジ格子地図を作成する(ステップ1004)。次いで、本プロセスは作業現場の画像を取得する(ステップ1006)。この画像は、例えば、複数のカメラ322を用いる図3における視覚システム320のような、視覚システムを用いて取得することができる。本プロセスは、画像においてランドマークが特定されたか否か判定する(ステップ1008)。
【0112】
画像においてランドマークが特定されていないと判定された場合、本プロセスは、複数のカメラを用いて、度単位の視野にゼロと1との間の値を乗算した積である値だけ回転させて、取得される追加画像において画像の重複ができるようにして、作業現場エリアにおいてランドマークを検索する(ステップ1010)。次いで、本プロセスは、取得された追加画像においてランドマークが特定されたか否か判定する(ステップ1012)。追加画像においてランドマークが特定されないと判定された場合、本プロセスは、複数のカメラが360度回転したか否か判定する(ステップ1014)。複数のカメラが360度回転したと判定された場合、本プロセスは誤差処理(error handling)を追加し(ステップ1016)、その後終了する。誤差処理とは、少なくとも1つのランドマークが、作業現場の全ての作業可能な部分から常に見えるという、ランドマークの規則を指す。少なくとも1つのランドマークを発見することができない場合、この規則は破られたことになり、本プロセスは終了する。
【0113】
複数のカメラが360度回転していないと判定された場合、本プロセスはステップ1010に戻る。ステップ1008においてランドマークが画像において特定されたと判定された場合、またはステップ1012においてランドマークが追加画像において特定されたと判定された場合、本プロセスは、次に、特定されたランドマークが既に行ったものか否か判定する(ステップ1018)。ランドマークが既に行ったものである場合、エリア・カバレッジ格子マップには、「既に行った」と既に識別されているランドマークが印される。
【0114】
特定されたランドマークが既に行ったものである場合、本プロセスは、全ての格子地図エレメントがカバーされているか否か判定する(ステップ1020)。格子地図エレメントがカバーされている場合、エリア・カバレッジ格子地図上でこれには「カバー済み」(covered)と印される。「未カバー」と印されているエリアがエリア・カバレッジ格子地図にある場合、カバーすべき到達可能な格子地図エレメントが残っていることになる。全ての格子地図エレメントがカバーされていると判定された場合、本プロセスはその後終了する。
【0115】
全ての格子地図エレメントが未だカバーされていないと判定された場合、本プロセスは次の作業現場エリアに移動し、ランドマークを探すために次の画像を取得し(ステップ1022)、ステップ1008に戻る。
【0116】
特定されたランドマークが未だ行っていないと判定された場合、本プロセスは、特定されたランドマークまでの経路計画を計算する(ステップ1024)。次いで、本プロセスは、自律車両の現在地および推定ランドマーク位置を、作業現場のエリア・カバレッジ格子地図上に印する(ステップ1026)。本プロセスは、経路計画を実行し、通り抜けられたエリア・カバレッジ格子エレメントに「カバー済み」と印を付け(ステップ1028)、ステップ1020に進む。
【0117】
これより図11を参照すると、例示的な一実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を実行するプロセスを図示するフローチャートが示されている。図11におけるプロセスは、例えば、図3におけるナビゲーション・システム300のようなコンポーネントによって実現することができる。
【0118】
本プロセスが開始すると、ランドマークから所望の距離における、当該ランドマークの予測幅を画素単位で決定する(ステップ1102)。予測幅は、ランドマークの画像において、そのランドマークから所与の距離において特定されると予測されるランドマークの幅とすることができる。この予測幅は、例えば、画像を取り込むために用いられる複数のカメラについてのカメラ画像分解能、ランドマーク・データベースにおいて特定されているランドマークの既知の幅、ランドマークからの自律車両の目標距離、および画像を取り込むために用いられる複数のカメラの視野に基づいて幾何学的に計算することができる。本プロセスは、ランドマークを有する画像を特定する(ステップ1104)。この画像は、例えば、図3における視覚システム320のような、視覚システムを用いて特定することができる。本プロセスは、画像をフィルタ処理して、ランドマークのみから成るフィルタ処理画像を形成する(ステップ1106)。画像をフィルタ処理すると、例えば、画素ノイズを低減することができる。例示的な一例では、フィルタ処理は、例えば、視覚システム320の複数のカメラ322において偏光波長選択フィルタを用いて、光学的に行うことができる。他の例示的な例では、視覚システム320に実装したソフトウェアを用いて、波長選択フィルタ処理を行うことができる。更に別の例示的な例では、視覚システム320は、画素レベルのノイズを除去するためのメディアン・フィルタの適用によって、図3における複数の画像324をフィルタ処理することができる。メディアン・フィルタは、この例では、視覚システム320によって用いられるソフトウェア・プロセスであってもよい。
【0119】
本プロセスは、オプションとして、フィルタ処理した画像において垂直方向に円筒状ランドマークの方位を正規化する(ステップ1108)。画像の正規化は、例えば、図3の視覚システム320および/またはプロセッサ・ユニット302を用いて実行することができる。例示的な一例では、ランドマークが円筒である場合、この円筒の軸を特定するように画像を処理することができる。次いで、この例では、特定した軸に対して直交に幅を計算する。
【0120】
本プロセスは、フィルタ処理した画像を用いて、観察したランドマークの幅を画素単位で決定する(ステップ1110)。例示的な一例では、観察したランドマークの幅は、ステップ1108からの正規化したランドマークの1つの断面を用いて計算することができる。別の例示的な例では、観察したランドマークの幅は、画像において特定したランドマークの複数の断面の平均を取ることによって計算することができる。ランドマークを消すグレアが検出された例示的な一例では、大多数または複数の断面幅よりも遥かに小さい複数の断面幅を、幅の計算から欠落させることができる。
【0121】
次いで、本プロセスは、観察幅が予測幅よりも大きいか否か判定する(ステップ1112)。観察幅が予測幅よりも大きくないと判定された場合、本プロセスは、観察幅が予測幅未満であるか否か判定する(ステップ1114)。観察幅が予測幅未満であると判定された場合、本プロセスは自律車両をランドマークに向けて方向転換するために、メッセージを車両制御プロセスに送る(ステップ1116)。観察幅が予測幅未満でないと判定された場合、本プロセスは、周辺または障害物が検出されたと判定する(ステップ1118)。
【0122】
観察幅が予測幅よりも大きいと判定された場合、本プロセスは、自律車両をランドマークから遠ざけるように方向転換するために、メッセージを車両制御プロセスに送り(ステップ1120)、ステップ1118に進む。
【0123】
周辺も障害物も検出されないと判定された場合、プロセスはステップ1104に戻る。周辺または障害物が検出されたと判定された場合、本プロセスはその後終了する。
これより図12を参照すると、例示的な一実施形態にしたがって、区域分解を用いてエリア・カバレッジ経路計画を作成するプロセスを図示するフローチャートが示されている。図12におけるプロセスは、例えば、図3におけるナビゲーション・システム300のようなコンポーネントによって実現することができる。
【0124】
本プロセスが開始すると、複数のランドマークを有する作業現場地図上の開始点を特定する(ステップ1202)。本プロセスは、複数のランドマークの中で第1ランドマークを特定する(ステップ1204)。本プロセスは、開始点から第1ランドマークを中心とする経路を開始し、第1ランドマークから予め定められた距離を維持して、第1円弧を形成する(ステップ1206)。本プロセスは、作業現場境界線が検出されたか否か判定する(ステップ1208)。
【0125】
作業現場境界線が検出されたと判定された場合、本プロセスはこの作業現場境界線に沿って第1円弧から予め定められた幅だけ離れるように、経路を移動させる(ステップ1210)。次いで、プロセスは、第1ランドマークを中心とする経路を進み続けて、次の円弧を形成し(ステップ1212)、次いでステップ1208に戻る。
【0126】
作業現場境界線が検出されていないと判定された場合、本プロセスは、障害物が検出されたか否か判定する(ステップ1214)。障害物が検出されていないと判定された場合、本プロセスはステップ1206に戻る。障害物が検出されたと判定された場合、本プロセスは、次のランドマークの近傍まで、経路を直線状とする(ステップ1216)。本プロセスは、次のランドマークを中心とする経路を進み続けて、複数の円弧を形成する(ステップ1218)。本プロセスは、経路が作業現場マップをカバーするまで反復的に繰り返す(ステップ1220)。次いで、本プロセスは経路計画を作成し(ステップ1222)、その後本プロセスは終了する。
【0127】
図示した異なる実施形態におけるフローチャートおよびブロック図は、装置、方法、およびコンピュータ・プログラム製品の何らかの可能な実施態様のアーキテクチャ、機能、おおび動作を例示したものである。これに関して、フローチャートまたはブロック図における各ブロックは、コンピュータ使用可能または読み取り可能プログラム・コードのモジュール、セグメント、または一部を表すことができ、プログラム・コードは、指定された1つまたは複数の機能を実現するための1つ以上の実行可能命令を備えている。代替実施態様の中には、ブロックの中に印した1つまたは複数の機能が、図に印した順序通りには行われない場合もある。例えば、場合によっては、連続して示される2つのブロックを実質的に同時に実行することもあり、また、関与する機能に応じて、ブロックを逆の順序で実行することもあり得る。
【0128】
異なる有利な実施形態は、全体的にハードウェアとした実施形態、全体的にソフトウェアとした実施形態、またはハードウェアおよびソフトウェア・エレメント双方を含む実施形態という形態をなすことができる。一部の実施形態はソフトウェアで実現され、これには、限定ではないが、例えば、ファームウェア、常駐ソフトウェア、およびマイクロコードというような形態を含む。
【0129】
更に、異なる実施形態は、コンピュータあるいは命令を実行する任意のデバイスまたはシステムによって用いられる、またはこれと関係のあるプログラム・コードを提供するコンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータ・プログラム製品という形態をなすことができる。この開示に限って言えば、コンピュータ使用可能またはコンピュータ読み取り可能媒体は、一般に、命令実行システム、装置、またはデバイスによって用いられるプログラムまたはこれと関係のあるプログラムを収容、格納、伝達、伝搬、または移送することができる任意の有形装置とすることができる。
【0130】
コンピュータ使用可能またはコンピュータ読み取り可能媒体は、例えば、限定ではなく、電子、磁気、光学、電磁、赤外線、または半導体システム、あるいは伝搬媒体とすることができる。コンピュータ読み取り可能媒体の非限定的例には、半導体またはソリッド・ステート・メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、硬質磁気ディスク、および光ディスクが含まれる。光ディスクには、コンパクト・ディスク−リード・オンリ・メモリ(CD−ROM)、コンパクト・ディスク−リード/ライト(CD−R/W)、およびDVDを含むことができる。
【0131】
更に、コンピュータ使用可能またはコンピュータ読み取り可能媒体は、コンピュータ読み取り可能または使用可能プログラム・コードを収容または格納することができ、このコンピュータ読み取り可能または使用可能プログラム・コードをコンピュータ上で実行すると、このコンピュータ読み取り可能または使用可能プログラム・コードの実行によって、コンピュータに別のコンピュータ読み取り可能または使用可能プログラム・コードを通信リンクを通じて送信させる。この通信リンクは、例えば、限定ではなく、物理的またはワイヤレスである媒体を用いることができる。
【0132】
コンピュータ読み取り可能またはコンピュータ使用可能プログラム・コードを格納するおよび/または実行するのに適したデータ処理システムは、システム・バスのような通信ファブリックを通じてメモリ・エレメントに直接または間接的に結合されている1つ以上のプロセッサを含む。メモリ・エレメントは、プログラム・コードの実際の実行中に用いられるローカル・メモリ、バルク・ストレージ、およびコードの実行中にコードをバルク・ストレージから引き出すかもしれない回数を減らすために、少なくとも一部のコンピュータ読み取り可能またはコンピュータ使用可能プログラム・コードの一時的格納に備えたキャッシュ・メモリを含むことができる。
【0133】
入力/出力即ちI/Oデバイスは、直接または介在するI/Oコントローラを介してシステムに結合することができる。これらのデバイスは、例えば、限定ではなく、キーボード、タッチ・スクリーン・ディスプレイ、およびポインティング・デバイスを含むことができる。異なる通信アダプタもシステムに結合して、データ処理システムを他のデータ処理システムあるいはリモート・プリンタまたは記憶デバイスに、介在する私的または公衆ネットワークを通じて結合することを可能にすることができる。モデムおよびネットワーク・アダプタの非限定的な例には、多くの現在入手可能なタイプの通信アダプタがある。
【0134】
異なる有利な実施形態の記載は、例示および説明を目的として提示したのであって、網羅的であることも、実施形態を開示した形態に限定することを意図するのではない。多くの変更および変容も当業者には明白であろう。更に、異なる実施形態は、他の実施形態と比較して、異なる利点を提供することができる。選択された1つまたは複数の実施形態は、本発明の原理、実用的用途を最良に説明するため、そして当業者が本発明を、想定される個々の使用に適するような種々の変更を加えた種々の実施形態について理解することが可能となるために、選定し説明したのである。
【符号の説明】
【0135】
100 作業現場環境
101 ネットワーク
102 バック・オフィス
104 自律車両
108 ユーザ
110 手動制御デバイス
112 ナビゲーション・システム
120 ランドマーク
122 障害物
124 収容位置
126 電源
200 データ処理システム
204 プロセッサ・ユニット
206 メモリ
208 永続的ストレージ
210 通信ユニット
212 入力/出力ユニット
214 ディスプレイ
216 記憶デバイス
222 コンピュータ・プログラム製品
220 コンピュータ読み取り可能媒体
218 プログラム・コード
224 コンピュータ読み取り可能記憶媒体
226 コンピュータ読み取り可能信号媒体
300 ナビゲーション・システム
302 プロセッサ・ユニット
304 通信ユニット
306 行動データベース
308 作業現場データベース
310 可動システム
312 センサ・システム
314 電源
316 電力レベル・インディケータ
318 基本システム・インターフェース
320 視覚システム
322 複数のカメラ
324 複数の画像
326 車両制御プロセス
328 経路計画モジュール
332 区域分解プロセス
330 経路計画
334 同時位置測定およびマッピング・プロセス
400 可動システム
402 推進システム
404 操舵システム
406 制動システム
408 複数の可動コンポーネント
410 車輪駆動モータ
500 センサ・システム
502 障害物検出システム
504 周辺検出システム
506 推測航法システム
508 複数のコンタクト・スイッチ
510 超音波変換器
512 受信機
514 赤外線検出器
516 オドメータ
518 コンパス
520 加速度計
600 行動データベース
700 作業現場データベース
702 地図データベース
704 ランドマーク・データベース
800 作業現場地図
801 作業現場
802 ランドマーク
804 ランドマーク
806 ランドマーク
808 花壇
810 薮
812、814,816,818 作業現場境界線
820 開始点
834 終点

【特許請求の範囲】
【請求項1】
エリア・カバレッジ経路計画の作成方法であって、
複数のランドマークを有する作業現場地図上において開始点を特定するステップと、
前記複数のランドマークにおいて第1ランドマークを特定するステップと、
障害物を検出するまで、前記第1ランドマーク周囲において経路を発生するステップと、
前記障害物の検出に応答して、前記経路を次のランドマークの近傍まで直線状にするステップと、
前記次のランドマーク周囲において前記経路を発生するステップと、
を含む、方法。
【請求項2】
請求項1記載の方法において、前記第1ランドマーク周囲の経路は、1組の同心円状円弧である、方法。
【請求項3】
請求項1記載の方法において、前記第1ランドマーク周囲において前記経路を発生するステップは、更に、
第1作業現場境界線を検出したか否か判定するステップと、
前記第1作業現場境界線を検出したという判定に応答して、前記第1作業現場境界線に沿って、前記第1ランドマークから予め定められた幅だけ遠ざかるように前記経路を移動させるステップと、
前記第1ランドマーク周囲において前記経路を続けるステップと、
を含む、方法。
【請求項4】
請求項3記載の方法であって、更に、
前記第1作業現場境界線が検出されていないという判定に応答して、障害物を検出したか否か判定するステップと、
障害物が検出されていないという判定に応答して、前記第1ランドマーク周囲において前記経路を続けるステップと、
を含む、方法。
【請求項5】
請求項4記載の方法であって、更に、
前記経路が前記作業現場地図をカバーするまで、前記複数のランドマークの周囲において前記経路を繰り返し発生するステップと、
前記作業現場地図をカバーした前記経路を用いて、経路計画を作成するステップと、
を含む、方法。
【請求項6】
エリア・カバレッジ経路計画の実行方法であって、
ランドマークから所望の距離だけ離れたところにおいて、前記ランドマークの予測幅を画素単位で決定するステップと、
前記ランドマークを有する画像を特定するステップと、
前記画像を用いて、前記ランドマークの観察幅を決定するステップと、
前記ランドマークの観察幅を前記ランドマークの予測幅と比較するステップと、
前記観察幅および前記予測幅の比較に基づいて、自律車両を動かすためにメッセージを車両制御プロセスに送るステップと、
を含む、方法。
【請求項7】
請求項6記載の方法であって、更に、
前記ランドマークから成るフィルタ処理画像を形成するために、前記画像をフィルタ処理するステップを含む、方法。
【請求項8】
請求項6記載の方法であって、更に、前記画像において垂直方向に前記ランドマークの方位を正規化するステップを含む、方法。
【請求項9】
請求項6記載の方法において、前記ランドマークの観察幅を前記ランドマークの予測幅と比較するステップは、更に、
前記ランドマークの観察幅が前記ランドマークの予測幅よりも大きいか否か判定するステップと、
前記観察幅が前記予測幅よりも大きいという判定に応答して、前記自律車両を前記ランドマークから遠ざけるように動かすために、メッセージを前記車両制御プロセスに送るステップと、
を含む、方法。
【請求項10】
請求項9記載の方法であって、更に、
前記観察幅が前記予測幅よりも大きくないという判定に応答して、前記観察幅が前記予測幅未満であるか否か判定するステップと、
前記観察幅が前記予測幅未満であるという判定に応答して、前記自律車両を前記ランドマークに向けて動かすために、メッセージを前記車両制御プロセスに送るステップと、
を含む、方法。
【請求項11】
請求項10記載の方法であって、更に、
障害物を検出したか否か判定するステップと、
障害物が検出されていないという判定に応答して、ランドマークを有する次の画像を特定するステップと、
を含む、方法。
【請求項12】
経路計画の実行方法であって、
複数のランドマークを有する作業現場の作業現場地図を受け取るステップと、
前記作業現場地図を用いて、前記作業現場に対して複数のエリア・カバレッジ格子エレメントを有するエリア・カバレッジ格子地図を作成するステップと、
前記作業現場地図および前記エリア・カバレッジ格子地図を用いて、前記作業現場について経路計画を作成するステップと、
前記作業現場地図上の前記複数のランドマークに未だ行っていないの印を付けるステップと、
前記複数のエリア・カバレッジ格子エレメントを未カバーとして初期化するステップと、
前記作業現場においてエリア・カバレッジ・タスクを実行するステップと、
を含む、方法。
【請求項13】
請求項12記載の方法において、前記作業現場地図は、複数のランドマーク位置、複数のランドマーク属性、および複数の障害物のうち少なくとも1つを含む、方法。
【請求項14】
請求項12記載の方法であって、更に、
前記作業現場地図上において、未だ行っていないと印されているランドマークを識別するステップと、
前記未だ行っていないと印されているランドマークに進むように、メッセージを車両制御プロセスに送るステップと、
前記ランドマーク周囲の経路上において、エリア・カバレッジ行動を実行するステップと、
を含む、方法。
【請求項15】
請求項14記載の方法であって、更に、
障害物を検出したか否か判定するステップと、
前記障害物が検出されたという判定に応答して、前記作業現場地図上において、前記未だ行っていないと印されているランドマークに、既に行ったの印を付けるステップと、
前記既に行ったと印されているランドマークの関連するエリア・カバレッジ格子エレメントにカバー済みの印を付けるステップと、
を含む、方法。
【請求項16】
請求項12記載の方法であって、更に、
未だ行っていないと印されているランドマークが未だ残っているか否か判定するステップと、
未だ行っていないと印されているランドマークが未だ残っているという判定に応答して、前記作業現場地図上において未だ行っていないと印されている次のランドマークを識別するステップと、
前記未だ行っていないと印されている前記次のランドマークに進むために、メッセージを車両制御プロセスに送るステップと、
を含む、方法。
【請求項17】
請求項16記載の方法であって、更に、
未だ行っていないと印されているランドマークが残っていないという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているか否か判定するステップと、
未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントと関連のある既に行ったランドマークまで前記経路計画に沿って進めるために、メッセージを前記車両制御プロセスに送るステップと、
前記既に行ったランドマーク周囲の経路において、エリア・カバレッジ行動を実行するステップと、
を含む、方法。
【請求項18】
経路計画の実行方法であって、
作業現場についての複数のランドマーク属性および障害物情報を受け取るステップと、
複数の格子エレメントを有するエリア・カバレッジ格子地図を作成するステップと、
前記作業現場の作業現場エリアの画像を取得するステップと、
前記画像においてランドマークが特定されたか否か判定するステップと、
前記画像においてランドマークが特定されたという判定に応答して、前記特定されたランドマークが既に行ったものであるか否か判定するステップと、
前記特定されたランドマークが未だ行っていないという判定に応答して、前記特定されたランドマークまでの経路計画を計算するステップと、
を含む、方法。
【請求項19】
請求項18記載の方法において、前記複数のランドマーク属性は、ランドマーク記述、ランドマーク画像、およびランドマーク特性のうち少なくとも1つを含む、方法。
【請求項20】
請求項18記載の方法において、自律車両と関連のある視覚システムを用いて、前記作業現場エリアの画像を取得する、方法。
【請求項21】
請求項18記載の方法であって、更に、
前記画像においてランドマークが特定されていないという判定に応答して、複数のカメラを用いて、度単位の視野にゼロと1との間の値を乗算した積である値だけ回転させて、取得される追加画像において画像の重複ができるようにして、前記作業現場エリアにおいて前記ランドマークを検索するステップを含む、方法。
【請求項22】
請求項21記載の方法であって、更に、
前記取得した追加画像において、前記ランドマークが特定されたか否か判定するステップと、
前記取得した追加画像において、前記ランドマークが特定されていないという判定に応答して、前記複数のカメラが360度回転したか否か判定するステップと、
前記複数のカメラが360度回転していないという判定に応答して、取得される追加画像において画像の重複ができるように、度単位の視野にゼロと1との間の値を乗算した積である値だけ前記複数のカメラを回転させるステップと、
を含む、方法。
【請求項23】
請求項22記載の方法であって、前記取得した追加画像において、前記ランドマークが特定されたという判定に応答して、前記特定されたランドマークが既に行ったものであるか否か判定するステップと、
前記特定されたランドマークが未だ行っていないという判定に応答して、前記特定されたランドマークまでの経路計画を計算するステップと、
を含む、方法。
【請求項24】
請求項18記載の方法であって、更に、
前記特定されたランドマークが既に行ったものであるという判定に応答して、全ての格子地図エレメントがカバーされているか否か判定するステップと、
全ての格子地図エレメントがカバーされていないという判定に応答して、次の作業現場エリアのための次の画像を取得するステップと、
前記次の画像において次のランドマークが特定されたか否か判定するステップと、
を含む、方法。
【請求項25】
エリア・カバレッジ経路計画の作成装置であって、
複数のランドマークを用いて、作業現場のエリア・カバレッジ経路計画を作成するように構成されたプロセッサ・ユニットと、
前記プロセッサ・ユニットから受け取った前記作業現場のエリア・カバレッジ経路計画を、可動システムを用いて実行するように構成されている車両制御プロセスと、
を含む、装置。
【請求項26】
請求項25記載の装置において、前記プロセッサ・ユニットは、更に、前記複数のランドマークを有する作業現場の作業現場地図を受け取り、前記作業現場地図を用いて、前記作業現場に対して複数のエリア・カバレッジ格子エレメントを有するエリア・カバレッジ格子地図を作成し、前記作業現場地図および前記エリア・カバレッジ格子地図を用いて、前記作業現場について経路計画を作成し、前記作業現場地図上の前記複数のランドマークに未だ行っていないの印を付けるステップと、前記複数のエリア・カバレッジ格子エレメントを未カバーとして初期化するように構成された、装置。
【請求項27】
請求項26記載の装置において、前記可動システムは、更に、前記作業現場においてエリア・カバレッジ・タスクを実行するように構成された、装置。
【請求項28】
請求項26記載の装置において、前記作業現場地図は、複数のランドマーク位置、複数のランドマーク属性、および複数の障害物のうち少なくとも1つを含む、装置。
【請求項29】
請求項26記載の装置において、前記プロセッサ・ユニットは、更に、前記作業現場地図上において、未だ行っていないと印されているランドマークを識別し、前記未だ行っていないと印されているランドマークに進むように、メッセージを車両制御プロセスに送るように構成された、装置。
【請求項30】
請求項26記載の方法において、前記プロセッサ・ユニットは、更に、障害物が検出されたか否か判定し、前記障害物が検出されたという判定に応答して、前記作業現場地図上において、前記未だ行っていないと印されているランドマークに、既に行ったの印を付け、前記既に行ったと印されているランドマークの関連するエリア・カバレッジ格子エレメントにカバー済みの印を付けるように構成された、装置。
【請求項31】
請求項26記載の装置において、前記プロセッサ・ユニットは、更に、未だ行っていないと印されているランドマークが未だ残っているか否か判定し、未だ行っていないと印されているランドマークが未だ残っているという判定に応答して、前記作業現場地図上において未だ行っていないと印されている次のランドマークを識別し、前記未だ行っていないと印されている前記次のランドマークに進むために、メッセージを車両制御プロセスに送るように構成された、装置。
【請求項32】
請求項26記載の装置において、前記プロセッサ・ユニットは、更に、未だ行っていないと印されているランドマークが残っていないという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているか否か判定し、未カバーと印されているエリア・カバレッジ格子エレメントが未だ残っているという判定に応答して、未カバーと印されているエリア・カバレッジ格子エレメントと関連のある既に行ったランドマークまで前記経路計画に沿って進めるために、メッセージを前記車両制御プロセスに送り、前記既に行ったランドマーク周囲の経路において、エリア・カバレッジ行動を実行するように構成された、装置。
【請求項33】
請求項25記載の装置であって、更に、
前記作業現場の複数の画像を取り込むように構成された視覚システムを含む、装置。
【請求項34】
エリア・カバレッジ経路計画の作成装置であって、
作業現場の複数のランドマークを用いて、障害物が検出されるまで第1ランドマーク周囲において経路を発生することによって、エリア・カバレッジ経路計画を作成し、前記障害物が検出されたことに応答して、次のランドマークの近傍まで前記経路を直線状とし、前記次のランドマークの周囲において前記経路を発生するように構成されているプロセッサ・ユニットと、
前記プロセッサ・ユニットから受け取った前記作業現場に対する前記エリア・カバレッジ経路計画を、可動システムを用いて実行するように構成された車両制御プロセスと、
を含む、装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−138502(P2011−138502A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−281225(P2010−281225)
【出願日】平成22年12月17日(2010.12.17)
【出願人】(591005165)ディーア・アンド・カンパニー (109)
【氏名又は名称原語表記】DEERE AND COMPANY
【Fターム(参考)】