無人航空機のための経路計画

申请号 JP2018502047 申请日 2016-03-25 公开(公告)号 JP2018511136A 公开(公告)日 2018-04-19
申请人 マターネット, インコーポレイテッド; MATTERNET, INC.; 发明人 ヒンクル, クリストファー; ラプトポウロス, アンドレアス; ラーセン, ケンダール; バルチン, イド;
摘要 無人航空機(UAV)について経路を動的に決定するためのシステム及び方法が提供される。1つの例で、1つ以上のプロセッサ及びメモリを含むコンピュータ・システムにおいて、処理は、UAVについての初期 位置 及び目的位置を含む経路要求を受信することと、初期位置及び目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することと、地理空間情報に少なくとも部分的に基づいて、初期位置から目的位置へのUAVの経路を決定することと、経路をUAVへ通信させることと、を含む。
权利要求

無人航空機(UAV)物流システムであって、 少なくとも1つのプロセッサ及びメモリを備えるコンピュータ・システムを備え、前記少なくとも1つのプロセッサは、 UAVについての初期位置及び目的位置を含む経路要求を受信することと、 前記初期位置及び前記目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することと、 前記地理空間情報に少なくとも部分的に基づいて、前記初期位置から前記目的位置への前記UAVの経路を決定することと、 前記経路を前記UAVへ通信させることと、 を行うように構成される、システム。請求項1に記載のシステムであって、前記地理空間情報はクラウド・サービス・アプリケーションから受信される、システム。請求項1に記載のシステムであって、前記経路は無線通信を介して前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記経路はクラウド・サービス・アプリケーションを介して前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記経路はモバイル電子デバイスによって決定され、前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記経路はリモート・アプリケーションによって決定され、前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記地理空間情報は垂直情報及び平情報を含む、システム。請求項1に記載のシステムであって、前記プロセッサは、前記地理空間情報に基づいて水平経路を決定し、前記地理空間情報及び前記水平経路に基づいて垂直経路を決定するように更に構成される、システム。請求項1に記載のシステムであって、前記地理空間情報は、地表に対する前記経路の最小及び最大高度を含む、システム。請求項1に記載のシステムであって、前記処理は、前記地理空間情報に基づいて、前記経路についての障害物回避形状を生成するように更に構成される、システム。請求項1に記載のシステムであって、前記プロセッサは、飛行中の前記UAVから情報を受信し、前記経路が変更されるべきかを判定するように更に構成される、システム。請求項1に記載のシステムであって、前記経路が変更されるべきかを判定することは、制御された着陸を前記UAVに実行させることを含む、システム。無人航空機(UAV)について経路を動的に決定するための、コンピュータで実施される方法であって、 1つ以上のプロセッサ及びメモリを含むコンピュータ・システムにおいて、 UAVについての初期位置及び目的位置を含む経路要求を受信することと、 前記初期位置及び前記目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することと、 前記地理空間情報に少なくとも部分的に基づいて、前記初期位置から前記目的位置への前記UAVの経路を決定することと、 前記経路を前記UAVへ通信させることと、 を有する方法。請求項13に記載の方法であって、前記地理空間情報はクラウド・サービス・アプリケーションから受信される、方法。請求項13に記載のシステムであって、前記経路は無線通信を介して前記UAVへ通信される、システム。請求項13に記載の方法であって、前記経路はクラウド・サービス・アプリケーションを介して前記UAVへ通信される、方法。請求項13に記載の方法であって、前記経路はモバイル電子デバイスによって決定され、前記UAVへ通信される、方法。請求項13に記載の方法であって、前記経路はリモート・アプリケーションによって決定され、前記UAVへ通信される、方法。請求項13に記載の方法であって、前記地理空間情報は垂直情報及び水平情報を含む、方法。請求項13に記載の方法であって、前記地理空間情報に基づいて水平経路を決定し、その後に前記地理空間情報及び前記水平経路に基づいて垂直経路を決定することを更に有する方法。請求項13に記載の方法であって、前記地理空間情報は、地表に対する前記経路の最小及び最大高度を含む、方法。命令が記憶された非一時的コンピュータ可読媒体であって、前記命令は、少なくとも1つのプロセッサによって実行された場合に、前記少なくとも1つのプロセッサに、 UAVについての初期位置及び目的位置を含む経路要求を受信することと、 前記初期位置及び前記目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することと、 前記地理空間情報に少なくとも部分的に基づいて、前記初期位置から前記目的位置への前記UAVの経路を決定することと、 前記経路を前記UAVへ通信させることと、 を含む動作を実行させる、媒体。

無人航空機(UAV)物流システムであって、 少なくとも1つのプロセッサ及びメモリを備えるコンピュータ・システムを備え、前記少なくとも1つのプロセッサは、 UAVについての初期位置及び目的位置を含む経路要求を受信することと、 前記初期位置及び前記目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することと、 前記地理空間情報に少なくとも部分的に基づいて、前記初期位置から前記目的位置への前記UAVの経路を決定することと、 前記経路を前記UAVへ通信させることと、 を行うように構成される、システム。請求項1に記載のシステムであって、前記地理空間情報はクラウド・サービス・アプリケーションから受信される、システム。請求項1に記載のシステムであって、前記経路は無線通信を介して前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記経路はクラウド・サービス・アプリケーションを介して前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記経路はモバイル電子デバイスによって決定され、前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記経路はリモート・アプリケーションによって決定され、前記UAVへ通信される、システム。請求項1に記載のシステムであって、前記地理空間情報は垂直情報及び水平情報を含む、システム。請求項1に記載のシステムであって、前記プロセッサは、前記地理空間情報に基づいて水平経路を決定し、前記地理空間情報及び前記水平経路に基づいて垂直経路を決定するように更に構成される、システム。請求項1に記載のシステムであって、前記地理空間情報は、地表に対する前記経路の最小及び最大高度を含む、システム。請求項1に記載のシステムであって、前記プロセッサは、前記地理空間情報に基づいて、前記経路についての障害物回避形状を生成するように更に構成される、システム。請求項1に記載のシステムであって、前記プロセッサは、飛行中の前記UAVから情報を受信し、前記経路が変更されるべきかを判定するように更に構成される、システム。請求項1に記載のシステムであって、前記経路が変更されるべきかを判定することは、制御された着陸を前記UAVに実行させることを含む、システム。無人航空機(UAV)について経路を動的に決定するための、コンピュータで実施される方法であって、 1つ以上のプロセッサ及びメモリを含むコンピュータ・システムにおいて、 UAVについての初期位置及び目的位置を含む経路要求を受信することと、 前記初期位置及び前記目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することと、 前記地理空間情報に少なくとも部分的に基づいて、前記初期位置から前記目的位置への前記UAVの経路を決定することと、 前記経路を前記UAVへ通信させることと、 を有する方法。請求項13に記載の方法であって、前記地理空間情報はクラウド・サービス・アプリケーションから受信される、方法。請求項13に記載の方法であって、前記経路は無線通信を介して前記UAVへ通信される、方法。請求項13に記載の方法であって、前記経路はクラウド・サービス・アプリケーションを介して前記UAVへ通信される、方法。請求項13に記載の方法であって、前記経路はモバイル電子デバイスによって決定され、前記UAVへ通信される、方法。請求項13に記載の方法であって、前記経路はリモート・アプリケーションによって決定され、前記UAVへ通信される、方法。請求項13に記載の方法であって、前記地理空間情報は垂直情報及び水平情報を含む、方法。請求項13に記載の方法であって、前記地理空間情報に基づいて水平経路を決定し、その後に前記地理空間情報及び前記水平経路に基づいて垂直経路を決定することを更に有する方法。請求項13に記載の方法であって、前記地理空間情報は、地表に対する前記経路の最小及び最大高度を含む、方法。少なくとも1つのプロセッサによって実行された場合に、前記少なくとも1つのプロセッサに、 UAVについての初期位置及び目的位置を含む経路要求を受信することと、 前記初期位置及び前記目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することと、 前記地理空間情報に少なくとも部分的に基づいて、前記初期位置から前記目的位置への前記UAVの経路を決定することと、 前記経路を前記UAVへ通信させることと、 を含む動作を実行させる、プログラム。

说明书全文

関連出願の相互参照 本願は、「無人航空機」という名称の米国仮出願第62/138,914号及び「無人航空機の経路計画のためのシステム及び方法」という名称の米国仮出願第62/138,910号の利益を主張し、これらはともに2015年3月26日に出願され、参照によってすべての目的のためにその全体が本書に組み込まれる。この出願は更に、2013年3月8日に出願された米国特許出願番号13/890,165号に関連し、この全体が参照によって本書に組み込まれる。

本開示は一般に無人航空機(UAV)に関する。より具体的に、本開示は、リモート・デバイス及びクラウド・サービスを介するUAVへの経路計画及び経路詳細の通信に関する。

様々な個人的又は商用の用途で無人航空機(UAV)すなわちドローンがますます使用されてきている。UAVを制御するための従来の方法は、手動ナビゲーション又は基地局を介した通信を含む。人間のオペレータは、リモート手動操作のための機体テレメトリを用いて地上にいる間にUAVを操縦できる。

1つの側面によれば、無人航空機(UAV)のために経路を動的に決定するためのシステム及び方法が提供される。1つの例では、1つ以上のプロセッサ及びメモリを含むコンピュータ・システムにおいて、処理は、UAVについての開始又は始点位置と終了又は目的位置とを含む経路要求を受信することを含む。経路要求は、モバイル電子デバイス、例えばスマートフォン又はタブレット・コンピュータのユーザによって入されてもよい。処理は、始点位置及び目的位置に関連する地理空間情報であって、物理障害物と飛行禁止ゾーンとのうちの少なくとも1つを含む地理空間情報を受信することを更に含む。地理空間情報は、リモート位置、例えば電子デバイスと通信するサーバ又はクラウド・アプリケーション・サービスから受信してもよい。処理は更に、地理空間情報に少なくとも部分的に基づいて、始点位置から目的位置へのUAVの経路を決定することと、UAVに経路を通信させることとを含む。経路は、電子デバイスによって又はリモート・デバイスによって決定され、クラウド・サービスを介してUAVへ通信されてもよい。

地理空間情報は、始点位置と目的位置との間の取りうる経路に関連する垂直情報及び平情報を含んでもよい。例えば、垂直及び水平情報は、地形データ(始点と目的との間の地形の標高プロファイル、ビル、送電線、セルラタワー又は他のインフラ)、様々な空域クラス及び飛行禁止ゾーンを区画するデータのような空域データ、人口密度データ又は日中の所定の時間に人が集中するエリアに関するデータなどを含んでもよい。

