(57)【要約】【課題】プラットフォームの位置を識別するための方法および装置を提供する。【解決手段】プラットフォームが動いている間、プラットフォームに関連するカメラシステムによって生成された一連の画像内の特徴が識別される。カメラシステムのパースペクティブの移動が、一連の画像内の特徴の位置の移動から識別される。プラットフォームの位置の変化が、パースペクティブの移動に基づいて識別される。【選択図】図１
2018116065.tif 000002
【特許請求の範囲】
【請求項１】
プラットフォームの位置を識別するための方法であって、
プラットフォームが動いている間、プラットフォームに関連するカメラシステムによって生成された一連の画像内の特徴を識別するステップと、
一連の画像内の特徴の位置の移動からカメラシステムのパースペクティブの移動を識別するステップと、
パースペクティブの移動に基づいてプラットフォームの位置の変化を識別するステップと
を含む方法。
【請求項２】
プラットフォームの位置の変化に基づいてプラットフォームの現在位置を識別するステップをさらに含む、請求項１に記載の方法。
【請求項３】
プラットフォームの現在位置を識別するステップが、プラットフォームの位置の変化およびプラットフォームの開始位置に基づいてプラットフォームの現在位置を識別するステップを含む、請求項２に記載の方法。
【請求項４】
プラットフォームの現在位置に基づいてプラットフォームの動きを制御するステップをさらに含む、請求項２に記載の方法。
【請求項５】
プラットフォームの位置が、３次元座標系内のプラットフォームのロケーションと、３次元座標系内のプラットフォームの方向とを含む、請求項１に記載の方法。
【請求項６】
特徴を識別するステップが、カメラシステムの視野で環境内の特徴に対応する一連の画像のいくつかのピクセルを識別するステップを含む、請求項１に記載の方法。
【請求項７】
一連の画像内の特徴を識別するステップが、
カメラシステムから一連の画像のうちの現在の画像を受け取るステップと、
カメラシステムの画像フレーム内の複数の第１のロケーションを識別するステップであって、複数の第１のロケーションのそれぞれが、一連の画像のうちの現在の画像内の特徴のうちの１つに対応する、ステップと、
画像フレーム内の複数の第２のロケーションを識別するステップであって、複数の第２のロケーションのそれぞれが、一連の画像のうちの前の画像内の特徴のうちの１つに対応するステップと
を含む、請求項１に記載の方法。
【請求項８】
カメラシステムのパースペクティブの移動を識別するステップが、
第１のロケーションのうちの選択されたロケーションを選択するステップと、
第１のロケーションのうちの選択されたロケーションと同じ特徴に対応する第２のロケーションの選択されたロケーションを識別するステップと、
画像フレーム内の第１のロケーションのうちの選択されたロケーションと、画像フレーム内の第２のロケーションのうちの選択されたロケーションとの間の差からカメラシステムのパースペクティブの移動を識別するステップと
を含む、請求項７に記載の方法。
【請求項９】
プラットフォームがロボットマニピュレータであり、カメラシステムがロボットマニピュレータに取り付けられる、請求項１に記載の方法。
【請求項１０】
一連の画像を生成するように構成されたカメラシステムと、  カメラシステムが動いている間、カメラシステムによって生成された一連の画像内の特徴を識別するステップと、一連の画像内の特徴の位置の移動からカメラシステムのパースペクティブの移動を識別するステップと、パースペクティブの移動に基づいてカメラシステムの位置の変化を識別するステップとを行うように構成された位置計算器と
を備える装置。
【請求項１１】
位置計算器が、カメラシステムの位置の変化に基づいてカメラシステムの現在位置を識別するステップを行うようにさらに構成される、請求項１０に記載の装置。
【請求項１２】
位置計算器が、カメラシステムの位置の変化およびカメラシステムの開始位置に基づいてカメラシステムの現在位置を識別するステップを行うように構成される、請求項１１に記載の装置。
【請求項１３】
カメラシステムの位置が、３次元座標系内のカメラシステムのロケーションと、３次元座標系内のカメラシステムの方向とを備える、請求項１０に記載の装置。
【請求項１４】
位置計算器が、カメラシステムの視野で環境内の特徴に対応する一連の画像内のピクセル群を識別するステップを行うように構成される、請求項１０に記載の装置。
【請求項１５】
位置計算器が、
カメラシステムから一連の画像のうちの現在の画像を受け取るステップと、
カメラシステムの画像フレーム内の複数の第１のロケーションを識別するステップであって、複数の第１のロケーションのそれぞれが一連の画像のうちの現在の画像内の特徴のうちの１つに対応する、ステップと、
画像フレーム内の複数の第２のロケーションを識別するステップであって、複数の第２のロケーションのそれぞれが一連の画像のうちの前の画像内の特徴のうちの１つに対応する、ステップとを行うように構成される、請求項１０に記載の装置。
【請求項１６】
位置計算器が、
第１のロケーションのうちの選択されたロケーションを選択するステップと、
第１のロケーションのうちの選択されたロケーションと同じ特徴に対応する第２のロケーションのうちの選択されたロケーションを識別するステップと、
画像フレーム内の第１のロケーションと画像フレーム内の第２のロケーションとの間の差からカメラシステムのパースペクティブの移動を識別するステップとを行うように構成される、請求項１５に記載の装置。
【請求項１７】
筺体であって、カメラシステムおよび位置計算器が筺体内に含まれている、筺体と、
筺体をプラットフォームに取り付けるように構成されたマウント構造物と
をさらに備える、請求項１０に記載の装置。
【請求項１８】
マウント構造物が、航空機およびロボットマニピュレータから選択されたプラットフォームに筺体を取り付けるように構成される、請求項１７に記載の装置。
【請求項１９】
カメラシステムが、少なくともおよそ１００フレーム／秒のフレームレートを有するカメラを備える、請求項１０に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般には、物体のロケーションおよび方向を識別することに関し、詳細には、動いている物体の位置を識別することに関する。より詳細には、本開示は、物体によって生成された画像を使用して、動いている物体の位置を識別するための方法および装置に関する。
【背景技術】
【０００２】
任意の時点の航空機の位置は、３次元空間の航空機のロケーション、航空機の方向、またはロケーションと方向の両方に関して定義することができる。たとえば、航空機のロケーションは、地理座標および航空機の高度によって定義してよい。航空機の方向は、地平線など、所与の線または面に対する飛行機の角度に関して定義してよい。航空機の方向は、姿勢と呼ばれることがある。航空機の姿勢は、ロール、ピッチおよびヨーと呼ばれる３つの自由度に関して表すことができる。
【０００３】
航空機の現在位置を決定するために、様々な複雑なシステムが航空機によって使用される。たとえば、航空機の現在のロケーションは、全地球測位システム（ＧＰＳ：ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）を使用して決定することができる。この場合、航空機の全地球測位システムハードウェアは、いくつかの衛星から信号を受信する受信機を含む。航空機の追加のハードウェアおよびソフトウェアは、受信された衛星信号から、航空機の現在のロケーションを決定する。
【０００４】
あるいは、地上のいくつかの知られているロケーションから受信された無線信号から航空機の現在のロケーションを決定するために、航空機の無線航行システムを使用することができる。様々なハードウェア、またはハードウェアおよびソフトウェアシステムを使用して、航空機の方向を決定することもできる。たとえば、電気機械ジャイロスコープシステムを使用して、任意の時点の航空機の姿勢を決定することができる。
【０００５】
任務を果たすように航空機を有効に制御するには、航空機の現在位置を正確に知ることが望ましい。しかし、航空機の位置を決定するための現在のシステムおよび方法は、航空機の効率的な動作に影響を及ぼすことがある。さらに、航空機の位置を決定するための現在のシステムおよび方法は、様々な状況で望まれるほど正確には航空機の現在位置を識別しないことがある。たとえば、全地球測位システム（ＧＰＳ）および無線航行システムは、動作環境において信号が使用不可能であり、または特徴によってブロックされる場合、位置を決定できないことがある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、上記に論じられた問題、ならびに恐らく他の問題のうちの１つまたは複数を考慮に入れる方法および装置を有することが有利であろう。
【課題を解決するための手段】
【０００７】
本開示の有利な一実施形態は、プラットフォームの位置を識別するための方法を提供する。プラットフォームが動いている間、プラットフォームに関連するカメラシステムによって生成された一連の画像内の特徴が識別される。カメラシステムのパースペクティブの移動は、一連の画像内の特徴の位置の移動から識別される。プラットフォームの位置の変化は、パースペクティブの移動に基づいて識別される。
【０００８】
有利には、プラットフォームの現在位置を識別するステップは、プラットフォームの位置の変化に基づく。好ましくは、プラットフォームの現在位置を識別するステップは、プラットフォームの位置の変化およびプラットフォームの開始位置に基づいてプラットフォームの現在位置を識別するステップを備える。さらに好ましくは、プラットフォームの動きを制御するステップは、プラットフォームの現在位置に基づく。さらに好ましくは、プラットフォームの位置は、３次元座標系内のプラットフォームのロケーションと、３次元座標系内のプラットフォームの方向とを備える。さらに好ましくは、特徴を識別するステップは、カメラシステムの視野で環境内の特徴に対応する一連の画像内のいくつかのピクセルを識別するステップを備える。さらに好ましくは、一連の画像内の特徴を識別するステップは、カメラシステムから一連の画像のうちの現在の画像を受け取るステップと、カメラシステムの画像フレーム内の複数の第１のロケーションを識別するステップであって、複数の第１のロケーションのそれぞれが、一連の画像のうちの現在の画像内の特徴のうちの１つに対応する、ステップと、画像フレーム内の複数の第２のロケーションを識別するステップであって、複数の第２のロケーションのそれぞれが、一連の画像のうちの前の画像内の特徴のうちの１つに対応する、ステップとを含む。さらに好ましくは、カメラシステムのパースペクティブの移動を識別するステップが、第１のロケーションのうちの選択されたロケーションを選択するステップと、第１のロケーションのうちの選択されたロケーションと同じ特徴に対応する第２のロケーションのうちの選択されたロケーションを識別するステップと、画像フレーム内の第１のロケーションの選択されたロケーションと、画像フレーム内の第２のロケーションのうちの選択されたロケーションとの間の差からカメラシステムのパースペクティブの移動を識別するステップとを含む。さらに好ましくは、プラットフォームはロボットマニピュレータであり、カメラシステムは、ロボットマニピュレータに取り付けられる。
【０００９】
本開示の別の有利な実施形態は、航空機の位置を識別するための方法を提供する。航空機が動いている間、航空機に関連するカメラシステムによって生成された一連の画像内の特徴が識別される。カメラシステムのパースペクティブの移動は、一連の画像内の特徴の位置の移動から識別される。航空機の位置の変化は、パースペクティブの移動に基づいて識別される。
【００１０】
有利には、航空機の現在位置を識別するステップは、航空機の位置の変化に基づく。好ましくは、航空機の現在位置を識別するステップは、航空機の位置の変化および航空機の開始位置に基づいて航空機の現在位置を識別するステップを備える。さらに好ましくは、航空機の動きを制御するステップは、航空機の現在位置に基づく。さらに、好ましくは、航空機の位置は、航空機のロケーションと航空機の姿勢とを備える。さらに、好ましくは、航空機のロケーションは、航空機の地理座標と高度とを備える。さらに好ましくは、特徴を識別するステップは、カメラシステムの視野で環境内の特徴に対応する一連の画像内のピクセル群を識別するステップを備える。さらに好ましくは、環境は、航空機が動いている開放環境、および航空機が動いている閉鎖環境のうちの１つから選択される。さらに好ましくは、一連の画像内の特徴を識別するステップは、カメラシステムから一連の画像のうちの現在の画像を受け取るステップと、カメラシステムの画像フレーム内の複数の第１のロケーションを識別するステップであって、複数の第１のロケーションのそれぞれが、一連の画像のうちの現在の画像内の特徴のうちの１つに対応する、ステップと、画像フレーム内の複数の第２のロケーションを識別するステップであって、複数の第２のロケーションのそれぞれが、一連の画像のうちの前の画像内の特徴のうちの１つに対応する、ステップとを含む。さらに好ましくは、カメラシステムのパースペクティブの移動を識別するステップは、第１のロケーションのうちの選択されたロケーションを選択するステップと、第１のロケーションのうちの選択されたロケーションと同じ特徴に対応する第２のロケーションのうちの選択されたロケーションを識別するステップと、画像フレーム内の第１のロケーションと画像フレーム内の第２のロケーションとの間の差からカメラシステムのパースペクティブの移動を識別するステップとを含む。
【００１１】
本開示の別の有利な実施形態は、カメラシステムと位置計算器とを含む装置を提供する。カメラシステムは、一連の画像を生成するように構成される。位置計算器は、カメラシステムが動いている間、カメラシステムによって生成された一連の画像内の特徴を識別するステップと、一連の画像内の特徴の位置の移動からカメラシステムのパースペクティブの移動を識別するステップと、パースペクティブの移動に基づいてカメラシステムの位置の変化を識別するステップとを行うように構成される。
【００１２】
有利には、位置計算器は、カメラシステムの位置の変化に基づいてカメラシステムの現在位置を識別するステップを行うようにさらに構成される。好ましくは、位置計算器は、カメラシステムの位置の変化およびカメラシステムの開始位置に基づいてカメラシステムの現在位置を識別するステップを行うように構成される。さらに好ましくは、カメラシステムの位置は、３次元座標系内のカメラシステムのロケーションと、３次元座標系内のカメラシステムの方向とを備える。さらに好ましくは、位置計算器は、カメラシステムの視野で環境内の特徴に対応する一連の画像内のピクセル群を識別するステップを行うように構成される。さらに好ましくは、位置計算器は、カメラシステムから一連の画像のうちの現在の画像を受け取るステップと、カメラシステムの画像フレーム内の複数の第１のロケーションを識別するステップであって、複数の第１のロケーションのそれぞれが、一連の画像のうちの現在の画像内の特徴のうちの１つに対応する、ステップと、画像フレーム内の複数の第２の位置を識別するステップであって、複数の第２のロケーションのそれぞれが、一連の画像のうちの前の画像内の特徴のうちの１つに対応する、ステップとを行うように構成される。さらに好ましくは、位置計算器は、第１のロケーションのうちの選択されたロケーションを選択するステップと、第１のロケーションのうちの選択されたロケーションと同じ特徴に対応する第２のロケーションのうちの選択されたロケーションを識別するステップと、画像フレーム内の第１のロケーションと画像フレーム内の第２のロケーションとの間の差からカメラシステムのパースペクティブの移動を識別するステップとを行うように構成される。さらに好ましくは、装置は、筺体であって、カメラシステムおよび位置計算器が筺体内に含まれる、筺体と、筺体をプラットフォームに取り付けるように構成されるマウント構造物とをさらに含む。さらに好ましくは、マウント構造物は、航空機およびロボットマニピュレータから選択されたプラットフォームに筺体を取り付けるように構成される。さらに好ましくは、カメラシステムは、少なくともおよそ１００フレーム／秒のフレームレートを有するカメラを備える。
【００１３】
特徴、機能および利点は、本開示の様々な実施形態で独立に達成することができ、または下記の説明および図面を参照してさらなる詳細が見られ得る他の実施形態に組み合わせてもよい。
【００１４】
有利な実施形態の特徴を示すと思われる新規な特徴は、添付の特許請求の範囲に示されている。しかし、有利な実施形態、ならびに好ましい使用様式、さらなる目的およびその利点は、添付の図面と併せ読めば、本開示の有利な実施形態についての下記の詳細な説明を参照して最もよく理解されよう。
【図面の簡単な説明】
【００１５】
【図１】有利な一実施形態による、位置識別環境のブロック図である。
【図２】有利な一実施形態による、位置計算器のブロック図である。
【図３】有利な一実施形態による、開放環境内で動作する航空機の図である。
【図４】有利な一実施形態による、閉鎖環境内で動作する航空機の図である。
【図５】有利な一実施形態による、ロボットマニピュレータの図である。
【図６】有利な一実施形態による、位置識別子の図である。
【図７】有利な一実施形態による、航空機のカメラシステムによって第１の位置で取得された画像の図である。
【図８】有利な一実施形態による、航空機のカメラシステムによって第２の位置で取得された画像の図である。
【図９】有利な一実施形態による、プラットフォームの位置を識別するためのプロセスのフローチャートである。
【図１０】有利な一実施形態による、カメラシステムのパースペクティブの移動を識別するためのプロセスのフローチャートである。
【図１１】有利な一実施形態による、データ処理システムの図である。
【発明を実施するための形態】
【００１６】
それぞれ異なる有利な実施形態は、いくつかの異なる考察を認識し、考慮に入れる。「数」は、本明細書では、アイテムに言及して、１つまたは複数のアイテムを意味する。たとえば、「いくつかの異なる考察」は、１つまたは複数の異なる考察である。
【００１７】
それぞれ異なる有利な実施形態は、航空機の現在位置を決定するための現在のシステムおよび方法が、航空機の重量を著しく増加させ得るハードウェアを使用することを認識し、考慮に入れる。この追加の重量は、航空機の動作の効率および効果を低減させることがある。たとえば、航空機の重量が増加すると、燃料消費量率が上昇し、任務完了のために持ち場につく時間が減少することになる。さらに、航空機の位置を決定するための現在のシステムおよび方法の電力、配線および通信リンク要件は立ち入ったものであり、他の航空機システムの動作または設計に不所望のやり方で影響を及ぼすことがある。
【００１８】
それぞれ異なる有利な実施形態は、航空機の現在位置を決定するための現在のシステムおよび方法が多くの状況において使用不可能で有り得ることを認識し、考慮に入れる。たとえば、全地球測位システム信号および無線航行システム信号は、一部の領域では拒否されることがある。こうした信号は、航空機が動作している閉鎖領域内に入り込むことができないことも、妨害され、または他の干渉を受けることもある。
【００１９】
有利な実施形態のうちの１つまたは複数は、現在のシステムより効率的に実装することができ、また航空機の位置をより正確に、かつより確実に識別できる航空機の位置を識別するためのシステムおよび方法を提供する。有利な一実施形態によれば、航空機の位置は、航空機のカメラシステムによって生成された一連の画像に基づいて決定される。一連の画像は、航空機が動いている環境内の特徴を含む。これらの特徴は、一連の画像内で識別される。カメラシステムのパースペクティブの移動は、一連の画像内の特徴の位置の移動から識別される。航空機の位置の変化は、カメラシステムのパースペクティブの移動から識別される。航空機の現在位置は、航空機の位置の変化および航空機の開始位置に基づいて識別することができる。
【００２０】
有利な実施形態のうちの１つまたは複数は、任意の動いているプラットフォームの現在位置を正確に決定するためのシステムおよび方法を提供することができる。有利な一実施形態によれば、カメラシステムおよび位置計算器は、位置識別子装置を提供するために筺体内にひとまとめにすることができる。位置識別子は、プラットフォームが動いている間、プラットフォームの位置を識別するために、任意のプラットフォーム上にマウントすることができる。たとえば、位置識別子は、ロボットマニピュレータがタスクを実施するように制御されている間、ロボットマニピュレータの位置を識別するために、ロボットマニピュレータに取り付けることができる。
【００２１】
図１に移ると、有利な一実施形態による、位置識別環境のブロック図が示されている。位置識別環境１００は、可動のプラットフォーム１０２を含む。プラットフォーム１０２は、環境１０４の中を移動する。たとえば、プラットフォーム１０２は、環境１０４内でタスクまたは任務を実施するために、環境１０４の中を移動してよい。別の例として、プラットフォーム１０２は、あるロケーションから別のロケーションに動くとき、環境１０４の中を移動してよい。
【００２２】
例示的な一例では、プラットフォーム１０２は、乗物１０６であってよい。乗物１０６は、たとえば、航空機１０８であってもよいし、他の何らかのタイプの乗物であってもよい。航空機１０８は、たとえば、それだけに限らないが、固定翼機、回転翼航空機、軽航空機、または他の何らかの適切なタイプの航空機であってよい。航空機１０８は、有人であってもよいし、無人であってもよい。航空機１０８は、空中、宇宙または空中と宇宙の両方で動作できる任意の航空宇宙機であってよい。
【００２３】
別の例として、プラットフォーム１０２は、ロボットマニピュレータ１１０であってもよい。たとえば、ロボットマニピュレータ１１０は、それだけに限らないが、製造、組立て、検査、製品のテスト、またはこれらもしくは他の機能の任意の組合せのために使用できる工業用ロボットまたは他のロボットを含んでよい。別の例として、ロボットマニピュレータ１１０は、深海や惑星探査など科学的な目的に、または他の任意の環境内の操作のために使用されるロボットを含んでよい。別の例では、ロボットマニピュレータ１１０は、軍事または犯罪防止アプリケーションに使用されるロボットを含んでよい。
【００２４】
様々なタイプの動いているプラットフォームが、それぞれ異なる環境内で動作してよい。たとえば、航空機１０８は、開放された１１２環境１０４で動作することも、閉鎖された１１４環境１０４で動作することもある。閉鎖された１１４環境１０４には、たとえば、それだけに限らないが、建物または他の人工構造物、洞穴もしくは他の自然発生の構造物、または完全もしくは部分的に閉鎖された他の任意の自然もしくは人工の領域が含まれ得る。
【００２５】
環境１０４は、いくつかの特徴１１６によって特徴付けられる。特徴１１６は、任意の波長で動作するカメラから見え得る特徴を含む。特徴１１６は、人工の物体、自然に発生する物体、構造物、パターンまたは環境１０４内の他の適切なタイプの特徴を含んでよい。環境１０４内の特徴１１６の位置は、知られていることも、知られていないこともある。
【００２６】
全地球測位システム信号および無線航行システム信号は、閉鎖された１１４環境１０４内で確実に使用できるとは限らないことがある。換言すると、これらの信号は、閉鎖された１１４環境１０４内のプラットフォーム１０２によって必ずしも使用できるとは限らないことがある。さらに、全地球測位システムは、雲、衛星の見通しに沿った建物、妨害信号により、または他の理由のために、開放された１１２環境１０４内で使用可能でないことがある。その結果、環境１０４内でこれらのタイプの信号を使用して航空機１０８の位置を所望の精度で決定することは必ずしも可能であるとは限らないことがある。しかし、任意の環境内および様々な条件下で航空機１０８の位置を正確に決定することが望ましい。
【００２７】
いつでもプラットフォーム１０２は、環境１０４内の位置１１８にある。たとえば、プラットフォーム１０２は、環境１０４の中を移動するとき、開始位置１２０から現在位置１２２に動くことができる。開始位置１２０は、プラットフォーム１０２の知られている位置１１８であってよい。開始位置１２０は、本明細書に述べられたシステムおよび方法以外のプラットフォーム１０２の位置１１８を識別するためのシステムおよび方法を使用して決定することができる。
【００２８】
位置１１８は、これらの例示的な例では、プラットフォーム１０２のロケーション１２４、プラットフォーム１０２の方向１２６、またはプラットフォーム１０２のロケーション１２４と方向１２６の両方を含んでよい。ロケーション１２４は、プラットフォーム１０２が位置する３次元空間内の１つまたは複数の点を備える。ロケーション１２４は、任意の３次元座標系を参照して定義することができる。たとえば、航空機１０８のロケーション１２４は、地理座標および航空機の高度によって定義することができる。
【００２９】
方向１２６は、３次元空間内の所与の線または面に対するプラットフォーム１０２の角度である。方向１２６は、ロール、ピッチおよびヨーと呼ばれる３つの自由度に関して表すことができる。これらの例示的な例では、環境１０４内の航空機１０８の方向１２６は、航空機１０８の姿勢と呼ばれることがある。
【００３０】
プラットフォーム１０２は、プラットフォームコントローラ１２８を含む。プラットフォームコントローラ１２８は、環境１０４の中を通るプラットフォーム１０２の移動を、所望のタスクまたは任務を実施するように制御することができる。プラットフォームコントローラ１２８は、自動コントローラ、人間オペレータまたはマシンと組み合わせた人間オペレータを備えてよい。
【００３１】
プラットフォームコントローラ１２８は、プラットフォーム１０２上で完全に実装されてもよいし、少なくとも一部、プラットフォーム１０２から遠隔に実装されてもよい。後者の場合では、プラットフォームコントローラ１２８は、プラットフォーム１０２の動きを制御するためにプラットフォーム１０２とワイヤレス通信していてよい。いずれの場合も、タスクまたは任務をうまく実施するようにプラットフォーム１０２の動きを制御するために、プラットフォーム１０２の位置１１８が正確かつ確実に識別されることが望ましい。
【００３２】
有利な一実施形態によれば、環境１０４内のプラットフォーム１０２の位置１１８は、プラットフォーム１０２に関連する位置識別子１３０を使用して正確かつ確実に決定することができる。位置識別子１３０の構成要素は、筺体１３２に含まれてよい。位置識別子１３０は、これらの例示的な例では、プラットフォーム１０２に永続的に取り付けられてもよいし、取外し可能に取り付けられてもよい。
【００３３】
たとえば、位置識別子１３０は、マウント構造物１３４を使用して、プラットフォーム１０２に取り付けられてよい。マウント構造１３４は、プラットフォーム１０２上のいくつかの構造物、筺体１３２上のいくつかの協調構造物およびいくつかの留め具を含んでよい。マウント構造物１３４の実装は、筺体１３２の実装、および位置識別子１３０が取り付けられるプラットフォーム１０２の性質によって決まる。
【００３４】
位置識別子１３０は、カメラシステム１３６と位置計算器１３８とを備える。カメラシステム１３６は、プラットフォーム１０２が動いている環境１０４の画像１４０を生成する。画像１４０は、カメラシステム１３６から位置計算器１３８に提供される。位置計算器１３８は、画像１４０からプラットフォーム１０２の識別された位置１４２を識別する。
【００３５】
カメラシステム１３６は、単一のカメラを備えてよい。他の有利な実施形態では、カメラシステム１３６は、複数のカメラを備えてよい。複数のカメラシステムを使用すると、位置識別子１３０による位置決定の精度を高めることができる。
【００３６】
カメラシステム１３６は、任意の所望の波長で動作するデジタルまたは他のビデオカメラを備えてよい。たとえば、カメラシステム１３６は、それだけに限らないが、可視波長または赤外線波長で、あるいは複数の異なる波長または波長帯で環境１０４の画像１４０を生成することができる。カメラシステム１３６は、高速カメラを備えてよい。たとえば、カメラシステム１３６は、それだけに限らないが、およそ１００フレーム／秒のフレームレート、またはより高いフレームレートで動作してよい。高速カメラの使用によって、フレーム間の変更は小さくなり、より一般的な特徴点が、連続したフレームに見られる。さらに、連続したフレームは、少数のピクセルだけ変化する。したがって、より低い解像度のカメラを使用してよい。より低い解像度のカメラを使用すると、画像処理に必要な計算能力が低下する。あるいは、カメラシステム１３６は、任意のフレームレートで動作してよい。
【００３７】
一実施形態では、カメラシステム１３６が操作される波長、フレームレート、または波長とフレームレートの両方が、可変であってよい。この場合、たとえば、波長、フレームレートまたは両方は、プラットフォーム１０２の特定のタスクまたは任務に基づいて調整されることも、プラットフォーム１０２が動いている環境１０４の条件に基づいて調整されることもある。
【００３８】
任意の時点で、カメラシステム１３６は、特定のパースペクティブ１４４を有する。パースペクティブ１４４は、特徴１１６のカメラシステム１３６に対する相対的距離および位置によって決まる、カメラシステム１３６から見た特徴１１６の外観である。さらに、任意の時点で、カメラシステム１３６は、特定の視野１４６を有する。視野１４６は、カメラシステム１３６によって生成された画像１４０内に現われる環境１０４の一部である。プラットフォーム１０２が環境１０４の中を移動するとき、カメラシステム１３６のパースペクティブ１４４および視野１４６は変化する。
【００３９】
カメラシステム１３６によって生成された画像１４０内の点のロケーションは、画像フレーム１４８を参照して定義することができる。画像フレーム１４８は、カメラシステム１３６によって生成された画像１４０を含む２次元領域である。プラットフォーム１０２が環境１０４の中を移動する間、環境１０４の一連の変化する画像１４０が、画像フレーム１４８内で生成される。一連の変更する画像１４０は、プラットフォーム１０２が環境１０４の中を移動する間のカメラシステム１３６の変化するパースペクティブ１４４および視野１４６を反映する。
【００４０】
カメラシステム１３６によって生成された一連の画像１４０は、位置計算器１３８に提供される。一連の画像１４０内の個々の画像は、フレーム１５０と呼ばれることがある。位置計算器１３８は、プラットフォーム１０２の現在位置１２２を、識別された位置１４２として識別してよい。識別された位置１４２は、最大６つの自由度について、プラットフォーム１０２の識別されたロケーション１５２と識別された方向１５４とを含んでよい。識別された位置１４２は、プラットフォーム１０２の動きの正確な制御を行うプラットフォームコントローラ１２８に提供されてよい。
【００４１】
位置計算器１３８は、ハードウェアで実装されてもよいし、共に動作するハードウェアとソフトウェアで実装されてもよい。位置計算器１３８は、プラットフォームコントローラ１２８によってプラットフォーム１０２の動きを制御するのに十分な速度で画像１４０から識別された位置１４２を識別できる任意のハードウェア、またはハードウェアとソフトウェアの組合せを使用して実装されてよい。
【００４２】
図２に移ると、有利な一実施形態による、位置計算器のブロック図が示されている。この例では、位置計算器２００は、図１の位置計算器１３８の一実装形態の例である。位置計算器２００は、入力として一連の画像２０２を受け取る。たとえば、画像２０２は、動いているプラットフォームに関連してカメラシステムによって生成されたデジタル画像または他の画像の一連のフレーム２０４を備えてよい。
【００４３】
有利な一実施形態によれば、位置計算器２００は、画像２０２を使用してプラットフォームの現在位置を識別するためのいくつかの機能を備える。まず位置計算器２００によって受け取られた画像２０２は、画像処理機能２０６によって処理されてよい。画像処理機能２０６は、後述された位置計算器２００の他の機能によって使用される画像２０２を作成するための任意の機能を含んでよい。
【００４４】
たとえば、画像処理機能２０６は、それだけに限らないが、コントラスト強調２０９を含んでよい。コントラスト強調２０９は、デジタル画像または他の画像内のコントラストを強調するための知られている技法を含んでよい。コントラスト強調２０９は、画像２０２内で特徴を識別できる速度および精度を増加させることができる。たとえば、より高いコントラストのアナログをもたらすために、しきい値を画像２０２に適用してよい。
【００４５】
特徴識別機能２０８は、画像２０２内の特徴を識別する。たとえば、特徴識別機能２０８は、画像処理機能２０６によって処理される画像２０２内の特徴を識別することができる。画像２０２内の特徴を識別する特徴識別機能２０８によって、任意の知られている技法が使用されてよい。たとえば、特徴識別機能２０８は、それだけに限らないが、スケール不変特徴量変換（ＳＩＦＴ：ｓｃａｌｅ−ｉｎｖａｒｉａｎｔ  ｆｅａｔｕｒｅ  ｔｒａｎｓｆｏｒｍ）、コーナ検出、高速化ロバスト特徴（ＳＵＲＦ：ｓｐｅｅｄｅｄ  ｕｐ  ｒｏｂｕｓｔ  ｆｅａｔｕｒｅｓ）、または他の技法を単独にもしくは任意の組合せで使用して画像２０２内の特徴を識別してよい。
【００４６】
特徴識別機能２０８は、画像２０２内で識別された各特徴に単一の点ロケーションを割り当ててよい。たとえば、特徴識別機能２０８は、識別された各特徴に、画像フレーム内の単一のピクセルロケーションを割り当ててよい。
【００４７】
追跡点選択機能２１０は、一連の画像２０２内のフレームごとに追跡するために、特徴識別機能２０８によって識別された特徴の点ロケーションを選択する。特徴識別機能２０８によって、多くの特徴を識別することができる。特徴識別機能２０８によって識別されたすべての特徴を追跡すると、不必要に処理を減速させることがあり、または別のやり方で不必要に高速なまたは追加のハードウェアを必要とすることがある。したがって、追跡点選択機能２１０は、追跡用に特徴識別機能２０８によって識別される点のサブセットを選択してよい。
【００４８】
追跡点選択機能２１０によって選択された追跡用の点の数は、固定であってもよいし、可変であってもよい。たとえば、追跡点選択機能２１０によって追跡用に選択される点の数は、現在位置が位置計算器２００によって決定されているプラットフォームの動作状態、プラットフォームが動作している環境、または他の適切な要因に基づいて、単独にまたは任意の組合せで可変であってよい。
【００４９】
プラットフォームが環境の中を迅速に移動している場合、特徴識別機能２０８によって識別された特徴は、画像２０２からより迅速に動くことがある。この場合、追跡点選択機能２１０によって、追跡用に多くの点が選択されてよい。
【００５０】
さらに、特定の動作環境では、画像２０２内のフレームごとに特徴が識別され得る信頼性が低減することがある。この場合、追跡点選択機能２１０によって追跡用に多くの点を選択することも望まれ得る。
【００５１】
追跡点選択機能２１０は、追跡用に個々の点を様々な要因に基づいて選択することができる。たとえば、追跡点選択機能２１０は、動いているプラットフォームの位置を識別するために位置計算器２００によって現在使用されている点を追跡用に選択してよい。別の例として、追跡点選択機能２１０は、画像２０２内の特徴の位置および過去の動きに基づいて追跡用の点を選択してよい。
【００５２】
たとえば、画像のエッジに近くにあり、また画像のエッジの向きに動いていた特徴に対応する点は、追跡点選択機能２１０によって追跡用に選択されないことがある。特徴自体を動かしている特徴は、有利な一実施形態によるプラットフォームの現在位置を識別するのに有用でないことがある。したがって、追跡点選択機能２１０は、画像２０２内の動いている特徴に関連する点を識別することができ、こうした点を追跡用に選択しなくてよい。
【００５３】
点追跡機能２１２は、追跡点選択機能２１０によって選択された点をフレームごとに追跡する。点追跡機能２１２は、前のフレーム内の同じ特徴についての点に対応する現在のフレーム内の点を識別する。次いで、特徴の位置の変化は、現在のフレーム内と前のフレーム内の対応する点の画像フレーム内のロケーション間の差として決定することができる。一連の画像内の特徴に対応する点をフレームごとに追跡するために、知られている技法を使用することができる。たとえば、点は、それだけに限らないが、ランダムサンプルコンセンサス（ＲＡＮＳＡＣ：ｒａｎｄｏｍ  ｓａｍｐｌｅ  ｃｏｎｓｅｎｓｕｓ）を使用して削除されたフレームおよび外れ値間で追跡することができる。
【００５４】
計算点選択機能２１４は、プラットフォームのロケーションを識別する計算を実施するために使用される点追跡機能２１２によって追跡される点を選択する。画像２０２内の３つの特徴に対応する少なくとも３つの点が、計算点選択機能２１４によって選択されてよい。点ごとに２つの自由度で６つの自由度を計算するために、少なくとも３つの点が選択される。
【００５５】
位置変更計算機能２１６は、計算点選択機能２１４によって選択された点を使用して、プラットフォームの位置の変化を計算する。画像２０２を生成するカメラシステムのパースペクティブの変化は、画像２０２内の特徴の位置の移動に反映される。
【００５６】
位置変更計算機能２１６は、前のフレームから現在のフレームへの、画像フレーム内の選択された点のロケーションの変化を計算する。現在の画像内の特徴に対応する画像フレーム内の複数のロケーションは、複数の第１のロケーションと呼ばれることがある。前の画像内の特徴に対応する画像フレーム内の複数のロケーションは、複数の第２のロケーションと呼ばれることがある。次いで、同じ特徴に対応する第１のロケーションと第２のロケーションの間の画像フレームの選択された点のロケーションの計算された変化からカメラシステムのパースペクティブの移動を識別するために、幾何学的計算を使用することができる。カメラシステムのパースペクティブの移動は、６つの自由度に沿って計算することができる。たとえば、カメラシステムのパースペクティブの移動は、それだけに限らないが、デカルトＸ、Ｙ、Ｚ座標に沿って、オイラー角アルファ、ベータおよびガンマと共に計算されてもよい。
【００５７】
カメラシステムがプラットフォーム上にマウントされるので、カメラシステムのパースペクティブの移動を使用して、位置変更計算機能２１６によりプラットフォームの位置の対応する変化を識別することができる。
【００５８】
たとえば、位置変更計算機能２１６は、それだけに限らないが、選択された特徴に対応するピクセルロケーションの画像フレーム内の２次元の移動をまず測定してよい。次いで、画像フレーム内のピクセルロケーションの測定された移動は、メートルや他の何らかの実世界の測定など、実世界の測定単位に変換される。この変換は、カメラシステムの初期較正から得られた情報を使用して計算され、カメラズーム、レンズ度数および解像度などの要因に依存することがある。次いで、実世界のカメラの位置の変化は、基礎的な幾何方程式を使用して計算することができる。
【００５９】
識別位置計算機能２１８は、プラットフォームの現在の識別された位置２２０を計算する。たとえば、識別位置計算機能２１８は、位置変更計算機能２１６によって計算されたプラットフォームの位置の変化によって修正されるように、前の識別された位置２２０に基づいて、現在の識別された位置２２０を計算することができる。最初に、識別された位置２２０は、プラットフォームの知られている開始位置であってよい。
【００６０】
識別された位置２２０は、位置計算器２００によって出力２２２として提供されてよい。たとえば、識別された位置２２０は、プラットフォームの動きを制御するプラットフォームコントローラに出力２２２として提供されてよい。
【００６１】
図１の位置識別環境１００のおよび図２の位置計算器２００は、それぞれ異なる有利な実施形態が実施され得るやり方に対する物理的なまたはアーキテクチャ上の制限を示唆するためのものではない。図示された構成要素に加えて、その代わりに、または追加と代わりの両方として、他の構成要素を使用することができる。一部の構成要素は、一部の有利な実施形態では不要であり得る。ブロックは、一部の機能構成要素を示すために提示されている。これらのブロックの１つまたは複数は、それぞれ異なる有利な実施形態で実施される場合、組み合わせてもよいし、それぞれ異なるブロックに分割してもよい。
【００６２】
たとえば、位置識別子１３０によって実施される機能はすべて、図１のプラットフォーム１０２上の装置によって実施されてもよいし、プラットフォーム１０２に取り付けられた装置によって実施されてもよい。あるいは、プラットフォーム１０２の位置を識別するための位置識別子１３０の機能の一部は、プラットフォーム１０２から遠隔に実施されてよい。
【００６３】
たとえば、カメラシステム１３６は、プラットフォーム１０２上にあってよいが、位置計算器１３８によって実施される機能は、プラットフォーム１０２から遠隔に実施される。この場合、カメラシステム１３６からの画像データは、プラットフォーム１０２から、遠隔に置かれた位置計算器１３８に送信されてよい。
【００６４】
次いで、位置計算器１３８によって提供された識別された位置１４２は、遠隔地から離れてプラットフォーム１０２の動きを制御するために、遠隔地で使用することができる。あるいは、遠隔地で位置計算器１３８によって提供された識別された位置１４２は、プラットフォーム１０２上のプラットフォームコントローラ１２８に返送されてよい。
【００６５】
図３に移ると、有利な一実施形態による、開放環境内で動作する航空機の図が示されている。この例では、航空機３００および航空機３０２は、図１の航空機１０８の例である。この例では、航空機３００は、無人航空機である。航空機３０２は、軽航空機である。示されたように、航空機３００および航空機３０２は、開放環境３１０内で動いている。開放環境３１０は、図１の開放された１１２環境１０４の一例である。
【００６６】
全地球測位システム信号および無線航行システム信号は、すべての条件下において開放環境３１０内のすべてのロケーションに確実に到達するとは限らないことがある。たとえば、雲、建物あるいは他の障害物が、全地球測位システム衛星の見通しをブロックすることがある。別の例として、ジャミングが、航行に使用される信号に干渉することがある。しかし、開放環境３１０内で任務をうまく実施するように航空機３００および航空機３０２を制御するために、開放環境３１０内のいずれかのロケーションにおいて、また様々な条件下で航空機３００および航空機３０２の現在位置を識別することが望ましいことがある。
【００６７】
この例示的な例では、航空機３０２は、航空機３００の補助機（ｔｅｎｄｅｒ）として働く。たとえば、航空機３０２は、航空機３００が航空機３０２の近くで飛行する場合、航空機３００を把持するための把持機構３０４を含んでよい。したがって、航空機３００は、把持機構３０４によって航空機３０２に搭載されてよい。搭載航空機３０２、航空機３００は、燃料補給され、再軍備され、修理されてもよいし、任意の他のサービスまたはいくつかのサービスが、必要または要望に応じて航空機３００上で実施されてよい。航空機３００は、把持機構３０４を使用して航空機３０２から空中に放たれることも、把持機構３０４を使用せずに放たれることもある。
【００６８】
位置識別子３０６が、航空機３００にマウントされてよい。位置識別子３０８が、航空機３０２にマウントされてよい。位置識別子３０６および３０８は、航空機３００および航空機３０２が動いている開放環境３１０の一連の画像内の変化する位置から、それぞれ航空機３００および航空機３０２の現在位置を決定するために使用することができる。開放環境３１０の一連の画像は、航空機３００および航空機３０２に関係する図１のカメラシステム１３６など、カメラシステムを使用して生成することができる。これらのカメラシステムは、位置識別子３０６および３０８の一部である。
【００６９】
開放環境３１０の一連の画像は、開放環境３１０内の特徴を捕捉することができる。これらの特徴は、建物３１２など、人工構造物または物体を含んでよい。さらに、特徴は、木３１４など、自然に発生する構造物または物体を含んでよい。有利な実施形態によれば、位置識別子３０６および３０８によって識別された航空機３００および航空機３０２の現在位置を使用して、航空機３００および航空機３０２を非常に近くに動かし、把持機構３０４によって把持するために航空機３００を航空機３０２に対して方向付けすることができる。
【００７０】
図４に移ると、有利な実施形態による、閉鎖環境内で動作する航空機が示されている。この例では、航空機４００は、図１の航空機１０８の一実装形態の例である。たとえば、航空機４００は、それだけに限らないが、無人の回転翼航空機であってよい。
【００７１】
示されたこの例では、閉鎖環境４０２は、建物または他の人工構造物であってよい。あるいは、閉鎖環境４０２は、洞穴、または他の自然に発生する閉鎖環境であってよい。閉鎖環境４０２は、完全に閉鎖されることも、部分的に閉鎖されることもある。閉鎖環境４０２は、図１の閉鎖された１１４環境１０４の一例である。
【００７２】
全地球測位システム信号および無線航行システム信号は、閉鎖環境４０２内に確実に到達するとは限らないことがある。しかし、閉鎖環境４０２内で任務をうまく実施するように航空機４００を制御するために、閉鎖環境４０２内の航空機４００の現在位置を識別することが望ましいことがある。
【００７３】
有利な一実施形態によれば、位置識別子４０４が、航空機４００にマウントされてよい。位置識別子４０４は、航空機４００が動いている閉鎖環境４０２の一連の画像内の特徴の変化する位置から、航空機４００の現在位置を決定するために使用することができる。上記に論じられたように、一連の画像は、図１のカメラシステム１３６など、カメラシステムを使用して生成することができる。カメラシステムは、航空機４００および位置識別子４０４の一部に関連付けることができる。
【００７４】
さらに、一連の画像内で捕捉された閉鎖環境４０２内の特徴は、たとえば、それだけに限らないが、閉鎖環境４０２内の物体４０６、床４０９のパターン４０８、壁４１１のパターン４１０、または航空機４００に関連するカメラシステムの視野内の閉鎖環境４０２の他の何らかの部分における他の適切な物体もしくはパターンを含んでよい。
【００７５】
図５に移ると、有利な一実施形態による、ロボットマニピュレータが示されている。この例では、ロボットマニピュレータ５００は、図１のロボットマニピュレータ１１０の一実装形態の例である。ロボットマニピュレータ５００は、工業用ロボットであってもよいし、部品５０２に対して操作を実施するために使用される他のタイプのロボットであってもよい。たとえば、部品５０２は、航空機部品であってもよいし、他のいずれかの部品、製品または物体であってもよい。
【００７６】
この例示的な例では、部品５０２は、支持構造物５０４にマウントされてよい。支持構造物５０４は、支持部品５０２に適したいずれかの構造物であってよく、ロボットマニピュレータ５００は、部品５０２に対する操作を実施するために使用される。それだけに限らないが、支持構造物５０４は、固定であってもよいし、移動してもよい。さらに、部品５０２は、支持構造物として働くことも可能であってよい。
【００７７】
ロボットマニピュレータ５００は、アーム支持５０６と、アーム５０８と、およびエンドエフェクタ５１０とを備える。アーム支持５０６は、ロボットマニピュレータ５００がマウントされ、または別のやり方で置かれてよい床５１２の上で、または別の固定構造物もしくは移動構造物上でアーム５０８を支持する。アーム５０８は、関節５１４によって、アーム５０８の近位端で、または近位端の近くでアーム支持５０６に取り付けられてよい。アーム５０８は、アーム５０８がアーム支持５０６に取り付けられる関節５１４において、いくつかの向きに移動可能であってよい。アーム５０８は、１つまたは複数の肘関節５１６を含んでよい。アーム５０８は、肘関節５１６で、いくつかの向きに移動可能であってよい。
【００７８】
さらに、エンドエフェクタ５１０は、アーム５０８の遠位端で、あるいはその遠位端の近くで、関節５１８によってアーム５０８に取り付けられてよい。エンドエフェクタ５１０は、関節５１８で、アーム５０８に対していくつかの向きに移動可能であってよい。エンドエフェクタ５１０は、部品５０２上で操作を実施するためのいくつかのツールを備えてよい。たとえば、それだけに限らないが、エンドエフェクタ５１０は、部品５０２内に穴を形成するためのドリル、溶接機、カメラ、または部品５０２を検査するための他のデバイス、あるいは部品５０２上で操作を実施するための他のいずれかのツールまたはツールの組合せを含んでよい。
【００７９】
アーム５０８およびエンドエフェクタ５１０は、関節５１４、５１６および５１８で、適切なアクチュエータによって部品５０２に対して様々な向きおよび方向に動かすことができる。たとえば、こうしたアクチュエータは、それだけに限らないが、電動機または油圧アクチュエータを含んでよい。
【００８０】
アーム５０８およびエンドエフェクタ５１０の動き、ならびにエンドエフェクタ５１０に対するツールの操作は、ロボットコントローラ５２０によって制御されてよい。ロボットコントローラ５２０は、自動コントローラであってもよいし、機械と組み合わせた人間オペレータを含んでもよい。
【００８１】
部品５０２上で操作を実施するようにアーム５０８およびエンドエフェクタ５１０の動きをうまく制御するために、部品５０２に対してエンドエフェクタ５１０の位置および方向を正確に識別することが望ましい。有利な一実施形態によれば、エンドエフェクタ５１０は、位置識別子５２２を保持してよい。位置識別子５２２は、エンドエフェクタ５１０が動いている環境の一連の画像内の特徴の変化する位置からエンドエフェクタ５１０の現在位置を決定するために使用することができる。一連の画像は、エンドエフェクタ５１０に関連しており、また位置識別子５２２の一部であるカメラシステムによって生成されてよい。一連の画像内の特徴は、留め具５２４、継ぎ目５２６、または部品５０２上の他の構造物やパターンなど、部品５０２上の様々な構造物またはパターンを含んでよい。
【００８２】
あるいは、こうした特徴は、エンドエフェクタ５１０に関連するカメラシステムの視野内の支持構造物５０４、または他のいずれかの構造物に関連する構造物またはパターンを含んでよい。位置識別子５２２によって識別されたエンドエフェクタ５１０の現在位置は、ロボットマニュピレータ５００の動きを制御するのに使用するために、ロボットコントローラ５２０に提供されてよい。
【００８３】
図６に移ると、有利な一実施形態による、位置識別子が示されている。この例では、位置識別子６００は、図１の位置識別子１３０の一実装形態の例である。この例では、位置識別子６００は、本明細書に述べられたようにプラットフォームの位置を識別するために様々な異なるプラットフォームに取り付けられてよいユニットとして提供される。
【００８４】
位置識別子６００は、有利な一実施形態による実際の位置識別子を示すためのものでない。そうではなく、位置識別子６００は、有利な一実施形態による概念的な位置識別子を示している。位置識別子６００は、有利な一実施形態による、位置識別子の構成要素の配置の可能な一例を示すために提示されている。
【００８５】
位置識別子６００は、筺体６０２を含む。筺体６０２は、上述されたように、カメラシステムと位置計算器とを含めて、位置識別子６００の様々な構成要素を含んでいる。筺体６０２は、位置識別子６００が使用される環境内で予期され得る様々な環境条件にさらされないように位置識別子６００の他の構成要素を保護するように設計することができる。
【００８６】
筺体６０２は、開口部６０４を含む。筺体６０２内のカメラシステムのレンズは、開口部６０４と直接にアライメントされることも、適切な中間光学系を介してアライメントされることもある。開口部６０４は、任意の適切なサイズおよび形状のものであってよい。開口部６０４は、窓６０６で覆われてよい。窓６０６は、位置識別子６００が使用される環境に適しており、また筺体６０２内のカメラシステムが動作する波長に適した任意の材料から作られてよい。
【００８７】
電源コネクタ６０８および少なくとも１つのデータコネクタ６１０を、筺体６０２内に設けることができる。電源コネクタ６０８は、筺体６０２内の構成要素の動作のために位置識別子６００に電力を提供するための任意の適切なコネクタを含んでよい。データコネクタ６１０は、任意の適切なデータ伝送形式および通信プロトコルを使用して、位置識別子６００からデータを取り出し、または位置識別子６００にデータを提供するための任意の適切なコネクタを含んでよい。
【００８８】
たとえば、データコネクタ６１０を介して位置識別子６００から取り出すことができるデータは、それだけに限らないが、プラットフォームの位置の変化、または位置識別子６００によって識別されたプラットフォームの位置を示すデータを含んでよい。たとえば、データコネクタ６１０を介して位置識別子６００に提供されてよいデータは、それだけに限らないが、プラットフォームの開始位置を含んでよい。上記に論じられたように、プラットフォームの開始位置は、位置識別子６００によって、プラットフォームの現在位置を識別するために使用されてよい。
【００８９】
別の有利な実施形態では、位置識別子６００は、スタンドアロンのデバイスであってよい。この場合、位置識別子６００には、バッテリや他の局所電源など、局所電源によって電力供給することができる。位置識別子６００に対するデータ伝送は、ワイヤレスデータ伝送を使用して提供することができる。
【００９０】
プラットフォームに位置識別子６００を取り付けるためにいくつかのマウント構造物６１２が、位置識別子６００上に設けられてよい。たとえば、マウント構造物６１２は、それだけに限らないが、筺体６０２から突き出るいくつかの構造物６１４と、いくつかのマウント開口部６１６とを含んでよい。
【００９１】
構造物６１４およびマウント開口部６１６は、位置識別子６００をプラットフォームに確実に取り付けるために、プラットフォーム上の協調構造および適切な留め具の組合せで使用することができる。有利な一実施形態による任意の特定の位置識別子６００のためのマウント構造物６１２の実装は、位置識別子６００が取り付けられるプラットフォームの構造に依存する。
【００９２】
図７に移ると、有利な一実施形態による、第１の位置の航空機上のカメラシステムによって生成された画像が示されている。この例で、画像７００は、図１の中の画像１４０または図２の画像２０２の一例である。画像７００内の特徴の位置は、画像フレーム７０２に対して定義することができる。たとえば、画像７００内の特徴の位置は、画像フレーム７０２内のピクセルロケーションを参照して定義することができる。
【００９３】
この例では、画像７００は、航空機７０４が地上で動いている間に航空機７０４のカメラシステムによって生成された地上の画像である。画像７００内に識別された特徴は、画像フレーム７０２内の点ロケーションによって識別される。たとえば、点７０６および７０８は、十字路の特徴に対応する。点７１０および７１２は、道路が川と交差する特徴に対応する。点７１４および７１６は、道路が向きを変更する特徴に対応する。点７１８は、川が曲がる特徴に対応する。
【００９４】
線７２０は、航空機７０４と、画像７００内の選択された点７０６、７１０および７１２との間で引かれている。航空機７０４に対する線７２０の角度は、第１の位置の航空機７０４のカメラシステムのパースペクティブを反映し表している。
【００９５】
図８に移ると、有利な一実施形態による、第２の位置の図７の航空機７０４のカメラシステムによって得られた画像が示されている。この例では、画像８００は、図１の画像１４０または図２の画像２０２の一例である。画像８００の特徴の位置は、図７と同じ画像フレーム７０２に対して定義される。たとえば、画像８００内の特徴の位置は、画像フレーム７０２内のピクセルロケーションを参照して定義することができる。
【００９６】
この例では、画像８００は、現在の画像であり、図７の画像７００は、一連の画像の内の直前のフレームからの前の画像である。この例では、画像７００と８００の間の特徴の動きは、例示しやすくするために誇張されている。画像８００内で、点８０２、８０４および８０６は、図７の画像７００内の点７０６、７１０および７１２と同じ特徴に対応する。
【００９７】
画像フレーム７０２内の点７０６、７１０および７１２のロケーションは、図８に破線の円として示されている。破線８０８、８１０および８１２は、それぞれ点７０６と８０２、７１０と８０４、７１２と８０６に対応する特徴の画像フレーム７０２内の位置の移動を表している。線８１４は、航空機７０４と、画像８００内の選択された点８０２、８０４、８０６との間で引かれている。航空機７０４に対する線８１４の角度は、第２の位置の航空機７０４のカメラシステムのパースペクティブを反映し表している。
【００９８】
図７の線７２０と図８の線８１４の間の差は、画像間のカメラシステムのパースペクティブの移動を示している。有利な一実施形態によれば、カメラシステムのパースペクティブのこの移動は、破線８０８、８１０および８１２によって表された画像フレーム７０２の特徴の位置の移動から識別することができる。航空機７０４の位置の対応する変化は、カメラシステムのパースペクティブの変化から識別することができる。この例では、カメラシステムのパースペクティブの識別された変化は、航空機７０４が第１の位置から、矢印８１６によって示された向きに動いており、右に傾いていることを示している。
【００９９】
図９に移ると、有利な一実施形態による、プラットフォームの位置を識別するプロセスのフローチャートが示されている。図９のプロセスは、たとえば、図１の位置識別子１３０によって実施することができる。
【０１００】
このプロセスは、プラットフォームが動いている間、プラットフォームに関連する一連の画像を取得することから開始する（操作９０２）。たとえば、一連の画像は、環境内でプラットフォームが移動している間、プラットフォームに関連するカメラシステムによって生成されてよい。環境は、開放環境であってもよいし、閉鎖環境であってもよい。
【０１０１】
一連の画像内の特徴が識別される（操作９０４）。これらの特徴は、環境内の特徴であってよい。一連の画像の特徴の位置の移動から、カメラシステムのパースペクティブの移動が識別される。（操作９０６）
【０１０２】
カメラシステムのパースペクティブの移動に基づいて、プラットフォームの位置の変化が識別される（操作９０８）。次いで、プラットフォームの位置の識別された変化に基づいて、プラットフォームの現在位置を識別することができ（操作９１０）、その後、プロセスが終了する。操作９１０で、プラットフォームの位置およびプラットフォームの開始位置の識別された変化に基づいて、プラットフォームの現在位置を識別することができる。
【０１０３】
図１０に移ると、有利な一実施形態による、カメラシステムのパースペクティブの移動を識別するためのプロセスのフローチャートが示されている。この例において、図１０のプロセスは、図９の操作９０６を実施するためのプロセスの一例である。
【０１０４】
このプロセスは、カメラシステムの画像フレーム内の現在の画像内の特徴に対応するいくつかの点のロケーションを識別することから開始する（操作１００２）。位置計算のために、いくつかの点が選択される（操作１００４）。操作１００４で、位置計算のために、少なくとも３つの点を選択してよい。
【０１０５】
画像フレーム内の前の画像内で、選択された点と同じ特徴に対応する点のロケーションが識別される（操作１００６）。現在の画像内の点のロケーションと前の画像内の対応する点のロケーションとの間の差が決定される（操作１００８）。したがって、操作１００８によって、前の画像と現在の画像の間の特徴の位置の移動が決定される。次いで、現在の画像と前の画像の間の画像フレーム内の同じ特徴に対応する点のロケーションの差から、カメラシステムのパースペクティブの移動が識別され（操作１０１０）、その後、プロセスが終了する。
【０１０６】
したがって、有利な実施形態のうちの１つまたは複数は、マシンビジョン方法を使用してモバイルプラットフォームのロケーションおよび方向を正確かつ迅速に決定する能力を提供する。有利な一実施形態によれば、プラットフォームの位置は、モバイルプラットフォームに関連するカメラシステムによって生成された一連の画像内の特徴の位置の移動から決定される。全地球測位システムデータ、慣性測定もしくは加速測定、または磁力計に依存せずに航空機の位置を追跡するために、有利な一実施形態によるシステムを航空機にマウントし、使用することができる。しかし、有利な実施形態に従って決定される航空機の位置は、信頼性を高めるために他の位置測定と組み合わせてよい。
【０１０７】
次に図１１に移ると、有利な一実施形態による、データ処理システムの図が示されている。この例では、データ処理システム１１００は、図１の位置計算器１３８または図２の位置計算器２００の機能を実施するために使用できるシステムの一例である。この有利な例では、データ処理システム１１００は、通信ファブリック１１０２を含む。通信ファブリック１１０２は、プロセッサユニット１１０４、メモリ１１０６、永続記憶装置１１０８、通信ユニット１１１０、入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）ユニット１１１２およびディスプレイ１１１４の間の通信を提供する。
【０１０８】
プロセッサユニット１１０４は、メモリ１１０６にロードしてよいソフトウェアのための命令を実行する働きをする。プロセッサユニット１１０４は、特定の実装形態に応じて、いくつかのプロセッサ、マルチプロセッサコアまたは他の何らかのタイプのプロセッサであってよい。さらに、プロセッサユニット１１０４は、単一のチップ上でメインプロセッサが２次プロセッサと共に存在するいくつかの異種プロセッサシステムを使用して実装することができる。別の有利な例として、プロセッサユニット１１０４は、同じタイプの複数のプロセッサを含んでいる対称マルチプロセッサシステムであってよい。
【０１０９】
メモリ１１０６および永続記憶装置１１０８は、記憶デバイス１１１６の例である。記憶デバイスは、たとえば、それだけに限らないが、データ、関数形式のプログラムコードまたは他の適切な情報、あるいは一時的なベースもしくは永続的なベースまたはその両方の情報の任意の組合せなど、情報を格納できる任意の１つのハードウェアである。記憶デバイス１１１６は、これらの例では、コンピュータ読取り可能記憶デバイスと呼ばれることもある。メモリ１１０６は、これらの例では、たとえばランダムアクセスメモリや、他の任意の適切な揮発性または不揮発性記憶デバイスであってよい。永続記憶装置１１０８は、特定の実装に応じて様々な形をとってよい。
【０１１０】
たとえば、永続記憶装置１１０８は、１つまたは複数の構成要素あるいはデバイスを含んでよい。たとえば、永続記憶装置１１０８は、ハードドライブ、フラッシュメモリ、書換え可能光ディスク、書換え可能磁気テープ、または上記内容の何らかの組合せであってよい。また永続記憶装置１１０８によって使用される媒体は、取外し可能であってよい。たとえば、永続記憶装置１１０８用に取外し可能ハードドライブが使用されてよい。
【０１１１】
これらの例では、通信ユニット１１１０は、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット１１１０は、ネットワークインターフェイスカードである。通信ユニット１１１０は、物理通信リンクとワイヤレス通信リンクの両方を使用することによって通信を提供してよい。
【０１１２】
入出力ユニット１１１２は、データ処理システム１１００に接続されてよい他のデバイスを用いてデータの入出力を可能にする。たとえば、入出力ユニット１１１２は、キーボード、マウスもしくは他の何らかの適切な入力デバイス、またはデバイスの組合せによってユーザ入力のための接続を提供することができる。さらに、入出力ユニット１１１２は、プリンタに出力を送信してよい。ディスプレイ１１１４は、ユーザに情報を表示するための機構を提供する。
【０１１３】
オペレーティングシステム、アプリケーションまたはプログラムのための命令は、記憶デバイス１１１６に置かれてよく、この記憶デバイスは、通信ファブリック１１０２を介してプロセッサユニット１１０４と通信している。これらの有利な例では、命令は、永続記憶装置１１０８の関数形式である。これらの命令は、プロセッサユニット１１０４によって実行するためにメモリ１１０６にロードされてよい。それぞれ異なる実施形態のプロセスは、メモリ１１０６などのメモリに置かれてよいコンピュータ実施命令を使用して、プロセッサユニット１１０４によって実施することができる。
【０１１４】
これらの命令は、プロセッサユニット１１０４内のプロセッサによって読み出し実行できるプログラム命令、プログラムコード、コンピュータ使用可能プログラムコードまたはコンピュータ読取り可能プログラムコードと呼ばれる。それぞれ異なる実施形態のプログラムコードは、メモリ１１０６や永続記憶装置１１０８など、それぞれ異なる物理的なまたはコンピュータ読取り可能な記憶媒体で具現化することができる。
【０１１５】
プログラムコード１１１８は、コンピュータ読取り可能媒体１１２０に関数形式で置かれ、このコンピュータ読取り可能媒体１１２０は、選択的に取外し可能であり、プロセッサユニット１１０４によって実行するためにデータ処理システム１１００にロードされてもよいし、データ処理システムに転送されてもよい。プログラムコード１１１８およびコンピュータ読取り可能媒体１１２０は、これらの例では、コンピュータプログラム製品１１２２を形成する。一例では、コンピュータ読取り可能媒体１１２０は、コンピュータ読取り可能記憶媒体１１２４であってもよいし、コンピュータ読取り可能信号媒体１１２６であってもよい。コンピュータ読取り可能記憶媒体１１２４は、たとえば、光学または磁気ディスクを含んでよく、この光学または磁気ディスクは、永続記憶装置１１０８の一部であるハードドライブなどの記憶デバイスに転送するために、永続記憶装置１１０８の一部であるドライブまたは他のデバイス内に挿入され、または置かれる。
【０１１６】
コンピュータ読取り可能記憶媒体１１２４は、データ処理システム１１００に接続されたハードドライブ、サムドライブまたはフラッシュメモリなどの永続記憶装置の形をとることもできる。一部の場合では、コンピュータ読取り可能記憶媒体１１２４は、データ処理システム１１００から取外し可能でないことがある。これらの例では、コンピュータ読取り可能記憶媒体１１２４は、プログラムコード１１１８を伝播または送信する媒体ではなく、プログラムコード１１１８を格納するために使用される物理的なまたは有形の記憶デバイスである。コンピュータ読取り可能記憶媒体１１２４は、コンピュータ読取り可能有形記憶デバイスまたはコンピュータ読取り可能物理記憶デバイスとも呼ばれる。換言すると、コンピュータ読取り可能記憶媒体１１２４は、人が接触できる媒体である。
【０１１７】
あるいは、プログラムコード１１１８は、コンピュータ読取り可能信号媒体１１２６を使用してデータ処理システム１１００に転送することができる。コンピュータ読取り可能信号媒体１１２６は、たとえば、プログラムコード１１１８を含んでいる伝播されたデータ信号であってよい。たとえば、コンピュータ読取り可能信号媒体１１２６は、電磁気信号、光信号もしくは他の任意の適切なタイプの信号、または信号の組合せであってよい。これらの信号は、ワイヤレス通信リンク、光ファイバケーブル、同軸ケーブル、ワイヤもしくは他の任意の適切なタイプの通信リンク、またはリンクの組合せなど、通信リンクを介して送信されてよい。換言すると、例示的な例では、通信リンクまたはその接続は、物理的であってもよいし、ワイヤレスであってもよい。
【０１１８】
一部の有利な実施形態では、プログラムコード１１１８は、データ処理システム１１００内で使用するために、コンピュータ読取り可能信号媒体１１２６によって別のデバイスまたはデータ処理システムから永続記憶装置１１０８にネットワークを介してダウンロードすることができる。たとえば、サーバデータ処理システム内のコンピュータ読取り可能記憶媒体に格納されたプログラムコードは、ネットワークを介してサーバからデータ処理システム１１００にダウンロードすることができる。プログラムコード１１１８を提供するデータ処理システムは、プログラムコード１１１８を格納し送信できるサーバコンピュータ、クライアントコンピュータまたは他の何らかのデバイスであってよい。
【０１１９】
データ処理システム１１００について示された様々な構成要素は、それぞれ異なる実施形態が実装され得るやり方にアーキテクチャ上の制限を設けるためのものではない。それぞれ異なる有利な実施形態は、データ処理システム１１００について示されたものに加えた、またはその代わりの構成要素を含むデータ処理システムで実装されてよい。図１１に示された他の構成要素は、示された例示的な例から変更されてよい。それぞれ異なる実施形態は、プログラムコードを実行できる任意のハードウェアデバイスまたはシステムを使用して実装されてよい。一例として、データ処理システム１１００は、無機的な構成要素と統合された有機的な構成要素を含んでもよいし、人間を除く有機的な構成要素で完全に構成されてもよい。たとえば、記憶デバイスは、有機半導体で構成されてよい。
【０１２０】
別の有利な例では、プロセッサユニット１１０４は、特定の使用のために製造または構成される回路を有するハードウェアユニットの形をとってよい。このタイプのハードウェアは、操作を実施するように構成される記憶装置からプログラムコードをメモリにロードする必要なしに操作を実施することができる。
【０１２１】
たとえば、プロセッサユニット１１０４がハードウェアユニットの形をとる場合、プロセッサユニット１１０４は、回路システム、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、プログラマブル論理デバイス、またはいくつかの操作を実施するように構成された他の何らかの適切なタイプのハードウェアであってよい。プログラマブル論理デバイスでは、デバイスは、いくつかの操作を実施するように構成される。デバイスは、後に再構成されてもよいし、いくつかの操作を実施するように永続的に構成されてもよい。プログラマブル論理デバイスの例には、たとえば、プログラマブル論理アレイ、プログラマブルアレイ論理、フィールドプログラマブル論理アレイ、フィールドプログラマブルゲートアレイ、および他の適切なハードウェアデバイスが含まれる。このタイプの実装形態では、それぞれ異なる実施形態のプロセスがハードウェアユニットで実行されるので、プログラムコード１１１８は省くことができる。
【０１２２】
別の有利な例では、プロセッサユニット１１０４は、コンピュータおよびハードウェアユニットに見られるプロセッサの組合せを使用して実装されてよい。プロセッサユニット１１０４は、プログラムコード１１１８を実行するように構成された、いくつかのハードウェアユニットおよびいくつかのプロセッサを有してよい。この示された例では、プロセスの一部は、いくつかのハードウェアユニットで実装されてよく、他のプロセスは、いくつかのプロセッサで実装されてよい。
【０１２３】
別の例では、バスシステムが、通信ファブリック１１０２を実装するのに使用されてよく、またシステムバスや入出力バスなど、１つまたは複数のバスで構成されてよい。もちろん、バスシステムは、バスシステムに取り付けられたそれぞれ異なる構成要素またはデバイスの間のデータ転送に提供する任意の適切なタイプのアーキテクチャを使用して実装することができる。
【０１２４】
追加として、通信ユニット１１１０は、データを送信し、データを受信し、またはデータを送受信するいくつかのデバイスを含んでよい。通信ユニット１１１０は、たとえば、モデムまたはネットワークアダプタ、２つのネットワークアダプタ、あるいはその何らかの組合せであってよい。さらに、メモリは、たとえば通信ファブリック１１０２内に存在し得るインターフェースおよびメモリコントローラハブ内で見られるようなメモリ１１０６またはキャッシュであってよい。
【０１２５】
示されたそれぞれ異なる実施形態内のフローチャートおよびブロック図は、有利な一実施形態における装置および方法の何らかの可能な実装形態のアーキテクチャ、機能性および操作を示している。この点で、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、関数、または操作またはステップの一部を表し得る。たとえば、ブロックのうちの１つまたは複数は、プログラムコードとして、ハードウェア、またはプログラムコードとハードウェアの組合せで実装されてよい。ハードウェアで実装される場合、ハードウェアは、たとえば、フローチャートまたはブロック図中の１つまたは複数の操作を実施するように製造または構成される集積回路の形をとってよい。
【０１２６】
有利な一実施形態の一部の代替実施形態では、ブロック内に記載された１つまたは複数の機能が、図に示された順序以外で行われてもよい。たとえば、一部の場合では、連続して示された２つのブロックは、実質的に同時に実行されてもよいし、ブロックは、関与する機能性に応じて、時々逆の順序で実施されてもよい。フローチャートまたはブロック図に示されたブロックに加えて、他のブロックを追加することもできる。
【０１２７】
それぞれ異なる有利な実施形態についての説明は、例示および説明のために提示されており、網羅的なものでも、開示された形に実施形態を制限するためのものでもない。多くの修正形態および変形形態が、当業者には明らかになろう。さらに、それぞれ異なる有利な実施形態は、他の有利な実施形態と比べて異なる利点を提供することができる。選択された１つまたは複数の実施形態は、実施形態の原理、実用的な適用例について最もよく説明するために選ばれ述べられており、当業者が、企図された特定の使用に適するような様々な修正を伴う様々な実施形態について本開示を理解することを可能にする。
【符号の説明】
【０１２８】
１００  位置識別環境
１０２  プラットフォーム
１０４  環境
１０６  乗物
１０８  航空機
１１２  開放
１１４  閉鎖
１１６  特徴
１１０  ロボットマニピュレータ
１１８  位置
１２０  開始位置
１２２  現在位置
１２４  ロケーション
１２６  方向
１２８  プラットフォームコントローラ
１３０  位置識別子
１３２  筺体
１３４  マウント構造物
１３６  カメラシステム
１３８  位置計算器
１４０  画像
１４２  識別された位置
１４４  パースペクティブ
１４６  視野
１４８  画像フレーム
１５０  フレーム
１５２  識別されたロケーション
１５４  識別された方向
２００  位置計算器
２０２  画像
２０４  フレーム
２０６  画像処理機能
２０８  特徴識別機能
２０９  コントラスト強調
２１０  追跡点選択機能
２１２  点追跡機能
２１４  計算点選択機能
２１６  位置変更計算機能
２１８  識別位置計算機能
２２０  識別された位置
２２２  出力
３００  航空機
３０６  位置識別子
３０８  位置識別子
３１０  開放環境
３０２  航空機
３０４  把持機構
３１２  建物
３１４  木
４００  航空機
４０２  閉鎖環境
４０４  位置識別子
４０６  物体
４０８  パターン
４０９  床
４１０  パターン
４１１  壁
５００  ロボットマニピュレータ
５０２  部品／支持部品
５０４  支持構造物
５０６  アーム支持
５０８  アーム
５１０  エンドエフェクタ
５１２  床
５１４  関節
５１６  肘関節／関節
５１８  関節
５２０  ロボットコントローラ
５２２  位置識別子
５２４  留め具
５２６  継ぎ目
６００  位置識別子
６０２  筺体
６０４  開口部
６０６  窓
６０８  電源コネクタ
６１０  データコネクタ
６１２  マウント構造物
６１４  構造物
６１６  マウント開口部
７００  画像
７０２  画像フレーム
７０４  航空機
７０６  点
７０８  点
７１０  点
７１２  点
７１４  点
７１６  点
７１８  点
７２０  線
８００  画像
８０２  点
８０４  点
８０６  点
８０８  破線
８１０  破線
８１２  破線
８１４  線
８１６  矢印
１１００  データ処理システム
１１０２  通信ファブリック
１１０４  プロセッサユニット
１１０６  メモリ
１１０８  永続記憶装置
１１１０  通信ユニット
１１１２  入出力ユニット
１１１４  ディスプレイ
１１１６  記憶デバイス
１１１８  プログラムコード
１１２０  コンピュータ読取り可能媒体
１１２２  コンピュータプログラム製品
１１２４  コンピュータ読取り可能記憶媒体
１１２６  コンピュータ読取り可能信号媒体
【図１】
2018116065.tif 000003
【図２】
2018116065.tif 000004
【図３】
2018116065.tif 000005
【図４】
2018116065.tif 000006
【図５】
2018116065.tif 000007
【図６】
2018116065.tif 000008
【図７】
2018116065.tif 000009
【図８】
2018116065.tif 000010
【図９】
2018116065.tif 000011
【図１０】
2018116065.tif 000012
【図１１】
2018116065.tif 000013
【手続補正書】
【提出日】平成30年5月8日(2018.5.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
明細書に記載された発明。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１２７
【補正方法】変更
【補正の内容】
【０１２７】
それぞれ異なる有利な実施形態についての説明は、例示および説明のために提示されており、網羅的なものでも、開示された形に実施形態を制限するためのものでもない。多くの修正形態および変形形態が、当業者には明らかになろう。さらに、それぞれ異なる有利な実施形態は、他の有利な実施形態と比べて異なる利点を提供することができる。選択された１つまたは複数の実施形態は、実施形態の原理、実用的な適用例について最もよく説明するために選ばれ述べられており、当業者が、企図された特定の使用に適するような様々な修正を伴う様々な実施形態について本開示を理解することを可能にする。
（態様１）
プラットフォームの位置を識別するための方法であって、
プラットフォームが動いている間、プラットフォームに関連するカメラシステムによって生成された一連の画像内の特徴を識別するステップと、
一連の画像内の特徴の位置の移動からカメラシステムのパースペクティブの移動を識別するステップと、
パースペクティブの移動に基づいてプラットフォームの位置の変化を識別するステップと
を含む方法。
（態様２）
プラットフォームの位置の変化に基づいてプラットフォームの現在位置を識別するステップをさらに含む、態様１に記載の方法。
（態様３）
プラットフォームの現在位置を識別するステップが、プラットフォームの位置の変化およびプラットフォームの開始位置に基づいてプラットフォームの現在位置を識別するステップを含む、態様２に記載の方法。
（態様４）
プラットフォームの現在位置に基づいてプラットフォームの動きを制御するステップをさらに含む、態様２に記載の方法。
（態様５）
プラットフォームの位置が、３次元座標系内のプラットフォームのロケーションと、３次元座標系内のプラットフォームの方向とを含む、態様１に記載の方法。
（態様６）
特徴を識別するステップが、カメラシステムの視野で環境内の特徴に対応する一連の画像のいくつかのピクセルを識別するステップを含む、態様１に記載の方法。
（態様７）
一連の画像内の特徴を識別するステップが、
カメラシステムから一連の画像のうちの現在の画像を受け取るステップと、
カメラシステムの画像フレーム内の複数の第１のロケーションを識別するステップであって、複数の第１のロケーションのそれぞれが、一連の画像のうちの現在の画像内の特徴のうちの１つに対応する、ステップと、
画像フレーム内の複数の第２のロケーションを識別するステップであって、複数の第２のロケーションのそれぞれが、一連の画像のうちの前の画像内の特徴のうちの１つに対応するステップと
を含む、態様１に記載の方法。
（態様８）
カメラシステムのパースペクティブの移動を識別するステップが、
第１のロケーションのうちの選択されたロケーションを選択するステップと、
第１のロケーションのうちの選択されたロケーションと同じ特徴に対応する第２のロケーションの選択されたロケーションを識別するステップと、
画像フレーム内の第１のロケーションのうちの選択されたロケーションと、画像フレーム内の第２のロケーションのうちの選択されたロケーションとの間の差からカメラシステムのパースペクティブの移動を識別するステップと
を含む、態様７に記載の方法。
（態様９）
プラットフォームがロボットマニピュレータであり、カメラシステムがロボットマニピュレータに取り付けられる、態様１に記載の方法。
（態様１０）
一連の画像を生成するように構成されたカメラシステムと、 カメラシステムが動いている間、カメラシステムによって生成された一連の画像内の特徴を識別するステップと、一連の画像内の特徴の位置の移動からカメラシステムのパースペクティブの移動を識別するステップと、パースペクティブの移動に基づいてカメラシステムの位置の変化を識別するステップとを行うように構成された位置計算器と
を備える装置。
（態様１１）
位置計算器が、カメラシステムの位置の変化に基づいてカメラシステムの現在位置を識別するステップを行うようにさらに構成される、態様１０に記載の装置。
（態様１２）
位置計算器が、カメラシステムの位置の変化およびカメラシステムの開始位置に基づいてカメラシステムの現在位置を識別するステップを行うように構成される、態様１１に記載の装置。
（態様１３）
カメラシステムの位置が、３次元座標系内のカメラシステムのロケーションと、３次元座標系内のカメラシステムの方向とを備える、態様１０に記載の装置。
（態様１４）
位置計算器が、カメラシステムの視野で環境内の特徴に対応する一連の画像内のピクセル群を識別するステップを行うように構成される、態様１０に記載の装置。
（態様１５）
位置計算器が、
カメラシステムから一連の画像のうちの現在の画像を受け取るステップと、
カメラシステムの画像フレーム内の複数の第１のロケーションを識別するステップであって、複数の第１のロケーションのそれぞれが一連の画像のうちの現在の画像内の特徴のうちの１つに対応する、ステップと、
画像フレーム内の複数の第２のロケーションを識別するステップであって、複数の第２のロケーションのそれぞれが一連の画像のうちの前の画像内の特徴のうちの１つに対応する、ステップとを行うように構成される、態様１０に記載の装置。
（態様１６）
位置計算器が、
第１のロケーションのうちの選択されたロケーションを選択するステップと、
第１のロケーションのうちの選択されたロケーションと同じ特徴に対応する第２のロケーションのうちの選択されたロケーションを識別するステップと、
画像フレーム内の第１のロケーションと画像フレーム内の第２のロケーションとの間の差からカメラシステムのパースペクティブの移動を識別するステップとを行うように構成される、態様１５に記載の装置。
（態様１７）
筺体であって、カメラシステムおよび位置計算器が筺体内に含まれている、筺体と、
筺体をプラットフォームに取り付けるように構成されたマウント構造物と
をさらに備える、態様１０に記載の装置。
（態様１８）
マウント構造物が、航空機およびロボットマニピュレータから選択されたプラットフォームに筺体を取り付けるように構成される、態様１７に記載の装置。
（態様１９）
カメラシステムが、少なくともおよそ１００フレーム／秒のフレームレートを有するカメラを備える、態様１０に記載の装置。
【外国語明細書】
2018116065000001.pdf