(57)【要約】      （修正有）【課題】可動プラットフォーム上のカメラシステムから取得した画像を使用して、可動プラットフォームの位置、及び他の可動プラットフォーム及びデバイスから受信した位置情報を識別する方法及び装置を提供する。【解決手段】可動プラットフォーム２０２の位置を識別する方法及び装置である。第１可動プラットフォーム２０４上のカメラシステム２４２によって画像が提供される。この画像には、第２プラットフォーム２０６の画像が含まれる。第１可動プラットフォームの識別位置は、第２プラットフォームの画像と位置情報２４４を使用して生成される。第２プラットフォームの位置情報により、第２プラットフォームの位置が識別される。【選択図】図２
2014078232.tif 000002
【特許請求の範囲】
【請求項１】
可動プラットフォームの位置を識別する方法であって、
第１可動プラットフォーム上のカメラシステムによって供給される、第２プラットフォームの画像を含む画像をプロセッサユニットによって受信することと、
前記第２プラットフォームの画像と、前記第２プラットフォームの所在場所を識別する第２プラットフォームの位置情報とを使用して、前記第１可動プラットフォームの識別位置を前記プロセッサユニットによって判定することと
を含む方法。
【請求項２】
前記第１可動プラットフォームの前記識別位置の精度を、前記プロセッサユニットによって識別することをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１可動プラットフォームの前記識別位置の前記精度を使用して、前記第１可動プラットフォームを制御することをさらに含む、請求項２に記載の方法。
【請求項４】
前記第１可動プラットフォームの前記識別位置と、前記第１可動プラットフォームの前記識別位置の前記精度とを表示することをさらに含む、請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記第２プラットフォームの前記位置情報が、前記第２プラットフォーム上のカメラシステムによって供給される画像を使用して生成される、請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記第１可動プラットフォームと前記第２プラットフォームが、ロボット及び無人飛行体から選択される、請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記第１可動プラットフォーム上のカメラシステムであって、第２可動プラットフォームの画像を含む画像を供給するように構成されたカメラシステムと、
第２可動プラットフォームの所在場所を識別する前記第２可動プラットフォームの位置情報を受信するように構成された通信システムと、
前記第２可動プラットフォームの前記画像と前記位置情報とを使用して、前記第１可動プラットフォームの識別位置を判定するように構成された位置識別器と
を備える装置。
【請求項８】
前記位置識別器がさらに、前記第１可動プラットフォームの前記識別位置の精度を識別するように構成されている、請求項７に記載の装置。
【請求項９】
前記第１可動プラットフォームの前記識別位置の前記精度を使用して、前記第１可動プラットフォームを制御するように構成されたプラットフォームコントローラをさらに備える、請求項８に記載の装置。
【請求項１０】
前記プラットフォームコントローラがさらに、前記第１可動プラットフォームの前記識別位置と、前記第１可動プラットフォームの前記識別位置の前記精度とを表示するように構成されている、請求項７乃至９のいずれか１項に記載の装置。
【請求項１１】
前記第２可動プラットフォームの前記位置情報が、前記第２可動プラットフォーム上のカメラシステムによって供給される画像を使用して生成される、請求項７乃至１０のいずれか１項に記載の装置。
【請求項１２】
前記第１可動プラットフォームの前記識別位置が第１識別位置であり、前記位置識別器がさらに、
前記第２可動プラットフォームの前記位置情報を使用せずに、前記第１可動プラットフォームの第２識別位置を判定し、
前記第１可動プラットフォームの前記第１識別位置と、前記第１可動プラットフォームの前記第２識別位置とを使用して、前記第１可動プラットフォームの最終的な識別位置を判定する
ように構成されている、請求項７乃至１１のいずれか１項に記載の装置。
【請求項１３】
前記第１可動プラットフォームと前記第２可動プラットフォームが、ロボットと無人飛行体から選択される、請求項７乃至１２のいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して、ロボット又は無人飛行体等の可動プラットフォームの位置を識別することと、識別された可動プラットフォームの位置の精度を識別することに関するものである。さらに具体的には、本発明は、可動プラットフォーム上のカメラシステムから取得した画像を使用して、可動プラットフォームの位置、及び他の可動プラットフォーム及びデバイスから受信した位置情報を識別する方法及び装置に関するものである。
【背景技術】
【０００２】
可動プラットフォームを使用して、さまざまな環境において様々な作業が行われる。例えば、ロボットは自動可動プラットフォームの一例である。ロボットを使用して、工場又は他の環境において製品を製造するための様々な作業が行われる。例えば、任意の数のロボットを使用して、航空機又は別の輸送手段又は他の製品が組み立てられる。
【０００３】
無人飛行体は、自動可動プラットフォームの別の例である。無人飛行体を使用して、さまざまな操作環境において様々な任務が行われる。例えば、偵察任務又は他の任務を行っている間に、無人飛行体を制御して様々な作業が実施される。
【０００４】
操作環境における可動プラットフォームの位置は、操作環境におけるプラットフォームの所在場所、操作環境におけるプラットフォームの方位、またはこの両方によって定義される。プラットフォームによって行われる作業が効率的に行われるために、操作環境において、可動プラットフォームの位置を精確に制御することが望ましい。操作環境において可動プラットフォームの位置を精確に制御するためには、任意の時点において操作環境における可動プラットフォームの位置を精確に識別することが望ましい。
【０００５】
例えば、任意の時点において無人飛行体又は他の航空機の位置は、三次元空間における航空機の所在場所、航空機の方位、または航空機の所在場所と方位の両方の観点において定義される。例えば、航空機の所在場所は、航空機の地理的座標及び高度によって定義される。航空機の方位は、水平線等の所定の線又は平面に対する航空機の角度の観点から定義される。航空機の方位は、姿勢と呼ばれる。航空機の姿勢は、ロール、ピッチ及びヨーと呼ばれる三自由度を参照して表わされる。
【０００６】
可動プラットフォームの位置を識別するために、様々なシステムが使用される。例えば、無人飛行体又はその他の航空機の所在場所は、全地球測位システム（ＧＰＳ）を使用して識別される。この場合、航空機上の全地球測位システムのハードウェアには、任意の数の衛星から信号を受信するように構成された受信機が含まれる。航空機上の追加のハードウェアおよびソフトウェアは、受信した衛星信号から航空機の現在の所在場所を識別する。
【０００７】
あるいは、地上の任意の既知の所在場所から受信した無線信号から航空機の現在の所在場所を識別するために、航空機上の無線ナビゲーションシステムが使われる。航空機の方位を識別するために、様々なハードウェア、またはハードウェアおよびソフトウェアシステムも使われる。例えば、任意の時点において航空機の姿勢を識別するために、電気機械ジャイロスコープシステムが使用される。
【０００８】
任務を行うために航空機を効率的に制御するには、操作環境において無人飛行体又は他の航空機の現在の位置を精確に認識していることが望ましい。航空機の位置を識別する現在のシステム及び方法は、航空機の効率的な操作に影響を与えうる。
【０００９】
操作環境において航空機の位置を識別する現在のシステム及び方法は、さまざまな操作条件において、さまざまな操作条件下で、または他の状況において要求されるほど精確には、航空機の位置を識別できない。例えば、全地球測位システム（ＧＰＳ）及び無線ナビゲーションシステムは、ある場合、たとえばこれらのシステムによって使用される信号が利用できない、または操作環境のフィーチャによってブロックされ航空機が受信できない等の場合に、航空機の位置を精確に識別することができない。
【００１０】
様々な操作環境において他の可動プラットフォームの位置を識別する現在のシステム及び方法もまた、さまざまな操作環境、操作条件、または他の状況において要求されるほど精確には、可動プラットフォームの現在位置を識別することができない。例えば、屋内の位置づけシステムも、信号がブロックされてプラットフォームが受信できない等の場合に、プラットフォームの位置を精確に識別することができない。ある場合には、初期条件が不正確である、及びセンサのドリフト、ホイールのすべり、または他の理由によりエラーが蓄積した場合などの場合、プラットフォーム搭載のシステムは、長期間にわたってプラットフォームの位置を精確に識別することができない。
【００１１】
したがって、上述した問題の一又は複数と、起こりうる他の問題とを考慮する方法と装置を有することが有利である。
【発明の概要】
【００１２】
本発明の例示的実施形態により、可動プラットフォームの位置を識別する方法が提供される。第１可動プラットフォーム上のカメラシステムによって画像が提供される。この画像には、第２プラットフォームの画像が含まれる。第１可動プラットフォームの識別位置は、第２プラットフォームの画像及び位置情報を使用して判定される。第２プラットフォームの位置情報により、第２プラットフォームの位置が識別される。
【００１３】
この方法はさらに、プロセッサユニットによって、第１可動プラットフォームの識別位置の精度を識別することと、第１可動プラットフォームの識別位置の精度を使用して、第１可動プラットフォームを制御することと、第１可動プラットフォームの識別位置と、第１可動プラットフォームの識別位置の精度を表示することを含む。第２プラットフォームの位置情報は、第２プラットフォーム上のカメラシステムによって供給される画像を使用して生成される。第１プラットフォーム及び第２プラットフォームは、ロボット及び無人飛行体から選択される。
【００１４】
本発明の別の実施形態は、カメラシステム、通信システム、および位置識別器を備える装置を提供する。カメラシステムは第１可動プラットフォーム上にあり、第２可動プラットフォームの画像を含む画像を供給するように構成される。通信システムは、第２可動プラットフォームから第２可動プラットフォームの位置情報を受信するように構成される。第２可動プラットフォームの位置情報は、第２可動プラットフォームの所在場所の識別である。位置識別器は、第２可動プラットフォームの画像と位置情報を使用して、第１可動プラットフォームの識別位置を判定するように構成される。
【００１５】
位置識別器はさらに、第１可動プラットフォームの識別位置の精度を識別するように構成される。この装置はさらに、第１可動プラットフォームの識別位置の精度を使用して、第１可動プラットフォームを制御するように構成されたプラットフォームコントローラを備える。プラットフォームコントローラはさらに、第１可動プラットフォームの識別位置と、第１可動プラットフォームの識別位置の精度を表示するように構成される。第２可動プラットフォームの位置情報は、第２可動プラットフォームのカメラシステムによって供給される画像を使用して生成される。第１可動プラットフォームの識別位置は第１識別位置であり、位置識別器はさらに、第２可動プラットフォームの位置情報を使用せずに、第１可動プラットフォームの第２の識別位置を判定し、第１可動プラットフォームの第１識別位置と、第１可動プラットフォームの第２の識別位置を使用して、第１可動プラットフォームの最終的な識別位置を判定するように構成される。第１可動プラットフォームと第２可動プラットフォームは、ロボットと無人飛行体から選択される。
【００１６】
本発明の別の実施形態により、可動プラットフォームの位置を識別する方法が提供される。複数の異なる方法を使用して、可動プラットフォームの複数の識別位置が判定される。可動プラットフォームの複数の識別位置を結合させて、可動プラットフォームの最終的な識別位置が生成される。
【００１７】
可動プラットフォームは第１可動プラットフォームであり、複数の異なる方法のうちの一つは、プロセッサユニットによって、第１可動プラットフォーム上のカメラシステムによって供給される、第２可動プラットフォームの画像を含む画像を受信することと、プロセッサユニットによって、第２可動プラットフォームの所在場所を識別する第２可動プラットフォームの位置情報を受信することと、プロセッサユニットによって、第２可動プラットフォームの画像及び位置情報を使用して、可動プラットフォームの複数の識別位置のうちの一つを判定することを含む。第２可動プラットフォームの位置情報は、第２可動プラットフォームのカメラシステムによって供給される画像を使用して生成される。この方法はさらに、プロセッサユニットによって、可動プラットフォームの最終的な識別位置の精度を識別することと、可動プラットフォームの最終的な識別位置の精度を使用して、可動プラットフォームを制御することを含む。この方法はさらに、可動プラットフォームの最終的な識別位置と、可動プラットフォームの最終的な識別位置の精度を表示することを含む。可動プラットフォームは、ロボットと、無人飛行体から選択される。
【００１８】
上記のフィーチャ、機能及び利点は、本発明の様々な実施形態で独立に実現することが可能であるか、他の実施形態において組み合わせることが可能である。これらの実施形態について、後述の説明及び添付図面を参照してさらに詳細に説明する。
【００１９】
実施形態の特徴と考えられる新規の機能は、特許請求の範囲に明記される。しかしながら、実施形態と、好ましい使用モード、さらにはその目的と利点は、添付図面を参照しながら本発明の一実施形態の以下の詳細な説明を読むことにより最もよく理解されるであろう。
【図面の簡単な説明】
【００２０】
【図１】一実施形態による操作環境での任意の数の可動プラットフォームを図示する。
【図２】一実施形態による任意の数のプラットフォームを含む操作環境のブロック図である。
【図３】一実施形態に係る位置識別器のブロック図である。
【図４】一実施形態による位置情報ディスプレイの図である。
【図５】一実施形態によるプラットフォームの位置を識別するプロセスのフロー図を示したものである。
【図６】一実施形態によるプラットフォームの位置を識別し、プラットフォームを制御するプロセスのフロー図である。
【図７】一実施形態によるデータ処理システムの図解である。
【発明を実施するための形態】
【００２１】
例示の異なる実施形態は、任意の数の異なる検討事項を認識し考慮している。本明細書でアイテムを参照する際に使用している「任意の数の」は、一又は複数のアイテムを意味する。例えば、「任意の数の異なる検討事項」は、一又は複数の異なる検討事項を意味する。
【００２２】
種々の実施形態は、可動プラットフォームの位置を識別する現在のシステムと方法が、特定の操作環境、操作条件、または他の状況において要求されるほど精確に可動プラットフォームの位置を識別することができないことを認識し、考慮している。例えば、無人飛行体又は他の航空機の位置を識別する現在のシステム及び方法の利用可能性は、多くの状況において制限される。いくつかの操作環境においては、全地球測位システムと無線ナビゲーションシステム信号が干渉を受ける。上記信号は、航空機が操作されている密閉されたエリアに侵入することができない、または故障する、または他の干渉を受ける場合がある。
【００２３】
さらに、種々の実施形態は、可動プラットフォームの所在場所と方位を識別するために、モーションキャプチャシステムが使用されることを認識し考慮している。しかしながら、上記システムは、操作環境の物体による密閉された状態の影響を受ける場合があり、操作環境の照明条件に敏感である。可動プラットフォームの位置を識別する走行距離計測法、慣性センサ、及び他の推測航法システム及び方法には、さまざまな不正確さがありがちである。同時位置特定及び地図作製システムは、コンピュータ資源に集約されており、センサの機能及び騒音の影響を受ける。
【００２４】
種々の実施形態は、可動プラットフォーム上のカメラシステムから取得した画像を使用して、可動プラットフォームの位置を識別する独立型画像ベースシステムは、可動プラットフォームの所在場所と方位の良質の情報を提供することを認識し、考慮している。しかしながら、上記独立型システムによって得られる解像度と精密さは、ある用途に対しては十分なものではない。例えば、上記システムが提供する解像度と精密さは、サブミリ波レベルの位置の識別が要求される用途に対して十分なものではない。さらに、操作環境の密閉及び照明条件も、上記システムによる位置情報の識別に悪影響を及ぼす可能性がある。
【００２５】
この実施形態は、任意の数の可動プラットフォームの位置情報を提供する方法及び装置を提供する。位置情報は、可動プラットフォームの所在場所、可動プラットフォームの方位、及び位置情報の精度を識別したものである。
【００２６】
例示の実施形態は、可動プラットフォームが操作されている環境の画像を供給する、可動プラットフォーム上のカメラシステムと、操作環境の中で他のプラットフォームと通信するための無線通信システムと、可動プラットフォームの位置を識別するための位置識別器を備える。通信システムは、他のプラットフォームの位置情報を受信するために使用される。位置識別器は、カメラシステムによって供給された画像から可動プラットフォームの位置を識別するように構成され、この画像は、操作環境における他のプラットフォームの画像と、他のプラットフォームの位置情報を含む。一実施形態による画像ベースの位置識別により、可動プラットフォームの識別位置の精度を判定することが可能になる。
【００２７】
一実施形態による位置の識別により、たとえば工場の組み立てエリアなどの複数のプラットフォームが活動している密閉された操作環境において、可動プラットフォームの位置をより精確に識別することができる。一実施形態による可動プラットフォームの識別位置の精確な情報を提供することにより、操作環境の可動プラットフォームが様々な作業を行うための機器又は機能を制御するためにより信頼性の高い位置情報を使用することが可能になる。
【００２８】
例えば、可動プラットフォームの識別位置の精確な情報を提供することで、さまざまなレベルの位置精度が要求される機能が、より信頼性高く、さらに安全性高く実行される。高い精密さが要求される機能に対しては、例示の実施形態は、操作環境において環境問題が存在する中で操作されている複数のプラットフォームを使用して、より精確に所在場所と方位の情報を識別することができる。例えば、上記問題には、操作環境における照明条件、障害物、またはこの両方が原因の密閉された状態が含まれる。
【００２９】
図１を参照して、一実施形態による、操作環境での任意の数の可動プラットフォームについて説明する。例えば、非限定的に、操作環境１００は、たとえば工場の組み立てエリア、またはその他何らかの操作環境などの産業環境である。任意の数の可動プラットフォームは、操作環境１００において様々な作業を行うために制御される。
【００３０】
この実施例では、操作環境１００における任意の数の可動プラットフォームは、ロボット１０１、１０２、１０４、１０６、及び１０８と、無人飛行体１１０及び１１２を備える。ロボット１０１、１０２、１０４、１０６及び１０８は、操作環境１００において様々な機能を実施するように構成された様々な種類のロボットを含む。例えば、非限定的に、ロボット１０１は、操作環境１００において組立作業、または別の作業、または作業の組み合わせを行うように構成された産業ロボットである。同様に、無人飛行体１１０および１１２は、操作環境１００において様々な機能を行うように構成された様々な種類の無人飛行体を含む。一実施形態による操作環境１００は、図１に示すものよりも多い又は少ない可動プラットフォーム及び異なる種類の可動プラットフォームを含む。
【００３１】
ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２には、操作環境１００においてロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の位置を識別するための画像ベースシステムが備えられている。例えば、非限定的に、上記システムには、操作環境１００において物体１１４及び１１６の画像を取得するカメラシステムが備えられている。操作環境１００における物体１１４及び１１６の位置は固定されており、既知、又は未知のものである。この例では、物体１１４は基準マーカー１１８を備える。操作環境１００における基準マーカー１１８の位置は固定されており、既知のものである。
【００３２】
操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の位置を識別するためのロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の画像ベースシステムは、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２のカメラシステムによって供給される物体１１４及び１１６の画像及び基準マーカー１１８からロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の位置を識別するように構成される。ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２は、操作アーム１１９、又は他の様々な作業構成要素等の様々な作業構成要素を備える。この場合、操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の位置を識別するための、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の画像ベースシステムは、上記作業構成要素のカメラシステムによって供給される物体１１４及び１１６の画像と基準マーカー１１８から上記作業構成要素の位置を識別するように構成される。
【００３３】
操作環境１００の物体１１４及び１１６は、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２上のカメラシステムの視野を妨げる場合がある。例えば、この場合、物体１１４によって、ロボット１０２上のカメラシステムから見た物体１１６及び基準マーカー１１８の視野が妨げられる。ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の位置の識別に使用されるカメラシステムの視野の妨害は、操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２、又はこれらの作業構成要素の位置の識別に影響する。操作環境１００の照明条件もまた、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２上の画像ベースの位置識別システムによる、操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２、又はこれらの作業構成要素の位置の識別に影響を与える。
【００３４】
操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２は、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２上のカメラシステムの視線上にある。例えば、この場合には、ロボット１０６は無人飛行体１１２上のカメラシステムの視線１２０上にある。この例では、ロボット１０４は、ロボット１０６のカメラシステム１２３の視線１２２上にある。
【００３５】
一実施形態によれば、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２は、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の間での無線通信を可能にする通信システムを備える。上記通信システムは、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の間での光通信リンク、無線周波数通信リンク、又は他の無線通信リンク又は通信リンクの組み合わせを提供するように構成された通信システムを備える。
【００３６】
例えば、この場合には、ロボット１０６及び１０８の通信システムを使用して、ロボット１０６と１０８との間の通信リンク１２４が提供される。通信リンク１２４により、ロボット１０６とロボット１０８の間の情報通信が可能になる。ロボット１０２と１０４上の通信システムを使用して、ロボット１０２及びロボット１０４の間に通信リンク１２６が得られる。通信リンク１２６により、ロボット１０２とロボット１０４の間の情報通信が可能になる。ロボット１０２と無人飛行体１１０上の通信システムを使用して、ロボット１０２及び無人飛行体１１０の間に通信リンク１２８が得られる。通信リンク１２８により、ロボット１０２と無人飛行体１１０の間での情報通信が可能になる。
【００３７】
一実施形態によれば、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の間の通信リンクを使用して、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２との間で、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の位置情報が送信される。この位置情報を、操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２の画像を含む、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２上のカメラシステムからの画像と結合させて使用して、操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２、又はこれらの作業構成要素のさらに精確な位置の識別が可能になる。この例では、操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２により、操作環境１００におけるロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２、又はこれらの作業構成要素の位置を識別するための、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２上のカメラシステムによって画像取得され、ロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２上の画像ベースシステムによって使用される、操作環境１００において識別所在場所を有する物体がさらに効率的に得られる。
【００３８】
ここで図２に注目する。図２は、一実施形態による任意の数のプラットフォームを備える操作環境のブロック図である。図１の操作環境１００は、操作環境２００の一実装態様の一例である。図１のロボット１０１、１０２、１０４、１０６及び１０８と、無人飛行体１１０及び１１２は、操作環境２００における任意の数のプラットフォーム２０２の実装態様の例である。
【００３９】
操作環境２００は、任意の数のプラットフォーム２０２が任意の作業又は任務を行うために操作される任意の環境である。例えば、操作環境２００は、開放２０３されている、又は密閉２０５されている。密閉２０５されている操作環境２００は、例えば非限定的に、建造物、又は他の人口構造物、洞窟又はその他の自然発生した構造物、又は完全に又は部分的に密閉されたその他何らかの自然又は人口のエリアを含む。例えば非限定的に、操作環境２００は工業環境、例えば工場の組立てエリア、又は任意の数のプラットフォーム２０２を操作するための他の何らかの環境である。
【００４０】
操作環境２００は、フィーチャ２０７を備える。フィーチャ２０７は、人工の物体、自然発生した物体、構造物、パターン、又は操作環境２００の他の物体を含む。フィーチャ２０７は、任意の波長で動作するカメラに対して可視である。操作環境２００のフィーチャ２０７の所在場所は既知のものである、又は未知のものである。基準マーカー２０８は、フィーチャ２０７の例である。操作環境２００の基準マーカー２０８の所在場所は既知のものである。
【００４１】
任意の数のプラットフォーム２０２は、任意の数の、様々な組み合わせの同じ又は異なる種類のプラットフォームを含む。例えば、任意の数のプラットフォーム２０２は、可動プラットフォーム２０４及び他のプラットフォーム２０６を含む。可動プラットフォーム２０４は、第１プラットフォーム又は第１可動プラットフォームと呼ばれる。他のプラットフォーム２０６は、第２プラットフォーム又は第２可動プラットフォームと呼ばれる。任意の数のプラットフォーム２０２には、他の実施形態では２を超えるプラットフォームが含まれる。
【００４２】
可動プラットフォーム２０４は、操作環境２００の中を移動して、操作環境２００において作業又は任務を行うように構成される。一例では、可動プラットフォーム２０４は輸送手段２１０である。輸送手段２１０は、例えば航空機又は他の何らかの種類の輸送手段である。輸送手段２１０は例えば非限定的に、固定翼航空機、回転翼航空機、軽飛行機、又はその他何らかの好適な種類の航空機である。輸送手段２１０は、空中、宇宙空間、又は空中及び宇宙空間の両方で操作されるすべての航空宇宙輸送手段を含む。輸送手段２１０はまた、地上、水中、又は水上、又は他の何らかの操作媒体又は複数の媒体の組み合わせにおいて操作されるすべての輸送手段も含む。輸送手段２１０は有人のものもあれば、無人のものもある。例えば非限定的に、輸送手段２１０は無人飛行体２１２である。
【００４３】
別の例として、可動プラットフォーム２０４はロボット２１４である。例えば非限定的に、ロボット２１４は、製品の製造、組み立て、検査、又は試験、又はこれらの又はその他の機能の任意の組み合わせに使用される工業ロボット、又は別の種類のロボットを含む。例えば非限定的に、ロボット２１４は頭上クレーンである。別の実施例では、ロボット２１４は、深海又は惑星探査、又はその他なんらかの環境での操作等の科学的な目的で使用されるロボットを含む。さらに別の例として、ロボット２１４は、軍事又は犯罪防止の用途に使用されるロボットを含む。
【００４４】
他のプラットフォーム２０６は、可動プラットフォーム２０４と同じ種類のプラットフォームであり、可動プラットフォーム２０４と同じ機能を有する。あるいは、他のプラットフォーム２０６は、可動プラットフォーム２０４とは違う種類のプラットフォームである、あるいは可動プラットフォーム２０４とは異なる機能を有する、又はその両方である。他のプラットフォーム２０６は可動のものもあれば、可動でないものもある。
【００４５】
任意の時点で、可動プラットフォーム２０４は操作環境２００の位置２２４にある。位置２２４は、操作環境２００における可動プラットフォーム２０４の実際の位置と呼ばれる。位置２２４は、可動プラットフォーム２０４の所在場所２２６、可動プラットフォーム２０４の方位２２８、又は可動プラットフォーム２０４の所在場所２２６及び方位２２８の両方を含む。所在場所２２６は、可動プラットフォーム２０４が位置決めされる三次元空間のポイント、又は複数のポイントを含む。所在場所２２６は、任意の三次元座標系を参照して定義される。例えば、無人飛行体２１２の所在場所２２６は、操作環境２００における無人飛行体２１２の地理座標及び高度によって定義される。
【００４６】
方位２２８は、三次元空間の所定の線又は平面に対する可動プラットフォーム２０４の角度である。方位２２８は、ロール、ピッチ、及びヨーと呼ばれる三自由度を参照して表される。これらの例では、操作環境２００での無人飛行体２１２の方位２２８は、無人飛行体２１２の高度と呼ばれる。
【００４７】
可動プラットフォーム２０４は、任意の数の作業構成要素２３０を備える。任意の数の作業構成要素２３０は、操作環境２００における特定位置において作業を行うのに使用される可動プラットフォーム２０４のパーツを含む。例えば非限定的に、任意の数の作業構成要素２３０は、操作アーム、又は他の作業構成要素、又は作業構成要素の様々な組み合わせを含む。任意の数の作業構成要素２３０は、可動プラットフォーム２０４の他の部分に対して可動である、又は固定されている。本願においては、請求項の範囲に含まれる可動プラットフォーム２０４の位置２２４は、操作環境２００における可動プラットフォーム２０４の任意の数の作業構成要素２３０の位置と呼ばれる。ある場合には、可動プラットフォーム２１４は、任意の数のプラットフォーム２０２のうちの大きな固定又は可動プラットフォームの作業構成要素である。
【００４８】
一実施形態では、操作環境２００の可動プラットフォーム２０４の位置２２４は、位置識別器２３２によって識別される。位置識別器２３２は、可動プラットフォーム２０４に関連付けられている。例えば、位置識別器２３２の構成要素は、これらの実施例において可動プラットフォーム２０４に取り付けられている。
【００４９】
位置識別器２３２は、識別位置情報２３４を生成するよう構成される。識別位置情報２３４は、識別位置２３６の情報を含む。識別位置２３６は、プラットフォーム２０４の位置２２４を識別するための位置識別器２３２によって算出される任意の数の値を含む。識別位置２３６はしたがって、可動プラットフォーム２０４の位置２２４の推定値である。識別位置情報２３４はまた、識別位置の精度２３８も含む。識別位置の精度２３８は、位置識別器２３２によって計算され、識別位置２３６の精度を表す任意の数の値を含む。例えば、識別位置の精度２３８は、識別位置２３６のプラットフォーム２０４の位置２２４との予想される違いの度合いを表す任意の数の値を含む。
【００５０】
一実施形態によれば、位置識別器２３２は、可動プラットフォーム２０４上のカメラシステム２４２によって供給された画像２４０と、他のプラットフォーム２０６の位置情報２４４を使用して、可動プラットフォーム２０４の識別位置情報２３４を生成するように構成される。画像２４０は、可動プラットフォーム２０４が操作される操作環境２００の画像であり、操作環境２００の他のプラットフォーム２０６の画像を含む。
【００５１】
画像２４０は、可動プラットフォーム２０４上のカメラシステム２４２から位置識別器２３２に供給される。カメラシステム２４２は、任意の適切な方法で可動プラットフォーム２０４に取り付けられる。カメラシステム２４２は、単一のカメラを備える。他の実施形態では、カメラシステム２４２は複数のカメラを備える。マルチカメラシステムの使用により、位置識別器２３２によって判定される位置の精度が向上する。
【００５２】
カメラシステム２４２は、任意の望ましい波長の画像を取得するように操作されるデジタルビデオカメラ、又は他のビデオカメラを備える。例えば非限定的に、カメラシステム２４２は、可視波長域又は赤外線波長域、又は複数の異なる波長域、又は波長帯において、操作環境２００の画像２４０を生成する。カメラシステム２４２は、高速カメラを備える。例えば非限定的に、カメラシステム２４２は、一秒当たり約１００フレームのフレーム率、又はより高いフレーム率で操作される。あるいは、カメラシステム２４２は、任意のフレーム率で操作される。
【００５３】
一実施形態では、カメラシステム２４２が操作される波長、フレーム率、又は波長とフレーム率の両方が変動する。この場合、例えば、波長、フレーム率、又はこの両方は、可動プラットフォーム２０４の特定の作業又は任務、又は可動プラットフォーム２０４が操作されている操作環境２００の状態に基づいて調節される。
【００５４】
任意の時点において、カメラシステム２４２は特定の視野２４６を有する。視野２４６とは、操作環境２００の、カメラシステム２４２によって生成される画像２４０に現れる部分である。したがって、基準マーカー２０８、又は操作環境２００の他のフィーチャ２０７がカメラシステム２４２の視野２４６に入る場合、基準マーカー２０８、又は他のフィーチャ２０７の画像がカメラシステム２４２によって生成される画像２４０に現れる。同様に、他のプラットフォーム２０６がカメラシステム２４２の視野内にある場合、他のプラットフォーム２０６の画像は、カメラシステム２４２によって生成される画像２４０に現れる。
【００５５】
一実施形態によれば、位置識別器２３２は既知の手法を使用して、操作環境２００の物体の画像２４０と、操作環境２００のこれらの物体の既知の所在場所から、可動プラットフォーム２０４の識別位置２３６を判定する。具体的には、一実施形態により、位置識別器２３２は既知の手法を用いて、操作環境２００の他のプラットフォーム２０６の画像を含む画像２４０と、操作環境２００の他のプラットフォーム２０６の位置情報２４４から可動プラットフォーム２０４の識別位置２３６を判定する。一実施形態によれば、位置識別器２３２はまた、識別位置２３６の識別位置の精度２３８を判定するようにも構成される。
【００５６】
他のプラットフォーム２０６の位置情報２４４は、操作環境２００の他のプラットフォーム２０６の所在場所を識別する情報を含む。他のプラットフォーム２０６の位置情報２４４は、他のプラットフォーム２０６上の位置識別システムによって判定される。例えば、非限定的に、他のプラットフォーム２０６上の位置識別システムは、他のプラットフォーム２０６の位置情報２４４を生成するように構成された画像ベース又は他の位置識別システムである。他のプラットフォーム２０６上の位置識別システムは、可動プラットフォーム２０４上の位置識別器２３２と同様のものである、又は異なったものである。
【００５７】
可動プラットフォーム２０４は、他のプラットフォーム２０６から他のプラットフォーム２０６の位置情報２４４を受け取るように構成される。例えば、可動プラットフォーム２０４は通信システム２４８を備える。通信システム２４８は、他のプラットフォーム２０６から位置情報２４４を受け取るように構成されたすべての通信システムを含む。通信システム２４８は、無線通信システム２５０であってもよい。例えば、通信システム２４８は、任意の適切な通信プロトコルを使用して、可動プラットフォーム２０４の光通信リンク、無線周波数通信リンク、又は他の無線通信リンク、又は通信リンクの組み合わせを可能とするように構成される。通信システム２４８が受け取った他のプラットフォーム２０６の位置情報２４４は、通信システム２４８から位置識別器２３２に送られ、位置識別器２３２によって可動プラットフォーム２０４の識別位置２３６を判定するのに使用される。
【００５８】
位置識別器２３２は、ハードウェアにおいて、又は共に操作されるハードウェア及びソフトウェアにおいて実行される。位置識別器２３２は、十分な速度で識別位置情報２３４を生成する任意のハードウェア、又はハードウェア及びソフトウェアの組み合わせを使用して実行され、可動プラットフォーム２０４の動きを制御して、操作環境２００において要求される作業を行うことが可能になる。
【００５９】
可動プラットフォーム２０４の識別位置情報２３４は、直接又は間接的にプラットフォームコントローラ２５２に送られる。プラットフォームコントローラ２５２は、可動プラットフォーム２０４の識別位置情報２３４を使用して、操作環境２００において可動プラットフォーム２０４の動きを制御して、要求される作業又は任務を行うように構成される。プラットフォームコントローラ２５２は、自動コントローラ、人間のオペレータ、又は人間のオペレータと機械との組み合わせを備える。いずれの場合でも、可動プラットフォーム２０４の動きを制御して、作業又は任務を良好に行うために、可動プラットフォーム２０４の識別位置情報２３４が精確に信頼性高く判定されることが望ましい。
【００６０】
プラットフォームコントローラ２５２は、すべて可動プラットフォーム２０４上で実行される。あるいは、プラットフォームコントローラ２５２は、全体的に又は部分的に可動プラットフォーム２０４上ではない所在場所で実行される。後者の場合には、プラットフォームコントローラ２５２は、可動プラットフォーム２０４上ではない所在場所から、可動プラットフォーム２０４と無線通信して、可動プラットフォーム２０４の動きを制御する。例えば、この場合、可動プラットフォーム２０４の識別位置情報２３４は、可動プラットフォーム２０４上の通信システム２４８を介して、可動プラットフォーム２０４からプラットフォームコントローラ２５２へ送られる。プラットフォームコントローラ２５２は、識別位置情報２３４を使用して、可動プラットフォーム２０４の動きを制御するように構成される。例えば、非限定的に、プラットフォームコントローラ２５２は、可動プラットフォーム２０４上の通信システム２４８を介して、プラットフォームコントローラ２５２から可動プラットフォーム２０４へ送られた制御信号を使用して可動プラットフォーム２０４を制御するように構成される。
【００６１】
プラットフォームコントローラ２５２は、位置情報ディスプレイ２５４に、可動プラットフォーム２０４の識別位置情報２３４を表示するように構成される。プラットフォームコントローラ２５２は、可動プラットフォーム２０４の識別位置情報２３４を使用して、可動プラットフォーム２０４の動きを制御して作業を行うためにプラットフォーム制御の判断２５６を行うことができる。
【００６２】
プラットフォームコントローラ２５２は、可動プラットフォーム２０４以外の、操作環境２００の任意の数のプラットフォーム２０２を制御するように構成される。例えば、非限定的に、プラットフォームコントローラ２５２は、調和した方法又は他の方法で、可動プラットフォーム２０４と、操作環境２００の他のプラットフォーム２０６又は任意の数のプラットフォーム２０２の他の様々な組み合わせを制御するよう構成される。
【００６３】
ここで、図３を参照すると、例示の一実施形態に係る位置識別器のブロック図が示されている。この実施例では、位置識別器３００は、図２の位置識別器２３２の一実装態様の一例である。
【００６４】
位置識別器３００は、任意の数の位置識別器３０２を含む。任意の数の位置識別器３０２は様々な異なる方法を用いて、可動プラットフォーム上のカメラシステムから取得した画像３０４、他のプラットフォーム３０６からの位置情報、その他の情報又は様々な情報の組み合わせから、可動プラットフォームの位置情報を識別する。
【００６５】
例えば、非限定的に、任意の数の位置識別器３０２は、一連の画像３０８のフィーチャの位置のシフトを使用して第１位置情報３１０を生成する位置識別器を備える。この種の位置識別器は例えば、２０１１年８月９日出願の画像ベースの位置測定と題された米国特許出願第１３／２０６４５６号明細書に記載されている。
【００６６】
任意の数の位置識別器３０２は、他のプラットフォームの画像と、他のプラットフォーム３１２の位置情報を使用して、第２位置情報３１４を生成する位置識別器を含む。この種の位置識別器は、図２の位置識別器２３２を参照して、上記に記載されている。
【００６７】
任意の位置識別器３０２は、基準マーカー３１６の画像を使用して第３位置情報３１８を生成する位置識別器を含む。任意の数の位置識別器３０２は、他の情報３２０を使用して第４位置情報３２２を識別する位置識別器を含む。
【００６８】
第１位置情報３１０、第２位置情報３１４、第３位置情報３１８、及び第４位置情報３２２を、位置情報結合器３２４によって結合させて、識別位置情報３２６が生成される。例えば、位置情報結合器３２４は、統計的結合３２８、幾何学的結合３３０、ベイズ的結合３３２、他の結合３３４、または複数の結合を使用して、位置情報を結合させる。
【００６９】
識別位置情報３２６は、識別位置３３６及び識別位置の精度３３８を含む。識別位置情報は、位置情報ディスプレイ３４０上に表示され、プラットフォーム制御の判断３２４を行う際に使用される。
【００７０】
図２に示す操作環境２００と、図３に示す位置識別器３００は、物理的又はアーキテクチャ的な限定を暗示するものではなく、種々の実施形態を実施可能である。図示された構成要素に加えて、代えて、又は加え及び代えて他の構成要素を使用することができる。一部の例示的実施形態では、いくつかの構成要素は不要である。また、ブロックは、幾つかの機能的な構成要素を示すために提示されている。種々の例示的実施形態において実施されるとき、これらのブロックの一又は複数は、異なるブロックに結合又は分割することができる。
【００７１】
ここで図４を参照する。図４は一実施形態による位置情報ディスプレイを示す図である。この例において、位置情報ディスプレイ４００は、図２の位置情報ディスプレイ２５４、または図３の位置情報ディスプレイ３４０の一実装態様の一例である。
【００７２】
この例において、識別位置情報４０２と、識別位置の精度の情報４０４は、任意の数のロボットと、ロボット上の任意の数の作業構成要素について表示される。この例において、ロボットは位置情報ディスプレイ４００の列４０６において識別されており、ロボット上の作業構成要素は、位置情報ディスプレイ４００の列４０８において識別されている。
【００７３】
ここで図５を参照する。図５は、例示的な一実施形態によるプラットフォームの位置を識別するプロセスのフロー図である。例えば、このプロセスは図２の位置識別器２３２、または図３の位置識別器３００において実行される。
【００７４】
このプロセスは、別のプラットフォームの画像を取得（工程５０２）し、他のプラットフォームの位置情報を受け取る（工程５０４）ことによって開始される。次に、他のプラットフォームの画像と、他のプラットフォームの位置情報からこのプラットフォームの位置と、位置の精度が識別され（工程５０６）、その後このプロセスは終了する。
【００７５】
次に図６を参照すると、例示的な実施形態によるプラットフォームの位置を識別し、プラットフォームを制御するプロセスのフロー図が描かれている。例えば、このプロセスは、図２の位置識別器２３２とプラットフォームコントローラ２５２において実行される。
【００７６】
このプロセスは、様々な種類の情報及びアルゴリズムを使用して、プラットフォームの位置と位置の精度を識別することによって、開始される。例えば、位置と位置の精度は、一連の画像のフィーチャの位置のシフトから識別される（工程６０２）。この位置と位置の精度は、別のプラットフォームの画像と、別のプラットフォームの位置情報を使用して識別される（工程６０４）。位置及び位置の精度は、基準マーカーの画像を使用して識別される（工程６０６）。位置と位置の精度は、他の情報を使用して識別される（工程６０８）。
【００７７】
工程６０２、６０４、６０６、及び６０８からの位置及び位置の精度の情報を結合させて、プラットフォームの位置と位置の精度が識別される（工程６１０）。識別位置と位置の精度が表示される（工程６１２）。次に、識別位置の精度は作業を行うのに十分なものか否かが判定される。識別位置の精度が十分でないと、作業は行われず、その後プロセスは終了する。識別位置の精度が十分である場合、プラットフォームを制御して作業が行われ（工程６１６）、その後プロセスは終了する。
【００７８】
次に図７を注目する。図７は、一実施形態によるデータ処理システムを示す図である。この例では、データ処理システム７００は、図２の位置識別器２３２、または図３の位置識別器３００の機能を実行するのに使用されるシステムの一例である。この実施例では、データ処理システム７００は、通信構造７０２を含む。通信構造７０２は、プロセッサユニット７０４、メモリ７０６、固定記憶域７０８、通信ユニット７１０、入出力ユニット７１２、及びディスプレイ７１４の間の通信を可能にする。
【００７９】
プロセッサユニット７０４は、メモリ７０６に読み込まれうるソフトウェアに対する命令を実行するように働く。プロセッサユニット７０４は、特定の実行形態に応じて、任意の数のプロセッサ、マルチプロセッサコア、又は他の形式のプロセッサであってもよい。さらに、プロセッサユニット７０４は、単一チップ上でメインプロセッサが二次プロセッサと共存する異種プロセッサシステムを任意の個数だけ使用して実装することもできる。別の例示された実施例では、プロセッサユニット７０４は同一形式の複数のプロセッサを含む対称型マルチプロセッサシステムであってもよい。
【００８０】
メモリ７０６及び固定記憶域７０８は、記憶デバイス７１６の例である。記憶デバイスは、例えば、限定しないが、データ、機能的な形態のプログラムコードなどの情報、他の適切な情報、又は情報の組合せを、一時的に、永続的に、又はその双方の形で保存することができる任意のハードウェア部分である。記憶デバイス７１６は、これらの実施例ではコンピュータで読取可能な記憶デバイスと呼ばれることもある。これらの実施例では、メモリ７０６は例えば、ランダムアクセスメモリ又は他の何らかの適切な揮発性又は不揮発性の記憶デバイスであってもよい。固定記憶域７０８は具体的な実装に応じて様々な形態をとりうる。
【００８１】
例えば、固定記憶域７０８は、一又は複数の構成要素又はデバイスを含みうる。例えば、固定記憶域７０８は、ハードドライブ、フラッシュメモリ、書換え型光ディスク、書換え可能磁気テープ、又はそれらの何らかの組み合わせである。永続記憶域７０８によって使用される媒体はリムーバブルなものであってもよい。例えば、着脱式ハードドライブは固定記憶域７０８に使用することができる。
【００８２】
通信ユニット７１０はこれらの例では、他のデータ処理システム又はデバイスとの通信を行う。このような実施例では、通信ユニット７１０はネットワークインターフェースカードである。通信ユニット７１０は、物理的及び無線の通信リンクのいずれか一方又は両方を使用することによって、通信を提供することができる。
【００８３】
入出力ユニット７１２は、データ処理システム７００に接続される他のデバイスとのデータの入出力を可能にする。例えば、入出力ユニット７１２は、キーボード、マウス、他の幾つかの適切な入力デバイス、又はデバイスの組合せを介してユーザ入力への接続を提供することができる。さらに、入出力ユニット７１２は出力をプリンタに送ることができる。ディスプレイ７１４はユーザに情報を表示するメカニズムを提供する。
【００８４】
オペレーションシステム、アプリケーション、又はプログラムについての命令は記憶デバイス７１６に配置されており、通信構造７０２を介してプロセッサユニット７０４と通信している。これらの実施例では、命令は、固定記憶域７０８の機能形態である。これらの命令は、プロセッサユニット７０４によって実行するため、メモリ７０６に読み込まれうる。種々の実施形態のプロセスは、メモリ７０６などのメモリに配置されうる命令を実装したコンピュータを使用して、プロセッサユニット７０４によって実施することができる。
【００８５】
これらの命令は、プログラム命令、プログラムコード、コンピュータで使用可能なプログラムコード、又はコンピュータ可読プログラムコードと呼ばれ、プロセッサユニット７０４内のプロセッサによって読み込まれて実行される。様々な実施形態のプログラムコードは、メモリ７０６または永続記憶域７０８等、様々な物理的なまたはコンピュータ可読記憶媒体上に具現化し得る。
【００８６】
プログラムコード７１８は、選択的に着脱可能でコンピュータ可読記憶媒体７２０上に機能的な形態で配置され、プロセッサユニット７０４での実行用のデータ処理システム７００に読込み又は転送することができる。プログラムコード７１８及びコンピュータ可読媒体７２０は、これらの実施例ではコンピュータプログラム製品７２２を形成する。１つの実施例では、コンピュータ可読記憶媒体７２０は、コンピュータ可読記憶媒体７２４又はコンピュータ可読信号媒体７２６であってもよい。コンピュータ可読記憶媒体７２４は、例えば、固定記憶域７０８のパーツであるハードディスクなどのように、記憶デバイス上に転送するための固定記憶域７０８のパーツであるドライブ又は他のデバイスに挿入又は配置される光ディスク又は磁気ディスクなどを含みうる。
【００８７】
また、コンピュータ可読記憶媒体７２４は、データ処理システム７００に接続されているハードドライブ、サムドライブ、又はフラッシュメモリなどの固定記憶域の形態をとることができる。場合によっては、コンピュータ可読記憶媒体７２４には、データ処理システム７００から取り外しができないものでもよい。これらの実施例では、コンピュータ可読記憶媒体７２４は、プログラムコード７１８を伝搬又は転送する媒体よりはむしろプログラムコード７１８を保存するために使用される物理的な又は有形の記憶デバイスである。コンピュータ可読記憶媒体７２４は、コンピュータで読取可能な有形の記憶デバイス又はコンピュータで読取可能な物理的な記憶デバイスと呼ばれることもある。すなわち、コンピュータ可読記憶媒体７２４は、人が触れることのできる媒体である。
【００８８】
代替的に、プログラムコード７１８はコンピュータ可読信号媒体７２６を用いてデータ処理システム７００に転送可能である。コンピュータ可読信号媒体７２６は、例えば、プログラムコード７１８を含む伝播データ信号である。例えば、コンピュータ可読信号媒体７２６は、電磁信号、光信号、他の適切な形式の信号、又は信号の組合せであってもよい。これらの信号は、無線通信リンク、光ファイバケーブル、同軸ケーブル、有線などの通信リンク、他の適切な形式の通信リンク、又はこれらのリンクの組合せなどの通信リンクによって転送可能である。すなわち、これらの実施例では、通信リンク又は接続は物理的なものでもよく、無線でもよい。
【００８９】
幾つかの例示的な実施形態では、プログラムコード７１８は、コンピュータ可読信号媒体７２６により、ネットワークを介して別のデバイス又はデータ処理システムから固定記憶域７０８にダウンロードされて、データ処理システム７００内で使用される。例えば、サーバーデータ処理システムのコンピュータ可読記憶媒体に保存されたプログラムコードは、ネットワークを介してサーバーからデータ処理システム７００にダウンロードすることができる。プログラムコード７１８を提供するデータ処理システムは、サーバコンピュータ、クライアントコンピュータ、又はプログラムコード７１８を記憶及び転送可能な別の装置とすることができる。
【００９０】
データ処理システム７００に例示されている種々の構成要素は、種々の実施形態が実装されうる方法に対して構造的な制限を加えることを意図したものではない。異なる例示的実施形態は、データ処理システム７００に対して図解されている構成要素に対して、追加的又は代替的な構成要素を含むデータ処理システム内に実装しうる。図７に示した他の構成要素は、例示的な実施例と異なることがある。種々の実施形態は、プログラムコードを実行できる任意のハードウェアデバイス又はシステムを用いて実施することができる。一つの例として、データ処理システム７００は、無機構成要素と統合された有機構成要素を含むことができる、又は人間を除く有機構成要素全体からなるとしてもよい。例えば、記憶デバイスは、有機半導体で構成することができる。
【００９１】
別の例示的な実施例では、プロセッサユニット７０４は、特定の用途のために製造又は構成された回路を有するハードウェアユニットの形態をとってもよい。この種のハードウェアは、工程を実行するように構成された記憶デバイスからメモリにプログラムコードを読み込む必要なく、工程を実施することができる。
【００９２】
例えば、プロセッサユニット７０４がハードウェアユニットの形態をとる場合、プロセッサユニット７０４は回路システム、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理デバイス、又は任意の数の工程を実施するために構成された他の適切な形式のハードウェアであってもよい。プログラマブル論理デバイスにより、デバイスは任意の数の工程を実施するように構成されている。デバイスは、後で再構成することができるか、又は任意の数の工程を実行するように恒久的に構成することができる。プログラマブル論理デバイスの例としては、たとえば、プログラマブル論理アレイ、プログラマブルアレイ論理、フィールドプログラマブル論理アレイ、フィールドプログラマブルゲートアレイ、および他の適切なハードウェアデバイスが挙げられる。この種の実施により、種々の実施形態のプロセスはハードウェアユニットで実施されるので、プログラムコード７１８は省略することができる。
【００９３】
さらに別の例示的な実施例では、プロセッサユニット７０４は、コンピュータ及びハードウェアユニットの中に見られるプロセッサの組み合わせを使用して実装可能である。プロセッサユニット７０４は、プログラムコード７１８を実行するように構成されている任意の数のハードウェアユニット及び任意の数のプロセッサを有していてもよい。ここに描かれている実施例では、プロセスの一部は任意の数のハードウェアユニットで実行することが可能であるが、一方、他のプロセスは任意の数のプロセッサで実行可能である。
【００９４】
別の実施例では、バスシステムは、通信構造７０２を実施するために使用することができ、且つ、システムバス又は入出力バスといった一以上のバスを含むことができる。言うまでもなく、バスシステムは、バスシステムに取り付けられた種々の構成要素又はデバイスの間のデータ伝送を行う任意の適する種類のアーキテクチャを使用して実施できる。
【００９５】
加えて、通信ユニット７１０は、データの送信、データの受信、又はデータの送受信を行う任意の数のデバイスを含むことができる。通信ユニット７１０は、例えば、モデム又はネットワークアダプタ、２個のネットワークアダプタ、又はこれらの何らかの組み合わせであってもよい。さらに、メモリは例えば、通信構造７０２に備わっている場合があるインターフェース及びメモリコントローラハブにみられるような、メモリ７０６又はキャッシュであってもよい。
【００９６】
図示した異なる実施形態でのフロー図及びブロック図は、実例となる実施形態で実装可能な装置及び方法の構造、機能、及び作業を示している。その際、フロー図又はブロック図の各ブロックは、工程又はステップのモジュール、セグメント、機能又は部分を表わすことができる。例えば、ブロックの一又は複数は、プログラムコードとして、ハードウェア内で、又はプログラムコードとハードウェアの組合せとして実施可能である。ハードウェアにおいて実施されるとき、ハードウェアは、例えば、フロー図又はブロック図の一又は複数の工程を実施するように製造又は構成された集積回路の形態をとることができる。
【００９７】
例示的な一実施形態の幾つかの代替的な実装態様では、ブロックに記載された１つ又は複数の機能は、図中に記載の順序を逸脱して現れることがある。たとえば、場合によっては、連続して示されている二つのブロックが略同時に実行でき、あるいはそれらのブロックは関係する機能によっては、時として逆順に実行されることがあり得る。また、フロー図又はブロック図に示されているブロックに加えて他のブロックが追加されてもよい。
【００９８】
上述した種々の例示的な実施形態の説明は、例示及び説明を目的とするものであり、完全な説明であること、又はこれらの実施形態を開示された形態に限定することを意図していない。当業者には、多数の修正例及び変形例が明らかであろう。さらに、種々の例示的な実施形態は、他の例示的な実施形態とは異なる利点を提供することができる。選択された一又は複数の実施形態は、実施形態の原理、実際の用途を最もよく説明するため、及び他の当業者に対し、様々な実施形態の開示内容と、考慮される特定の用途に適した様々な修正との理解を促すために選択及び記述されている。
【００９９】
一又は複数の実施形態により、現在のシステムよりもさらに効率的に実行でき、より精確に、またより高い信頼性で航空機の位置を識別することができる航空機の位置を識別するシステム及び方法が提供される。一実施形態によれば、航空機の位置は、航空機上のカメラシステムによって生成される一連の画像に基づいて判定される。一連の画像には、航空機が移動している環境のフィーチャが含まれる。これらのフィーチャは、一連の画像の中で識別される。カメラシステムの視点のシフトは、一連の画像のフィーチャの位置のシフトから識別される。航空機の位置の変化は、カメラシステムの視点のシフトから識別される。航空機の現在の位置は、航空機の位置の変化及び航空機の始動位置に基づいて識別される。
【符号の説明】
【０１００】
１００    操作環境
１０１    ロボット
１０２    ロボット
１０４    ロボット
１０６    ロボット
１０８    ロボット
１１０    無人飛行体
１１２    無人飛行体
１１４    物体
１１６    物体
１１８    基準マーカー
１２０    カメラシステムの視線
１２２    カメラシステムの視線
１２３    カメラシステム
１２４    通信リンク
１２６    通信リンク
１２８    通信リンク
４００    位置情報ディスプレイ
【図１】
2014078232.tif 000003
【図２】
2014078232.tif 000004
【図３】
2014078232.tif 000005
【図４】
2014078232.tif 000006
【図５】
2014078232.tif 000007
【図６】
2014078232.tif 000008
【図７】
2014078232.tif 000009
【外国語明細書】
2014078232000001.pdf
2014078232000002.pdf
2014078232000003.pdf
2014078232000004.pdf