経路を決定する際に、水平経路がまず地理空間情報に基づいて決定されてもよく、その後、垂直経路が地理空間情報及び水平経路に基づいて決定されてもよい。地理空間情報は、地面に対する経路の最小及び最大高度を含んでもよく、物理障害物及び飛行禁止ゾーンを更に含んでもよい。

1つの例で、経路決定処理は、モバイル電子デバイスを介して、例えばアプリケーションを実行中のスマートフォン又はタブレット・コンピュータを介して開始されうる。経路は、モバイル電子デバイスによって全体的に又は部分的に決定されてもよい。他の例で、経路は、例えばリモート電子デバイスと通信するアプリケーション又はクラウド・サービスによって、モバイル電子デバイスから全体的に又は部分的にリモートで決定されてもよい。

別の側面によれば、(例えば無線接続を通じてクラウド・システムを介して)経路情報を受信でき、始点位置から目的位置へ自律的に動作できるオンボード・コンピュータを含むUAVを備えるシステムが提供される。経路情報は、モバイル・デバイスでUAVについての目的地をユーザが選択することから開始されうる。例えば、デバイスで動作中のアプリケーションは、始点及び目的位置に基づいて地理空間データを受信し、UAVへ送信するための経路を生成してもよい。

1つの例で、UAVは、動作パラメータ(例えば、経度、緯度、高度、ピッチ、ロール、異なる3軸上の速度、バッテリ電圧、バッテリ電流など)を時系列地理空間データベースへ更に報告してもよい。値は、障害の不具合の症状でありうる異常パターンを検出し、保守動作のフラグを立てるために記憶され分析されうる(極端な例では、機体は着陸するように命令されるか、保守が行われる前に離陸許可が与えられなくてもよい)。一部の例で、UAVは、天候、推進ユニットの喪失、主電源の喪失又は他の原因に起因して制御を喪失した場合にUAVが制御された着陸中にパラシュートを展開しサイレンを鳴らせるように、十分に冗長化した高度及び姿勢推定システムを実行してもよい。

本書で様々に記載される実施形態の記載で用いられる用語は、特定の実施形態を記載する目的のためであり、限定を意図しない。様々に記載された実施形態及び添付の請求の範囲の記載で用いられるように、単数形“a”、“an”及び“the”は、文脈で明らかに異なることが示される場合を除いて、複数形も同様に含むことが意図される。

本書で用いられる“及び/又は(and/or)”という用語は、関連する列挙された項目のうちの1つ以上の任意かつすべての取りうる組み合わせを指し、これを包含することが理解されよう。“includes”、“including”、“comprise”及び/又は“comprising”という用語は、この明細書で使用される場合に、述べられた特徴、整数、ステップ、動作、要素及び/又はコンポーネントの存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント及び/又はこれらのグループの存在又は追加を排除しないことが更に理解されよう。

明細書に記載される主題の1つ以上の実施形態の詳細が添付の図面及び以下の記載で説明される。本主題の他の特徴、側面及び利点は明細書、図面及び請求の範囲から明らかになるだろう。

以下の図面及び関連する記載は本開示の実施形態を説明するために提供され、請求の範囲を限定しない。

本開示の一部の実施形態に従う例示の無人航空機システムを説明する。

本開示の一部の実施形態に従う例示の経路計画処理を説明するフローチャートである。

本開示の一部の実施形態に従う例示の水平経路計画処理を説明するフローチャートである。

本開示の一部の実施形態に従う水平経路決定処理を説明する例示の図である。

本開示の一部の実施形態に従う例示の垂直経路計画処理を説明するフローチャートである。

本開示の一部の実施形態に従う例示の無人航空機を説明する。

本開示の一部の実施形態に従う無人航空機の例示のコンピューティング・システムを説明する図である。

本開示の一部の実施形態に従う無人航空機を制御するための例示の緊急処理を説明するフローチャートである。

本開示の一部の実施形態に従う設定可能な積荷コンテナ及び/又は電源の例示の図を示す。

本書で検討される所定の実施形態が実装されてもよいコンピューティング・システムを説明する図である。

記載される所定の特徴を説明するリモート電子デバイスの例示のスクリーンショットを説明する。

以下の記載はUAVを用いた輸送のための例示のシステム及び方法を説明する。説明されるコンポーネント及びステップは、示される例示の実施形態を説明するために用意されており、特定の機能が実行される方法が進行中の技術の進歩により変わることが予期されるべきである。これらの例は説明の目的で本書で提示され、限定の目的ではない。さらに、機能的ビルディング・ブロックの境界は、説明の便宜のために本書で任意に規定されている。特定された機能及びそれらの関係が適切に実行される限りにおいて代替の境界が規定されうる。(本書に記載されるものの均等物、拡張、変形、逸脱等を含む)代替物は、本書に含まれる教示に基づいて当業者に明らかだろう。このような代替物は開示された実施形態の範囲及び精神に含まれる。また、“備える(comprising)”、“有する(having)”、“包含する(containing)”及び“含む(including)”並びに同様の形式は、意味において同等であり、これらの用語の任意のものに続く項目又は項目群がこのような項目又は項目群の網羅的なリストであることを意味せず、列挙された項目又は項目群だけに限定されないことを意味する点でオープンエンドであることが意図される。

都市のような高度に発達したエリアのかつてないほど高い成長又は孤立した地方エリアのような未発達領域の継続的に増えるニーズに起因して、商品の効率的な輸送及び/又は配送のニーズが存在する。UAVを介した商品の輸送はこれらのニーズを満足させるのに役立つかもしれない。伝統的な無人航空機は人間によって手動で操作される。例えば、人間が地上に位置する間に航空機テレメトリ及び航空機からのオンボード・カメラを確認することによって当該人間が機体を操縦する。しかし、1つ以上のUAVの手動操作は高コスト及び/又は非効率であるかもしれない。よって、UAVの自律的及び/又は半自律的(“高度に自動化された”)ナビゲーションの必要性が存在しうる。UAVの自律的及び/又は半自律的ナビゲーションは、障害物及び/又は指定エリアを回避する無人航空機の効率的な経路計画に依存する又はこれを含みうる。

総括的に、本開示の側面は、UAV及びUAVの自律的及び/又は半自律的ナビゲーションのためのコンピューティング・システムに関する。特に、UAVの自律的及び/又は半自律的な経路計画のためのシステム及び方法が本書で開示される。例えば、一部の実施形態によれば、ユーザ・コンピューティング・デバイスは、地理的エリアの地理空間データにアクセスする。1つの例では、ユーザは地理的エリア内の開始/始点位置及び終了/目的位置を選択する。ユーザ・コンピューティング・デバイスは、地理的エリア内の障害物を回避することによって開始位置から終了位置への水平経路を決定する。例を続けて、ユーザ・コンピューティング・デバイスは、障害物回避形状を生成するために、凸包演算のような計算幾何学を用いる。その後、ユーザ・コンピューティング・デバイスは、障害物回避形状の周りの1つ以上の経路を決定し、当該経路が別の障害物と交差するかを判定する。経路が別の障害物と交差するならば、ユーザ・コンピューティング・デバイスは、例えば凸包演算を繰り返すことによって、当該障害物を障害物回避形状に加え、更新された障害物回避形状の周りの1つ以上の新たな経路を決定する。一部の実施形態では、水平経路はさらに、経路の不要なセグメントを除去することによって更に最適化され、この不要なセグメントは、セグメントを除去し、更新されたパスが1つ以上の障害物と交差するかをチェックすることによってユーザ・コンピューティング・デバイスにより決定されてもよい。

一部の実施形態で、ユーザ・コンピューティング・デバイスは、水平経路から垂直経路を決定する。例示の垂直経路決定処理は、空域規則によって規定される高度及び/又は特定の最大又は最小飛行高度のような垂直閾値にアクセスすることを含む。例示の垂直経路決定はさらに、垂直閾値を用いて水平経路の局所最小及び/又は最大高度を決定することを含む。局所最小及び/又は最大高度は、後で高度を下げる必要がない最高の高度を取得する初期垂直経路を決定するために用いられる。一部の実施形態では、後で下降しない最高の高度を選択することは、エネルギー効率を向上し及び/又は障害物に遭遇する可能性を低減する。この例を続けて、局所最小及び/又は最大閾値違反を識別するために、経路のウェイポイント間に中間ウェイポイントが選択される。何らかの違反が検出されたならば、例示の処理は垂直経路を修正し、セグメントをサブ部分に分割し、垂直経路に別の違反が検出されなくなるまで違反検出及び修正処理を再帰的に繰り返す。一部の実施形態で、ユーザ・コンピューティング・デバイスは、水平及び垂直経路を組み合わせ、組み合わされた経路をアプリケーション・サーバ及び/又はUAVへ送信する。

総括的に、本開示の側面はさらに、無人航空機及び/又は分散型無人航空機システムに関する。例えば、無人航空機は、アプリケーション・プロセッサ、1つ以上の推進センサ、セルラ・ネットワークに無線接続される通信デバイス及び更なるコンポーネントを含んでもよい。無人航空機は、メッセージング・キューを介してユーザ・コンピューティング・デバイスを介して命令を受信してもよい。さらに、無人航空機は、追跡データ・ストア及び/又は時系列データベース内での記憶のためのシステムへテレメトリ及びセンサ・データを送信してもよい。アプリケーション・サーバはさらに、記憶された追跡データに基づいて保守を必要とする機体コンポーネントのような傾向を決定するために追跡データ・ストアを監視してもよい。例示のUAVはさらに、オンボード・エレクトロニクスの保護を含む複数の利点を提供し、積荷コンテナ及び/又は電源の様々な構成を提供するリング構造を含んでもよい。例えば、例示のUAVのリング構造は、1つ以上の空間的次元において積荷コンテナ及び/又は電源の寸法の変更を可能にする。

無人航空機システム 図1Aは、本開示の一部の実施形態に従う例示の無人航空機システム(“UAVシステム”)を説明する。UAVシステム100は、1つ以上の無人航空機110、着陸ステーション120A〜120B、ネットワーク122、ユーザ・コンピューティング・デバイス130及びUAVサービス140を含む。

例示のUAVシステム100は、所望の目的地へUAV110を制御及び/又はナビゲートするために用いられうる。UAV110は、着陸ステーション120Aから着陸ステーション120Bへ及び/又はその逆へ荷物を輸送可能であってもよい。本書で更に詳細に記載されるように、ユーザ・コンピューティング・デバイス130は、経路を生成し、UAVサービス140を介して自身の飛行を開始するようにUAV110に命令する。一部の実施形態で、ユーザはユーザ・コンピューティング・デバイス130を用いてUAVの飛行を開始する。他の実施形態で、ユーザ・コンピューティング・デバイス130はUAVシステム100におけるオプションであり、用いられなくてもよい。UAV110は、許可された経路を受信するため及び/又はUAVサービス140へデータを送信するためにUAVサービス140と通信できる。その後、UAV110は、許可された経路を飛行できる。一部の実施形態で、UAV110は、イメージャ及び着陸ステーションの光学マーカを用いて正確な着陸を実行する。正確な着陸に関する更なる情報は、米国特許出願番号14/631,789号で見つかるかもしれず、これは参照によって本書に組み込まれる。

