以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
以下の実施形態の水中測位システムでは、海中又は海上を探索する探索機として、自律型無人潜水機(AUV:autonomous underwater vehicle)が用いられてよい。AUVは、海上を航行する水上艇として、また、海中を潜航する水中航走体として利用されてよい。海上を航行するAUVを「海上AUV」とも称する。海中を潜航するAUVを「海中AUV」とも称する。また、海上AUVと海中AUVとを区別する必要がない場合、単に「AUV」とも称する。なお、海上を航行する船舶を水上艇とし、AUVを水中航走体としてもよい。海上AUVは、測位用の無人探査機の一例である。海中AUVは、調査用の無人探査機の一例である。また、AUVは、海洋に限らず、湖、沼、やその他の水中や水底を探索する探索機としても利用されてよい。
(第1の実施形態)
図1は第1の実施形態における水中測位システム5の概要を示す図である。水中測位システム5は、複数(例えば4つ)のAUV10を含んで構成される。4つのAUV10のうち、海上AUV10A,10B,10Cは、海上(海面)を航行し、海中AUV10Dは、海中を潜航する。なお、陸上には、海上AUV10A,10B,10Cと例えば無線通信をすることで、海上AUV10A〜10Cの位置等を監視する監視センタ8が設置されてよい。監視センタ8が、水中測位システム5に含まれてもよい。
AUV10の数は、4台に限られず、他の数でもよい。海上AUVは、3台に限られず、2台でも4台以上でもよい。海中AUVは、1台に限られず、2台以上でもよい。また、本実施形態では、海上AUV10A〜10Cは、所定位置に配置された後には、移動しなくてよい。以降では、一例として、海上AUVが3台であり、海中AUVが1台である場合を主に示す。
水中測位システム5では、3台の海上AUV10A,10B,10Cが計時する時刻と、海中AUV10Dが計時する時刻と、を予め揃えておく。つまり、海上AUV10A〜10Cのタイマと海中AUV10Dのタイマとを同期させておく。また、海上AUV10A,10B,10Cは、それぞれGPS受信部21(図2参照)を備え、GPS衛星80から送信されるGPS信号を受信し、それぞれGPS位置情報を取得する。GPS受信部21は、GPS位置情報を、緯度、経度、高度の情報を含んで取得し、X,Y,Z座標(図1参照)に変換してよい。
海上AUV10Aの位置A、海上AUV10Bの位置B、海上AUV10Cの位置Cは、それぞれ、座標A(xa,ya,za),座標B(xb,yb,zb),座標C(xc,yc,zc)で表されてよい(図4参照)。また、海上AUV10A,10B,10Cは、それぞれ取得した位置Aの座標A(xa,ya,za),位置Bの座標B(xb,yb,zb),位置Cの座標C(xc,yc,zc)を無線通信で共有する。
海上AUV10A,10B,10Cは、海中AUV10Dに対し、送信時刻になると、音響パルス(定時音響パルス)を一定時間差(例えば2〜3秒差)で発信する。予め定められた時刻(送信時刻)に送信される音響パルスを「定時音響パルス」とも称する。海中AUV10Dは、海上AUV10A,10B,10Cからそれぞれ送信された定時音響パルスを受信すると、送信時刻と受信時刻との時間差と海中における音速とを基に、各海上AUV10A,10B,10Cまでの距離La,Lb,Lcを算出する。
海中AUV10Dは、深度計33(図3参照)で水圧を検出し、この水圧を用いて海面までの距離である深度Ld(水深)を計測してよい。海中AUV10Dは、距離La,Lb,Lc及び深度Ldを含む距離情報を、各海上AUV10A,10B,10Cに同報で通知してよい。
海上AUV10A,10B,10Cは、海中AUV10Dから取得した距離La,Lb,Lc及び深度Ldを基に、海中AUV10Dの位置Dを算出してよい。位置Dは、3次元の座標D(xd,yd,zd)で示されてよい。海中AUV10Dの位置の算出の詳細については、後述する。
図2は海上AUV10A,10B,10Cの構成例を示すブロック図である。海上AUV10A,10B,10Cは、同じ仕様を有するので、海上AUV10Aについて代表して説明する。つまり、海上AUV10B,10Cについても、海上AUV10Aと同様である。
海上AUV10Aは、CPU11、海上無線通信部12、音響トランスポンダ13、音響パルス発生部14、音響通信モデム15、メモリ16、AUV駆動部20、及びGPS受信部21、及びクロック発生器22を有する。
海上無線通信部12は、他の海上AUV10B,10Cと無線通信する。海上無線通信部12は、無線通信により、海上AUV10A,10B,10Cの位置A,B,Cと海中AUV10Dの位置Dの情報を共有する。共有された情報は、メモリ16に保持されてよい。海上無線通信部12は、所定の周波数帯域を割り当てられた無線信号を通信してよい。海上無線通信部12は、監視センタ8に設置された各種装置と通信してもよい。
クロック発生器22は、クロック信号を発生し、例えば時刻を計時する。クロック発生器22は、高精度のクロック信号を発生可能であり、時刻を高精度に計時可能である。
音響パルス発生部14は、パルス状の音響信号(音響パルス)を発生する。音響パルスは、1つのパルス波で構成されてもよいし、複数のパルス波が含まれてもよい、この音響パルスは、音響パルスを送信する海上AUV10Aの存在を報知するための信号の一例である、他の音響信号により、海上AUV10Aの存在が報知されてもよい。
音響トランスポンダ13は、クロック発生器22により生成されたクロック信号により計時される時刻が送信時刻になると、音響パルス発生部14により生成された音響信号(音響パルス)を送信する。また、音響トランスポンダ13は、外部装置(例えば海中AUV10D)により送信された音響パルスを受信してよい。
音響通信モデム15は、海中AUV10Dとの間で、各種変調(例えばFSK(Frequency Shift Keying)変調)された音響信号を通信する。この音響通信モデム15により通信される音響信号は、音響パルス以外の音響信号が含まれてよい。音響信号は例えば2kbpsの周波数帯域を用いて送信されてよい。
音響通信モデム15は、海中AUV10Dから距離La,Lb,Lc及び深度Ldの情報を受信してよい。音響通信モデム15は、海中AUV10Dに対し、圏外警告を行うための信号(警告信号)を送信してよい。圏外警告とは、海上AUV10Aからの信号を所定の信号レベル以上で受信可能な通信範囲Sqから外れていることを示す警告でよい。音響通信モデム15は、海中AUV10Dに位置Dの座標の情報を送信してよい。なお、FSK変調を行う代わりに、音響パルスを特定の形状とすることで、データの値を表現するようにしてもよい。
CPU11は、海上AUV10Aの各部を統括的に制御する。CPU11は、海上AUV10Aの各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行ってよい。CPU11は、プロセッサの一例であり、他のプロセッサで代用されてもよい。他のプロセッサは、例えば、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)を含んでよい。
CPU11は、メモリ16に記録されたプログラムを実行することで、各種機能を実現する。CPU11は、3台の海上AUV10A,10B,10Cと海中AUV10Dとの間の各距離La,Lb,Lcと、海中AUV10Dの深度Ldと、を基に、海中AUV10Dの3次元位置座標を算出してよい。CPU11は、距離La,Lb,Lcと通信範囲Sqの半径に相当する通信距離Nとを比較することで、海中AUV10Dが通信範囲Sqの範囲内に所在するか否かを判定してよい。通信距離Nは、例えば2kmや3kmでよい。
メモリ16は、ROM(Read Only Memory)やRAM(Random Access Memory)等の一次記憶装置を含んでよい。メモリ16は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の二次記憶装置を含んでもよい。メモリ16は、USB(Universal Serial Bus)メモリやSDカード等の三次記憶装置を含んでもよい。メモリ16は、各種情報やプログラムを記憶する。メモリ16は、海上AUV10A,10B,10Cの各位置A,B,Cの座標、及び海中AUV10Dの位置Dの座標、の情報を記憶してよい。メモリ16は、距離La,Lb,Lc及び深度Ldの情報を記憶してよい。
AUV駆動部20は、海上AUV10Aの動力源であり、モータやスクリュー等を含む。AUV駆動部20が、モータを駆動源とすることで、例えばエンジンを動力源とする場合と比較すると、動作時の静音性能を向上できる。そのため、海上AUV10Aは、AUV駆動部20が発生する音により音響パルスや音響信号が影響されることを抑制できるので、音響パルスや音響信号の読取り精度の低下を抑制できる。よって、海上AUV10Aは、音響パルスや音響信号に基づく距離の測定精度や座標の算出精度を向上できる。
GPS受信部21は、GPS衛星80からGPS信号を受信し、GPS位置情報(例えば緯度、経度、高度の情報)を取得する。GPS受信部21は、GPS位置情報を表す緯度、経度、高度の情報を、X座標、Y座標、Z座標に変換してよい。このGPS位置情報やX座標、Y座標、Z座標は、自機(海上AUV10A)の位置に係る情報である。
図3は海中AUV10Dの構成例を示すブロック図である。海中AUV10Dは、CPU31、AUV駆動部32、深度計33、音響パルスレシーバ34、クロック発生器35、音響通信モデム36、及びメモリ37を有する。
CPU31は、海中AUV10Dの各部を統括的に制御する。CPU31は、海中AUV10Dの各部の動作を統括して制御するための信号処理、他の各部との間のデータの入出力処理、データの演算処理及びデータの記憶処理を行ってよい。CPU11は、プロセッサの一例であり、他のプロセッサで代用されてもよい。他のプロセッサは、例えば、MPU、DSPを含んでよい。
CPU31は、メモリ37に記録されたプログラムを実行することで、各種機能を実現する。CPU31は、定時音響パルスの送信時刻と受信時刻の時間差と水中の音速とを基に、各海上AUV10A,10B,10Cまでの距離La,Lb,Lcを計算してよい。なお、各海上AUV10A〜10Cによる定時音響パルスの送信時刻が予めメモリ37に保持され、CPU31により参照可能とされていてよい。これにより、CPU31は、送信時刻と受信時刻との時間差を導出可能である。
メモリ37は、ROMやRAM等の一次記憶装置を含んでよい。メモリ37は、HDDやSSD等の二次記憶装置を含んでもよい。メモリ37は、USBメモリやSDカード等の三次記憶装置を含んでもよい。メモリ37は、各種情報やプログラムを記憶する。メモリ37は、位置Dの座標、距離La,Lb,Lc、深度Ld等の情報を記憶してよい。
AUV駆動部32は、AUV駆動部20と同様、海中AUV10Dの動力源であり、モータやスクリュー等を含む。AUV駆動部32が、モータを駆動源とすることで、例えばエンジンを動力源とする場合と比較すると、動作時の静音性能を向上できる。そのため、海中AUV10Dは、AUV駆動部32が発生する音により音響パルスや音響信号が影響されることを抑制できるので、音響パルスや音響信号の読取り精度の低下を抑制できる。よって、海中AUV10Dは、音響パルスや音響信号に基づく距離の測定精度や座標の算出精度を向上できる。
深度計33は、水中の圧力を検出する圧力センサでよい。深度計33は、海中AUV10Dの深度Ldの情報を取得してよい。深度計33は、圧力センサ以外のセンサで、深度Ldの情報を取得するものでもよい。深度計33は、任意のタイミングで深度Ldを取得してよく、常時取得してもよい。これにより、海中AUV10Dは、海中AUV10Dの深度が頻繁に変化する場合でも、深度Ldを正確に把握できる。
クロック発生器35は、クロック信号を発生し、例えば時刻を計時する。クロック発生器35は、高精度のクロック信号を発生可能であり、時刻を高精度に計時可能である。
音響パルスレシーバ34は、海上AUV10A〜10Cのそれぞれから音響パルスを受信する。音響パルスレシーバ34は、クロック発生器35で計時される定時音響パルスのそれぞれの受信時刻を取得してよい。
音響通信モデム36は、海上AUV10A〜10Cのそれぞれとの間で、各種変調(例えばFSK(Frequency Shift Keying)変調)された音響信号を通信する。音響通信モデム15は、海上AUV10A〜10Cのそれぞれへ、距離La,Lb,Lc及び深度Ldの情報を送信してよい。音響通信モデム36は、海上AUV10A〜10Cのそれぞれから、警告信号を受信してよい。音響通信モデム36は、海上AUV10A〜10Cのそれぞれから、海中AUV10Dの位置Dの座標の情報を受信してよい。
なお、海中AUV10Dは、海上AUV10A〜10Cと共通の仕様で構成されてもよいし、海上AUV10A〜10Cと比べて簡易な構成としてもよい。海中AUV10Dが簡易な構成とされる場合、海中AUV10Dのコストが低減され得る。
図4は上空から海面を視た場合に海上及び海中に展開する4つのAUV10の位置関係の一例を示す図である。
通信範囲Sqは、海上AUV10A,10B,10Cから送信される音響パルス及び音響信号(例えば警告信号)の少なくとも一方を、所定の信号レベル以上で受信可能な範囲を表してよい。この場合、音響パルスに基づく測位精度が一定以上に維持可能である。海上AUV10A〜10Cによる通信範囲Sqの外縁は、例えば、同一の媒質中では球面を形成する。なお、海上AUV10A〜10Cは海面に位置するので、実際には、音響パルスや音響信号が海中に向かう半球面を形成してよい。球面の半径が、海上AUV10A〜10Cのそれぞれの所定の信号レベル以上での通信が可能な通信距離Nに相当してよい。従って、海面では、通信範囲sqは、通信距離Nを半径とする円として表されてよい。海上AUV10A〜10Cによる通信距離Nは、共通でもよいし、異なってもよい。
図4では、円210A,210B,210Cは、それぞれ、海上AUV10A,10B,10Cの海面上における通信範囲sqを表す。また、図4では、海上AUV10A,10B,10Cによる通信範囲Sqが、それぞれ、通信範囲Sq1,Sq2,Sq3として示されている。
海中AUV10Dが海上AUV10A,10B,10Cによる通信範囲Sqのうち2つの通信範囲Sqに入っている場合、つまり、海中AUV10Dの位置ps1が2つの円210A,210Cの重なり合う範囲に含まれる場合、海中AUV10Dの位置Dは測位可能である。つまり、海中AUV10Dの位置Dは、海上AUV10Aの位置Aと距離La、及び海上AUV10Cの位置Cと距離Lcを基に、算出され得る。
図4では、海上AUV10A,10B,10Cによる通信距離Nと、海上AUV10A,10B,10Cによる定時音響パルスの到達距離とは、同じでもよいし、異なってもよい。通信距離Nよりも定時音響パルスの到達距離が長い場合、海中AUV10Dが通信範囲Sqから外れた場合でも、海上AUV10A,10B,10Cから送信される定時音響パルスは、海中AUV10Dに届くことになる。
図5は上空から海面を視た場合に通信範囲Sqから一部外れて海上及び海中に展開する4つのAUV10の位置関係の一例を示す図である。図5では、海中AUV10Dが、位置ps1から位置ps2に移動し、3つの円210A,210B,210Cの通信範囲Sqのいずれからも外れている。このように、海上AUVの通信範囲Sqの少なくとも2つから外れた場合、つまり1つ以下の通信範囲Sqのみに海中AUV10Dが属する場合、海上AUV10A〜10Cは、警告信号をそれぞれ送信してよい。1つ以下の通信範囲Sqのみに海中AUV10Dが属する場合、距離La,Lb,Lcの情報を用いた海中AUV10Dの測位精度が所望のレベルに維持されない可能性があるためである。
海中AUV10Dは、警告信号を受信すると、海中において海上AUV10A〜10Cによって測位不能とならないように、動作する。例えば、海中AUV10Dは、警告信号を受信した場合、移動を停止したり、海面方向へ浮上したり、移動してきた航路を引き返したりしてよい。これにより、海中AUV10Dは、2つ以上の通信範囲Sqから外れた場合でも、その後に海上AUV10A〜10Cにより測位不能となる事態を抑制でき、行方不明になる可能性を低減できる。
次に、水中測位システム5の動作について説明する。
図6は、水中測位システム5の動作例を示すシーケンス図である。
まず、海上AUV10Aでは、GPS受信部21が、GPS衛星80から送信されるGPS信号を基に、海上AUV10AのGPS位置情報である位置Aの座標を取得する(T1)。同様に、海上AUV10Bでは、GPS受信部21が、GPS衛星80から送信されるGPS信号を基に、海上AUV10BのGPS位置情報である位置Bの座標を取得する(T2)。同様に、海上AUV10Cでは、GPS受信部21が、GPS衛星80から送信されるGPS信号を基に、海上AUV10CのGPS位置情報である位置Cの座標を取得する(T3)。海上AUV10A,10B,10Cは、それぞれ海上無線通信部12を介して、無線通信を行うことで、相互に座標情報(位置A,B,Cの各座標)を共有する(T4,T5)。
海上AUV10A,10B,10Cでは、音響トランスポンダ13が、それぞれのクロック発生器22で計時される時刻が予め設定された時刻になると、それぞれ定時音響パルスを送信する(T6,T7,T8)。海上AUV10A,10B,10Cは、送信時刻(例えば5秒)を所定時間ずらして送信してよい。これにより、海上AUV10A〜10Cは、それぞれの定時音響パルス同士の衝突を抑制できる。
海中AUV10Dでは、CPU31は、定時音響パルスを受信すると、海上AUV10A〜10Cから海中AUV10Dに到達するまでの各時間と水中の音速とを基に、距離La,Lb,Lcを算出する(T9)。音響通信モデム36は、算出した距離La,Lb,Lcの情報と、深度計33で計測した深度Ldの情報を、海上AUV10A,10B,10Cに対し、同報で送信してよい(T10)。
海上AUV10Aでは、CPU11は、受信した距離La,Lb,Lcと深度Ldの情報を基に、海中AUV10Dの位置Dの座標を算出してよい(T11)。同様に、海上AUV10B,10Cでは、各CPU11は、それぞれ受信した距離La,Lb,Lcと深度Ldの情報を基に、海中AUV10Dの位置Dの座標を算出してよい(T12,T13)。海中AUV10Dの位置Dの座標の算出の詳細については、後述する。
海上AUV10A,10B,10Cでは、音響通信モデム15は、それぞれ算出した位置Dの座標を海中AUV10Dに通知する(T14,T15,T16)。この場合、海上AUV10A,10B,10Cは、所定時間(例えば2〜3秒)をずらして、位置Dの座標の情報を含む音響信号を送信してよい。これにより、海上AUV10A〜10Cは、音響信号同士の衝突を抑制できる。
海上AUV10Aでは、CPU11は、自機の通信範囲Sqに海中AUV10Dが入っているか否かを判定する(T17)。この判定では、距離Laが通信範囲Sq(球面)の大きさを表す通信距離N未満である場合、通信範囲Sqの範囲内(OK)となる。また、距離Laが通信距離N以上である場合、通信範囲Sqの範囲外(NG)となる。OKの場合、海上AUV10Aは、T1の処理に戻る。一方、NGの場合、音響通信モデム15は、警告信号を海中AUV10Dに送信する(T18)。
同様に、海上AUV10Bでは、CPU11は、自機の通信範囲Sqに海中AUV10Dが入っているか否かを判定する(T19)。この判定では、距離Lbが通信距離N未満である場合、通信範囲Sqの範囲内(OK)となる。また、距離Lbが通信距離N以上である場合、通信範囲Sqの範囲外(NG)となる。OKの場合、海上AUV10Bは、T2の処理に戻る。一方、NGの場合、音響通信モデム15は、警告信号を海中AUV10Dに送信する(T20)。
同様に、海上AUV10Cでは、CPU11は、自機の通信範囲Sqに海中AUV10Dが入っているか否かを判定する(T21)。この判定では、距離Lcが通信距離N未満である場合、通信範囲Sqの範囲内(OK)となる。また、距離Lcが通信距離N以上である場合、通信範囲Sqの範囲外(NG)となる。OKの場合、海上AUV10Cは、手順T3の処理に戻る。一方、NGの場合、音響通信モデム15は、警告信号を海中AUV10Dに送信する(T22)。
なお、T18、T20、T22における警告信号は、定時音響パルスと同じタイミングで海中AUV10Dへ送信されてもよいし、定時音響パルスと異なるタイミングで海中AUV10Dへ送信されてもよい。
警告信号は、海中AUV10Dを制御するための制御信号として、停止あるいは海面への浮上を促す信号を含んでもよい。
海中AUV10Dは、海上AUV10A,10B,10Cから少なくとも1つの警告信号を受信した場合、潜航を停止してよい(T23)。これにより、海中AUV10Dが現時点よりも遠方へ移動することを抑制でき、海中AUV10Dが発見される可能が高くなる。
また、海中AUV10Dは、海上AUV10A,10B,10Cから少なくとも1つの警告信号を受信した場合、海中AUV10Dは、海面への浮上を開始してよい(T23)。これにより、海中AUV10Dが海面まで浮上すると上空から発見し易くなり、海中AUV10Dが発見される可能が高くなる。
また、海中AUV10Dは、海上AUV10A,10B,10Cから少なくとも1つの警告信号を受信した場合、潜航してきたルートを戻ってもよい。これにより、海中AUV10Dは、現時点よりも海上AUV10A〜10Cに近づくことができ、海中AUV10Dの測位精度を高くできる。よって、海中AUV10Dが発見される可能が高くなる。この場合、海中AUV10Dは、T14〜T16において取得された位置Dの座標を用いて、潜航してきたルートを戻ってよい。
図6の動作例によれば、水中測位システム5は、海中AUV10Dの海中測位に係る海中AUV10Dの演算量を低減でき、海中AUV10Dの処理負荷を低減できる。そのため、水中測位システム5は、海中AUV10Dのバッテリ消費量を低減できる。よって、海中AUV10Dの潜航可能時間が長くなり、水中での他の作業(各種調査、探索、掘削等)を行える時間が増大できる。
また、海上AUV10A〜10Cは、3つの通信範囲Sqのうち2つ以上の通信範囲Sqから海中AUV10Dが外れた場合、水中測位を十分に行うことが困難となるので、この旨を警告信号で海中AUV10Dへ通知できる。これにより、海中AUV10Dは、水中測位の精度を改善するように動作するので、海中AUV10Dが行方不明となることを抑制できる。
なお、図6では、T18〜T20において、全ての海上AUV10A〜10Cが、海中AUV10Dに警告信号を送信することを例示したが、一部の海上AUVが警告信号を送信してもよい。例えば、海中AUV10Dが2つ以上の通信範囲Sqから外れた場合、海中AUV10Dから最も遠い海上AUVには、距離La,Lb,Lcや深度Ldの情報が届かないことも考えられる。そのため、海中AUV10Dから最も近い距離に位置する海上AUV10A〜10Cのいずれかが、海中AUV10Dへ警告信号を送信してもよい。これにより、海上AUV10A〜10Cは、警告信号が海中AUV10Dに到達する可能性を高くできる。
図7は海上AUV10A,10B,10Cの各CPU11による座標算出手順の一例を示すフローチャートである。海上AUV10A,10B,10Cは、同一の処理を行うので、ここでは、海上AUV10Aが行う処理について代表して説明する。
海中AUV10Dが海上AUV10A,10B,10Cの通信範囲Sqから外れる流れとして、以下のような状況が想定されてよい。当初、海中AUV10Dと各海上AUV10A,10B,10Cとが通信可能である場合、海中AUV10Dから各海上AUV10A,10B,10Cまでの距離La,Lb,Lcは、全て通信距離N未満である。この場合、海上AUV10A,10B,10Cの3つの通信範囲Sqの重なり合う範囲に、海中AUV10Dが存在する。その後、海中AUV10Dが、海上AUV10A,10B,10Cの1つの通信範囲Sqから外れる。この場合、距離La,Lb,Lcのうち2つの距離が通信距離N未満となる。さらに、海中AUV10Dが、海上AUV10A,10B,10Cの2つ又は全ての通信範囲Sqから外れる。この場合、距離La,Lb,Lcfのうち1つ以下の距離が通信距離N未満となる。
CPU11は、3つの距離La,Lb,Lcの全てが、通信距離N未満であるか否かを判別する(S1)。3つの距離La,Lb,Lcの全てが通信距離N未満である場合、つまり、海上AUV10A,10B,10Cのいずれの通信範囲Sqにも海中AUV10Dの位置が含まれる場合、CPU11は、3つの距離La,Lb,Lcと深度Ldとを基に、海中AUV10Dの位置Dの座標を算出する(S2)。S2での位置Dの座標の算出方法の詳細については、後述する。S2の処理後、CPU11は本処理を終了する。
一方、3つの距離La,Lb,Lcのうち少なくとも1つが通信距離N以上である場合、CPU11は、3つの距離La,Lb,Lcのうち2つが通信距離N未満であるか否かを判別する(S3)。3つの距離La,Lb,Lcのうち2つが通信距離N未満である場合、CPU11は、2つの距離と深度Ldを基に、海中AUV10Dの位置Dの座標を算出する(S4)。S4での位置Dの座標の算出方法の詳細については、後述する。この後、CPU11は本処理を終了する。
ここで、2つの距離と深度Ldとを基に海中AUV10Dの位置Dの座標を算出する場合、2つの座標が解として求まる。この場合、CPU11は、2つの座標のうち、S2で採用される位置Dの座標から乖離した座標を排除し、残りの座標を位置Dの座標として採用してよい(S5)。つまり、CPU11は、海中AUV10Dが3台の海上AUV10A,10B,10Cの通信範囲Sqから順に外れていく場合、以前にS2の処理で得られた位置Dの座標に近い方の座標が、正しい座標であると判定してよい。このようにして、CPU11は、乖離した値を排除し、残った座標を新たな座標Dとして採用してよい。
S3において、3つの距離La,Lb,Lcのうち1つが通信距離N未満である場合、または、3つの距離La,Lb,Lcの全てが通信距離N以上である場合、CPU11は、3つの距離La,Lb,Lcと深度Ldとを基に、海中AUV10Dの位置Dの座標を算出する。なお、3つの距離La,Lb,Lcのうち2つ以上は、通信範囲Sqの範囲外を示す値である。ここでの位置Dの座標の算出方法は、S2と同様でよい。この後、CPU11は本処理を終了する。
なお、一例として、当初は3つの通信範囲Sqに海中AUV10Dの位置が含まれる状態から、徐々に通信範囲Sqを外れていくことを想定したが、この想定がされなくてもよい。つまり、海中AUV10Dの水中測位の開始時から、3つの通信範囲Sqに海中AUV10Dが含まれていてもよいし、2つの通信範囲Sqに海中AUV10Dが含まれていてもよいし、1つの通信範囲Sqに海中AUV10Dが含まれていてもよいし、全ての通信範囲Sqに海中AUV10Dが含まれていなくてもよい。
図7の動作によれば、海上AUV10A〜10Cは、海中AUV10Dの水中での位置を測位できる。S2によれば、海上AUV10A〜10Cは、多くの距離パラメータを用いて測位できるので、水中測位の測位精度を高くできる。S5によれば、海上AUV10A〜10Cは、距離パラメータの一部が得られない場合でも、海中AUV10Dの位置の過去の実績や実体と乖離した解を除外することで、海中AUV10Dの水中測位可能である。S6によれば、海上AUV10A〜10Cは、1つ以下の通信範囲sqに海中AUV10Dに属する場合でも、水中測位の測位精度が低下することはあるが、水中測位を実施することができる可能性がある。
なお、S3を満たす場合にS4の方法で位置Dの座標を算出することを例示したが、S3を満たす場合においても、S2の方法で位置Dの座標を算出してもよい。
次に、S2及びS4による位置Dの座標Dの算出例について説明する。
まず、位置A,B,Cの3点と深度Ldとに基づく位置Dの座標D(X,Y,Z)の算出について説明する。この算出は、図7のS2の算出に相当する。
[第1算出例]
位置Aの座標A(xa,ya,za),位置Bの座標B(xb,yb,zb),位置Cの座標C(xc,yc,zc),位置Dの座標D(X,Y,Z)の座標関係は、式(1),(2),(3)の関係で表される。
(X−xa)2+(Y−ya)2+(Z−za) 2= a2 … (1)
(X−xb)2+(Y−yb)2+(Z−zb) 2= b2 … (2)
(X−xc)2+(Y−yc)2+(Z−zc) 2= c2 … (3)
なお、a,b,cは、距離La,Lb,Lcに対応してよい。
CPU11は、(1)式〜(3)式を展開し、各式の差分から、下記連立方程式(4)、(5)を導出する。
(xb−xa)X+(yb−ya)Y+(zb−za)Z = −(Ab−Aa)/2 …(4)
(xc−xa)X+(yc−ya)Y+(zc−za)Z = −(Ac−Aa)/2 …(5)
なお、Aa=a2−xa 2−ya 2−za 2、 Ab=b2−xb 2−yb 2−zb 2、 Ac=c2−xc 2−yc 2−zc 2
CPU11は、式(4)、(5)を書き換え、式(6)、(7)を得る。
xbaX+ybaY+zbaZ = Aba … (6)
xcaX+ycaY+zcaZ = Aca … (7)
なお、xij=xi−xj, yij=yi−yj, zij=zi−zj
(i=a,b,c、等、j=a,b,c、等)
Aba=−(Ab−Aa)/2、 Aca=−(Ac−Aa)/2
CPU11は、式(6)にycaを乗算し、式(A)を得る。
xbaycaX+ybaycaY+ycazbaZ = Abayca … (A)
CPU11は、式(7)にybaを乗算し、式(B)を得る。
ybaxcaX+ycaybaY+ybazcaZ = Acayba … (B)
CPU11は、式(A)から式(B)を減算する。つまり、
(xbayca−ybaxca)X+(ycazba−ybazca)Z = Abayca−Acayba
CPU11は、この式を整理し、下記のようにXを得る。
X = (ybazca−ycazba)Z/(xbayca−ybaxca)+(Abayca−Acayba)/(xbayca−ybaxca)
同様に、CPU11は、式(6)にxcaを乗算し、式(C)を得る。
xbaxcaX+ybaxcaY+xcazbaZ = Abaxca … (C)
CPU11は、式(7)にxbaを乗算し、式(D)を得る。
xbaxcaX+ycaxbaY+xbazcaZ = Acaxba … (D)
CPU11は、式(C)から式(D)を減算する。つまり、
(xbayca−ybaxca)Y−(xcazba−xbazca)Z = Acaxba−Abaxca
CPU11は、この式を整理し、下記のようにYを得る。
Y = (xcazba−xbazca)Z/(xbayca−ybaxca)+(Acaxba−Abaxca)/(xbayca−ybaxca)
CPU11は、式(6)、(7)を、X、Yの式(8)、(9)に置き換える。
X = B0+B1Z … (8)
Y = C0+C1Z … (9)
なお、D=xbayca−ybaxca、
B0=(Abayca−Acayba)/D、
B1=(ybazca−ycazba)/D、
C0=(Acaxba−Abaxca)/D、
C1=(xcazba−xbazca)/D
以上から、CPU11は、zに関する2次方程式を得る。
EZ2+2FZ+G=0
従って、Z={−F±√(F2−EG)}/E
なお、E=B1 2+C1 2+1、
F=B1(B0−xa)+C1(C0−ya)−za、
G=(B0−xa)2+(C0−ya)2+zab−a2
上記のZを示す式より、Zの解は、理論的に2つ存在する。ここで、Zは深度=d(深度Ldに相当)を示す。したがって、CPU11は、Zの解のうち、深度計33により得られた深度Ldと近い値を、実際の解と判断してよい。
CPU11は、算出されたZを、式(8)、(9)に代入して、X,Yを求める。
[第2算出例]
また、CPU11は、次のように行列式を利用して、X,Yを求めてもよい。
位置Aの座標A(xa,ya,za),位置Bの座標B(xb,yb,zb),位置Cの座標C(xc,yc,zc),位置Dの座標D(X,Y,Z)の座標関係は、式(21)、(22)、(23)の関係で表される。
(X−xa)2 +(Y−ya)2 +(Z−za)2 = a2 … (21)
(X−xb)2 +(Y−yb)2 +(Z−zb)2 = b2 … (22)
(X−xc)2 +(Y−yc)2 +(Z−zc)2 = c2 … (23)
CPU11は、(1)式〜(3)式を展開し、各式の差分から、下記3元1次連立程式(24)、(25)、(26)を導出する。
(xa+xb)X+(ya+yb)Y+(za+zb)Z={(xb 2+yb 2+zb 2)−(xa 2+ya 2+za 2)+b2−a2}/2 …(24)
(xa+xc)X+(ya+yc)Y+(za+zc)Z={(xc 2+yc 2+zc 2)−(xa 2+ya 2+za 2)+c2−a2}/2 …(25)
(xb+xc)X+(yb+yc)Y+(zb+zc)Z={(xc 2+yc 2+zc 2)−(xb 2+yb 2+zb 2)+c2−b2}/2 …(26)
上記を行列形式で書くと、式(27)に示すようになる。
一般に、クラメルの公式より3元1次連立方程式の解は、次のように表されることが知られている。
ここで、
とする。なお、
とすると、x,y,zは、式(30)、(31)、(32)となる。
従って、CPU11は、式(27)を式(28)に代入することにより、式(30)、(31)、(32)に従って、座標D(X,Y,Z)を算出できる。
次に、距離La,Lb,Lcのうちの2つの距離と深度Ldとに基づく位置Dの座標Dの算出について説明する。この算出は、図7のS4の算出に相当する。ここでは、距離La、距離Lbの2つに基づくことを例示する。
位置Aの座標A(xa,ya,za),位置Bの座標B(xb,yb,zb),位置Dの座標D(X,Y,Z)の座標関係は、式(10)、(11)の関係で表される。
(X−xa)2+(Y−ya)2+(Z−za)2 = a2 … (10)
(X−xb)2+(Y−yb)2+(Z−zb)2 = b2 … (11)
ここで、位置A,位置Bは海上(海面)に位置するので、za=zb=0となる。また、深度Z=−dとする。このZの値は、深度計33により得られ、既知数である。この場合、
(X−xa)2+(Y−ya)2=a2+d2 …(12)
(X−xb)2+(Y−yb)2=b2+d2 …(13)
CPU11は、式(12),式(13)を展開し、式(13)−式(12)を計算して、下記の式を導出する。
(xa−xb)X+(ya−yb)Y={(xb 2+yb 2)−(xa 2+ya 2)+b2−a2}/2
これより、
X=[{(xb 2+yb 2)−(xa 2+ya 2)+b2−a2}/2−(ya−yb)Y]/(xa−xb)
=D+EY …(14)
なお、D={(xb 2+yb 2)−(xa 2+ya 2)+b2−a2}/2(xa−xb)、
E=−(ya−yb)/(xa−xb)
CPU11は、式(14)を式(12)に代入して、Yの2次方程式を算出する。
(D+EY−xa)2+(Y−ya)2=a2+d2
以下、展開すると、
(D−xa)2−2E(D−xa)Y+E2Y2+Y2−2Yya+ya 2=a2+d2
Y2(E2+1)−2(ED+Exa−ya)Y+(D−xa)2+ya 2−a2−d2=0
ここで、A=(E2+1),B=−2(ED+Exa−ya),C=(D−xa)2 +ya 2−a2−d2とすると、
Y={−B±√(B2−4AC)}/2A …(15)
CPU11は、式(15)を式(14)に代入することで、Xを算出する。
なお、式(15)では、解が2つ存在する。ここで、CPU11は、位置A、B、Cの3点と深度dにより算出された解(図7のS2の処理に相当)との比較し、式(15)の2つの解のうち一方の解を排除して、X,Yを定めてよい。
なお、S4の算出例では、CPU11が、位置A、B、Cの3点と深度dに基づく解を加味して、位置A、Bの2点と深度dに基づく解を導出することを例示したが、これに限られない。例えば、位置A、Bの2点と深度dに基づく解として、実際にはあり得ない解や位置A、B、Dの位置関係を考慮すると見当違いな解が得られる場合がある。このような場合、CPU11は、位置A、B、Cの3点と深度dに基づく解を加味せずに、位置A、Bの2点と深度dを基に、位置Dの3次元位置座標を導出してよい。
このように、海面を航走する海上AUV10A〜10Cは、GPSを用いて自機の位置情報(例えば緯度、経度の情報)を取得し、相互に位置情報を共有する。また、海上AUV10A〜10Cは、定時音響パルスを基に、海中AUV10Dが航走する位置を定期的に把握する。海上AUV10A〜10Cは、海中AUV10Dが、海上AUV毎に設定される稼働範囲(例えば通信範囲Sq)の少なくとも2つから離れた場合、測位不能とならないように、海中AUV10Dへ警告通知(警告信号を送信)したり、海中AUV10Dの航行を一時停止させたりしてよい。
これにより、海上AUV10A〜10Cは、水中測位するための母船を別途用意することを不要にでき、無人探査機としての海上AUV10A〜10Cにより動的に海中AUV10Dを測位できる。また、測位用の無人探査機としての海上AUVを複数台運用することで、音響信号から認識が困難な方位角の情報を不要にできる。よって、海上AUV10A〜10Cは、方位角の情報を用いなくても、海中AUV10Dの水中測位を容易に実施できる。また、方位角の測定誤差がなくなり、海上AUV10A〜10Cは、測位精度を向上できる。
また、海上AUV10A〜10Cのうち少なくとも2つの通信範囲Sqに海中AUV10Dが位置する場合、海中AUV10Dの測位精度が所望のレベルに維持される。一方、海上AUV10A〜10Cのうち1つ以下の通信範囲Sqに海中AUV10Dが位置する場合、海中AUV10Dの測位精度が所望のレベル以下に低下している可能性がある。この場合に、警告信号を発することで、測位精度の低下を抑制できる。また、海上AUV10A〜10Cと海中AUV10Dとの間の距離が通信距離N以上になると、通信が途絶える可能性があるが、これを抑制できる。よって、海中AUV10Dが測位不能となり、行方不明になることを未然に抑制できる。
以上のように、第1の実施形態における水中測位システム5は、水中を潜航(航走の一例)する海中AUV10D(水中航走体の一例)と、水面を航走する3台(複数の一例)の海上AUV10A,10B,10C(水上艇の一例)と、を備える。3台の海上AUV10A,10B,10Cは、海中AUV10Dに定時音響パルス(音響信号の一例)をそれぞれ送信する。海中AUV10Dは、3つの定時音響パルスをそれぞれ受信する。海中AUV10Dは、定時音響パルスの送信時刻と受信時刻とを基に、3台の海上AUV10A,10B,10Cまでの距離La,Lb,Lcをそれぞれ取得する。海中AUV10Dは、深度計33により海中AUV10Dが位置する深度Ld(水深の一例)の情報を取得する。海中AUV10Dは、3つの距離La,Lb,Lcの情報及び深度Ldの情報を3台の海上AUV10A,10B,10Cに送信する。各海上AUV10A〜10Cは、3つの距離La,Lb,Lc及び深度Ldの情報を受信する。3台の海上AUV10A,10B,10Cの少なくとも1つは、3つの距離La,Lb,Lcの情報及び深度Ldの情報に基づいて、海中AUV10Dの水中における3次元位置を算出する。
これにより、水中測位システム5は、海中AUV10Dの3次元位置の座標を取得するまでに至る海中AUV10Dの演算量を低減でき、海中AUV10Dの処理負荷を低減できる。そのため、水中測位システム5は、海中AUV10Dのバッテリ消費量を低減できる。よって、海中AUV10Dの潜航可能時間が長くなり、水中での他の作業(各種調査、探索、掘削等)を行える時間が増大できる。このように、水中測位システム5は、海上AUV10A〜10Cが海中AUV10Dの位置の情報を取得する際、海中AUV10Dの消費電力を低減し、海中AUV10Dの活動時間を長くできる。
また、水中測位システム5は、海上AUV10A〜10Cと海中AUV10Dとが予め時刻を正確に揃えておくことで、送信時刻を含む信号を海上AUV10A〜10Cから送信しなくて済む。つまり、海中AUV10Dは、音響信号が簡単なパルス信号(音響パルス)でも、送信時刻と受信時刻との差(つまり基準時刻からの差分)を把握できる。
なお、海上AUV10A〜10Cは、定時音響パルスに送信時刻を含めた音響信号を海中AUV10Dへ送信してもよい。この場合、予め海上AUV10A〜10Cと海中AUV10Dとが送信時刻を揃えておかなくて済む。また、海上AUV10A〜10Cは、予め決められた時刻ではなく、任意のタイミングにおいて、音響パルスと送信時刻の情報とを含む音響信号を送信できる。
また、海底熱水鉱床では様々な金属が析出される。海底熱水鉱床は、例えば海中の深度2000m程度の箇所に狭い範囲で存在する。したがって、所定基準以上の海中での測位精度が求められる。例えば、水中測位システム5は、深度2000m程度の位置で測位精度を10mや20m程度の範囲に収めることができる。また、海中AUV10Dは、自機の水中測位に係るバッテリ消費量を低減することで、海底熱水鉱床での動作時間を長くできる。
また、海上AUV10A〜10Cの少なくとも1つは、受信した複数の距離La,Lb,Lcの情報のうち、通信距離N(第1の距離の一例)未満である距離の情報が1つ以下である場合、警告信号を送信してよい。
海上AUV10A〜10Cのうち2つ以上が海中AUV10Dとの距離が通信距離N未満である場合、測位精度を確保して海中AUV10Dの位置を測定できる。一方、海上AUV10A〜10Cのうち1つ以下が海中AUV10Dとの距離が通信距離N未満である場合、海中AUV10Dの位置の測位精度が劣化する可能性がある。そのため、海上AUV10Aが、海中AUV10Dの位置を正しく測定できずに、海中AUV10Dと通信不能になって、海中AUV10Dが行方不明になる虞がある。これに対し、海上AUV10A〜10Cは、通信距離N未満である距離の情報が1つ以下である旨を、海中AUV10Dに知らせることができる。海中AUV10Dは、警告信号に従って動作可能である。よって、海上AUV10A〜10Cが、海中AUV10Dの位置を見失う可能性を低減できる。
また、海上AUV10A〜10Cの少なくとも1つは、警告信号として、海中AUVの動作を制御するための制御信号を、海中AUV10Dへ送信してよい。
これにより、海中AUV10Dは、海中AUV10Dが行方不明になる前に、制御信号により未然に海中AUV10Dに対して所望の動作をさせることができる。また、海中AUV10Dが、警告信号に基づいて海中AUV10Dの動作を制御するための制御信号を生成することを抑制でき、海中AUV10Dの処理負荷を軽減できる。
また、海中AUV10Dは、警告信号に基づいて、移動を停止してよい。
これにより、海中AUV10Dは、現在位置よりも海上AUV10A〜10Cから遠ざかり、海中AUV10Dの測位精度が低下し又は不能となることを抑制できる。よって、海中AUV10Dは、自機が行方不明となることを未然に防止できる。
また、海中AUV10Dは、警告信号に基づいて、水面方向へ浮上してよい。
これにより、海中AUV10Dは、水面に浮上して、例えば海上や上空から海中AUV10Dを発見し易くできる。よって、海中AUV10Dは、自機が行方不明となることを未然に防止できる。
また、海上AUV10A〜10Cの少なくとも1つは、警告信号を、海中AUV10Dを監視する監視センタ8(監視装置の一例)へ送信する。
これにより、海上AUV10A〜10Cは、海中AUV10Dの測位精度が所望のレベルよりも低下している可能性があることを監視センタ8に通知でき、監視者へ報知できる。これにより、報知を確認した監視者によって、適切な対処を実施できる。
また、海上AUVの台数は、3台以上でよい。これにより、水中測位システム5は、各海上AUVから海中AUVへの3つ以上の距離を基に、水中AUVの水中での位置を測位でき、距離パラメータが多く使用されることで、測位精度を向上できる。
また、複数の海上AUV10A〜10Cは、それぞれの定時音響パルス(音響信号の一例)を所定の時間差で送信してよい。これにより、水中測位システム5は、各定時音響パルスの送信タイミングがずれることになり、定時音響パルスの衝突を回避でき、測位精度の低下を抑制できる。
海上AUV10A〜10Cは、水面を航走し、海中AUV10Dと通信する。音響トランスポンダ13(音響トランスミッタの一例)は、海中AUV10Dへ定時音響パルス(第1の音響信号の一例)を送信する。音響通信モデム15(音響通信デバイスの一例)は、3台の海上AUV10A〜10Cから海中AUV10Dまでの各距離La−Lcの情報、及び、海中AUV10Dが位置する深度Ld(水深)の情報を受信する。距離La〜Lcは、定時音響パルス、及び他の海上AUV10A〜10Cが海中AUV10Dへ送信する定時音響パルス(第2の音響信号の一例)に基づいて得られる。CPU11(プロセッサの一例)は、距離La〜Lcのうち少なくとも2つの距離の情報と深度Ldの情報とに基づいて、海中AUV10Dの水中における3次元位置を算出する。
これにより、海上AUV10A〜10Cは、海中AUV10Dの3次元位置の座標を取得するまでの海中AUV10Dの演算量を低減でき、海中AUV10Dの処理負荷を低減できる。そのため、海上AUV10A〜10Cは、海中AUV10Dのバッテリ消費量を低減できる。よって、海中AUV10Dは、潜航可能時間を長くでき、水中での他の作業(各種調査、探索、掘削等)を行える時間を増大できる。
海中AUV10Dは、水中を潜航(航走の一例)し、3台の海上AUV10A〜10Cと通信する。音響パルスレシーバ34(音響レシーバの一例)は、3台の海上AUV10A〜10Cのそれぞれから定時音響パルス(音響信号の一例)を受信する。CPU31(プロセッサの一例)は、定時音響パルスの送信時刻と受信時刻を基に、海上AUV10A〜10Cまでの距離をそれぞれ算出する。深度計33は、海中AUV10Dが位置する深度Ldの情報を取得する。音響通信モデム36(音響通信デバイスの一例)は、海中AUV10Dの3次元位置を導出するための3つの距離La〜Lcの情報及び深度Ldの情報を、少なくとも1つの海上AUV10A−10Cへ送信する。
これにより、海上AUV10A〜10Cは、海中AUV10Dの3次元位置を導出するための3つの距離La〜Lcの情報及び深度Ldの情報を、海中AUV10Dから取得できる。したがって、海上AUV10A〜10Cは、海中AUV10Dの3次元位置の座標を算出することで、海中AUV10Dの3次元位置の座標を取得するための海中AUV10Dの演算量を低減でき、海中AUV10Dの処理負荷を低減できる。そのため、海中AUV10Dは、自機の3次元位置の算出に要するバッテリ消費量を低減できる。よって、海中AUV10Dは、潜航可能時間を長くでき、水中での他の作業(各種調査、探索、掘削等)を行える時間を増大できる。
(第2の実施形態)
第1の実施形態では、海中AUVが2つ以上の通信範囲から外れた場合、つまり、複数の海上AUVにより形成された通信範囲のうち、海中AUVが属する通信範囲が1つ以下である場合、海上AUVが警告信号を送信することを例示した。第2の実施形態では、海中AUVが2つ以上の通信範囲Sqから外れた場合、つまり、複数の海上AUVにより形成された通信範囲のうち、海中AUVが属する通信範囲が1つ以下である場合、海上AUVが移動して、複数の海上AUVが再配置されることを例示する。
本実施形態では、海上AUV10A〜10Cは、所定位置に配置された後には、所定のタイミングを除き、移動しなくてよい。海上AUV10A〜10Cは、所定位置に配置された後には、所定のタイミングにおいて、それぞれの位置を再配置してよい。海上AUV10A〜10Cが移動するタイミングを限定することで、海上AUV10A〜10Cの移動に起因するドップラ効果により、海中AUV10Dの測位精度が低下することを抑制できる。
第2の実施形態の水中測位システム5は、第1の実施形態の水中測位システム5とほぼ同一の構成を有する。第1の実施形態の水中測位システム5と同一の構成要素については、同一の符号を用いることで、その説明を省略又は簡略化する。また、海中AUV10Dの構成は、第1の実施形態と同一でよい。
図8は第2の実施形態における海上AUV10A,10B,10Cの構成例を示すブロック図である。海上AUV10A,10B,10Cは、同じ仕様を有するので、海上AUV10Aについて代表して説明する。つまり、海上AUV10B,10Cについても、海上AUV10Aと同様である。なお、本実施形態の海上AUV10A〜10Cについて、第1の実施形態の海上AUV10A〜10Cと同様の構成については、同一の符号を付し、その説明を省略又は簡略化する。
本実施形態の海上AUV10Aは、第1の実施形態の海上AUV10Aと比較すると、CPU11の代わりにCPU11Aを備える。
CPU11Aは、CPU11が有する機能に有する。CPU11Aは、更に、海中AUV10Dが2つ以上の通信範囲Sqから外れた(海中AUV10Dが1つ以下の通信範囲Sqに含まれる)場合、海上AUV10A,10B,10Cの少なくとも1つの移動後の位置を計算してよい。また、CPU11Aは、移動後の位置に海上AUV10Aが実際に移動するように、航走制御してよい。
図9は上空から海面を視た場合に海上及び海中に展開する4つのAUV10の位置関係の一例を示す図である。図9では、海上AUV10A,10B,10C、海中AUV10Dの移動前の位置(通信範囲から外れた位置)をそれぞれps4,ps5,ps6,ps7とする。
図9では、海中AUV10Dが、2つの通信範囲Sqを示す円210B,210Cの重なり合う範囲内から移動し、3つの通信範囲Sqを示す円210A,210B,210Cのいずれの範囲にも含まれない位置に移動することを想定している。
海中AUV10Dが海上AUV10A,10B,10Cのそれぞれの通信範囲Sqのうち少なくとも2つの通信範囲Sqから外れた場合、海中AUV10Dが海上AUV10A,10B,10Cのそれぞれの通信範囲Sqのうち少なくとも2つの通信範囲Sqに属するように移動する。これにより、海上AUV10A,10B,10Cが海中AUV10Dの位置を基準に再配置される。
また、海中AUV10Dが海上AUV10A,10B,10Cのそれぞれの通信範囲Sqのうち少なくとも2つの通信範囲Sqから外れた場合、海上AUV10A,10B,10Cのそれぞれが海中AUV10Dから等距離になるように移動し、再配置されてもよい。この場合、海上AUV10A〜10Cのそれぞれの移動距離が合計された総移動距離が最短になるように、海上AUV10A〜10Cが配置されてよい。
例えば、上空から海面を視た場合、海中AUV10Dを中心とする円周上に、海上AUV10A,10B,10Cが正三角形を形成する位置、つまり120°ずれた位置になるように、再配置されてよい。このように海上AUV10A〜10Cが海中AUV10Dを基点として等間隔に配置されることにより、海中AUV10Dを検出するための音響パルスが送信される方向や位置に偏りがなく、海中AUV10Dの水中測位精度が向上する。また、円周上において正三角形を形成する位置に配置されることで、海中AUV10Dから海上AUV10A〜10Cのそれぞれの位置までが均等に離間される。つまり、各通信距離Nの長さが同じになってよい。これにより、海中AUV10Dが海上AUV10A〜10Cのそれぞれの通信範囲Sqから外れにくくなり、通信範囲Sqを示す2つ以上の円から外れにくくなる。よって、海中AUV10Dが2つ以上の通信範囲Sqから外れる場合に実施される海上AUV10A〜10Cの再配置の頻度を低減できる。つまり、各海上AUV10A〜10Cは、頻繁に移動しなくて済むようになり、移動に要するバッテリ消費を低減できる。また、海上AUV10A〜10Cの総移動距離が最短になるように配置することで、海上AUV10A〜10Cが再配置時の移動に要する電力消費を抑制でき、移動に要する時間を削減できる。
なお、ここでは、海中AUV10Dが、通信範囲Sqを形成する2つの円の重なり合う範囲から移動し、2つ以上の通信範囲Sqから外れたことのイベントによって、海上AUV10A〜10Cの再配置が行われることを例示したが、これに限られない。海上AUV10A〜10Cは、任意のタイミングで再配置されてもよい。これにより、水中測位システム5は、海上AUV10A,10B,10Cと海中AUV10Dの理想的な配置(例えば測位精度が高い配置)を長期にわたって維持できる。
なお、海上AUV10A,10B,10Cは、3つの距離La,Lb,Lcが通信距離N未満となるように移動することに限らず、距離La,Lb,Lcのうち少なくとも2つの距離が通信距離N未満となるように、移動してもよい。
図10は水中測位システム5の動作例を示すシーケンス図である。第1の実施形態において、図6に示した手順と同様の手順については、同一のステップ番号を付すことで、その説明を省略又は簡略化する。
水中測位システム5は、T1〜T5の処理を行う。
海中AUV10Dは、最適な位置Dの座標を選択し、その位置に潜航する(T5A)。最適な位置Dとは、海中AUV10Dが自由に航行する際の任意の位置でよい。
水中測位システム5は、T6〜T13の処理を行う。
海上AUV10A,10B,10Cがそれぞれ海中AUV10Dの位置Dの座標を算出した後、海中AUV10Dまでの距離が最短である海上AUV10Aが、海中AUV10Dに座標Dを通知してよい(T14A)。ここでは、海上AUV10Aから海中AUV10Dまでの距離が最短であると想定するが、海上AUV10B又は10Cから海中AUV10Dまでの距離が最短であり、海上AUV10B又は10Cが海中AUV10Dに座標を通知してもよい。
水中測位システム5は、T17,T19,T21の処理を行う。
海上AUV10Aでは、CPU11Aは、例えば海中AUV10Dを中心とする正三角形となるように、移動後の自機の位置AIを計算する(T24)。海上AUV10Aは、計算した自機の位置AIに移動する(T25)。
同様に、海上AUV10BのCPU11Aは、例えば海中AUV10Dを中心とする正三角形となるように、移動後の自機の位置BJを計算する(T26)。海上AUV10Bは、計算した自機の位置BIに移動する(T27)。
同様に、海上AUV10CのCPU11Aは、例えば海中AUV10Dを中心とする正三角形となるように、移動後の自機の位置CKを計算する(T28)。海上AUV10Cは、計算した自機の位置CKに移動する(T29)。
なお、海上AUV10A,10B,10Cの位置の計算の詳細については、後述する。
このように、海上AUV10A〜10Cは、海上AUV10A,10B,10Cのそれぞれの通信範囲Sqのうち少なくとも2つの通信範囲Sqから海中AUV10Dが外れた場合、例えば同じ円周上で正三角形の頂点に位置するように、海上AUV10A,10B,10Cが再配置されてよい。これにより、海中AUV10Dを検出するための音響パルスが送信される方向や位置に偏りがなく、海中AUV10Dの水中測位精度が向上する。また、海中AUV10Dが海上AUV10A〜10Cのそれぞれの通信範囲Sqから外れにくくなり、通信範囲Sqを示す2つ以上の円から外れにくくなる。
図11は海中AUV10Dが海上AUV10A〜10Cの少なくとも2つの通信範囲Sqから外れた場合における海上AUV10A,10B,10Cの移動を説明する図である。
ここで、海上AUV10A,10B,10Cの移動後の座標をそれぞれAi(Xi,Yi,Zi)、Bj(Xj,Yj,Zj)、Ck(Xk,Yk,Zk)とする。海上AUV10A,10B,10Cの移動後の座標Ai(Xi,Yi,Zi)、Bj(Xj,Yj,Zj)、Ck(Xk,Yk,Zk)は、式(33)で表される。
Ai(Xi,Yi,Zi)=(rcos(i)+Xd,rsin(i)+Yd,0)
Bj(Xj,Yj,Zj)=(rcos(j)+Xd,rsin(j)+Yd,0)
Ck(Xk,Yk,Zk) =(rcos(k)+Xd,rsin(k)+Yd,0)
…(33)
また、海面に平行で海中AUV10Dを中心とした円250Rの半径rは、式(34)で表される。
r=(N2−Zd2)1/2 …(34)
ここで、Nは通信範囲Sqの外縁を表す球面の半径(通信距離)に相当する。Zdは、海中AUV10Dの深度を示す。
iは、移動後の海上AUV10Aの角度パラメータである。角度iの方向にある海上AUV10Aの位置Aiは、座標(Xi,Yi,Zi)で表される。同様に、jは、移動後の海上AUV10Bの角度パラメータである。角度jの方向にある海上AUV10Bの位置Bjは、座標(Xj,Yj,Zj)で表される。同様に、kは、移動後の海上AUV10Cの角度パラメータである。角度kの方向にある海上AUV10Cの位置Ckは、座標(Xk,Yk,Zk)で表される。
海中AUV10Dの位置は、座標(Xd,Yd,Zd)で表される。円250Rの中心点は、座標(Xd,Yd,0)で表される。rは、円250Rの半径を表す。
海上AUV10A,10B,10Cが円250Rの円周上に再配置される場合、式(34)に示すように、海中AUV10Dの深度を示す座標Zdの値が大きい程、つまり、深度Ldが大きい程、円250Rの半径rが小さくなる。つまり、海中AUV10Dの位置が深い程、3台の海上AUV10A,10B,10Cは、小さな円周上に密に配置されることになる。逆に、海中AUV10Dの位置が浅い程、3台の海上AUV10A,10B,10Cは、大きな円周上に疎に配置されることになる。
図12は3台の海上AUV10A,10B,10Cの移動手順の一例を示すフローチャートである。ここでの移動手順は、移動後の海上AUV10A〜10Cの位置の計算及び計算された位置への実際の移動を含んでよい。
なお、図12の移動後の位置計算に係る処理は、図10のT24,T26,T28と同様に、海上AUV10A〜10Cのそれぞれにおいて実施されてよい。また、図12の移動後の位置計算に係る処理は、海上AUV10A〜10Cのいずれかにより代表して実施され、処理後に他の海上AUVに通知され、各海上AUV10A〜10Cで共有されてもよい。
CPU11Aは、まず、通信距離Nを設定する(S11)。通信距離Nは、例えば、水中測位精度として求められるレベルや、音響信号の受信レベルとして求められるレベルが加味されて、決定されてよい。
CPU11Aは、海中AUV10Dの深度Ldと通信距離Nとを基に、式(34)に従い、海中AUV10Dの位置Dを中心とする半径rの円250Rを海面上に設定する(S12)。
CPU11Aは、円250Rの円周上に、120°の角度間隔を持った3点Ai,Bj,Ckを設定する(S13)。ここで、変数i,j,kは、それぞれ円250Rの円周上に設定された3点Ai,Bj,Ckの角度を表す角度パラメータである。
CPU11Aは、初期値として、Di=0,i=j=k=0とし、flag=0に設定する(S14)。総移動距離Diは、各海上AUV10A〜10Cの再配置を行う際、海上AUV10A〜10Cのそれぞれが移動する距離の合計を表す。フラグflagは、メモリ16に記憶され、海上AUV10A〜10Cの再配置のパターンを示す。例えば、flag=0の場合、円250Rの円周上を左回り(反時計回り)に、海上AUV10A,10B,10Cが順に並ぶことを表す。flag=1の場合、例えば、円250Rの円周上を右回り(時計回り)に、海上AUV10A,10B,10Cが順に並ぶことを表す。
CPU11Aは、変数iを値0から値1ずつ増加させていき、値nになるまで繰り返すループ処理を開始する(S15)。ここでは、値1は1°に相当し、値nは360°に相当してよい。
CPU11Aは、フラグflagが値0であるか否かを判別する(S16)。フラグflagが値0である場合、CPU11Aは、角度iに対し、角度j=i+120°、角度k=i+240°に設定する(S17)。これにより、海上AUV10A,10B,10Cが左回りに並ぶように再配置される。一方、フラグflagが値1である場合、CPU11Aは、角度iに対し、角度j=i−120°、角度k=i−240°に設定する(S18)。これにより、海上AUV10A,10B,10Cが右回りに並ぶように再配置される。
S17、S18の処理後、CPU11Aは、現在の海上AUV10Aの位置Aと円250R上に設定された点Aiとの差分である距離Adiを計算する(S19)。同様に、CPU11Aは、現在の海上AUV10Bの位置Bと円250R上に設定された点Bjとの差分である距離Bdjを計算する(S19)。同様に、CPU11Aは、現在の海上AUV10Cの位置Cと円250R上に設定された点Ckとの差分である距離Cdkを計算する(S19)。
CPU11Aは、距離Adiと距離Bdjと距離Cdkとを加算し、総移動距離Diを算出する(S20)。
CPU11Aは、今回のループで算出した総移動距離Diと前回のループで算出した総移動距離Di−1とを比較し、Di<Di−1であるか否かを判別する(S21)。なお、i=0の場合のDi−1を大きな値としておき、i=1の場合にDi<Di−1を満たすようにしておいてよい。なお、DiとDiは、同じ総移動距離を意図している。
S21において、Di<Di−1でない場合、CPU11Aは、S23の処理に進む。一方、S21において、Di<Di−1である場合、CPU11Aは、メモリ16に記憶された変数I,J,Kの値を、角度i,j.kの値に変更する(S22)。これにより、メモリ16には、総移動距離Diが短くなる角度i,j.kの値が、変数I,J,Kの値として記憶される。この場合、総移動距離Diも併せてメモリ16に記憶されてもよい。
CPU11Aは、角度iがn未満の最大値となるまでループ処理を繰り返したか否かを判別する(S23)。ループ処理を終了しない場合、CPU11Aは、S15に進み、同様の処理を繰り返す。
ループ処理を終了すると、メモリ16には、総移動距離Diとなる角度i,j.kが変数I,J,Kの値としてメモリ16に記憶される。
CPU11Aは、フラグflagが値1であるか否かを判別する(S24)。フラグflagが値0である場合、CPU11Aは、海上AUV10A,10B,10Cが右回りに並ぶように、フラグflagを値1に変更する(S25)。そして、CPU11Aは、S15に進む。この後、海上AUV10A,10B,10Cが左回りに並ぶように再配置を行う場合と同様、右回りに並ぶように再配置を行う場合の総移動距離Diの計算が行われる。
これにより、左回りに再配置される場合と右回りに再配置される場合との双方において、最短の総移動距離Diとなる角度i,j.kが、変数I,J,Kの値としてメモリ16に記憶される。
一方、S24でフラグflagが値1である場合、左回り、右回りの双方の計算が終了しているので、最短となる総移動距離Diの演算を終了する。そして、CPU11Aは、総移動距離Diが最短となる変数I,J,Kに対応する各位置AI、BJ、CKのそれぞれに、海上AUV10A,10B,10Cのそれぞれを移動させる(S26)。この後、CPU11Aは、本処理を終了する。
図12の動作例によれば、水中測位システム5は、海中AUV10Dの海中測位に係る海中AUV10Dの演算量を低減でき、海中AUV10Dの処理負荷を低減できる。そのため、水中測位システム5は、海中AUV10Dのバッテリ消費量を低減できる。よって、海中AUV10Dの潜航可能時間が長くなり、水中での他の作業(各種調査、探索、掘削等)を行える時間が増大できる。
また、海上AUV10A〜10Cは、3つの通信範囲Sqのうち2つ以上の通信範囲Sqから海中AUV10Dが外れた場合、水中測位を十分に行うことが困難となるので、海上AUV10A〜10Cの少なくとも1つが移動する。つまり、海上AUV10A〜10Cは、海中AUV10Dの水中測位の精度を改善するように移動するので、海中AUV10Dが行方不明となることを抑制できる。
なお、図12では、海上AUV10A〜10Cの配列が左回り、その逆の右回りの双方が考慮されたが、いずれか一方のみ考慮されてもよい。例えば、メモリ16に左回り、右回りのいずれかの情報をプリセットしておき、その配列における最短の総移動距離が導出されてもよい。
このように、海上AUV10A〜10Cは、海中AUV10Dが海上AUV毎に設定される稼働範囲(例えば通信範囲Sq)の少なくとも2つから離れた場合、海中AUV10Dと各海上AUV10A〜10Cとの間の距離が等距離となるように、再配置されてよい。
これにより、海上AUV10A〜10Cは、海中AUV10Dから一定範囲(例えば通信距離Nの範囲内)において等距離に配置可能である。そのため、海上AUV10A〜10Cのそれぞれから送信される信号を海中AUV10Dが受信する際の受信感度が低下することを抑制できる、したがって、海上AUV10A〜10Cは、海中AUV10Dの水中測位に係る測位精度の低下を抑制できる。
また、海上AUV10A〜10Cのうち少なくとも2つの通信範囲Sqに海中AUV10Dが位置する場合、海中AUV10Dの測位精度が所望のレベルに維持される。一方、海上AUV10A〜10Cのうち1つ以下の通信範囲Sqに海中AUV10Dが位置する場合、海中AUV10Dの測位精度が所望のレベル以下に低下している可能性がある。この場合に、海上AUV10A〜10Cが移動することで、測位精度の低下を抑制できる。また、海上AUV10A〜10Cは、可能な限り通信距離Nが短くなるように再配置されることで、海中AUV10Dの測位精度を更に向上できる。通信距離Nが短くなる程、水温等により変動する音速の影響を受けにくくなるためである。
以上のように、第2の実施形態における水中測位システム5では、海上AUV10A〜10Cの少なくとも1つは、受信した距離La,Lb,Lcの情報のうち、通信距離N(第1の距離の一例)未満である距離の情報が1つ以下である場合、少なくとも2つの距離が、通信距離N(第2の距離の一例)未満となるように、移動する。なお、第2の距離は、第1の距離と異なってもよい。
これにより、水中測位システム5では、海上AUV10A〜10Cの少なくとも1つが移動することで、海上AUV10A〜10Cの通信範囲Sqの少なくとも2つの範囲内に位置するように、海中AUV10Dを復帰させることができる。また、水中測位システム5は、海中AUV10Dが移動しなくて済むので、海中AUV10Dの消費電力の低下を抑制できる。
また、海上AUV10A〜10Cの少なくとも1つは、海中AUV10Dの3次元位置からの距離が通信距離Nとなる水面の円上(例えば円250Rの円周上)において、3台の海上AUV10A〜10Cの間隔と等間隔になるように移動してよい。円上で等間隔に配置されることは、円上に等角度に配置されることと相当してよい。
これにより、水中測位システム5は、海中AUV10Dが再度、海上AUV10A〜10Cの通信範囲Sqの少なくとも2つの範囲外に出るまでの距離が遠くなり、海上AUV10A〜10Cが移動後の位置において海中AUV10Dを監視可能な時間を長く確保できる。また、水中測位システム5は、海上AUV10A〜10Cが等間隔に配置されることで、海中AUV10Dの周囲からの音響信号(例えば音響パルス)を対称的な複数の方向から得られ、海中AUV10Dの測位精度を向上できる。また、海上AUV10A〜10Cが円上に等間隔で配置されることで、水面上の3つの通信範囲Sqのうち少なくとも2つの重なり合う部分の面積が多くなり、海中AUV10Dが少なくとも2つの通信範囲Sqの重なり合う範囲から外れにくくなる。
また、海上AUV10A〜10Cの少なくとも1つは、3台の海上AUV10A〜10Cの総移動距離(移動距離の合計の一例)に基づいて、3台の海上AUV10A〜10Cのそれぞれの移動後の位置を決定し、決定されたそれぞれの位置へ3台の海上AUV10A〜10Cのそれぞれが移動してよい。
これにより、水中測位システム5は、各海上AUV10A〜10Cの総移動距離をなるべく短縮できる。そのため、水中測位システム5は、各海上AUV10A〜10Cの移動に要する時間を短縮できる。したがって、海上AUV10A〜10Cが迅速に移動可能となることで、水中測位システム5は、海中AUV10Dに追従する速度を向上でき、海中AUV10Dの位置を見失うことを低減できる。
以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
上記実施形態では、海中AUV10Dが海上AUV10A〜10Cにそれぞれまでの距離La,Lb,Lcを計算することを例示した。この代わりに、海中AUV10Dは、海上AUV10A〜10Cのそれぞれからの定時音響パルスの受信時刻の情報を海上AUV10A〜10Cのそれぞれに送信し、海上AUV10A〜10Cのそれぞれが音響パルスの受信時刻を用いて距離La,Lb,Lcを算出してもよい。これにより、海中AUV10Dの演算処理を更に低減でき、消費電力を抑制できる。
上記実施形態では、海上AUV10A〜10Cと海中AUV10Dとは、異なる仕様で構成されることを例示したが、同じ仕様で構成されてもよい。同じ仕様で構成された場合、4つのAUV10のいずれが海中AUV10Dになってもよいし、海上AUV10A〜10Cになってもよい。これにより、例えばAUV10のいずれか1台が故障し航走困難となった場合でも、AUV10の役割(例えば海中AUVとしての機能、海上AUVとしての機能)を柔軟に変更可能である。
上記実施形態では、海上AUVの数を、4つ以上としてもよい。この場合、例えば海上AUVから海中AUVまでの距離を4つ以上取得することができ、海中AUV10Dの測位に用いる距離パラメータの数が増えることで、水中測位精度を更に向上できる。
上記実施形態では、海上、海中、海底、等をAUV10が移動することを例示したが、AUV10は、海に限られず、海以外の水上、水中、水底を航走してもよい。
上記実施形態では、プロセッサは、物理的にどのように構成してもよい。また、プログラム可能なプロセッサを用いれば、プログラムの変更により処理内容を変更できるので、プロセッサの設計の自由度を高めることができる。プロセッサは、1つの半導体チップで構成してもよいし、物理的に複数の半導体チップで構成してもよい。複数の半導体チップで構成する場合、上記実施形態の各制御をそれぞれ別の半導体チップで実現してもよい。この場合、それらの複数の半導体チップで1つのプロセッサを構成すると考えることができる。また、プロセッサは、半導体チップと別の機能を有する部材(コンデンサ等)で構成してもよい。また、プロセッサが有する機能とそれ以外の機能とを実現するように、1つの半導体チップを構成してもよい。また、複数のプロセッサが1つのプロセッサで構成されてもよい。