(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023163348
(43)【公開日】2023-11-10
(54)【発明の名称】無人航空機誘導システムおよび無人航空機誘導方法
(51)【国際特許分類】
G01B 11/00 20060101AFI20231102BHJP
【FI】
G01B11/00 H
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022074198
(22)【出願日】2022-04-28
(71)【出願人】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】川合 信夫
【テーマコード(参考)】
2F065
【Fターム(参考)】
2F065AA04
2F065BB29
2F065DD03
2F065FF04
2F065QQ21
2F065QQ28
2F065QQ31
2F065QQ34
(57)【要約】
【課題】撮像画像に映る光点をもとに目標としての発光マーカーを精度よく検出する技術を提供する。
【解決手段】無人航空機12は、撮像部16を備える。誘導装置20は、無人航空機12を誘導するための装置であって、3個以上の発光マーカーを備える。無人航空機12の撮像部16は、無人航空機12の外部を撮像する。無人航空機12は、撮像部16により撮像された画像に映る光点と、誘導装置20が備える3個以上の発光マーカーの予め定められた発光パターンとに基づいて、発光パターンに対して不整合な光点を、3個以上の発光マーカーの候補から除外することで3個以上の発光マーカーの位置を検出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
撮像部と検出部とを備える無人航空機と、
前記無人航空機を誘導するための装置であって、3個以上の発光マーカーを備える誘導装置と、
を備え、
前記無人航空機の撮像部は、前記無人航空機の外部を撮像し、
前記無人航空機の検出部は、前記撮像部により撮像された画像に映る光点と、前記誘導装置が備える前記3個以上の発光マーカーの予め定められた発光パターンとに基づいて、前記発光パターンに対して不整合な光点を、前記3個以上の発光マーカーの候補から除外することで前記3個以上の発光マーカーの位置を検出する、
無人航空機誘導システム。
【請求項2】
前記3個以上の発光マーカーは、多角形を形成するように前記誘導装置に設置され、
前記検出部は、前記撮像部により撮像された画像に映る複数の光点から、前記発光マーカーの個数分の光点の複数の組み合わせを特定し、前記複数の組み合わせの中で、前記発光マーカーの個数分の光点により形成される多角形の形状が、前記3個以上の発光マーカーにより形成される多角形の形状と不整合となる組み合わせを、前記発光パターンに対して不整合な光点とする、
請求項1に記載の無人航空機誘導システム。
【請求項3】
前記3個以上の発光マーカーは、多角形を形成するように前記誘導装置に設置され、前記多角形において、点灯と消灯の間で変化する発光マーカーが所定方向に推移するように、点灯と消灯のタイミングが定められており、
前記検出部は、前記撮像部により撮像された画像に映る複数の光点から、前記発光マーカーの個数分の光点の複数の組み合わせを特定し、前記複数の組み合わせの中で、前記発光マーカーの個数分の光点により形成される多角形において、点灯と消灯の間で変化する光点の推移方向が前記所定方向と不整合となる組み合わせを、前記発光パターンに対して不整合な光点とする、
請求項1に記載の無人航空機誘導システム。
【請求項4】
前記検出部は、前記撮像部により撮像された画像に映る光点と、前記誘導装置が備える前記3個以上の発光マーカーの予め定められた発光パターンとに基づいて、前記3個以上の発光マーカーの鏡像の位置をさらに検出し、前記3個以上の発光マーカーの鏡像を前記発光パターンに対して不整合な光点とする
請求項1から3のいずれか1項に記載の無人航空機誘導システム。
【請求項5】
3個以上の発光マーカーを備える誘導装置を用いて無人航空機を誘導する方法であって、
前記無人航空機の外部を撮像するステップと、
前記撮像するステップで撮像した画像に映る光点と、前記誘導装置が備える前記3個以上の発光マーカーの予め定められた発光パターンとに基づいて、前記発光パターンに対して不整合な光点を、前記3個以上の発光マーカーの候補から除外することで前記3個以上の発光マーカーの位置を検出するステップと
を前記無人航空機が実行する無人航空機誘導方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無人航空機誘導システムおよび無人航空機誘導方法に関する。
【背景技術】
【0002】
ドローン等の無人航空機の着地場所を示す方法として、画像認識可能な特定の図柄を印刷したマットを着地場所に設置して、着地場所を明示する方法が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
光を発する対空標識である「発光マーカー」が着地場所を示すために用いられ、無人航空機は、撮像画像に映る発光マーカーの光点をもとに着地場所を検出することがある。この場合に、発光マーカー以外の光点(以下「偽マーカー」とも呼ぶ。)が撮像画像に映り込むことがある。また、偽マーカーは、着地場所の周囲環境によって画像内の様々な位置に出現し得る。無人航空機は、撮像画像に映る、偽マーカーを含み得る多数の光点の中から、着地場所を示す発光マーカーの光点を正しく検出する必要がある。
【0005】
本発明はこうした状況に鑑みてなされたものであり、その目的は、撮像画像に映る光点をもとに目標としての発光マーカーを精度よく検出する技術を提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様の無人航空機誘導システムは、撮像部と検出部とを備える無人航空機と、無人航空機を誘導するための装置であって、3個以上の発光マーカーを備える誘導装置と、を備える。無人航空機の撮像部は、無人航空機の外部を撮像し、無人航空機の検出部は、撮像部により撮像された画像に映る光点と、誘導装置が備える3個以上の発光マーカーの予め定められた発光パターンとに基づいて、発光パターンに対して不整合な光点を、3個以上の発光マーカーの候補から除外することで3個以上の発光マーカーの位置を検出する。
【0007】
本発明の別の態様は、無人航空機誘導方法である。この方法は、3個以上の発光マーカーを備える誘導装置を用いて無人航空機を誘導する方法であって、無人航空機の外部を撮像するステップと、撮像するステップで撮像した画像に映る光点と、誘導装置が備える3個以上の発光マーカーの予め定められた発光パターンとに基づいて、発光パターンに対して不整合な光点を、3個以上の発光マーカーの候補から除外することで3個以上の発光マーカーの位置を検出するステップとを無人航空機が実行する。
【0008】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明によれば、撮像画像に映る光点をもとに目標としての発光マーカーを精度よく検出できる。
【図面の簡単な説明】
【0010】
【
図1】実施例の無人航空機誘導システムの構成を示す図である。
【
図2】
図1の誘導装置の機能ブロックを示すブロック図である。
【
図3】誘導装置における発光マーカーの設置例を示す図である。
【
図4】
図1の無人航空機の機能ブロックを示すブロック図である。
【
図5】誘導装置が建物の近くに設置される例を示す図である。
【
図6】無人航空機による撮像画像の例を示す図である。
【
図8】実施例の誘導装置の動作を示すフローチャートである。
【
図9】実施例の誘導装置の動作を示すフローチャートである。
【
図12】光点管理処理(ステップSK1)の詳細を示すフローチャートである。
【
図13】
図12の既存光点点灯判定(ステップSK12)と点灯処理(ステップSK13)の詳細を示すフローチャートである。
【
図14】
図12の既存光点消灯判定(ステップSK14)と消灯処理(ステップSK15)の詳細を示すフローチャートである。
【
図15】
図12の新規光点判定(ステップSK16)と登録処理(ステップSK17)の詳細を示すフローチャートである。
【
図16】
図12の光点消失判定(ステップSK18)と消失処理(ステップSK19)の詳細を示すフローチャートである。
【
図17】
図12の初期化判定(ステップSK101)と初期化処理(ステップSK102)の詳細を示すフローチャートである。
【
図18】着地場所検出処理(ステップSD1)の詳細を示すフローチャートである。
【
図19】
図18の光点妥当性検証(ステップSD11)の詳細を示すフローチャートである。
【
図20】
図18の候補四角形妥当性検証(ステップSD13)の詳細を示すフローチャートである。
【
図21】第1の例において撮像画像に映る光点を示す図である。
【
図23】
図21に示す6つの光点に基づく候補四角形を示す図である。
【
図24】
図23に示す15個の候補四角形の検証結果を示す図である。
【
図25】第2の例において撮像画像に映る光点を示す図である。
【
図27】
図25に示す6つの光点に基づく候補四角形を示す図である。
【
図28】
図27に示す15個の候補四角形の検証結果を示す図である。
【
図29】無人航空機によるマーカー面の撮像の様子を模式的に示す図である。
【
図30】無人航空機による撮像画像の例を示す図である。
【
図31】変形例の誘導装置を模式的に示す図である。
【
図32】変形例において無人航空機が誘導装置を撮像する様子を模式的に示す図である。
【
図33】無人航空機による撮像画像の例を示す図である。
【発明を実施するための形態】
【0011】
まず、実施例の概要を説明する。日中以外の薄暮、夜間、霧、煙霧などの視認性が低い状況に対応可能な、無人航空機の着地場所を示すマーカーとして、可視光や赤外線等を発する発光体を用いることが考えられる。例えば、(1)無人航空機の着地場所と進入方向を示すために、複数個の発光マーカーを所定の位置関係にて設置し、(2)無人飛行機は、飛行途中に撮像した画像から発光マーカーを検出し、(3)無人飛行機は、検出した複数個の発光マーカーの座標と相対位置とをもとに、発光マーカーと無人航空機間の相対的な位置関係を把握して、正しい方向へ飛行し、正しい位置へ着地することが考えられる。
【0012】
この場合、発光マーカーは、無人航空機による撮像画像において光点として認識される。その一方、発光マーカー以外の光点「偽マーカー」が撮像画像に映り込むことがあり、また、偽マーカーは、着地場所の周囲環境によって画像内の様々な位置に出現し得る。偽マーカーは、例えば、発光マーカーと異なる他の発光体を含み、また、ガラスや鏡等に映った発光マーカーの鏡像を含む。無人航空機は、正しい方向へ飛行し、正しい位置に着地するために、撮像画像に映る偽マーカーを含み得る複数の光点の中から、着地場所を示す発光マーカーを正しく検出する必要がある。この処理を以下「マーカー特定処理」とも呼ぶ。
【0013】
マーカー特定処理を説明する。実施例の無人航空機は、撮像画像内の全ての光点(発光マーカーと偽マーカーを含む)から、発光マーカーとなりうる組み合わせを抽出し、抽出した組み合わせごとに、発光マーカーとして定型化された位置関係を有しているかを検証する。また、発光マーカーの設置数と検出された光点数が同じであっても、発光マーカーが障害物の陰に隠れ、発光マーカーの代わりに偽マーカーが見えている可能性がある。そのため、実施例の無人航空機は、検出された光点同士の相対位置が正しいかを検証する。
【0014】
例えば、正方形の全ての頂点に設置した4つの発光マーカーは、正方形平面の中心の鉛直上方から撮像しない限り、どの位置から撮像しても、画像上、特定の条件に沿って形が崩れた四角形の頂点位置に配される。したがって、選択された光点が形成する四角形がそのような条件に合う四角形であるか否かを検証してもよい。上記の特定の条件とは、例えば、発光マーカーから撮像場所までの距離と、4つの発光マーカーのうち、向かい合う2つの発光マーカー同士を結んだ対角線の交差する角度と、発光マーカー設置平面からの高さで得られる相対的な位置とに基づいて、撮像画像に映ることが期待される四角形状である。
【0015】
四角形の頂点にマーカーが配置された場合の撮像画像内の光点の数による組み合わせパターンは、撮像画像内の光点の増数以上に増える。例えば、撮像画像内の光点数が5個であれば、5種類(5C4=5)の四角形が候補として構成され、撮像画像内の光点数が6個であれば、15種(6C4=15)の四角形が候補として構成される。それら、候補の四角形の中で、特定の条件に沿った位置に頂点が配されていることが確認される候補があれば、その候補が正しい発光マーカーの組み合わせと判定できる。
【0016】
判定方法は、抽出された四角形の4点の光点のうち3点の光点は定型化された発光マーカーの光点であるという仮定の下に、3点の光点座標から得られる三角形を構成する辺や角、および辺と視点(画面中央)から光点に向かう直線の交差角等から、発光マーカーと撮像場所の位置関係を定め、その位置から撮像した4つ目のマーカーの光点座標を予測し、その位置に光点が存在するか否かの検証を、撮像画像内のすべての光点に対して行ってもよい。
【0017】
ただし、このようなマーカー特定処理を短時間で完了するためには、多くの演算リソースとそれを動かすための電力が必要であり、さらには電力供給源の重量も増加して、運用上の制約になり得る。そこで、判定対象(正しい発光マーカー組み合わせの候補とも言える)の削減が求められる。実施例では、発光マーカーの配置と発光マーカーの点灯状態を制御することで、判定対象の削減方法を提案する。これにより、撮像画像に映る光点をもとに目標としての発光マーカーを効率的に、かつ、精度よく検出することができる。
【0018】
なお、複数の着地場所が接近して設置されているような場合(例えば、或る住宅の庭と、隣接する住宅の庭の両方に着地場所が設けられている場合等)、無人航空機が着地場所にある程度接近したときに、無線LANなどにより着地場所の装置と無人航空機間で認証を行い、双方で発光パターンを取り決めてもよい。発光マーカーは、取り決めた発光パターンにて点滅を行うことで着地場所を明示してもよい。実施例では、認証方法や発光パターンの取り決め手段ではなく、発光パターンの態様について言及する。なお、着地場所に関する情報(例えば、緯度、経度、高度を含む位置情報等)は、着地場所を利用する利用者と無人航空機を運用する運用者間でネットワーク回線を利用して交換され、無人航空機に記憶されてもよい。
【0019】
実施例の詳細を説明する。
図1は、実施例の無人航空機誘導システム10の構成を示す。無人航空機誘導システム10は、無人航空機12と誘導装置20を備える。無人航空機12は、例えばドローンであり、配送対象の物品18を保持して飛行可能な機械である。
【0020】
無人航空機12は、飛行駆動部14と撮像部16を備える。飛行駆動部14は、無人航空機12の動力系として、無人航空機12が浮上および飛行するために駆動する機構である。例えば、飛行駆動部14は、回転翼を含む。撮像部16は、無人航空機12の外部の空間を撮像し、撮像した画像データを出力する。この画像データは、動画データと静止画データの一方または両方を含む。
【0021】
誘導装置20は、無人航空機12を着地場所に誘導するための装置である。誘導装置20は、3個以上の発光マーカーを含む発光マーカー部22を備える。発光マーカー部22は、複数の発光マーカーを地上面に水平に設置する部材を含んでもよい。無人航空機12は、撮像部16による撮像画像に映る発光マーカーを目標として飛行および着地を行う。
【0022】
図2は、
図1の誘導装置20の機能ブロックを示すブロック図である。誘導装置20は、発光マーカー部22、無線通信部24、UI部26、制御部28を備える。本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのプロセッサ、CPU、メモリをはじめとする素子や電子回路、機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0023】
無線通信部24は、誘導対象の無人航空機12に関する情報をインターネット回線等を経由してシステム運用前に取得するためのネットワークインタフェース機能を提供する。また、無線通信部24は、システム運用時に、自装置に接近した無人航空機12と無線通信を実行するネットワークインタフェース機能を提供する。なお、インターネットへの接続は、無線接続でもよく、有線接続でもよい。UI部26は、誘導装置20の動作状態の初期設定や変更に関するユーザの操作を受け付け、また、誘導装置20の動作状態を表示する。UI部26は、液晶パネルや押しボタンスイッチ等により構成されてもよい。
【0024】
制御部28は、CPU30、RAM(Random Access Memory)32、不揮発性メモリ34を含む。制御部28は、SoC(System-on-a-Chip)やマイクロコントローラにより実現されてもよい。不揮発性メモリ34は、無線通信部24を介した外部装置との通信に必要な処理を定めたソフトウェアや、通信により得られた情報をもとに発光マーカーの点灯および消灯を制御する処理を定めたソフトウェア、UI部26によるユーザインタフェースの提供を制御する処理を定めたソフトウェア等を記憶する。
【0025】
CPU30は、不揮発性メモリ34に記憶された各種ソフトウェアを実行する。CPU30は、発光マーカーの点灯および消灯を制御する処理を定めたソフトウェアを実行することにより、発光制御部として機能し、発光マーカーの点灯および消灯を制御する処理を実行してもよい。RAM32は、CPU30により実行されるソフトウェアのデータや変数を記憶する。
【0026】
発光マーカー部22は、3個以上の発光マーカーを含み、実施例では、4個の発光マーカー(発光マーカーM1、発光マーカーM2、発光マーカーM3、発光マーカーM4)を備える。発光マーカー部22は、制御部28からの制御信号を受け付け、その制御信号にしたがって、各発光マーカーの状態(すなわち点灯および消灯)を制御する。
【0027】
図3は、誘導装置20における発光マーカーの設置例を示す。誘導装置20には、3個以上の発光マーカーが多角形を形成するように設置される。実施例では、着地場所を囲む四角形の4つの頂点に発光マーカーM1~発光マーカーM4が設置される。この四角形は、いずれの内角も180度以下であり、すなわち凸四角形である。
【0028】
発光マーカーM1~発光マーカーM4の発光波長は、可視光、近赤外線または遠赤外線である。マーカーの発光波長は、性能要件やコストを衡量して決定されてよい。例えば、発光波長が可視光または近赤外線であれば、発光マーカーとしてLED(Light Emitting Diode)を使用でき、撮像側では可視光センサを使用でき、比較的安価にシステムを実現できる。一方、発光波長が遠赤外線であれば、煙霧環境下などでも透過するため、システムの運用範囲が広がる。この場合、発光マーカーとして遠赤外線発光器を使用してもよい。また、発光マーカーが遠赤外線発光器である場合撮像側では、遠赤外線を検出するマイクロポロメータを2次元配置したセンサ、例えば2次元遠赤外線センサを使用してもよい。
【0029】
図4は、
図1の無人航空機12の機能ブロックを示すブロック図である。無人航空機12は、飛行駆動部14、撮像部16、制御部40、無線通信部41、記憶部42を備える。無線通信部41は、システム運用前にインターネット等を介して着地場所の情報を取得し、また、システム運用時に接近した誘導装置20と通信するためのネットワークインタフェース機能を提供する。着地場所の情報は、例えば、緯度、経度、高度を含む位置情報である。記憶部42は、撮像部16による撮像画像のデータを記憶可能な大容量メモリであり、例えばDRAMである。
【0030】
制御部40は、無人航空機12の動作を制御するための演算処理および他の機能部の制御を実行する。制御部40は、CPU44、DSP(Digital Signal Processor)46、RAM48、不揮発性メモリ50を含む。制御部40は、SoCやマイクロコントローラ、ECU(Electronic Control Unit)により実現されてもよい。
【0031】
不揮発性メモリ50は、無線通信部41を介した外部装置との通信に必要な処理を定めたソフトウェアや、無線通信により発光パターンの情報をやりとりするソフトウェア、撮像部16を制御するソフトウェア、撮像部16の動作を制御するソフトウェア、誘導装置20の発光マーカー部22の配置状態を検証して、正しい着地場所を解析し、また、誘導装置20と無人航空機12との相対位置を解析するソフトウェア等を記憶する。
【0032】
CPU44は、不揮発性メモリ50に記憶された各種ソフトウェアを実行する。RAM48は、CPU44により実行されるソフトウェアのデータや変数を記憶する。DSP46は、画像解析処理を実行する。DSP46は、画像解析を、ソフトウェア処理とハードウェア処理の一方または両方により実現する。
【0033】
CPU44は、例えば、無線通信部41を介して着地場所の情報を外部装置から取得し、取得した着地場所の情報をRAM48に格納する。また、CPU44は、無線通信部41を介して、無線通信可能な程度まで接近した誘導装置20と通信し、正しい着地場所であることを相互に認証し、認証後、発光マーカーの設置態様および発光パターンに関する情報を交換する。
【0034】
実施例のCPU44は、画像取得部52、光点管理部53、マーカー検出部(検出部)54、飛行制御部56を含む。これらの複数の機能ブロックの機能が実装されたコンピュータプログラムが不揮発性メモリ50にインストールされてもよい。CPU44は、そのコンピュータプログラムをRAM48に読み出して実行することにより、上記複数の機能ブロックの機能を発揮してもよい。
【0035】
画像取得部52は、撮像部16により撮像された画像のデータを取得して記憶部42に格納する。光点管理部53は、画像取得部52により取得された画像に映る光点に関する情報(以下「光点情報」とも呼ぶ。)を管理する。マーカー検出部54は、画像取得部52により取得された画像に映る光点と、誘導装置20が備える3個以上の発光マーカーの予め定められた発光パターンとに基づいて、発光パターンに対して不整合な光点を、3個以上の発光マーカーの候補から除外することで誘導装置20の3個以上の発光マーカーの位置(すなわち着地場所)を検出する。
【0036】
具体的には、光点管理部53は、記憶部42に記憶された撮像画像を解析して光点情報を更新する。マーカー検出部54は、無線通信にて誘導装置20と取り決めた複数の発光マーカーの点灯パターンと、光点情報が示す複数の光点の状態とを比較することにより、撮像画像の中から正しい発光マーカーを検出する。マーカー検出部54は、検出した各発光マーカーの位置から正しい着地場所であるか否かを検証し、着地場所までの方向と距離を導出する。
【0037】
飛行制御部56は、マーカー検出部54により検出された着地場所(言い換えれば誘導装置20の発光マーカーの位置)に接近するように飛行駆動部14の動作を制御する。例えば、飛行制御部56は、目的地としての着地場所までの距離と移動方向を指示する信号を飛行駆動部14へ送信する。なお、飛行制御部56は、無人航空機12と誘導装置20が無線通信可能な距離まで接近する前は、GPS(Global Positioning System)等の公知の測位技術を用いて誘導装置20の設置位置に接近するように飛行駆動部14の動作を制御してもよい。
【0038】
次に、発光マーカーの設置位置と数量、および、無人航空機12による撮像画像について説明する。誘導装置20の発光マーカーM1~発光マーカーM4のうち一部のマーカーは、残りのマーカーと区別できるように、発光パターンまたは発光波長に特徴を持たせてもよい。このように、一部のマーカーに他のマーカーにはない特徴を持たせることにより、無人航空機12の着地場所への進入方向の指示等、着地に必要な情報を無人航空機12に提示することができる。
図3の例では、発光マーカーM1に他のマーカーとは異なる特徴を持たせることとして、発光マーカーM1を他のマーカーより大きいサイズで示している。
【0039】
着地場所へ誘導する発光マーカーの光は、着地場所周辺の固定建造物(例えば建屋や建物)、一時的に設置された構造物(例えば工事囲い)、または移動体(例えば車両)等による反射光として無人航空機12による撮像画像に映り込みうる。例えば、
図5に示すように、誘導装置20が建物の近くに設置され、誘導装置20では発光マーカーM1~発光マーカーM4が着地場所を囲むように正四角形状に配置されたこととする。この場合、
図6に示すように、接近中の無人航空機12による撮像画像61には、発光マーカーに加えて、建物の窓ガラスに反射した発光マーカーの像(鏡像とも言える)が映り込む。すなわち、無人航空機12による撮像画像には、正規の発光マーカーの個数以上の光点が映る。なお、
図6においては、発光マーカーの正方形平面の中心の鉛直上方から撮像していないため、発光マーカー及び発光マーカーの鏡像は正四角形状ではない。
【0040】
そこで、無人航空機誘導システム10には、正規の発光マーカーの鏡像や他の発光体を正規の発光マーカーと誤認識することを防止する仕組みが必要になる。言い換えれば、撮像画像内に正規の発光マーカー以外の光点「偽マーカー」が存在し得る場合、正しい着地場所を検出するために、偽マーカーを正規の発光マーカーと誤認識せず、排除する必要がある。
【0041】
以降、偽マーカー、あるいは偽マーカーが含まれる多角形(実施例では四角形)を検出しやすくするためのマーカーの点灯・消灯方法を示す。撮像画像上で常時点灯している光点を偽マーカーとして排除するとともに、点灯・消灯のタイミングが正しくない光点も偽マーカーとして排除するために、実施例では、誘導装置20は、発光マーカーの点灯・消灯を以下の態様で制御する。
【0042】
(態様1)誘導装置20は、発光マーカー全体の動作状態を有限ステートマシンとしてステージ番号で管理する。誘導装置20は、ステージ番号を、最小値(例えば1)から最大値(例えば4)までカウントアップし、最大値の次は最小値に戻す。このステージ番号によって、発光マーカー全体の動作状態を変更する。ステージごとに複数の発光マーカーの点灯・消灯状態を固定的に定めた発光パターンを用意し、各ステージの発光パターンは相似形である。1つのステージに留まる期間を1フェーズ単位として、その時間の最小値は、発光パターンの変化を無人航空機12側で判断可能な期間とする。例えば、1つのステージに留まる期間の最小値は、少なくとも数フレームの撮像画像に1つの発光パターンが連続して映る期間であってもよい。
【0043】
(態様2)個々の発光マーカーの動作状態は、点灯状態になる点灯フェーズと、消灯状態になる消灯フェーズとで構成される。各フェーズの期間は、1フェーズ単位の自然数倍とする。発光パターンの簡単な例として、誘導装置20が
図3に示した4つの発光マーカーを備える場合、ステージ1では、発光マーカーM1が消灯フェーズから点灯フェーズに移行し、他のマーカーは消灯フェーズに移行してもよい。ステージ2では、発光マーカーM2が消灯フェーズから点灯フェーズに移行し、他のマーカーは消灯フェーズに移行してもよい。ステージ3では、発光マーカーM3が消灯フェーズから点灯フェーズに移行し、他のマーカーは消灯フェーズに移行してもよい。ステージ4では、発光マーカーM4が消灯フェーズから点灯フェーズに移行し、他のマーカーは消灯フェーズに移行してもよい。ステージ4の次はステージ1に戻る。
【0044】
(態様3)点灯状態となる発光マーカーの位置の推移が、発光マーカーM1~発光マーカーM4により形成される四角形の辺に沿って推移するように、点灯状態に移行する発光マーカーの順番を定める。これにより、各ステージの発光パターンが互いに相似形になることを担保する。なお、態様2に示した例では、点灯状態となる1つの発光マーカーの位置は、時計回りに推移していく。
【0045】
(態様4)1つのステージ(1つの発光パターン)において同時に点灯する発光マーカーの数は2個以上とし、複数の発光マーカーにより形成される四角形の辺の両端に存在する2個の発光マーカーを少なくとも含むこととする。したがって、態様2で示した例は該当しない。
【0046】
態様1~4を踏まえた発光パターンの例として、
図3に示した4つの発光マーカーを備える場合、ステージ1では、発光マーカーM1とM2が点灯し、発光マーカーM3とM4が消灯してもよい。ステージ2では、発光マーカーM2とM3が点灯し、発光マーカーM4とM1が消灯してもよい。ステージ3では、発光マーカーM3とM4が点灯し、発光マーカーM1とM2が消灯してもよい。ステージ4では、発光マーカーM4とM1が点灯し、発光マーカーM2とM3が消灯してもよい。ステージ4の次はステージ1に戻る。つまりすべてのステージにおいて2つの発光マーカーが点灯している。
【0047】
後述する
図7において、網掛けで塗りつぶされた丸は発光マーカーが点灯していること表し、白色の丸は発光マーカーが消灯していることを表す。別の発光パターンの例として、
図7に示すように、ステージ1では、発光マーカーM1とM2とM3が点灯し、発光マーカーM4が消灯してもよい。ステージ2では、発光マーカーM2とM3とM4が点灯し、発光マーカーM1が消灯してもよい。ステージ3では、発光マーカーM3とM4とM1が点灯し、発光マーカーM2が消灯してもよい。ステージ4では、発光マーカーM4とM1とM2が点灯し、発光マーカーM3が消灯してもよい。ステージ4の次はステージ1に戻る。つまりすべてのステージにおいて3つの発光マーカーが点灯している。いずれの例においても、点灯状態の発光マーカーの位置が時計回りに推移していくように見え、言い換えれば、消灯状態の発光マーカーの位置が時計回りに推移していくように見える。
【0048】
このように、実施例の誘導装置20では、3個以上の発光マーカーが、多角形を形成するように設置される。また、誘導装置20では、上記の多角形において、点灯と消灯の間で変化する発光マーカーが所定の方向(例えば時計回りまたは反時計回り)に推移するように、各発光マーカーの点灯と消灯のタイミングが予め定められる。
【0049】
なお、1フェーズ単位時間、点灯状態の発光マーカーの推移方向(言い換えれば回転方向)、および発光パターンは、無人航空機12と誘導装置20間で事前に取り決めておく。または、無人航空機12が、誘導装置20に接近して、誘導装置20との無線通信が可能になった場合に、無人航空機12と誘導装置20とが無線通信しつつ、これらの情報を動的に取り決めてもよい。
【0050】
図8は、実施例の誘導装置20の動作を示すフローチャートである。同図は、誘導装置20のCPU30が実行するステージ番号更新処理を示している。誘導装置20のCPU30は、予め定められた1フェーズ単位時間が経過するまで待機し(ステップS10のNo)、1フェーズ単位時間が経過すると(ステップS10のYes)、ステージ番号をインクリメントして更新し(ステップS11)、ステップS10の判定に戻る。ステージ番号は、ステージ1、ステージ2、ステージ3、ステージ4、ステージ1・・・の順に更新される。
【0051】
図9も、実施例の誘導装置20の動作を示すフローチャートである。同図は、誘導装置20のCPU30が実行する、
図7に示す発光パターンのうちの発光マーカーM1の制御処理を示している。ステージ1では(ステップS20のYes)、発光マーカーM1を点灯状態とする(ステップS21)。ステージ2では(ステップS20のNo)(ステップS22のYes)、発光マーカーM1を消灯状態とする(ステップS23)。ステージ3の場合(ステップS22のNo)(ステップS24のYes)、および、ステージ4の場合(ステップS24のNo)(ステップS25のYes)、発光マーカーM1を点灯状態とする(ステップS21)。ステージ4でもない場合(ステップS25のNo)、ステップS21の後、またはステップS23の後は、ステップS20の判定に戻る。
【0052】
発光マーカーM2の制御処理では、ステージ3でのみ発光マーカーM2を消灯状態とし、他のステージでは発光マーカーM2を点灯状態とする。発光マーカーM3の制御処理では、ステージ4でのみ発光マーカーM3を消灯状態とし、他のステージでは発光マーカーM3を点灯状態とする。発光マーカーM4の制御処理では、ステージ1でのみ発光マーカーM4を消灯状態とし、他のステージでは発光マーカーM4を発光状態とする。
【0053】
次に、無人航空機12における光点の管理処理と、発光マーカーの検出処理を説明する。
まず、無人航空機12に記憶される光点情報と候補四角形情報を説明する。これらの情報は、無人航空機12の記憶部42、RAM48、不揮発性メモリ50のうちいずれか1つに記憶されてもよく、複数の領域に分散して記憶されてもよい。以下の説明では、光点情報と候補四角形情報は、RAM48に記憶されることとする。
【0054】
図10は、光点情報の例を示す。光点情報は、撮像画像に映る個々の光点に関する情報である。光点情報は、複数の項目として、光点番号、座標、状態、更新フラグ、点灯開始時刻(点灯エッジ時刻とも言える)、消灯時刻(消灯エッジ時刻とも言える)、点灯期間、消灯期間、マーカー候補フラグを含む。マーカー候補フラグの初期値はオン(すなわち発光マーカーの候補であることを示す値)である。
【0055】
図11は、候補四角形情報の例を示す。候補四角形情報は、撮像画像に映る4つの光点により形成される四角形に関する情報であり、4つの発光マーカーにより形成される着地場所を示す四角形の候補となる四角形(以下「候補四角形」)に関する情報である。候補四角形情報は、複数の項目として、四角形ID、構成光点、点灯履歴、判定結果、NG理由を含む。
【0056】
なお、実施例では、誘導装置20に4個の発光マーカーが設置されたが、変形例として、誘導装置20に3個の発光マーカーが設置されてもよい。この場合、無人航空機12は、3個の発光マーカーにより形成される三角形の候補となる、3つの光点により形成される三角形に関する情報を記憶してもよい。また、誘導装置20に5個以上の発光マーカーが設置されてもよい。この場合、無人航空機12は、5個以上の発光マーカーにより形成される多角形の候補となる、5つ以上の光点により形成される多角形に関する情報を記憶してもよい。
【0057】
無人航空機12の画像取得部52は、撮像部16による撮像画像を取得する。無人航空機12の光点管理部53は、撮像部16による撮像画像に基づく光点管理処理を予め定められた周期で繰り返し実行する。光点管理部53が光点管理処理を繰り返す周期は例えば、発光パターンにおける1フェーズ単位よりも短い期間とする。光点管理処理は、撮像画像に映る光点に基づいて、RAM48に記憶された光点情報を更新する処理である。以下、
図12~
図17を参照して、光点管理処理を詳細に説明する。
【0058】
図12は、光点管理処理の詳細(ステップSK1)を示すフローチャートである。光点管理部53は、RAM48に記憶された全ての光点情報の更新フラグを「未更新」に設定する。光点管理部53は、撮像画像に映る光点の座標を検出する(ステップSK11)。光点管理部53は、撮像画像から検出した光点(以下「検出光点」とも呼ぶ。)に基づいて、前回の光点管理処理までに検知済の光点(光点情報を登録済の光点とも言え、以下「既存光点」とも呼ぶ。)が点灯状態であるかを判定する(ステップSK12)。この判定を「既存光点点灯判定」とも呼ぶ。既存光点点灯判定の結果が肯定的であれば(ステップSK12のYes)、光点管理部53は、既存光点が点灯状態であることを反映するように既存光点の光点情報を更新する(ステップSK13)。既存光点点灯判定の結果が否定的であれば(ステップSK12のNo)、ステップSK13の処理をスキップする。
【0059】
光点管理部53は、既存光点が消灯状態であるかを判定する(ステップSK14)。この判定を「既存光点消灯判定」とも呼ぶ。既存光点消灯判定の結果が肯定的であれば(ステップSK14のYes)、光点管理部53は、既存光点が消灯状態であることを反映するように既存光点の光点情報を更新する(ステップSK15)。既存光点消灯判定の結果が否定的であれば(ステップSK14のNo)、ステップSK15の処理をスキップする。
【0060】
光点管理部53は、検出光点が既存光点に紐付かない新規の光点であるかを判定する(ステップSK16)。この判定を「新規光点判定」とも呼ぶ。新規光点判定の結果が肯定的であれば(ステップSK16のYes)、光点管理部53は、新規の光点に関する新たな光点情報を登録する(ステップSK17)。新規光点判定の結果が否定的であれば(ステップSK16のNo)、ステップSK17の処理をスキップする。
【0061】
光点管理部53は、既存光点が消失したかを判定する(ステップSK18)。この判定を「光点消失判定」とも呼ぶ。光点消失判定の結果が肯定的であれば(ステップSK18のYes)、光点管理部53は、既存光点が消失したことを反映するように既存光点の光点情報を更新する(ステップSK19)。光点消失判定の結果が否定的であれば(ステップSK18のNo)、ステップSK19の処理をスキップする。
【0062】
光点管理部53は、光点情報の初期化、言い換えれば、不要となった光点情報の抹消が必要かを判定する(ステップSK101)。この判定を「初期化判定」とも呼ぶ。初期化判定の結果が肯定的であれば(ステップSK101のYes)、光点管理部53は、未更新の既存光点の更新情報を消去する(ステップSK102)。初期化判定の結果が否定的であれば(ステップSK101のNo)、ステップSK102の処理をスキップする。
【0063】
図13は、
図12の既存光点点灯判定(ステップSK12)と点灯処理(ステップSK13)の詳細を示すフローチャートである。光点管理部53は、撮像画像からの検出光点を1つ選択し、選択した検出光点の座標と、各既存光点(ただし更新フラグが未更新)の座標とに基づいて、検出光点がいずれかの既存光点の近傍に存在するかを判定する(ステップSK121)。近傍判定の条件(例えば既存光点から検出光点への方向や距離閾値等)は、無人航空機12の移動の方向や速度に応じて決定されてもよく、または、予め定められた値であってもよい。近傍判定の条件の値やその導出方法は、開発者の知見や無人航空機誘導システム10を用いた実験により決定されてよい。
【0064】
検出光点がある既存光点の近傍に存在する場合(ステップSK121のYes)、光点管理部53は、当該既存光点の光点情報の状態を「点灯状態」に設定し、光点情報の座標を検出光点の座標に更新する(ステップSK131)。あわせて、光点管理部53は、光点情報の更新フラグを「更新済」に設定する。点灯エッジの場合、すなわち、ステップSK131にて消灯状態から点灯状態に切り替わった場合(ステップSK132のYes)、光点管理部53は、光点情報の点灯開始時刻に現在時刻を設定し、また、光点情報の消灯時刻から現在時刻までの時間を光点情報の消灯期間に設定する(ステップSK133)。ステップSK131の更新前から点灯状態であった場合(ステップSK132のNo)、ステップSK133の処理をスキップする。検出光点がいずれの既存光点からも離れた位置にある場合(ステップSK121のNo)、ステップSK131~ステップSK133の処理をスキップする。
【0065】
未確認の検出光点が残っていれば(ステップSK122のNo)、ステップSK121の判定に戻る。撮像画像からの全ての検出光点を確認した場合(ステップSK122のYes)、光点管理部53は、発光マーカーの候補となる全ての光点の座標を更新したか否かを判定する(ステップSK123)。例えば、光点管理部53は、マーカー候補フラグがオン、かつ、更新フラグが未更新の光点情報が存在すれば、発光マーカーの候補となる一部の光点の座標が未更新と判定する。発光マーカーの候補となる光点は、候補四角形を構成する光点とも言える。
【0066】
発光マーカーの候補となる光点の中に座標が未更新の光点が存在する場合、言い換えれば、ステップSK121の判定にて検出光点と紐付かなかった既存光点が存在する場合(ステップSK123のNo)、光点管理部53は、近傍判定の閾値を調整する。具体的には、光点管理部53は、確認対象の既存光点と同じ候補四角形を構成する他の既存光点であって、かつ、更新フラグが更新済の他の既存光点の座標の変化量に基づいて、近傍判定の閾値を調整する(ステップSK124)。典型的には、ステップSK121の近傍判定で用いた閾値より大きくなるように調整する。なお、確認対象の既存光点と同じ候補四角形を構成する他の既存光点は、候補四角形情報の構成光点に基づいて特定されてよい。また、各既存光点の更新による座標の変化量は、各既存光点の光点情報に記録されてよい。
【0067】
光点管理部53は、調整後の閾値を用いて、座標未更新の既存光点の近傍に検出光点が存在するかを判定する(ステップSK125)。座標未更新の既存光点の近傍に検出光点が存在する場合(ステップSK125のYes)、光点管理部53は、説明済のステップSK131~ステップSK133の処理を実行する。調整後の閾値を用いても、座標未更新の既存光点の近傍に検出光点が存在しない場合(ステップSK125のNo)、ステップSK131~ステップSK133の処理をスキップする。発光マーカーの候補となる全ての光点の座標を更新した場合(ステップSK123のYes)、ステップSK124とステップSK125の処理をスキップする。発光マーカーの候補となる全ての光点を確認した場合(ステップSK126のYes)、本図の処理を終了する。発光マーカーの候補となる光点の中に未確認の光点が残っていれば(ステップSK126のNo)、ステップSK123の処理に戻る。
【0068】
図14は、
図12の既存光点消灯判定(ステップSK14)と消灯処理(ステップSK15)の詳細を示すフローチャートである。光点情報(座標等)が未更新の既存光点が存在する場合であり、具体的には、更新フラグが未更新の光点情報が存在する場合(ステップSK141のYes)、光点管理部53は、当該既存光点の光点情報の状態を「消灯状態」に設定する(ステップSK151)。あわせて、光点管理部53は、当該既存光点の光点情報の更新フラグを「更新済」に設定する。
【0069】
消灯エッジの場合、すなわち、ステップSK151にて点灯状態から消灯状態に切り替わった場合(ステップSK152のYes)、光点管理部53は、光点情報の消灯時刻に現在時刻を設定し、また、光点情報の点灯開始時刻から現在時刻までの時間を光点情報の点灯期間に設定する(ステップSK153)。ステップSK151の更新前から消灯状態であった場合(ステップSK152のNo)、ステップSK153の処理をスキップする。光点情報が未更新の既存光点が存在しなければ(ステップSK141のNo)、ステップSK151~ステップSK153の処理をスキップする。
【0070】
未更新の既存光点が残っている場合、すなわち、更新フラグが「未更新」の光点情報が残っている場合(ステップSK142のNo)、ステップSK141の判定に戻る。未更新の既存光点が残っていなければ(ステップSK142のYes)、本図の処理を終了する。
【0071】
図15は、
図12の新規光点判定(ステップSK16)と登録処理(ステップSK17)の詳細を示すフローチャートである。
図13に示した既存光点点灯判定において既存光点に未対応の検出光点が存在する場合、すなわち、既存光点の近傍範囲にない検出光点が存在する場合(ステップSK161のYes)、光点管理部53は、その検出光点に関する光点情報を新規に作成する(ステップSK171)。ステップSK171で作成される光点情報は、少なくとも、新規に採番された光点番号、検出光点の座標、状態=点灯状態、点灯開始時刻=現在時刻、更新フラグ=新規、マーカー候補フラグ=オンを含む。
【0072】
既存光点に未対応の検出光点が存在しなければ(ステップSK161のNo)、ステップSK171の処理をスキップする。既存光点に未対応の検出光点が残っていれば(ステップSK162のNo)、ステップSK161の判定に戻る。既存光点に未対応の検出光点が残っていなければ(ステップSK162のYes)、本図の処理を終了する。
【0073】
図16は、
図12の光点消失判定(ステップSK18)と消失処理(ステップSK19)の詳細を示すフローチャートである。光点管理部53は、RAM48に記憶された光点情報を1つ選択する(ステップSK181)。選択した光点情報に消灯状態が記録されていた場合(ステップSK182のYes)、光点管理部53は、光点情報に記録された消灯時刻と現在時刻との差を消灯継続時間として導出する(ステップSK183)。消灯継続時間が予め定められた閾値を超過する場合(ステップSK184のYes)、光点管理部53は、当該光点情報を消去する(ステップSK191)。消灯継続時間が上記閾値以下の場合(ステップSK184のNo)、ステップSK191の処理をスキップする。
【0074】
ステップSK181で選択した光点情報に点灯状態が記録されていた場合(ステップSK182のNo)、ステップSK183、ステップSK184、ステップSK191の処理をスキップする。未確認の光点情報が存在すれば(ステップSK185のNo)、ステップSK181の処理に戻る。全ての光点情報を確認した場合(ステップSK185のYes)、本図のフローを終了する。このように、光点管理部53は、管理対象の光点の中で消灯から一定時間が経過しても点灯しない光点は消滅したものとして、当該光点の光点情報を削除する。
【0075】
図17は、
図12の初期化判定(ステップSK101)と初期化処理(ステップSK102)の詳細を示すフローチャートである。光点管理部53は、新規登録光点数と既存登録光点数とが略同一か否かを判定する(ステップSK1011)。例えば、光点管理部53は、更新フラグが「新規」の光点情報の個数を新規登録光点数とし、更新フラグが「更新済」の光点情報の個数を既存登録光点数として、両者の差を算出してもよい。光点管理部53は、両者の差が予め定められた閾値(例えば±1)以内であれば両者を略同一と判定し、両者の差が上記閾値を超過すれば両者を略同一でないと判定してもよい。この閾値は、開発者の知見や無人航空機誘導システム10を用いた実験により適切な値が決定されてよい。
【0076】
新規登録光点数と既存登録光点数とが略同一である場合(ステップSK1011のYes)、光点管理部53は、RAM48に記憶された全ての、更新フラグが「未更新」である既存登録光点の光点情報を消去する(ステップSK1021)。新規登録光点数と既存登録光点数とが略同一でなければ(ステップSK1011のNo)、ステップSK1021の処理をスキップして本図の処理を終了する。無人航空機12の大きな動きによって全ての光点座標が大きく移動する場合がある。この場合、既存の光点数とほぼ同数の新規光点が登録され、管理対象の光点数が突然増加してしまう。この事態を避けるため、既存登録光点数と新規登録光点数とが略同一の場合は、既存光点を管理対象から除外する。
【0077】
なお、光点管理部53は、撮像画像上での座標に基づいて各光点を配置した光点マップを作成してもよい。光点管理部53は、光点マップ上で各光点の位置の推移をトラッキングしてもよい。
【0078】
続いて、無人航空機12のマーカー検出部54は、光点管理部53により更新された光点情報に基づく着地場所検出処理を所定の周期で繰り返し実行する。マーカー検出部54が着地場所検出処理を繰り返す周期は例えば、光点管理部53が光点管理処理を繰り返す周期と同一である。着地場所検出処理は、撮像画像に映る複数の光点の複数の組み合わせの中から発光マーカーの光点の組み合わせを検出する処理である。言い換えれば、着地場所検出処理は、撮像画像から複数の発光マーカーにより囲まれた着地場所を検出する処理である。
【0079】
図18は、着地場所検出処理(ステップSD1)の詳細を示すフローチャートである。マーカー検出部54は、RAM48に記憶された光点情報に基づいて、各光点の発光マーカーとしての妥当性を検証する(ステップSD11)。マーカー検出部54は、発光マーカーとしての妥当性が否定されない複数の光点をもとに、発光マーカーにより形成される四角形(以下「マーカー四角形」とも呼ぶ。)の候補となる候補四角形を生成する(ステップSD12)。マーカー検出部54は、候補四角形の妥当性を検証する(ステップSD13)。マーカー検出部54は、妥当性が否定されなかった候補四角形の中から、正しい着地場所を示すマーカー四角形を特定するマーカー特定処理を実行する(ステップSD14)。
【0080】
図19は、
図18の光点妥当性検証(ステップSD11)の詳細を示すフローチャートである。マーカー検出部54は、未確認の光点に関する光点情報を選択し、その光点が常時点灯状態であるか否かを判定する(ステップSD111)。具体的には、マーカー検出部54は、或る光点の光点情報が示す点灯開始時刻と現在時刻との差が予め定められた閾値を超過する場合、当該光点が常時点灯状態であると判定し、その差が閾値以下の場合、当該光点が常時点灯状態ではないと判定する。マーカー検出部54は、選択した光点情報から常時点灯状態であると判定した場合(ステップSD111のYes)、その光点情報のマーカー候補フラグを「オフ」(すなわち発光マーカーの候補ではないことを示す値)に更新する(ステップSD113)。
【0081】
選択した光点情報から常時点灯状態でないと判定した場合(ステップSD111のNo)、マーカー検出部54は、その光点情報が示す点灯期間と消灯期間のそれぞれが予め定められた閾値を超過するか否かを判定する(ステップSD112)。点灯期間の閾値と消灯期間の閾値は異なる値でもよい。点灯期間と消灯期間の少なくとも一方が閾値を超過する場合(ステップSD112のYes)、マーカー検出部54は、光点情報のマーカー候補フラグを「オフ」に更新する(ステップSD113)。点灯期間と消灯期間の両方が閾値以下であれば(ステップSD112のNo)、ステップSD113の処理をスキップする。未検証の光点が残っていれば(ステップSD114のNo)、ステップSD111に戻る。全ての光点を検証した場合(ステップSD114のYes)、本図の処理を終了する。
【0082】
図18の候補四角形生成処理(ステップSD12)では、マーカー検出部54は、光点情報のマーカー候補フラグが「オン」(すなわち発光マーカーの候補であることを示す値)である複数の光点の中から、候補四角形を構成する4つの光点の組を複数組作成する。マーカー検出部54は、各組に関する候補四角形情報をRAM48に記憶させる。構成光点が同じ候補四角形情報が登録済の場合、マーカー検出部54は、その登録済みの候補四角形情報の四角形ID、構成光点、点灯履歴を引き継ぎ、また、今回点灯した光点の情報を点灯履歴に追加する。候補四角形における点灯パターンの推移を時系列に把握可能にするためである。
【0083】
図20は、
図18の候補四角形妥当性検証(ステップSD13)の詳細を示すフローチャートである。マーカー検出部54は、検証対象の候補四角形(候補四角形情報)を選択する。マーカー検出部54は、検証対象の候補四角形を構成する4つの光点の中に、点灯開始時刻と消灯時刻の両方が一致する複数の光点が存在するか否かを判定する(ステップSD131)。点灯開始時刻と消灯時刻の両方が一致する複数の光点が存在する場合(ステップSD131のYes)、マーカー検出部54は、検証対象の候補四角形情報の判定結果にNGを設定する(ステップSD134)。また、マーカー検出部54は、検証対象の候補四角形情報のNG理由に、複数の光点の点灯/消灯タイミングが同じであることを設定する。
【0084】
誘導装置20に設置される複数の発光マーカーの中には、点灯タイミングと消灯タイミングの両方が一致する発光マーカーの組は存在しない。そのため、候補四角形を構成する複数の光点の中に、点灯タイミングと消灯タイミングの両方が一致する光点の組が存在する場合、候補四角形を構成する複数の光点の中に偽マーカーが混入していることを意味し、その候補四角形をマーカー四角形の候補から除外できる。
【0085】
検証対象の候補四角形に点灯開始時刻と消灯時刻の両方が一致する複数の光点が含まれなければ(ステップSD131のNo)、ステップSD132の判定に移る。ここでは、マーカー検出部54は、検証対象の候補四角形を構成する4つの光点の座標、点灯開始時刻、消灯時刻に基づいて、検証対象の候補四角形の中での、点灯と消灯の間で変化する光点の推移方向(以下「点灯推移方向」とも呼ぶ。)を特定する(ステップSD132)。
【0086】
点灯推移方向は、消灯から点灯に切り替わる光点の推移方向とも言える。また、既述したように、誘導装置20におけるマーカー四角形の中での、点灯と消灯の間で変化する発光マーカーの推移方向(点灯推移方向)は予め定められている。実施例では、候補四角形の点灯推移方向と、マーカー四角形の点灯推移方向は、時計回りまたは反時計回りである。マーカー検出部54は、検証対象の候補四角形を構成する4つの光点を配置した光点マップ上で、点灯と消灯の間で変化する光点の推移を時系列に追跡することにより、検証対象の候補四角形の点灯推移方向を特定してもよい。
【0087】
マーカー検出部54は、候補四角形の点灯推移方向がマーカー四角形の点灯推移方向に不整合であれば(ステップSD132のNo)、検証対象の候補四角形情報の判定結果にNGを設定する(ステップSD134)。また、マーカー検出部54は、検証対象の候補四角形情報のNG理由に、点灯推移方向が逆方向(言い換えれば不正)であることを設定する。
【0088】
候補四角形の点灯推移方向がマーカー四角形の点灯推移方向に不整合であることは、候補四角形に偽マーカーが含まれることを意味する。また、候補四角形の点灯推移方向がマーカー四角形の点灯推移方向に逆方向であることは、典型的には、候補四角形がマーカー四角形の鏡像(ガラスや鏡等の反射による像)であることを意味する。したがって、候補四角形の点灯推移方向がマーカー四角形の点灯推移方向の逆方向である場合、その候補四角形を候補から除外することにより、マーカー四角形の鏡像を候補から除外できる。
【0089】
候補四角形の点灯推移方向がマーカー四角形の点灯推移方向に整合していれば(ステップSD132のYes)、ステップSD133の判定に移る。ここでは、マーカー検出部54は、検証対象の候補四角形を構成する4つの光点の座標に基づいて、候補四角形の4つの内角の大きさを算出する(ステップSD133)。マーカー検出部54は、候補四角形の4つの内角の1つが180度を超える場合、言い換えれば、候補四角形が凹四角形の場合(ステップSD133のYes)、検証対象の候補四角形情報の判定結果にNGを設定する(ステップSD134)。また、マーカー検出部54は、検証対象の候補四角形情報のNG理由に、180度を超える内角があることを設定する。
【0090】
誘導装置20の発光マーカーを上空から撮像した場合、撮像画像上に映るマーカー四角形は、発光マーカーの鉛直上方から撮像しない限りは本来の形状が崩れた形状になるが、予想可能な形状であり、凹四角形になることはない。したがって、候補四角形が凹四角形であることは、候補四角形に偽マーカーが含まれることを意味するため、その候補四角形をマーカー四角形の候補から除外できる。
【0091】
候補四角形の4つの内角がいずれも180度以下であり、言い換えれば、候補四角形が凸四角形の場合(ステップSD133のNo)、マーカー検出部54は、検証対象の候補四角形情報の判定結果にCD(肯定結果)を設定する(ステップSD135)。未検証の候補四角形が残っていれば(ステップSD136のNo)、ステップSD131に戻る。全ての候補四角形を検証した場合(ステップSD136のYes)、本図の処理を終了する。
【0092】
図18のマーカー特定処理(ステップSD14)では、マーカー検出部54は、ステップSD13において検証結果がCDになった1つ以上の候補四角形(すなわち妥当性が否定されなかった候補四角形)に対して、概要に既述したマーカー特定処理を実行する。すなわち、マーカー検出部54は、ステップSD13において検証結果がCDになった1つ以上の候補四角形の中からマーカー四角形を特定する。以降、無人航空機12の飛行制御部56は、マーカー検出部54により特定されたマーカー四角形に接近し、マーカー四角形が示す着地場所に着地するように飛行駆動部14の動作を制御する。
【0093】
ステップSD13において検証結果がCDになった候補四角形が複数存在する場合、ステップSD14のマーカー特定処理は、例えば、無人航空機12と誘導装置20との位置関係に基づく候補四角形の歪み具合の検証をすることでマーカー四角形を特定してもよい。また、候補四角形を構成する3つの光点の座標をもとに残り1つの光点の座標を推定し、その推定結果と、実際の残り1つの光点の座標とを比較する検証をすることでマーカー四角形を特定してもよい。このようなマーカー特定処理は、多くの演算リソースと電力を要するが、光点妥当性検証(ステップSD11)および候補四角形妥当性検証(ステップSD13)により、判定対象の候補四角形を削減することにより、必要となる演算リソースと電力を低減できる。
【0094】
次に、
図20に示した候補四角形妥当性検証(ステップSD13)の第1の例を説明する。
図21は、第1の例において撮像画像に映る光点を示す。
図21と、後述する
図25において、網掛けで塗りつぶされた丸は発光マーカーが点灯していること表し、白色の丸は発光マーカーが消灯していることを表す。光点P1、P2、P3、P4は、誘導装置20に設置された4つの発光マーカーである。光点P5は、ガラス等に映った光点P4の鏡像であり、光点P6は、光点P1の鏡像である。本来、光点P2、P3の鏡像も映るはずであるが、障害物等の影響にて光点P2、P3の鏡像は撮像画像に映らないこととする。
【0095】
図22は、
図21に示す6つの光点の点灯時刻を示す。T2はT1の後であり、T3はT2の後であり、T4はT1の後であり、光点P4の次は光点P1が点灯する。光点P1、P2、P3、P4により構成されるマーカー四角形の点灯推移方向は時計回りであり、光点P5、P6を含む候補四角形の点灯推移方向は、反時計回りとなる。
【0096】
図23は、
図21に示す6つの光点に基づく候補四角形を示す。同図は、15(=
6C
4)個の候補四角形R1~R15を示している。
図24は、
図23に示す15個の候補四角形の検証結果を示す。候補四角形R1~R15の中で、候補四角形R1のみ妥当(CD)と判断されている。NG理由1は、複数の光点の点灯/消灯タイミングが同じという理由である。NG理由2は、点灯推移方向が逆方向という理由である。NG理由3は、180度を超える内角があるという理由である。第1の例では、
図18に示したマーカー特定処理(ステップSD14)の対象は、候補四角形R1となる。
【0097】
次に、
図20に示した候補四角形妥当性検証(ステップSD13)の第2の例を説明する。
図25は、第2の例において撮像画像に映る光点を示す。光点P1、P2、P3、P4は、誘導装置20に設置された4つの発光マーカーである。光点P5は、ガラス等に映った光点P3の鏡像であり、光点P6は、光点P4の鏡像である。本来、光点P1、P2の鏡像も映るはずであるが、障害物等の影響にて光点P1、P2の鏡像は撮像画像に映っていないこととする。
【0098】
図26は、
図25に示す6つの光点の点灯時刻を示す。光点P1、P2、P3、P4により構成されるマーカー四角形の点灯推移方向は時計回りであり、光点P5、P6を含む候補四角形の点灯推移方向は、反時計回りとなる。
【0099】
図27は、
図25に示す6つの光点に基づく候補四角形を示す。同図は、15(=
6C
4)個の候補四角形R1~R15を示している。
図28は、
図27に示す15個の候補四角形の検証結果を示す。候補四角形R1~R15の中で、候補四角形R1、R3、R10については妥当性がある(CD)と判断されている。同図のNG理由1~3は、
図24のNG理由1~3と同じである。第2の例では、
図18に示したマーカー特定処理(ステップSD14)の対象は、候補四角形R1、R3、R10となる。
【0100】
実施例の無人航空機誘導システム10では、無人航空機12のマーカー検出部54は、撮像部16により撮像された画像に映る光点と、誘導装置20が備える3個以上の発光マーカーの予め定められた発光パターンとに基づいて、上記3個以上の発光マーカーの位置を検出する。これにより、誘導目標としての発光マーカーを精度よく検出できる。
【0101】
また、実施例の無人航空機誘導システム10では、無人航空機12のマーカー検出部54は、撮像部16により撮像された画像に映る複数の光点から、誘導装置20が備える発光マーカーの個数分の光点の複数の組み合わせを特定する。マーカー検出部54は、上記の複数の組み合わせの中で、発光マーカーの個数分の光点により形成される多角形の形状が、誘導装置20が備える3個以上の発光マーカーにより形成される多角形の形状と不整合となる組み合わせを、発光パターンに対して不整合な光点として発光マーカーの候補から除外する。これにより、誘導装置20が備える発光マーカーの候補としての光点の組み合わせであって、かつ、検証対象となる光点の組み合わせを減らすことができ、発光マーカーの位置を精度よくかつ効率的に検出できる。
【0102】
また、実施例の無人航空機誘導システム10では、無人航空機12のマーカー検出部54は、撮像部16により撮像された画像に映る複数の光点から、誘導装置20が備える発光マーカーの個数分の光点の複数の組み合わせを特定する。マーカー検出部54は、上記の複数の組み合わせの中で、発光マーカーの個数分の光点により形成される多角形において点灯と消灯の間で変化する光点の推移方向(言い換えれば、点灯する光点の推移方向)が、誘導装置20において点灯と消灯の間で変化する発光マーカーの推移方向(言い換えれば、点灯する発光マーカーの推移方向)と不整合となる組み合わせを、発光パターンに対して不整合な光点として発光マーカーの候補から除外する。これにより、誘導装置20が備える発光マーカーの候補としての光点の組み合わせであって、かつ、検証対象となる光点の組み合わせを減らすことができ、発光マーカーの位置を精度よくかつ効率的に検出できる。
【0103】
なお、ここまで説明した光点管理部53の処理、及び、マーカー検出部54の処理は、一部の処理を省略してもよいし、順番を入れ替えて実施してもよい。例えば
図18に示す着地場所検出処理においてマーカー検出部54は、SD14で行う無人航空機12と誘導装置20との位置関係に基づく候補四角形の歪み具合の検証などのマーカー特定処理を、SD13で行う候補四角形の妥当性検証の処理の前に行ってもよい。
【0104】
以上、本発明を実施例をもとに説明した。実施例に記載の内容は例示であり、実施例の構成要素や処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0105】
変形例を説明する。
図29は、無人航空機12がマーカー面60を撮像する様子を模式的に示す。マーカー面60は、誘導装置20において複数の発光マーカーが設置された平面である。本変形例では、マーカー面60と無人航空機12との間に塀62が設けられ、無人航空機12の撮像部16の視野角が塀62により遮られる。
【0106】
図30は、
図29に示す状況での無人航空機12による撮像画像64の例を示す。塀62が無人航空機12の視界を遮ることで、無人航空機12は、誘導装置20が備える複数の発光マーカーの少なくとも一部を撮像できない。例えば、誘導装置20がn個(nは3以上の自然数)の発光マーカーを備える場合、撮像画像64には、0個~n-1個の発光マーカーの像(マーカー像66)のみ映ることがある。この結果、正しい着地場所の検出が困難になる。また、誘導装置20が備える全ての発光マーカーを撮像するために、無人航空機12が塀62の内側まで入る場合、プライバシーへの配慮が問題になり得る。
【0107】
図31は、変形例の誘導装置20を模式的に示す。変形例の誘導装置20は、実施例の構成に加えて、3個以上の発光マーカーが設置された発光マーカー68が設置されたマーカー面60に対して垂直に設けられた鏡面70の壁をさらに備える。鏡面70には、マーカー面60の3個以上の発光マーカーの鏡像72が映る。
【0108】
図32は、変形例において無人航空機12が誘導装置20を撮像する様子を模式的に示す。
図33は、
図32に示す状況での無人航空機12による撮像画像64の例を示す。
図33の撮像画像64は、誘導装置20が備える一部の発光マーカーの像(マーカー像66)が映る点では
図30の撮像画像64と同じであるが、誘導装置20が備える全ての発光マーカーの鏡像が映る点が
図30の撮像画像64と異なる。
【0109】
無人航空機12のマーカー検出部54は、撮像部16による撮像画像に映る光点と、誘導装置20が備える3個以上の発光マーカーの予め定められた発光パターンとに基づいて、3個以上の発光マーカーの鏡像の位置をさらに検出し、3個以上の発光マーカーの鏡像を発光パターンに対して不整合な光点とする。3個以上の発光マーカーの鏡像は、誘導装置20が備える3個以上の発光マーカーのうち少なくとも1つの発光マーカーの鏡像を意味する。例えば、マーカー検出部54は、複数の候補四角形のうちマーカー四角形と点灯推移方向が逆の候補四角形(すなわち
図20に示したステップSD132の判定結果が否定的となる候補四角形)をマーカー四角形の鏡像として特定してもよい。無人航空機12のマーカー検出部54が発光マーカーの鏡像の位置をさらに検出する場合、鏡面70を備えなくてもよい。つまりマーカー検出部54は、建物の窓ガラスなどに反射した発光マーカーの像を、マーカー四角形の鏡像として特定してもよい。
【0110】
マーカー検出部54は、
図18に示したステップSD13およびステップSD14にてマーカー四角形を特定した場合、マーカー四角形の位置情報(各光点の座標等)を飛行制御部56に渡してもよい。一方、
図18に示したステップSD13およびステップSD14にてマーカー四角形を特定できなかった場合、マーカー検出部54は、発光パターンに対して不整合な光点であるとしてマーカー四角形の候補から除外したマーカー四角形の鏡像の位置情報(各光点の座標等)を飛行制御部56に渡してもよい。
【0111】
飛行制御部56は、マーカー検出部54によりマーカー四角形が特定された場合、マーカー四角形に接近するよう無人航空機12を飛行させてもよい。一方、マーカー検出部54によりマーカー四角形が特定されなかった場合、飛行制御部56は、発光パターンに対して不整合な光点であるとしてマーカー四角形の候補から除外したマーカー四角形の鏡像に接近するように無人航空機12を飛行させてもよい。無人航空機12がマーカー四角形の鏡像に接近するように飛行している間は、マーカー四角形を特定する処理、すなわち光点管理部53が実行する光点管理処理及びマーカー検出部54が実行する着地場所検出処理を継続してもよい。
【0112】
本変形例の無人航空機誘導システム10によると、障害物等により無人航空機12の視界が遮られる場合でも、無人航空機12が誘導装置20の発光マーカーに接近する可能性を高めることができる。また、障害物の外側から発光マーカーの鏡像を確認可能であるため、住民等のプライバシーに配慮しつつ、無人航空機12を誘導装置20の発光マーカーに接近させることができる。
【0113】
別の変形例として、上記実施例の無人航空機12が備えた一部の機能(例えば光点管理部53、マーカー検出部54の一方または両方)の機能は、無線通信網を介して無人航空機12と接続されるサーバに実装されてもよい。無人航空機12とサーバは、無線通信網を介してシステムとして連携することにより、実施例の無人航空機12と同様の機能を発揮してもよい。
【0114】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【0115】
10 無人航空機誘導システム、 12 無人航空機、 16 撮像部、 20 誘導装置、 22 発光マーカー部(検出部)、 52 画像取得部、 53 光点管理部、 54 マーカー検出部、 56 飛行制御部。