一部の実施形態で、UAV110は、UAVサービス140と無線で通信するように構成されうる。1つ以上のネットワーク122を介した無線通信は、例えばセルラ、パケット無線、GSM(登録商標)、GPRS、CDMA、WiFi(登録商標)、衛星、無線、RF、無線モデム、ZigBee(登録商標)、XBee、XRF、XTend、Bluetooth(登録商標)、WPAN、見通し線、衛星リレー又は任意の他の無線データ・リンク及び/又はこれらの何らかの組み合わせを含む任意の適切な通信媒体でありうる。

図1Bは、本開示の一部の実施形態に従う別の例示のUAVシステムを説明する。UAVシステム150は、1つ以上の無人航空機110、ネットワーク122、ユーザ・コンピューティング・デバイス130及びUAVサービス140を含む。UAV110、ネットワーク122、ユーザ・コンピューティング・デバイス130及びUAVサービス140のようなUAVシステム150のコンポーネントは、図1AのUAVシステム100のコンポーネントと同様であってもよい。例示のUAVサービス140は、地理空間データ・ストア160、地理空間キャッシュ162、アプリケーション・サーバ170、アプリケーション・データ・ストア172、メッセージング・キュー180及び追跡データ・ストア190を含む。

UAVシステム150の例示の使用は、ユーザが開始位置を選択したとき及び/又はユーザ・コンピューティング・デバイス130のユーザ・インタフェースから特定の位置にある無人航空機を選択したときである。その後、ユーザ・コンピューティング・デバイス130は、UAVサービス140に地理空間データを要求する。UAVサービス140は、地理空間データ・ストア160及び地理空間キャッシュ162を含む。一部の実施形態で、地理空間データ・ストア160は、緯度及び経度データを含むオブジェクト関係空間データベースである。地理空間データ・ストア160のための例示のデータ及びデータ・ソースは、航空宇宙局(“NASA”)からの地形データ、連邦航空局(“FAA”)からの空域データ、国立公園局、国防総省及び/又はたの連邦機関からの地理空間データ、通学区域のような地方機関からの地理空間及び/又はビル・データ及び/又はこれらの何らかの組み合わせを含むがこれらに限定されない。地理空間データ・ストア160は、数百ギガバイトのデータ又はテラバイトのデータのような大量のデータを含んでもよい。

一部の実施形態で、地理空間データ・ストア160からのデータは処理され、地理空間キャッシュ162にキャッシュされる。処理は、セクタ識別子によってインデックス付けされた圧縮データに地理空間データをキャッシュするために地理空間データ・ストア160にクエリしてもよい。本書で用いられるように、通常の意味に加えて、“セクタ識別子”は、地理座標基準系で用いられる識別子を指してもよい。例示のセクタ識別子は、ミリタリ・グレード基準系(“MGRS”)識別子を含む。圧縮された地理空間データは、セクタ識別子によってインデックス付けされており、地理空間キャッシュ162を介してアクセス可能である。クライアント−サーバ・データベース・エンジンを含んでもよい地理空間データ・ストア160とは対照的に、地理空間キャッシュ162は、プログラミング・ライブラリに組み込まれてもよい。例えば、地理空間キャッシュ162の完全なデータベースが単一ファイル内に実装され、これがユーザ・コンピューティング・デバイス130によってクエリされてもよい。ユーザ・コンピューティング・デバイス130は、緯度及び経度座標のようであるがこれに限定されない基準系内の特定の座標についての地理空間データを要求する。ユーザ・コンピューティング・デバイス130又は地理空間キャッシュ162は、特定の座標をセクタ識別子に変換し、当該セクタ識別子についての地理空間データがユーザ・コンピューティング・デバイス130へ送信される。他の実施形態では、地理空間キャッシュ162はオプションであり、ユーザ・コンピューティング・デバイス130は、地理空間データ・ストア160と直接に通信する。

一部の実施形態で、地理空間キャッシュ162内の地理空間データは、メモリ効率的なデータ・バンドルに圧縮されている。例えば、地理空間キャッシュ162は、データを含む各セクタ識別子についての圧縮されたデータ・パッケージを含む。例を続けて、圧縮された各データ・パッケージは、およそ50平方キロメートルを含む。地理空間データを圧縮するために用いられてもよい例示の技術は、Lempel−Ziv圧縮方法、DEFLATE、WavPack又は任意のロスレス・データ圧縮技術を含む。一部の実施形態で、50平方キロメートルの地理空間データは、およそ2.5メガバイトのデータに圧縮される。

一部の実施形態で、(セクタ識別子で規定されるような)特定のセクタに関連するメモリ効率的なデータ・バンドル及び/又は地理空間データを決定するための例示の方法は、地理的エリア内のセクタから開始することと、セクタから所定の距離以内の地理空間データを決定することとを含む。例えば、セクタが10平方キロメートルならば、当該10平方キロメートルの周りの50平方キロメートルが決定され、メモリ効率的なデータ・バンドル内に記憶される。一部の実施形態で、バックエンド処理は、地理空間データ・ストア160にクエリし、地理空間キャッシュ162内にメモリ効率的なデータ・バンドルを記憶することによって、上述の処理を用いてメモリ効率的なデータ・バンドルを決定する。

1つの例で、ユーザ・コンピューティング・デバイス130は、地理空間キャッシュ162及び/又は地理空間データ・ストア160から受信した地理空間データを用いてUAV110のためのナビゲーション経路を決定する。他の例で、UAVサービス140がナビゲーション経路を決定し、さらに別の例で、コンピューティング・デバイス130とUAVサービス140との両方によって、入力及び処理に基づいて経路が共同決定される。ユーザ・コンピューティング・デバイス130及び/又はUAVサービス140は、障害物及び/又は飛行禁止ゾーンを回避し、空域規則に準拠し、及び/又はエネルギー効率的であるUAV110のための経路を決定してもよい。図2〜図5に関して経路決定アルゴリズム(群)に関する更なる詳細が説明される。

ユーザ・コンピューティング・デバイス130は、決定された経路及び/又は任意のUAV命令をアプリケーション・サーバ170へ送信する。アプリケーション・サーバ170は、ユーザ・コンピューティング・デバイス130及び/又はユーザ・コンピューティング・デバイス130のユーザを認証する。一部の実施形態で、ユーザ・コンピューティング・デバイス130の認証は、認証トークンを介して行われる。例示の認証トークンは、ユーザ・コンピューティング・デバイス130とアプリケーション・サーバ170との間の共有秘密鍵である。これに加えて又はこれに代えて、トークンはタイムスタンプを含み、タイムスタンプはユーザ・コンピューティング・デバイス130を認証するために用いられる。認証及び/又は許可されると、例示のアプリケーション・サーバ170は、決定された経路及び/又はUAV命令をデータ・ストア172に記憶する。よって、データ・ストア172は、ユーザ・コンピューティング・デバイス130に関連するオーディット・トレールを含んでもよい。

認証及び/又は許可に続いて、アプリケーション・サーバ170は、メッセージング・キュー180を介して、経路、飛行計画及び/又はUAV命令をUAV110へ送信する。例示のメッセージング・キュー180は、軽量パブリッシュ−サブスクライブ・メッセージング・プロトコルを用いて実装される。メッセージング・キュー180は、ネットワーク122を介して、経路、飛行計画及び/又はUAV命令をUAV110へ送信する。一部の実施形態で、UAV110は、セルラ無線接続を介してメッセージング・キュー180からデータを受信する。

経路計画処理 図2は、本開示の一部の実施形態に従う例示の自動経路計画処理200を説明するフローチャートである。例示の処理200は、ユーザ・コンピューティング・デバイス130又はUAVサービス140によって部分的に又は全体的に実行されてもよい。例えば、経路計画は、UAVサービス140及び/又はアプリケーション・サーバ170及び/又はこれらの一部の組み合わせのような、本書に記載されるシステム又はプロセッサの何れかによって実行されうる。上述のように、ユーザ・コンピューティング・デバイスは、ユーザ・コンピューティング・デバイス130とのユーザ・インタラクションに応答して経路計画処理200を開始してもよい。実施形態に依存して、処理200は、より少ない又は追加のブロックを含んでもよく、ブロックは説明されるのとは異なる順序で実行されてもよく、及び/又は一部のブロックは部分的に又は全体的に並行して実行されてもよい(例えば、水平及び垂直経路の決定は、少なくとも部分的に並行して実行されてもよい)。

ブロック205から開始して、ユーザ・コンピューティング・デバイス130は開始位置及び終了位置にアクセスする。開始位置及び終了位置はユーザ入力によって指定されてもよい。一部の実施形態では、ユーザはユーザ・インタフェース内の開始着陸ステーション及び終了着陸ステーションを選択してもよい。例示のユーザ・インタフェース選択が図10A〜図10Dに説明される。これに加えて又はこれに代えて、ユーザは、ユーザ・インタフェース内の地図上の2つの地点を選択すること、位置(例えば、企業名、住所等)のプルダウン・メニューから選択することを含む様々なやり方で開始位置及び終了位置を指定してもよい。開始位置及び終了位置データは、基準系の座標を含む。例示の座標及び基準系は、緯度及び経度座標又はユニバーサル・トランスバース・メルカトル(“UTM”)座標を含むがこれに限定されない。

ブロック210で、ユーザ・コンピューティング・デバイス130は、UAVサービス140から地理空間データにアクセスする。示されるように、一部の実施形態で、地理空間データはブロック205の後にアクセスされる。ユーザ・コンピューティング・デバイス130は開始位置に基づいて地理空間データを要求する。例えば、本書に記載されるように、ユーザ・コンピューティング・デバイス130は、開始位置をセクタ識別子に変換し、セクタ識別子について地理空間キャッシュ162に地理空間データを要求する。別の例では、本書に記載されるように、UAVサービス140及び/又は地理空間キャッシュ162は、開始位置をセクタ識別子に変換し、セクタ識別子についての対応する地理空間データを送信する。他の実施形態で、地理空間データはブロック205の前にアクセスされてもよい。例えば、図10Aに示されるように、ユーザは(例えば、都市又は住所を入力することによって、又はユーザの現在位置を利用する地図を開くことによって)地理的エリアを選択してもよく、これによってユーザ・コンピューティング・デバイス130は地理空間キャッシュ162から地理空間データをアクセス及び/又はダウンロードする。これに加えて又はこれに代えて、ダウンロードされた地理空間データは、ユーザ・コンピューティング・デバイス130がUAVサービス140に要求することなく地理空間データのローカル・コピーを使用できるように、ユーザ・コンピューティング・デバイス130にローカルに記憶又はキャッシュされる。一部の実施形態で、地理空間データのローカル・コピーは、定期的に及び/又はリフレッシュすることのUAVサービス140からのメッセージに応答して及び/又はリフレッシュすることのユーザ入力に基づいて、UAVサービス140からリフレッシュ及び/又は再ダウンロードされてもよい。

