(57)【要約】【課題】  変化のある地表面の標高に基づき、飛行計画の作成を支援する。【解決手段】  コンピュータのメモリに格納されてプロセッサで実行される飛行計画支援プログラムであって、前記プロセッサに、第１のウェイポイントと、前記第１のウェイポイントの次に飛行体が通過すると順序付けられた第２のウェイポイントを含む２以上のウェイポイントの情報の入力を受け付けさせ、前記第１のウェイポイントと前記第２のウェイポイントとを結ぶ線分と、地表面の地点との対地距離を算出させ、算出された対地距離と、あらかじめ設定された値とを比較させ、比較の結果に応じて、対地距離が算出された地点の対地高度を算出させ、対地距離が算出された地点上の、算出された対地高度に第３のウェイポイントを設定させる。【選択図】  図７
2019002699.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータのメモリに格納されてプロセッサで実行される飛行計画支援プログラムであって、
前記プロセッサに、
第１のウェイポイントと、前記第１のウェイポイントの次に飛行体が通過すると順序付けられた第２のウェイポイントを含む２以上のウェイポイントの情報の入力を受け付けさせ、
前記第１のウェイポイントと前記第２のウェイポイントとを結ぶ線分と、地表面の地点との対地距離を算出させ、
算出された対地距離と、あらかじめ設定された値とを比較させ、
比較の結果に応じて、対地距離が算出された地点の対地高度を算出させ、
対地距離が算出された地点上の、算出された対地高度に第３のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項２】
請求項１に記載の飛行計画支援プログラムであって、
前記プロセッサに、
前記第１のウェイポイントと前記第２のウェイポイントとを結ぶ線分の１つの点と、地表面の任意の地点との間で最小となる距離を算出させることにより、対地距離を算出させること
を特徴とする飛行計画支援プログラム。
【請求項３】
請求項２に記載の飛行計画支援プログラムであって、
前記プロセッサに、
前記第１のウェイポイントと前記第２のウェイポイントとを結ぶ線分に沿って複数の対地距離を算出させ、
算出された複数の対地距離の中の最小の対地距離と、あらかじめ設定された第１の値との比較の結果が、最小の対地距離が前記第１の値以上であると判定された場合、前記第３のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項４】
請求項３に記載の飛行計画支援プログラムであって、
前記プロセッサに、
算出された複数の対地距離の中の最大の対地距離と、あらかじめ設定された第２の値との比較の結果が、最大の対地距離が前記第２の値以下であると判定された場合、前記第３のウェイポイントあるいは第４のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項５】
請求項４に記載の飛行計画支援プログラムであって、
前記プロセッサに、
地表面の地点の情報を、数値標高モデルの標高データから取得させること
を特徴とする飛行計画支援プログラム。
【請求項６】
請求項５に記載の飛行計画支援プログラムであって、
前記プロセッサに、
取得させた標高データに基づいて等高線を表示させ、
表示させた等高線との表示位置関係に基づく前記第１のウェイポイントと前記第２のウェイポイントの情報の入力を受け付けさせ、
表示させた等高線に重ねて、前記第１のウェイポイントのアイコンと前記第２のウェイポイントのアイコンと前記第３のウェイポイントのアイコンを表示させること
を特徴とする飛行計画支援プログラム。
【請求項７】
請求項６に記載の飛行計画支援プログラムであって、
前記プロセッサに、
前記第１のウェイポイントの情報と前記第２のウェイポイントの情報と前記第３のウェイポイントの情報を、可搬記憶媒体に格納させること
を特徴とする飛行計画支援プログラム。
【請求項８】
請求項１に記載の飛行計画支援プログラムであって、
前記プロセッサに、
比率の設定を受け付けさせ、
設定された比率が第１の比率である場合、対地距離が算出された地点上の、算出された対地高度に前記第３のウェイポイントを設定させ、
設定された比率が第２の比率である場合、前記第３のウェイポイントの設定の代わりに、前記第１のウェイポイントから前記第２のウェイポイントへの、標高が単調増加または単調減少となる経路に、第４のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項９】
請求項８に記載の飛行計画支援プログラムであって、
前記プロセッサに、
設定された比率が前記第１の比率と前記第２の比率の間である場合、前記第１のウェイポイントから前記第２のウェイポイントへ前記第３のウェイポイントを通過するとした場合の経路と、前記第１のウェイポイントから前記第２のウェイポイントへ前記第４のウェイポイントを通過するとした場合の経路との間に第５のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項１０】
請求項９に記載の飛行計画支援プログラムであって、
前記プロセッサに、
受け付ける比率の設定が入力されるためのスライダーを表示させ、
前記スライダーの操作を検出して比率の設定を受け付けさせ、
表示させた等高線に重ねて、前記第３のウェイポイントを通過する経路と前記第４のウェイポイントを通過する経路を表示させ、
設定された比率に応じて、前記第５のウェイポイントを通過する経路をさらに表示させること
を特徴とする飛行計画支援システム。
【請求項１１】
コンピュータのメモリに格納されてプロセッサで実行される飛行計画支援プログラムであって、
前記プロセッサに、
第１のウェイポイントと、前記第１のウェイポイントの次に飛行体が通過すると順序付けられた第２のウェイポイントを含む２以上のウェイポイントの情報の入力を受け付けさせ、
前記第１のウェイポイントから前記第２のウェイポイントへの、標高が単調増加または単調減少となる経路に、第３のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項１２】
請求項１１に記載の飛行計画支援プログラムであって、
前記プロセッサに
前記第１のウェイポイントを通る第１の等高線と、前記第２のウェイポイントを通る第２の等高線を生成させ、
前記第１の等高線と前記第２の等高線の間に前記第３のウェイポイントを設定させることにより、前記第１のウェイポイントから前記第２のウェイポイントへの、標高が単調増加または単調減少となる経路に、第３のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項１３】
請求項１２に記載の飛行計画支援プログラムであって、
前記プロセッサに、
前記第１の等高線の第１の点であって、前記第２のウェイポイントから最も近い前記第１の点を求めさせ、
前記第１のウェイポイントと前記第１の点の間の前記第１の等高線の第１の長さを求めさせ、
あらかじめ設定された第３の値に前記第１の長さを乗算して第３の点を求めさせ、
前記第２の等高線の第２の点であって、前記第１のウェイポイントから最も近い前記第２の点を求めさせ、
前記第２のウェイポイントと前記第２の点の間の前記第２の等高線の第２の長さを求めさせ、
前記第３の値に前記第２の長さを乗算して第４の点を求めさせ、
前記第３の点と前記第４の点の距離に前記第３の値を乗算して第５の点を求めさせ、
前記第５の点に前記第３のウェイポイントを設定させることにより、前記第１のウェイポイントから前記第２のウェイポイントへの、標高が単調増加または単調減少となる経路に、第３のウェイポイントを設定させること
を特徴とする飛行計画支援プログラム。
【請求項１４】
請求項１３に記載の飛行計画支援プログラムであって、
前記プロセッサに、
前記第３の値を増加させ、
前記第３の点と前記第４の点と前記第５の点を更新させること
を特徴とする飛行計画支援プログラム。
【請求項１５】
請求項１４に記載の飛行計画支援プログラムであって、
前記プロセッサに、
地表面の地点の情報を、数値標高モデルの標高データから取得させること
取得させた標高データに基づいて等高線を表示させ、
表示させた等高線との表示位置関係に基づく前記第１のウェイポイントと前記第２のウェイポイントの情報の入力を受け付けさせ、
表示させた等高線に重ねて、前記第１のウェイポイントのアイコンと前記第２のウェイポイントのアイコンと前記第３のウェイポイントのアイコンを表示させること
を特徴とする飛行計画支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、飛行計画支援プログラムに関する。
【背景技術】
【０００２】
無人飛行体により、河川、地形、構造物などの撮影・測量、および農薬・肥料等の散布が行われている。このような用途では、地表面から無人飛行体までの鉛直距離（対地高度）を所定の範囲に保って飛行させることを要求される場合がある。また、無人飛行体は、飛行前に指定された経路を飛行する、自律飛行の機能を持っていることが多い。
【０００３】
無人飛行体の自律飛行に関して、特許文献１には、あらかじめ経路候補を作成しデータベースに格納しておき、ユーザが与えた測量範囲に対し適切と思われる経路を選択し、その経路を地図に表示するとともに、経路に沿って無人飛行体を自律飛行させる測量システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−８５１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示された測量システムによれば、無人飛行体の自律飛行の経路を設定することは可能となるが、地表面には標高の変化があるため、その経路は地表面との間隔が適切に保たれるとは限らない。
【０００６】
本発明の目的は、変化のある地表面の標高に基づき、飛行計画の作成を支援することにある。
【課題を解決するための手段】
【０００７】
本発明に係る代表的な飛行計画支援プログラムは、コンピュータのメモリに格納されてプロセッサで実行される飛行計画支援プログラムであって、前記プロセッサに、第１のウェイポイントと、前記第１のウェイポイントの次に飛行体が通過すると順序付けられた第２のウェイポイントを含む２以上のウェイポイントの情報の入力を受け付けさせ、前記第１のウェイポイントと前記第２のウェイポイントとを結ぶ線分と、地表面の地点との対地距離を算出させ、算出された対地距離と、あらかじめ設定された値とを比較させ、比較の結果に応じて、対地距離が算出された地点の対地高度を算出させ、対地距離が算出された地点上の、算出された対地高度に第３のウェイポイントを設定させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、変化のある地表面の標高に基づき、飛行計画の作成を支援することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】飛行計画支援システムの構成の例を示すブロック図である。
【図２】無人飛行体の構成の例を示すブロック図である。
【図３】ＰＣによって実行される処理の例を示すシーケンス図である。
【図４】無人飛行体によって実行される処理の例を示すシーケンス図である。
【図５】ウェイポイント入力のＧＵＩの例を示す図である。
【図６】経路データの表示の例を示す図である。
【図７】実施例１における経路と地形断面の表示の例を示す図である。
【図８】実施例１における経路生成処理の例を示すフローチャートである。
【図９】実施例１における飛行計画支援プログラムによって作成された経路の表示の例を示す図である。
【図１０】実施例２における経路と地形断面の表示の例を示す図である。
【図１１】実施例２における飛行計画支援プログラムによって作成された経路の表示の例を示す図である。
【図１２】実施例２における経路生成処理の例を示すフローチャートである。
【図１３】実施例２における経路生成処理のウェイポイント挿入の例を示す図である。
【図１４】実施例３における経路の表示の例を示す図である。
【図１５】実施例３における経路生成処理の例を示すフローチャートである。
【図１６】実施例３における経路生成処理のウェイポイント挿入の例を示す図である。
【図１７】経路と地図との関係の例を示す図である。
【図１８】２点指定された対地高度で飛行する経路と地形断面図の例を示す図である。
【図１９】指定された対地高度で飛行する経路と地形断面図の例を示す図である。
【発明を実施するための形態】
【００１０】
先ず、図１７から図１９を用いて無人飛行体の飛行の経路と地形との関係を説明する。図１７は、経路を作成するために設定される情報と地図との関係の例を示す図である。経路が作成されるために２点以上のウェイポイント（waypoint：通過地点）が設定され、設定されたウェイポイントが飛行計画支援プログラムの入力となる。
【００１１】
地図１７０１は、川あるいは山などの情報を含み、等高線の情報を含むが、含まれる情報はこれらに限定されるものではない。図１７の例では、地図１７０１において、２点のウェイポイントすなわちウェイポイントＡ１７１１とウェイポイントＢ１７１２が設定されている。
【００１２】
図１８は、ウェイポイントにおいてユーザが指定した対地高度で飛行する経路と地形断面図の例を示す図である。地形断面図の横軸はウェイポイントＡ１８１１とウェイポイントＢ１８１２を結ぶ経路１８０２に沿った水平距離であり、縦軸は標高である。なおウェイポイントＡ１８１１とウェイポイントＢ１８１２のそれぞれは、図１７に示したウェイポイントＡ１７１１とウェイポイントＢ１７１２であってもよい。
【００１３】
地形断面図は、経路１８０２に沿った地表面の標高１８０１が折れ線グラフのように示されている。ここで、ウェイポイントＡ１８１１とウェイポイントＢ１８１２を通過する直線を経路１８０２とした場合、ウェイポイントＡ１８１１においてはユーザの指定した対地高度１８２１を飛行するが、ウェイポイントＡ１８１１とウェイポイントＢ１８１２に挟まれた区間においては、ユーザの指定した対地高度を飛行しないことがある。
【００１４】
たとえば凹地形では、ユーザの指定した対地高度より高い位置１８２２を飛行し、凸地形では、ユーザの指定した対地高度より低い位置１８２３を飛行する。このように、ウェイポイントＡ１８２１のようなウェイポイントの対地高度を飛行するよう指定された場合、ウェイポイント間では、指定された対地高度で飛行しない経路が作成されうる、という課題（第１の課題）がある。
【００１５】
この課題は、ウェイポイントに加えて、ウェイポイント間においても所定の対地高度を飛行するよう指定すれば解決する。しかし、別の課題が発生する。
【００１６】
図１９は、ウェイポイントおよびウェイポイント間においてユーザが指定した対地高度で飛行する経路と地形断面図の例を示す図である。図１９においても地形断面図は、地表面の標高１８０１が実線で示されている。そして、ユーザの指定した対地高度１８２１で飛行する。
【００１７】
この場合、地形の上下変化が激しい箇所では、経路が地表面に極めて近くなることがある。たとえば図１９に示した凸地形において、経路が地表面と非常に接近１９２１している。このように、対地高度を基準にした場合、経路が地表面と非常に接近することがある、という課題（第２の課題）がある。
【００１８】
また、図１９に示した経路では、地形（地表面）の細かい凹凸に合わせて、経路が細かく上下に移動する。飛行体は上方向の移動（上昇）に多くのエネルギーが必要なため、このような経路では飛行体の燃費が悪くなる。このように、ウェイポイントに加えて、ウェイポイント間においても対地高度を飛行するよう指定すると、飛行体の燃料において効率の悪い経路が作成される、という課題（第３の課題）がある。
【００１９】
以下、本発明の飛行計画支援プログラムを用いた支援の実施形態を３つの例を用いて説明する。いずれの実施形態の例すなわち実施例においても、ユーザの指定した経路を、飛行計画支援プログラムの実行により変更する。ここで、ユーザの指定する経路はたとえば図１８に示した経路１８０２であり、ウェイポイントを通過する直線である。
【００２０】
実施例１は、鉛直方向に経路を変更する例である。ユーザの指定する経路は直線であるから、変更により得られる経路は、ウェイポイントを通過する最短の水平移動距離となる。実施例２は、水平方向および鉛直方向に経路を変更する例である。変更により得られる経路は、鉛直方向の変化が単調増加あるいは単調減少となり、無駄な鉛直方向の移動が発生しない経路となる。
【００２１】
実施例３は、実施例１の変更で得られる経路と、実施例２の変更で得られる経路の中間的な経路に変更する例である。変更により得られる経路は、飛行計画の経路に対してあらかじめ想定しにくい条件へも対応可能とするために、地図と経路の候補が表示され、その表示を見たユーザにより容易に調整可能な経路となる。
【実施例１】
【００２２】
以下、実施例１を添付図面に基づいて説明する。図１は、飛行計画支援システムの構成の例を示すブロック図である。飛行計画支援システに用いられるコンピュータシステムは、ＰＣ（Personal Computer）１４０、入出力部１５０、およびＨＤＤ（Hard Disk Drive）１８０によって構成される。
【００２３】
入出力部１５０は、キーボード１５１およびマウス１５２などからなる入力部と、ディスプレイ１５３および一般的なＳＤ（Secure Digital）カード（登録商標）が挿入されるＳＤカードスロット１５４などからなる出力部によって構成され、ＰＣ１４０に接続される。
【００２４】
ユーザは、入力部のキーボード１５１あるいはマウス１５２から命令を入力し、出力部のディスプレイ１５３で結果を視覚的に確認することができる。また、ＳＤカードスロット１５４にＳＤカード１９１が挿入されることで、そのＳＤカード１９１を介して経路データを出力することができる。また、ＳＤカード１９１以外のＳＤカードがＳＤカードスロット１５４に挿入されて、プログラムとデータのロードに使用されてもよい。
【００２５】
ＰＣ１４０は、メモリ１６０とＣＰＵ（Central Processing Unit）１７０を備える。メモリ１６０には飛行計画支援プログラム１６１が格納される。この飛行計画支援プログラム１６１はＣＰＵ１７０への命令によって構成される。ＣＰＵ１７０は、飛行計画支援プログラム１６１の命令を実行して、計算したり、ＨＤＤ１８０へアクセスしたり、入出力部１５０と情報を交換したりする。
【００２６】
以下の説明において飛行計画支援プログラム１６１が処理するという説明は、実際には、飛行計画支援プログラム１６１に記述された命令を実行するＣＰＵ１７０の処理である。なお、メモリ１６０には飛行計画支援プログラム１６１以外にＣＰＵ１７０により実行されるプログラムが格納されてもよいし、プログラムの実行において使用されるデータが格納されてもよい。
【００２７】
ＨＤＤ１８０には地図データ１８１と標高データ１８２が格納されており、飛行計画支援プログラム１６１はこれらのデータを読み込む。なお、ＨＤＤ１８０は、ＰＣ１４０に内蔵されてもよいし、ＰＣ１４０の外部に接続されてもよいし、ＰＣ１４０からネットワーク経由でアクセスできる別の装置に接続されてもよい。
【００２８】
地図データ１８１は、ユーザに地理的な場所を理解させる情報であればよい。地図データ１８１として適している情報は、地名、行政界、道路、鉄道、衛星画像、海岸線などである。等高線の情報が地図データ１８１に含まれてもよいし、等高線の情報は地図データ１８１に含まれず、次に説明する標高データ１８２から生成されてもよい。さらに、谷線、尾根線など地形特徴を示す情報が含まれてもよい。これらの情報に対して緯度と経度の情報が対応付けられている。
【００２９】
標高データ１８２は、一般的にＤＥＭ（Digital Elevation Model）と呼ばれるデータである。すなわち、それは、地表面が分割されたセルの位置とそのセルに内の地表面の代表的な標高を記載した情報である。代表的なＤＥＭは、地表面に等間隔で並べられた正方形のセルにおける標高の値である。
【００３０】
無人飛行体２００は、指定された経路にしたがって飛行する機能を備える。無人飛行体２００は、ＳＤカードスロット２１１を備える。このＳＤカードスロット２１１にＳＤカード１９１が挿入されることで、そのＳＤカード１９１に格納された経路データを無人飛行体２００は取得することができる。
【００３１】
図２は、無人飛行体２００の構成の例を示すブロック図である。無人飛行体２００は、入力部２１０を備える。入力部２１０には前述の通りＳＤカードスロット２１１があり、ＳＤカード１９１が挿入される。
【００３２】
さらに無人飛行体２００は、メモリ２２０およびＣＰＵ２３０を備える。メモリ２２０には飛行制御プログラム２２１が格納される。この飛行制御プログラム２２１はＣＰＵ２３０への命令によって構成される。ＣＰＵ２３０は、飛行制御プログラム２２１の命令を実行して、計算したり、モータ２４０を制御したり、センサ２５０およびＳＤカード１９１へアクセスなどを行ったりする。
【００３３】
センサ２５０は無人飛行体２００の姿勢情報（ロール、ピッチ、ヨー）を取得するジャイロ、位置情報（緯度、経度、高度）を取得するＧＰＳ（Global Positioning System）、および気圧高度計からなる。ここでの高度とは、ＧＰＳから取得される楕円体高から算出された標高であるが、気圧高度計から取得される相対高度から算出された標高であってもよい。
【００３４】
ＣＰＵ２３０が、これらのセンサ２５０から取得した情報を基にモータ２４０を制御することで、無人飛行体２００は飛行する。モータ２４０はプロペラに接続され推進力を発生させる。モータ２４０が制御されることで、無人飛行体２００は上昇と下降、水平面での移動を行う。このためにモータ２４０は複数のモータから構成されてもよい。
【００３５】
図３は、ＰＣ１４０によって実行される処理の例を示すシーケンス図である。飛行計画支援プログラム１６１（ＣＰＵ１７０）は、ＨＤＤ１８０から地図データ１８１および標高データ１８２を読み込む（ステップ３０１）。
【００３６】
飛行計画支援プログラム１６１は、入出力部１５０へステップ３０１で取得した地図データ１８１および標高データ１８２を表示するよう制御すると（ステップ３０２）、入出力部１５０はディスプレイ１５３へ図５に示すウィンドウ５００（詳細を後述）を表示する。
【００３７】
入出力部１５０は、キーボード１５１およびマウス１５２を通じて、ユーザからのウェイポイントの情報の入力を受け付けて、飛行計画支援プログラム１６１へ送り、飛行計画支援プログラム１６１はウェイポイントの情報を得る（ステップ３０３）。
【００３８】
飛行計画支援プログラム１６１は、詳細を後述する経路生成処理を行い（ステップ３０４）、経路生成処理により得られた経路を入出力部１５０へ表示するように制御し（ステップ３０５）、その経路データをＳＤカード１９１に出力するように入出力部１５０を制御する（ステップ３０６）。ステップ３０５における表示は図９を用いて説明するが、図６、７を用いて説明する表示と組み合わされてもよい。
【００３９】
図４は、無人飛行体２００によって実行される処理の例を示すシーケンス図である。入力部２１０は、ＳＤカード１９１から経路データを読み込み、飛行制御プログラム２２１（ＣＰＵ２３０）へ送り、飛行制御プログラム２２１は経路データを得る（ステップ４０１）。ここで、読み込まれる経路データはたとえばステップ３０６により出力されたデータである。
【００４０】
飛行制御プログラム２２１は、センサ２５０から姿勢情報と位置情報を取得し（ステップ４０２）、取得した位置情報と読み込んだ経路データにしたがって飛行するよう、モータ２４０を制御する（ステップ４０３）。これらステップ４０２およびステップ４０３は、経路データに情報が含まれる最初のウェイポイントから最後のウェイポイントまで飛行する間、繰り返される。
【００４１】
なお、無人飛行体２００が第１のウェイポイントを通過した後、すなわち取得した位置情報が第１のウェイポイントの位置から所定の範囲内に入って出た後、経路データ内で次に通過すると定められた第２のウェイポイントまで、飛行制御プログラム２２１は、第１のウェイポイントと第２のウェイポイントを通過する直線上に、取得した位置がくるようにモータ２４０を制御してもよい。
【００４２】
図５は、飛行計画支援プログラム１６１が提供するウェイポイント入力のＧＵＩ（Graphical User Interface）の例を示す図である。図５に示すウィンドウ５００は、入出力部１５０のディスプレイ１５３に表示されるウィンドウであり、ステップ３０３を実行する飛行計画支援プログラム１６１の制御により表示される。
【００４３】
ウィンドウ５００には、地図データ１８１に含まれる１００ｍから１２０ｍまでの等高線５１０ａ〜５１０ｃが表示される。なお、等高線５１０ａ〜５１０ｃは標高データ１８２より生成されてもよい。また、表示は等高線５１０ａ〜５１０ｃに限定されるものではなく、地図データ１８１に含まれる他の情報が表示されてもよい。
【００４４】
ステップ３０３で説明したように、ユーザはキーボード１５１およびマウス１５２を通じて、２地点以上のウェイポイントの入力を行う。例えば、マウス１５２はマウス１５２の移動を検出し、その検出された移動に対応してマウスカーソル５０１の表示がウィンドウ５００の中を移動し、マウス１５２がクリックを検出すると、その位置が取得される。
【００４５】
ここで、等高線５１０ａ〜５１０ｃのウィンドウ５００における表示の位置と、等高線５１０ａ〜５１０ｃの表示の基となった地図データ１８１の等高線の緯度と経度の情報と、マウス１５２がクリックを検出したマウスカーソル５０１のウィンドウ５００における表示の位置とから、ウェイポイントの緯度と経度が特定され、ウェイポイントの入力とされてもよい。
【００４６】
図５の例は、ユーザがウェイポイントＡおよびウェイポイントＢを入力し、それぞれのアイコン５２１とアイコン５２２を表示した状態を示している。ユーザの入力に応じて、ウェイポイントＡのアイコン５２１とウェイポイントＢのアイコン５２２を線分で結んだ暫定的な経路５３１が表示される。マウス１５２がダブルクリックされると、ウェイポイントの入力受付が終了する。
【００４７】
また、図６に示すウィンドウ６００あるいは図７に示すウィンドウ７００のいずれかが表示される際に、これらのウィンドウと組み合わされて、ウィンドウ５００は表示されてもよい。例えば、ステップ３０３においてウィンドウ６００とウィンドウ５００の両方が表示されてもよい。
【００４８】
図６は、経路データの表示の例を示す図である。ウィンドウ５００においてウェイポイントの入力受付が終了すると、ウィンドウ６００が表示される。ウィンドウ６００に表示される経路データは、ウィンドウ５００で入力されたウェイポイントから構成される。
【００４９】
たとえばこの図６では、経路データはウェイポイントＡとウェイポイントＢから構成され、それぞれのウェイポイントには「Ａ」と「Ｂ」の名称が付けられている。各ウェイポイントは、名称６０１、緯度６０２、経度６０３、飛行高度６０４、地表標高６０５、対地高度６０６、および動作６０７の情報から構成され、これらの情報が表示される。
【００５０】
ウェイポイントの名称６０１は、たとえばユーザが入力した順に「Ａ」、「Ｂ」、「Ｃ」とアルファベットが自動的に割り振られてもよいし、番号が自動的に割り振られてもよい。緯度６０２および経度６０３は、ユーザによりウィンドウ５００で入力されたウェイポイントの緯度および経度である。
【００５１】
地表標高６０５は、緯度６０２および経度６０３で特定される位置における標高データ１８２の標高の値である。対地高度６０６には、あらかじめ設定された規定値のたとえば「１０ｍ」である。また、飛行高度６０４は、地表標高６０５の値に対地高度６０６の値を加算した値である。
【００５２】
動作６０７には、無人飛行体２００がウェイポイントに到達した際にすべき動作が設定される。図６の例では、たとえば規定値である「通過」が設定されている。入出力部１５０と飛行計画支援プログラム１６１は、ステップ３０３の一部として、ユーザによるキーボード１５１およびマウス１５２からの入力に応じて、図６に示した経路データの各情報の修正を受け付けてもよい。
【００５３】
ＯＫボタン６１０の押下が検出されると、経路データが確定され、飛行計画支援プログラム１６１はステップ３０４へ進む。キャンセルボタン６１１の押下が検出されると、飛行計画支援プログラム１６１はステップ３０２へ戻ってウィンドウ５００を再度表示してもよいし、ステップ３０４からステップ３０６を実行せずに処理を終了してもよい。
【００５４】
図７は、実施例１における経路と地形断面の表示の例を示す図である。図７に示すウィンドウ７００に表示される情報は、ステップ３０４の処理により生成される。ウィンドウ６００においてユーザによるＯＫボタン６１０の押下が検出されると、飛行計画支援プログラム１６１は、ウィンドウ７００を表示するように入出力部１５０を制御する。
【００５５】
ウィンドウ７００には、経路と地形断面図が表示される。地形断面図の横軸は経路に沿った水平距離である。経路は、ウェイポイントを結んだ線分から構成される。図７の例における横軸はウェイポイントＡを起点としウェイポイントＢを終点とする、線分に沿った水平距離が示されている。
【００５６】
地形断面図の縦軸は標高である。地形断面図には、経路に沿った地表面の標高７２０がたとえばセル単位で表示されている。図７の例では、１つのセルに１つの標高の値が対応付けられているため、１つのセルは水平面として表示され、地形断面は柱状グラフのように表示され、地表面は柱状グラフの上端として表示されている。
【００５７】
また、ウィンドウ７００には、図５と図６を用いて説明したウェイポイントの入力に対して、ウェイポイントＡを示すアイコン７０１とウェイポイントＢを示すアイコン７０２が表示され、ウェイポイントＡを起点としウェイポイントＢを終点とする線分に対応して、アイコン７０１とアイコン７０２とを結ぶ線分７１１が表示されている。
【００５８】
以下、図７および図８を用いて、ステップ３０４の経路生成処理の詳細を説明する。図８は、実施例１における経路生成処理の例を示すフローチャートであり、ステップ３０４の詳細の例である。飛行計画支援プログラム１６１は、経路生成処理を開始すると、まず、経路を構成する線分に沿って、線分と地表面との距離の最小値hag_minを算出する（ステップ８０１）。
【００５９】
ここで、線分と地表面の距離とは、線分に沿って行く中での線分の１つの点と地表面とを結ぶ最短の線分の長さであり、線分の１つの点から地表面に向けて下した垂線の長さではない。線分の１つの点と地表面とを結ぶ最短の線分は、どのような方向の線分であってもよく、いかなる方向の線分の中でも最短となる線分である。
【００６０】
また、図７では地表面を柱状グラフの上端として表示する例を示したが、ここでは、説明を理解しやすくするために、１つのセル内の地表面はセルを水平面としたときのセルの中央の地点とし、地表面は、このような地点の集合とする。このため、地表面との距離とは、地表面の任意の地点との距離となる。
【００６１】
ここではたとえば、線分の第１の点と地表面の任意の地点とを結ぶ最短の線分の長さが１つの距離であり、線分の第１の点とは異なる第２の点と地表面の任意の地点とを結ぶ最短の線分の長さが１つの距離であるというように、線分と地表面とには複数の距離が存在する。
【００６２】
このようにすると、図７の例では、ウェイポイントＡとウェイポイントＢを結ぶ線分が線分７１１として表示され、線分７１１と、標高７２０などで表される地表面とが最も近づくのは、地点７３０においてであり、線分７１１と、地点７３０の地表面とは距離７１３となる。距離７１３を対地距離と呼んでもよい。
【００６３】
したがって、hag_minとして距離７１３が算出される。飛行計画支援プログラム１６１は、hag_minがあらかじめ定められた下限値hag_lower以上（hag_min ≧ hag_lower）であるか否かを判定し（ステップ８０２）、下限値以上であると判定すると、ステップ８０４に進み、下限値以上ではないと判定するとステップ８０３に進む。
【００６４】
ステップ８０３で飛行計画支援プログラム１６１は、この地点に対して新たなウェイポイントを挿入する（ステップ８０３）。図７の例では、地点７３０に対してウェイポイントＣが挿入される。挿入されるウェイポイントの対地高度は、前後のウェイポイントの対地高度の内挿により算出される。
【００６５】
i番目のウェイポイントwp[i]とi+1番目のウェイポイントwp[i+1]の間に挿入されるウェイポイントＣ（wp_c）の対地高度wp_c.hagは、次のように求められる。
wp_c.hag = (wp[i+1].hag - wp[i].hag) / length(wp[i+1], wp[i]) * length(wp_c, wp[i]) + wp[i].hag。
【００６６】
ただし、wp[i].hagはwp[i]の対地高度であり、length(wp[i+1], wp[i])はwp[i]からwp[i+1]までの経路に沿った水平の長さであり、length(wp_c, wp[i])はwp[i]からwp_cまでの経路に沿った水平の長さである
図７の例では、地点７３０に対して対地高度wp_c.hagにウェイポイントＣのアイコン７０３が表示され、アイコン７０１とアイコン７０３を結ぶ線分７１２が表示され、アイコン７０２とアイコン７０３を結ぶ線分７１４が表示される。
【００６７】
飛行計画支援プログラム１６１は、ステップ８０３の後、ステップ８０１に戻り、以上で説明したステップ８０１からステップ８０３までを、ステップ８０２で下限値以上であると判定するまで繰り返す。
【００６８】
続くステップ８０４からステップ８０６までは、ステップ８０１からステップ８０３までが、線分と地表面とが接近し過ぎないようにウェイポイントを挿入する処理であるのに対し、線分と地表面とが離れ過ぎないようにウェイポイントを挿入するための処理である。これらの処理の流れは類似しているため、異なるところを主に説明する。
【００６９】
飛行計画支援プログラム１６１は、経路を構成する線分に沿って、線分と地表面との距離の最大値hag_maxを算出し（ステップ８０４）、hag_maxがあらかじめ定められた上限値hag_upper以下（hag_max ≦ hag_upper）であるか否かを判定する（ステップ８０５）。
【００７０】
飛行計画支援プログラム１６１は、上限値以下であると判定すると処理を終了し、上限値以下ではないと判定するとステップ８０６に進み、この地点上に新たなウェイポイントを挿入する。挿入されるウェイポイントの対地高度は、前後のウェイポイントの対地高度の内挿により算出され、その算出はステップ８０３で説明したとおりである。
【００７１】
飛行計画支援プログラム１６１は、ステップ８０６の後、ステップ８０４に戻り、以上で説明したステップ８０４からステップ８０６までを、ステップ８０５で上限値以下であると判定するまで繰り返す。
【００７２】
なお、ウィンドウ７００は、ウェイポイントの入力受付が終了すると表示され、ステップ３０４の処理が進むにしたがってウェイポイントＣのアイコン７０３などが追加表示されるなどしてもよいし、ステップ３０４の処理が終了した後に処理の最終結果としてステップ３０５で表示されてもよい。
【００７３】
図９は、実施例１における飛行計画支援プログラム１６１によって作成された経路の表示の例を示す図である。図９に示すウィンドウ９００は、図３を用いて説明したステップ３０５により表示され、ステップ３０６のための入力を受け付ける。
【００７４】
また、ウィンドウ９００は、図５に示したウィンドウ５００がステップ３０４とステップ３０５の処理により、遷移した表示であってもよい。たとえば、ウィンドウ５００の表示は継続され、ウィンドウ５００の表示が修正されてウィンドウ９００となってもよい。さらに、ウィンドウ９００は、図７に示したウィンドウ７００と組み合わされて表示されてもよい。
【００７５】
ウィンドウ９００は、ウィンドウ５００の表示内容に加えて、ウェイポイントＣのアイコン９０１が追加表示されている。ウィンドウ９００のメニューの項目「ファイル」が選択されると、項目９１０の「エクスポート」が表示される。この表示状態で、項目９１０の「エクスポート」が選択されると、飛行計画支援プログラム１６１はステップ３０６を実行する。
【００７６】
飛行計画支援プログラム１６１は、ステップ３０６を実行し、図６を用いて説明した経路データをたとえばＣＳＶ（Comma-Separated Values）形式のファイルとしてＳＤカード１９１に出力するように入出力部１５０を制御する。
【００７７】
なお、図５〜７、９ではウェイポイントＡとウェイポイントＢの２つの例を説明したが、３以上であってもよい。図８を用いて説明した経路生成処理の例も、ウェイポイントが２つに限定されるものではなく、ウェイポイントが３以上すなわち線分が２以上であってもよい。
【００７８】
線分は２以上である場合、ステップ８０１とステップ８０４において、２以上の線分が区別されることなく、２以上の線分にわたる各点と地表面との距離が算出され、その中で最小値あるいは最大値が算出されればよい。
【００７９】
以上で説明したように、図１７、１８を用いて説明した凹凸のある地形での飛行計画であっても、地表面の標高に応じてウェイポイントを挿入することが可能になる。そして、この挿入されるウェイポイントは、地表面の標高に応じた飛行高度の飛行計画とすることができるため、図１８に示したユーザの指定した対地高度より低い位置１８２３の飛行を防止できる。
【００８０】
また、地表面の標高に応じた飛行高度のウェイポイントは、地表面の標高と対地距離に基づいて挿入されるため、図１９に示した接近１９２１も防止できる。
【実施例２】
【００８１】
以下、実施例２を添付図面に基づいて説明する。ただし、実施例２の説明は、実施例１で図１から図６を用いた説明と、図３のステップ３０４の処理を除き、同じであるので、実施例１と同じ説明を省略し、実施例１との差異について図１０から図１３を参照して説明する。
【００８２】
図１０は、実施例２における経路と地形断面の表示の例を示す図である。図１０に示すウィンドウ１０１０に表示される情報は、ステップ３０４の処理により生成される。ウィンドウ６００においてユーザによるＯＫボタン６１０の押下が検出されると、飛行計画支援プログラム１６１は、ウィンドウ１０１０を表示するように入出力部１５０を制御する。
【００８３】
ウィンドウ１０１０には、経路と地形断面図が表示される。地形断面図の横軸は経路に沿った水平距離である。経路は、ウェイポイントを通過する線分から構成される。図７の例における横軸は、ウェイポイントＡを起点としウェイポイントＢを終点とした、複数のウェイポイントを通過する経路に沿った距離が示されている。
【００８４】
地形断面図の縦軸は標高である。地形断面図には、経路に沿った地表面の標高１０２０が表示されているが、実施例２におけるウェイポイント間の標高の変化は、単調増加あるいは単調減少であり、図１０の例は図７とは異なり、標高が単調に増加する表示である。
【００８５】
また、ウェイポイントＡを示すアイコン１００１とウェイポイントＢを示すアイコン１００２が表示され、ウェイポイントＡとウェイポイントＢの間に、ウェイポイントＣを示すアイコン１００３、ウェイポイントＤを示すアイコン１００４、およびウェイポイントＥを示すアイコン１００５が表示されている。
【００８６】
図１１は、実施例２における飛行計画支援プログラム１６１によって作成された経路の表示の例を示す図である。図１１に示すウィンドウ１１００は、図３を用いて説明したステップ３０５により表示され、ステップ３０６のための入力を受け付ける。
【００８７】
また、ウィンドウ１１００は、図５に示したウィンドウ５００がステップ３０４とステップ３０５の処理により、遷移した表示であってもよい。ウィンドウ１１００は、ウィンドウ５００の表示内容に加えて、ウェイポイントＣを示すアイコン１１０１、ウェイポイントＤを示すアイコン１１０４、およびウェイポイントＥを示すアイコン１１０５が追加表示される。
【００８８】
ただし、図５に示したウェイポイントＡとウェイポイントＢを線分で結ぶ経路５３１の表示はなく、ウェイポイントＡとウェイポイントＢを結ぶ線分上にない位置、すなわちアイコン１１０１とアイコン１１０２を結ぶ線分上にない位置に、アイコン１１０３、アイコン１１０４、およびアイコン１１０５が表示され、各アイコンを結ぶ線分が表示される。
【００８９】
図１２は、実施例２における経路生成処理の例を示すフローチャートであり、実施例２におけるステップ３０４の詳細の例である。飛行計画支援プログラム１６１は、経路生成処理を開始すると、変数iの値が０からウェイポイントの数WpNから２を減算した値（WpN-2）まで、１ずつ増加するループとして、ステップ１２０２からステップ１２０４までを繰り返す（ステップ１２０１）。
【００９０】
飛行計画支援プログラム１６１は、i番目のウェイポイントwp[i]を通る等高線cl[i]を生成する（ステップ１２０２）。生成される等高線cl[i]の起点はwp[i]であり、終点はi+1番目のウェイポイントwp[i+1]からの距離が最短になる地点までである。
【００９１】
なお、生成される等高線を構成する情報は、等高線の任意の位置の緯度と経度と標高が得られる情報であれば、点の集合の情報であってもよいし、線を表す式であってもよい。wp[i+1]はwp[i]の次に通過するウェイポイントである。
【００９２】
また、飛行計画支援プログラム１６１は、wp[i+1]を通る等高線cl[i+1]を生成する（ステップ１２０３）。生成される等高線cl[i+1]の起点はwp[i+1]であり、終点はwp[i]からの距離が最短になる地点までである。
【００９３】
次に、飛行計画支援プログラム１６１は、変数rの値が０から１まで、定数drずつ増加するループとして、ステップ１２０５からステップ１２０８までを繰り返す（ステップ１２０４）。ここで定数drは０より大で１より小の値であり、あらかじめ設定される。
【００９４】
飛行計画支援プログラム１６１は、wp[i]からcl[i]に沿って長さr * length(cl[i])だけ離れた点c1pを求める（ステップ１２０５）。ここで、length(cl[i])は等高線cl[i]の起点から終点までの長さを返す関数であり、求められる点c1pの情報はたとえば点c1pの緯度と経度と標高である。
【００９５】
飛行計画支援プログラム１６１は、wp[i+1]からcl[i+1]に沿って長さ(1 - r) * length(cl[i+1])だけ離れた点c2pを求め（ステップ１２０６）、点c1pと点c2pを結ぶ線分上の、点c1pからの距離がr * length(c1p, c2p)だけ離れた点c3pを求める（ステップ１２０７）。ここで、length(c1p, c2p)は、点c1pと点c2pの間の距離を返す関数である。
【００９６】
そして、飛行計画支援プログラム１６１は、点c3pをウェイポイントとして、wp[i]とwp[i+1]の間に挿入する（ステップ１２０８）。このようにして、ステップ１２０４のループにより、wp[i]とwp[i+1]の間へdr毎にウェイポイントを挿入し、ステップ１２０１のループにより、wp[0]からwp[WpN-1]の間へウェイポイントを挿入する。
【００９７】
なお、等高線をcl[i]としたが、ステップ１２０１のループの１回の繰り返しにおいて、cl[i]とcl[i+1]以外の等高線の情報は使われず、ループの次の回の繰り返しではcl[i]とcl[i+1]のそれぞれが新たに生成されるため、cl[i]とcl[i+1]のそれぞれはiには依存しない別の２つの変数であって、ループ毎に再利用されてもよい。
【００９８】
図１３は、実施例２における経路生成処理のウェイポイント挿入の例を示す図である。図１３の例では、WpNを２とし、ウェイポイントＡをwp[0]とし、ウェイポイントＢをwp[1]として、ウェイポイントＡからウェイポイントＢへの経路上に挿入されるウェイポイントＣである点c3pの求め方を具体的に説明する。
【００９９】
まず、図１３において、wp[0]は点１３０１であり、wp[1]は点１３０２である。点１３０１を通る等高線１３１１において点１３０２に距離が最短になる地点は点１３０４であるので、ステップ１２０２により、点１３０１から点１３０４までの等高線１３１１が、wp[0]を通る等高線cl[0]として生成される。
【０１００】
また、点１３０２を通る等高線１３１２において点１３０１に距離が最短になる地点は点１３０３であるので、ステップ１２０３により、点１３０２から点１３０３までの等高線１３１２が、wp[1]を通る等高線cl[1]として生成される。
【０１０１】
そして、ステップ１２０４により、繰り返しの１回目は、変数rの値が定数drとなり、ステップ１２０５により、等高線１３１１に沿った点１３０１から点１３０４までの長さに、変数rすなわち値としてはdrが乗算され、点c1pとなる点１３０５が求められる。
【０１０２】
ステップ１２０５と同様にステップ１２０６により、等高線１３１２に沿った点１３０２から点１３０３までの長さに、変数rの値から算出された1 - rが乗算され、点c2pとなる点１３０６が求められる。なお、等高線１３１２の方向を逆にして、点１３０３から点１３０２までの長さに、変数rの値が乗算されてもよい。
【０１０３】
ステップ１２０７により、点１３０５と点１３０６を結ぶ線分の長さが算出され、算出された長さに変数rの値が乗算されて、点c3pとなる点１３０７が求められ、ステップ１２０８により点１３０７の緯度と経度と標高はウェイポイントＣとして経路データに登録される。
【０１０４】
以上では点c3pとなる点１３０７について説明したが、ステップ１２０４により変数rの値に定数drが加算され、新たな点c3pが求められ、ウェイポイントが挿入されることが繰り返されて、点１３０１と点１３０２を結ぶ経路が生成される。
【０１０５】
実施例２で説明した経路の生成は、ウェイポイントとそのウェイポイントの次に通過するウェイポイントとの間の標高の変化が単調増加あるいは単調減少である経路が存在する場合に適用できる。
【０１０６】
適用の可否は、特定の条件を満たすか否かを判定してもよい。この特定の条件はたとえば、ウェイポイントＡを通る等高線の内側にウェイポイントＢがある、またはウェイポイントＢを通る等高線の内側にウェイポイントＡがあるという条件である。この条件が満たされない場合、実施例１で説明した経路の生成が実行されてもよい。
【０１０７】
以上で説明したように、飛行経路は水平移動距離が最短とはならないものの、鉛直方向すなわち飛行高度においては、単調増加あるいは単調減少とすることが可能になる。これにより、無人飛行体２００がいったん上昇した後で下降したり、いったん下降した後で上昇したりという、特にエネルギーを多く必要とする上昇を最小限に抑えることが可能になる。そして、飛行に必要な燃料を節約できる。また、飛行高度の単調増加の中でも、部分的に大きく上昇することを避けることができため、エネルギー効率のよい上昇が実現できる。
【実施例３】
【０１０８】
以下、実施例３を添付図面に基づいて説明する。ただし、実施例３の説明は、実施例１、２で図１から図１３を用いた説明と、図３のステップ３０４の処理を除き、同じであるので、実施例１、２と同じ説明を省略し、実施例１、２との差異について図１４から図１６を参照して説明する。
【０１０９】
図１４は、実施例３における経路の表示の例を示す図である。図１４に示すウィンドウ１４００は、図５に示したウィンドウ５００がステップ３０４とステップ３０５の処理により、遷移した表示であってもよい。
【０１１０】
ウィンドウ１４００は、ウィンドウ５００の経路５３１に代えて経路１４０１が補助線として表示され、ウィンドウ５００の表示内容に加えて、経路１４０２が補助線として表示され、経路１４０３が表示され、スライダー１４０４が表示されている。
【０１１１】
図１４の例は、ユーザによりマウスカーソル１４０５でスライダー１４０４が操作され、比率が５０％にされた状態を示している。このスライダー１４０４の比率が０％の場合、経路１４０３は経路１４０１と一致するように表示され、このスライダー１４０４の比率が１００％の場合、経路１４０３は経路１４０２と一致するように表示される。図１４の例は比率が５０％であるので、経路１４０３は経路１４０１と経路１４０２の中間的な経路として表示されている。
【０１１２】
図１５は、実施例３における経路生成処理の例を示すフローチャートであり、実施例３におけるステップ３０４の詳細の例である。飛行計画支援プログラム１６１は、経路生成処理を開始すると、変数iの値が０からウェイポイントの数WpNから２を減算した値（WpN-2）まで、１ずつ増加するループとして、ステップ１５０２からステップ１５０４までを繰り返す（ステップ１５０１）。
【０１１３】
飛行計画支援プログラム１６１は、i番目のウェイポイントwp[i]とi+1番目のウェイポイントwp[i+1]との間に、実施例１の図８で説明した処理によりウェイポイントを挿入して経路hslを生成する（ステップ１５０２）。経路hslは最短の水平移動距離となる経路である。
【０１１４】
また、飛行計画支援プログラム１６１は、wp[i]とwp[i+1]との間に、実施例２の図１２で説明した処理によりウェイポイントを挿入して経路vslを生成する（ステップ１５０３）。経路vslは飛行高度が単調増加あるいは単調減少となる経路である。
【０１１５】
次に、飛行計画支援プログラム１６１は、変数rの値を、０から１まで、定数drずつ増加するループとして、ステップ１５０５からステップ１５０８までを繰り返す（ステップ１５０４）。ここで定数drは０より大で１より小の値であり、あらかじめ設定される。
【０１１６】
飛行計画支援プログラム１６１は、wp[i]からhslに沿って長さr * length(hsl)だけ離れた点c1pを求め（ステップ１５０５）、wp[i]からvslに沿って長さr * length(vsl)だけ離れた点c2pを求め（ステップ１５０６）、点c1pと点c2pを結ぶ線分上の、点c1pからの距離がr_mix * length(c1p, c2p)だけ離れた点c3pを求め（ステップ１５０７）、点c3pを、wp[i]とwp[i+1]の間に挿入する（ステップ１５０８）。
【０１１７】
ここで、r_mixの値はユーザによりスライダー１４０４であらかじめ設定された値であり、０から１（比率が０％から１００％）の値となる。以上のステップ１５０４のループによりステップ１５０５からステップ１５０８までが繰り返され、wp[i]とwp[i+1]の間へdr毎にr_mixの値に応じたウェイポイントが挿入される。
【０１１８】
図１６は、実施例３における経路生成処理のウェイポイント挿入の例を示す図である。図１６の例でも図１３の例と同じWpN、wp[0]、およびwp[1]であり、点c3pの求め方を具体的に説明する。まず、wp[0]は点１６０１であり、wp[1]は点１６０２である。
【０１１９】
ステップ１５０２により、点１６０１から点１６０２までの経路１６１１が経路hslとして生成され、ステップ１５０３により、点１６０１から点１６０２までの経路１６１２が経路vslとして生成される。
【０１２０】
そして、ステップ１５０４により、繰り返しの１回目は、変数rの値が定数drとなり、ステップ１５０５により、経路１６１１の長さに変数rの値が乗算され、点c1pとなる点１６０３が求められ、ステップ１５０６により、経路１６１２の長さに変数rの値が乗算され、点c2pとなる点１６０４が求められる。
【０１２１】
ステップ１５０７により、点１６０３と点１６０４を結んだ線分の長さが算出され、算出された長さに r_mixの値が乗算されて、点c3pとなる点１６０５が求められ、ステップ１５０８により、点１６０５がウェイポイントＣとして経路データに登録される。
【０１２２】
以上では点c3pとなる点１６０５について説明したが、ステップ１５０４により変数rの値に定数drが加算され、新たな点c3pが求められ、ウェイポイントが挿入されることが繰り返されて、点１６０１と点１６０２を結ぶ経路が生成される。
【０１２３】
実施例２でも説明したように、経路１６１２は、ウェイポイント間の標高の変化が単調増加あるいは単調減少である経路が存在する場合にのみ適用できる。このため、経路１６１２を適用できる条件を満たさない場合は、スライダー１４０４の比率が０％に固定されてユーザの操作が受け付けられなくなるようにしてもよいし、経路１６１２に対応する経路１４０２がウィンドウ１４００で表示されないようにしてもよい。
【０１２４】
以上で説明したように、飛行が計画される地形や飛行に使用できる燃料の量などに応じてユーザが飛行経路を選択することが可能になる。
【符号の説明】
【０１２５】
１４０  ＰＣ
１６１  飛行計画支援プログラム
２００  無人飛行体
【図１】
2019002699.tif 000003
【図２】
2019002699.tif 000004
【図３】
2019002699.tif 000005
【図４】
2019002699.tif 000006
【図５】
2019002699.tif 000007
【図６】
2019002699.tif 000008
【図７】
2019002699.tif 000009
【図８】
2019002699.tif 000010
【図９】
2019002699.tif 000011
【図１０】
2019002699.tif 000012
【図１１】
2019002699.tif 000013
【図１２】
2019002699.tif 000014
【図１３】
2019002699.tif 000015
【図１４】
2019002699.tif 000016
【図１５】
2019002699.tif 000017
【図１６】
2019002699.tif 000018
【図１７】
2019002699.tif 000019
【図１８】
2019002699.tif 000020
【図１９】
2019002699.tif 000021