(57)【要約】  実施形態は、ビークル衝突回避のためのデバイスおよび方法を含む。ビークルのプロセッサは、１つまたは複数のポイントを備えるセンサデータを受信し得る。プロセッサは、ビークルから１つまたは複数のポイントへの距離および方向を決定し得る。プロセッサは、ビークルから１つまたは複数のポイントへの決定された距離および方向に基づいて、１つまたは複数のポイントの各々についての速度制約を決定し得る。ナビゲーション命令に基づいて、プロセッサは、１つまたは複数の速度制約を満たす１つまたは複数の速度解を決定し得る。プロセッサは、ナビゲーション命令に基づいて、決定された１つまたは複数の速度解から速度解を選択し得、選択された速度解に基づいて、ビークル速度を調整し得る。
2019537140.tif 000002
【特許請求の範囲】
【請求項１】
ビークル衝突回避の方法であって、
１つまたは複数のポイントを備えるセンサデータを受信することと、
ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を備える方法。
【請求項２】
センサデータを受信することは、未処理のセンサデータを受信することを備える、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のポイントの各々についての前記速度制約は、速度不等式制約を備える、請求項１に記載の方法。
【請求項４】
前記ビークルから前記１つまたは複数のポイントへの前記距離および前記方向を決定することは、
前記ビークルから障害物への距離および方向を決定すること
を備える、請求項３に記載の方法。
【請求項５】
前記障害物は、前記１つまたは複数のポイントによって表される障害物を備える、請求項４に記載の方法。
【請求項６】
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することは、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を備える、請求項１に記載の方法。
【請求項７】
前記ビークルナビゲーション命令は、方向成分を含み、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することは、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択することを備える、
請求項１に記載の方法。
【請求項８】
前記ビークルナビゲーション命令は、速さ成分を含み、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することは、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することを備える、
請求項１に記載の方法。
【請求項９】
ビークルであって、
１つまたは複数のポイントを備えるセンサデータを受信することと、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を行うためのプロセッサ実行可能命令を用いて構成されたプロセッサ
を備えるビークル。
【請求項１０】
前記プロセッサは、未処理のセンサデータを備えるセンサデータセンサデータを受信するためのプロセッサ実行可能命令を用いてさらに構成される、請求項９に記載のビークル。
【請求項１１】
前記プロセッサは、前記１つまたは複数のポイントの各々についての前記速度制約が、速度不等式制約を備えるように、プロセッサ実行可能命令を用いてさらに構成される、請求項９に記載のビークル。
【請求項１２】
前記プロセッサは、
前記ビークルから障害物への距離および方向を決定すること
を行うためのプロセッサ実行可能命令を用いてさらに構成される、請求項１１に記載のビークル。
【請求項１３】
前記プロセッサは、前記障害物が、前記１つまたは複数のポイントによって表される障害物を備えるように、プロセッサ実行可能命令を用いてさらに構成される、請求項１２に記載のビークル。
【請求項１４】
前記プロセッサは、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を行うためのプロセッサ実行可能命令を用いてさらに構成される、請求項９に記載のビークル。
【請求項１５】
前記プロセッサは、前記ビークルナビゲーション命令が方向成分を含むように、プロセッサ実行可能命令を用いてさらに構成され、
前記プロセッサは、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択するためのプロセッサ実行可能命令を用いてさらに構成される、
請求項９に記載のビークル。
【請求項１６】
前記プロセッサは、前記ビークルナビゲーション命令が速さ成分を含むように、プロセッサ実行可能命令を用いてさらに構成され、
前記プロセッサは、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することによって、前記ビークルナビゲーション命令に基づいて、前記速度解を選択するためのプロセッサ実行可能命令を用いてさらに構成される、
請求項９に記載のビークル。
【請求項１７】
ビークルであって、
１つまたは複数のポイントを備えるセンサデータを受信するための手段と、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定するための手段と、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定するための手段と、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定するための手段と、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択するための手段と、
前記選択された速度解に基づいて、ビークル速度を調整するための手段と
を備えるビークル。
【請求項１８】
ビークルのプロセッサに、
１つまたは複数のポイントを備えるセンサデータを受信することと、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を備える動作を実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的なプロセッサ可読記憶媒体。
【請求項１９】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、センサデータを受信することが、未処理のセンサデータを受信することを備えるように、動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２０】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記１つまたは複数のポイントの各々についての前記速度制約が、速度不等式制約を備えるように、動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２１】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記ビークルから前記１つまたは複数のポイントへの前記距離および前記方向を決定することが、
前記ビークルから障害物への距離および方向を決定すること
を備えるように、動作を実行させるように構成される、請求項２０に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２２】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記障害物が、前記１つまたは複数のポイントによって表される障害物を備えるように、動作を実行させるように構成される、請求項２１に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２３】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することが、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を備えるように、動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２４】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、
前記ビークルナビゲーション命令が方向成分を含むように、および
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することが、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択することを備えるように、
動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２５】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、
前記ビークルナビゲーション命令が速さ成分を含むように、および
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することが、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することを備えるように、
動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【発明の詳細な説明】
【関連出願】
【０００１】
[0001]本願は、２０１６年１１月１４日に出願された「Vehicle Collision Avoidance」と題する、米国仮特許出願第６２／４２１，５５１号の優先権の利益を主張し、その内容全体が、その全体における参照により本明細書に組み込まれる。
【背景技術】
【０００２】
[0002]動いているビークル、特に、半自律型ビークルおよびロボットビークルは、最終的には障害物回避の課題に直面する。有人ビークルが、障害物を感知し、衝突を回避するためにリアルタイムのナビゲーション決定を行うために、人間オペレータに頼り得る一方で、遠隔制御ビークルおよび半自律型ビークルは、障害物回避の自動化技法に頼らなければならない。
【発明の概要】
【０００３】
[0003]様々な実施形態が、物体との衝突を回避するために、ビークルのプロセッサによってインプリメントされ得る方法を含む。様々な実施形態は、１つまたは複数のポイントを備えるセンサデータを受信することと、ビークルから１つまたは複数のポイントへの距離および方向を決定することと、ビークルから１つまたは複数のポイントの各々への決定された距離および方向に基づいて、１つまたは複数のポイントの各々についての速度制約を決定することと、ビークルナビゲーション命令に基づいて、決定された速度制約を満たす１つまたは複数の速度解を決定することと、ビークルナビゲーション命令に基づいて、決定された１つまたは複数の速度解から速度解を選択することと、選択された速度解に基づいて、ビークル速度を調整することと、を含み得る。いくつかの実施形態では、センサデータを受信することは、未処理のセンサデータを受信することを含み得る。いくつかの実施形態では、１つまたは複数のポイントの各々についての速度制約は、速度不等式制約（velocity inequality constraint）を含み得る。
【０００４】
[0004]いくつかの実施形態では、ビークルから１つまたは複数のポイントへの距離および方向を決定することは、ビークルから障害物への距離および方向を決定することを含み得る。いくつかの実施形態では、障害物は、１つまたは複数のポイントによって表される障害物を含み得る。
【０００５】
[0005]いくつかの実施形態では、ビークルから１つまたは複数のポイントの各々への決定された距離および方向に基づいて、１つまたは複数のポイントの各々についての速度制約を決定することは、ビークルから１つまたは複数のポイントによって表される障害物への決定された距離および方向に基づいて、１つまたは複数のポイントの各々についての速度制約を決定することを含み得る。
【０００６】
[0006]いくつかの実施形態では、ビークルナビゲーション命令は、方向成分を含み得、ビークルナビゲーション命令に基づいて、決定された１つまたは複数の速度解から速度解を選択することは、ビークルナビゲーション命令の方向成分に最も密接に一致する方向成分を有する速度解を選択することを含み得る。いくつかの実施形態では、ビークルナビゲーション命令は、速さ成分を含み得、ビークルナビゲーション命令に基づいて、決定された１つまたは複数の速度解から速度解を選択することは、ナビゲーション命令の速さ成分に最も密接に一致する速さ成分を有する速度解を選択することを含み得る。
【０００７】
[0007]さらなる実施形態は、上記で要約された方法の動作を実行するためのプロセッサ実行可能命令を用いて構成されたプロセッサを含むビークルを含み得る。さらなる実施形態は、上記で要約された方法の機能を実行するための手段を含むビークルを含み得る。さらなる実施形態は、ビークルのプロセッサに、上記で要約された方法の動作を実行させるように構成されたプロセッサ実行可能命令を記憶したプロセッサ可読記憶媒体を含み得る。
【図面の簡単な説明】
【０００８】
[0008]ここに組み込まれ、本明細書の一部を成す添付の図面は、例となる実施形態を例示し、上記で与えられた概要と、以下で与えられる詳細な説明と共に、様々な実施形態の特徴を説明するのに役立つ。
【図１】[0009]図１は、様々な実施形態による、通信システム内で動作するビークルのシステムブロック図である。
【図２】[0010]図２は、様々な実施形態による、ビークルの構成要素を例示する構成要素ブロック図である。
【図３】[0011]図３は、様々な実施形態による、ビークルのボディ座標系を例示する。
【図４Ａ】[0012]図４Ａは、様々な実施形態による、ビークル衝突回避の方法を例示する。
【図４Ｂ】[0013]図４Ｂは、様々な実施形態による、ビークル衝突回避の方法を例示する。
【図５】[0014]図５は、様々な実施形態による、ビークル衝突回避の方法を例示する。
【図６】[0015]図６は、様々な実施形態による、ビークル衝突回避の方法を例示するプロセスフロー図である。
【図７】[0016]図７は、様々な実施形態による、ビークル衝突回避の方法を例示するプロセスフロー図である。
【詳細な説明】
【０００９】
[0017]様々な実施形態が、添付の図面を参照して詳細に説明される。可能な限り、同一の参照番号が、同一または同様の部分を指すように、図面全体を通して使用される。特定の例および実施形態に対してなされる参照は、例示を目的としており、特許請求の範囲を限定するようには意図されない。
【００１０】
[0018]様々な実施形態は、ビークルのプロセッサによってインプリメントされ得る方法を含み、ビークルが障害物との衝突を回避することを可能にすることによって、ビークルの動作を改善し得る。いくつかの実施形態では、プロセッサは、１つまたは複数のポイントを含むセンサデータを受信し得、プロセッサは、ビークルから１つまたは複数のポイントへの距離および方向を決定し得る。いくつかの実施形態では、プロセッサは、ビークルから１つまたは複数のポイントへの距離および方向を決定し得、１つまたは複数のポイントの各々への決定された距離および方向に基づいて、１つまたは複数のポイントの各々についての速度制約を決定し得る。いくつかの実施形態では、プロセッサは、ビークルから、１つまたは複数のポイントによって表され得る障害物への距離および方向を決定し得、障害物についての速度制約を決定し得る。いくつかの実施形態では、プロセッサは、１つまたは複数のポイントの各々についての速度制約を決定し得る。プロセッサは、入力速度を含み得るナビゲーション入力を受信または取得し得、速度制約の全てを満たす速度解を決定するために、入力速度と１つまたは複数の速度制約とを使用し得る。様々な実施形態はまた、ナビゲーション命令に密接に一致するようにビークル速度を調整することによって、ビークルの動作を改善し得る。様々な実施形態はまた、ポイントのグループ（これは、ポイントの非常に大きいグループを含み得る）の中から１つまたは複数のポイントを識別することと、１つまたは複数の識別されたポイントの各々についての速度制約を決定することとによって、ビークルのプロセッサへの計算の負担を低減させることによって、ビークルの動作を改善し得る。様々な実施形態では、プロセッサは、ビークル速度に限度を設ける（place bounds）ために、速度制約を使用し得る。
【００１１】
[0019]ここで使用される場合、「ビークル」という用語は、ロボットビークルおよび半自律型ビークルの様々なタイプのうちの１つを指す。ビークルは、搭載された（onboard）コンピューティングデバイスのメモリに記憶された命令に対する更新または何らかの遠隔操作命令を用いてビークルを操縦および／またはナビゲートするように構成された搭載されたコンピューティングデバイスを含み得る。いくつかのインプリメンテーションでは、ビークルは、複数の推進ユニットを使用して飛行のために推進される航空ビークルであり得、複数の推進ユニットのそれぞれは、ビークルに推進力および／または揚力を提供する、１つまたは複数の回転翼を含む。いくつかのインプリメンテーションでは、ビークルは、陸上ビークル、水上ビークル、または水中ビークルであり得る。ビークル推進ユニットは、バッテリ、燃料電池、電動発電機、太陽電池、または他の電力源などの、１つまたは複数のタイプの電力源によって電力供給され得、これらはまた、搭載されたコンピューティングデバイス、ナビゲーション構成要素、および／または他の搭載された構成要素にも電力供給し得る。
【００１２】
[0020]動いているビークル、特に、半自律型ビークルおよびロボットビークルは、最終的には障害物回避の課題に直面する。有人ビークルが、障害物を感知し、衝突を回避するためにリアルタイムのナビゲーション決定を行うために、人間オペレータに頼り得る一方で、遠隔制御ビークルおよび半自律型ビークルは、障害物回避の自動化技法に頼らなければならない。
【００１３】
[0021]様々な実施形態が、物体との衝突を回避するために、ビークルのプロセッサによってインプリメントされる方法を提供する。様々な実施形態では、ビークルのプロセッサは、例えば、ビークルのセンサによって受信された情報から、障害物を検出し得る。プロセッサは、ビークルと障害物の間の距離および障害物に対する角度を決定し得、障害物についての速度制約を決定し得る。プロセッサは、ナビゲーション命令を受信または取得し得、これは、入力速度を含み得る。プロセッサは、速度制約を満たす入力速度に基づいて、１つまたは複数の速度解を決定し得る。プロセッサは、ナビゲーション命令に基づいて、速度解を選択し得、プロセッサは、選択された速度解に基づいて、ビークル速度を調整し得る。いくつかの実施形態では、速度制約は、ビークルが障害物に衝突することなく達し得る最大速度を含み得る。
【００１４】
[0022]様々な実施形態は、様々な通信システム１００内で動作するビークル内でインプリメントされ得、その一例が、図１に例示される。図１を参照すると、通信システム１００は、ビークル１０２、ビークルコントローラ１３０、基地局１０４、アクセスポイント１０６、通信ネットワーク１０８、およびネットワーク要素１１０を含み得る。
【００１５】
[0023]基地局１０４およびアクセスポイント１０６は、それぞれ、ワイヤードおよび／またはワイヤレス通信バックホール１１８および１２０を介して通信ネットワーク１０８にアクセスするためのワイヤレス通信を提供し得る。基地局１０４は、広いエリアにわたってワイヤレス通信を提供するように構成された基地局（例えば、マクロセル）のみならず、スモールセルも含み得、これは、マイクロセル、フェムトセル、ピコセル、および他の同様のネットワークアクセスポイントを含み得る。アクセスポイント１０６は、比較的より小さいエリアにわたってワイヤレス通信を提供するように構成されたアクセスポイントを含み得る。基地局およびアクセスポイントの他の例もまた可能である。
【００１６】
[0024]ビークル１０２は、ワイヤレス通信リンク１１６を介して、ビークルコントローラ１３０と通信し得る。ビークルコントローラ１３０は、ビークル１０２に、飛行および／またはナビゲーション命令を提供し得る。ビークル１０２はまた、ワイヤレス通信リンク１１２を介して基地局１０４と、およびワイヤレス通信リンク１１４を介してアクセスポイント１０６と通信し得る。ワイヤレス通信リンク１１２および１１４は、複数の搬送波信号、周波数、または周波数帯域を含み得、これらの各々は、複数の論理チャネルを含み得る。ワイヤレス通信リンク１１２および１１４は、１つまたは複数の無線アクセス技術（ＲＡＴ）を利用し得る。ワイヤレス通信リンクにおいて使用され得るＲＡＴの例は、３ＧＰＰ（登録商標）ロングタームエボリューション（ＬＴＥ（登録商標））、３Ｇ、４Ｇ、５Ｇ、モビリティのためのグローバルシステム（ＧＳＭ（登録商標））、符号分割多元接続（ＣＤＭＡ）、広帯域符号分割多元接続（ＷＣＤＭＡ（登録商標））、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）、時分割多元接続（ＴＤＭＡ）、および他の携帯電話通信技術のセルラＲＡＴを含む。通信システム１００内の様々なワイヤレス通信リンクのうちの１つまたは複数において使用され得るＲＡＴのさらなる例は、Ｗｉ−Ｆｉ、ＬＴＥ−Ｕ、ＬＴＥ−Ｄｉｒｅｃｔ、ＬＡＡ、ＭｕＬＴＥｆｉｒｅなどの中距離プロトコルと、ＺｉｇＢｅｅ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、およびＢｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＬＥ）（登録商標）などの比較的短距離のＲＡＴとを含む。
【００１７】
[0025]ネットワーク要素１１０は、ネットワークサーバまたは別の同様のネットワーク要素を含み得る。ネットワーク要素１１０は、通信リンク１２２を介して、通信ネットワーク１０８と通信し得る。ビークル１０２およびネットワーク要素１１０は、通信ネットワーク１０８を介して通信し得る。ネットワーク要素１１０は、ナビゲーション情報、気象情報、局地的な航空、陸上、および／または海上の交通についての情報などの様々な情報、移動（movement）制御命令、およびビークル１０２の動作に関連する他の情報、命令、またはコマンドを、ビークル１０２に提供し得る。
【００１８】
[0026]様々な実施形態では、ビークル１０２は、動きの経路１５０上で、環境を通って移動し得る。ビークル１０２が環境を通って移動するにつれて、ビークルは、障害物１４０または障害物１４２などの、障害物を検出し得る。障害物は、ビークル１０２に対して衝突のリスクをもたらし得る。障害物１４２などのいくつかの障害物は、比較的より小さく、回避またはよけて進む（navigate around）ことが可能であり得る。障害物１４０などのいくつかの障害物は、壁または同様の障壁などの、回避またはよけて進むことが不可能な障害物を含み得る。
【００１９】
[0027]ビークルは、様々な設計を含み得る。図２は、様々な実施形態を利用し得る例となるビークル２００を例示する。ビークル２００が、航空設計を有して例示されている一方で、この例示は、様々な実施形態が回転翼航空機ビークルに、または航空ビークルに限定されることを暗示または必要とするようには意図されない。様々な実施形態は、有翼ビークルのみならず、地上ビークル、モータビークル、および水中ビークルと共に使用され得る。他の設計のビークルが、航空ビークル２００に関して以下で説明される要素に類似した要素を含み得、特定のビークル設計に対して、適宜、他の要素も含み得ることがまた、理解されるであろう。
【００２０】
[0028]図１および図２を参照すると、ビークル２００は、ビークル１０２に類似し得る。ビークル２００は、離昇（または離陸）ならびに他の空中移動（例えば、前進、上昇、下降、横移動、傾斜（tilting）、回転、等）を提供するために、対応するモータによって駆動される１つまたは複数の回転翼２０２を利用する。ビークル２００は、いくつかの回転翼２０２、フレーム２０４、および着陸支柱（landing columns）２０６またはスキッドを含み得る。フレーム２０４は、回転翼２０２に関連付けられたモータのための構造的支持を提供し得る。着陸支柱２０６は、ビークル２００の複数の構成要素と、場合によっては、ペイロードとの組合せについての最大荷重（maximum load weight）を支え得る。説明および例示を簡単にするために、配線、フレーム構造インターコネクト、または当業者には既知であろう他の特徴などの、ビークル２００のいくつかの詳細な態様が省略されている。例えば、ビークル２００が、いくつかの支持部材またはフレーム構造を有するフレーム２０４を有するように説明および示されている一方で、ビークル２００は、モールド成形された構造を通じて支持が得られるモールド成形されたフレームを使用して組み立てられ得る。例示されているビークル２００が４つの回転翼２０２を有する一方で、これは単に例示的であり、様々な実施形態は、４つよりも多いまたは少ない回転翼２０２を含み得る。
【００２１】
[0029]ビークル２００は、ビークル２００の動作を制御および電力供給するために使用される様々な回路およびデバイスを収容し得る制御ユニット２１０をさらに含み得る。制御ユニット２１０は、プロセッサ２２０、電力モジュール２３０、センサ２４０、ペイロード固定ユニット２４４、出力モジュール２５０、入力モジュール２６０、および無線モジュール２７０を含み得る。
【００２２】
[0030]プロセッサ２２０は、様々な実施形態の動作を含む、ビークル２００の移動（travel）および他の動作を制御するためのプロセッサ実行可能命令を用いて構成され得る。プロセッサ２２０は、ナビゲーションユニット２２２、メモリ２２４、ジャイロ／加速度計ユニット２２６、およびアビオニクスモジュール２２８を含み得るか、またはそれらに結合され得る。プロセッサ２２０および／またはナビゲーションユニット２２２は、ナビゲーションに有用なデータを受信し、リアルタイムの位置報告を提供し、およびデータを評価するために、ワイヤレス接続（例えば、セルラデータネットワーク）を通じてサーバと通信するように構成され得る。
【００２３】
[0031]アビオニクスモジュール２２８は、プロセッサ２２０および／またはナビゲーションユニット２２２に結合され得、ナビゲーションユニット２２２が全地球航法衛星システム（ＧＮＳＳ）位置更新間の推測航法などのナビゲーション目的のために使用し得る高度、姿勢、対気速度、進行方向（heading）、および同様の情報などの、移動制御関連情報を提供するように構成され得る。
【００２４】
[0032]ジャイロ／加速度計ユニット２２６は、加速度計、ジャイロスコープ、慣性センサ、または他の同様のセンサを含み得る。アビオニクスモジュール２２８は、ナビゲーションおよび位置決定において使用され得る、ビークル２００のオリエンテーションおよび加速度に関するデータを提供するジャイロ／加速度計ユニット２２６からのデータを含むか、または受信し得る。
【００２５】
[0033]プロセッサ２２０は、（例えば、可視光、赤外線、紫外線、および／または他の波長の光を感知することが可能な）光学センサまたは画像センサなどのセンサ２４０から追加の情報をさらに受信し得る。センサ２４０はまた、無線周波数（ＲＦ）センサ、気圧計、ソナーエミッタ／検出器、レーダーエミッタ／検出器、マイクロフォンまたは別の音響センサ、あるいは移動動作のみならず、ナビゲーションおよび位置決定および計算のためにプロセッサ２２０によって使用可能な情報を提供し得る別のセンサも含み得る。センサ２４０は、ビークル２００が表面との接触を行ったときを示す信号を提供し得る、接触または圧力センサを含み得る。ペイロード固定ユニット２４４は、制御ユニット２１０からのコマンドに応答してペイロードを把持および解放するために、把持および解放機構を駆動するアクチュエータモータと、制御ユニット２１０に応答する関連制御装置とを含み得る。様々な実施形態では、制御ユニット２１０は、入力モジュール２６０を装備し得、これは、様々なアプリケーションのために使用され得る。例えば、入力モジュール２６０は、搭載されたカメラまたはセンサから画像またはデータを受信し得、または他の構成要素（例えば、ペイロード）から電子信号を受信し得る。
【００２６】
[0034]いくつかの実施形態では、ナビゲーションユニット２２２は、飛行コントローラモジュール２２２ａおよび経路プランナモジュール２２２ｂなどの、様々な異なる機能を実行するためのモジュールを含み得る。飛行コントローラモジュール２２２ａは、計算を実行し、ビークルの移動のその時々での制御（moment-to-moment control）に関連する、ビークル２００上の様々なモータコントローラおよび／またはアクチュエータに命令を送り得る。飛行コントローラモジュール２２２ａは、ジャイロ／加速度計ユニット２２６、アビオニクスモジュール２２８、およびセンサ２４０のうちの１つまたは複数からの情報を使用し得る。経路プランナモジュール２２２ｂは、（ビークル２００の移動のその時々での制御とは対照的に）グローバル経路計画に関連する計算および決定を実行し得、飛行コントローラモジュール２２２ａに経路情報を送り得る。
【００２７】
[0035]電力モジュール２３０は、プロセッサ２２０、センサ２４０、ペイロード固定ユニット２４４、出力モジュール２５０、入力モジュール２６０、および無線モジュール２７０を含む、様々な構成要素に電力を供給し得る１つまたは複数のバッテリを含み得る。加えて、電力モジュール２３０は、再充電可能バッテリなどの、エネルギー貯蔵構成要素を含み得る。プロセッサ２２０は、充電制御回路を使用して充電制御アルゴリズムを実行することなどによって、電力モジュール２３０の充電（すなわち、採取されたエネルギーの貯蔵）を制御するためのプロセッサ実行可能命令を用いて構成され得る。代替または追加として、電力モジュール２３０は、それ自体の充電を管理するように構成され得る。プロセッサ２２０は、出力モジュール２５０に結合され得、これは、回転翼２０２と他の構成要素とを駆動するモータを管理するための制御信号を出力し得る。
【００２８】
[0036]ビークル２００は、ビークル２００が目的地に向かって進むにつれて（as）、回転翼２０２の個々のモータの制御を通じて制御され得る。プロセッサ２２０は、ナビゲーションユニット２２２からデータを受信し、ビークル２００の現在位置およびオリエンテーション、ならびに目的地または中間地点に向かう適切な進路を決定するために、そのようなデータを使用し得る。様々な実施形態では、ナビゲーションユニット２２２は、ビークル２００がＧＮＳＳ信号を使用してナビゲートすることを可能にするＧＮＳＳ受信機システム（例えば、１つまたは複数の全地球測位システム（ＧＰＳ）受信機）を含み得る。いくつかの実施形態では、ナビゲーションユニット２２２は、視覚慣性オドメトリなどの、画像ベースのシステムから導出された位置を受信または決定し得る。代替または追加として、ナビゲーションユニット２２２は、ナビゲーションビーコン（例えば、超短波（ＶＨＦ）全方向式レンジ（ＶＯＲ）ビーコン）、Ｗｉ−Ｆｉアクセスポイント、セルラネットワークサイト、無線局、遠隔コンピューティングデバイス、他のＵＡＶ、等のような、無線ノードからのナビゲーションビーコンまたは他の信号を受信するための無線ナビゲーション受信機を装備し得る。
【００２９】
[0037]無線モジュール２７０は、航空ナビゲーション設備、等からの信号などのナビゲーション信号を受信し、ビークルナビゲーションを支援するために、プロセッサ２２０および／またはナビゲーションユニット２２２にそのような信号を提供するように構成され得る。様々な実施形態では、ナビゲーションユニット２２２は、地上の認識可能なＲＦエミッタ（例えば、ＡＭ／ＦＭ無線局、Ｗｉ−Ｆｉアクセスポイント、およびセルラネットワーク基地局）から受信される信号を使用し得る。
【００３０】
[0038]無線モジュール２７０は、モデム２７４および送信／受信アンテナ２７２を含み得る。無線モジュール２７０は、ビークルコントローラ２９０とのみならず、ワイヤレス電話通信基地局またはセルタワー（例えば、基地局１０４）、ネットワークアクセスポイント（例えば、アクセスポイント１０６）、ビークル２００がそれと通信し得るビーコン、スマートフォン、タブレット、または別のコンピューティングデバイス（ネットワーク要素１１０など）とのワイヤレス通信を行うように構成され得る。プロセッサ２２０は、送信／受信アンテナ２９２を介してワイヤレス通信デバイス２９０と、無線モジュール２７０のアンテナ２７２およびモデム２７４とを介して、双方向ワイヤレス通信リンク２９４を確立し得る。いくつかの実施形態では、無線モジュール２７０は、異なる無線アクセス技術を使用する異なるワイヤレス通信デバイスとの複数の接続（multiple connections）をサポートするように構成され得る。
【００３１】
[0039]制御ユニット２１０の様々な構成要素が別個の構成要素として例示されている一方で、構成要素（例えば、プロセッサ２２０、出力モジュール２５０、無線モジュール２７０、および他のユニット）の一部または全ては、システムオンチップモジュールなどの、単一のデバイスまたはモジュールにおいて共に一体化され得る。
【００３２】
[0040]いくつかの実施形態では、ロボットビークルまたは半自律型ビークルは、その環境を感知し、およびまたはフレームまたはボディ座標系に基づいて、ある特定のナビゲーションおよび／または飛行の決定を下し得る。図３は、３軸ボディフレーム座標系３００の一例を例示する。図１〜図３を参照すると、いくつかの実施形態では、ビークルのプロセッサ（例えば、プロセッサ２２０）は、ボディフレーム座標系に対する（relative to）ビークルから障害物への（または、以下でさらに説明するように、ポイントへの）方向および距離を決定し得る。いくつかの実施形態では、ボディフレーム座標系３００は、ワールドフレーム、ボディフレーム、重力整列されたボディフレーム（gravity-aligned body frame）、および同様のものを含む、様々なフレームを使用し得る。様々な実施形態では、ビークルのプロセッサ（例えば、プロセッサ２２０）は、Ｘ軸、Ｙ軸、およびＺ軸のそれぞれに対するロケーションを示し得る。プロセッサは、（例えば、前後方向をＸ軸と、左右をＹ軸と、および上下をＺ軸と、のように）相対方向を各軸と関連付け得る。
【００３３】
[0041]図４Ａは、様々な実施形態による、ビークル衝突回避の方法４００を例示する。図１〜図４Ａを参照すると、ビークル４０２（これは、ビークル１０２および２００に類似し得る）のプロセッサ（例えば、プロセッサ２２０）は、ビークルのセンサ（センサ２４０のうちの１つまたは複数など）を使用して、障害物１４０および１４２などの障害物を検出し得る。いくつかのインプリメンテーションでは、センサは、ビークル４０２のプロセッサが、ビークル４０２から障害物（例えば、障害物１４０および１４２）への距離および方向（例えば、角度）を決定することを可能にするデータを得るか、または受信し得る。センサは、例えば、プロセッサがビークル４０２から障害物１４０および１４２への距離および方向を決定するために使用し得るステレオからの奥行き（ＤＦＳ：depth-from-stereo）情報を、ビークル４０２のプロセッサが得ることを可能にし得る、双眼カメラなどの双眼センサを含み得る。別の例として、センサは、障害物１４０および１４２への距離および方向を決定するための情報をプロセッサに提供し得るレーダー、ライダー、ソナー、または別のセンサのうちの１つまたは複数を含み得る。
【００３４】
[0042]検出された障害物のサイズ、形状、および他の特徴（characteristic）を決定することなどの、障害物を特徴付けることは、計算集約的(computationally intensive)であり得る。プロセッサへの計算の負担を低減させるために、いくつかの実施形態では、プロセッサは、障害物１４０上に例示されたポイント４０４（１−ｎ）および障害物１４２上に例示されたポイント４０６（１−ｎ）などの、１つまたは複数のポイントを識別し得る。１つまたは複数のポイント（例えば、４０４（１−ｎ）および４０６（１−ｎ）の各々は、ポイントのロケーションにおける障害物の存在を示し得、および／またはそれ自体が障害物の全体であり得る。いくつかの実施形態では、１つまたは複数のポイントの各々は、障害物を表し得る。いくつかの実施形態では、プロセッサは、いかなるポイントも、識別しない可能性があり、または識別することができない可能性があり、これは、障害物が検出されなかったことを示し得る。
【００３５】
[0043]いくつかの実施形態では、プロセッサは、ポイント４０４ａ、４０４ｂ、４０４ｃ．．．４０４（ｎ）、およびポイント４０６ａ、４０６ｂ．．．４０６（ｎ）などの、１つまたは複数のポイントを識別し得る。いくつかのインプリメンテーションでは、ポイントは、障害物（例えば、障害物１４０および１４２）上のまたはその近くのポイントであり得るが、これは必須ではない。いくつかの実施形態では、プロセッサは、例えば、ビークル４０２のセンサの、視野から１つまたは複数のポイントを識別し得る。例えば、プロセッサは、カメラを使用して画像を受信し得、画像における１つまたは複数のポイントを識別し得る。いくつかのインプリメンテーションでは、ポイントは、画像におけるピクセルに対応し得る。いくつかのインプリメンテーションでは、プロセッサは、画像における各ピクセルにつき１つのポイントなど、非常に多くのポイントを識別し得る。いくつかの実施形態では、プロセッサは、より少ないポイントを識別することによって、処理負担を低減させ得る。いくつかの実施形態では、プロセッサは、画像の解像度を低減させることによって、処理負担を低減させ得、それによって、ポイントをそれから識別するためのピクセル数を低減させる。
【００３６】
[0044]様々な実施形態では、プロセッサは、カメラからの未処理の画像データなどの、未処理のセンサデータ（「生のセンサデータ」）を受信し得、センサデータにおいて表される物体を認識または識別するために、受信された生のセンサデータに対してさらなる処理を実行しない場合がある（may not perform）。例えば、プロセッサは、センサの視野内の物体を認識する、定義する、位置を特定する、または他の方法で特徴付けるために、センサデータに対して解析を実行しない場合がある。したがって、物体が、受信された生のセンサデータを処理することによって認識または特徴付けられ得る一方で、様々な実施形態は、そのような計算集約的な動作を伴うことも、必要とすることもない。いくつかの実施形態では、プロセッサは、センサデータによって表される物体を識別するために、アルゴリズムまたは数式に未処理のセンサデータを適用しない場合がある。
【００３７】
[0045]各検出された障害物（例えば、１４０、１４２）について、または各識別されたポイント（例えば、４０４（１−ｎ）、４０６（１−ｎ）について、プロセッサは、プロセッサがビークル４０２の速度を調整するために使用し得る速度制約を決定し得る。（例えば、ビークル４０２の）速度、および速度制約は、それぞれ方向成分および速さ成分を含むベクトル量であり得る。いくつかの実施形態では、ビークル４０２のプロセッサは、障害物上の各ポイントについての速度制約を決定し得る。速度制約の決定は、ビークルから障害物またはポイントへの距離および方向に基づき得る。様々な実施形態では、プロセッサは、障害物またはポイントへの距離および／または方向が変化するにつれて、新しい／異なる速度制約を決定し得る。様々な実施形態では、プロセッサは、ビークルが各障害物またはポイントに対して空間を通って移動するにつれて、速度制約を決定し得る。いくつかの実施形態では、プロセッサは、プロセッサの能力および利用可能な処理リソースに依存して、毎秒何回も（潜在的に毎秒数百回または数千回）速度制約を決定し得る。
【００３８】
[0046]様々な実施形態では、ビークルから障害物またはポイントへの決定された距離は、停止距離を含み得る。停止距離は、障害物またはポイントと衝突することを回避するために、ビークルが障害物またはポイントに向かって移動するのを停止しなければならない、障害物（またはポイント）からの緩衝距離であり得る。いくつかの実施形態では、停止距離は、少なくともビークルの長さ（またはビークルのサイズの別の測定値）であり得る。停止距離はまた、ビークルと、障害物またはポイントとの間により大きい緩衝を提供するために、追加の距離を含み得る。プロセッサは、ビークルセンサの感度に基づいて、停止距離を決定または調整し得る。例えば、双眼カメラセンサは、最小の奥行知覚を有し得、プロセッサは、センサの最小の奥行知覚に基づいて、停止距離を決定し得る。プロセッサはまた、ビークル速度、ビークル質量（例えば、ある速度で移動しているビークルが停止する距離）、プロセッサの処理の速さ、およびビークルのダイナミクスから導出され得るその他任意の特性（property）に基づいて、停止距離を決定または調整し得る。
【００３９】
[0047]いくつかの実施形態では、プロセッサは、距離値「ｄ」を決定し得、これは、以下のように表され得る：
ｄ＝Ｄ-δ［式１］
ここで、「Ｄ」は、ビークルから障害物またはポイントまでの総距離を表し、「δ」は、停止距離を表し、「ｄ」は、ビークルから停止距離までの距離（すなわち、総距離から停止距離を差し引いたもの）を表す。
【００４０】
[0048]様々な実施形態では、プロセッサは、ビークルのボディ座標フレームの基準軸と、ビークルから障害物またはポイントへ延びる線との間の角度を表す角度「θ」を決定することによって、障害物またはポイントの位置を決定し得る。いくつかの実施形態では、プロセッサは、ボディ座標フレームの２つ以上の基準軸と、ビークルから障害物またはポイントへ延びる線との間の２つ以上の角度（例えば、ｘ軸からの角度、ｙ軸からの角度、およびｚ軸からの角度のうちの１つまたは複数）を決定し得る。様々な実施形態では、プロセッサは、ビークルが障害物またはポイントに対して移動するにつれて、新しい／異なる角度および距離を決定し得る。
【００４１】
[0049]図４Ｂは、様々な実施形態による、ビークル衝突回避の方法４００を例示する。図１〜図４Ｂを参照すると、ビークル４０２（これは、ビークル１０２および２００に類似し得る）のプロセッサ（例えば、プロセッサ２２０）は、プロセッサが複数の速度制約を満たす速度解を決定するために使用し得る複数の速度制約を決定し得る。例えば、３つのポイント（例えば、ポイント４０４ｂ、４０４ｃ、および４０６ａ）について、プロセッサは、それぞれの速度制約４１０、４２０、および４３０を決定し得る。プロセッサは、ビークルの速度を制限または限定するために、速度制約４１０、４２０、および４３０を使用し得る。いくつかの実施形態では、プロセッサは、各ポイント（または障害物）の基準フレーム内にビークルの速度を制限または限定するために、速度制約４１０、４２０、および４３０を使用し得る。いくつかの実施形態では、プロセッサは、入力（例えば、命令されたまたは指令された）ビークル速度（例えば、Ｖｉｎｐｕｔ４４０）を含むナビゲーション命令を受信し得、プロセッサは、１つまたは複数の速度解（例えば、Ｖｓｏｌｕｔｉｏｎ４５０）を決定するために、速度制約４１０、４２０、および４３０と、入力速度Ｖｉｎｐｕｔ４４０とを使用し得る。様々な実施形態では、入力速度４４０および速度解４５０は、方向成分および速さ成分をそれぞれ含み得る。
【００４２】
[0050]いくつかの実施形態では、速度制約は、ビークルが障害物またはポイントに衝突することなく達し得る（または、プロセッサが、それにビークルが達することを許可し得る）最大速度を表し得る。速度制約は、次の関数によって表され得る：
Ｖ２＝２ａｄ［式２］
ここで、「Ｖ」は、速度制約を表し、「ａ」は、最大加速度（これは、一定であることも、一定でないこともあり得る）を表し、「ｄ」は、ビークルから停止距離への距離を表す。
【００４３】
[0051]様々な実施形態では、決定された速度制約は、ポイントまたは障害物から最も遠い停止距離のエンドポイントに位置する、ビークルと障害物またはポイントとの間の仮想「フェンス」または「障壁」を定義する超平面として表され得る。プロセッサは、各速度制約を満たす（例えば、それ以下である）速度解を決定する際に、各速度制約４１０、４２０、および４３０を使用し得、それによって、ビークルが各障害物またはポイントについての停止距離内へ移動するのを防止する。例えば、図４Ｂに例示されるように、入力速度Ｖｉｎｐｕｔ４４０は、速度制約４１０および４２０を超えている（その上側および左側に例示される）。プロセッサは、（プロセッサが全体として（in the aggregate）考慮し得る）速度制約４１０、４２０、および４３０を使用して、速度解Ｖｓｏｌｕｔｉｏｎ４５０を返し得、これは、（以下で例示されるように）速度制約４１０、４２０、および４３０内にある。したがって、いくつかの実施形態では、プロセッサは、組み合わされた速度制約４１０、４２０、および４３０によって、ビークルの速度を制限または限定し得る。
【００４４】
[0052]様々な実施形態では、プロセッサは、１つまたは複数の障害物またはポイントとの衝突を回避するために、速度制約を使用してナビゲーション命令を修正または調整し得る。例えば、ビークルは、入力速度４４０を示すナビゲーション命令を取得し得る。いくつかの実施形態では、プロセッサは、コントローラ１３０からなどの、ユーザ入力からナビゲーション命令を取得し得る。いくつかの実施形態では、プロセッサは、ビークルのメモリに記憶され得る記憶されたナビゲーションデータにアクセスすることによって、ナビゲーション命令を取得し得る。いくつかの実施形態では、プロセッサは、ネットワーク要素１１０などの遠隔ソースからのナビゲーションデータの送信を受信することによって、ナビゲーション命令を取得し得る。
【００４５】
[0053]ナビゲーション命令は、ビークルが移動すべき方向および速さを示す方向成分および速さ成分を含み得る。プロセッサが、所望の速度４４０が制約４１０、４２０、および４３０のうちの１つまたは複数を超過すると決定した場合、プロセッサは、速度制約４１０、４２０、および４３０を満たすことになる（例えば、違反しないであろう）速度解を決定するために、所望の速度４４０と、速度制約４１０、４２０、および４３０とを使用して、最適化関数（optimization function）を実行し得る。いくつかの実施形態では、速度制約が等式（equality expression）を使用して生成される一方で、各速度制約は、それ未満にプロセッサがビークル速度を維持しなければならないしきい値速度を提供する不等式（「速度不等式制約」）として表され得る。例えば、速度不等式制約は、次の関数によって表され得る：
【００４６】
【数１】
2019537140.tif 000003
【００４７】
ここで、
【００４８】
【数２】
2019537140.tif 000004
【００４９】
は、ビークルから障害物またはポイント「ｉ」へのベクトルを表し、「ａ」は、最大加速度（これは、一定であることも、一定でないこともあり得る）を表し、「ｄ」は、それ以内ではビークルが障害物またはポイントとの衝突を回避し得る距離（例えば、ビークルから、障害物またはポイントについての停止距離までの距離）を表す。いくつかの実施形態では、プロセッサは、１つまたは複数の速度解４５０を生成するために、速度制約４１０、４２０、４３０および所望の速度４４０を最適化関数に渡し得る。速度解４５０は、ビークルのナビゲーションユニット／飛行コントローラによってインプリメントされた場合に、ビークルが（１つまたは複数の）障害物または（１つまたは複数の）ポイントと衝突するのを防止するであろう代替速度（alternate velocities）であり得る。
【００５０】
[0054]いくつかの実施形態では、ビークルは、１つまたは複数の生成された速度解４５０を所望の速度４４０と比較し得、所望の速度４４０の速さ成分および方向成分のうちの少なくとも１つに最も密接に一致する速度解４５０を選択し得る。したがって、いくつかの実施形態では、プロセッサは、ナビゲーション命令の方向成分に最も密接に一致する方向成分を有する速度解を選択し得る。いくつかの実施形態では、プロセッサは、ナビゲーション命令の速さ成分に最も密接に一致する速度解を選択し得る。いくつかの実施形態では、プロセッサは、ナビゲーション命令の方向成分および速さ成分に最も密接に一致する方向成分および速さ成分の両方を有する速度解を選択し得る。いくつかの実施形態では、プロセッサは、速度制約４１０、４２０、および４３０を反復的に（例えば、周期的にまたは非周期的に）再決定し得、ビークルが障害物またはポイントを基準として（with reference to）移動するにつれて、衝突を回避するために速度解４５０を再決定し得る。いくつかの実施形態では、速度制約および速度解の反復的な再決定は、プロセッサが、ナビゲーション命令に最も密接に一致する決定された速度解を選択することを可能にし得る。その後、プロセッサは、選択された速度解に基づいて、ビークル速度を調整し得る。動作中、速度制約および速度解の反復的な再決定、およびそれに基づくビークル速度の調整は、プロセッサが、ビークルオペレータにとって混乱を伴うことのない（nondisruptive）自然な感じのやり方で、ビークル速度を調整することを可能にし得る。変更のないナビゲーション入力が、障害物またはポイントとのビークル衝突をもたらし得るいくつかのインプリメンテーションでは、ビークル速度を調整するための、プロセッサによる決定された速度解の使用は、ビークルを障害物またはポイントとの衝突を回避する経路に沿って移動させ得、障害物またはポイントをよけて通る（skirts along）、それに沿ってスライドする、その下をくぐる、またはその上方をスライドする、その他の点ではナビゲーション入力と密接に一致する経路に沿った、ビークルによる動きをもたらすことさえもあり得る。
【００５１】
[0055]いくつかの実施形態では、プロセッサは、未処理（「生」）のセンサデータを使用し得、１つまたは複数の識別されたポイントについての結論を引き出さない、仮定をしない、および／または追加の決定を実行しない場合がある。例えば、プロセッサは、例えば、１つまたは複数の次元において、１つまたは複数のポイントの周りの体積（volume around the one or more points）を決定しない場合がある。別の例として、プロセッサは、１つまたは複数のポイントが静止しているか、または動いているかを決定しない場合がある。
【００５２】
[0056]図５は、様々な実施形態による、ビークル衝突回避の方法５００を例示する。図１〜図５を参照すると、方法５００は、ビークル（例えば、ビークル１０２、２００、および４０２）のプロセッサ（例えば、プロセッサ２２０および／または同様のもの）によってインプリメントされ得る。
【００５３】
[0057]ビークル５０２（これは、ビークル１０２、２００、または４０２に類似し得る）のプロセッサは、（例えば、ユーザ入力、記憶されたナビゲーションデータから、ネットワーク要素から、等）ナビゲーション命令を取得し得る。ナビゲーション命令は、速度を含み得、これは、方向成分および速さ成分を含み得る。例えば、ナビゲーション命令は、障害物１４０と１４２との間の経路５０４に沿って、ビークル５０２を誘導（direct）し得る。別の例として、ナビゲーション命令は、障害物１４２に向かう（または、ポイント４０６ａ、４０６ｂ、．．．４０６（ｎ）のうちの１つまたは複数に向かう）経路５０６に沿って、ビークル５０２を誘導し得る。別の例として、ナビゲーション命令は、障害物１４０に向かう（または、１つまたは複数のポイント４０４ａ、４０４ｂ、．．．４０６（ｎ）に向かう）経路５０８に沿って、ビークルを誘導し得る。経路５０４に沿ったビークル５０２による移動は、ビークル５０２の速度への調整が不要であり得る。
【００５４】
[0058]対照的に、ビークル５０２の速度へのいかなる調整もなしに経路５０６をたどることは、ビークル５０２と障害物１４２との衝突をもたらし得る。しかしながら、障害物１４２に（または、ポイント４０６ａ、４０６ａ、．．．４０６（ｎ）に）関連付けられた速度制約を決定すると、プロセッサは、速度制約を満たす（例えば、それ以下である）１つまたは複数の速度解を決定するために、速度制約を使用し得る。いくつかの実施形態では、プロセッサは、ナビゲーション命令に最も密接に一致する速度解を選択し得、選択された速度解に基づいて、ビークル５０２の速度を調整し得る。
【００５５】
[0059]例えば、経路５０６に沿って移動するビークル５０２が、障害物１４２に近いロケーション５０６ａに接近または到着すると、命令された速度にかかわらず、プロセッサは、（１つまたは複数の）速度制約を満たす１つまたは複数の速度解を決定し得、選択された速度解に基づいて、ビークル速度を調整し得、それによって、ビークル５０２が障害物１４２と衝突するのを防止する。いくつかの実施形態では、プロセッサは、ナビゲーション命令の方向成分に最も密接に一致する方向成分を有する速度解を選択し得る。いくつかの実施形態では、プロセッサは、ナビゲーション命令の速さ成分に最も密接に一致する速度解を選択し得る。いくつかの実施形態では、プロセッサは、ナビゲーション命令の方向成分および速さ成分に最も密接に一致する方向成分および速さ成分の両方を有する速度解を選択し得る。
【００５６】
[0060]例えば、選択された速度解に基づいて、プロセッサは、ビークル速度を調整し得、したがって、ビークル５０２に、障害物１４２との衝突を回避する経路をたどるように指示する（directing）。例えば、ナビゲーション命令は、さもなければビークル５０２を障害物１４２と衝突させるであろう速度を含むが、プロセッサは、ビークル５０２が、例えば、ロケーション５０６ａからロケーション５０６ｂへ、障害物１４２を迂回して移動するように、選択された速度解に基づいて、ビークル５０２の速度を調整し得る。様々な実施形態では、プロセッサは、障害物またはポイントへの変化する距離および方向に基づいて、速度制約を反復的に再決定し得る。いくつかの実施形態では、ビークル５０２がロケーション５０６ｂに到着または接近すると、プロセッサは、（いくつかの実施形態では、ナビゲーション命令の方向成分および／または速さ成分に基づいて）別の速度解を選択し得、プロセッサは、それに応じてビークル速度を調整し得る。例えば、ロケーション５０６ｂにおいて、プロセッサは、ナビゲーション命令の方向成分および／または速さ成分に基づいて、ビークル５０２の速度を再び調整し得、ビークル５０２に、ナビゲーション命令の速度により密接に一致する速度を使用して移動するように指示する。図５が経路５０６に沿った２つのロケーション５０６ａおよび５０６ｂを例示している一方で、様々な実施形態では、プロセッサは、多数の時点において、ビークル速度を調整し得る。例えば、プロセッサは、ビークルから各障害物またはポイントへの距離および方向を反復的に再決定し得、各障害物またはポイントについての速度制約を反復的に再決定し得る。プロセッサはまた、再決定された速度制約に基づいて、新しい速度解を決定し得、選択された速度解に基づいて、ビークル速度を調整し得る。
【００５７】
[0061]別の例として、選択された速度解に基づいて、プロセッサは、ビークル５０２に、経路５０８をたどるように指示し得、これは、ビークル５０２の速度へのいかなる調整もなしにたどられた場合、ビークル５０２と障害物１４０との衝突をもたらし得る。障害物１４０が、壁などの、ビークル５０２が容易によけて進むことができない障害物を含むケースでは、プロセッサは、速度制約を決定し得、ビークル５０２が障害物１４０と衝突するのを防止する速度解を選択し得る。この例では、障害物１４０はよけて進むことができないので、プロセッサは、ビークル５０２が壁面などの障害物１４０の表面に沿って移動するように、選択された速度解に基づいて、ビークル速度を調整し得る。したがって、いくつかの実施形態では、選択された速度解に基づいて、ビークル速度を調整することは、ビークル５０２に、「ウォールスライディング（wall sliding）」マニューバ(maneuver)を実行するように、または他の方法でビークル５０２と障害物１４０との衝突を回避する経路に沿って移動するように指示し得る。
【００５８】
[0062]いくつかの実施形態では、プロセッサは、ナビゲーション命令の方向成分および／または速さ成分に最も密接に一致する速度解を選択し得る。いくつかの実施形態では、プロセッサは、調整されたまたは結果として得られたビークル速度が、命令されたビークル速度から可能な限りスムーズに変化するように、ナビゲーション命令の方向成分および／または速さ成分に最も密接に一致する速度解を選択し得る。例えば、プロセッサは、ナビゲーション命令のビークル速度と、調整されたビークル速度との間の変化量が、ある時間期間にわたってしきい値変化量以内にとどまるように、速度解を選択し得る。いくつかの実施形態では、プロセッサは、調整された速度の方向成分および速さ成分のうちの１つまたは複数が、ある時間期間にわたってしきい値変化量以内で、ナビゲーション命令の方向成分および速さ成分から変化するように、速度解を選択し得る。
【００５９】
[0063]ビークル５０２の調整された速度の方向および速さは、ナビゲーション命令の速度の方向成分および速さ成分とは独立してそれぞれ変化し得る。例えば、プロセッサのロケーション５０８ａにおいて開始することは、ナビゲーション命令の方向成分とは大幅に異なる方向（例えば、９０°）に移動するように、ビークル５０２の速度を調整するとともに、ナビゲーション命令の速さ成分と非常に密接に一致し得る速さ成分を有し得、逆もまた同様である。
【００６０】
[0064]図６は、様々な実施形態による、ビークル衝突回避の方法６００を例示する。図１〜図６を参照すると、方法６００は、ビークル（例えば、ビークル１０２、２００、４０２、５０２、および６０２）のプロセッサ（例えば、プロセッサ２２０および／または同様のもの）によってインプリメントされ得る。
【００６１】
[0065]ブロック６０２において、ビークルのプロセッサは、障害物を検出し得る。いくつかの実施形態では、ビークルのプロセッサは、ビークルの１つまたは複数のセンサを使用して、障害物を検出し得る。
【００６２】
[0066]ブロック６０４において、ビークルのプロセッサは、ビークルから障害物への距離および方向を決定し得る。いくつかの実施形態では、プロセッサは、１つまたは複数のポイントを識別し得、プロセッサは、ビークルから１つまたは複数のポイントへの距離および方向を決定し得る。
【００６３】
[0067]ブロック６０６において、プロセッサは、障害物への距離および方向に基づいて、障害物についての速度制約を決定し得る。いくつかの実施形態では、プロセッサは、１つまたは複数のポイントの各々についての速度制約を決定し得る。いくつかの実施形態では、プロセッサは、取得されたナビゲーション命令に基づいて、１つまたは複数の速度制約を決定し得、これは、（例えば、経路計画または他のナビゲーション計画動作の一部としての）高度な計画動作ではなく、（例えば、ナビゲーション命令の取得に基づく）反応的な動作（reactive operation）であり得る。いくつかの実施形態では、移動コントローラモジュール（例えば、移動コントローラモジュール２２２ａ）が、速度制約を決定し得る。いくつかの実施形態では、速度制約は、速度不等式制約を含み得る。
【００６４】
[0068]ブロック６０８において、プロセッサは、ナビゲーション命令を取得し得る。
【００６５】
[0069]ブロック６１０において、プロセッサは、（１つまたは複数の）速度制約を満たす１つまたは複数の速度解を決定し得る。いくつかの実施形態では、プロセッサは、取得されたナビゲーション命令に基づいて、１つまたは複数の速度解を決定し得、これは、（例えば、経路計画または他のナビゲーション計画動作の一部としての）高度な計画動作ではなく、（例えば、ナビゲーション命令の取得に基づく）反応的な動作であり得る。いくつかの実施形態では、移動コントローラモジュール（例えば、飛行コントローラモジュール２２２ａ）は、（１つまたは複数の）速度制約を満たす１つまたは複数の速度解を決定し得る。
【００６６】
[0070]ブロック６１２において、プロセッサは、１つまたは複数の速度解の中から、ナビゲーション命令に最も密接に一致する決定された速度解を選択し得る。いくつかの実施形態では、プロセッサは、ナビゲーション命令と、ビークルと障害物の間の距離およびビークルから障害物との方向のうちのいずれかまたは両方とに基づいて、速度解を選択し得る。
【００６７】
[0071]ブロック６１４において、プロセッサは、選択された速度解に基づいて、ビークル速度を調整し得る。
【００６８】
[0072]プロセッサは、ブロック６０２において、再び障害物を検出し得る。様々なインプリメンテーションでは、プロセッサは、同じ障害物（例えば、障害物１４０および１４２）に対してブロック６０２〜６１４の動作を繰り返し実行し得、プロセッサが、１つまたは複数の速度制約を更新または調整することと、更新または調整された（１つまたは複数の）速度制約に従って、ビークル速度を調整することとを可能にする。
【００６９】
[0073]図７は、様々な実施形態による、ビークル衝突回避の方法７００を例示する。図１〜図７を参照すると、方法７００は、ビークル（例えば、ビークル１０２、２００、４０２、５０２、および６０２）のプロセッサ（例えば、プロセッサ２２０および／または同様のもの）によってインプリメントされ得る。ブロック６０８〜６１４において、デバイスプロセッサは、方法６００の同様に番号付けられたブロックの動作を実行し得る。
【００７０】
[0074]ブロック７０２において、ビークルのプロセッサは、１つまたは複数のポイントを含むセンサデータを受信し得る。いくつかの実施形態では、プロセッサは、カメラからの未処理の画像データなどの、未処理または生のセンサデータを受信し得、センサデータにおいて表される物体を認識または識別するために、受信された生のセンサデータに対してさらなる処理を実行しない場合がある。例えば、プロセッサは、センサの視野内の物体を認識する、定義する、位置を特定する、または他の方法で特徴付けるために、センサデータを使用して決定を実行しない場合がある。いくつかの実施形態では、プロセッサは、センサデータによって表される物体を識別するために、アルゴリズムまたは数式に未処理のセンサデータを適用しない場合がある。
【００７１】
[0075]検出された障害物のサイズ、形状、および他の特徴を決定することなどの、センサデータ内の障害物を特徴付けることは、計算集約的であり得る。プロセッサへの計算の負担を低減させるために、いくつかの実施形態では、プロセッサは、センサの視野内の障害物を検出するために（例えば、物体を検出するために、または障害物のサイズ、形状、または他の特徴を決定するために）、生のセンサデータに関連した計算などの、追加の決定を実行することなく、１つまたは複数のポイント（例えば、障害物１４０上に例示されたポイント４０４（１−ｎ）および障害物１４２上に例示されたポイント４０６（１−ｎ））を識別し得る。いくつかの実施形態では、プロセッサは、未処理（生）のセンサデータを使用し得、１つまたは複数の識別されたポイントについての結論を引き出さない、仮定をしない、および／または追加の決定、計算を実行しない場合がある。例えば、プロセッサは、例えば、１つまたは複数の次元において、１つまたは複数のポイントの周りの体積、表面または他の幾何学的なパラメータを決定しない場合がある。別の例として、プロセッサは、１つまたは複数のポイントが静止しているか、または動いているかを決定しない場合がある。
【００７２】
[0076]ブロック７０４において、ビークルのプロセッサは、ビークルから１つまたは複数のポイントの各々への距離および方向を決定し得る。例えば、プロセッサは、カメラを使用して画像を受信し得、画像における１つまたは複数のポイントを識別し得る。いくつかのインプリメンテーションでは、ポイントは、画像におけるピクセルに対応し得る。いくつかのインプリメンテーションでは、プロセッサは、画像における各ピクセルにつき１つのポイントなど、非常に多くのポイントを識別または選択し得る。いくつかの実施形態では、プロセッサは、距離および方向を決定するために、より少ないポイントを識別する／選択することによって、処理負担を低減させ得る。いくつかの実施形態では、プロセッサは、画像の解像度を低減させることによって、処理負担を低減させ得、それによって、ポイントをそれから識別するためのピクセル数を低減させる。
【００７３】
[0077]ブロック７０６において、プロセッサは、１つのポイントまたは複数のポイントへの決定された距離および方向に基づいて、識別された１つまたは複数のポイントの各々についての速度制約を決定し得る。いくつかの実施形態では、プロセッサは、取得されたナビゲーション命令に基づいて、識別された１つまたは複数のポイントの各々についての速度制約を決定し得る。取得されたナビゲーション命令は、（例えば、経路計画または他のナビゲーション計画動作の一部としての）高度な計画動作ではなく、（例えば、ナビゲーション命令の取得に基づく）反応的な動作であり得る。いくつかの実施形態では、移動コントローラモジュール（例えば、飛行コントローラモジュール２２２ａ）が、速度制約を決定し得る。いくつかの実施形態では、各速度制約は、速度不等式制約を含み得る。
【００７４】
[0078]様々な実施形態は、ビークルのプロセッサが物体との衝突を回避することを可能にし、それによって、ビークルの動作を改善する。様々な実施形態はまた、ナビゲーション命令のビークル速度に密接に一致するように（いくつかのケースでは、しきい値変化量以内に）ビークル速度を調整することによって、ビークルの動作を改善する。様々な実施形態はまた、１つまたは複数のポイントを障害物に割り当てることと、ポイントのうちの１つまたは複数に割り当てられる速度制約を決定することとによって、ビークルのプロセッサへの計算の負担を低減させることによって、ビークルの動作を改善する。
【００７５】
[0079]例示および説明された様々な実施形態は、特許請求の範囲の様々な特徴を例示するために、単に例として提供された。しかしながら、任意の所与の実施形態に関して説明および示された特徴は、関連する実施形態に必ずしも限定されるわけではなく、説明および示された他の実施形態とともに使用され得るか、それらと組み合わされ得る。さらに、特許請求の範囲は、任意の１つの例となる実施形態によって限定されるようには意図されない。例えば、方法４００、５００、６００、および７００の動作のうちの１つまたは複数は、方法４００、５００、６００、７００の１つまたは複数の動作に置き換えられ得るか、またはそれらと組み合わされ得、逆もまた同様である。
【００７６】
[0080]前述の方法の説明およびプロセスフロー図は、単に例示的な例として提供されており、様々な実施形態の動作が、提示された順序で実行されなければならないことを暗示または必要とするように意図されるものでない。当業者によって理解されるように、前述の実施形態における動作の順序は、任意の順序で実行され得る。「その後に（thereafter）」、「その後（then）」、「次に（next）」、等の用語は、動作の順序を限定するように意図されるものではなく、これらの用語は、方法の説明を通じて読者を導くために使用される。さらに、例えば、「ａ」、「ａｎ」または「ｔｈｅ」という冠詞を使用した、単数形の請求項の要素への任意の参照は、その要素を単数形に限定するように解釈されるべきではない。
【００７７】
[0081]ここで開示された実施形態に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズム動作は、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとしてインプリメントされ得る。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的な構成要素、ブロック、モジュール、回路、および動作が、概してそれらの機能の観点から上記で説明されてきた。このような機能が、ハードウェアとしてインプリメントされるか、あるいはソフトウェアとしてインプリメントされるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、特定のアプリケーションごとに多様な方法において、説明された機能をインプリメントし得るが、このような実施形態の決定は、特許請求の範囲から逸脱を引き起こしていると解釈されるべきでない。
【００７８】
[0082]ここで開示された態様に関連して説明された様々な例示的なロジック、論理ブロック、モジュール、および回路をインプリメントするために使用されるハードウェアは、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェア構成要素、あるいはここで説明された機能を実行するように設計されたこれらの任意の組合せを用いてインプリメントまたは実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシン（state machine）であり得る。プロセッサはまた、受信機スマートオブジェクト（receiver smart objects）の組合せ、例えば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つまたは複数のマイクロプロセッサ、あるいはその他任意のこのような構成としてインプリメントされ得る。代替として、いくつかの動作または方法は、所与の機能に固有である回路によって実行され得る。
【００７９】
[0083]１つまたは複数の態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せでインプリメントされ得る。ソフトウェアでインプリメントされる場合、これら機能は、非一時的なコンピュータ可読記憶媒体または非一時的なプロセッサ可読記憶媒体上で、１つまたは複数の命令またはコードとして記憶され得る。ここで開示された方法またはアルゴリズムの動作は、非一時的なコンピュータ可読またはプロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールまたはプロセッサ実行可能命令において具現化され得る。非一時的なコンピュータ可読またはプロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスされ得る任意の記憶媒体であり得る。限定ではなく例として、このような非一時的なコンピュータ可読またはプロセッサ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＦＬＡＳＨメモリ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶スマートオブジェクト、あるいは命令またはデータ構造の形で所望のプログラムコードを記憶するために使用され得、かつコンピュータによってアクセスされ得るその他任意の媒体を含み得る。ここで使用される場合、ディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多目的ディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイ（登録商標）ディスクを含み、ここでディスク（disks）は、通常磁気的にデータを再生し、一方ディスク（discs）は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、非一時的なコンピュータ可読およびプロセッサ可読媒体の範囲内に含まれる。加えて、方法またはアルゴリズムの動作は、非一時的なプロセッサ可読記憶媒体および／またはコンピュータ可読記憶媒体上で、コードおよび／または命令の１つまたは任意の組合せまたはセットとして存在し得、これは、コンピュータプログラム製品に組み込まれ得る。
【００８０】
[0084]開示された実施形態の前述の説明は、いかなる当業者であっても、特許請求の範囲を製造または使用することを可能にするように提供される。これら実施形態への様々な修正は、当業者にとって容易に明らかとなり、ここで定義した一般原理は、特許請求の範囲の趣旨または範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、ここで示された実施形態に限定されるようには意図されず、以下の特許請求の範囲およびここで開示された原理および新規の特徴に合致する最も広い範囲を与えられることとなる。
【図１】
2019537140.tif 000005
【図２】
2019537140.tif 000006
【図３】
2019537140.tif 000007
【図４Ａ】
2019537140.tif 000008
【図４Ｂ】
2019537140.tif 000009
【図５】
2019537140.tif 000010
【図６】
2019537140.tif 000011
【図７】
2019537140.tif 000012
【手続補正書】
【提出日】令和1年7月23日(2019.7.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビークル衝突回避の方法であって、
１つまたは複数のポイントを備えるカメラデータを受信することと、ここにおいて、各ポイントは、画像におけるピクセルに対応し、
ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を備える方法。
【請求項２】
カメラデータを受信することは、未処理のカメラデータを受信することを備える、請求項１に記載の方法。
【請求項３】
前記１つまたは複数のポイントの各々についての前記速度制約は、速度不等式制約を備える、請求項１に記載の方法。
【請求項４】
前記ビークルから前記１つまたは複数のポイントへの前記距離および前記方向を決定することは、
前記ビークルから障害物への距離および方向を決定すること
を備える、請求項３に記載の方法。
【請求項５】
前記障害物は、前記１つまたは複数のポイントによって表される障害物を備える、請求項４に記載の方法。
【請求項６】
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することは、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を備える、請求項１に記載の方法。
【請求項７】
前記ビークルナビゲーション命令は、方向成分を含み、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することは、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択することを備える、
請求項１に記載の方法。
【請求項８】
前記ビークルナビゲーション命令は、速さ成分を含み、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することは、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することを備える、
請求項１に記載の方法。
【請求項９】
ビークルであって、
１つまたは複数のポイントを備えるカメラデータを受信することと、ここにおいて、各ポイントは、画像におけるピクセルに対応し、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を行うためのプロセッサ実行可能命令を用いて構成されたプロセッサ
を備えるビークル。
【請求項１０】
前記プロセッサは、未処理のカメラデータを備えるカメラデータセンサデータを受信するためのプロセッサ実行可能命令を用いてさらに構成される、請求項９に記載のビークル。
【請求項１１】
前記プロセッサは、前記１つまたは複数のポイントの各々についての前記速度制約が、速度不等式制約を備えるように、プロセッサ実行可能命令を用いてさらに構成される、請求項９に記載のビークル。
【請求項１２】
前記プロセッサは、
前記ビークルから障害物への距離および方向を決定すること
を行うためのプロセッサ実行可能命令を用いてさらに構成される、請求項１１に記載のビークル。
【請求項１３】
前記プロセッサは、前記障害物が、前記１つまたは複数のポイントによって表される障害物を備えるように、プロセッサ実行可能命令を用いてさらに構成される、請求項１２に記載のビークル。
【請求項１４】
前記プロセッサは、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を行うためのプロセッサ実行可能命令を用いてさらに構成される、請求項９に記載のビークル。
【請求項１５】
前記プロセッサは、前記ビークルナビゲーション命令が方向成分を含むように、プロセッサ実行可能命令を用いてさらに構成され、
前記プロセッサは、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択するためのプロセッサ実行可能命令を用いてさらに構成される、
請求項９に記載のビークル。
【請求項１６】
前記プロセッサは、前記ビークルナビゲーション命令が速さ成分を含むように、プロセッサ実行可能命令を用いてさらに構成され、
前記プロセッサは、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することによって、前記ビークルナビゲーション命令に基づいて、前記速度解を選択するためのプロセッサ実行可能命令を用いてさらに構成される、
請求項９に記載のビークル。
【請求項１７】
ビークルであって、
１つまたは複数のポイントを備えるカメラデータを受信するための手段と、ここにおいて、各ポイントは、画像におけるピクセルに対応し、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定するための手段と、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定するための手段と、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定するための手段と、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択するための手段と、
前記選択された速度解に基づいて、ビークル速度を調整するための手段と
を備えるビークル。
【請求項１８】
ビークルのプロセッサに、
１つまたは複数のポイントを備えるカメラデータを受信することと、ここにおいて、各ポイントは、画像におけるピクセルに対応し、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を備える動作を実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的なプロセッサ可読記憶媒体。
【請求項１９】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、カメラデータを受信することが、未処理のカメラデータを受信することを備えるように、動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２０】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記１つまたは複数のポイントの各々についての前記速度制約が、速度不等式制約を備えるように、動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２１】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記ビークルから前記１つまたは複数のポイントへの前記距離および前記方向を決定することが、
前記ビークルから障害物への距離および方向を決定すること
を備えるように、動作を実行させるように構成される、請求項２０に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２２】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記障害物が、前記１つまたは複数のポイントによって表される障害物を備えるように、動作を実行させるように構成される、請求項２１に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２３】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することが、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を備えるように、動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２４】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、
前記ビークルナビゲーション命令が方向成分を含むように、および
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することが、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択することを備えるように、
動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【請求項２５】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、
前記ビークルナビゲーション命令が速さ成分を含むように、および
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することが、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することを備えるように、
動作を実行させるように構成される、請求項１８に記載の非一時的なプロセッサ可読記憶媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
[0084]開示された実施形態の前述の説明は、いかなる当業者であっても、特許請求の範囲を製造または使用することを可能にするように提供される。これら実施形態への様々な修正は、当業者にとって容易に明らかとなり、ここで定義した一般原理は、特許請求の範囲の趣旨または範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、ここで示された実施形態に限定されるようには意図されず、以下の特許請求の範囲およびここで開示された原理および新規の特徴に合致する最も広い範囲を与えられることとなる。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  ビークル衝突回避の方法であって、
１つまたは複数のポイントを備えるセンサデータを受信することと、
ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を備える方法。
［Ｃ２］  センサデータを受信することは、未処理のセンサデータを受信することを備える、Ｃ１に記載の方法。
［Ｃ３］  前記１つまたは複数のポイントの各々についての前記速度制約は、速度不等式制約を備える、Ｃ１に記載の方法。
［Ｃ４］  前記ビークルから前記１つまたは複数のポイントへの前記距離および前記方向を決定することは、
前記ビークルから障害物への距離および方向を決定すること
を備える、Ｃ３に記載の方法。
［Ｃ５］  前記障害物は、前記１つまたは複数のポイントによって表される障害物を備える、Ｃ４に記載の方法。
［Ｃ６］  前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することは、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を備える、Ｃ１に記載の方法。
［Ｃ７］  前記ビークルナビゲーション命令は、方向成分を含み、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することは、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択することを備える、
Ｃ１に記載の方法。
［Ｃ８］  前記ビークルナビゲーション命令は、速さ成分を含み、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することは、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することを備える、
Ｃ１に記載の方法。
［Ｃ９］  ビークルであって、
１つまたは複数のポイントを備えるセンサデータを受信することと、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を行うためのプロセッサ実行可能命令を用いて構成されたプロセッサ
を備えるビークル。
［Ｃ１０］  前記プロセッサは、未処理のセンサデータを備えるセンサデータセンサデータを受信するためのプロセッサ実行可能命令を用いてさらに構成される、Ｃ９に記載のビークル。
［Ｃ１１］  前記プロセッサは、前記１つまたは複数のポイントの各々についての前記速度制約が、速度不等式制約を備えるように、プロセッサ実行可能命令を用いてさらに構成される、Ｃ９に記載のビークル。
［Ｃ１２］  前記プロセッサは、
前記ビークルから障害物への距離および方向を決定すること
を行うためのプロセッサ実行可能命令を用いてさらに構成される、Ｃ１１に記載のビークル。
［Ｃ１３］  前記プロセッサは、前記障害物が、前記１つまたは複数のポイントによって表される障害物を備えるように、プロセッサ実行可能命令を用いてさらに構成される、Ｃ１２に記載のビークル。
［Ｃ１４］  前記プロセッサは、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を行うためのプロセッサ実行可能命令を用いてさらに構成される、Ｃ９に記載のビークル。
［Ｃ１５］  前記プロセッサは、前記ビークルナビゲーション命令が方向成分を含むように、プロセッサ実行可能命令を用いてさらに構成され、
前記プロセッサは、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択するためのプロセッサ実行可能命令を用いてさらに構成される、
Ｃ９に記載のビークル。
［Ｃ１６］  前記プロセッサは、前記ビークルナビゲーション命令が速さ成分を含むように、プロセッサ実行可能命令を用いてさらに構成され、
前記プロセッサは、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することによって、前記ビークルナビゲーション命令に基づいて、前記速度解を選択するためのプロセッサ実行可能命令を用いてさらに構成される、
Ｃ９に記載のビークル。
［Ｃ１７］  ビークルであって、
１つまたは複数のポイントを備えるセンサデータを受信するための手段と、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定するための手段と、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定するための手段と、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定するための手段と、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択するための手段と、
前記選択された速度解に基づいて、ビークル速度を調整するための手段と
を備えるビークル。
［Ｃ１８］  ビークルのプロセッサに、
１つまたは複数のポイントを備えるセンサデータを受信することと、
前記ビークルから前記１つまたは複数のポイントへの距離および方向を決定することと、
前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することと、
ビークルナビゲーション命令に基づいて、前記決定された速度制約を満たす１つまたは複数の速度解を決定することと、
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から速度解を選択することと、
前記選択された速度解に基づいて、ビークル速度を調整することと
を備える動作を実行させるように構成されたプロセッサ実行可能命令を記憶した非一時的なプロセッサ可読記憶媒体。
［Ｃ１９］  前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、センサデータを受信することが、未処理のセンサデータを受信することを備えるように、動作を実行させるように構成される、Ｃ１８に記載の非一時的なプロセッサ可読記憶媒体。
［Ｃ２０］  前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記１つまたは複数のポイントの各々についての前記速度制約が、速度不等式制約を備えるように、動作を実行させるように構成される、Ｃ１８に記載の非一時的なプロセッサ可読記憶媒体。
［Ｃ２１］  前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記ビークルから前記１つまたは複数のポイントへの前記距離および前記方向を決定することが、
前記ビークルから障害物への距離および方向を決定すること
を備えるように、動作を実行させるように構成される、Ｃ２０に記載の非一時的なプロセッサ可読記憶媒体。
［Ｃ２２］  前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記障害物が、前記１つまたは複数のポイントによって表される障害物を備えるように、動作を実行させるように構成される、Ｃ２１に記載の非一時的なプロセッサ可読記憶媒体。
［Ｃ２３］  前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、前記ビークルから前記１つまたは複数のポイントの各々への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定することが、
前記ビークルから前記１つまたは複数のポイントによって表される障害物への前記決定された距離および方向に基づいて、前記１つまたは複数のポイントの各々についての速度制約を決定すること
を備えるように、動作を実行させるように構成される、Ｃ１８に記載の非一時的なプロセッサ可読記憶媒体。
［Ｃ２４］  前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、
前記ビークルナビゲーション命令が方向成分を含むように、および
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することが、前記ビークルナビゲーション命令の前記方向成分に最も密接に一致する方向成分を有する前記速度解を選択することを備えるように、
動作を実行させるように構成される、Ｃ１８に記載の非一時的なプロセッサ可読記憶媒体。
［Ｃ２５］  前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記ビークルの前記プロセッサに、
前記ビークルナビゲーション命令が速さ成分を含むように、および
前記ビークルナビゲーション命令に基づいて、前記決定された１つまたは複数の速度解から前記速度解を選択することが、前記ビークルナビゲーション命令の前記速さ成分に最も密接に一致する速さ成分を有する前記速度解を選択することを備えるように、
動作を実行させるように構成される、Ｃ１８に記載の非一時的なプロセッサ可読記憶媒体。
【国際調査報告】
2019537140.tif 000013
2019537140.tif 000014