ブロック215で、ユーザ・コンピューティング・デバイス130は、開始位置から終了位置への水平経路を決定する。ユーザ・コンピューティング・デバイス130は、障害物を回避する水平経路を決定する。一部の実施形態で、地理空間データ・ストア160からの地理空間データは障害物の分類を含んでもよい。例示の障害物分類は、重大回避ゾーン及び一般回避ゾーンを含む。重大回避ゾーンは、軍事施設、FAA制御空域及び/又は国立公園のようなエリアを含んでもよい。UAVシステム及び/又はユーザ・コンピューティング・デバイス130は、重大ゾーンを回避する経路を生成してもよい。一般回避ゾーンは、学校、ビル又は経路で一般的に回避しなければならないが開始位置及び終了位置として許容される任意の所定のエリアを含んでもよい。例えば、地理的エリア内の(ビルのような)物体が30m、40m又は50m等のような所定の高さよりも上であることを地理空間データが示す地理的エリアは一般回避ゾーンとして分類される。よって、ユーザ・コンピューティング・デバイス130は、ビル及び/又は学校で経路が開始及び/又は終了することを可能にするが、そうでなければ経路は開始位置と終了位置との間のビル及び/又は学校のような一般回避ゾーンと交差しない。ユーザ・インタフェースは、一般回避ゾーン及び重大回避ゾーンを識別するためのオーバレイ方式(例えば、カラー方式、アイコン等)を含んでもよい。水平経路決定は、図3及び図4に関してさらに詳細に記載される。

ブロック220で、ユーザ・コンピューティング・デバイス130は、決定された水平経路に基づいて垂直経路を決定する。例えば、空域規制及び/又は飛行安全実務は、UAVが地上に対して飛行すべき推奨の最小及び/又は最大高度を確立する。さらに、経路のウェイポイント及び/又は目的地に関して後から高度が低下しなくても好適な垂直経路が最高の高度を実現するように、高度の変更はエネルギーを消費するかもしれない。一部の実施形態で、ユーザ・コンピューティング・デバイス130は、水平経路決定に続いて垂直経路を決定し、これは垂直経路計画に対して水平経路計画を優先してもよい。垂直経路決定は、図5(及び図10B)に関してさらに詳細に記載される。

ブロック225で、ユーザ・コンピューティング・デバイス130は、UAVサービス140へ、決定された経路を送信する。例えば、ユーザ・コンピューティング・デバイス130は、水平経路及び垂直経路を、UAV110によって利用可能な結合経路に組み合わせる。例示の結合経路は、緯度、経路及び高度値のような一連の座標を含む。この例では、ユーザ・コンピューティング・デバイス130は、ネットワーク122を介して結合経路をアプリケーション・サーバ170へ送信する。経路はメッセージング・キュー180を介してUAV110へ送信される。その後、UAV110は、経路を開始することの命令を受信したことに応じてUAV110の経路を実行する。

図3は、本開示の一部の実施形態に従う例示の水平経路計画処理300を説明するフローチャートである。例示の処理300は、ユーザ・コンピューティング・デバイス130によって実行されてもよい。例示の処理200の経路計画と同様に、水平経路計画は、UAVサービス140及び/又はアプリケーション・サーバ170及び/又はこれらの何らかの組み合わせのような、本書に記載されるシステム又はプロセッサの何れかによって実行されうる。実施形態に依存して、処理300は、より少ない又は追加のブロックを含んでもよいし、及び/又はブロックは説明されたのとは異なる順序で実行されてもよい。

ブロック305で、ユーザ・コンピューティング・デバイス130は、開始位置から終了位置へのパスを決定する。一部の実施形態で、ユーザ・コンピューティング・デバイスは、ブロック305の前に予備ステップを実行する。例示の予備ステップは、処理200のブロック205のような開始位置及び終了位置にアクセスすることと、処理200の210のような地理空間データにアクセスすることとを含む。ユーザ・コンピューティング・デバイス130によって決定されるように、開始位置から終了位置への例示のパスは、開始位置から終了位置への直線を含む。図4Aに例示の直線パスが説明される。

ブロック310で、ユーザ・コンピューティング・デバイス130は、ブロック305のパスが何れかの障害物と交差するかを判定する。ブロック305の決定されたパスによる障害物との例示の交差が図4Aに関して説明される。図4Aに説明されるように、パス404は、2つの障害物406A及び406Bと交差する。よって、ユーザ・コンピューティング・デバイス130は、パスが1つ以上の障害物と交差するならば、ブロック315へ進む。そうでなければ、ユーザ・コンピューティング・デバイス130は、ブロック325へ進む。一部の実施形態で、アクセスされた地理空間データは、何れかの障害物が、決定されたパスと交差するかを判定するためにユーザ・コンピューティング・デバイス130によってクエリ可能である。

ブロック315で、ユーザ・コンピューティング・デバイス130は、交差した1つ以上の障害物を回避形状に組み合わせる。ユーザ・コンピューティング・デバイス130によって用いられる、2つ以上の障害物ポリゴンを回避形状に組み合わせるための例示の方法は凸包である。形状の一部である任意の2点について任意の2点間の線分も形状の一部であるならば当該形状は凸である。例示の凸包アルゴリズムは、ギフト包装アプローチ及び/又はジェイビス行進法、グラハム・スキャン、クイックハル、分割統治、モノトーン・チェーン及び/又はアンドリュー・アルゴリズム、メンタル凸包アルゴリズム、線形凸包アルゴリズム、チャンズ・アルゴリズム又は凸形状を決定するための任意の他のアルゴリズムを含む。凸包アルゴリズムを用いてユーザ・コンピューティング・デバイス130によって生成される例示の回避形状が図4B〜図4Dに説明される。例えば、図4Bの回避形状410は、障害物406A及び406B、開始位置402及び終了位置408からの地点の間に任意の交差点を含まない凸包である。一部の実施形態で、ユーザ・コンピューティング・デバイス130は、回避形状を生成するために、凸包内の障害物から所定の距離を計算する。障害物を囲む例示の所定の距離は、40m、50m等を含み、これは一部の実施形態で設定可能であってもよい。よって、例示の回避形状は、凸包内の障害物を囲む所定の距離によって決定されるような楕円部分を含む。楕円部分を含む例示の回避形状が図4B〜図4Dに説明される。

ブロック320で、ユーザ・コンピューティング・デバイス130は、回避形状の周りの1つ以上のパスを決定する。例えば、ユーザ・コンピューティング・デバイスは、終了位置へ向かう1つ以上の方向を選び、回避形状に触れることなく回避形状の周りを横切る。回避形状の周りのパスを選ぶ例示の方法は、基準系内の点に関する特定の方向に依存して開始位置から左又は右若しくは上又は下に進むことを含む。例えば、図4Cは、回避形状410の周りの終了位置408への左パス412及び右パス414を説明する。その後、ユーザ・コンピューティング・デバイス130は、生成されたパスの何れかが追加の障害物と交差するかを判定するためにブロック310へ戻る。例えば、図4Cに説明されるように、左パス412は障害物406Dと交差し、右パスは障害物406Cと交差する。よって、ユーザ・コンピューティング・デバイス130は、回避形状を再帰的に成長させ、回避形状の周りの1つ以上のパスを決定するように、パスが障害物と交差しなくなるまでブロック310、315及び320を繰り返し続ける。一部の実施形態で、障害物と交差しない終了位置への2つ以上の実現可能なパスが存在する場合に、ユーザ・コンピューティング・デバイス130は、最小距離である及び/又は最小の頂点数を含む実現可能パスから経路を選択する。例えば、ユーザ・コンピューティング・デバイス130は、パス416がパス418よりも短い及び/又は少ない頂点を有するので、パス416を水平経路として選択する。その後、ユーザ・コンピューティング・デバイスは、障害物と交差しない経路が決定されているので、ブロック325へ進む。

ブロック325で、ユーザ・コンピューティング・デバイス130は、経路を最適化する。ユーザ・コンピューティング・デバイス130によって実行される例示の経路最適化は経路内の頂点を通じて反復される。例えば、経路から頂点が除去されると、ユーザ・コンピューティング・デバイス130は、(当該頂点がない)新たな経路が何れかの障害物と交差するかを判定する。一部の実施形態で、(経路のおよそ中間の距離の頂点を選ぶことのような)二分探索アルゴリズムが、頂点を選択し、障害物と交差しないならば頂点を除去するために用いられる。他の実施形態で、ユーザ・コンピューティング・デバイス130は、頂点を除去し、当該除去が更新されたパスを障害物と交差させるかを判定することのように、経路を更に最適化するために、線形オーダで経路の頂点を通じて反復する。

一部の実施形態で、決定された経路は、非一時的なコンピュータ・ストレージに記憶される。例えば、ユーザ・コンピューティング・デバイス130は、図9のデータ・ストレージ・デバイス910のようなユーザ・コンピューティング・デバイス130のデータ・ストレージに決定された経路を記憶する。これに加えて又はこれに代えて、決定された経路の送信に続いて、決定された経路は、UAV及び/又はUAVサービス140の非一時的なコンピュータ・ストレージに記憶される。

図4A〜図4Dは、本開示の一部の実施形態に従う水平経路決定処理を説明する例示の図である。図4Aの例示の略図400は、開始位置402、障害物406A〜F、パス404及び終了位置408を含む。略図400及び/又は略図400に対応するデータは、ブロック305のような図3の処理300によって生成されてもよい。図4Bの例示の略図420は、多くの側面で例示の略図400と同様であってもよい。しかし、略図420と例示の略図400との間の1つの違いは、略図420が回避形状410を含むことである。ユーザ・コンピューティング・デバイス120は、ブロック315のような図3の処理300を用いて回避形状410を生成してもよい。図4Cの例示の略図430は、多くの側面で例示の略図420と同様であってもよい。しかし、例示の略図430と例示の略図420との間の1つの違いは、略図430が第1パス412及び第2パス414を含むことである。ユーザ・コンピューティング・デバイス130は、ブロック320のような図3の処理300を用いて第1パス412及び第2パス414を生成してもよい。図4Dの例示の略図440は、多くの側面で例示の略図430と同様であってもよい。しかし、例示の略図440と例示の略図430との間の違いは、略図440が回避形状442、第3パス416及び第4パス418を含むことである。ユーザ・コンピューティング・デバイス120は、ブロック310、315及び/又は320のような図3の処理300を用いて回避形状442及び第3パス416及び第4パス418を生成してもよい。さらに、例では、ユーザ・コンピューティング・デバイスは、形状442及びパス416及び418を生成するためにブロック310、315及び320の複数回の反復を実行する。

