JP2022015978A - 無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラム - Google Patents

無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラム Download PDF

Info

Publication number
JP2022015978A
JP2022015978A JP2020119207A JP2020119207A JP2022015978A JP 2022015978 A JP2022015978 A JP 2022015978A JP 2020119207 A JP2020119207 A JP 2020119207A JP 2020119207 A JP2020119207 A JP 2020119207A JP 2022015978 A JP2022015978 A JP 2022015978A
Authority
JP
Japan
Prior art keywords
flight
marker
position information
unmanned aerial
aircraft
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020119207A
Other languages
English (en)
Inventor
裕 廣石
Yutaka Hiroishi
真 樋口
Makoto Higuchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT AT Systems Corp
Original Assignee
NTT AT Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT AT Systems Corp filed Critical NTT AT Systems Corp
Priority to JP2020119207A priority Critical patent/JP2022015978A/ja
Publication of JP2022015978A publication Critical patent/JP2022015978A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】無人航空機の自律飛行を可能とする技術を提供する。【解決手段】無人航空機1は、飛行ルートの傍らに配置された位置マーカを撮影可能な位置で自機を離陸させるステップと、撮影した位置マーカの位置情報を基に自機の基準位置を求め、上記飛行ルートの飛行中に上記基準位置からの位置ズレを推定することにより自機の現在の飛行位置を推定計算し、位置測定システムからの信号に含まれる位置情報の精度が閾値よりも低い場合、その信号の位置情報の代わりに上記推定計算した現在の飛行位置の位置情報をフライトコントローラへ送信するステップと、を行う。【選択図】図11

Description

