(58)【調査した分野】(Int.Cl.,DB名)
前記設定部は、前記スワスデータに含まれる前記2次元位置の中から前記測線に対する最近ポイントと最遠ポイントとの間の所定ポイントを抽出し、前記所定ポイントを通る線を前記次の測線とする、請求項1に記載の移動体システム。
前記設定部は、折れ点数を設定し、前記折れ点数に基づいて前記測線を線分に区分し、前記線分に対応する前記スワスデータ毎に含まれる前記2次元位置の中から前記測線に対する最近ポイントと最遠ポイントとの間の所定ポイントを抽出し、抽出された前記各所定ポイントを結んで得られる折れ線を前記次の測線とする、請求項2に記載の移動体システム。
前記設定部によって設定される前記次の測線を前記測線に平行な平行線にする平行線モードかそれとも折れ線にする折れ線モードかのいずれかを選択する選択部をさらに含む、請求項1から5のいずれかに記載の移動体システム。
【発明を実施するための形態】
【0021】
以下、図面を参照してこの発明の好ましい実施形態について説明する。
【0022】
図1を参照して、この発明の一実施形態に係る移動体システム10は、水上を移動する無人艇12および基地局14を含む。なお、この発明の実施形態における、前後、左右、上下とは、無人艇12を基準とした前後、左右、上下を意味する。また、この発明の実施形態では、無人艇12が移動体に相当する。
【0023】
図1〜
図3を参照して、無人艇12は、艇体16、ソナー計測用PC18、ソナー20、自動航行コントローラ22、船外機24、バッテリ26、発電機28、測位装置30、および無線LANアンテナ32a,32bを含む。
【0024】
艇体16は、前後方向に延び、本体部34およびカバー部36を有する。本体部34は、下方に向かって凹むように形成される。また、本体部34の底部38の前後方向の中央よりもやや前方には、略T字状の穴40が形成される。カバー部36は、本体部34の上方に取り付けられる。
【0025】
ソナー計測用PC18は、カバー部36の前後方向の中央よりもやや前方に設けられる。
【0026】
ソナー20は、ヘッド42および船上ユニット44を有する。ヘッド42は、本体部34の前後方向の中央よりもやや前方において、ヘッド42の下部が穴40から露出するように設けられる。
図4をも参照して、ヘッド42は、湖底に向かって略扇状のマルチビームを発射し、湖底までの距離等を計測する。船上ユニット44は、ヘッド42よりも上方において、後述するGPS受信部56の上部に取り付けられる。船上ユニット44は、ソナー計測用PC18、ヘッド42およびGPS受信部56に電気的に接続され、ソナー計測用PC18、ヘッド42およびGPS受信部56が、相互に情報の送受信を行えるようにする。
【0027】
自動航行コントローラ22は、本体部34の前後方向の中央よりもやや後方に取り付けられる制御箱46内に格納される。
【0028】
船外機24は、主機ドライバ48および操舵サーボドライバ50を有し、本体部34の後端部に取り付けられる。主機ドライバ48は、船外機24のスクリュー52を回転させるために船外機24の上部に位置する。主機ドライバ48としては、たとえば、モータが用いられる。操舵サーボドライバ50は、船外機24を左右に回動させるために主機ドライバ48の下方に位置する。
【0029】
バッテリ26は、本体部34の後部に設けられる。
【0030】
発電機28は、カバー部36の後部に設けられる。
【0031】
測位装置30は、GPSアンテナ54a,54b、GPS受信部56および姿勢センサ58を有する。GPSアンテナ54aは、カバー部36の前部に取り付けられる支柱60の上端部に設けられ、GPSアンテナ54bは、カバー部36の後部に取り付けられる支柱62の上端部に設けられる。GPSアンテナ54a,54bは、GPS衛星64(
図5参照)からのGPS信号を受信する。GPS受信部56は、本体部34の前後方向の中央よりもやや前方において、ヘッド42の上方に設けられる平板66上に取り付けられる。GPS受信部56は、GPSアンテナ54a,54bが受信したGPS信号に基づいて、無人艇12の位置および向きを算出する。姿勢センサ58は、ヘッド42の前方において本体部34に取り付けられ、無人艇12の傾きを検出する。
【0032】
無線LANアンテナ32aは、支持部材68を介して支柱60に取り付けられ、無線LANアンテナ32bは、支持部材70を介して支柱62に取り付けられる。
【0033】
基地局14は、基地局PC74、無線LANルータ76および無線LANアンテナ78を含み、たとえば、陸上に設置される。
【0034】
図5を参照して、移動体システム10の電気的構成について説明する。
【0035】
ソナー計測用PC18は、無人艇12が沿って移動するための測線を設定する機能を有する。測線とは、無人艇12がソナー20で計測しながら移動する際に、移動の目標とする水面上の仮想線である。また、ソナー計測用PC18は、ソナー20(船上ユニット44)に接続され、ソナー20(ヘッド42)によって計測された計測データおよび測位装置30によって算出された無人艇12の位置情報に基づいて、湖底の地形を表す3次元位置を含むスワスデータを算出する機能を有する。さらに、ソナー計測用PC18は、算出したスワスデータに基づいて、無人艇12が沿って移動するための次の測線を設定する機能を有する。また、ソナー計測用PC18は、ソナー20(船上ユニット44)を介して測位装置30に接続されており、無人艇12の位置情報を取得することができる。さらに、ソナー計測用PC18は、測位系ネットワークハブ80を介しても測位装置30に接続されており、これによって測位装置30の設定の変更等を行うことができる。
【0036】
自動航行コントローラ22は、測位系ネットワークハブ80を介して測位装置30に接続され、無人艇ネットワークハブ82を介してソナー計測用PC18に接続される。自動航行コントローラ22は、測位装置30から得られる無人艇12の位置および向きの情報と、ソナー計測用PC18から得られる無人艇12が沿って移動するための測線の情報とに基づいて、無人艇12を測線に沿って移動させる。自動航行コントローラ22は、主機ドライバ48、操舵サーボドライバ50およびバッテリ26にも接続される。自動航行コントローラ22、主機ドライバ48、操舵サーボドライバ50およびバッテリ26は、たとえばコントローラエリアネットワーク(Controller Area Network:CAN)を介して、接続される。自動航行コントローラ22は、無人艇12を測線に沿って移動させるとき、主機ドライバ48を作動させることによってスクリュー52(
図1参照)を回転させ、無人艇12を前進させる。また、自動航行コントローラ22は、操舵サーボドライバ50を作動させることによって無人艇12を左右に旋回させる。自動航行コントローラ22は、無人艇12の移動を終了させるとき、主機ドライバ48および操舵サーボドライバ50を停止する。
【0037】
基地局PC74とソナー計測用PC18および自動航行コントローラ22とは、無線LANルータ76および無線LANアンテナ78と、無線LANルータ84および無線LANアンテナ32a,32bとを介して、相互に通信可能となる。したがって、基地局PC74とソナー計測用PC18との間でデータの送受信等を行える他、基地局PC74を用いてソナー計測用PC18および自動航行コントローラ22を遠隔操作することができる。
【0038】
なお、この実施形態では、ソナー計測用PC18とソナー20と測位装置30とが、検出部に相当する。また、ソナー計測用PC18が、設定部、制御部および選択部に相当する。
【0039】
以下、移動体システム10の動作について説明する。
【0040】
図5および
図6を参照して、ソナー計測用PC18を用いて移動体システム10の初期設定を行う。このとき、ユーザーは、基地局PC74を用いてソナー計測用PC18を遠隔操作することによって、基地局14に居ながら移動体システム10の初期設定を行うことができる。まず、無人艇12が最初に沿って移動するための測線を作成する(ステップS1)。この実施形態では、無人艇12が最初に沿って移動するための測線を基準測線という。たとえば、
図13(a)を参照して、基準測線A1を作成するときは、水面上における始点BのX座標とY座標、および終点CのX座標とY座標を設定し、始点Bと終点Cとを結んだ直線を基準測線A1とすることができる。基準測線を作成した後は、基準測線に対するソナー20による計測作業の進行方向を設定する(ステップS3)。たとえば、
図13(a)に示すように、基準測線A1に対する計測作業の進行方向Dを設定する。進行方向Dは、次の測線を設定する方向でもある。計測作業の進行方向を設定した後は、計測作業を終了するか否かの判定の基準となる深さを示す第1閾値を設定する(ステップS5)。第1閾値を設定した後は、無人艇12が現在沿って移動中の測線を途中で放棄するか否かの判定の基準となる深さを示す第2閾値を設定する(ステップS7)。ここで、「測線を途中で放棄する」とは、無人艇12が測線の終点まで辿り着く前に、無人艇12の測線に沿った移動を終了することをいう。測線を放棄した位置から測線の終点までの区間は、計測作業を行わない。たとえば、
図13(d)を参照して、無人艇12が、基準測線A1に沿って移動中に第2閾値よりも浅いスワスデータE2を検出した場合、無人艇12は、基準測線A1に沿った移動を終了する、すなわち基準測線A1を途中で放棄する。そして、基準測線A1を放棄した位置Fから基準測線A1の終点Cまでの区間Gについては計測作業を行わない。
【0041】
図5および
図7を参照して、初期設定(ステップS1〜S7)を行った後、ユーザーは、基地局PC74を用いてソナー計測用PC18を遠隔操作することによって、計測作業開始の操作を行う。たとえば、ソナー計測用PC18の画面上に表示された計測作業開始のボタンをクリックする。計測作業開始の操作を行うと、ソナー計測用PC18は、変数Mを1とし(ステップS9)、自動航行コントローラ22に自動航行開始の指示を与える。
【0042】
自動航行開始の指示を受けた自動航行コントローラ22は、主機ドライバ48および操舵サーボドライバ50を作動させ、無人艇12を測線に沿って移動させる(ステップS11)。
【0043】
図4をも参照して、無人艇12が測線に沿って移動を開始すると、ソナー20は、ヘッド42から湖底(水中)に向かってマルチビームを照射し、湖底までの距離等の計測を開始する。そして、ソナー計測用PC18は、ソナー20によって計測された計測データおよび測位装置30によって算出された無人艇12の位置情報に基づいて、湖底の地形を表す3次元位置を含むスワスデータを検出する(ステップS13)。湖底の地形を表す3次元位置とは、2次元位置および深さを含み、2次元位置はX座標およびY座標で示され、深さはZ座標で示される。ここで、2次元位置とは、ユニバーサル横メルカトル図法の座標をいい、深さとは、水面から湖底までの鉛直方向の距離をいう。このように、この実施形態では、無人艇12が測線に沿って移動中に、ソナー計測用PC18とソナー20と測位装置30とによって、地形を表す3次元位置を含む水中のスワスデータを検出する。
【0044】
スワスデータを検出すると、ソナー計測用PC18は、測位装置30によって算出された無人艇12の位置情報と、無人艇12が沿って移動中の測線の情報とに基づいて、無人艇12が測線の終点に位置しているか否かを判定する(ステップS15)。無人艇12が測線の終点に位置していなければステップS17に進み、無人艇12が測線の終点に位置していればステップS19に進む。
【0045】
ステップS17では、ソナー計測用PC18が、ステップS13で検出されたスワスデータのうち、第2閾値よりも浅いスワスデータがあるか否かを判定する。第2閾値よりも浅いスワスデータがあればステップS19に進み、第2閾値よりも浅いスワスデータがなければステップS13に戻ってスワスデータの検出を行う。なお、この実施形態では、ステップS17からステップS19に進んだ場合、測線を途中で放棄したことを示す。
【0046】
ステップS19では、ソナー計測用PC18が、自動航行コントローラ22に自動航行終了(測線に沿った移動の終了)の指示を与え、スワスデータの検出を終了する。ソナー計測用PC18から指示を受けた自動航行コントローラ22は、主機ドライバ48および操舵サーボドライバ50を停止させ、無人艇12の移動を終了させる。
【0047】
図13(b)〜(d)を参照して、たとえば、無人艇12を基準測線A1の始点Bから終点Cに向かって移動させ、
図13(b)に示すように、無人艇12が基準測線A1の終点Cに位置しておらずかつ第2閾値よりも浅いスワスデータが検出されていない場合は、基準測線A1に沿って移動しながらスワスデータEの検出を繰り返し行う。
図13(c)に示すように、無人艇12が基準測線A1の終点Cまで辿り着いた場合は、基準測線A1に沿った移動およびスワスデータEの検出を終了する。
図13(d)に示すように、第2閾値よりも浅いスワスデータE2が検出された場合には、基準測線A1を途中で放棄し、基準測線A1に沿った移動およびスワスデータEの検出を終了する。
【0048】
スワスデータの検出が終了すると、ソナー計測用PC18が、ステップS13で検出されたスワスデータのうち、第1閾値よりも浅いスワスデータがあるか否かを判定する(ステップS21)。第1閾値よりも浅いスワスデータがあれば、次の測線の設定を実行せず、計測作業を終了する。第1閾値よりも浅いスワスデータがなければ、ステップS23に進む。たとえば、
図13(c)に示すように、第1閾値よりも浅いスワスデータE1が検出されていた場合は、次の測線を設定することなく、計測作業を終了する。
【0049】
ステップS23では、ユーザーが基地局14からソナー計測用PC18を遠隔操作することによって、ソナー計測用PC18は、次の測線を、基準測線に平行な平行線にする平行線モードか、それとも折れ線にする折れ線モードかを選択する。
【0050】
ソナー計測用PC18は、ステップS23で選択されたモードが折れ線モードか否かを判定する(ステップS25)。選択されたモードが折れ線モードでなければ、ステップS27に進み、選択されたモードが折れ線モードであれば、ステップS29に進む。
【0051】
図5、
図7および
図9を参照して、平行線モードの測線データ算出(ステップS27)について説明する。
【0052】
ソナー計測用PC18は、変数Nmaxを1とし(ステップS101)、ステップS13で検出した全てのスワスデータのうち、直近の測線から計測作業の進行方向側にあるスワスデータを全て選択する(ステップS103)。ここで、直近の測線を途中で放棄した場合には、測線を放棄するまでに検出されたスワスデータのうち、測線から計測作業の進行方向側にあるスワスデータを選択する。
【0053】
ソナー計測用PC18は、ステップS103で選択されたスワスデータのZ座標を0(水面上)に設定する(ステップS104)。ソナー計測用PC18は、ステップS104でZ座標が0に設定されたスワスデータのうち、測線からの最遠ポイントを抽出する(ステップS105)。この実施形態では、最遠ポイントは、沿って移動していた直近の測線に対して垂直な方向において、沿って移動していた直近の測線から最も遠い座標である。
【0054】
ソナー計測用PC18は、ステップS105で抽出された最遠ポイントを通り、基準測線に平行な直線を算出する(ステップS107)。
【0055】
ソナー計測用PC18は、ステップS107で算出された直線上で、基準測線の始点から最も近い点を点P0とし、基準測線の終点から最も近い点を点PNmax+1とする(ステップS109)。ここで、ステップS101において変数Nmax=1としているので、PNmax+1=P2となる。
【0056】
そして、ソナー計測用PC18は、測線を途中で放棄したか否かを判定し(ステップS111)、測線を途中で放棄していればステップS113に進み、測線を放棄していなければステップS115に進む。この実施形態では、ステップS17からステップS19に進んでいれば測線を途中で放棄したと判定し、ステップS15からステップS19に進んでいれば測線を放棄していないと判定する。
【0057】
測線を途中で放棄している場合、ソナー計測用PC18は、ステップS107で算出した直線上において、測線を放棄したときの無人艇12の位置から最も近い点を点PNmaxとして(ステップS113)、処理を終了する。ここで、変数Nmax=1より、PNmax=P1となる。
【0058】
一方、測線を途中で放棄していない場合、ソナー計測用PC18は、点PNmaxを点PNmax+1として(ステップS115)、処理を終了する。ここで、変数Nmax=1より、P1=P2となる。すなわち、測線を途中で放棄していない場合、ステップS113で設定されたP1に相当する値は存在しないので、
図8のステップS39,S41の処理を適切に実行できるように、P1としてP2を用いる。ここで、P1としてP0を用いてもよい。
【0059】
図14(a)および(b)を参照して、たとえば、
図14(a)に示すように、無人艇12が基準測線A1の終点Cまで辿り着いて自動航行を終了した場合には、基準測線A1よりも計測作業の進行方向D側(右側)にあるスワスデータE3を全て選択する。そして、スワスデータE3の中から最遠ポイントHを抽出し、最遠ポイントHを通りかつ基準測線A1に平行な直線A2を算出する。直線A2上で基準測線A1の始点Bから最も近い点を点P0とし、直線A2上で基準測線A1の終点Cから最も近い点を点P2とする。最後にP1としてP2を用いる。
図14(b)に示すように、基準測線A1を途中で放棄して自動航行を終了した場合には、
図14(a)に示す場合と同様の方法でP0とP2とを算出する。そして、直線A2上において、基準測線A1を放棄したときの無人艇12の位置Fから最も近い点を点P1とする。
【0060】
図5、
図7および
図10を参照して、折れ線モードの測線データ算出(ステップS29)について説明する。
【0061】
ユーザーは、基地局14からソナー計測用PC18を遠隔操作して、次の測線の折れ点数として変数Nmaxを設定する(ステップS201)。また、ユーザーは、後述する
図11に示すステップS311で使用する規定値を設定する(ステップS203)。規定値としては、水面上の任意のX座標およびY座標を設定すればよく、たとえば、(X,Y,Z)=(0,0,0)とする。
【0062】
ソナー計測用PC18は、基準測線の長さと、ステップS201で設定された折れ点数(変数Nmax)とに基づいて、基準測線を折れ点数(変数Nmax)と同じ数の区間に分け、区間ごとの線分L1〜LNmaxを算出する(ステップS205)。
【0063】
図15(a)および(b)を参照して、たとえば、
図15(a)に示すように、無人艇12が基準測線A1の終点Cまで辿り着いて自動航行を終了した場合には、基準測線A1を変数Nmaxと同じ数の区間に分け、区間ごとの線分L1〜LNmaxを算出する。
図15(b)に示すように、基準測線A1を途中で放棄して自動航行を終了した場合にも、
図15(a)に示す場合と同様の方法で線分L1〜LNmaxを算出する。
【0064】
ソナー計測用PC18は、線分L1〜LNmaxを算出すると、各線分L1〜LNmaxに対応する折れ点P1〜PNmaxを算出する(ステップS207)。
【0065】
図11を参照して、折れ点P1〜PNmaxの算出(ステップS207)について説明する。ソナー計測用PC18は、ステップS13で検出した全てのスワスデータのうち、測線から計測作業の進行方向側にあるスワスデータを選択する(ステップS301)。ここで、測線を途中で放棄した場合には、測線を放棄するまでに検出されたスワスデータのうち、測線から計測作業の進行方向側にあるスワスデータを選択する。
【0066】
ついで、ソナー計測用PC18は、変数Nを1とし(ステップS303)、測線から計測作業の進行方向側にあるスワスデータのうち、線分LNの区間において計算に用いるべきスワスデータを選択する(ステップS305)。
【0067】
ソナー計測用PC18は、選択可能なスワスデータが存在するか否かを判定し(ステップS307)、存在する場合、ステップS308に進む。測線を途中で放棄したことによって、選択可能なスワスデータが存在しない場合、ステップS311に進む。
【0068】
ステップS308では、ソナー計測用PC18は、ステップS305で選択されたスワスデータのZ座標を0(水面上)に設定する。ステップS309では、ソナー計測用PC18は、ステップS308でZ座標が0に設定されたスワスデータのうち、線分LNからの最遠ポイントを抽出する。そして、ソナー計測用PC18は、抽出した最遠ポイントを点PNとし、N番目の折れ点とする(ステップS313)。
【0069】
一方、ステップS311では、ステップS309のように最遠ポイントを抽出することができないので、ソナー計測用PC18は、点PNの座標値を一時的にステップS203で設定しておいた規定値とする。
【0070】
このようにして点PNを算出すると、ソナー計測用PC18は、NがNmaxより小さいか否かを判定し(ステップS315)、NがNmaxより小さければNに1を加えて(ステップS317)、ステップS305に戻り、折れ点の算出を繰り返し行う。NがNmaxより小さくなければ処理を終了する。
【0071】
図15(a)および(b)を参照して、たとえば、
図15(a)に示す場合には、基準測線A1から計測作業の進行方向D側にあるスワスデータE3を全て選択する。そして、まず、スワスデータE3のうち線分L1の区間において計算に用いるべきスワスデータE31を選択し、スワスデータE31のZ座標を0に設定する。ついで、Z座標が0に設定されたスワスデータのうち、線分L1に対して垂直な方向における最遠ポイントを抽出し、抽出した最遠ポイントを点P1とし、1番目の折れ点とする。これを線分L2〜LNmaxの区間についても同様に行い、スワスデータE32〜E3Nmaxに基づいて点P2〜PNmaxをそれぞれ算出する。
図15(b)に示す場合には、線分L1〜L3の区間については、
図15(a)に示す場合と同様に処理を行う。線分L4〜LNmaxの区間Gについては、選択可能なスワスデータが存在せず、点P4〜PNmaxを算出できない。したがって、点P4〜PNmaxの座標値を、一時的に規定値とする。
【0072】
図10に戻って、ソナー計測用PC18は、ステップS207において一時的に規定値とされた点PNがある場合、点PNを規定値ではない点P1〜PNmaxのいずれかに置き換える(ステップS209)。
【0073】
図12および
図16を参照して、点P1〜PNmaxへの置き換えについて説明する。
【0074】
まず、ソナー計測用PC18は、点P1が規定値か否かを判定する(ステップS401)。点P1が規定値であれば、ステップS403に進む。点P1が規定値でなければ、ステップS405に進む。ここで、点P1が規定値の場合とは、たとえば
図16(a)に示すように、復路において測線を途中で放棄した場合である。点P1が規定値でない場合とは、たとえば
図16(b)に示すように、往路において測線を途中で放棄した場合である。なお、点P0側から点PNmax+1側(始点B側から終点C側)に向かって移動する場合が往路であり、点PNmax+1側から点P0側に向かって移動する場合が復路である。
【0075】
ステップS403では、変数NをNmaxとし、点PNが規定値か否かを判定する(ステップS407)。点PNが規定値でなければステップS409に進む。点PNが規定値であれば、点PNを点PN+1に置き換えて(ステップS411)、ステップS409に進む。ステップS409では、変数Nが1か否かを判定し、変数Nが1でなければ変数Nから1を減じて(ステップS413)ステップS407に戻り、処理を繰り返し行う。変数Nが1であれば処理を終了する。
【0076】
図16(a)に示すように、たとえば、復路において測線を途中で放棄し点P1〜PNmax−4が規定値とされている場合、点PNmax〜P1の順番に規定値か否かが判定される。点PNmax〜PNmax−3は規定値ではないので、置き換えの処理は行われない。点PNmax−4は規定値であるので、点PNmax−3に置き換えられる。ついで、点PNmax−5は規定値であるので、点PNmax−4に置き換えられる。点PNmax−4は点PNmax−3に置き換えられているので、点PNmax−5は点PNmax−3に置き換えられたことになる。同様の処理を繰り返し行うことで、点P1〜PNmax−4は、点PNmax−3に置き換えられる。
【0077】
一方、ステップS405では、変数Nを1とし、点PNが規定値か否かを判定する(ステップS415)。点PNが規定値でなければステップS417に進む。点PNが規定値であれば、点PNを点PN−1に置き換えて(ステップS419)、ステップS417に進む。ステップS417では、変数NがNmaxか否かを判定し、変数NがNmaxでなければ、変数Nに1を加えて、ステップS415に戻り、変数NがNmaxであれば処理を終了する。
【0078】
図16(b)に示すように、たとえば、往路において測線を途中で放棄し点P4〜PNmaxが規定値とされている場合、点P1〜PNmaxの順番に規定値か否かが判定される。点P1〜P3は規定値ではないので、置き換えの処理は行われない。点P4は規定値であるので、点P3に置き換えられる。ついで、点P5は規定値であるので、点P4に置き換えられる。点P4は点P3に置き換えられているので、点P5は点P3に置き換えられたことになる。同様の処理を繰り返し行うことで、点P4〜PNmaxは、点P3に置き換えられる。
【0079】
図10に戻って、点P1を通り基準測線に平行な直線を算出し、その直線上で基準測線の始点に最も近い点を点P0とする(ステップS211)。そして、点PNmaxを通り基準測線に平行な直線を算出し、その直線上で基準測線の終点に最も近い点を点PNmax+1とする(ステップS213)。
【0080】
図15(a)および(b)を参照して、たとえば、
図15(a)に示す場合には、点P1を通り基準測線A1に平行な直線A2を算出し、直線A2上で基準測線A1の始点Bに最も近い点を点P0とする。そして、点PNmaxを通り基準測線A1に平行な直線A3を算出し、直線A3上で基準測線A1の終点Cに最も近い点を点PNmax+1とする。
図15(b)に示す場合にも、同様の方法で点P0を算出する。そして、点PNmaxが点P3に置き換えられているので、点P3を通り基準測線A1に平行な直線A3を算出し、直線A3上で基準測線A1の終点Cに最も近い点を点PNmax+1とする。
【0081】
図8を参照して、平行線モードまたは折れ線モードによって測線データ(P0〜PNmax+1)の算出が終了すると、基地局PC74に点P0〜PNmax+1が表示され、ユーザーはこれを目視で確認する(ステップS31)。ユーザーは、目視で確認した結果に基づいて、点P0〜PNmax+1をオフセット処理するためのオフセット値を、ソナー計測用PC18を遠隔操作して入力する(ステップS33)。オフセット処理しない場合は、0を入力する。ソナー計測用PC18は、入力されたオフセット値に応じて、点P0〜PNmax+1を、測線に近づける方向または遠ざける方向にオフセットする(ステップS35)。
【0082】
図17(a)および(b)を参照して、たとえば、
図17(a)に示す場合では、点P0〜PNmax+1を基準測線A1に近づける方向に距離I1だけ平行にオフセットしている。
図17(b)に示す場合には、点P0〜PNmax+1を基準測線A1から遠ざける方向に距離I2だけ平行にオフセットしている。
【0083】
オフセット処理が終了すると、ソナー計測用PC18は、変数Mが奇数か否かを判定する(ステップS37)。変数Mが奇数であれば点P0〜PNmax+1を逆の順に結んだ線を次の測線とする(ステップS39)。すなわち、無人艇12は、ステップS39で得られた次の測線においては、点PNmax+1を始点とし、点P0を終点として移動していく。一方、変数Mが奇数でなければ、P0〜PNmax+1の順に結んだ線を次の測線とする(ステップS41)。すなわち、無人艇12は、ステップS41で得られた次の測線においては、点P0を始点とし、点PNmax+1を終点として移動していく。
【0084】
上述したように、ソナー計測用PC18は、ソナー計測用PC18とソナー20と測位装置30とによって検出されたスワスデータに基づいて、無人艇12が沿って移動するための次の測線を設定する。ソナー計測用PC18は、平行線モードが選択された場合には、最遠ポイントを通りかつ基準測線に平行な直線を次の測線とする。また、ソナー計測用PC18は、折れ線モードが選択された場合には、最遠ポイントを結んで得られる折れ線を次の測線とする。
【0085】
最後に、ソナー計測用PC18は、途中で測線を放棄したか否かを判定し(ステップS43)、放棄していなければ変数Mに1を加えて(ステップS45)、ステップS11に戻る。測線を放棄した場合において、平行線モードで測線データ算出を行った場合は、測線を放棄したときの無人艇12の位置から最も近い点P1を次の測線の始点とし、折れ線モードで測線データ算出を行った場合は、測線を放棄したときの無人艇12の位置から最も近い点PNを次の測線の始点とする(ステップS47)。すなわち、測線を放棄した場合、次の測線の始点は、点P0または点PNmax+1ではなく、平行線モードでは点P1となり、折れ線モードでは点PNとなる。
【0086】
たとえば、
図14(b)に示す場合には、点P1が次の測線の始点となり、点P0に向かって無人艇12が移動する。
図15(b)に示す場合には、点P3が次の測線の始点となり、点P2、点P1および点P0の順番に無人艇12が移動する。そして、変数Mに1を加えて(ステップS45)、ステップS11に戻る。
【0087】
上述したように、ソナー計測用PC18は、第1閾値よりも浅いスワスデータが検出されなければ、スワスデータの検出と、次の測線の設定とを繰り返し実行する。
【0088】
このような移動体システム10によれば、無人艇12が測線に沿って移動中に、地形の3次元位置を含むスワスデータを検出し、そのスワスデータに基づいて、無人艇12が移動するための次の測線を設定する。このように、無人艇12が測線を通過した後に次の測線を設定できるので、無人艇12の進むべき次の経路を予め決定しておく必要がない。また、取得したスワスデータに基づいて、すなわち無人艇12が移動している測線付近の地形データを考慮しながら、次の測線を設定できるので、地形情報を予め準備せずとも、測線を適切に設定できる。これにより、凹凸が混在する地形であっても、漏れなくかつ適度なオーバーラップを保ちながら無駄なく地形データを取得でき、効率的にかつ精度よく地形を観測できる。
【0089】
無人艇12が測線に沿って移動中に、地形の2次元位置および深さを含むスワスデータを検出し、そのスワスデータに基づいて、無人艇12が移動するための次の測線を設定する。そして、この処理を繰り返す。このように、無人艇12が測線を通過する度に次の測線を設定できるので、無人艇12の進むべき経路全体を予め決定しておく必要がない。また、取得したスワスデータに基づいて、すなわち無人艇12が移動している測線付近の地形の2次元位置および深さを考慮しながら、次の測線を設定できるので、地形情報を予め準備せずとも、測線を適切に設定できる。これにより、浅い場所と深い場所とが混在する地形であっても、漏れなくかつ適度なオーバーラップを保ちながら無駄なく地形データを取得でき、効率的にかつ精度よく地形を観測できる。
【0090】
ソナー計測用PC18は、スワスデータに含まれる2次元位置の中から測線に対する最遠ポイントを抽出し、最遠ポイントを通る線を次の測線とする。このようにスワスデータを検出した最遠ポイントを通る線を次の測線とすることによって、さらに漏れなくかつ適度なオーバーラップを保ちながら無駄なく地形を観測できる。
【0091】
ソナー計測用PC18は、平行線モードでは、最遠ポイントを通りかつ基準測線に平行な直線を次の測線とする。このような平行な直線を次の測線とすることによって、次の測線を容易に設定でき、漏れなく地形を観測できる。
【0092】
ソナー計測用PC18は、折れ線モードでは、折れ点数を設定し、折れ点数に基づいて測線を線分L1〜LNmaxに区分し、線分L1〜LNmaxに対応するスワスデータ毎に含まれる2次元位置の中から測線に対する最遠ポイントを抽出し、抽出された最遠ポイントを結んで得られる折れ線を次の測線とする。このような折れ線を次の測線とすることによって、さらに適度なオーバーラップを保ちながら無駄なく地形を観測できる。
【0093】
ソナー計測用PC18は、次の測線を測線に近づける方向または遠ざける方向にオフセットするので、さらに漏れなくかつ適度なオーバーラップを保ちながら無駄なく地形を観測できる。
【0094】
ソナー計測用PC18は、ソナー計測用PC18によって設定される次の測線を測線に平行な平行線にする平行線モードかそれとも折れ線にする折れ線モードかのいずれかを選択できるので、状況に適した地形の観測が可能となる。
【0095】
ソナー計測用PC18は、スワスデータが深さに関する第1の閾値より浅いことを示すとき、ソナー計測用PC18による次の測線の設定を実行しないので、無人艇12が地面に接触することを事前に回避することができる。
【0096】
ソナー計測用PC18は、スワスデータが深さに関する第2の閾値より浅いことを示すとき、測線に沿った無人艇12の移動を終了させ、ソナー計測用PC18による次の測線の設定を実行する場合には、測線において無人艇12の移動が終了するまでに検出されたスワスデータに基づいて実行するので、無人艇12が地面に接触することを回避しながら、地形の観測を継続することができる。
【0097】
無人艇12は水上を移動し、ソナー計測用PC18およびソナー20は水中のスワスデータを検出するので、移動体システム10は、水中の地形データの収集に好適に用いられる。
【0098】
上述した実施形態では、ソナー計測用PC18、ソナー20および測位装置30が検出部に相当する場合について説明したが、これに限定されず、たとえば、ソナー計測用PC18およびソナー20、またはソナー20のみが検出部に相当してもよい。
【0099】
上述した実施形態では、ソナー計測用PC18が、設定部、制御部および選択部に相当する場合について説明したが、これに限定されず、たとえば、基地局PC74が、設定部、制御部および選択部に相当してもよい。
【0100】
上述した実施形態では、次の測線を設定するとき、沿って移動していた直近の測線に対して垂直な方向において、沿って移動していた直近の測線から最遠となるポイントを抽出する場合について説明したが、これに限定されない。たとえば、初期設定時に設定した測線(基準測線)に対して垂直な方向において、沿って移動していた直近の測線から最遠となるポイントを抽出してもよい。また、沿って移動していた直近の測線に対して垂直な方向において、沿って移動していた直近の測線から最近となるポイントを抽出してもよいし、初期設定時に設定した測線(基準測線)に対して垂直な方向において、沿って移動していた直近の測線から最近となるポイントを抽出してもよい。また、最近ポイントと最遠ポイントとの間の所定ポイントを抽出してもよい。なお、測線に対して最近となるポイントを通る線は算出しにくい場合があるが、この場合、たとえば、
図17(a)に示すように最遠ポイントHを通る直線をオフセットして、最近ポイントJを通る直線を算出することもできる。
【0101】
上述した実施形態では、平行線モードで次の測線を設定するとき、基準測線に平行な直線を次の測線とする場合について説明したが、これに限定されない。たとえば、直近の測線に平行な直線を次の測線としてもよい。
【0102】
ソナー計測用PC18は、折れ線モードによって算出された折れ線を、平滑にする機能を有していてもよい。この場合、無人艇12を測線に沿って円滑に移動できる。
【0103】
上述した実施形態では、ユーザーによる操作が必要な場合について説明したが、これに限定されず、たとえば、ソナー計測用PC18が、ユーザーの代わりに自動で処理するようにしてもよい。
【0104】
上述した実施形態では、ソナー計測用PC18は、スワスデータが深さに関する第1閾値よりも浅いことを示すとき、ソナー計測用PC18による次の測線の設定を実行しない場合について説明したが、これに限定されない。ソナー計測用PC18は、スワスデータが深さに関する第1閾値よりも浅いことを示すとき、無人艇12の移動を終了させるかまたは警告を発するようにしてもよい。この場合、無人艇12の良好な移動を確保できる。
【0105】
上述した実施形態では、移動体として水上を移動する無人艇12を用いて水中のスワスデータを検出する場合について説明したが、これに限定されず、移動体として空中を移動するヘリコプタや航空機等を用いて陸上のスワスデータを検出してもよい。この場合、3次元位置は、2次元位置および高さを含む。高さとは、陸上からヘリコプタや航空機等までの鉛直方向の距離をいう。
【0106】
以上、この発明の好ましい実施形態について説明されたが、この発明の範囲および精神を逸脱しない限りにおいて種々の変更が可能であることは明らかである。この発明の範囲は、添付された請求の範囲のみによって限定される。