一部の実施形態で、ユーザ・コンピューティング・デバイス130は、図4A〜4Dの例示の略図と同様のユーザ・インタフェースを提示してもよい。例えば、図3の処理300の実行中及び/又は実行後に、ユーザ・インタフェース130は、経路決定処理を説明するユーザ・インタフェースの提示を行わせてもよい。一部の実施形態で、処理300の実行中に、ユーザ・コンピューティング・デバイス130は、数百又は数千の回避形状及び/又はパスを生成してもよい。しかし、例では、ユーザ・コンピューティング・デバイス130は、これらの回避形状及び/又はパスの部分集合をユーザ・インタフェースに提示させてもよい。例えば、ユーザ・コンピューティング・デバイス130は、(最終反復を含む)処理300に対応する5回、6回又は10回の反復のような所定回数の反復を提示する。水平経路決定処理の例示のユーザ・インタフェース表現が図10Aに説明される。

経路のユーザ・インタフェース表現の側面は、UAVのエネルギー及び/又はパワー状態の可視化を含む。例えば、図10Dは、UAVの推定の又は実際のエネルギー、バッテリ及び/又はパワー状態を示す経路の色勾配を説明する。例えば、(緑のような)1つの色は、UAVの比較的低いエネルギー状態を示し、(赤のような)別の色は比較的高いエネルギー状態を示し、2つ以上の色の間の色勾配はさらに、相対的なエネルギー状態を示す。

図5は、本開示の一部の実施形態に従う例示の垂直経路計画処理を説明するフローチャートである。例示の方法500は、ユーザ・コンピューティング・デバイス130によって実行されてもよい。例示の処理200の経路計画と同様に、垂直経路計画は、UAVサービス140及び/又はアプリケーション・サーバ170及び/又はこれらの何らかの組み合わせのような、本書に記載されるシステム又はプロセッサの何れかによって実行されうる。実施形態に依存して、方法500は、より少ない又は追加のブロックを含んでもよいし、ブロックは説明されたのとは異なる順序で実行されてもよい。

ブロック505で、ユーザ・コンピューティング・デバイス130は水平経路及び垂直閾値にアクセスする。例えば、ユーザ・コンピューティング・デバイス130は、図3の例示の処理300によって生成された水平経路にアクセスする。一部の実施形態で、ユーザ・コンピューティング・デバイス130は、図2のブロック210のデータ・アクセスと同様にして地理空間データにアクセスする。例を続いて、ユーザ・コンピューティング・デバイス130は、さらに、経路の地理空間データ及び/又は特定の地理的エリアに関連する垂直閾値にアクセスする。例示の垂直閾値は、地上レベルから少なくとも50m又は100mのようなUAVが飛行するのに好適な最小高度、又はUAV又は航空機が地上レベルより上を飛行しなければならない特定の高度(例えば、地上レベルの121m上)を指定する実用規制のような最大高度を含む。一部の実施形態で、垂直閾値は、地理空間データ内でアクセスされ、及び/又はUAVサービス140から受信される。一部の実施形態で、最小高度よりも上での飛行は、UAVが木、ビル又は任意の他の障害物に遭遇する可能性を低減するために好適であってもよい。

ブロック510で、ユーザ・コンピューティング・デバイス130は、アクセスされた水平経路の1つ以上のウェイポイントについて局所的な最小及び最大高度を決定する。例えば、ユーザ・コンピューティング・デバイス130は、ウェイポイントとすべき水平経路の頂点を選択する。図4Dの例示の経路416は、垂直経路のウェイポイントとして選択されてもよい頂点を説明する。例を続けて、ユーザ・コンピューティング・デバイスは、経路のウェイポイントについて、局所最小及び最大高度を決定する。局所最小及び最大高度は、各ウェイポイントの地表レベルが変わりうるので、経路の各ウェイポイントで変わってもよい。1つの特定の例は以下である。ウェイポイントA、B及びCは、0m、10m及び30mの標高を有する。例を続けて、ウェイポイントA、B及びCについての局所最小及び最大高度はそれぞれ、50m/121m、60m/131m及び80m/151mである。

ブロック515で、ユーザ・コンピューティング・デバイス130は、局所最小及び最大高度に基づいて1つ以上のウェイポイントについての特定の高度を決定する。一部の実施形態で、(着陸に必要な下降のような)高度をその後に減少しなくてもよい最大局所高度以内の最高の高度で経路の高度を選択することが好ましくてもよい。高度をその後に減少しなくてもよい高い高度を選択する利点は、高度の変更が一定の高度の飛行よりも多くのエネルギーを消費するかもしれず、及び/又は障害物に遭遇する確率を低減するかもしれないことである。

ブロック520で、ユーザ・コンピューティング・デバイス130は、各ウェイポイントの間に中間ウェイポイントを追加し、中間ウェイポイントについて対応する局所最小及び最大高度を決定する。地表レベルのような地理的地形は変わりうる。よって、例では、ユーザ・コンピューティング・デバイス130は、ウェイポイント間の高度が垂直閾値に違反しないことを検証する。例えば、ウェイポイントAがウェイポイントBから200mであれば、ユーザ・コンピューティング・デバイスは、地表レベルが変わりうるので、ウェイポイントAとBとの間の中間ウェイポイントをチェックする。ユーザ・コンピューティング・デバイス130は、水平経路のウェイポイント間の好適な距離に基づいて中間ウェイポイントを追加する。一部の実施形態で、中間ウェイポイントについての好適な距離は、30m、40m又は50mなどである。例では、ユーザ・コンピューティング・デバイス130は、中間ウェイポイントについて対応する局所最小及び最大高度を決定する。

ブロック525で、ユーザ・コンピューティング・デバイス130は、垂直経路の違反が存在するかを判定する。例えば、ユーザ・コンピューティング・デバイス130は、ブロック520で決定された中間ウェイポイント及び対応する最小及び最大高度を用いて、ブロック515で決定された初期垂直経路を分析する。例を続けて、ブロック515で決定された初期垂直経路は、中間ウェイポイントの局所最小及び最大高度に対して比較される。例えば、150mの高度は、100mの局所最大垂直閾値に違反するだろうし、60mの高度は70mの局所最小垂直閾値に違反するだろう。違反が存在すれば、ユーザ・コンピューティング・デバイス130は、違反を修正するためにブロック530へ進む。

ブロック530で、ユーザ・コンピューティング・デバイス130は、違反を修正する。ユーザ・コンピューティング・デバイス130は、(ブロック510で決定されたウェイポイントのような)2つのウェイポイントを取ることによって垂直経路を修正し、ブロック520の中間ウェイポイントを用いて2つのウェイポイントの間の最大違反を決定する。例えば、ウェイポイントA及びBの間の中間ウェイポイントE及びFに対応する2つの違反が存在するならば、ユーザ・コンピューティング・デバイス130は、それぞれの垂直閾値から絶対値が大きい違反である違反を選択する。その後、選択された違反が局所最大違反であるならば、ユーザ・コンピューティング・デバイス130は、局所最大垂直閾値よりも下になるように垂直経路を更新する。その逆に、選択された違反が局所最小違反であるならば、ユーザ・コンピューティング・デバイス130は、局所最小垂直閾値よりも上及び/又は底になるように垂直経路を更新する。例を続けて、中間ウェイポイントEでの違反が最大違反であることを想定する。例では、ユーザ・コンピューティング・デバイス130が垂直経路を更新すると、(中間ウェイポイントEのような)最大違反ウェイポイントでセグメントが分断され、結果として生じた2つのセグメントが、これ以上の違反が存在しなくなるまでブロック520、525及び530で再び再帰的に処理される。

図10Bは、図5の方法500によって生成された例示の経路の図面を説明する。例えば、図10Bは、所望の最大及び最小高度以内を維持しつつ、経路に沿った高度の変更率を経路が低減しようとする、決定された垂直経路を説明する。一部の実施形態で、経路は、(着陸するまで)高度をその後に減少(又は増加)しなくてもよい最大(又は最小)局所高度以内の最高の(又は最低の)高度を取得してもよい。一部の実施形態で、垂直経路可視化がユーザに提示される。例えば、ユーザはUAVの最初の操作について垂直経路を提示されてもよく、その後にユーザ・インタフェースを介するUAVの後続の操作は垂直経路を提示しなくてもよいし、及び/又は提示経路はユーザによって設定可能であってもよい。

無人航空機 図6は、本開示の一部の実施形態に従う例示の無人航空機を説明する。例示のUAV600は、積荷コンテナ602、電源604、後部エリア606、イメージャ608、モータ610A〜610D、オンオフ・ボタン612及び前部エリア614を含む。実施形態に依存して、UAV600は、説明されるのより少ない又は追加のコンポーネントを含んでもよい。UAV600の構築に用いられる例示の材料は、カーボンファイバ、カーボン充填ナイロン及び/又はプラスティック材料を含む。

説明されるように、UAV600は中央リングを含む。例示のUAV600のリングは、その内部の電子的及び航空電子的なすべてのコンポーネントを組み込んで保護する剛性構造を可能にする。中央リング内の電子的及び/又は航空電子的なコンポーネントの配置は、天候及び他の要素からの保護を可能にする。説明されるように、積荷コンテナ602及び電源604は、リング構造による最大保護を可能にする中央リング内に構成される。さらに、UAV600の空き内部エリアは、積荷コンテナ602及び電源604の上部搭載を可能にする。一部の実施形態で、UAV600は、積荷コンテナ602及び/又は電源604の下部搭載及び/又は解放を可能にしてもよい。電源604は、積荷コンテナ602も固定するロック機構を用いてUAVに固定されてもよい。UAV600の空き内部エリア及びリング構造の別の利点は、飛行中以外にサイドハンドルがUAVの持ち運びに用いられうることである。例示のUAV600のリングは、反対側にある2つの側を狭め、それによってハンドルをその構造の一部として組み込む。例えば、UAV600のハンドル・エリア616は、人間によるUAV600の持ち運びのために用いられてもよい。

一部の実施形態で、積荷コンテナ602は、UAVの空き内部エリア内で電源604の上にある(不図示)。これに加えて又はこれに代えて、積荷コンテナ602及び電源604は、UAVの空き内部エリア内で交換可能である。例えば、同じUAVは、積荷コンテナ602が電源604の上に配置可能であってもよいし、その逆でもよい。