本発明は、無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラムに関する。
無人航空機は、予め自機内に複数のウェイポイント(経由地点の緯度、経度、高度)を保持しておき、GPS(Global Positioning System)から受信したGPS信号の位置情報を基に、そのウェイポイントを経由しながら所望の飛行ルートを自律飛行する機能を備えている。
"SLAM技術による自律飛行を活用した風力発電設備向け点検サービスを開始~従来比約8倍の点検効率、点検後のデータ管理の簡易化、安全性の向上を実現~"、テラドローン株式会社、[online]、[令和2年6月24日検索]、<URL: https://www.terra-drone.net/blog/page-5860/> "PF1-Vision、FEATURE01 Visual SLAM"、株式会社自律制御システム研究所、[online]、[令和2年6月24日検索]、<URL: https://www.acsl.co.jp/products/vision/> "非SLAM屋内型ドローン自律飛行システム"、株式会社 Spiral、[online]、[令和2年6月24日検索]、<URL: https://spiral-robotics.com/product>
従来の無人航空機は、所望の飛行ルートを自律飛行する機能を備えている。しかし、GPS信号の位置情報を用いてルート飛行を行っていたため、GPS信号(位置情報)の精度が低い屋内などの飛行エリアでは自律飛行が困難であった。
この点、ロボット及び自動車の技術分野では自動運転・自律移動に関する研究が行われており、SLAM(Simultaneous Localization and Mapping)を用いることで、移動体の周囲の環境状況・環境状態を取得し、自己位置の推定と地図の生成とを同時に行う技術がある(非特許文献1,2参照)。しかし、SLAMで生成される地図内の距離の単位は現実世界の単位と異なるため、SLAMを無人航空機に適用しても現実世界内での位置を正確に把握できず、飛行ルートの自律飛行は困難である。
また、無人航空機に位置情報を提供するためのツールであるAR(Augmented Reality)マーカを壁面に貼り、無人航空機に搭載されたカメラで撮影して指示情報を受け取り、その指示情報を飛行制御に活用する技術がある(非特許文献3参照)。しかし、ARマーカの指示情報のみでは自己位置の推定ができず、無人航空機の正確な自律飛行には不十分であった。
本発明は、上記事情を鑑みてなされたものであり、本発明の目的は、GPSなどの位置測定システムから受信した信号(位置情報)の精度が低い飛行エリアであっても、無人航空機の自律飛行を可能とする技術を提供することにある。
本発明の一態様の無人航空機の制御方法は、無人航空機の制御方法において、前記無人航空機が、飛行ルートの傍らに配置された位置マーカを撮影可能な位置で自機を離陸させる第1のステップと、撮影した前記位置マーカの位置情報を基に自機の基準位置を求め、前記飛行ルートの飛行中に前記基準位置からの位置ズレを推定することにより自機の現在の飛行位置を推定計算し、位置測定システムからの信号に含まれる位置情報の精度が閾値よりも低い場合、前記信号の位置情報の代わりに前記推定計算した現在の飛行位置の位置情報をフライトコントローラへ送信する第2のステップと、を行う。
本発明の一態様の無人航空機は、自機の周囲を撮影する撮像部と、飛行ルートの傍らに配置され撮影された位置マーカの位置情報を基に自機の基準位置を求め、前記飛行ルートの飛行中に前記基準位置からの位置ズレを推定することにより自機の現在の飛行位置を推定計算し、位置測定システムからの信号に含まれる位置情報の精度が閾値よりも低い場合、前記信号の位置情報の代わりに前記推定計算した現在の飛行位置の位置情報をフライトコントローラへ送信する制御部と、を備える。
本発明の一態様の無人航空機の制御プログラムは、上記無人航空機の制御方法をコンピュータに実行させる。
本発明によれば、位置測定システムから受信した信号(位置情報)の精度が低い飛行エリアであっても、無人航空機の自律飛行を実現できる。
図1は、システム構成を示す構成図である。 図2は、無人航空機のハードウェア構成を示す構成図である。 図3は、ARマーカ情報の登録方法を示すシーケンス図である。 図4は、ARマーカとVisual SLAMとを組み合わせて行う位置情報の補正方法を示すシーケンス図である。 図5は、ARマーカとLiDAR SLAMとを組み合わせて行う位置情報の補正方法を示すシーケンス図である。 図6は、無人航空機の基準位置の決定方法を示すフロー図である。 図7は、スケーリング係数の計算方法を示すフロー図である。 図8は、SLAM座標からGPS座標への変換方法を示すフロー図である。 図9は、SLAM座標系とARマーカ座標系との相関を示す図である。 図10は、相対する座標系間の角度を示す図である。 図11は、無人航空機のルート飛行例を示す図である。 図12は、位置補正マイコンのハードウェア構成を示す構成図である。
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
[1.発明の概要]
本発明は、無人航空機及び無人航空機の制御方法に関する。本発明の目的は、位置測定システムから信号が届かない飛行エリア又は当該信号(位置情報)の精度が低い飛行エリアであっても、無人航空機の自律飛行を可能とし、位置測定システムから信号が届く飛行エリア又は当該信号(位置情報)の精度が高い飛行エリアであっても、無人航空機のより正確な自律飛行を可能とし、以って屋内や屋外における無人航空機の利用分野を拡大させることにある。例えば、GPSからGPS信号の届かない室内でも無人航空機の自律飛行が可能となるよう、GPS信号に変わる無人航空機の誘導方法を確立する。
上記目的を実現するため、本発明は、ARマーカなどの位置マーカと移動体の自己位置推定技術とを組み合わせて用いて、無人航空機のグローバル座標系での位置を推定する。移動体の自己位置推定技術については、飛行中の撮像画像を用いてSLAM又は画像内のARマーカで推定計算する方法、自機の計測センサを用いて推定計算する方法、を用いる。
例えば、第1のパターンとして、飛行ルート上の要所に設置したARマーカを無人航空機のカメラで捉えてGPS座標系での基準位置を求め、その基準位置に対してSLAMで推定計算したSLAM座標系での位置情報を適用することで、無人航空機のGPS座標系での正確な現在の飛行位置を把握し位置調整できるようにする。
例えば、第2のパターンとして、飛行ルート上の要所に設置したARマーカを無人航空機のカメラで捉えてGPS座標系での基準位置を求め、そのARマーカをカメラで捉え続けながらカメラ映像に含まれるARマーカとの相対的な位置を推定計算し、上記基準位置に対して当該推定計算した相対的な位置情報を適用することで、無人航空機のGPS座標系での正確な現在の飛行位置を把握し位置調整できるようにする。
例えば、第3のパターンとして、飛行ルート上の要所に設置したARマーカを無人航空機のカメラで捉えてGPS座標系での基準位置を求め、その基準位置に対して自機の計測センサを用いて推定計算した非GPS座標系での位置情報を適用することで、無人航空機のGPS座標系での正確な現在の飛行位置を把握し位置調整できるようにする。
具体的には、第1のパターン~第3のパターンにおいて、ARマーカが見える位置(基準位置)で自機を離陸させる。次に、SLAM又はカメラ映像内のARマーカを基に、若しくは、自機の計測センサを用いて、基準位置からの位置ズレを推定し、現在の飛行位置を推定計算する。そして、GPS信号(位置情報)の精度が低いことが想定される場合、GPS信号の位置情報の代わりに、推定計算していた位置情報を自機内のフライトコントローラへ送信する。
つまり、本発明は、位置マーカと移動体の自己位置推定技術とを用いて推定計算した無人航空機の位置情報を基に、位置測定システムからの信号を疑似することに特徴がある。これにより、例えばGPS信号を受信しにくい環境下においても、無人航空機の備える既存のルート飛行機能をそのまま利用できる。その結果、工場内などの人が容易に立ち入れないエリアであっても、無人航空機を自動で自律巡回させることができる。
[2.システム構成及び装置構成]
図1は、本実施形態に係るシステム構成を示す構成図である。このシステムは、一般にドローンと呼ばれる1つの無人航空機1と、複数のARマーカ2a~2cと、を備える。なお、図1に示すGPSは、位置測定システムの一例である。航空機、車両、船舶などの位置を測定可能なシステムであれば、任意のシステムを利用可能である。
複数のARマーカ2a~2cは、予め設定された無人航空機1の飛行ルートRの傍らに、その飛行ルートRに沿って任意の間隔で配置されている。飛行ルートRとは、複数のウェイポイントP1~P4を順に経由することで形成される無人航空機1の飛行経路である。ウェイポイントPとは、経由地点の緯度、経度、高度の組である。図1では、屋内のルート飛行を想定しており、3つのARマーカ2a~2cが、建物内の左壁面、奥壁面、右壁面に配置・設置されている。なお、ARマーカ2の個数は、1つ以上であればよい。
ARマーカ2は、無人航空機1のARマーカ座標系及びGPS座標系での位置合わせを行うために用いる位置マーカであり、自マーカを識別するID(Identity)を復号可能に変換した矩形の二値画像を備える。例えば、3つのARマーカ2a~2cには、それぞれ、ID=1を図形に変換した二値画像、ID=2を図形に変換した二値画像、ID=3を図形に変換した二値画像が紙面の表面に描画されている。なお、IDは、各ARマーカをそれぞれ識別可能であればよい。また、ARマーカ2は、位置マーカの一例である。自身の位置情報又は位置番号を一意に記録したマーカであれば、任意のマーカを利用可能である。
次に、無人航空機1について説明する。図2は、無人航空機1のハードウェア構成を示す構成図である。
無人航空機1は、従来、GPS信号の位置情報を基に無人航空機1の飛行を制御するフライトコントローラ11と、電力供給用のバッテリ12と、フライトコントローラ11からの制御信号に基づき複数のプロペラ14a~14dの回転を制御させる複数のモータ/ESC(Electric Speed Controller)13a~13dと、自機を上下方向・左右方向・斜め方向へ並進させ、自機を上下軸(図1の垂直軸)の周りで回転させる複数のプロペラ14a~14dと、GPS(Global Positioning System)からGPS信号を受信するGPS通信モジュール15と、を備える。
上記従来の構成に対し、無人航空機1は、図2に示したように、フライトコントローラ11とGPS通信モジュール15との間に位置補正マイコン21を接続する。更に、無人航空機1は、カメラ(撮像部)22と、LiDAR(Light Detection and Ranging)センサ23と、ネットワーク通信モジュール24と、を備える。
カメラ22は、単眼カメラであり、ルート飛行時に無人航空機1の周囲を撮影するために用いる。カメラ22は、位置補正マイコン21に接続されており、ルート飛行中に上空から撮影したカメラ映像(撮像画像・カメラ画像)を位置補正マイコン21へ出力する。このカメラ映像は、位置補正マイコン21でSLAM(Visual SLAM、LiDAR SLAM)を行う際に用いられる。
LiDARセンサ23は、ルート飛行時に無人航空機1の周囲の対象物にレーザ光を照射し、その反射光を観測することで当該対象物までの距離を計測するセンサである。LiDARセンサ23は、位置補正マイコン21に接続されており、ルート飛行中に計測した距離データの点群データを位置補正マイコン21へ出力する。この点群データは、位置補正マイコン21でLiDAR SLAMを行う際に用いられる。LiDAR SLAMを行わない場合、LiDARセンサ23は不要であり、LiDARセンサ23を無人航空機1の構成要素に含まなくてもよい。
ネットワーク通信モジュール24は、ユーザのユーザ端末が無人航空機1と通信を行うために用いる。ネットワーク通信モジュール24は、位置補正マイコン21、フライトコントローラ11などに接続されており、ユーザ端末から送信されたルート飛行制御用の各種データなどを位置補正マイコン21へ出力する。各種データとは、例えば、ウェイポイント情報、ARマーカ情報などである。ウェイポイント情報とは、ウェイポイントの位置情報(緯度、経度、高度の組)であり、フライトコントローラ11に記憶される。ARマーカ情報とは、ARマーカの位置情報、方位情報などであり、位置補正マイコン21に記憶される。
位置補正マイコン21について説明する。
無人航空機1は、通常、GPS信号の位置情報を参照して飛行する。つまり、フライトコントローラ11は、GPS信号の位置情報を基にルート飛行を行う。しかし、電波状況などによってGPS信号の位置情報が信頼できなくなる場合がある。そこで、位置補正マイコン21は、ARマーカとSLAMとを組み合わせて用いて無人航空機1の現在の飛行位置を推定計算し、その推定計算した位置情報でGPS信号の位置情報を補正(位置情報の更新・変更)する。
このとき、フライトコントローラ11への位置情報の未入力により自機の飛行不安定になる状況を回避するため、位置補正マイコン21は、GPS信号の信頼性又は受信状況に関係なく、飛行開始から飛行終了まで常に何らかの位置情報を送信し続ける。この何らかの位置情報とは、信頼性の低いGPS信号の位置情報、推定計算した位置情報、その他、任意の位置情報である。
また、位置補正マイコン21は、カメラ22に映ったARマーカのID、位置、方位(向き)を解析する。位置補正マイコン21は、ARマーカがカメラ22に映っていない場合、映っていないという情報を常に認識し続ける。
位置情報の推定・更新には、本実施形態では、Visual SLAM又はLiDAR SLAMを用いる。Visual SLAMとは、カメラ22のカメラ映像を基に自己位置推定と地図作成とを同時に行う技術である。LiDAR SLAMとは、カメラ22のカメラ映像及びLiDARセンサ23の距離の点群データを基に自己位置推定と地図作成とを同時に行う技術である。但し、Visual SLAM又はLiDAR SLAMは、無人航空機1の自己位置を推定する技術の一例である。無人航空機1は、Visual SLAMやLiDAR SLAMなどのSLAMを用いる代わりに、他の技術(後述の第2のパターン及び第3のパターン)を用いて自機の自己位置を推定してもよい。無人航空機1は、非GPS座標系での自己位置を推定可能な任意の自己位置推定技術を利用可能である。
上記位置情報の補正処理を実現するため、位置補正マイコン21は、図2に示したように、記憶部211と、制御部212と、を備える。
記憶部211は、ARマーカ情報を読み出し可能に記憶しておく機能を備える。ARマーカ情報とは、ARマーカ2の実サイズ、位置情報(緯度、経度、高度の組)、方位情報(GPS座標系内の基準点(真北など)に対するARマーカの表示面の向き・角度)である。
制御部212は、ARマーカ2の位置情報を基に自機の基準位置を求め、ルート飛行中に撮影しているカメラ映像や距離の点群データを用いてSLAM(Visual SLAM又はLiDAR SLAM)で当該基準位置からの位置ズレを推定することにより自機の現在の飛行位置を推定計算し、GPS信号の位置情報の精度が高い場合には、そのGPS信号の位置情報をそのままフライトコントローラ11へ送信し、GPS信号の位置情報の精度が低い場合、GPS信号の位置情報の代わりに上記推定計算した位置情報をフライトコントローラ11へ送信する機能を備える。
[3.無人航空機の動作]
[3.1.ARマーカ情報の登録方法]
無人航空機1のGPS座標系での位置合わせを行うにあたり、無人航空機1は、ARマーカがGPS座標上でどの位置に配置され、GPS座標系に対してどの方位に向いているかを予め把握しておく必要がある。そこで、それらに関するARマーカ情報の登録方法について説明する。図3は、ARマーカ情報の登録方法を示すシーケンス図である。
ステップS101;
位置補正マイコン21の制御部212は、ネットワーク通信モジュール24を介してユーザ端末から送信されたARマーカ情報に関する各種データを受信し、その各種データを基にARマーカテーブルを作成する。
ステップS102;
制御部212は、作成したARマーカテーブルを記憶部211に登録する。ARマーカテーブルには、ARマーカのID、実サイズ、位置情報、方位情報などが含まれる。ARマーカの実サイズとは、ARマーカの縦横の各実寸値である。ARマーカの位置情報とは、ARマーカの緯度、経度、高度である。ARマーカの方位情報とは、GPS座標系内の基準点(真北など)に対するARマーカ表示面の向き・角度である。例えば、地軸上の北側のある点を特定点とした場合、その特定点とARマーカの表示面の中央点とを結ぶ直線と、ARマーカの表示面と、のなす角度である。
[3.2.位置情報の補正方法]
位置補正マイコン21で行う無人航空機1の位置情報の補正方法について説明する。ARマーカとVisual SLAMとを組み合わせて行う第1補正方法と、ARマーカとLiDAR SLAMとを組み合わせて行う第2補正方法と、について、それぞれ説明する。なお、第1補正方法及び第2補正方法は、上記第2のパターン(SLAMを用いないパターン)にも流用可能である。
[3.2.1.第1補正方法]
図4は、第1補正方法を示すシーケンス図である。なお、無人航空機1は、ルート飛行中にOpen VSLAMを実行しているものとする。Open VSLAMとは、カメラ映像の画像から自己位置・姿勢推定と周囲の地図作成とを同時に行うVisual SLAMの一実装技術である。
ステップS201;
位置補正マイコン21の制御部212は、ルート飛行中にカメラ22で撮影されたカメラ映像の動画データを定期的に受信する。
ステップS202;
制御部212は、受信中の動画データに含まれるARマーカの画像を用いて、無人航空機1のGPS座標系での位置を計算して基準位置とする。また、制御部212は、その基準位置と、受信中の動画データを基にVisual SLAMで推定されているSLAM座標系の自己位置(移動距離、移動方向)と、を用いて、無人航空機1のGPS座標系での現在の飛行位置を推定計算する。
ステップS203;
制御部212は、GPS通信モジュール15を介してGPSからGPS信号を定期的に受信する。なお、制御部212は、このタイミングに限らず、常にGPS信号を受信している。
ステップS204;
制御部212は、受信中のGPS信号に含まれる位置情報の精度を判定する。例えば、制御部212は、GPS信号のUBXフォーマットに含まれるGPS機数が閾値以上である場合、GPS信号の位置情報を高精度と判定し、そのGPS機数が閾値よりも低い場合、GPS信号の位置情報を低精度と判定する。なお、制御部212は、UBXフォーマットに含まれる他のデータを用いてGPS信号の精度判定を行ってもよい。また、UBXフォーマットは、フォーマットの一例である。例えば、制御部212は、NMEA(National Marine Electronics Association)フォーマットに含まれるデータを用いてGPS信号の精度判定を行ってもよい。
ステップS205;
制御部212は、GPS信号の位置情報の精度が高い場合、GPS信号の位置情報をそのままフライトコントローラ11へ送信し、GPS信号の位置情報の精度が低い場合、GPS信号の位置情報を上記推定計算した位置情報で更新してフライトコントローラ11へ送信する。
[3.2.2.第2補正方法]
図5は、第2補正方法を示すシーケンス図である。
ステップS301;
位置補正マイコン21の制御部212は、ルート飛行中にカメラ22で撮影されたカメラ映像の動画データを定期的に受信する。
ステップS302;
制御部212は、受信中の動画データに含まれるARマーカの画像を用いて、無人航空機1のGPS座標系での位置を計算して基準位置とする。
ステップS303;
制御部212は、ルート飛行中にLiDARセンサ23で測定された周囲の各任意の対象物までの距離に関する点群データを定期的に受信する。なお、制御部212は、このタイミングに限らず、常に点群データを受信している。
ステップS304;
制御部212は、受信中の点群データを基にLiDAR SLAMで推定されているSLAM座標系の自己位置(移動距離、移動方向)を上記基準位置に適用することで、無人航空機1のGPS座標系での現在の飛行位置を推定計算する。
ステップS305;
制御部212は、GPS通信モジュール15を介してGPSからGPS信号を定期的に受信する。なお、制御部212は、このタイミングに限らず、常にGPS信号を受信している。
ステップS306;
制御部212は、受信中のGPS信号に含まれる位置情報の精度を判定する。判定方法は、第1補正方法と同様に、GPS信号内のGPS機数を閾値と比較することで行う。
ステップS307;
制御部212は、GPS信号の位置情報の精度が高い場合、GPS信号の位置情報をそのままフライトコントローラ11へ送信し、GPS信号の位置情報の精度が低い場合、GPS信号の位置情報を上記推定計算した位置情報で更新してフライトコントローラ11へ送信する。
[3.3.自機の基準位置の決定方法]
無人航空機1の基準位置の決定方法について説明する。図6は、自機の基準位置の決定方法を示すフロー図である。
ステップS401;
位置補正マイコン21の制御部212は、カメラ映像に含まれるARマーカの画像からARマーカのIDを解析し、解析したIDに対応するARマーカの実サイズ、位置情報、方位情報を記憶部211から取得する。
ステップS402;
制御部212は、ARマーカからカメラ22(≒自機)までの距離を計算する。例えば、制御部212は、ArUcoライブラリを用いて計算する。ArUcoライブラリとは、カメラ画像内からARマーカ画像を取得し、カメラからARマーカまでの距離及びカメラ画像内でのARマーカの傾きを測定するARライブラリである。ここで言う「距離」とは、現実世界の距離である。「傾き」とは、ARマーカ2の表示面とカメラ22のレンズ面とのなす角度である。ARマーカ2に対してカメラ22が転回している場合(自機の上下軸回りでの転回によりヨー角がある場合)、ARマーカ2の画像には奥行感があり、例えば矩形画像の左辺側から右辺側へ奥行方向に次第に小さくなる「傾き」を持つ。制御部212は、このような測定機能を備えるArUcoライブラリにARマーカの実サイズを指定入力することで、カメラ22(≒自機)からARマーカまでの現実の距離を得る。
ステップS403;
制御部212は、ARマーカとカメラ22との間の現実世界での距離情報、記憶部211から読み出したARマーカの位置情報及び方位情報、更には画像内でのARマーカの座標位置及び形状を用いて、カメラ22(≒自機)のGPS座標系での位置(緯度、経度、高度)を計算し、無人航空機1の基準位置とする。
ARマーカとカメラ22との間の現実世界での距離情報、ARマーカの位置情報及び方位情報(GPS座標系に対するARマーカの向き)、画像内での座標位置及び形状が得られているので、三角関数の公式を活用すれば、自機の基準位置を計算可能である。既存のライブラリを用いてもよい。
例えば、制御部212は、ArUcoライブラリの「estimatePoseSingleMarkers関数」を用いて、ARマーカの位置情報を基にカメラ22から見たARマーカ2の回転ベクトル及び並進ベクトルを得る。次に、制御部212は、ArUcoを含む画像処理ライブラリであるOpenCVの機能の備える「cv::Rodrigues関数」を用いて、得た回転ベクトルから式(1)に示す3×3の回転行列を得る。
Figure 2022015978000002
さらに、制御部212は、その回転行列に上記並進ベクトル(Tx,Ty,Tz)を加えて、式(2)に示す回転並進行列を作成する。
Figure 2022015978000003
その後、制御部212は、OpenCVの機能の備える「cv::Mat::inv関数」を用いて、上記回転並進行列の逆行列を生成する。生成した逆行列に対してARマーカの位置を掛け合わせることで、無人航空機1の基準位置を算出できる。
[3.4.位置推定計算方法(第1のパターン)]
第1のパターンでは、SLAMの備える自己位置推定技術を用いる場合について説明する。具体的には、SLAMで作成された無人航空機1のSLAM座標系での位置情報をGPS座標系での位置情報へ変換する変換方法について説明する。
[3.4.1.スケーリング]
本実施形態では、1つのカメラ22でSLAMを行う単眼SLAMを用いる。単眼SLAMの場合、カメラレンズの個数が1つであるため、単眼SLAMが作成する地図上の距離の単位は不明であり、SLAM内で進む長さと現実世界で進む長さとの単位は一致しない。そこで、SLAM内の距離単位を現実世界の距離単位に変換するためのスケーリング係数を計算する。図7は、スケーリング係数の計算方法を示すフロー図である。
ステップS501;
位置補正マイコン21の制御部212は、ルート飛行中にSLAMにより作成される仮想的な地図から、2つの地点A,Bの位置を取得する。最も単純には、例えば、制御部212は、自機の位置とARマーカの位置とを取得する。
ステップS502;
制御部212は、上記2つの地点A,Bにそれぞれ対応するARマーカ座標系における2つの地点A’,B’の位置を取得する。例えば、これまでに求めた自機の基準位置と、その基準位置の計算時に用いたARマーカの位置と、を取得する。
ステップS503;
制御部212は、SLAM座標系における地点A,B間のX軸,Y軸,Z軸の各距離と、ARマーカ座標系におけるA’,B’間のX’軸,Y’軸,Z’軸の各距離とのそれぞれの比を、SLAMと現実世界とのX軸,Y軸,Z軸の距離の比とし、いずれかの軸の距離が0にならないように、その比を基にGPS座標系へのスケーリング係数を計算する。なお、ARマーカ座標系の距離はGPS座標系(現実世界)の距離であるため、SLAM座標系からARマーカ座標系へのスケーリング係数を計算すれば十分である。
[3.4.2.SLAM座標からGPS座標への変換]
SLAM座標からGPS座標へ変換する方法について説明する。図8は、SLAM座標からGPS座標への変換方法を示すフロー図である。
ステップS601;
SLAM座標系のARマーカの方位(向き)を現実世界のGPS座標系の方位(向き)に補正するためには、SLAM座標系の方向をARマーカの座標系の方向、更には、GPS座標系の方向に合わせる必要がある。
そこで、位置補正マイコン21の制御部212は、SLAM座標系とARマーカ座標系との差異である角度を求める。その角度は、図9に示すように、ARマーカ座標系においてARマーカ2の表示面に平行なX軸と、SLAM座標系においてカメラ22のレンズ面に平行なX’軸と、の間の角度αである。
この角度αは、ARマーカ2からみたカメラ22の角度βと、カメラ22から見たARマーカ2の角度γと、の差で計算可能である(図10参考)。角度βは、カメラ画像を用いて、カメラ22から見たARマーカ2の画像の形状より推定計算する。角度γは、カメラ画像を用いて、ARマーカ2の中心座標と画像の中心座標との座標位置のズレより計算する。
ステップS602;
制御部212は、ヨー角(SLAM座標系上での傾き)から上記角度αをオフセットすることでGPS座標系での方位をARマーカ座標系での方位に変換し、変換したARマーカ座標系での方位から現実世界での方位を計算する。例えば、角度αが30度、SLAM座標系でのヨー角が10度であれば、差し引いた20度がSLAM座標系とARマーカ座標系との角度の正確な差異となる。そして、ARマーカ2の方角が真北でない場合には、SLAM座標系から上記20度の角度を除去したARマーカ座標系に対して、更に、ARマーカ座標系とGPS座標系との差異である角度を加算する。ARマーカ2の方角が真北である場合には、SLAM座標系から上記20度の角度を除去すればよい。制御部212は、ここで生成したARマーカ座標系からGPS座標系への座標変換式を保持しておく。
ステップS603;
制御部212は、SLAM上で自機が進んだ距離を求め、その距離に対して上記スケーリング係数を乗算することで、現実世界で進んだ距離を求める。
ステップS604;
制御部212は、SLAM上で自機が進んだ方位(角度)を求め、上記座標変換式を用いて、その方位を現実世界での方位に変換する。
ステップS605;
制御部212は、ステップS403で求めていた自機の基準位置から、ステップS604で求めた現実世界での方位に、ステップS603で求めた現実世界での距離分進んだ位置を求める。この位置が、無人航空機1の現実世界における現在の飛行位置となる。制御部212は、GPS信号の位置情報の精度が低いことが想定される場合、GPS信号の位置情報の代わりに、ここで計算した位置情報をフライトコントローラ11へ送信する。
なお、ある緯度・経度(基準位置)から指定された距離を進んだ地点の緯度・経度を求めるには、通常、Vincenty法が用いられる。Vincenty法とは、楕円体上の2点間の距離を計算する測地法の反復計算アルゴリズムである。しかし、このアルゴリズムは計算量が大きく、かつ、その計算は収束しない可能性がある。そこで、本実施形態では、ステップS604で求めた方位を基に、ステップS603で求めた現実世界の距離を緯度方向と経度方向とに分解し、緯度方向の距離分の位置を計算してから、経度方向の距離分の位置を更に計算する。例えば、分解計算した距離分北上してから、分解計算した距離分東進させる。
[3.5.位置推定計算方法(第2のパターン)]
第2のパターンでは、カメラ映像内のARマーカを用いる場合について説明する。
制御部212は、ARマーカをカメラで捉え続けながらカメラ映像に含まれるARマーカとの相対的な位置(距離、方位)を随時推定計算する。ARマーカとの相対的な位置は、上記「自機の基準位置の決定方法」と同じ方法で推定計算可能である。推定計算される位置は、GPS座標系での位置である。制御部212は、自機が移動する毎に、上記基準位置に対して当該推定計算した位置を適用することで、現実世界での自機の位置を得る。そして、制御部212は、GPS信号の位置情報の精度が低いことが想定される場合、GPS信号の位置情報の代わりに、ここで計算した位置情報をフライトコントローラ11へ送信する。
[3.6.位置推定計算方法(第3のパターン)]
第1のパターンでは、カメラ映像を用いてSLAMでSMAL座標系での現在の飛行位置を推定計算する方法を説明した。第2のパターンでは、ARマーカをカメラで捉え続けながらカメラ映像内のARマーカ画像を用いて現在の飛行位置を推定計算する方法を説明した。
一方、本発明は、既に説明した通り、ARマーカと移動体の自己位置推定技術とを組み合わせて用いて、無人航空機のGPS座標系での位置を推定し、GPS信号を疑似する点に特徴がある。それ故、自己位置推定技術については、カメラ映像を用いて行う自己位置推定方法に限らず、任意の自己位置推定方法を用いることができる。
そこで、第3のパターンでは、無人航空機1の備える計測センサ(図2において不図示)を用いる場合について説明する。計測センサとは、例えば、高度計、速度計、加速度計、ジャイロセンサなどである。制御部212は、ルート飛行中に計測センサから出力される各種データ(例えば、高度、速度、加速度、角速度など)を基に非GPS座標系での位置(距離、方位)を随時推定計算する。制御部212は、自機が移動する毎に、上記基準位置に対して当該推定計算した位置を適用することで、現実世界での自機の位置を得る。そして、制御部212は、GPS信号の位置情報の精度が低いことが想定される場合、GPS信号の位置情報の代わりに、ここで計算した位置情報をフライトコントローラ11へ送信する。
[3.7.自律飛行の例]
無人航空機1の自律飛行の例について説明する。図11は、無人航空機1のルート飛行例を示す図である。
ステップS701;
無人航空機1は、第1のARマーカ2aの見える位置(基準位置)で自機を離陸させる。少なくとも1つのARマーカ2がカメラ映像に含まれていればよいため、第2のARマーカ2b又は第3のARマーカ2cの見える位置で自機を離陸させてもよい。
ステップS702;
無人航空機1は、第1のARマーカ2aに関する情報と、SLAMの推定位置情報、ARマーカ画像を用いて求めた推定位置情報、又は、計測センサを用いて求めた推定位置情報と、を基に、上記基準位置からのルート飛行中の自機の位置ズレを推定し、現在の飛行位置を推定計算する。
ステップS703;
無人航空機1は、予め自機に設定された飛行ルートに従って、上記推定計算した位置情報を基に自律飛行を継続する。
ステップS704;
無人航空機1は、ルート飛行中に第2のARマーカ2bを確認した場合、第2のARマーカ2bに関する情報を基に自機の基準位置を再計算(リセット;キャリブレーション)し、再計算後の基準位置と、SLAMの推定位置情報、ARマーカ画像を用いて求めた推定位置情報、又は、計測センサを用いて求めた推定位置情報と、を基に現在の飛行位置を推定計算する。
ステップS705;
無人航空機1は、ステップS704の飛行位置を基に自律飛行を継続する。
ステップS706;
無人航空機1は、ルート飛行中に第3のARマーカ2cを確認した場合、第3のARマーカ3bに関する情報を基に自機の基準位置を再び再計算(再リセット)し、再び再計算後の基準位置と、SLAMの推定位置情報、ARマーカ画像を用いて求めた推定位置情報、又は、計測センサを用いて求めた推定位置情報と、を基に現在の飛行位置を推定計算する。
ステップS707;
無人航空機1は、予め自機に設定された飛行ルートに従って、自機を着陸させる。
[4.実施形態の効果]
本実施形態によれば、無人航空機1は、飛行ルートの傍らに配置されたARマーカを撮影可能な位置で自機を離陸させるステップと、そのARマーカの位置情報を基に自機の基準位置を求め、上記飛行ルートの飛行中に撮影しているカメラ映像を用いてSLAM、ARマーカ、又は、計測センサを用いて上記基準位置からの位置ズレを推定することにより自機の現在位置を推定計算し、GPSからのGPS信号に含まれる位置情報の精度が低い場合、そのGPS信号の位置情報の代わりに上記推定計算した位置情報をフライトコントローラへ送信するステップと、を行うので、GPS信号を受信しにくい環境下においても、無人航空機を自律飛行させることができる。すなわち、GPS信号が届かない飛行エリア又はGPS信号の精度が低い飛行エリアであっても、無人航空機の自律飛行が可能となり、GPS信号が届く飛行エリア又はGPS信号の精度が高い飛行エリアであっても、無人航空機のより正確な自律飛行が可能となる。それ故、屋内や屋外における無人航空機の利用分野を拡大させることができる。
[5.その他]
本発明は、上記実施形態に限定されない。本発明は、本発明の要旨の範囲内で数々の変形が可能である。
上記位置補正マイコン21は、例えば、図12に示すように、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ(HDD:Hard Disk Drive、SSD:Solid State Drive)903と、通信装置904と、入力装置905と、出力装置906と、を備えた汎用的なコンピュータを用いて実現できる。メモリ902及びストレージ903は、記憶装置である。当該コンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、位置補正マイコン21の各機能が実現される。
位置補正マイコン21は、1つのコンピュータで実装されてもよい。位置補正マイコン21は、複数のコンピュータで実装されてもよい。位置補正マイコン21用のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶できる。位置補正マイコン21用のプログラムは、通信ネットワークを介して配信することもできる。
1:無人航空機
2:ARマーカ
11:フライトコントローラ
12:バッテリ
13:モータ/ESC
14:プロペラ
15:GPS通信モジュール
21:位置補正マイコン
22:カメラ
23:LiDARセンサ
24:ネットワーク通信モジュール
211:記憶部
212:制御部
901:CPU
902:メモリ
903:ストレージ
904:通信装置
905:入力装置
906:出力装置

