IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社自律制御システム研究所の特許一覧

<>
  • 特開-確認方法 図1
  • 特開-確認方法 図2
  • 特開-確認方法 図3
  • 特開-確認方法 図4
  • 特開-確認方法 図5
  • 特開-確認方法 図6
  • 特開-確認方法 図7
  • 特開-確認方法 図8
  • 特開-確認方法 図9
  • 特開-確認方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024153421
(43)【公開日】2024-10-29
(54)【発明の名称】確認方法
(51)【国際特許分類】
   H04N 23/90 20230101AFI20241022BHJP
   G05D 1/46 20240101ALI20241022BHJP
【FI】
H04N23/90
G05D1/10
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023067304
(22)【出願日】2023-04-17
(71)【出願人】
【識別番号】515100042
【氏名又は名称】株式会社ACSL
(74)【代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
(74)【代理人】
【識別番号】100125346
【弁理士】
【氏名又は名称】尾形 文雄
(72)【発明者】
【氏名】リリコ スティーヴン ブライアン マイケル
【テーマコード(参考)】
5C122
5H301
【Fターム(参考)】
5C122DA13
5C122FA18
5C122GE24
5C122GE26
5C122HB01
5H301AA06
5H301BB10
5H301BB20
5H301CC04
5H301CC07
5H301CC09
5H301DD01
5H301DD06
5H301DD07
5H301DD15
5H301FF11
5H301GG09
5H301GG17
(57)【要約】
【課題】複数のカメラそれぞれのキャリブレーションが正しく行われているか否かを確認することができる確認方法を提供する。
【解決手段】無人航空機に搭載された、撮影範囲が重ならない複数のカメラのキャリブレーションが正しく行われているか否かを確認する確認方法であって、床面に予め定められた位置関係で配置された複数のARマーカそれぞれを複数のカメラそれぞれで撮影する工程と、複数のカメラの内の第1カメラが撮影した第1画像に基づく無人航空機の第1位置と、複数のカメラの内の第2カメラが撮影した第2画像に基づく無人航空機の第2位置とを導出する工程と、導出された第1位置と第2位置とを用いてキャリブレーションが正しく行われているか否かを判定する工程と、を備える確認方法。
【選択図】図10
【特許請求の範囲】
【請求項1】
無人航空機に搭載された、撮影範囲が重ならない複数のカメラのキャリブレーションが正しく行われているか否かを確認する確認方法であって、
床面に予め定められた位置関係で配置された複数のARマーカそれぞれを前記複数のカメラそれぞれで撮影する工程と、
前記複数のカメラの内の第1カメラが撮影した第1画像に基づく前記無人航空機の第1位置と、当該複数のカメラの内の第2カメラが撮影した第2画像に基づく当該無人航空機の第2位置とを導出する工程と、
導出された前記第1位置と前記第2位置とを用いて前記キャリブレーションが正しく行われているか否かを判定する工程と、
を備える確認方法。
【請求項2】
前記判定する工程は、前記第1位置と前記第2位置との差が予め定められた所定範囲内である場合に、前記キャリブレーションが正しく行われていると判定する、
請求項1に記載の確認方法。
【請求項3】
前記第1位置及び前記第2位置は、前記床面から前記無人航空機までの高さである、
請求項1に記載の確認方法。
【請求項4】
前記導出する工程は、さらに、前記第1カメラが撮影した前記第1画像に基づく前記床面の第1姿勢と、前記第2カメラが撮影した前記第2画像に基づく当該床面の第2姿勢とを導出し、
前記判定する工程は、さらに、前記第1姿勢と前記第2姿勢とを用いて判定する、
請求項1に記載の確認方法。
【請求項5】
前記判定する工程は、前記第1姿勢を表す第1単位ベクトルと前記第2姿勢を表す第2単位ベクトルとの内積を1から減算することにより得た値が予め定められた所定値内である場合に、前記キャリブレーションが正しく行われていると判定する、
請求項4に記載の確認方法。
【請求項6】
前記判定する工程は、前記第1カメラが撮影した前記第1画像に基づく前記床面から前記無人航空機までの第1高さと、前記第2カメラが撮影した前記第2画像に基づく当該床面から当該無人航空機までの第2高さとの差が予め定められた所定範囲内であり、かつ、前記第1姿勢を表す第1単位ベクトルと前記第2姿勢を表す第2単位ベクトルとの内積を1から減算することにより得た値が予め定められた所定値内である場合に、前記キャリブレーションが正しく行われていると判定する、
請求項4に記載の確認方法。
【請求項7】
前記ARマーカは、AprilTagである、
請求項1から6のいずれか1項に記載の確認方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、確認方法に関する。
【背景技術】
【0002】
従来、例えば無人航空機に測距用のカメラが複数設けられている場合に、複数の測距用のカメラで撮影された画像を用いることで、精度よく障害物の位置を特定することができることに鑑み、特許文献1には、複数の測距用のカメラで撮影される被写体の相対位置を算出することのできる技術が提案されている。例えば、特許文献1に記載された技術は、撮影用カメラの撮影範囲と第1測距範囲との少なくとも一部が重複する第1重複領域に位置する第1被写体と、撮影範囲と第2測距範囲との少なくとも一部が重複する第2重複領域に位置する第2被写体とに基づいて、第1測距用カメラと、第2測距用カメラとの、相対位置を算出する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】WO2020/121882号
【発明の概要】
【発明が解決しようとする課題】
【0004】
第1測距範囲と重複する第1重複領域と第2測距範囲と重複する第2重複領域とを形成可能な撮影用カメラが設けられていない場合には、特許文献1に記載された技術を用いることはできない。
ここで、例えば無人航空機に設けられた複数のカメラそれぞれのキャリブレーションが精度高く行われていれば、各カメラで撮影される被写体の位置のずれは大きくない。それゆえ、複数のカメラそれぞれのキャリブレーションが正しく行われていることを確認することができれば、各カメラで撮影される被写体の位置のずれも抑制することができる。
本発明は、複数のカメラそれぞれのキャリブレーションが正しく行われているか否かを確認することができる確認方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
かかる目的のもと完成させた本発明は、無人航空機に搭載された、撮影範囲が重ならない複数のカメラのキャリブレーションが正しく行われているか否かを確認する確認方法であって、床面に予め定められた位置関係で配置された複数のARマーカそれぞれを前記複数のカメラそれぞれで撮影する工程と、前記複数のカメラの内の第1カメラが撮影した第1画像に基づく前記無人航空機の第1位置と、当該複数のカメラの内の第2カメラが撮影した第2画像に基づく当該無人航空機の第2位置とを導出する工程と、導出された前記第1位置と前記第2位置とを用いて前記キャリブレーションが正しく行われているか否かを判定する工程と、を備える確認方法である。
ここで、前記判定する工程は、前記第1位置と前記第2位置との差が予め定められた所定範囲内である場合に、前記キャリブレーションが正しく行われていると判定しても良い。
また、前記第1位置及び前記第2位置は、前記床面から前記無人航空機までの高さであっても良い。
また、前記導出する工程は、さらに、前記第1カメラが撮影した前記第1画像に基づく前記床面の第1姿勢と、前記第2カメラが撮影した前記第2画像に基づく当該床面の第2姿勢とを導出し、前記判定する工程は、さらに、前記第1姿勢と前記第2姿勢とを用いて判定しても良い。
また、前記判定する工程は、前記第1姿勢を表す第1単位ベクトルと前記第2姿勢を表す第2単位ベクトルとの内積を1から減算することにより得た値が予め定められた所定値内である場合に、前記キャリブレーションが正しく行われていると判定しても良い。
また、前記判定する工程は、前記第1カメラが撮影した前記第1画像に基づく前記床面から前記無人航空機までの第1高さと、前記第2カメラが撮影した前記第2画像に基づく当該床面から当該無人航空機までの第2高さとの差が予め定められた所定範囲内であり、かつ、前記第1姿勢を表す第1単位ベクトルと前記第2姿勢を表す第2単位ベクトルとの内積を1から減算することにより得た値が予め定められた所定値内である場合に、前記キャリブレーションが正しく行われていると判定しても良い。
また、前記ARマーカは、AprilTagであっても良い。
【発明の効果】
【0006】
本発明によれば、複数のカメラそれぞれのキャリブレーションが正しく行われているか否かを確認することができる。
【図面の簡単な説明】
【0007】
図1】確認システムの概略構成の一例を示す図である。
図2】実施形態に係る発光体の概略構成の一例を示す図である。
図3】実施形態に係る無人航空機の概略構成の一例を示す図である。
図4】制御部のブロック図の一例を示す図である。
図5】方位画像の一例を示す図である。
図6】制御部のブロック図の一例を示す図である。
図7】キャリブレーションが正しく行われているか否かを確認する際の無人航空機の姿勢の一例を示す図である。
図8】カメラとARマーカとの関係を模式的に示す図である。
図9】確認作業の手順の一例を示すフローチャートである。
図10】確認部が行う確認処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
図1は、確認システム1の概略構成の一例を示す図である。
確認システム1は、無人航空機10(図2参照)に設けられた複数のカメラであって、撮影範囲が重ならない複数のカメラ(例えば後述する第1カメラ31、第2カメラ32及び第3カメラ33)のキャリブレーションが正しく行われているか否かを確認するのに用いられるシステムである。確認システム1は、例えば、無人航空機10の生産を行う工場において、無人航空機10を組み立てた後、複数のカメラそれぞれのキャリブレーションを行った後に、キャリブレーションが正しく行われているか否かを確認するのに用いられるシステムであることを例示することができる。あるいは、無人航空機10の修理やメンテナンスを行う工場において、既に出荷された無人航空機10の複数のカメラのキャリブレーションが正しく行われているか否かを確認するのに用いられるシステムであることを例示することができる。
【0009】
確認システム1は、室内の床面1000上に設置された2つのARマーカ100である第1マーカ110と、第2マーカ120とがそれぞれ配置された第1マーカボード130と、第2マーカボード140とを有する。ARマーカ100は、特定の幾何学的特徴を有する二次元的な正方形状のマーカであり、例えば、AprilTagであることを例示することができる。
【0010】
第1マーカボード130と第2マーカボード140とは、第1マーカ110と第2マーカ120とが予め定められた間隔となるように床面1000に貼付されている。予め定められた間隔とは、キャリブレーションが正しく行われているか否かを確認する対象の複数のカメラであって、撮影範囲が重ならない複数のカメラの内の一のカメラ(例えば第1カメラ31)が第1マーカ110を撮影可能であり、かつ、同時に、複数のカメラの内の他のカメラ(例えば第2カメラ32)が第2マーカ120を撮影可能となる間隔である。なお、一のカメラと他のカメラは、それぞれ、第1マーカ110の少なくとも一部と第2マーカ120の少なくとも一部を撮影可能であれば良い。
【0011】
(無人航空機10)
図2は、無人航空機を上方から見た概略構成の一例を示す斜視図である。
図3は、無人航空機を下方から見た概略構成の一例を示す斜視図である。
図4は、無人航空機を図2のIVの方向から見た概略構成の一例を示す図である。
図5は、無人航空機の概略構成の一例を示す図である。
無人航空機10は、本体11と、無人航空機10を移動させるために駆動する駆動部12とを備える。
【0012】
本体11は、画像や映像を撮影する撮影部30と、無人航空機10に関する各種値を検出するセンサ部40とを有する。また、本体11は、センサ部40が検出した値等を用いて駆動部12や撮影部30等を制御する制御装置50と、制御装置50やセンサ部40等を保持するハウジング80とを有する。
【0013】
((駆動部12))
駆動部12は、複数のモータ21と、各々のモータ21の駆動により回転して揚力を発生させる複数のロータ22と、本体11と各々のモータ21とを接続する複数のアーム23と、モータ21に電気エネルギーを供給するバッテリ24とを備える。モータ21、ロータ22及びアーム23はそれぞれ4個設けられていることを例示することができる。ただし、4個に限定されない。例えば、3個以上の数であると良い。また、ロータ22を駆動するための駆動源としてモータ21を例示しているが、駆動源はモータ21に限定されない。例えば、駆動源は、ガソリン等の化学エネルギーを用いて駆動するエンジンであっても良い。
【0014】
((撮影部30))
撮影部30は、本体11の前部に設けられて前方を撮影する第1カメラ31と、本体11の下部に設けられて下方を撮影する第2カメラ32と、本体11の上部に設けられて上方を撮影する第3カメラ33とを備える。第1カメラ31、第2カメラ32及び第3カメラ33は、ステレオカメラであることを例示することができる。第1カメラ31、第2カメラ32及び第3カメラ33が撮影した画像は、制御装置50に出力され、無人航空機10の位置制御や、無人航空機10の周囲の物体までの距離の測定に用いられる。
【0015】
また、撮影部30は、風景や検査対象物等の写真(静止画)や映像(動画)を撮影する撮影カメラ35を有する。撮影カメラ35は、例えばロータ22の回転に起因する本体11の振動によるブレを抑制するために、ジンバル36を介して本体11に連結されている。撮影カメラ35は、モノクロカメラ、カラーカメラ、赤外線カメラであることを例示することができる
【0016】
((センサ部40))
センサ部40は、無人航空機10の飛行位置を検出する飛行位置センサ41と、無人航空機10の姿勢を検出する姿勢センサ42と、無人航空機10の向きを検出する方位センサ43と、無人航空機10の高度を検出する高度センサ44とを備える。
【0017】
飛行位置センサ41は、GPS(Global Positioning System)センサであることを例示することができる。
姿勢センサ42は、角速度を検出するジャイロセンサであることを例示することができる。
方位センサ43は、地磁気を利用して方位の情報を提供する電子コンパスであることを例示することができる。
高度センサ44は、例えば気圧センサであることを例示することができる。
【0018】
((制御装置50))
制御装置50は、装置全体を制御する制御部51と、データ等の記憶に用いられる記憶部52と、撮影部30、センサ部40等との通信に用いられるインターフェース53とを備えている。また、制御装置50は、モータ21を制御するための信号を生成する信号生成部54と、モータ21の駆動を調整するスピードコントローラ55と、通信回路56とを備えている。これら制御部51、記憶部52、インターフェース53、信号生成部54、通信回路56は、バス57にて接続されている。
【0019】
制御部51は、CPU(Central Processing Unit)51a、ROM(Read Only Memory)51b、RAM(Random Access Memory)51c等により構成される。ROM51bには、CPU51aにより実行される基本プログラム(オペレーションシステム)、アプリケーションプログラム、各種の設定等が記憶されている。CPU51aは、RAM51cを作業エリアに使用し、ROM51bや記憶部52から読み出したアプリケーションプログラムを実行することにより、無人航空機10の各部を制御する。制御部51の機能については後で詳述する。
【0020】
記憶部52は、半導体メモリやHDD(Hard Disk Drive)等の記憶装置であることを例示することができる。記憶部52は、撮影カメラ35が撮影した画像等を記憶する。また、記憶部52は、2つのARマーカ100(第1マーカ110及び第2マーカ120)のサイズや位置の情報を記憶する。
【0021】
信号生成部54は、制御部51によって演算により得られた制御指令値データを、電圧を表わすパルス信号(PWM信号等)に変換する。
スピードコントローラ55は、信号生成部54からのパルス信号を、モータ21を駆動する駆動電圧に変換する。
【0022】
通信回路56は、例えば、アンテナ(不図示)に接続されている。アンテナは、無人航空機10を操縦等するための情報や各種データを含む無線信号を受信したり、テレメトリ信号等の無線信号を無人航空機10から送信したりする。通信回路56は、アンテナを通じて受信した無線信号から、無人航空機10のための操縦信号等を復調して制御部51に入力したり、無人航空機10から出力されるテレメトリ信号等を搬送する無線信号を生成したりする。通信回路56は、無線信号処理ICであることを例示することができる。
【0023】
図6は、制御部51のブロック図の一例を示す図である。
制御部51は、画像取得部61と、無人航空機10の飛行を制御する飛行制御部62と、確認部63とを有する。
【0024】
画像取得部61は、撮影部30に撮影させる。そして、画像取得部61は、例えば撮影カメラ35が撮影した画像を記憶部52に記憶する。また、画像取得部61は、例えば第1カメラ31、第2カメラ32及び第3カメラ33が撮影した画像を飛行制御部62に出力する。
【0025】
飛行制御部62は、予め定められた飛行経路等に基づいて無人航空機10の飛行を制御する。具体的には、飛行制御部62は、センサ部40から取得した検出値等に基づいて無人航空機10の現在の位置を把握するとともに、位置が予め定められた飛行経路における目標値と一致するように、各モータ21に対する制御指令値を演算する。そして、飛行制御部62は、演算した制御指令値を、信号生成部54に出力する。
【0026】
飛行制御部62は、画像取得部61が取得した、第1カメラ31、第2カメラ32及び第3カメラ33が撮影した画像に基づいて無人航空機10の位置の変化量(速度)を演算し、飛行位置センサ41からの信号を受信できない状況においても無人航空機10の飛行制御を行う。また、飛行制御部62は、第1カメラ31、第2カメラ32及び第3カメラ33が撮影した画像を用いて、無人航空機10の周囲の物体までの距離の測定を行い、衝突を回避する。
【0027】
確認部63は、第1カメラ31、第2カメラ32及び第3カメラ33の内の、少なくとも2つのカメラのキャリブレーションが正しく行われているか否かを確認する。
以下に、第1カメラ31、第2カメラ32及び第3カメラ33のキャリブレーションが正しく行われているか否かを確認する処理(以下、「確認処理」と称する場合がある。)について詳述する。
【0028】
図7は、キャリブレーションが正しく行われているか否かを確認する際の無人航空機10の姿勢の一例を示す図である。
図8は、カメラ34とARマーカ100との関係を模式的に示す図である。
以下では、第1カメラ31、第2カメラ32及び第3カメラ33の内、キャリブレーションが正しく行われているか否かを確認する対象の2つのカメラを第1対象カメラ、第2対象カメラと称する場合がある。第1対象カメラは第1マーカ110を撮影するカメラであり、第2対象カメラは第2マーカ120を撮影するカメラである。図7に示した例においては、第1対象カメラは第1カメラ31であり、第2対象カメラは第2カメラ32である。
【0029】
以下、第1カメラ31、第2カメラ32及び第3カメラ33を区別する必要がない場合には、「カメラ34」と称する場合がある。また、第1マーカ110と第2マーカ120とを区別する必要がない場合には、「ARマーカ100」と称する場合がある。
【0030】
対象カメラは、キャリブレーション済みである。それゆえ、確認部63は、対象カメラがARマーカ100を撮影した画像に基づいて、ARマーカ100がどの位置にあるかを把握することができる。そして、確認部63は、無人航空機10の本体11における対象カメラの取り付け位置を把握しているので、予め定められた基準点(例えば無人航空機10の重心位置)から見てARマーカ100がどの位置にあるかを把握することができる。
【0031】
また、確認部63は、ARマーカ100のサイズを予め把握しているので、対象カメラが撮影した画像中のARマーカ100のサイズに基づいて、対象カメラからARマーカ100までの距離を演算できる。また、ARマーカ100のドットパターンは回転非対称になっているので、確認部63は、対象カメラが撮影した画像中のARマーカ100に基づいて、ARマーカ100の回転や傾きも含めた姿勢、言い換えれば、床面1000の姿勢を把握することができる。それゆえ、確認部63は、無人航空機10の基準点からARマーカ100までの距離を演算できるとともに、床面1000の姿勢を把握することができる。
【0032】
ここで、カメラ34とARマーカ100との位置関係は、回転行列Rと並進ベクトルtとからなる外部パラメータで表される。また、カメラ34は、自身を中心とした座標系(以下、「カメラ座標系」と称する場合がある。)を有し、ARマーカ100は、自身を中心とした座標系(以下、「マーカ座標系」と称する場合がある。)を有している。
【0033】
確認部63は、床面1000からカメラ34までの高さhを演算する。
先ず、カメラ34から床面1000に延びる垂線とカメラ34からARマーカ100に延びる線分とがなす角度θを演算する。
カメラ座標系において、マーカ座標系における床面1000に垂直であって上向きの軸(以下、「Z軸」と称する場合がある。)とは逆向きのベクトルsを、以下の式(1)を用いて演算することができる。
s=-R×u・・・(1)
Rは回転行列であり、uはZ軸方向の単位ベクトルである。
また、並進ベクトルtとベクトルsとの内積(=s×t)は、以下の式(2)のように定義される。
s×t=|s|×|t|×cosθ・・・(2)
【0034】
そして、高さhは、以下の式(3)のように定義される。
h=|t|×cosθ・・・(3)
つまり、確認部63は、上述した式(1)、式(2)、式(3)を用いて高さhを演算することができる。
【0035】
なお、ARマーカ100のドットパターンは回転非対称になっているので、確認部63は、カメラ34が撮影した画像中のARマーカ100に基づいて、ARマーカ100の姿勢を把握することができる。つまり、確認部63は、カメラ34が撮影した画像中のARマーカ100に基づいて、ARマーカ100の姿勢を表すZ軸方向の単位ベクトルuを把握することができる。
【0036】
また、確認部63は、ARマーカ100のサイズを予め把握しているので、カメラ34が撮影した画像中のARマーカ100のサイズに基づいて、カメラ34からARマーカ100までの距離を演算できる。つまり、カメラ34が撮影した画像中のARマーカ100に基づいて、|t|を演算できる。
【0037】
床面1000からカメラ34までの高さhを演算することができれば、確認部63は、無人航空機10の本体11におけるカメラ34の取り付け位置を把握しているので、床面1000から、予め定められた基準点(例えば無人航空機10の重心位置)までの高さh´を把握することができる。
【0038】
そして、本実施形態においては、確認部63は、以下の2つの条件を満足する場合に、第1対象カメラと第2対象カメラのキャリブレーションが正しく行われていると判定する。
【0039】
第1条件は、第1対象カメラが第1マーカ110を撮影した画像を用いて把握した、床面1000から基準点までの第1高さh1´と、第2対象カメラが第2マーカ120を撮影した画像を用いて把握した、床面1000から基準点までの第2高さh2´との偏差の絶対値が予め定められた所定高さよりも小さいことである。つまり、以下の式(4)を満足することである。
|h1´-h2´|<所定高さ・・・(4)
なお、所定高さは、0.005(m)であることを例示することができるが、特に限定されない。また、無人航空機10の種類や、無人航空機10に要求される周囲の物体までの距離の測定精度に応じて、所定高さを変更しても良い。
【0040】
第2条件は、第1対象カメラが第1マーカ110を撮影した画像を用いて把握したZ軸方向の第1単位ベクトルu1と、第2対象カメラが第2マーカ120を撮影した画像を用いて把握したZ軸方向の第2単位ベクトルu2との内積を、1から減算した値が、所定値よりも小さいことである。つまり、以下の式(5)を満足することである。
1-u1×u2<所定値・・・(5)
なお、所定値は、0.001であることを例示することができるが、特に限定されない。また、無人航空機10の種類や、無人航空機10に要求される周囲の物体までの距離の測定精度に応じて、所定値を変更しても良い。
【0041】
確認部63は、予め定められた確認処理の実行の指示(以下、「確認処理実行指示」と称する場合がある。)を受けた場合に、上述した確認処理を実行する。
確認処理実行指示は、本体11に設けられたUSB(Universal Serial Bus)ポートに挿入されたUSBケーブルを介して接続された検査端末500から受けることを例示することができる。検査端末500は、CPU、ROM、RAM等を有する制御部と、ユーザが操作する操作部、表示部510等を備える確認処理専用の端末であることを例示することができる。また、検査端末500は、多機能携帯電話(所謂「スマートフォン」)、ノートPC、携帯情報端末(PDA)、タブレットPC等であっても良い。確認を行う者が、例えば、検査端末500の表示部510に表示された所定のアイコン(例えば、「キャリブレーション確認処理実行」と記載されたアイコン)を押した場合に確認処理実行指示が無人航空機10に送信され、確認部63が確認処理を行う。なお、アイコンを押すとは、操作部がタッチパネルである場合には、アイコンをタッチすることであることを例示することができる。また、アイコンを押すとは、マウスにてアイコンをクリックすることであることを例示することができる。
【0042】
そして、確認部63は、確認の結果を報知する。つまり、確認部63は、キャリブレーションが正しく行われていると判定した場合には、キャリブレーションが正しく行われている旨を報知し、キャリブレーションが正しく行われていないと判定した場合には、キャリブレーションが正しく行われていない旨を報知する。以下、キャリブレーションが正しく行われている旨の報知を「合格報知」、キャリブレーションが正しく行われていない旨の報知を「不合格報知」と称する場合がある。
【0043】
合格報知及び不合格報知は、検査端末500の表示部510に表示することを例示することができる。例えば、確認部63は、合格報知を行う場合には、表示部510に「合格」と表示し、不合格報知を行う場合には、表示部510に「不合格」と表示することを例示することができる。
【0044】
また、確認処理実行指示は、無人航空機10を操縦飛行する際に使用する送信機(不図示)から受けても良い。確認を行う者が、送信機の表示部に表示された所定のアイコンを押した場合に確認処理実行指示が無人航空機10に送信され、確認部63が確認処理を行う。そして、確認部63は、合格報知及び不合格報知を、送信機の表示部に表示すると良い。
【0045】
また、確認処理実行指示は、無人航空機10に設けられた物理的な物が操作された場合に受ける態様であっても良い。確認を行う者が、例えば本体11に設けられたボタンやレバースイッチを操作することで確認処理実行指示を行っても良い。また、確認部63は、合格報知及び不合格報知を、本体11に設けられたLED(不図示)を用いて行うことを例示することができる。例えば、確認部63は、合格報知を行う場合にはLEDを青色に点灯させ、不合格報知を行う場合にはLEDを赤色に点灯させると良い。
【0046】
以下に、第1カメラ31、第2カメラ32及び第3カメラ33のキャリブレーションが正しく行われているか否かを確認する作業(以下、「確認作業」と称する場合がある。)について説明する。
確認作業は、例えば無人航空機10の生産を行う工場において、無人航空機10を組み立てた後、第1カメラ31、第2カメラ32及び第3カメラ33のキャリブレーションを行った後に行う処理である。なお、第1カメラ31、第2カメラ32及び第3カメラ33のキャリブレーションを行う方法は特に限定されず、周知の方法を用いて行えば良い。
【0047】
図9は、確認作業の手順の一例を示すフローチャートである。
確認作業を行う者は、先ず、第1カメラ31が第1マーカ110を撮影可能であるとともに、第2カメラ32が第2マーカ120を撮影可能である位置に無人航空機10を配置させる(S901)。無人航空機10を上記位置に配置させる手法は特に限定されない。例えば、専用の検査台の上に無人航空機10を載せることを例示することができる。あるいは、確認作業を行う者が手で無人航空機10を持って配置させても良い。
【0048】
次に、確認作業を行う者は、上述した手法にて確認処理実行指示を行う(S902)。これにより、確認部63が、第1カメラ31及び第2カメラ32についての確認処理を行う。
そして、確認処理の結果の報知を確認し、合格報知であるか否かを判定する(S903)。合格報知が行われた場合(S903でYES)、第1カメラ31が第1マーカ110を撮影可能であるとともに、第3カメラ33が第2マーカ120を撮影可能である位置に無人航空機10の配置を替える(S904)。無人航空機10を上記位置に配置させる手法は特に限定されない。例えば、専用の検査台の上に無人航空機10を載せることを例示することができる。あるいは、確認作業を行う者が手で無人航空機10を持って配置させても良い。
【0049】
次に、確認作業を行う者は、上述した手法にて確認処理実行指示を行う(S905)。これにより、確認部63が、第1カメラ31及び第3カメラ33についての確認処理を行う。そして、確認処理の結果の報知を確認し、合格報知であるか否かを判定する(S906)。合格報知が行われた場合(S906でYES)、確認処理を正常終了する(S907)。正常終了した場合、無人航空機10は、次工程(例えば他の検査工程、出荷工程)の処理が行われる。
【0050】
一方、S903にて確認した確認処理の結果の報知が不合格報知である場合(S903でNO)、S905の処理を行うことなく確認処理を中止する(S908)。また、S905にて確認した結果の報知が不合格報知である場合(S906でNO)、確認処理を異常終了する(S909)。確認処理を中止した場合には、例えば第1カメラ31及び第2カメラ32のキャリブレーションを再度行うことを例示することができる。また、異常終了した場合には、例えば第1カメラ31及び第3カメラ33のキャリブレーションを再度行うことを例示することができる。なお、異常終了した場合、第1カメラ31と第2カメラ32に関しては合格報知がなされていることから第3カメラ33のみキャリブレーションを再度行っても良い。
【0051】
なお、上述した確認作業の手順においては、先ず、第1カメラ31及び第2カメラ32のキャリブレーションが正しく行われているか否かを確認した後に、第1カメラ31及び第3カメラ33のキャリブレーションが正しく行われているか否かを確認しているが、順番は特に限定されない。第1カメラ31及び第3カメラ33についての確認をした後に、第1カメラ31及び第2カメラ32についての確認をしても良い。
【0052】
また、上述した確認作業の手順においては、第1カメラ31が第1マーカ110を撮影可能であり、第2カメラ32が第2マーカ120を撮影可能に配置しているが、逆に、第1カメラ31が第2マーカ120を撮影可能であり、第2カメラ32が第1マーカ110を撮影可能であるように配置しても良い。また、第1カメラ31が第1マーカ110を撮影可能であり、第3カメラ33が第2マーカ120を撮影可能であるように配置しているが、逆に、第1カメラ31が第2マーカ120を撮影可能であり、第3カメラ33が第1マーカ110を撮影可能であるように配置しても良い。
【0053】
次に、確認部63が行う確認処理ついて説明する。
図10は、確認部63が行う確認処理の手順の一例を示すフローチャートである。
確認部63は、確認処理実行指示を受信した場合に確認処理を行う。
確認部63は、先ず、第1対象カメラに撮影させるとともに、第2対象カメラに撮影させる(S1001)。第1対象カメラと第2対象カメラとの撮影は同時であっても良いし、同時でなくても良い。
【0054】
その後、確認部63は、第1対象カメラが撮影した画像を用いて第1単位ベクトルu1及び第1高さh1´を把握するとともに、第2対象カメラが撮影した画像を用いて第2単位ベクトルu2及び第2高さh2´を把握する(S1002)。
【0055】
その後、確認部63は、上述した第1条件が成立するか否かを判定する(S1003)。つまり、確認部63は、上述した式(4)を満足するか否かを判定する。そして、第1条件が成立すると判定した場合(S1003でYES)、確認部63は、上述した第2条件が成立するか否かを判定する(S1004)。つまり、確認部63は、上述した式(5)を満足するか否かを判定する。そして、第2条件が成立すると判定した場合(S1004でYES)、確認部63は、キャリブレーションが正しく行われていると判定し、合格報知を行う(S1005)。
【0056】
一方、S1003の処理において、第1条件が成立すると判定しない場合(S1003でNO)、確認部63は、キャリブレーションが正しく行われていないと判定し、不合格報知を行う(S1006)。また、S1004の処理において、第2条件が成立すると判定しない場合(S1004でNO)、確認部63は、キャリブレーションが正しく行われていないと判定し、不合格報知を行う(S1006)。
【0057】
なお、図10を用いて説明した、確認部63が行う確認処理においては、第1条件が成立すると判定し、かつ、第2条件が成立すると判定した場合に、キャリブレーションが正しく行われていると判定しているが、特にかかる態様に限定されない。例えば、第1条件が成立すると判定した場合に、第2条件の成立を判定することなく(図10のS1004の処理を行うことなく)、キャリブレーションが正しく行われていると判定しても良い。また、第1条件の成立を判定することなく(図10のS1003の処理を行うことなく)、第2条件が成立すると判定した場合に、キャリブレーションが正しく行われていると判定しても良い。ただし、第1条件が成立すると判定し、かつ、第2条件が成立すると判定した場合に、キャリブレーションが正しく行われていると判定することで、より精度高く判定することができる。
【0058】
また、図10を用いて説明した確認処理のS1002の処理においては、床面1000から基準点までの第1高さh1´を無人航空機10の第1位置の指標とし、床面1000から基準点までの第2高さh2´を無人航空機10の第2位置の指標とし、第1位置と第2位置との差が所定範囲内である場合に第1条件が成立すると判定する。ただし、無人航空機10の位置の指標は、高さに限定されない。無人航空機10の位置の指標として、無人航空機10の緯度・経度を用いても良い。また、無人航空機10の位置の指標として、高さに加えて、緯度・経度を用いても良い。なお、カメラ34が撮影したARマーカ100の少なくとも一部を含む画像を用いてARマーカ100までの位置や姿勢がわかるので、逆向きにARマーカ100から見た無人航空機10の位置や姿勢もわかる。それゆえ、確認部63は、第1対象カメラが撮影した第1マーカ110の少なくとも一部を含む画像を用いて無人航空機10の緯度・経度を把握することができ、第2対象カメラが撮影した第2マーカ120の少なくとも一部を含む画像を用いて無人航空機10の緯度・経度を把握することができる。
【0059】
以上、説明したように、確認システム1を用いて行う、撮影範囲が重ならない複数のカメラ(例えば第1カメラ31、第2カメラ32)のキャリブレーションが正しく行われているか否かを確認する確認方法は、床面1000に予め定められた位置関係で配置された複数のARマーカ100(例えば第1マーカ110、第2マーカ120)それぞれを複数のカメラそれぞれで撮影する工程(例えばS1001の処理)を有する。また、確認方法は、複数のカメラの内の第1カメラ31が撮影した第1画像(例えば第1マーカ110の少なくとも一部を含む画像)に基づく無人航空機10の第1位置と、複数のカメラの内の第2カメラ32が撮影した第2画像(例えば第2マーカ120の少なくとも一部を含む画像)に基づく無人航空機10の第2位置とを導出する工程(例えばS1002の処理)と、導出された第1位置と第2位置とを用いてキャリブレーションが正しく行われているか否かを判定する工程(例えばS1003の処理)と、を有する。
【0060】
この確認方法によれば、複数のカメラそれぞれのキャリブレーションが正しく行われているか否かを確認することができる。また、この確認方法によれば、室内の床面1000に少なくとも2つのARマーカ100それぞれが配置された2つのマーカボード(第1マーカボード130、第2マーカボード140)を設置するとともに、無人航空機10が2つのARマーカ100の情報(2つのマーカボードの情報)を記憶するだけであるので、簡易に確認することができる。また、この確認方法においては、床面1000に設置された2つのARマーカ100を撮影するので、より精度高く確認することができる。つまり、例えば、床面に設置された1つのARマーカと壁面に設置された1つのARマーカとを用いる場合には、床面と壁面とがなす角を精度高く把握しておかなければ2つのARマーカの位置関係を精度高く把握することはできないが、床面1000に設置された2つのARマーカ100を用いることで2つのARマーカ100の位置関係を精度高く把握することができる。また、室内の床面1000に設置された2つのマーカボード(第1マーカボード130、第2マーカボード140)を備える確認システム1を用いることで確認することができるので、2つのマーカボードを設置可能な床面1000を有する狭いスペースで確認作業を実施することができる。なお、床面1000にマーカボードを設置する態様は特に限定されない。例えば、床面1000上にマーカボードを置く態様であっても良いし、床面1000に埋め込む態様であっても良い。
【0061】
また、上述した確認方法の判定する工程は、第1位置と第2位置との差が予め定められた所定範囲内である場合に、キャリブレーションが正しく行われたと判定する。このように、第1カメラ31が撮影した第1画像に基づく無人航空機10の第1位置と、第2カメラ32が撮影した第2画像に基づく無人航空機10の第2位置とを比較することで、簡易かつ精度高く確認することができる。
【0062】
また、第1位置及び第2位置は、床面1000から無人航空機10までの高さであると良い。カメラ34でARマーカ100を撮影することで、床面1000から無人航空機10までの高さを容易かつ精度高く導出することができるからである。
【0063】
上述した導出する工程(例えばS1002の処理)は、さらに、第1カメラ31が撮影した第1画像に基づく床面1000の第1姿勢(例えば第1単位ベクトルu1)と、第2カメラ32が撮影した第2画像に基づく床面1000の第2姿勢(例えば第2単位ベクトルu2)とを導出し、判定する工程(例えばS1004の処理)は、さらに、第1姿勢と第2姿勢とを用いて判定する。カメラ34でARマーカ100を撮影することで、床面1000の姿勢(例えば単位ベクトルu)を簡易かつ精度高く導出することができるので、容易かつ精度高く判定することができる。
【0064】
判定する工程(例えばS1004の処理)は、第1姿勢を表す第1単位ベクトルu1と第2姿勢を表す第2単位ベクトルu2との内積を1から減算することにより得た値が予め定められた所定値内である場合に、キャリブレーションが正しく行われていると判定する。これにより、容易かつ精度高く判定することができる。
【0065】
あるいは、S1003及びS1004の処理のように、判定する工程は、第1カメラ31が撮影した第1画像に基づく床面1000から無人航空機10までの第1高さh1´と、第2カメラ32が撮影した第2画像に基づく床面1000から無人航空機10までの第2高さh2´との差が予め定められた所定範囲内であり、かつ、第1姿勢を表す第1単位ベクトルu1と第2姿勢を表す第2単位ベクトルu2との内積を1から減算することにより得た値が予め定められた所定値内である場合に、キャリブレーションが正しく行われていると判定しても良い。これにより、さらに精度高く判定することができる。
【0066】
また、ARマーカ100は、AprilTagであると良い。ARマーカ100がAprilTagであることにより、ARマーカ100の位置や姿勢、言い換えれば、床面1000の位置や姿勢を、迅速かつ精度高く取得することができる。また、AprilTagであることにより、カメラ34が撮影した画像からの特徴点の検出率が高いとともに、繰り返し可能な検出を行える。そのため、AprilTagであることにより、特に無人航空機10の生産ラインに確認作業を組み込んだとしても、滞留させることなく迅速に、かつ、精度高く確認を行うことができる。
【0067】
なお、無人航空機10の第1カメラ31、第2カメラ32及び第3カメラ33として、ステレオカメラを例示しているが、ステレオカメラに限定されない。第1カメラ31、第2カメラ32及び第3カメラ33は、単眼カメラであっても良い。
また、上述した、キャリブレーションが正しく行われているか否かの判定対象のカメラ34は、無人航空機10の周囲の物体までの距離の測定に用いられる測距用のカメラであるが、上述した確認方法は、測距用のカメラ以外のカメラのキャリブレーションが正しく行われているか否かを確認する場合にも適用可能である。
【0068】
また、上述した、確認システム1においては、1つのマーカボード(第1マーカボード130、第2マーカボード140)に、1のARマーカ100(第1マーカ110、第2マーカ120)が配置されているが、特にかかる態様に限定されない。第1マーカボード130には、第1マーカ110だけではなく、複数のARマーカ100が配置されていても良い。同様に、第2マーカボード140には、第2マーカ120だけではなく、複数のARマーカ100が配置されていても良い。1つのマーカボードに配置された複数のARマーカ100の配置位置は既知の要素であるため、キャリブレーションが正しく行われているか否かを確認する対象のカメラにて、1つのマーカボードに配置された複数のARマーカ100の内のより多くのARマーカ100を撮影することで、床面1000の姿勢をより精度高く把握することができる。
【符号の説明】
【0069】
1…確認システム、10…無人航空機、11…本体、12…駆動部、31…第1カメラ、32…第2カメラ、33…第3カメラ、34…カメラ、50…制御装置、51…制御部、61…画像取得部、62…飛行制御部、63…確認部、100…ARマーカ、110…第1マーカ、120…第2マーカ、130…第1マーカボード、140…第2マーカボード、1000…床面
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10