一部の実施形態で、特定の電子的及び/又は航空電子的なコンポーネントは、UAV600の中央部の異なる区画内に収容される。例えば、グローバル・ポジショニング受信機が後部エリア606に配置されてもよく、アプリケーション・プロセッサのような他の電子コンポーネントが、グローバル・ポジショニング受信機の受信との干渉を避けるために前エリア部分614に配置される。

一部の実施形態で、例示のUAV600のフレームは、複数の小さなリブで作られる鳥の骨の内部構造を用いて構築される。鳥骨構造で配線のために内部チューブが例示のUAVを通る。例示の鳥の骨の構造は追加製造を用いて作製されてもよい。

例示のUAV600はモジュラであってもよい。アーム支柱内のプロペラ・ガードのような例示のUAV600のコンポーネントは、UAV600の重量を低減し、その飛行性能を向上するために除去可能であってもよい。

図6に説明されるように、イメージャ608は前側に面する。例示のUAV600はまた、底に面したイメージャ(図6では不図示)を含んでもよい。一部の実施形態で、底に面したイメージャは、正確な着陸のために用いられる。正確な着陸に関する更なる情報は、米国特許出願番号14/631,789号で見つかるかもしれず、これは参照によって本書に組み込まれる。

図7Aは、本開示の一部の実施形態に従う無人航空機の例示のコンピューティング・システムを説明する略図である。例示のUAVコンピューティング・システム700は、アプリケーション・プロセッサ702、電源716、キャリアボード720、自動操縦デバイス718、ポジショニング受信機722及びスピート・コントローラ724を含む。例示のUAVコンピューティング・システム700は、例示のUAV600内に含まれる。例えば、アプリケーション・プロセッサ702、自動操縦デバイス718及びUAVコンピューティング・システムの他のコンポーネントは、UAV600の前エリア部614内に収容される。UAVコンピューティング・システム700の一部のコンポーネントが図6に示される。例えば、電源716は、電源604に対応してもよい。

例示のUAVコンピューティング・システム700は通信デバイス708を含む。通信デバイス708はネットワークとの双方向データ通信を提供する。例えば、通信デバイス708は、セルラ、パケット無線、GSM、GPRS、CDMA、WiFi、衛星、無線、RF、無線モデム、ZigBee、XBee、XRF、XTend、Bluetooth、WPAN、見通し線、衛星リレー又は任意の他の無線データ・リンクを介して様々なタイプの情報を表すデジタル・データ・ストリームを伝達する電気的、電磁気的又は光学的な信号を送受信する。例示の通信デバイス708は3G/4Gセルラモデムである。例示の通信デバイス708は、図1Bのネットワーク122を介してメッセージング・キュー180からデータを受信する。例示の受信データは、ユーザ・コンピューティング・デバイス130からの生成された経路と、ユーザ・コンピューティング・デバイス130及び/又はアプリケーション・サーバ170からの命令とを含む。

ハードウェア・プロセッサのようなアプリケーション・プロセッサ702は、通信デバイス708を介して受信したデータを処理してもよい。例えば、アプリケーション・プロセッサ702は、自動操縦デバイス718へのナビゲーション命令を送信する。自動操縦デバイス718は、ポジショニング受信機722からポジショニング・データを受信する。ポジショニング・データは、グローバル・ポジショニング形式及び/又は全地球測位システム(GPS)形式であってもよい。自動操縦デバイス718は、UAVをナビゲートできるか及び/又はアプリケーション・プロセッサ702からの命令及びポジショニング・データを用いてスピード・コントローラ724を更新させることができる。一部の実施形態で、経路データは、コンピューティング・システム700が飛行中にセルラ接続を失ったとしても、積み込まれたミッションをUAVコンピューティング・システム700が完了するのに十分な情報を含む。

一部の実施形態で、キャリアボード720は自動操縦デバイス718にカスタマイズされる。例えば、キャリアボード720からのポートは、自動操縦デバイス718からのポートに接続するようにカスタマイズされてもよく、キャリアボード720はアプリケーション・プロセッサ702に接続するためのインタフェースを含んでもよい。一部の実施形態で、キャリアボード720は幅広い電圧入力範囲で動作する。例えば、カスタマイズされたキャリアボード720は、7Vから40Vの間で動作してもよく、これにより自動操縦デバイス718がより高い電圧源に互換性を有することが可能になってもよい。

電源716の例示の実施形態は、リチウムイオンバッテリ、リチウムポリマバッテリ又は任意の他のエネルギー源を含む。一部の実施形態で、リチウムポリマバッテリは、UAV600のケーシング内に収まるように構築される。一部の実施形態は、リチウムポリマバッテリのような代替のバッテリの電力密度よりも良好な電力密度のために電源716としてリチウムイオンバッテリを用いてもよい。一部の実施形態で、電源716はバッテリ・マネージャを含む。バッテリ・マネージャは、電源716のバッテリ実施形態が安全な電圧範囲内で動作すること、その状態を監視すること、セカンダリ・データ、報告データの計算すること、バッテリ環境を制御すること、及び/又はバッテリのエネルギー・セルのバランスをとることを可能にする。

例示のアプリケーション・プロセッサ702は、温度センサ704及び電流センサ706を含む推進モニタからデータを受信する。例示のコンピューティング・システム700で、温度センサ704は、スピード・コントローラの温度を監視するためにスピード・コントローラ724に接続される。一部の実施形態で、アプリケーション・プロセッサ702は、スピード・コントローラの温度を監視するためのソフトウェア命令を実行する。これに加えて又はこれに代えて、アプリケーション・プロセッサ702は、温度データが特定の閾値を超えた場合にUAVを着陸させる又はスピード・コントローラ724を減速するような緊急命令を実行してもよい。例示の閾値は、スピード・コントローラの温度が85℃のような第1閾値を超えた場合に、スピード・コントローラが電源716からより低い電力を引き出すか及び/又は1つ以上のスピード・コントローラの速度を低減するように命令されるものである。85℃よりも上の温度のような第2閾値は、着陸のようなさらなる緊急手続きをアプリケーション・プロセッサ702に開始させてもよい。さらに他の実施形態で、ユーザ・インタフェースにおけるセンサ・データの提示又はセンサ・データの可視化のためにユーザ・コンピューティング・デバイス130にセンサ・データが送信される。アプリケーション・プロセッサ702による温度データの収集及び監視と同様に、アプリケーション・プロセッサ702は、UAVからのモータ電流センサを収集し、監視する。例えば、アプリケーション・プロセッサ702は、プロペラを回転し、電流センサ706からのセンサ・データを用いてプロペラがモータから十分なパワーを引き出すことを判定するために事前飛行テストを開始してもよい。一部の実施形態で、アプリケーション・プロセッサ702によって実行される緊急手続きと同様に、アプリケーション・プロセッサ702は、少なくとも電流センサ・データに基づいて緊急手続きを実行できる。例えば、アプリケーション・プロセッサ702は、電流センサ・データが第1閾値を超えた場合に、モータから引き出されているパワーを低減し、第2閾値を超えた場合に着陸を開始する。

一部の実施形態で、アプリケーション・プロセッサ702は、UAV位置データ、ピッチ・ヘッディング・データ、温度センサ・データ、モータ電流センサ・データ、エネルギー・データ、位置データ及び/又は任意の他の収集データをUAVサービス140へ送信する。例えば、UAVサービス140へ送信されるUAVの温度データは追跡データ・ストア190に記憶される。例示のアプリケーション・プロセッサ702は、近い時間にデータをUAVサービス140へ送信する。よって、アプリケーション・プロセッサ702は、飛行中に温度、エネルギー使用率及び/又はテレメトリのような状態データをUAVサービス140へ報告できる。一部の実施形態で、アプリケーション・プロセッサは、毎秒1回又は4回のような所定の設定可能な間隔に基づいてUAVサービス140へ状態データを報告する。

一部の実施形態で、UAVサービス140は傾向のために追跡データ・ストア190に記憶されたデータを分析してもよい。例えば、特定のスピード・コントローラ及び/又はモータが(同じUAV上の又はシステム内の他のUAVと比較して)他のスピード・コントローラ及び/又はモータのよりも一貫して高温で稼働するという傾向データは、当該特定のスピード・コントローラ及び/又はモータが交換又は修理されるべきであることを示してもよい。よって、追跡データ・ストア190内の追跡データの分析は、追跡データ内の異常値を識別することによって予防保守のために用いられてもよい。

例示のアプリケーション・プロセッサ702は、さらに、光学センサ710からのデータを受信する。例示の光学センサ710は、対象にレーザを照射し反射光を分析することによって距離を測定する光レーダ(LIDAR)デバイスを含みうる。例えば、光学センサ710は、UAVのパス内の障害物を検出でき、アプリケーション・プロセッサ702は、障害物回避手続きを開始してもよい。これに加えて又はこれに代えて、アプリケーション・プロセッサ702は、中空に止まり、UAVサービス140へ送信するための障害物の画像を撮影するようにUAVに命令してもよく、この画像はユーザ・コンピューティング・デバイス130においてユーザにレビューされてもよい。例えば、ユーザ・コンピューティング・デバイス130は、障害物を回避するための更なる命令をユーザが送信したり、ミッションを終了しホーム又は新たな目的地へ向かわせたりするためにユーザにユーザ・インタフェースが提供されてもよい。例えば、UAVが飛行中に図2の例示の処理200を用いて追加の経路が決定されてもよい。一部の実施形態で、アプリケーション・プロセッサ702がユーザ・コンピューティング・デバイス130から更なる命令を受信しない場合に、アプリケーション・プロセッサ702は、ホームに戻るよう又は近くに着陸するようにUAVに命令する。

例示のアプリケーション・プロセッサ702は、さらに、1つ以上のイメージャ714からのデータを受信する。イメージャ714は、カメラ、撮像アレイ、マシンビジョン、ビデオカメラ、イメージセンサ、電荷結合デバイス(CCD)、相補型金属酸化膜半導体(CMOS)カメラ等又は任意の同様のデバイスを含むがこれらに限定されない多数の様々なデバイスであってもよい。イメージャは、グレイスケール、カラー、赤外線、紫外線又は他の適切な構成でありうる。光学センサ710と同様に、イメージャ714は障害物検出及び/又は回避のために用いられてもよい。UAVは、障害物回避のための前面イメージャを含んでもよい。これに加えて又はこれに代えて、イメージャは正確な着陸のためにUAVの底面に配置されてもよい。正確な着陸に関する更なる情報は、米国特許出願番号14/631,789号で見つかるかもしれない。