Claims (5)

  1. 無人航空機の制御方法において、
    前記無人航空機が、
    飛行ルートの傍らに配置された位置マーカを撮影可能な位置で自機を離陸させる第1のステップと、
    撮影した前記位置マーカの位置情報を基に自機の基準位置を求め、前記飛行ルートの飛行中に前記基準位置からの位置ズレを推定することにより自機の現在の飛行位置を推定計算し、位置測定システムからの信号に含まれる位置情報の精度が閾値よりも低い場合、前記信号の位置情報の代わりに前記推定計算した現在の飛行位置の位置情報をフライトコントローラへ送信する第2のステップと、
    を行う無人航空機の制御方法。
  2. 前記第2のステップでは、
    前記飛行ルートの飛行中に撮影している撮像画像を用いて前記基準位置からの位置ズレを推定する請求項1に記載の無人航空機の制御方法。
  3. 前記第2のステップでは、
    自機の計測センサを用いて前記基準位置からの位置ズレを推定する請求項1に記載の無人航空機の制御方法。
  4. 自機の周囲を撮影する撮像部と、
    飛行ルートの傍らに配置され撮影された位置マーカの位置情報を基に自機の基準位置を求め、前記飛行ルートの飛行中に前記基準位置からの位置ズレを推定することにより自機の現在の飛行位置を推定計算し、位置測定システムからの信号に含まれる位置情報の精度が閾値よりも低い場合、前記信号の位置情報の代わりに前記推定計算した現在の飛行位置の位置情報をフライトコントローラへ送信する制御部と、
    を備える無人航空機。
  5. 請求項1乃至3のいずれかに記載の無人航空機の制御方法をコンピュータに実行させる無人航空機の制御プログラム。
