以下、本発明の飛行システムを適用した実施の形態について説明する。
<実施の形態1>
図1及び図2は、実施の形態1の飛行システム100を設置した橋10を示す図である。以下では、XYZ座標系を用いて説明する。XY平面は、地面1に平行であり、Z軸は鉛直方向に平行であり、高さ方向を表す。また、平面視とはXY面視することをいう。
橋10は、地面1に設置された橋脚10A、10Bと、床版(床板)10Cとを有する。床版10Cは、地面1に対して橋脚10A、10Bの高さの分だけZ軸正方向に高い位置にあり、X軸方向に幅を有し、Y軸方向に延在している。床版10Cの上面には舗装路面等が設けられており、人や車両が通行可能であるが、ここでは舗装路面等を省略し、床版10Cを示す。一例として、床版10Cの幅は、10メートルであり、床版10Cの地面1からの高さは、5メートルである。
飛行システム100は、コントローラ110、飛行体120、レーザ光源130A、130B、130C、130Dを含む。ここでは、一例として、飛行システム100を利用して、橋10の点検(特に、床版10Cの下面、主桁(図1では省略する)の側面、橋脚10A、10Bのように、人間の手が届きにくく、人間が直接的に目視しにくい部位の点検)を行う形態について説明する。
コントローラ110は、飛行体120を操縦する利用者が使用する無線操縦装置であり、飛行体120に操縦信号等を送信する無線送信機である。コントローラ110と、飛行体120に含まれる受信機と、受信機が受信する操縦信号に応じて飛行制御を行う飛行制御部と、飛行制御部によって駆動制御が行われるモータ等の駆動部とは、プロポーショナルシステムを構成する。
飛行体120は、一例としてドローンであり、無人航空機(Unmanned Aerial Vehicle: UAV)である。飛行体120は、コントローラ110から送信される操縦信号に応じて飛行する。図1及び図2では、飛行体120としてのドローンを簡略化して示す。
飛行体120には、カメラが搭載されている。飛行体120は、コントローラ110から送信される撮影信号に基づいて、カメラを操作し、静止画(写真)や動画(ビデオ)を撮影する。なお、ここでは、コントローラ110からカメラを操作する形態について説明するが、カメラの制御は、コントローラ110から行わない形態であってもよい。
また、飛行体120は、レーザ光源130A、130B、130C、130Dから照射されるレーザ光130A1、130B1、130C1、130D1を受光する受光部を有する。レーザ光130A1、130B1、130C1、130D1は、飛行体120の飛行禁止領域の境界を表すため、飛行体120は、レーザ光130A1、130B1、130C1、130D1のうちの少なくともいずれか1つを受光し、受光レベルが所定の閾値以上である場合に、ホバリング(空中静止)動作又は着陸動作を行うように構成されている。
なお、飛行禁止領域とは、コントローラ110から送信される操縦信号による飛行体120の自由な飛行を禁止する領域であり、3次元的に広がる空間である。飛行禁止領域は、橋10を通行する人間や車両等と飛行体120との接触を防ぎ、橋10を通行する人間や車両等の安全を確保するために設けられる。
レーザ光源130A、130B、130C、130Dは、すべて同一の構成を有し、レーザ光130A1、130B1、130C1、130D1を照射する。レーザ光130A1、130B1、130C1、130D1は、飛行体120の飛行禁止領域の境界を規定するために用いられるものであり、一例として、照射距離は20メートルであり、ビーム径(スポット径)は数ミリメートル程度である。このように、レーザ光130A1、130B1、130C1、130D1は、指向性が高い光線である。
レーザ光源130A、130B、130C、130Dは、回転ステージを有しており、レーザ光130A1、130B1、130C1、130D1の照射方向を平面内で1Hz程度の周期で180度振れるように構成されている。なお、光源は、例えば、He-Ne系レーザ光源を用いればよい。
レーザ光源130A、130Bは、地面1に配置される。レーザ光源130A、130BのX軸方向における位置は、床版10Cの少し外側(例えば1メートル外側)であり、Y軸方向の位置は等しい。
レーザ光源130A、130Bは、レーザ光130A1、130B1の照射方向をYZ平面内で振ることにより、床版10Cの側面方向(YZ平面方向)に沿った飛行禁止領域の境界面を生成する。
レーザ光源130C、130Dは、床版10Cの上面配置される。レーザ光源130C、130DのX軸方向における位置は、床版10CのX軸方向の両端であり、Y軸方向の位置は互いに等しく、かつ、レーザ光源130A、130BのY軸方向の位置に等しい。
レーザ光源130C、130Dは、レーザ光130C1、130D1の照射方向をXY平面内で振ることにより、床版10Cの延在方向(XY平面方向)に沿った飛行禁止領域の境界面を生成する。
このようにレーザ光130A1、130B1、130C1、130D1を照射すると、図2に示すように、X軸方向では、レーザ光130A1よりもX軸負方向側と、レーザ光130B1よりもX軸正方向側とに飛行禁止領域が設けられることになる。また、Z軸方向では、レーザ光130C1及び130D1よりもZ軸正方向側に飛行禁止領域が設けられることになる。
したがって、飛行禁止領域に該当せずに、コントローラ110の操作によって飛行体120が自由に飛行できる領域は、XZ平面内では、レーザ光130A1よりもX軸正方向側でレーザ光130C1よりもZ軸負方向側であって、かつ、レーザ光130B1よりもX軸負方向側でレーザ光130D1よりもZ軸負方向側の領域である。すなわち、床版10Cの下面側であって、橋脚10A、10Bを含む領域において、コントローラ110の操作によって飛行体120が自由に飛行できることになる。
なお、飛行禁止領域は、Y軸方向では、レーザ光130A1、130B1、130C1、130D1の照射範囲内になる。このため、上述のようにレーザ光源130A、130B、130C、130Dを1個ずつ配置する場合には、Y軸方向において飛行体120を操縦する範囲をレーザ光130A1、130B1、130C1、130D1の照射範囲内に制限すればよい。また、レーザ光源130A、130B、130C、130DをY軸方向にそれぞれ複数配置することにより、Y軸方向において飛行体120を操縦可能な範囲を長くしてもよい。
図3は、飛行体120のハードウェア構成を示す図である。図3には、飛行体120の筐体の内部又は外部に配置される主な構成要素を示す。飛行体120は、駆動部121、制御装置122、通信部123、受光部124、カメラ125、及びバッテリ126を有する。
駆動部121は、飛行体120としてのドローンのプロペラ及びモータ等である。駆動部121は、バッテリ126から電力が供給され、制御装置122から出力される制御信号に応じて駆動される。
制御装置122は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、及び内部バス等を含むコンピュータによって実現される。
制御装置122は、受光部124によってレーザ光が受信されていない場合には、通信部123が受信する操縦信号に応じて、駆動部121の駆動制御を行う。これにより、飛行体120は、飛行禁止領域以外では、操縦信号に応じて自由に飛行することができる。
また、制御装置122は、受光部124によってレーザ光(130A1、130B1、130C1、130D1のいずれか)が受信され、受光レベルが所定の閾値以上である場合に、ホバリング動作又は着陸動作を行うように駆動部121の駆動制御を行う。
通信部123は、操縦信号、及び、カメラ125の撮影信号等をコントローラ110から受信する受信装置である。通信部123は、受信した操縦信号を制御装置122に出力し、受信した撮影信号をカメラ125に出力する。また、通信部123は、操縦信号及び撮影信号以外にも、飛行体120の制御に必要な信号をコントローラ110から受信する。
なお、カメラ125が撮影する画像をコントローラ110又はコントローラ110以外のコンピュータ等に送信する場合には、通信部123は、操縦信号を受信する機能に加えて、送信機能を有する構成であればよい。この場合に、操縦信号の受信部と、画像の送信部とは別々の装置であってもよい。
受光部124は、レーザ光(130A1、130B1、130C1、130D1のいずれか)を受信する受光素子を含む。レーザ光130A1、130B1、130C1、130D1は、識別子を有さず、識別することはできないため、受光部124は、レーザ光130A1、130B1、130C1、130D1のいずれか1つ又は2つを受信する。受光部124は、レーザ光を受信すると、受信したことと、受光レベル(受光量)とを表す受光信号を制御装置122に出力する。
カメラ125は、飛行体120の筐体に固定されており、通信部123がコントローラ110から受信する撮影信号に基づいて、静止画(写真)や動画(ビデオ)を撮影する。
バッテリ126は、駆動部121、制御装置122、通信部123、受光部124、カメラ125に電力を供給する。
図4は、制御装置122の構成を示す図である。制御装置122は、主制御部122A、飛行制御部122B、飛行制御部122C、出力部122D、及びメモリ122Eを有する。制御装置122は、主制御部122A、飛行制御部122B、飛行制御部122C、出力部122Dは、制御装置122が実行するプログラムの機能(ファンクション)を機能ブロックとして示したものである。また、メモリ122Eは、制御装置122のメモリを機能的に表したものである。
主制御部122Aは、制御装置122の処理を統括し、飛行制御部122B、飛行制御部122C、出力部122Dが行う処理以外の処理を行う処理部である。
飛行制御部122Bには、通信部123が受信する操縦信号が入力される。飛行制御部122Bは、操縦信号に応じて駆動部121を駆動する駆動制御信号を出力する。飛行制御部122Bは、第1飛行制御部の一例である。
飛行制御部122Bが出力する駆動制御信号は、受光部124がレーザ光を受信していない場合、又は、受光部124がレーザ光を受信しているが受光レベルが所定の閾値未満である場合に、出力部122Dから駆動部121に出力される。このため、飛行体120は、受光部124がレーザ光を受信していない場合、又は、受光レベルが所定の閾値未満である場合に、操縦信号に応じて自由に飛行することができる。
飛行制御部122Cには、受光部124から受光信号が入力される。飛行制御部122Cは、受光信号が入力され、受光レベルが所定の閾値以上である場合に、駆動部121にホバリング動作用又は着陸動作用の駆動制御信号を出力する。飛行制御部122Cは、第2飛行制御部の一例である。
飛行制御部122Cが出力する駆動制御信号は、受光部124がレーザ光を受信し、受光レベルが所定の閾値以上である場合に、出力部122Dから駆動部121に出力される。このため、飛行体120は、受光部124が受光したレーザ光の受光レベルが所定の閾値以上である場合には、操縦信号に応じた自由な飛行を行うことはできず、代わりに強制的にホバリング動作又は着陸動作を行うことになる。
なお、ホバリング動作又は着陸動作のいずれを行うかは、コントローラ110の操作によって予め設定できるように構成されており、設定内容はメモリ122Eに格納される。ホバリング動作を行うホバリングモード、又は、着陸動作を行う着陸モードのいずれかに設定する設定信号は、コントローラ110から送信されると、通信部123によって受信され、主制御部122Aによってメモリ122Eに格納に格納される。
また、ホバリングモードによって飛行体120がホバリングしているときに、コントローラ110の操作でホバリングモードを解除できるように構成されている。ホバリングモードによって飛行体120がホバリングしているときに、利用者がコントローラ110でホバリングモードを解除する操作を行い、かつ、飛行体120を操縦する操作を開始すると、コントローラ110は、ホバリングモードを解除する解除信号を出力する。
この結果、飛行体120の通信部123によって解除信号が受信され、飛行制御部122Cは、ホバリングを行うための駆動制御信号の出力を停止し、出力部122Dは、飛行制御部122Bが出力する駆動制御信号を駆動部121に出力する。
すなわち、飛行体120は、コントローラ110から受信する操縦信号によって自由に操縦可能な状態になる。
出力部122Dは、受光部124から受光信号が入力されていないとき、又は、受光信号が入力されていても受光レベルが所定の閾値未満のときには、飛行制御部122Bから出力される駆動制御信号を駆動部121に出力する。また、出力部122Dは、受光部124から受光信号が入力され、受光レベルが所定の閾値以上の場合には、飛行制御部122Cから出力される駆動制御信号を駆動部121に出力する。
メモリ122Eは、主制御部122A、飛行制御部122B、飛行制御部122C、出力部122Dが制御処理を行う際に必要なプログラムやデータ等を格納するとともに、ホバリング動作を行うホバリングモード、又は、着陸動作を行う着陸モードのいずれかを設定する設定信号を格納する。メモリ122Eは、これら以外にも、制御装置122の動作に必要なデータ等を格納する。
図5は、制御装置122が実行する処理を示すフローチャートである。図5では、飛行制御部122Bによる操縦信号に応じた駆動制御信号の生成処理は省略し、飛行制御部122Cによるホバリング動作用又は着陸動作用の駆動制御信号の生成処理を示す。
飛行制御部122Cは、飛行制御部122Bによる操縦信号に応じた駆動制御信号の生成処理が行われているときに処理を開始する(スタート)。
飛行制御部122Cは、受光部124から受光信号が入力されたかどうかを判定する(ステップS1)。なお、飛行制御部122Cは、受光信号が入力されていない(S1:NO)と判定すると、ステップS1の処理を繰り返し実行する。
飛行制御部122Cは、受光信号が入力された(S1:YES)と判定すると、受光信号が表す受光量が所定の閾値以上であるかどうかを判定する(ステップS2)。なお、飛行制御部122Cは、受光量が所定の閾値以上ではない(S2:NO)と判定すると、ステップS2の処理を繰り返し実行する。
飛行制御部122Cは、受光量が所定の閾値以上である(S2:YES)と判定すると、ホバリングモードが設定されているかどうかを判定する(ステップS3)。
飛行制御部122Cは、ホバリングモードが設定されている(S3:YES)と判定すると、ホバリングモードに移行し、ホバリング用の駆動制御信号を出力する(ステップS4)。
飛行制御部122Cは、ホバリングモードを解除する解除信号を受信したかどうかを判定する(ステップS5)。飛行制御部122Cは、解除信号を受信するまでステップS5の処理を繰り返し実行する。なお、コントローラ110から解除信号が出力される際には、コントローラ110で飛行体120を操縦するための操作が行われているものとする。
飛行制御部122Cは、解除信号を受信した(S5:YES)と判定すると、ホバリング用の駆動制御信号の出力を停止する(ステップS6)。なお、ステップS6の処理を終了すると、飛行制御部122Cは、フローをステップS1にリターンさせる。
飛行制御部122Cは、ステップS3において、ホバリングモードが設定されていない(S3:NO)と判定すると、着陸モードに移行し、飛行体120を着陸させる駆動制御信号を出力する(ステップS7)。これにより飛行体120は、自動的に着陸する。
飛行制御部122CがステップS7の処理を実行して飛行体120が着陸すると、主制御部122Aは、一連の処理を終了する(エンド)。この状態で、飛行体120は着陸している。
以上で説明したように、実施の形態1では、飛行体120が飛行禁止領域に入ると、コントローラ110から送信される操縦信号による飛行制御の代わりに、ホバリング動作又は着陸動作を行う飛行制御を行う。これは、飛行体120が飛行禁止領域に入ると、操縦信号による飛行制御は行われなくなり、強制的にホバリング動作又は着陸動作が行われることを意味する。
すなわち、飛行体120は、飛行禁止領域に入ると、即座にその地点でホバリングするか、又は、その地点から直ちに着陸することになる。飛行禁止領域内での自由な飛行を禁止し、橋10を通行する人間や車両の安全性を確保するためである。
したがって、安全性の高い飛行システム100を提供することができる。
また、実施の形態1では、レーザ光源130A、130B、130C、130Dからそれぞれ照射されるレーザ光130A1、130B1、130C1、130D1を利用して、飛行禁止領域を設定する。
レーザ光130A1、130B1、130C1、130D1によって規定される飛行禁止領域は、境界の位置を正確に設定することができ、また、飛行体120は、飛行禁止領域を正確に判別することができる。すなわち、レーザ光130A1、130B1、130C1、130D1によって規定される飛行禁止領域は、設定する際の位置精度が非常に高く、飛行体120が非常に高い位置精度で判別することができる。
また、飛行体120は、飛行禁止領域に入ると、強制的にホバリングモード又は着陸モードに切り替えられる。
したがって、飛行禁止領域を高精度に検出して飛行可能であるとともに、高い安全性を確保した飛行システム100、及び、飛行体120を提供することができる。
なお、以上では、橋10の周りに飛行システム100を設置し、橋10の点検等に飛行システム100を用いる形態について説明した。しかしながら、飛行システム100は、橋10に限らず、様々な場所の様々な施設において利用することができる。
また、以上では、制御装置122について、飛行体120の飛行制御を行う飛行制御部122B、飛行制御部122C、出力部122Dを分けて説明したが、飛行制御部122B、飛行制御部122C、出力部122Dを1つの飛行制御部として取り扱ってもよい。
<実施の形態2>
図6及び図7は、実施の形態2の飛行システム200を設置した橋10を示す図である。実施の形態2では、実施の形態1と同様の構成要素には同一符号を付し、その説明を省略する。
飛行システム200は、コントローラ110、飛行体220、送信機230A、230B、送信機240A、240Bを含む。ここでは、一例として、飛行システム200を利用して、橋10の点検(特に、床版10Cの側面及び下面や橋脚10A、10Bのように、人間の手が届きにくく、人間が直接的に目視しにくい部位の点検)を行う形態について説明する。
コントローラ110は、飛行体220を操縦する利用者が使用する無線操縦装置であり、飛行体220に操縦信号等を送信する無線送信機である。
飛行体220は、一例としてドローンであり、レーザ光の代わりに送信機230A、230B、送信機240A、240Bから送信されるビーコン信号に基づいて飛行可能領域と飛行禁止領域を判別する点が実施の形態1の飛行体120と異なる。その他の構成は、実施の形態1の飛行体120と同様である。
飛行体220は、飛行可能領域の内部にいるときに、コントローラ110から受信する操縦信号に応じて飛行する。また、飛行体220は、飛行禁止領域の内部にいるときに、ホバリング(空中静止)動作又は着陸動作を行うように構成されている。また、飛行体220は、飛行可能領域から逸脱すると、ホバリング(空中静止)動作又は着陸動作を行うように構成されている。
飛行体220が飛行可能領域の内部にいることは、ビーコン信号のID(Identifier:識別子)が飛行可能領域であることを示し、かつ、受信レベルが所定の閾値以上であることによって判別することができる。
また、飛行体220が飛行禁止領域の内部にいることは、ビーコン信号のIDが飛行禁止領域であることを示し、かつ、受信レベルが所定の閾値以上であることによって判別することができる。
なお、飛行可能領域とは、コントローラ110から送信される操縦信号による飛行体220の自由な飛行が許可される領域であり、三次元的に広がる空間である。
送信機230A、230Bは、橋10の下の地面1に配置される。送信機230A、230Bは、近距離通信用の送信機であり、一例としてBluetooth(登録商標)用の送信機である。Bluetooth用の送信機は、ビーコン信号を定期的に繰り返し出力する。
送信機230A、230Bは、飛行可能領域230A1、230B1を生成するために用いられる。飛行可能領域230A1、230B1は、送信機230A、230Bから送信されるビーコン信号の信号レベルが所定値以上の領域であり、この所定値は、飛行体220が飛行可能領域230A1、230B1の内部にいるかどうかを判定する際の判定閾値として用いられる。
送信機230A、230Bが送信(出力)するビーコン信号は、飛行可能領域230A1、230B1内での操縦信号に応じた自由な飛行を許可する許可信号の一例であり、送信機230A、230Bは、許可信号出力部の一例である。
飛行体220は、送信機230A、230Bから送信されるビーコン信号のIDに基づいて、飛行可能領域230A1、230B1であることを識別し、受信レベルが上述の所定値に対応する所定の閾値以上であれば、飛行可能領域230A1、230B1内を飛行していると判定する。
送信機230A、230Bから送信されるビーコン信号が到達する領域は、送信機230A、230Bを中心とした球状の領域であるが、送信機230A、230Bは地面1に配置されるため、飛行可能領域230A1、230B1は半球状の領域である。
送信機230A、230BのX軸方向における位置は、床版10CのX軸方向の幅の中央である。送信機230A、230Bは、Y軸方向に互いの飛行可能領域230A1、230B1が重複する間隔を隔てて配置されている。飛行可能領域230A1、230B1は、橋脚10A、10Bと、床版10Cの下面及び主桁の側面を含めばよいが、ここでは橋10全体を覆うように構成されている。飛行可能領域230A1、230B1のサイズは、送信機230A、230Bの出力で決定される。
送信機240A、240Bは、床版10Cの上に配置される。送信機240A、240Bは、それぞれ、飛行禁止領域240A1、240B1を生成するために用いられる。飛行禁止領域240A1、240B1は、送信機240A、240Bから送信されるビーコン信号の信号レベルが所定値以上の領域であり、この所定値は、飛行体220が飛行禁止領域240A1、240B1の内部にいるかどうかを判定する際の判定閾値として用いられる。
ここで、送信機240Aは、2つ設けられているが、2つの送信機240Aが出力するビーコン信号のIDは互いに異なる。同様に、送信機240Bは、2つ設けられているが、2つの送信機240Bが出力するビーコン信号のIDは互いに異なる。
送信機240A、240Bが送信(出力)するビーコン信号は、飛行禁止領域240A1、240B1内での飛行体220の飛行を禁止する禁止信号の一例であり、送信機240A、240Bは、禁止信号を出力する出力部の一例である。
飛行体220は、送信機240A、240Bから送信されるビーコン信号のIDに基づいて、飛行禁止領域240A1、240B1であることを識別し、受信レベルが上述の所定値に対応する所定の閾値以上であれば、飛行禁止領域240A1、240B1内を飛行していると判定する。
送信機240A、240BのX軸方向における位置は、床版10CのX軸方向の両端である。送信機240A、240Bは、2個ずつ配置されており、Y軸方向の位置は、2個の送信機230A、230Bに等しい。
飛行禁止領域240A1、240B1は、それぞれ、床版10Cの両端からX軸負方向側、X軸正方向側に延在している。送信機240A、240Bは、指向性を有しており、飛行禁止領域240A1、240B1のZ軸方向の拡がりが、XY平面方向の拡がりに比べて抑えられている。
送信機240A、240Bの出力は、飛行禁止領域240A1が飛行可能領域230A1、230B1よりもX軸負方向に延在し、飛行禁止領域240B1が飛行可能領域230A1、230B1よりもX軸正方向に延在するように設定される。
ここで、図6及び図7に加えて、図8を用いて説明する。図8は、送信機240Aの構成を示す図である。送信機240A、240Bは、互いに等しい構成を有するため、図8には送信機240Aを示す。
送信機240Aは、送信部241Aとシールド242Aを有する。送信部241Aは、近距離通信用の送信機であり、一例としてBluetooth用の送信機である。送信部241Aから送信されるビーコン信号は、送信機240Aから送信されるビーコン信号である。飛行体220は、送信機240Aから送信されるビーコン信号のIDに基づいて、飛行禁止領域240A1であることを識別する。
シールド242Aは、飛行禁止領域240A1に指向性を持たせるために設けられており、2枚の矩形状の金属板242A1、242A2を1つの端辺に沿って蝶番242A3で接合した構成を有する。金属板242A1、242A2は蝶番242A3で接合されているため、金属板242A1、242A2のなす角度を調整可能である。
送信部241Aは、金属板242A1、242A2の間に配置されており、2枚の金属板242A1、242A2の間から放射する。シールド242Aの金属板242A1、242A2の間に配置されなければ、送信部241Aから送信されるビーコン信号が到達する領域は、送信部241Aを中心とした球状の領域である。
しかしながら、送信部241Aは、金属板242A1、242A2の間に配置されるため、ビーコン信号は、金属板242A1、242A2が開いている方向に送信される。このため、飛行禁止領域240A1は、半球体を金属板242A1、242A2のなす角度の分にだけ切り取ったような形状になる。
送信機240Aは、金属板242A1、242A2が開いている方向がX軸負方向になるように、床版10Cの上面に配置されるため、飛行禁止領域240A1は、図6及び図7に示すように、送信機240Aから、Z軸方向の幅が狭くXY平面に沿うように、かつ、平面視で送信機240Aを中心に扇形にX軸負方向側に180度に拡がっている。
また、送信機240Bは、金属板242A1、242A2に相当する2枚の金属板が開いている方向がX軸正方向になるように、床版10Cの上面に配置されるため、飛行禁止領域240B1は、図6及び図7に示すように、送信機240Bから、Z軸方向の幅が狭くXY平面に沿うように、かつ、平面視で送信機240Bを中心に扇形にX軸正方向側に180度に拡がっている。
送信機240Bから送信されるビーコン信号のIDは、送信機240Aから送信されるビーコン信号のIDとは異なるため、飛行体220は、送信機240Bから送信されるビーコン信号のIDに基づいて、飛行禁止領域240B1であることを識別する。
また、上述のように、2つの送信機240Bが出力するビーコン信号のIDは互いに異なるため、飛行体220は、2つの送信機240Bのうちのいずれによって生成される飛行禁止領域240A1であるかを識別することができる。
このような送信機230A、230Bと送信機240A、240Bとを用いると、図6及び図7に示すように、橋10の下側から見ると、床版10Cの高さと略等しい高さに飛行禁止領域240A1、240B1を設けることによって、床版10Cの下側の飛行可能領域230A1、230B1に、蓋をしたような構成になっている。
したがって、床版10Cの下側の飛行可能領域230A1、230B1では、橋脚10A、10Bを含む領域において、コントローラ110の操作によって飛行体220が自由に飛行できることになる。
また、飛行体220が橋10の下側の飛行可能領域230A1、230B1から床版10Cの側面側に飛行しても、飛行禁止領域240A1又は240B1に入らなければ、コントローラ110の操作によって飛行体220が自由に飛行できることになる。
このため、橋脚10A、10Bや床版10Cの下面及び主桁の側面を点検することができる。
また、飛行体220が橋10の下側の飛行可能領域230A1、230B1の内部でX軸方向において床版10Cよりも外側に飛行し、さらに上昇して飛行禁止領域240A1又は240B1に入ると、飛行体220は、ホバリング動作又は着陸動作を行う。このため、飛行体220が床版10Cの上面よりも高い位置に飛行することはできず、橋10を通行する人間や車両の安全を確保することができる。
また、飛行禁止領域240A1、240B1よりも下側で、飛行体220が飛行可能領域230A1、230B1から逸脱すると、ホバリング動作又は着陸動作を行う。また、飛行体220が床版10Cよりも上側の飛行可能領域230A1、230B1から逸脱すると、ホバリング動作又は着陸動作を行う。
図9は、飛行体220のハードウェア構成を示す図である。図9には、飛行体220の筐体の内部又は外部に配置される主な構成要素を示す。飛行体220は、駆動部121、制御装置222、通信部123、受信機224、カメラ125、及びバッテリ126を有する。
飛行体220は、制御装置122の代わりに制御装置222を有する点と、受光部124(図3参照)の代わりに受信機224を有する点とが実施の形態1の飛行体120と異なる。
制御装置222は、実施の形態1の制御装置122と同様のコンピュータによって実現される。
制御装置222は、送信機230A及び230Bのうちの少なくともいずれか一方から送信されるビーコン信号の受信レベルが所定の閾値以上であり、かつ、送信機240A及び240Bから送信されるビーコン信号の受信レベルが所定の閾値未満である場合には、通信部123が受信する操縦信号に応じて、駆動部121の駆動制御を行う。これにより、飛行体220は、飛行可能領域230A1又は230B1において、操縦信号に応じて自由に飛行することができる。
また、制御装置222は、送信機240A及び240Bのいずれか一方から送信されるビーコン信号の受信レベルが所定の閾値以上である場合には、ホバリング動作又は着陸動作を行うように駆動部121の駆動制御を行う。
また、制御装置222は、送信機230A及び230Bから送信されるビーコン信号の受信レベルが所定の閾値未満であり、かつ、送信機240A及び240Bから送信されるビーコン信号の受信レベルが所定の閾値未満である場合には、ホバリング動作又は着陸動作を行うように駆動部121の駆動制御を行う。
受信機224は、送信機230A、230Bと送信機240A、240Bからビーコン信号を受信し、受信したビーコン信号のIDと受信レベルとを表すデータを制御装置222に出力する。受信機224は、ビーコン信号を受信すると、ビーコン信号に含まれるIDを読み出すとともに、受信レベルを計算する。
なお、IDは、送信機230A、230B、及び、2個ずつ送信機240A、240Bの各々に割り当てられる固有の識別子である。すなわち、送信機230A、230B、2個の送信機240A、及び2個の送信機240Bの合計で6個の送信機のIDは互いに異なる。
図10は、制御装置222の構成を示す図である。制御装置222は、主制御部222A、飛行制御部222B、飛行制御部222C、出力部222D、及びメモリ222Eを有する。制御装置222は、主制御部222A、飛行制御部222B、飛行制御部222C、出力部222Dは、制御装置222が実行するプログラムの機能(ファンクション)を機能ブロックとして示したものである。また、メモリ222Eは、制御装置222のメモリを機能的に表したものである。
主制御部222Aは、制御装置222の処理を統括し、飛行制御部222B、飛行制御部222C、出力部222Dが行う処理以外の処理を行う処理部である。
飛行制御部222Bには、通信部123が受信する操縦信号が入力されるとともに、送信機230A又は230Bから送信されるビーコン信号が入力される。
飛行制御部222Bは、操縦信号に応じて駆動部121を駆動する駆動制御信号を出力する。飛行制御部222Bは、第1飛行制御部の一例である。
飛行制御部222Bが出力する駆動制御信号は、受信機224が送信機230A又は230Bから受信するビーコン信号の受信レベルが所定の閾値以上である場合に、出力部222Dから駆動部121に出力される。
このため、飛行体220は、飛行可能領域230A1又は230B1の内部にいる場合に、操縦信号に応じて自由に飛行することができる。
また、飛行制御部222Bは、送信機230A又は230Bから送信されるビーコン信号の受信レベルが所定の閾値未満の場合には、操縦信号を利用せずに(無視して)、ホバリング動作又は着陸動作を行うように駆動部121の駆動制御を行う。この場合に、駆動部121にホバリング動作用又は着陸動作用の駆動制御信号が出力部222Dから駆動部121に出力される。
また、飛行制御部222Bは、ホバリング動作を解除する解除信号が入力されてホバリング動作を解除した場合に、操縦信号に応じて駆動部121を駆動する駆動制御信号を出力する。
飛行制御部222Cには、送信機240A又は240Bから送信されるビーコン信号が入力される。
飛行制御部222Cは、送信機240A及び240Bのいずれか一方から送信されるビーコン信号の受信レベルが所定の閾値以上である場合に、駆動部121にホバリング動作用又は着陸動作用の駆動制御信号を出力する。飛行制御部222Cは、第2飛行制御部の一例である。
飛行制御部222Cが出力する駆動制御信号は、送信機240A及び240Bのいずれか一方から送信されるビーコン信号の受信レベルが所定の閾値以上である場合に、出力部222Dから駆動部121に出力される。
このため、飛行体220は、飛行禁止領域240A1又は240B1の内部にいる場合には、操縦信号に応じた自由な飛行を行うことはできず、代わりに強制的にホバリング動作又は着陸動作を行うことになる。
また、飛行制御部222Cは、ホバリング動作を解除する解除信号が入力されてホバリング動作を解除した場合に、操縦信号に応じて駆動部121を駆動する駆動制御信号を出力する。
出力部222Dは、送信機230A又は230Bから送信されるビーコン信号の受信レベルが所定の閾値以上であって、かつ、送信機240A及び240Bから送信されるビーコン信号の受信レベルが所定の閾値未満である場合に、飛行制御部222Bで操縦信号に基づいて生成される駆動制御信号を駆動部121に出力する。
また、出力部222Dは、送信機230A及び230Bから送信されるビーコン信号の受信レベルが所定の閾値未満であって、かつ送信機240A及び240Bから送信されるビーコン信号の受信レベルが所定の閾値未満である場合に、飛行制御部222Bから出力されるホバリング動作又は着陸動作を行うための駆動制御信号を駆動部121に出力する。
また、出力部222Dは、送信機240A及び240Bのいずれか一方から送信されるビーコン信号の受信レベルが所定の閾値以上である場合に、飛行制御部222Cから出力されるホバリング動作又は着陸動作を行うための駆動制御信号を駆動部121に出力する。
メモリ222Eは、主制御部222A、飛行制御部222B、飛行制御部222C、出力部222Dが制御処理を行う際に必要なプログラムやデータ等を格納するとともに、ホバリング動作を行うホバリングモード、又は、着陸動作を行う着陸モードのいずれかを設定する設定信号を格納する。メモリ222Eは、これら以外にも、制御装置222の動作に必要なデータ等を格納する。
図11は、制御装置222が飛行領域の判定処理に用いる領域テーブルデータを示す図である。領域テーブルデータは、メモリ222Eに格納されている。
領域テーブルデータは、ID、領域の種類、及び閾値を関連付けたデータである。IDは、送信機230A、230B及び送信機240A、240Bが出力するビーコン信号のIDである。IDは、SG01~SG06があり、SG01は、送信機230Aに割り当てられており、SG02は、送信機230Bに割り当てられている。SG03、SG04は、2つの送信機240Aにそれぞれ割り当てられており、SG05、SG06は、2つの送信機240Bにそれぞれ割り当てられている。
領域の種類は、飛行可能領域(230A1、230B1)又は飛行禁止領域(240A1、240B1)のいずれであるかを表し、飛行可能領域を1で表し、飛行禁止領域を0で表す。
閾値は、ビーコン信号の信号レベルに基づいて、飛行体220が飛行可能領域(230A1、230B1)又は飛行禁止領域(240A1、240B1)の内部にいるかどうかを判定する際に用いる判定閾値であり、一例としてdB単位の値を示す。
図12は、制御装置222の飛行制御部222Bが実行する処理を示すフローチャートである。
飛行制御部222Bは、処理をスタートすると、受信機224からビーコン信号のIDと受信レベルを取得する(ステップS11)。処理をスタートするのは、飛行体220の電源がオンにされたときである。
飛行制御部222Bは、メモリ222Eから領域テーブルデータを読み出し、ステップS11で取得したビーコン信号のIDが領域テーブルデータに含まれる(存在する)かどうかを判定する(ステップS12)。
飛行制御部222Bは、取得したビーコン信号のIDが領域テーブルデータに含まれる(S12:YES)と判定すると、取得したビーコン信号のIDに対応する領域の種類が飛行可能領域であるかどうかを判定する(ステップS13)。
飛行制御部222Bは、飛行可能領域である(S13:YES)と判定すると、ステップS11で取得したビーコン信号の信号レベルが、取得したビーコン信号のIDに対応する判定閾値以上であるかどうかを判定する(ステップS14)。
飛行制御部222Bは、判定閾値以上である(S14:YES)と判定すると、コントローラ110から受信する操縦信号に応じた駆動制御信号を生成する(ステップS15)。
ステップS15の処理が終了すると、主制御部222Aは、フローを終了するかどうか判定する(ステップS15A)。フローを終了するのは、飛行体220の電源がオフにされたときである。主制御部222Aは、フローを終了しない(S15A:NO)と判定すると、フローをステップS11にリターンさせる。
また、飛行制御部222Bは、ステップS14において、判定閾値以上ではない(S14:NO)と判定すると、ホバリングモードが設定されているかどうかを判定する(ステップS16)。
飛行制御部222Bは、ホバリングモードが設定されている(S16:YES)と判定すると、ホバリングモードに移行し、ホバリング用の駆動制御信号を出力する(ステップS17)。
飛行制御部222Bは、ホバリングモードを解除する解除信号を受信したかどうかを判定する(ステップS18)。飛行制御部222Bは、解除信号を受信するまでステップS18の処理を繰り返し実行する。なお、コントローラ110から解除信号が出力される際には、コントローラ110で飛行体220を操縦するための操作が行われているものとする。
飛行制御部222Bは、解除信号を受信した(S18:YES)と判定すると、ホバリング用の駆動制御信号の出力を停止し、操縦信号に応じた駆動制御信号を生成する(ステップS19)。ステップS19において、ホバリング用の駆動制御信号の出力を停止してから、操縦信号に応じた駆動制御信号を生成するのは、飛行可能領域から逸脱してホバリングしている状態から、ホバリングを停止した後に、飛行可能領域に復帰できるようにするためである。
なお、ステップS19の処理を終了すると、飛行制御部222Bは、フローをステップS11にリターンさせる。
飛行制御部222Bは、ステップS16において、ホバリングモードが設定されていない(S16:NO)と判定すると、着陸モードに移行し、飛行体220を着陸させる駆動制御信号を出力する(ステップS20)。これにより飛行体220は、自動的に着陸する。
飛行制御部222BがステップS20の処理を実行して飛行体220が着陸すると、主制御部222Aは、フローを終了するかどうか判定する(ステップS15A)。フローを終了するのは、飛行体220の電源がオフにされたときである。主制御部222Aは、フローを終了しない(S15A:NO)と判定すると、フローをステップS11にリターンさせる。
また、主制御部222Aは、フローを終了する(S15A:YES)と判定すると、一連の処理を終了する(エンド)。
以上のように、飛行体220が飛行可能領域230A1又は230B1の内部にいるときは、飛行制御部222Bは、コントローラ110から受信する操縦信号に応じた駆動制御信号を生成し、出力部222Dから出力される。この結果、飛行体220は、コントローラ110の操縦に従って飛行する。
また、飛行体220が飛行可能領域230A1及び230B1から逸脱すると、飛行制御部222Bは、コントローラ110から受信する操縦信号に応じた駆動制御信号を生成せずに、ホバリング動作又は着陸動作を行うための駆動制御信号を生成し、出力部222Dから出力される。この結果、飛行体220は、強制的にホバリング動作又は着陸動作を行う。飛行可能領域230A1及び230B1から逸脱した場合に、橋10を通行する人間や車両等の安全を確保するためである。
なお、飛行制御部222Bは、ステップS12において、取得したビーコン信号のIDが領域テーブルデータに含まれない(S12:NO)と判定すると、フローをステップS11にリターンする。
また、飛行制御部222Bは、ステップS13において、飛行可能領域ではない(S13:NO)と判定すると、フローをステップS11にリターンする。
図13は、制御装置222の飛行制御部222Cが実行する処理を示すフローチャートである。
飛行制御部222Cは、処理をスタートすると、受信機224からビーコン信号のIDと受信レベルを取得する(ステップS21)。処理をスタートするのは、飛行体220の電源がオンにされたときである。
飛行制御部222Cは、メモリ222Eから領域テーブルデータを読み出し、ステップS21で取得したビーコン信号のIDが領域テーブルデータに含まれるかどうかを判定する(ステップS22)。
飛行制御部222Cは、取得したビーコン信号のIDが領域テーブルデータに含まれる(S22:YES)と判定すると、取得したビーコン信号のIDに対応する領域の種類が飛行禁止領域であるかどうかを判定する(ステップS23)。
飛行制御部222Cは、飛行禁止領域である(S23:YES)と判定すると、ステップS21で取得したビーコン信号の信号レベルが、取得したビーコン信号のIDに対応する判定閾値以上であるかどうかを判定する(ステップS24)。
飛行制御部222Cは、判定閾値以上である(S24:YES)と判定すると、ホバリングモードが設定されているかどうかを判定する(ステップS25)。
飛行制御部222Cは、ホバリングモードが設定されている(S25:YES)と判定すると、ホバリングモードに移行し、ホバリング用の駆動制御信号を出力する(ステップS26)。
飛行制御部222Cは、ホバリングモードを解除する解除信号を受信したかどうかを判定する(ステップS27)。飛行制御部222Cは、解除信号を受信するまでステップS27の処理を繰り返し実行する。なお、コントローラ110から解除信号が出力される際には、コントローラ110で飛行体220を操縦するための操作が行われているものとする。
飛行制御部222Cは、解除信号を受信した(S27:YES)と判定すると、ホバリング用の駆動制御信号の出力を停止し、操縦信号に応じた駆動制御信号を生成する(ステップS28)。ステップS28において、ホバリング用の駆動制御信号の出力を停止してから、操縦信号に応じた駆動制御信号を生成するのは、飛行禁止領域でホバリングしている状態から、ホバリングを停止した後に、飛行可能領域に復帰できるようにするためである。
なお、ステップS28の処理を終了すると、飛行制御部222Cは、フローをステップS21にリターンさせる。
飛行制御部222Cは、ステップS25において、ホバリングモードが設定されていない(S25:NO)と判定すると、着陸モードに移行し、飛行体220を着陸させる駆動制御信号を出力する(ステップS29)。これにより飛行体220は、自動的に着陸する。
飛行制御部222CがステップS29の処理を実行して飛行体220が着陸すると、主制御部222Aは、フローを終了するかどうか判定する(ステップS29A)。フローを終了するのは、飛行体220の電源がオフにされたときである。主制御部222Aは、フローを終了しない(S29A:NO)と判定すると、フローをステップS21にリターンさせる。
また、主制御部222Aは、フローを終了する(S15A:YES)と判定すると、一連の処理を終了する(エンド)。この状態で、飛行体220は着陸している。
以上のように、飛行体220が飛行禁止領域240A1又は240B1の内部にいるときは、飛行制御部222Cは、ホバリング動作又は着陸動作を行うための駆動制御信号を生成し、出力部222Dから出力される。この結果、飛行体220は、強制的にホバリング動作又は着陸動作を行う。橋10を通行する人間や車両等の安全を確保するためである。
なお、飛行制御部222Cは、ステップS22において、取得したビーコン信号のIDが領域テーブルデータに含まれない(S22:NO)と判定すると、フローをステップS21にリターンする。
また、飛行制御部222Cは、ステップS23において、飛行禁止領域ではない(S23:NO)と判定すると、フローをステップS21にリターンする。
飛行制御部222Cは、ステップS24において、判定閾値以上ではない(S24:NO)と判定すると、フローをステップS21にリターンする。
図14は、制御装置222の出力部222Dが実行する処理を示すフローチャートである。
出力部222Dは、処理をスタートすると、受信機224からビーコン信号のIDと受信レベルを取得する(ステップS31)。ここで、受信機224は、複数のビーコン信号を受信している場合がある。なお、処理をスタートするのは、飛行体220の電源がオンにされたときである。
例えば、飛行可能領域230A1と飛行禁止領域240A1とが重複している領域内を飛行体220が飛行している場合には、送信機230A及び240Aから送信される2つのビーコン信号を受信することになる。また、飛行可能領域230A1、230B1及び飛行禁止領域240A1、240B1の外部を飛行体220が飛行している場合に、受信レベルは低くても、複数のビーコン信号を受信することが有り得る。
出力部222Dは、メモリ222Eから領域テーブルデータを読み出し、ステップS31で取得した1又は複数のビーコン信号のIDが領域テーブルデータに含まれるかどうかを判定する(ステップS32)。
出力部222Dは、取得した1又は複数のビーコン信号のIDが領域テーブルデータに含まれる(S32:YES)と判定すると、取得した1又は複数のビーコン信号のIDに対応する領域の種類に、飛行禁止領域が含まれるかを判定する(ステップS33)。
ステップS33では、複数のビーコン信号を受信した場合には、1つでも飛行禁止領域に対応するビーコン信号が含まれていれば、受信レベルを判定すべく、ステップS34に進行するようにしている。飛行禁止領域を飛行している場合には、即座にホバリング動作又は着陸動作に移行させるためである。
出力部222Dは、飛行禁止領域が含まれる(S33:YES)と判定すると、飛行禁止領域に対応するビーコン信号の信号レベルが、領域テーブルデータで対応する判定閾値以上であるかどうかを判定する(ステップS34)。
出力部222Dは、判定閾値以上である(S34:YES)と判定すると、飛行制御部222Cによって生成されるホバリング動作又は着陸動作を行うための駆動制御信号を駆動部121に出力する(ステップS35)。
出力部222Dは、ステップS35で出力している駆動制御信号がホバリング動作であるかどうかを判定する(ステップS35A)。
出力部222Dは、ホバリング動作である(S35A:YES)と判定すると、ホバリングモードを解除する解除信号を受信したかどうかを判定する(ステップS35B)。出力部222Dは、解除信号を受信するまでステップS35Bの処理を繰り返し実行する。
出力部222Dは、解除信号を受信した(S35B:YES)と判定すると、ホバリング用の駆動制御信号の出力を停止し、飛行制御部222Cによって操縦信号に応じて生成される駆動制御信号を駆動部121に出力する(ステップS35C)。飛行禁止領域でホバリングしている状態から、ホバリングを停止した後に、飛行可能領域に復帰できるようにするためである。
ステップS35Cの処理が終了すると、主制御部222Aは、フローを終了するかどうか判定する(ステップS35D)。フローを終了するのは、飛行体220の電源がオフにされたときである。主制御部222Aは、フローを終了しない(S35D:NO)と判定すると、フローをステップS31にリターンさせる。
また、主制御部222Aは、フローを終了する(S35D:YES)と判定すると、一連の処理を終了する(エンド)。
なお、出力部222DがステップS35Aにおいてホバリング動作ではない(S35A:NO)と判定した場合は、主制御部222Aは、フローをステップS35Dに進行させる。
また、出力部222Dは、ステップS33において、飛行禁止領域が含まれない(S33:NO)と判定すると、取得した1又は複数のビーコン信号のIDに対応する領域の種類が飛行可能領域であるかどうかを判定する(ステップS36)。
ここで、ステップS31で取得したビーコン信号が複数ある場合には、ステップS36では、複数のビーコン信号のすべてが飛行可能領域のものであるかどうかを判定すればよい。
出力部222Dは、飛行可能領域である(S36:YES)と判定すると、ステップS31で取得した1又は複数のビーコン信号の信号レベルが、領域テーブルデータで対応する判定閾値以上であるかどうかを判定する(ステップS37)。
ここで、ステップS31で取得したビーコン信号が複数ある場合には、複数のビーコン信号の信号レベルが、それぞれ、領域テーブルデータで対応する判定閾値以上であるかどうかを判定する。
出力部222Dは、判定閾値以上である(S37:YES)と判定すると、飛行制御部222Bによって操縦信号に応じて生成される駆動制御信号を駆動部121に出力する(ステップS38)。
ここで、ビーコン信号が複数ある場合には、いずれか1つのビーコン信号の信号レベルが判定閾値以上であれば、ステップS38に進行してよい。
なお、出力部222Dは、ステップS36において飛行可能領域ではない(S36:NO)と判定した場合は、フローをステップS31にリターンさせる。
また、出力部222Dは、ステップS37において判定閾値以上ではない(S37:NO)と判定した場合は、飛行制御部222Bによって生成されるホバリング動作又は着陸動作を行うための駆動制御信号を駆動部121に出力する(ステップS39)。
飛行体220が飛行可能領域から逸脱しているため、安全確保のためにホバリング動作又は着陸動作を行わせるものである。また、飛行体220は飛行禁止領域の内部にはいないため、飛行制御部222Bによって生成されるホバリング動作又は着陸動作を行うための駆動制御信号で駆動部121を駆動する。
ここで、ビーコン信号が複数ある場合には、ステップS36では、すべてのビーコン信号が飛行可能領域のものであるかどうかを判定するため、1つでも飛行可能領域のものではないと判定された場合には、ステップS31にリターンすることになる。飛行禁止領域でも飛行可能領域でもないと判定された領域であるからである。
出力部222Dは、ステップS39で出力した駆動制御信号がホバリング動作であるかどうかを判定する(ステップS39A)。
出力部222Dは、ホバリング動作である(S39A:YES)と判定すると、ホバリングモードを解除する解除信号を受信したかどうかを判定する(ステップS39B)。出力部222Dは、解除信号を受信するまでステップS39Bの処理を繰り返し実行する。
出力部222Dは、解除信号を受信した(S39B:YES)と判定すると、ホバリング用の駆動制御信号の出力を停止し、フローをステップS38に進行させる。この結果、ステップS38において、飛行制御部222Bによって操縦信号に応じて生成される駆動制御信号が駆動部121に出力される。飛行禁止領域でホバリングしている状態から、ホバリングを停止した後に、飛行可能領域に復帰できるようにするためである。
また、出力部222DがステップS39Bにおいて解除信号を受信していない(S39B:NO)と判定すると、主制御部222Aは、フローをステップS35Dに進行させる。
また、出力部222Dは、ステップS34において判定閾値以上ではない(S34:NO)と判定すると、ステップS31で取得したビーコン信号が複数あり、飛行禁止領域に対応するビーコン信号以外のビーコン信号のIDに対応する領域の種類が飛行可能領域であるかどうかを判定する(ステップS40)。
ここで、飛行禁止領域に対応するビーコン信号以外のビーコン信号が複数ある場合には、ステップS40では、すべてが飛行可能領域に対応するビーコン信号を受信であるかどうかを判定すればよい。
出力部222Dは、飛行可能領域である(S40:YES)と判定すると、飛行可能領域に対応するビーコン信号の信号レベルが、領域テーブルデータで対応する判定閾値以上であるかどうかを判定する(ステップS41)。
ここで、飛行可能領域に対応するビーコン信号が複数ある場合には、いずれか1つのビーコン信号の信号レベルが判定閾値以上であるかどうかを判定すればよい。
出力部222Dは、判定閾値以上である(S41:YES)と判定すると、飛行制御部222Bによって操縦信号に応じて生成される駆動制御信号を駆動部121に出力する(ステップS42)。
なお、出力部222Dは、ステップS40において飛行可能領域ではない(S40:NO)と判定した場合は、フローをステップS31にリターンさせる。
また、出力部222Dは、ステップS41において判定閾値以上ではない(S41:NO)と判定した場合は、飛行制御部222Bによって生成されるホバリング動作又は着陸動作を行うための駆動制御信号を駆動部121に出力する(ステップS43)。
飛行体220が飛行可能領域から逸脱しているため、安全確保のためにホバリング動作又は着陸動作を行わせるものである。また、飛行体220は飛行禁止領域の内部にはいないため、飛行制御部222Bによって生成されるホバリング動作又は着陸動作を行うための駆動制御信号で駆動部121を駆動する。
出力部222Dは、ステップS43で出力した駆動制御信号がホバリング動作であるかどうかを判定する(ステップS43A)。
出力部222Dは、ホバリング動作である(S43A:YES)と判定すると、ホバリングモードを解除する解除信号を受信したかどうかを判定する(ステップS43B)。出力部222Dは、解除信号を受信するまでステップS43Bの処理を繰り返し実行する。
出力部222Dは、解除信号を受信した(S43B:YES)と判定すると、ホバリング用の駆動制御信号の出力を停止し、フローをステップS42に進行させる。この結果、ステップS42において、飛行制御部222Bによって操縦信号に応じて生成される駆動制御信号が駆動部121に出力される。飛行禁止領域でホバリングしている状態から、ホバリングを停止した後に、飛行可能領域に復帰できるようにするためである。
また、出力部222DがステップS43Bにおいて解除信号を受信していない(S43B:NO)と判定すると、主制御部222Aは、フローをステップS35Dに進行させる。なお、出力部222DがステップS38、S42の処理を終えると、主制御部222Aは、フローをステップS35Dに進行させる。
以上のように、飛行体220が飛行可能領域230A1又は230B1の内部にいるときは、出力部222Dは、飛行制御部222Bによって生成される駆動制御信号を駆動部121に出力する。この結果、飛行体220は、コントローラ110の操縦に従って飛行する。
また、飛行体220が飛行可能領域230A1及び230B1から逸脱すると、出力部222Dは、飛行制御部222Bによって生成されるホバリング動作又は着陸動作を行うための駆動制御信号を駆動部121に出力する。この結果、飛行体220は、強制的にホバリング動作又は着陸動作を行う。飛行可能領域230A1及び230B1から逸脱した場合に、橋10を通行する人間や車両等の安全を確保するためである。
また、飛行体220が飛行禁止領域240A1又は240B1の内部にいるときは、出力部222Dは、飛行制御部222Cによって生成されるホバリング動作又は着陸動作を行うための駆動制御信号を駆動部121に出力する。この結果、飛行体220は、強制的にホバリング動作又は着陸動作を行う。橋10を通行する人間や車両等の安全を確保するためである。
なお、飛行制御部222Bは、ステップS32において、取得したビーコン信号のIDが領域テーブルデータに含まれない(S32:NO)と判定すると、フローをステップS31にリターンする。
以上で説明したように、実施の形態2では、飛行体220が飛行禁止領域240A1又は240B1に入ると、コントローラ110から送信される操縦信号による飛行制御の代わりに、ホバリング動作又は着陸動作を行う飛行制御を行う。これは、飛行体220が飛行禁止領域240A1又は240B1に入ると、操縦信号による飛行制御は行われなくなり、強制的にホバリング動作又は着陸動作が行われることを意味する。
すなわち、飛行体220は、飛行禁止領域に入ると、即座にその地点でホバリングするか、又は、その地点から直ちに着陸することになる。飛行禁止領域内での自由な飛行を禁止し、橋10を通行する人間や車両の安全性を確保するためである。
したがって、安全性の高い飛行システム200を提供することができる。
また、飛行体220が飛行可能領域230A1又は230B1から逸脱すると、コントローラ110から送信される操縦信号による飛行制御の代わりに、ホバリング動作又は着陸動作を行う飛行制御を行う。
飛行可能領域230A1又は230B1から出た場合においても、橋10を通行する人間や車両の安全性を確保するために、飛行禁止領域240A1又は240B1に入った場合と同様に、強制的にホバリング動作又は着陸動作に切り替えるためである。
したがって、安全性の高い飛行システム200を提供することができる。
また、送信機230A、230B、240A、240Bによる飛行可能領域230A1、230B1、飛行禁止領域240A1、240B1は、ビーコン信号の出力と、飛行体220側の判定閾値を適切に設定することにより、領域の境界の位置を正確に設定できる。また、飛行体220は、飛行禁止領域240A1、240B1を正確に判別することができる。
すなわち、送信機230A、230B、240A、240Bによって生成される飛行可能領域230A1、230B1、飛行禁止領域240A1、240B1は、設定する際の位置精度が非常に高く、飛行体220が非常に高い位置精度で判別することができる。
また、飛行体220は、飛行可能領域230A1、230B1から逸脱した場合と、飛行禁止領域240A1、240B1に入った場合に、強制的にホバリングモード又は着陸モードに切り替えられる。
したがって、飛行禁止領域を高精度に検出して飛行可能であるとともに、高い安全性を確保した飛行システム200、及び、飛行体220を提供することができる。
なお、以上では、ビーコン信号のIDと受信レベルを用いて飛行禁止領域又は飛行可能領域であることを判定したが、さらに、ビーコン信号を受信した時間を考慮して判定するようにしてもよい。
例えば、一時的に送信機230A、230B、240A、240Bの送信強度が低下したような場合に、受信レベルだけで判定すると誤判定が生じるおそれがあるような場合には、次のようにすればよい。例えば、ステップS34、S37、S41において、受信レベルが所定値以上であるか、又は、受信時間が所定の閾値以上であるか、どちらかの条件を満たせば、YESと判定するようにすればよい。
その場合には、図15のような領域テーブルデータを用いればよい。図15は、実施の形態2の変形例による領域テーブルデータを示す図である。一例として、IDがSG01、SG02のビーコン信号に対して、受信時間の閾値が200ミリ秒(ms)に設定されており、IDがSG03、SG04のビーコン信号に対して、受信時間の閾値が100ミリ秒(ms)に設定されている。
また、複数のビーコン信号を受信する場合に、複数の閾値を用いて判定を行ってもよい。例えば、ステップS34において、飛行禁止領域以外の領域に対応するビーコン信号についても、受信レベルの閾値を設け、飛行禁止領域に対応するビーコン信号と、飛行禁止領域以外の領域に対応するビーコン信号とが、それぞれの閾値以上である場合に、ステップS34の判定をYESにするようにしてもよい。
また、ステップS37及びS41において、複数のビーコン信号を受信している場合には、複数のビーコン信号に対して閾値を設定しておいて判定を行うようにしてもよい。
また、以上では、送信機230A、230B、240A、240Bとして、Bluetoothのビーコン信号を送信する送信機を用いる形態について説明したが、受信信号に基づいてID等で送信機を識別することができるのであれば、これ以外の近距離無線通信用の送信機を利用してもよい。
また、以上では、飛行システム200が送信機240A、240Bを含み、飛行禁止領域240A1、240B1を利用して飛行体220の飛行範囲を制限する形態について説明した。しかしながら、飛行システム200は、送信機240A、240Bを含まずに、飛行可能領域だけで飛行体220の飛行範囲を制限してもよい。橋10の上における人間や車両の通行を妨げないように飛行可能領域を設定すればよい。
また、以上では、送信機240A、240Bがシールド242Aを有する形態について説明したが、シールド242Aを設けずに、図16及び図17に示すような構成にしてもよい。
また、以上では、橋10の周りに飛行システム200を設置する形態について説明したが、飛行システム200は、橋10に限らず、様々な場所の様々な施設において利用することができる。図16及び図17は、実施の形態2の変形例による飛行システム200Mを示す図である。
飛行システム200Mは、コントローラ110、飛行体220、送信機230A、230B、送信機240-1~240-6を含む。飛行システム200Mは、飛行システム200の送信機240A、240Bを送信機240-1~240-6に置き換えたものである。
送信機240-1~240-6は、床版10CのX軸方向の両端において、Y軸方向に沿って、配置されている。送信機240-1~240-6は、床版10Cに取り付けられたポール(支柱)の上端に取り付けられている。
送信機240-1~240-6が出力するビーコン信号によって生成される飛行禁止領域は、球形である。図17には、送信機240-3及び240-6が生成する飛行禁止領域240-3A及び240-6Aを示す。飛行禁止領域240-3A及び240-6Aは、XZ面視で、床版10Cの両側で飛行可能領域230A1を上下に分断するようになっている。
このような飛行システム200Mにおいても、飛行システム200と同様に、高い安全性を確保しつつ、飛行体220を用いて橋10の点検を行うことができる。
<実施の形態3>
図18は、実施の形態3の飛行システム300を設置した橋10を示す図である。以下では、実施の形態1の飛行システム100と同様の構成要素には同一符号を付し、その説明を省略する。
図18には、橋10の橋脚10A、床版10C、及び橋桁10Dを示す。橋桁10Dは、床版10Cの下面側に位置する。
飛行システム300は、コントローラ110と飛行体320を含む。
飛行体320は、一例としてドローンであり、無人航空機である。飛行体320は、コントローラ110から送信される操縦信号に応じて飛行する。飛行体320には、カメラが搭載されている。飛行体320は、コントローラ110から送信される撮影信号に基づいて、カメラを操作し、静止画(写真)や動画(ビデオ)を撮影する。
また、飛行体320は、GPS信号を受信していないときにはコントローラ110からの操縦信号に応じて飛行し、GPS信号を受信すると、ホバリング(空中静止)動作又は着陸動作を行うように構成されている。GPS信号を受信しない領域は、床版10Cの下側であり、床版10Cの陰になる領域である。床版10Cの陰になる領域とは、床版10Cの真下の領域であり、平面視では床版10Cと重複する領域である。
床版10Cの陰にならない領域では、GPS信号を遮るものがないため、飛行体320は、GPS信号を受信可能である。実施の形態3では、GPS信号を受信しない床版10Cの陰になる領域を飛行可能領域とし、GPS信号を受信する領域を飛行禁止領域として利用する。実施の形態3では、GPS信号は、測位に用いるのではなく、受信するか受信しないかの判定に用いているだけである。このため、GPS信号を受信するか受信しないかを判別することにより、飛行可能領域と飛行禁止領域を高精度に判別できる。
なお、GPS信号を受信しているか受信しないかは、GPS信号を安定的に受信しているか受信しないかという意味である。GPS信号を安定的に受信している状態とは、GPS衛星の捕捉数が所定数以上である状態であり、所定数未満であるときは安定的ではないこととする。GPS衛星の捕捉数は、GPS受信部324から入力される受信データに含まれるGPS衛星のIDの数によって表される。所定数は、一例として4個である。
図19は、飛行体320のハードウェア構成を示す図である。図19には、飛行体320の筐体の内部又は外部に配置される主な構成要素を示す。飛行体320は、駆動部121、制御装置322、通信部123、GPS受信部324、カメラ125、及びバッテリ126を有する。
制御装置322は、CPU、RAM、ROM、及び内部バス等を含むコンピュータによって実現される。
制御装置322は、GPS受信部324によってGPS信号が受信されていない場合には、通信部123が受信する操縦信号に応じて、駆動部121の駆動制御を行う。このため、飛行体320は、GPS信号が届かない領域では、操縦信号に応じて自由に飛行することができる。
また、制御装置322は、GPS受信部324によってGPS信号が受信されると、ホバリング動作又は着陸動作を行うように駆動部121の駆動制御を行う。
GPS受信部324は、GPSアンテナを含み、GPS衛星から出力されるGPS信号を受信する。GPS受信部324は、GPS信号のIDと、信号レベルとを表す受信データを制御装置322に出力する。GPS信号のIDは、GPS衛星毎に割り振られているIDである。
図20は、制御装置322の構成を示す図である。制御装置322は、主制御部322A、飛行制御部322B、飛行制御部322C、出力部322D、及びメモリ322Eを有する。制御装置322は、主制御部322A、飛行制御部322B、飛行制御部322C、出力部322Dは、制御装置322が実行するプログラムの機能(ファンクション)を機能ブロックとして示したものである。また、メモリ322Eは、制御装置322のメモリを機能的に表したものである。
主制御部322Aは、制御装置322の処理を統括し、飛行制御部322B、飛行制御部322C、出力部322Dが行う処理以外の処理を行う処理部である。
飛行制御部322Bには、通信部123が受信する操縦信号が入力される。飛行制御部322Bは、操縦信号に応じて駆動部121を駆動する駆動制御信号を出力する。飛行制御部322Bは、第1飛行制御部の一例である。
飛行制御部322Bが出力する駆動制御信号は、GPS受信部324がGPS信号を受信していない場合、又は、GPS受信部324がGPS信号を受信しているが信号レベルが所定の閾値未満である場合に、出力部322Dから駆動部121に出力される。このため、飛行体320は、GPS受信部324がGPS信号を受信していない場合、又は、信号レベルが所定の閾値未満である場合に、操縦信号に応じて自由に飛行することができる。
飛行制御部322Cには、GPS受信部324からGPS信号のIDと信号レベルを表す受信データが入力される。飛行制御部322Cは、受信データが入力され、信号レベルが所定の閾値以上である場合に、駆動部121にホバリング動作用又は着陸動作用の駆動制御信号を出力する。飛行制御部322Cは、第2飛行制御部の一例である。
飛行制御部322Cが出力する駆動制御信号は、GPS受信部324がGPS信号を受信し、信号レベルが所定の閾値以上である場合に、出力部322Dから駆動部121に出力される。このため、飛行体320は、GPS受信部324が受光したGPS信号の信号レベルが所定の閾値以上である場合には、操縦信号に応じた自由な飛行を行うことはできず、代わりに強制的にホバリング動作又は着陸動作を行うことになる。
なお、ホバリング動作又は着陸動作のいずれを行うかは、コントローラ110の操作によって予め設定できるように構成されており、設定内容はメモリ322Eに格納される。ホバリング動作を行うホバリングモード、又は、着陸動作を行う着陸モードのいずれかに設定する設定信号は、コントローラ110から送信されると、通信部123によって受信され、主制御部322Aによってメモリ322Eに格納に格納される。
また、ホバリングモードによって飛行体320がホバリングしているときに、コントローラ110の操作でホバリングモードを解除できるように構成されている。ホバリングモードによって飛行体320がホバリングしているときに、利用者がコントローラ110でホバリングモードを解除する操作を行い、かつ、飛行体320を操縦する操作を開始すると、コントローラ110は、ホバリングモードを解除する解除信号を出力する。
この結果、飛行体320の通信部123によって解除信号が受信され、飛行制御部322Cは、ホバリングを行うための駆動制御信号の出力を停止し、出力部322Dは、飛行制御部322Bが出力する駆動制御信号を駆動部121に出力する。すなわち、飛行体320は、コントローラ110から受信する操縦信号によって自由に操縦可能な状態になる。
出力部322Dは、GPS受信部324から受信データが入力されていないとき、又は、受信データが入力されていても信号レベルが所定の閾値未満のときには、飛行制御部322Bから出力される駆動制御信号を駆動部121に出力する。また、出力部322Dは、GPS受信部324から受信データが入力され、信号レベルが所定の閾値以上の場合には、飛行制御部322Cから出力される駆動制御信号を駆動部121に出力する。
メモリ322Eは、主制御部322A、飛行制御部322B、飛行制御部322C、出力部322Dが制御処理を行う際に必要なプログラムやデータ等を格納するとともに、ホバリング動作を行うホバリングモード、又は、着陸動作を行う着陸モードのいずれかを設定する設定信号を格納する。メモリ322Eは、これら以外にも、制御装置322の動作に必要なデータ等を格納する。
図21は、制御装置322が実行する処理を示すフローチャートである。図21では、飛行制御部322Bによる操縦信号に応じた駆動制御信号の生成処理は省略し、飛行制御部322Cによるホバリング動作用又は着陸動作用の駆動制御信号の生成処理を示す。
制御装置322は、制御処理に安定受信フラグを用いる。安定受信フラグは、GPS受信部324が、安定的にGPS衛星を捕捉しているかどうかを表すフラグであり、安定的にGPS衛星を捕捉している状態で1に設定され、安定的にGPS衛星を捕捉していない状態で0に設定されている。
ここでは一例として、GPS衛星の捕捉数が4以上であるときに安定的であることとし、4未満であるときは安定的ではないこととする。
飛行制御部322Cは、飛行制御部322Bによる操縦信号に応じた駆動制御信号の生成処理が行われているときに処理を開始する(スタート)。
飛行制御部322Cは、GPS受信部324から受信データが入力されたかどうかを判定する(ステップS51)。なお、飛行制御部322Cは、受信データが入力されていない(S51:NO)と判定すると、ステップS51の処理を繰り返し実行する。
飛行制御部322Cは、受信データが入力された(S51:YES)と判定すると、受信データに含まれるGPS衛星のIDの数を取得する(ステップS52)。
飛行制御部322Cは、IDの数が所定値以上であるかどうかを判定する(ステップS53)。所定値は、一例として4である。
飛行制御部322Cは、IDの数が所定値以上である(S53:YES)と判定すると、安定受信フラグが0であるかどうかを判定する(ステップS54)。
飛行制御部322Cは、安定受信フラグが0である(S54:YES)と判定すると、安定受信フラグを1に設定する(ステップS55)。
次に、飛行制御部322Cは、ホバリングモードが設定されているかどうかを判定する(ステップS56)。
飛行制御部322Cは、ホバリングモードが設定されている(S56:YES)と判定すると、ホバリングモードに移行し、ホバリング用の駆動制御信号を出力する(ステップS57)。
飛行制御部322Cは、ホバリングモードを解除する解除信号を受信したかどうかを判定する(ステップS58)。飛行制御部322Cは、解除信号を受信するまでステップS58の処理を繰り返し実行する。なお、コントローラ110から解除信号が出力される際には、コントローラ110で飛行体320を操縦するための操作が行われているものとする。
飛行制御部322Cは、解除信号を受信した(S58:YES)と判定すると、ホバリング用の駆動制御信号の出力を停止する(ステップS59)。なお、ステップS59の処理を終了すると、飛行制御部322Cは、フローをステップS51にリターンさせる。
飛行制御部322Cは、ステップS56において、ホバリングモードが設定されていない(S56:NO)と判定すると、着陸モードに移行し、飛行体320を着陸させる駆動制御信号を出力する(ステップS60)。これにより飛行体320は、自動的に着陸する。
飛行制御部322CがステップS60の処理を実行して飛行体320が着陸すると、主制御部322Aは、一連の処理を終了する(エンド)。この状態で、飛行体320は着陸している。
また、飛行制御部322Cは、ステップS53において、IDの数が所定値以上ではない(S53:NO)と判定すると、安定受信フラグを0にリセットする(ステップS61)。
また、飛行制御部322Cは、ステップS54において、安定受信フラグが0ではない(S54:NO)と判定すると、フローをステップS51にリターンさせる。
以上で説明したように、実施の形態3では、飛行体320がGPS信号を受信すると、コントローラ110から送信される操縦信号による飛行制御の代わりに、ホバリング動作又は着陸動作に移行する飛行制御を行う。これは、飛行体320がGPS信号を受信する飛行禁止領域に入ると、操縦信号による飛行制御は行われなくなり、強制的にホバリング動作又は着陸動作が行われることを意味する。
すなわち、飛行体320は、飛行禁止領域に入ると、即座にその地点でホバリングするか、又は、その地点から直ちに着陸することになる。飛行禁止領域内での自由な飛行を禁止し、橋10を通行する人間や車両の安全性を確保するためである。
したがって、安全性の高い飛行システム300を提供することができる。
また、実施の形態3では、橋10の床版10Cを利用して、GPS信号を受信しない床版10Cの陰になる領域を飛行可能領域とし、GPS信号を受信する領域を飛行禁止領域としている。GPS信号は、測位に用いるのではなく、受信するか受信しないかの判定に用いているだけである。
床版10Cの陰から逸脱すると、GPS受信部324がすぐにGPS信号を受信するので、飛行可能領域と飛行禁止領域の境界の位置精度が非常に高く、飛行体320が非常に高い位置精度で判別することができる。
また、飛行体320は、飛行禁止領域に入ると、強制的にホバリングモード又は着陸モードに切り替えられる。
したがって、飛行可能領域と飛行禁止領域を高精度に検出して飛行可能であるとともに、高い安全性を確保した飛行システム300、及び、飛行体320を提供することができる。
また、以上では、橋10の周りに飛行システム300を設置する形態について説明したが、飛行システム300は、橋10に限らず、様々な場所の様々な施設において利用することができる。図22は、実施の形態3の変形例を示す図である。
図22には、建物20を示す。建物20は、屋根21と、出入口22とを有する。建物20の屋内は、屋根21の陰になるため、飛行体320は、GPS信号を受信できない。すなわち、建物20の内部は飛行可能領域である。また、建物20の外部はGPS信号を受信できるため、飛行禁止領域である。
飛行体220は、(A)や(B)の位置では、屋根21の陰になるため、GPS信号を受信せず、コントローラ110の操縦信号に応じて自由に飛行できる。また、建物20の外部では、GPS信号を受信するため、ホバリング動作又は着陸動作を行うことになる。
したがって、飛行システム300を利用すれば、建物20の内部を点検することができる。
以上、本発明の例示的な実施の形態の飛行システムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。