例示のアプリケーション・プロセッサ702は、1つ以上の照明デバイス712を介して照明を行いうる。例示の照明デバイス712は、発光ダイオード(LED)又は高強度発光ダイオードを含んでもよい。UAV600は、1つ以上の照明デバイス712を含んでもよい。例えば、照明デバイス712は、UAV600の上部又は下部にありうる(図6では不図示)。一部の実施形態で、照明デバイス712は、UAVの状態を示してもよい。例えば、LED照明デバイス712の異なる色及び/又はパルス周波数は、セルラ及び/又はインターネット接続の状態、自動操縦デバイスへの接続又はユーザに伝達される任意のメッセージのようなUAVの異なる状態をユーザ及び/又はオペレータに示してもよい。一部の実施形態で、底面照明デバイスは、地表の照明及び/又は正確な着陸のために用いられてもよく、これは米国特許出願番号第14/631,789により詳細に記載される。

無人航空機の冗長システム 例示のコンピューティング・システム700は、冗長プロセッサ730と、ジャイロスコープ、加速度計、磁力計又は他の内部ナビゲーション・センサ732、高度センサ734及びパラシュート制御736のような冗長デバイスとを更に含む。コンピューティング・システム700の他のデバイスとは独立した冗長デバイス及び冗長プロセッサ730を更に含むことによって、UAVはパラシュート制御736を介して1つ以上のパラシュートの展開のような緊急手続きを更に検出及び/又は開始してもよい。例えば、冗長プロセッサ730は、UAVが緊急手続きを開始すべきであることのインジケータを検出できる。例示のインジケータは、ピッチ、加速、高度及び/又は緊急状況を引き起こすこれらの何らかの組みあわせの変化を含むがこれに限定されない。例えば、UAVがトリガ閾値よりも高い速度で落下しているならば、冗長プロセッサ730はパラシュートを展開してもよい。一部の実施形態で、冗長システムは、2重、3重、又は任意の数の冗長機構と、パラシュートを展開すべきか及び/又は任意の他の緊急手続きを実行するかを判定するための投票システムとで設計されてもよい。例示の3重冗長システムは、以下の通りである。機体がトリガ閾値よりも高い速さで落下中であることのインジケータのような3つのインジケータのうちの1つが閾値よりも下であり、他の2つのインジケータがより遅い速さを示しているならば、冗長システムは擬陽性を回避し、引き起こさない。緊急状況の検出に応答して、例示の冗長プロセッサ730は、UAVのモータ及び/又はスピード・コントローラへの電力を止め、UAVの1つ以上のパラシュートを展開する。説明される冗長システムは、ハードウェア及び/又はソフトウェアの故障が存在する場合に冗長システムが機体自体、下にある人及び/又は物への危険を制限できることを保証する安全機器の重要部分であってもよい。

緊急処理 図7Bは、本開示の一部の実施形態に従う無人航空機を制御するための例示の緊急処理を説明するフローチャートである。例示の方法750は、アプリケーション・プロセッサ702、自動操縦デバイス718、冗長プロセッサ730及び/又はこれらの何らかの組み合わせによって実行されてもよい。緊急方法750は、本書に記載されるシステム又はプロセッサの何れによって実行されうる。実施形態に依存して、方法750は、より少ない又は追加のブロックを含んでもよいし、及び/又はブロックは説明されたのとは異なる順序で実行されてもよい。

ブロック755で、アプリケーション・プロセッサ702は、UAVセンサ・データにアクセスする。例示のUAVセンサ・データは、本書に記載されるように、温度、電流、光学の及び/又はテレメトリのデータを含む。

ブロック760で、アプリケーション・プロセッサ702は、UAVセンサ・データが1つ以上の閾値を超えるかを判定する。例示の閾値は、アプリケーション・プロセッサ702がブロック755へ進むべきことを示す1つ以上の値を含む。例えば、温度センサ・データが85℃のような第1値よりも上であるならば、アプリケーション・プロセッサ702は緊急手続きへ進む。他の実施形態で、温度センサ・データが90°Cのような第2値よりも上であるならば、アプリケーション・プロセッサ702は異なる緊急手続きへ進む。追加の例の閾値は、1つ以上のパラシュートの展開のような冗長対策が実行されるべきことを示すピッチ度及び/又は加速値を含む。

ブロック765で、アプリケーション・プロセッサ702は、1つ以上の緊急手続きを実行する。例示の緊急手続きは、1つ以上のスピード・コントローラを減速すること及び/又は着陸することを含む。光学認識を介して障害物を検出する実施形態のような一部の実施形態で、緊急手続きは、更なる命令を待つために飛行中に特定の位置でUAVを維持することを含んでもよい。本書に記載されるように、他の緊急手続きは、1つ以上のパラシュートの展開及び/又はスピード・コントローラの停止を含む。

ブロック770で、アプリケーション・プロセッサ702は、オプションで、本書に詳細に記載されるように、UAVサービス140へデータを送信する。例えば、追跡データ・ストア190内の記憶のためにセンサ・データが送信される。本書に記載されるように、追跡データ・ストア190内の追跡データは、予防保守のために及び/又は追跡データから傾向を決定するためにUAVサービス140によって用いられてもよい。一部の実施形態で、アプリケーション・プロセッサ702は、着陸、減速又はパラシュートの展開のような1つ以上の緊急手続きが実行されたことを示すデータを送信する。

設定可能な積荷コンテナ及び/又は電源 図8A〜8Cは、設定可能な積荷コンテナ及び/又は電源の例示の略図を説明する。本書に開示される一部のUAV実施形態の構造は、設定可能な積荷コンテナ及び/又は電源を可能にする。図8Aは、例示の積荷コンテナ800の上面図を説明する。説明されるように、例示の積荷コンテナ800は図6の積荷コンテナ602よりも大きい。例示の積荷コンテナ800は、コンテナ内の積荷サイズを増加させる楕円側面を含む。さらに、積荷コンテナ800は、UAV600の空き内部エリア内に収まる(積荷コンテナ800の楕円側面の形状がUAV600の空き内部エリア内にも収まるからである)。UAV600は、コンテナ602及び800の両方に互換性を有しうる。

図8B及び9Cは、異なる電源の寸法及び積荷コンテナの寸法の例示の構成を説明する。図8Bに説明されるように、積荷コンテナ840Aは、UAV600内に収まるように、電源830Aとペアになり、電源830Aよりも大きくなりうる。反対に、図8Cに説明されるように、積荷コンテナ840Bは、電源830Bとペアになり、電源830Bよりも小さくなりうる。電源830A/840A及び積荷コンテナ830B/840Bのような電源及び積荷コンテナの様々な組み合わせが同じUAV600と互換性を有しうる。よって、UAV600の設計は、小さな積荷のための特定のミッションが大きな電源に起因してより広い移動半径をUAVが有するように、設定可能な電源及び積荷コンテナ構成を可能にしてもよい。反対に、小さな電源に起因して大きな積荷が短距離で輸送されてもよい。等しい高さである電源及び積荷コンテナのような、図8B及び8Cに説明されるものとは異なる電源及び積荷コンテナ構成の他の実施形態が本開示に含まれる。

一部の実施形態で、積荷コンテナ自体が直接に電源とやり取りしてもよい。例えば、電力供給された積荷コンテナは積荷コンテナの中身を冷蔵できる。積荷の冷蔵は、医療輸送目的で有用であってもよい。電力供給された積荷コンテナの別の例は、加熱積荷コンテナであってもよい。さらに、UAV600は、(バッテリのような)電源を加熱するための加熱デバイスを含んでもよく、これは凍えるほどの及び/又は寒い天候の飛行状況で有利であってもよい。

一部の実施形態で、電源及び/又は積荷コンテナは、ソレノイド・デバイスを用いて定位置にロックされる。ソレノイドを開くための許可は、ユーザ・コンピューティング・デバイスを介して又はUAV上の指紋認証デバイスを介して行われてもよい。これに加えて又はこれに代えて、電源及び/又は積荷コンテナは、電源及び/又は積荷を外すための鍵ロック機構を有してもよい。

本開示はしばしば商品の輸送の観点で無人航空機を開示するが、本書に記載されるシステム、方法及び機体の一部は他の目的及び/又は文脈で用いられてもよい。例えば、本書に記載される経路計画方法は、UAVの娯楽飛行、UAVによる監視目的、及び/又はUAVによる農作物検査のような農業目的に用いられてもよい。本開示はしばしば積荷コンテナを有するUAVを開示するが、積荷コンテナは、電子デバイス及び/又はセンサ一式のような別のコンポーネントで置き換えられてもよい。例えば、図6のUAV600において、コンテナ602はセンサ一式でありうる。電子デバイス及び/又はセンサ一式は実験及び/又は監視のために用いられてもよい。

実装機構 図9は、(本書でユーザ・コンピューティング・デバイスと呼ばれることもある)コンピューティング・システム900の一般的なアーキテクチャを図示する。コンピューティング・システム900及び/又はコンピューティング・システム900のコンポーネントは、図1Bのユーザ・コンピューティング・デバイス130又はアプリケーション・サーバ170のような本書で検討されたデバイスの何れかによって実装されてもよい。図9に図示されるUAVコンピューティング・システム900の一般的なアーキテクチャは、本開示の側面を実装するために用いられてもよいコンピュータ・ハードウェア及びソフトウェア・コンポーネントの構成を含む。コンピューティング・システム900は、図9に示されるものよりも多くの(又は少ない)要素を含んでもよい。しかし、実現可能な開示を提供するためにこれらの要素のすべてが示されることが必要ではない。説明されるように、コンピューティング・システム900は、1つ以上のハードウェア・プロセッサ904、通信インタフェース918、コンピュータ可読媒体ストレージ及び/又はデバイス910、(タッチスクリーン、マウス、キーボード等のような)1つ以上の入力デバイス914A、(モニタ、スクリーン及び/又はディスプレイのような)1つ以上の出力デバイス916A、及びメモリ906を含み、これらの一部は通信バス902によって又は他のようにして互いに通信してもよい。通信インタフェース918は、1つ以上のネットワーク又はコンピューティング・システムへの接続を提供してもよい。よって、ハードウェア・プロセッサ(群)904は、ネットワーク922を介して他のコンピューティング・システム又はサービスから情報及び命令を受信してもよい。

メモリ906は、1つ以上の実施形態を実装するためにハードウェア・プロセッサ(群)904が実行する(一部の実施形態でモジュール又はコンポーネントとしてグループ分けされる)コンピュータ・プログラム命令を含んでもよい。メモリ906は一般に、RAM、ROM及び/又は他の不揮発、補助的又は非一時的なコンピュータ可読媒体を含む。メモリ906は、コンピュータ・システム900の一般的な管理及び動作でハードウェア・プロセッサ(群)904により使用するためのコンピュータ・プログラム命令を提供するオペレーティング・システムを記憶してもよい。メモリ906はさらに、本開示の側面を実装するためのコンピュータ・プログラム命令及び他の情報を含んでもよい。例えば、1つの実施形態で、メモリ906はUAVのための経路を決定する経路作成モジュールを含む。さらに、メモリ906は、ストレージ・デバイス910を含むかこれと通信してもよい。磁気ディスク、光学ディスク又はUSBサム・ドライブ(フラッシュ・ドライブ)等のようなストレージ・デバイス910は、情報、データ及び/又は命令を記憶するために提供され、バス902に結合される。