JP2020119207A 2020-07-10 2020-07-10 無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラム Pending JP2022015978A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020119207A JP2022015978A (ja) 2020-07-10 2020-07-10 無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020119207A JP2022015978A (ja) 2020-07-10 2020-07-10 無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラム

Publications (1)

Publication Number Publication Date
JP2022015978A true JP2022015978A (ja) 2022-01-21

Family

ID=80121430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020119207A Pending JP2022015978A (ja) 2020-07-10 2020-07-10 無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラム

Country Status (1)

Country Link
JP (1) JP2022015978A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7378564B1 (ja) 2022-05-05 2023-11-13 中国長江三峡集団有限公司 風力発電装置のスマートパトロールシステム及び方法
WO2023228283A1 (ja) * 2022-05-24 2023-11-30 株式会社センシンロボティクス 情報処理システム及び移動体、情報処理方法、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7378564B1 (ja) 2022-05-05 2023-11-13 中国長江三峡集団有限公司 風力発電装置のスマートパトロールシステム及び方法
WO2023228283A1 (ja) * 2022-05-24 2023-11-30 株式会社センシンロボティクス 情報処理システム及び移動体、情報処理方法、プログラム

Similar Documents

Publication Publication Date Title
CN107727079B (zh) 一种微小型无人机全捷联下视相机的目标定位方法
US10565732B2 (en) Sensor fusion using inertial and image sensors
EP3158293B1 (en) Sensor fusion using inertial and image sensors
EP3158417B1 (en) Sensor fusion using inertial and image sensors
Shen et al. Optical flow sensor/INS/magnetometer integrated navigation system for MAV in GPS-denied environment
EP3158411B1 (en) Sensor fusion using inertial and image sensors
CN109709801A (zh) 一种基于激光雷达的室内无人机定位系统及方法
CA2977597A1 (en) Method and apparatus for target relative guidance
US11099030B2 (en) Attitude estimation apparatus, attitude estimation method, and observation system
US20210208608A1 (en) Control method, control apparatus, control terminal for unmanned aerial vehicle
KR102239562B1 (ko) 항공 관측 데이터와 지상 관측 데이터 간의 융합 시스템
Kan et al. Development of drone capable of autonomous flight using GPS
JP2021117502A (ja) 着陸制御装置、着陸制御方法およびプログラム。
JP2022015978A (ja) 無人航空機の制御方法、無人航空機、および、無人航空機の制御プログラム
Zhang et al. Vision-based relative altitude estimation of small unmanned aerial vehicles in target localization
RU195749U1 (ru) Интеллектуальная система технического зрения беспилотного летательного аппарата для решения задач навигации, построения трехмерной карты окружающего пространства и препятствий и автономного патрулирования
US20210229810A1 (en) Information processing device, flight control method, and flight control system
JP2024032805A (ja) 航空写真を利用して三次元地図を生成する装置及びその方法
Høglund Autonomous inspection of wind turbines and buildings using an UAV
JP2021157494A (ja) 自律飛行体及び飛行制御方法
Pfingsthorn et al. Full 3D navigation correction using low frequency visual tracking with a stereo camera
Demim et al. Simultaneous localization and mapping algorithm based on 3D laser for unmanned aerial vehicle
Ready et al. Inertially aided visual odometry for miniature air vehicles in gps-denied environments
KR20220135446A (ko) 무인 비행 장치를 이용하여 eo/ir 장치의 자세를 추정하는 방법 및 시스템
Ito et al. Localization using uniaxial laser rangefinder and IMU for MAV