メモリ906はまた、ハードウェア・プロセッサ(群)904により実行される命令の実行中に一時変数又は他の中間情報を記憶するために用いられてもよい。このような命令は、ハードウェア・プロセッサ(群)904によりアクセス可能なストレージ媒体に記憶された場合に、コンピュータ・システム900を、命令で指定された動作を実行するようにカスタマイズされた特別用途マシンにする。

一般に、本書で用いられる“命令”という用語は、ハードウェア又はファームウェアで実施されるロジック、又は場合によってはエントリ及びエグジット・ポイントを有し、Java(登録商標)、Lua、C、C++又はC#のようであるがこれに限定されないプログラミング言語で記載されるソフトウェア・モジュールの集まりを指す。ソフトウェア・モジュールは、実行可能プログラムにコンパイル及びリンクされ、ダイナミック・リンク・ライブラリにインストールされてもよく、又はBASIC、Perl又はPythonのようであるがこれに限定されない解釈実行型プログラミング言語で記載されてもよい。ソフトウェア・モジュールは、他のモジュール又は自身から呼び出し可能であってもよく、及び/又は検出されたイベント又は中断に応じて呼び出されてもよい。ハードウェア・プロセッサ(群)によるコンピュータ・デバイスでの実行のために構成されたソフトウェア・モジュールは、コンパクトディスク、デジタルビデオディスク、フラッシュドライブ、磁気ディスク又は任意の他の有形媒体で提供されてもよいし、デジタル・ダウンロードとして提供されてもよい(し、実行の前にインストール、伸長又は復号が必要な圧縮又はインストール可能形式で当初記憶されていてもよい)。このようなソフトウェア・コードは、コンピューティング・デバイスによる実行のために、実行するコンピューティング・デバイスのメモリ・デバイスに部分的又は全体的に記憶されてもよい。ソフトウェア命令は、EPROMのようなファームウェアに組み込まれてもよい。ハードウェア・モジュールは、ゲート及びフリップフロップのような接続ロジック・ユニットで構成されてもよいし、及び/又はプログラム可能ゲート・アレイ又はプロセッサのようなプログラム可能ユニットで構成されてもよい。本書で記載されたモジュール又はコンピューティング・デバイスの機能は、好適にはソフトウェア・モジュールで実装されるが、ハードウェア又はファームウェアで表現されてもよい。一般に、本書に記載される命令は、物理編成又はストレージにかかわらず、他のモジュールに組み合わされてもよいし、サブモジュールに分割されてもよい論理モジュールを指す。

本書で用いられる“非一時的媒体”及び同様の用語は、マシンを特定の方式で動作させるデータ及び/又は命令を記憶する任意の媒体を指す。このような非一時的媒体は、不揮発性媒体及び/又は揮発性媒体を含んでもよい。不揮発性媒体は、例えば、ストレージ・デバイス910のような光学又は磁気ディスクを含む。揮発性媒体は、メインメモリ906のような動的メモリを含む。非一時的媒体の共通形式は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、半導体デバイス、磁気テープ又は他の任意の磁気データ・ストレージ媒体、CD−ROM、任意の他の光学データ・ストレージ媒体、孔のパターンを有する任意の物理媒体、RAM、PROM及びEPROM、FLASH−EPROM、NVRAM、任意の他のメモリチップ又はカートリッジ、これらのネットワーク接続版を含む。

非一時的媒体は伝送媒体とは異なるが伝送媒体と組み合わせて用いられてもよい。伝送媒体は、非一時的媒体間の情報の転送に参加する。例えば、伝送媒体は、同軸ケーブル、銅線及び光ファイバを含み、バス902を備えるワイヤを含む。伝送媒体はまた、無線又は赤外線データ通信の間に生成されるもののような音響又は光の波動の形式をとりうる。

コンピュータ・システム900はまた、バス902に結合された通信インタフェース918を含む。通信インタフェース918はネットワーク922との双方向データ通信を提供する。例えば、通信インタフェースは、セルラ、パケット無線、GSM、GPRS、CDMA、WiFi、衛星、無線、RF、無線モデム、ZigBee、XBee、XRF、XTend、Bluetooth、WPAN、見通し線、衛星リレー又は任意の他の無線データ・リンクを介して様々なタイプの情報を表すデジタル・データ・ストリームを伝達する電気的、電磁気的又は光学的な信号を送受信する。

コンピューティング・システム900は、ネットワーク922及び通信インタフェース918を通じて、メッセージを送信し、プログラム・コードを含むデータを受信できる。コンピューティング・システム900は、ネットワーク922を介して、アプリケーション・サーバのような他のコンピューティング・デバイス930と通信してもよい。

コンピューティング・デバイス900は、1つ以上のコンピュータ・ネットワークを用いて相互接続されている複数のコンピュータ・システムを含む分散コンピューティング環境を含んでもよい。コンピューティング・システム900はまた、図9に説明されるものよりも少ない又は多い個数のデバイスを有するコンピューティング環境内で動作できる。

添付の図面に関連して実施形態が説明されてきた。しかし、図が縮尺通りに描かれていないことが理解されるはずである。距離、角度等は単に例示であり、説明されるデバイスの実際の寸法及びレイアウトと正確な関連性を必ずしも保持しない。さらに、以下の実施形態は、本書に記載されるデバイス、システム等を当業者が製造及び使用できるような詳細なレベルで記載されている。様々な変形が可能である。コンポーネント、要素及び/又はステップは、変更、追加、除去又は再配置されうる。所定の実施形態が明示的に記載されてきたが、この開示に基づいて他の実施形態が当業者に明らかになるだろう。

前述の例は、前述の例で用いられたものについて本開示の総括的又は具体的に記載された動作状態を代用することによって同様に成功するように繰り返されうる。

実施形態に依存して、本書に記載される方法の任意の所定の動作、イベント又は機能は、異なる順で実行され、追加され、統合され、完全に除去されうる(例えば、記載された動作又はイベントのすべてが方法の実施に必要というわけではない)。さらに、所定の実施形態で、動作又はイベントは、マルチスレッド処理、中断処理又は複数プロセッサ又はプロセッサ・コアを通じて、連続ではなく並列に実行されうる。一部の実施形態で、本書に記載されるアルゴリズムは、メモリ・デバイスに記憶されたルーチンとして実装されうる。さらに、プロセッサはルーチンを実行するように構成されうる。一部の実施形態でカスタム回路が用いられてもよい。

本書に開示される実施形態に関連して記載された様々な例示の論理ブロック及びモジュールは、プロセッシング・ユニット又はプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は他のプログラム可能論理デバイス、ディスクリート・ゲート又はトランジスタ・ロジック、ディスクリート・ハードウェア・コンポーネント又は本書の記載された機能を実行するように設計されたこれらの任意の組み合わせのようなマシンによって実施または実行されうる。プロセッサは、マイクロプロセッサでありうるが、代替では、プロセッサはコントローラ、マイクロコントローラ又は状態マシン、これらの組み合わせ又は同様のものでありうる。プロセッサは、コンピュータで実行可能な命令を処理するように構成された電子回路を含みうる。別の実施形態では、プロセッサは、FPGA又はコンピュータ実行命令を処理せずに論理演算を実行する他のプログラム可能デバイスを含む。プロセッサはまた、コンピューティング・デバイスの組み合わせ、例えばDSPとマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと関連した1つ以上のマイクロプロセッサ又は任意の他のこのような構成の組み合わせとして実装されうる。本書では主にデジタル技術に関して記載されてきたが、プロセッサはまた主にアナログ・コンポーネントを含んでもよい。例えば、本書に記載された信号処理アルゴリズムの一部又は全部はアナログ回路で又はアナログとデジタルが混在した回路で実装されてもよい。コンピューティング環境は、少し名前を挙げると、マイクロプロセッサに基づくコンピュータ・システム、メインフレーム・コンピュータ、デジタル信号プロセッサ、ポータブル・コンピューティング・デバイス、デバイス・コントローラ又は電化製品内の計算可能エンジンを含むがこれに限定されない任意のタイプのコンピュータ・システムを含みうる。

先行するセクションに記載された処理、方法及びアルゴリズムのそれぞれは、コンピュータ・ハードウェアを備える1つ以上のコンピューティング・システム又はコンピュータ・プロセッサによって実行されるコード命令又はソフトウェア・モジュールによって実施されてもよく、又はこれによって全体的に又は部分的に自動化されてもよい。処理及びアルゴリズムは、特定用途向け回路で部分的に又は全体的に実装されてもよい。ソフトウェア・モジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブル・ディスク、CD−ROM又は既存の任意の他の形式のコンピュータ可読ストレージ媒体に存在しうる。例示のストレージ媒体は、当該ストレージ媒体からプロセッサが情報を読み出し、当該ストレージ媒体へ情報を書き込めるようにプロセッサに結合される。代替で、ストレージ媒体はプロセッサに統合されうる。プロセッサ及びストレージ媒体はASICに存在しうる。ASICはユーザ端末に存在しうる。代替で、プロセッサ及びストレージ媒体はユーザ端末のディスクリート・コンポーネントとして存在しうる。

本書で特定のコンピューティング・パラダイム及びソフトウェア・ツールを参照したが、本主題の実施形態が実装されてもよいコンピュータ・プログラム命令は、幅広いプログラミング言語、ソフトウェア・ツール及びデータ形式の何れに対応してもよく、任意のタイプの揮発又は不揮発で非一時的コンピュータ可読ストレージ媒体又はメモリ・デバイスに記憶されてもよく、スタンドアロン・コンピューティング・デバイス上の例えばクライアント/サーバ・モデル、ピア・ツー・ピア・モデルを含む様々なコンピューティング・モデルに従って、又は様々な機能が異なる位置で実現又は採用されてもよい分散コンピューティング・モデルに従って実行されてもよい。さらに、本書での特定のアルゴリズムへの参照は単に例示である。適切な代替又は当業者に既知の後に開発されたものは、本開示の主題の範囲から逸脱せずに採用されてもよい。

本書に記載された実装の形式及び詳細における変更がこの開示の範囲から逸脱せずに行われてもよいことが当業者に理解されるだろう。さらに、様々な利点、側面及び目的が様々な実装を参照して記載されてきたが、この開示の範囲はこのような利点、側面及び目的への参照によって制限されるべきでない。そうではなく、この開示の範囲は添付の請求の範囲への参照によって決定されるべきである。

QQ群二维码
意见反馈