以下、本発明を実施するための形態について添付図面を参照して説明する。まず、図1、2を参照して、本発明の第1実施形態に係るプロッタ12の概略について説明する。図1は、プロッタ12の構成を表す概略図である。図2は、プロッタ12が搭載された船舶11によって自船の位置情報と向き情報とを取得する場合の状態を側面より示す模式図である。
プロッタ12は、船舶11の海上の位置及び向き(船首の向き)を表示装置16に表示する装置である。以下、その構成について説明する。図1に示す通り、プロッタ12は、本体13を備える。本体13は、磁気コンパス14とGPSアンテナ15とそれぞれケーブルによって電気的に接続可能に構成される。磁気コンパス14とGPSアンテナ15とは、本体13と最初から不可分に構成してもよく、また、本体13に後から接続できる構成としてもよい。
磁気コンパス14は、船舶11に固着され、地磁気に基づいて求められる方位角であるコンパス方位角Cを測定する装置である。磁気コンパス14の基準位置を船舶11の船首方向に合わせて設置することで、コンパス方位角Cから船舶11の船首が向いている方位角を認識することができる。ところが、コンパス方位角Cは磁気コンパス14の基準位置を船首方向に合せて設置するときのずれや設置場所、周囲の磁性体、コンパス自体の個体差、地磁気等影響による誤差Eを含む。従って、真方位の方位角である真方位角Tは次式(1)によって示される。
T=C−E・・・(1)
即ち、コンパス方位角Cから誤差Eを減算することで真方位角Tを求めることができる。換言すると、コンパス方位角Cから真方位角Tを減算することで誤差Eを求めることができる。
方位角は、真北を0°とし東回りに0°から360°までで測定される。例えば、船舶11がコンパス方位の真南を向いた場合、コンパス方位角Cは180°である。これに対して、2°の誤差Eを含んでいた場合、次式(2)により真方位角Tは178°である。
T=180°−2°・・・(2)
GPSアンテナ15は、複数のGPS衛星Sから送信された信号を受信し、その受信信号に基づき船舶11の位置情報(緯度経度、速度等)や移動方向を本体13へ送信するアンテナである。なお、移動方向は、緯度経度の時間的な変化に基づいてGPSアンテナ15で求められる。
本体13は、表示装置16と操作ボタン17とを備える。表示装置16は、海上の地図16bと船舶11の位置及び向きを示す船舶マーク16aとを表示させる装置である。船舶マーク16aは、船舶11を模した図形である。船舶マーク16aは海上の地図16bにおける現在の船舶11の位置(緯度及び経度)に表示される。また、船舶マーク16aは、船舶11の向きによって船首の向きが変化するように表示装置16上に表示される。
また、表示装置16には、方位マーク16cと緯度経度表示16dが表示される。方位マーク16cは、海上の地図16bの方位を表示するための図形である。緯度経度表示16dは、船舶11の現在地の緯度と経度とを表示するものである。使用者は、方位マーク16cと表示装置16上の船舶マーク16aの向きとを見ることで船舶11が向いている方位を認識することができる。
操作ボタン17は、使用者からの入力を受け付けるためのボタンである。
次いで、図3を参照して、プロッタ12の電気的構成について説明する。図3は、プロッタ12の電気的構成を示したブロック図である。プロッタ12は、本体13内部に制御装置20を有している。制御装置20は、プロッタ12の動作を制御するものであり、例えば、磁気コンパス14からの信号に基づいてコンパス方位角Cの情報を取得し、GPSアンテナ15からの信号に基づいて船舶11の位置情報(緯度経度、速度等)や移動方向を取得して表示装置16に海上の地図16b上で船舶マーク16aを用いて船舶11の位置と向き(船首方向)とを表示させる制御を行う。制御装置20は、CPU(Central Proccesing Unit)21と、フラッシュメモリ22と、RAM(Random Access Memory)23と、表示コントローラ24と、VRAM(Video RAM)25と、GPSインターフェイス回路(以下「GPS I/F」と称す)26と、入力ポート27とを有している。
CPU21には、フラッシュメモリ22、RAM23、表示コントローラ24、GPS I/F26、入力ポート27が接続され、また、制御装置20の外部から操作ボタン17(図1参照)が接続されている。表示コントローラ24には、VRAM25及び表示装置16(図1参照)が接続され、GPS I/F26には、GPSアンテナ15(図1参照)が接続され、入力ポート27には、磁気コンパス14が接続される。
CPU21は、フラッシュメモリ22に記憶されたプログラムデータ22aに従って、プロッタ12の動作を制御するための各種演算を実行する演算装置である。
フラッシュメモリ22は、プログラムデータ22aを記憶するほか、固定値データ等を記憶するための書き換え可能な不揮発性のメモリである。なお、フラッシュメモリ22に代えて、書き換え不能な不揮発性のメモリ(例えば、マスクROM)を用いてもよい。フラッシュメモリ22は、固定値データとして、画像データ22bを少なくとも記憶する。
画像データ22bは、表示装置16に表示する画像を描画するために必要なデータである。例えば、表示装置16に表示する船舶マーク16aと海上の地図16bとを描画するために必要なデータが画像データ22bとしてフラッシュメモリ22に記憶される。
RAM23は、書き換え可能な揮発性のメモリであり、CPU21によるプログラムの実行時に各種のデータを一時的に記憶する。RAM23は、速度データ23a、移動方位角データ23b、コンパス方位角データ23c、誤差データ23d、補正値データ23eを少なくとも記憶する。
速度データ23aは、GPSアンテナ15がGPS衛星Sから電波を受信することによって得られた船舶11の移動速度の情報を示すデータである。速度データ23aは、米国海洋電子機器協会(NMEA)が規格する海上電子機器の通信に使用されるプロトコルであるNMEAフォーマットのRMCセンテンスやVTGセンテンス等を用いてGPSアンテナ15から本体13に送信される。速度データ23aは、1秒に1回ずつ取得される。
移動方位角データ23bは、船舶11の移動方位角Mを示すデータである。移動方位角Mは、船舶11が航行したときの位置情報(緯度と経度)の時間的な変化の差から求められる船舶11の移動方向を示す方位角である。移動方位角Mは磁気の影響を受けずに求められるので、真方位角Tとして得られる。よって、コンパス方位角Cと移動方位角Mとの差が磁気コンパス14の有する誤差Eとなる。
移動方位角Mは、GPSアンテナ15から本体13に送信されるNMEAフォーマットのRMCセンテンスやVTGセンテンス等を用いて、後述の移動方位角取得処理によって1秒に1回ずつ取得される。
コンパス方位角データ23cは、磁気コンパス14によって測定されたコンパス方位角Cを示すデータである。コンパス方位角Cは、磁気コンパス14から本体13に送信されるNMEAフォーマットのHDGセンテンスやHDMセンテンス等を用いて、後述のコンパス方位角取得処理によって1秒に1回ずつ取得される。
誤差データ23dは、ある時刻におけるコンパス方位角Cに含まれる誤差Eを示すデータである。誤差Eは、後述の補正値算出処理において次式(3)によりコンパス方位角Cと移動方位角Mとから求められる。誤差データ23dは、後述の補正値算出処理において補正値データ23eを求めるときに用いられる。
E=C−M・・・(3)
補正値データ23eは、コンパス方位角Cを補正するときに用いられる係数である。補正値データ23eは、コンパス方位角Cと移動方位角Mとが1秒毎に取得されたときの5つ(5秒間)の誤差データ23dの相加平均の値であり、後述の補正値算出処理によって求められる。
表示コントローラ24は、CPU21からの制御に基づいて、表示装置16の表示を制御するものである。VRAM25は、表示装置16に表示すべき1フレーム分の画像を格納するためのフレームバッファが設けられたメモリである。
表示コントローラ24は、CPU21より画像の描画の指示を受け付けると、フラッシュメモリ22より必要な画像データ22bを読み出し、VRAM25のフレームバッファに対し、CPU21で指示された位置に指示のあった画像を描画する。そして、表示コントローラ24は、フレームバッファに描画された画像を読み出して、表示装置16に表示させる。
GPS I/F26は、GPSアンテナ15にて受信したGPS衛星Sからの信号をCPU21へ入力するものである。入力ポート27は、磁気コンパス14からの信号をCPU21へ入力するものである。
次に、図4を参照して、プロッタ12が補正値データ23eを取得するタイミングについて説明する。図4は、補正値データ23eを取得するタイミングを示した模式図である。図4に示す通り、縦軸に船舶11の速度、横軸に時間を表示している。船舶11が、10ノット(時速18.52km)以上の速度で5秒間継続して直進して航行したタイミングで、その10ノット以上になったその最初の5秒間に得られた移動方位角データ23b、コンパス方位角データ23cに基づいて補正値データ23eを求める。
船舶11の移動速度が10ノット以上で5秒間継続した場合に補正値データ23eを取得するのは、船体が潮流の影響を受けずに安定姿勢で航行している期間だからである。
船舶11が10ノット以上の速度で5秒より長く継続して航行したとしても、補正値データ23eが一度取得されたら、10ノット以上を維持しても最初の5秒以降に補正値データ23eを取得しない。これは、10ノット以上の速度で航行中に補正値データ23eが変化する可能性が低いからである。
また、船舶11の速度が10ノット以上から10ノット以下になった後に、再び10ノット以上の速度で5秒以上航行した場合も、新たな補正値データ23eは取得しない。プロッタ12の電源がONの期間は磁気コンパス14周辺の磁気環境が変化する可能性が低いため、誤差Eが変化する可能性が低い。そこで、複数回にわたって補正値データ23eを取得するのを避けるために、新たな補正値データ23eは取得しないこととしている。
次に、図5を参照して移動方位角取得処理について説明する。移動方位角取得処理は、移動方位角Mを取得するための処理である。図5は、移動方位角取得処理を示したフローチャートである。
この移動方位角取得処理は、GPSアンテナ15から送信されるNMEAフォーマットのセンテンス(例えば、RMCセンテンスやVTGセンテンス)をCPU21が受信すると実行される処理である。なお、移動方位角取得処理を実行するためのプログラムは、フラッシュメモリ22のプログラムデータ22a(図3参照)に含まれる。
まず、移動方位角取得処理がCPU21によって開始されると、NMEAフォーマットのセンテンスに含まれる船舶11が移動している方位(移動方位)の情報を取得する(S101)。次いで、S101の処理で取得した移動方位を平滑化する(S102)。この平滑化では、過去に取得した複数の移動方位を用いてフィルタ処理し、ノイズを除去する。
次いで、位相調整を行う(S103)。位相調整は、GPSアンテナ15から送信されるNMEAフォーマットのセンテンスと同時刻に取得された磁気コンパス14から送信されるNMEAフォーマットのセンテンスとを受信するタイミングがずれるので、そのずれをなくすための処理である。なお、本実施形態においては、磁気コンパス14から送信されるNMEAフォーマットのセンテンスの方が2秒早く受信されるため、後述のコンパス方位角取得処理のS123の処理において、コンパス方位角Cを取得するタイミングを2秒遅らせている。そのため、S103の処理では、実質的な処理は実行されない。
次に、S102の処理で平滑化し、S103の処理で位相調整した移動方位を移動方位角Mとして、RAM23の移動方位角データ23bに記憶し(S104)、移動方位角取得処理を終了する。
次に、図6を参照してコンパス方位角取得処理について説明する。コンパス方位角取得処理は、コンパス方位角Cを取得するための処理である。図6は、コンパス方位角取得処理を示したフローチャートである。
このコンパス方位角取得処理は、磁気コンパス14から送信されるNMEAフォーマットのセンテンス(例えば、HDGセンテンスやHDMセンテンス等)をCPU21が受信すると実行される処理である。なお、コンパス方位角取得処理を実行するためのプログラムは、フラッシュメモリ22のプログラムデータ22a(図3参照)に含まれる。
まず、コンパス方位角取得処理がCPU21によって開始されると、NMEAフォーマットのセンテンスの中に含まれる磁方位の情報を取得する(S121)。S121の処理で取得した磁方位を平滑化し(S122)、位相調整を行う(S123)。GPSアンテナ15から送信されるNMEAフォーマットのセンテンスと同時刻に取得された磁気コンパス14から送信されるNMEAフォーマットのセンテンスではCPU21が受信するタイミングは、磁気コンパス14から送信されるNMEAフォーマットのセンテンスの方が2秒早くなるため、S123の処理では磁方位を取得するタイミングを2秒遅らせる。なお、ここで位相調整するのは同時刻のコンパス方位角Cと移動方位角Mとを用いて誤差Eを求めるためである。そして、この誤差Eに基づいて得られる補正値データeを用いて、その後のコンパス方位角Cの補正が行われるため、補正時には位相調整する必要はない。
次いで、S122の処理で平滑化し、S123の処理で位相調整した磁方位をコンパス方位角Cとして、RAM23のコンパス方位角データ23cに記憶し(S124)、コンパス方位角取得処理を終了する。
次に、図7を参照して、補正値算出処理について説明する。補正値算出処理は、補正値データ23eを取得するための処理である。図7は補正値算出処理を示したフローチャートである。
この補正値算出処理は、プロッタ12の電源がオンされてから最初に補正値データ23eが取得されるまでの間、CPU21によって実行される処理である。なお、補正値算出処理を実行するためのプログラムは、フラッシュメモリ22のプログラムデータ22a(図3参照)に含まれる。
まず、補正値算出処理がCPU21によって開始されると、船舶11の速度が10ノット以上で5秒経過したか否かを判断する(S1)。船舶11の速度は、速度データ23aの中に含まれる速度の情報に基づいて判断する。速度が10ノット以上で5秒経過していないと判断した場合は(S1:No)、船舶11が安定姿勢で航行しておらず移動方位角Mのばらつきが大きくなるため、補正値データ23eを取得しないでS1の処理を繰り返す。速度が10ノット以上で5秒経過したと判断した場合は(S1:Yes)、船舶11が安定姿勢で航行しているためS2の処理へと移行する。
次いで、速度が10ノット以上となった最初の5秒間の移動方位角M(5つ)を移動方位角データ23bから読み込み(S2)、速度が10ノット以上となった最初の5秒間のコンパス方位角C(5つ)をコンパス方位角データ23cから読み込む(S3)。
次に、速度が10ノット以上になってから取得したコンパス方位角Cの最大値と最小値との差が所定範囲(例えば、3°)内にあるか否かを判断する(S4)。所定範囲内にない場合は(S4:No)船舶11が直進していないと判断し、S1の処理へと戻る。一方、所定範囲内にある場合は(S4:Yes)、船舶11が直進していると判断し、S5の処理へ移行する。
次に、S3の処理で読み込んだコンパス方位角Cからそのコンパス方位角Cと同時刻におけるS2の処理で読み込んだ移動方位角Mを減算し、5つのコンパス方位角Cそれぞれに含まれる誤差Eを、上式(3)を用いて算出する(S5)。その結果をRAM23に誤差データ23dとして記憶する(S6)。
次に、S6の処理で記憶した5つの誤差データ23dを読み込み(S7)、これらの誤差データ23dの相加平均を求める(S8)。そして、S10の処理の算出結果を補正値データ23eとしてRAM23に記憶し(S9)、補正値算出処理を終了する。
次に、図8を参照して補正処理について説明する。補正処理は、コンパス方位角Cに含まれる誤差Eを補正するための処理である。図8は、補正処理を示したフローチャートである。
この補正処理は、コンパス方位角Cが取得される毎にCPU21によって実行される処理である。なお、補正処理を実行するためのプログラムは、フラッシュメモリ22のプログラムデータ22a(図3参照)に含まれる。
まず、補正処理がCPU21によって開始されると、CPU21は、RAM23に補正値データ23eが記憶されているか否かを判断する(S30)。補正値データ23eがないと判断した場合は(S30:No)、RAM23に記憶されたコンパス方位角データ23cから最新のコンパス方位角Cを読み込み(S35)、そのコンパス方位角Cを船舶11の向いている方位として表示コントローラ24に出力する(S34)。補正値データ23eがあると判断した場合は(S30:Yes)、コンパス方位角Cを補正するための係数が存在するためS31の処理へ移行する。
S31の処理では、RAM23に記憶されたコンパス方位角データ23cから最新のコンパス方位角Cを読み込み(S31)、RAM23に記憶された補正値データ23eを読み込む(S32)。その後、S31の処理で読み込まれたコンパス方位角CからS32の処理で読み込まれた補正値データ23eを減算する(S33)。これにより、コンパス方位角Cに含まれる誤差Eが除去され、真方位角Tを得ることができる。そして、この真方位角Tを船舶11の向いている方位として表示コントローラ24に出力し(S34)、補正処理を終了する。
以上説明した通り、第1実施形態に係るプロッタ12によれば、船舶11の速度が10ノット以上となった期間が5秒間継続した場合にコンパス方位角Cと移動方位角Mとの差に基づいて補正値データ23eが求められる。船舶11の速度が10ノット以上となった期間が5秒間継続した場合、その期間は潮流の影響を受けずに船体は安定姿勢で航行している。このとき、船舶11の移動方位角Mは船舶11の向いている方位角となる。使用者は、船を10ノット以上の速度で5秒間航行させるだけで補正値データ23eを取得することができるため、コンパス方位角Cと移動方位角Mとの誤差Eを補正することができる。よって、使用者がコンパス方位角Cの誤差を補正する手間を省くことができるという効果がある。
また、船舶11が10ノット以上で移動する5秒間中の同じ時間におけるコンパス方位角Cから移動方位角Mを減算した差である誤差データ23dを5つ求め、それらを平均して補正値データ23eが取得される。これにより、10ノット以上で移動する5秒間中の5つの移動方位角Mとコンパス方位角Cとに基づいて補正値データ23eを求めることができる。よって、各時刻の移動方位角Mやコンパス方位角Cのばらつきに起因する補正の誤差を少なくすることができる。従って、補正の精度を高めることができるという効果がある。
また、補正値算出処理は、プロッタ12の電源がオンされてから最初に補正値データ23eが取得されるまでの間、CPU21によって実行される。即ち、補正値データ23eを取得した後も船舶11が10ノット以上で継続して航行している場合は、新たな補正値データ23eの取得は非実行とされる。10ノット以上の速度で船体が安定姿勢で航行している間は、移動方位角Mとコンパス方位角Cとの差が大きく変化することはない。そのため、10ノット以上で船体が安定姿勢で航行している間に誤差Eが変化する可能性は低い。これにより、誤差Eが変化していないにも関わらず、補正値データ23eが何度も取得されるのを防ぐことができるという効果がある。
また、船舶11が10ノット以上で移動する5秒間中にコンパス方位角Cの最大値と最小値との差が所定範囲(例えば、3°)内にある場合に補正値データ23eが取得される。船の速度が10ノット以上であって、コンパス方位角Cの最大値と最小値との差が所定範囲内にある場合、船体は安定姿勢で直進する。この船首が安定した状態で補正値データ23eを取得することで、コンパス方位角Cが安定しないことによる補正の誤差を少なくすることができる。これにより、補正の精度を高めることができるという効果がある。
補正値算出処理は、プロッタ12の電源がオンされてから最初に補正値データ23eが取得されるまでの間、CPU21によって実行される。即ち、電源投入後、最初に船舶11の速度が10ノット以上で5秒間継続した場合に補正値データ23eが取得される。これにより、電源を投入する毎に新しい補正値データ23eを求めることができる。電源が投入される場合、暫くの期間プロッタ12が使用されていない可能性がある。そのような使用されていない期間には、磁気コンパス14の周辺に磁気コンパス14に影響を及ぼす磁性体(例えば、スパナ、釣り具等)が使用者によって置かれる可能性が高く、誤差が変化しうる。第1実施形態に係るプロッタ12は、電源投入後に新しい補正値データ23eを求めることができるため、電源投入前のこのような誤差の変化に対応することができるという効果がある。
次に、図9〜図14を参照して、第2実施形態に係るプロッタ12について説明する。第1実施形態におけるプロッタ12は、コンパス方位角Cと移動方位角Mとの差である誤差データ23dに基づいて補正値データ23eを取得した。これに対して、第2実施形態におけるプロッタ12は、コンパス方位角Cが変化したときの各コンパス方位角Cに対応する移動方位角Mを求める。そして、第2実施形態におけるプロッタ12は、コンパス方位角Cをその方位角に対応する移動方位角Mに変換することで補正を行う。なお、その他のプロッタ12の構成は第1実施形態と同一であるので、その説明を省略する。以下、同一の構成については第1実施形態と同一の符号を付し、その説明を省略する。
まず、図9を参照して第2実施形態に係るプロッタ12の概略について説明する。図9は、補正の概略を示した模式図である。図9に示す通り、プロッタ12は、船舶11を中心とした全方位(0°〜360°)を45°刻みで8つの領域(領域1〜8)に分割する。そして、プロッタ12は、それぞれの領域毎に一つずつコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとの代表値を記憶する。このコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとは、その領域を船舶11が10ノット以上で5秒間継続して直進したときの実測値である。
例えば、領域6においてコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが取得されていない場合、使用者が船舶11を領域6の方位に向かって10ノット以上で5秒以上直進することで、新たにコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mを取得する。
次に、図10を参照して、プロッタ12の電気的構成について説明する。図10は、プロッタ12の電気的構成を示したブロック図である。フラッシュメモリ22は、第1実施形態でフラッシュメモリ22に記憶したプログラムデータ22a、画像データ22bに加え領域データ22c、領域補正テーブル22dを記憶する。領域データ22cは、どのコンパス方位角Cがどの領域に含まれるかを判断するためのデータである。領域補正テーブル22dは、領域毎にコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとを記憶するテーブルである。領域補正テーブル22dは、後述の領域補正テーブル生成処理によって生成され、後述の全方位補正テーブル23fを生成するときに用いられる。
RAM23は、第1実施形態において記憶した誤差データ23d、補正値データ23eに代えて、全方位補正テーブル23fを記憶する。全方位補正テーブル23fは、1°刻みに全方位におけるコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとを記憶するテーブルである。全方位補正テーブル23fは、後述の全方位補正テーブル生成処理において、領域補正テーブル22dに記憶された領域毎のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとを領域間で補間することで取得される。また、全方位補正テーブル23fは、コンパス方位角Cを補正するときに用いられる。
なお、全方位補正テーブル23fは容量が大きいため大容量で安価なメモリであるRAM23に記憶される。そのため、電源をOFFした場合に消去されるが、領域補正テーブル22dは不揮発性のフラッシュメモリ22に記憶されているため、電源をOFFした後に電源を再投入した場合に、領域補正テーブル22dを用いて、全方位補正テーブル23fは求められる。
次に、図11を参照して、領域補正テーブル22dと全方位補正テーブル23fとについて説明する。図11(a)は、領域補正テーブル22dの模式図であり、(b)は、全方位補正テーブル23fの模式図である。図11(a)に示す通り、領域補正テーブル22dは領域1〜8のそれぞれに一つずつコンパス方位角Cと移動方位角Mとが記憶される。例えば、領域1ではコンパス方位角Cが18°として測定されたときの移動方位角Mが22°であることが記憶される。なお、領域6ではコンパス方位角Cと移動方位角Mとは−1となっているが、これは領域6ではコンパス方位角Cと移動方位角Mとが測定されていないことを示している。
図11(b)に示す通り、全方位補正テーブル23fは、コンパス方位角Cが0°から359°まで、1°刻みで記憶される。そして、各コンパス方位角Cに対応する移動方位角Mが記憶される。例えば、コンパス方位角Cが3°のときの移動方位角Mは2°である。つまり、コンパス方位角Cが3°と測定された場合の船舶11の向き(真方位角T)は、2°である。従って、船舶11を航行してコンパス方位角Cが3°であったときのコンパス方位角Cを補正すると、補正後のコンパス方位角C(真方位角T)は2°となる。
次に、図12を参照して、領域補正テーブル生成処理について説明する。領域補正テーブル生成処理は、領域補正テーブル22dを生成するための処理である。図12は、領域補正テーブル生成処理を示したフローチャートである。
この領域補正テーブル生成処理は、プロッタ12の電源がオンされている間、又は、使用者が操作ボタン17を操作してプロッタ機能の実行の開始が指示されてから、その実行の終了が指示されるまでの間、CPU21によって繰り返し実行される処理である。なお、領域補正テーブル生成処理を実行するためのプログラムは、フラッシュメモリ22のプログラムデータ22a(図10参照)に含まれる。
まず、領域補正テーブル生成処理がCPU21によって開始されると、船舶11の速度が10ノット以上で5秒経過したか否かを判断する(S51)。速度が10ノット以上で5秒経過していないと判断した場合は(S51:No)、船舶11が安定姿勢で航行していないためS51の処理を繰り返す。速度が10ノット以上で5秒経過したと判断した場合は(S51:Yes)、船舶11が安定姿勢で航行しているためS52の処理へと移行する。
次いで、速度が10ノット以上となった最初の5秒間のコンパス方位角C(5つ)をRAM23のコンパス方位角データ23cから読み込み(S52)、船舶11の速度が10ノット以上となった最初の5秒間のコンパス方位角Cの最大値と最小値との差が所定範囲(例えば、3°)内にあるか否かを判断する(S53)。所定範囲内にないと判断した場合は(S53:No)、船舶11が直進していないためS51の処理へ戻る。所定範囲内にあると判断した場合は(S53:Yes)、船舶11が直進しているためS54の処理へ移行する。
次に、S53の処理で読み込んだコンパス方位角C(5つ)の相加平均値を求める(S54)。そして、S54の処理で得られたコンパス方位角Cの平均値が含まれる領域を領域データ22cから選択する(S55)。
次いで、S52の処理で読み込んだコンパス方位角Cと同時刻に取得された移動方位角M(5つ)をRAM23の移動方位角データ23bから読み込み(S56)、それらの相加平均値を求める(S57)。そして、フラッシュメモリ22の領域補正テーブル22dのうち、S55の処理で選択された領域の欄に、S54の処理で求めたコンパス方位角Cの相加平均値とS57の処理で求めた移動方位角Mの相加平均値とを書込む(S58)。
次に、S58の処理で書込まれたコンパス方位角Cと移動方位角Mとの差と、S58の処理がされる前のコンパス方位角Cと移動方位角Mとの差とを比較し、書込み前の差から書き込み後の差を減算した結果が所定範囲(例えば、−90°〜+90°)内にあるか否かを判断する(S59)。所定範囲内にあると判断した場合は(S59:Yes)、誤差Eが大きく変化していないものとしてS51の処理へ戻る。一方、所定範囲内にないと判断した場合は(S59:No)、前回と今回の誤差Eが大きく変化しているため、全ての領域で誤差が生じている可能性が高いものとして、S60の処理で書込んだ領域を除き全ての領域の移動方位角Mとコンパス方位角Cを領域補正テーブル22dから削除し(S60)、S51の処理に戻る。
次に、図13を参照して、全方位補正テーブル生成処理について説明する。全方位補正テーブル生成処理は、全方位補正テーブル23fを生成するための処理である。図13は、全方位補正テーブル生成処理を示したフローチャートである。
この全方位補正テーブル生成処理は、プロッタ12の電源がオンされたとき、又は、領域補正テーブル22dが書き換えられた時にCPU21によって実行される処理である。なお、全方位補正テーブル生成処理を実行するためのプログラムは、フラッシュメモリ22のプログラムデータ22a(図10参照)に含まれる。
まず、全方位補正テーブル生成処理がCPU21によって開始されると、所定の領域を領域aに設定し(S80)、aを1とする(S81)。aは領域を特定するための変数である。
次に、領域補正テーブル22dを参照し、領域補正テーブル22dにおいて領域aにコンパス方位角Cと移動方位角Mとが記憶されているか否かを判断する(S82)。領域aのコンパス方位角Cと移動方位角Mとが記憶されていると判断した場合は(S82:Yes)、その領域補正テーブル22dにおける領域aのコンパス方位角Cと移動方位角Mとを読み込み(S83)、S84の処理へ移行する。一方、領域補正テーブル22dに領域aのコンパス方位角Cと移動方位角Mとが記憶されていないと判断した場合は(S82:No)、S84の処理へ移行する。
次いで、aに1を加え(S84)、aが8以下であるか否かを判断する(S85)。aが8以下であると判断した場合は(S85:Yes)、全ての領域(8つ)について領域補正テーブル22dにコンパス方位角Cと移動方位角Mとが記憶されているか否かの判断が終わっていないため、S82の処理へ戻る。aが8以下ではないと判断した場合は(S85:No)、全ての領域(8つ)について領域補正テーブル22dにコンパス方位角Cと移動方位角Mとが記憶されているか否かの判断が終わっているため、S86の処理へ移行する。
S86の処理では、領域補正テーブル22dを参照し、領域補正テーブル22dにおいてコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mが記憶されている領域の数を判断する。コンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mが記憶されている領域の数が「0」の場合は(S86:「0」)、補間することができないので全方位補正テーブル生成処理を終了する。
コンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mが記憶されている領域の数が「1」の場合は(S86:「1」)、S87の処理へ移行する。そして、コンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとの誤差Eを、コンパス方位角Cが1°刻みで変化したときのコンパス方位角Cからそれぞれ減算することで、コンパス方位角Cが1°刻みで変化したときに対応する移動方位角Mを求める(S87)。
コンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mが記憶されている領域の数が「2」〜「8」の場合は(S86:「2」〜「8」)、S88の処理へ移行する。そして、S83の処理で読み込んだコンパス方位角Cと移動方位角Mとを領域間で直線補間し、コンパス方位角Cが1°刻みで変化したときに対応する移動方位角Mを求める(S88)。そして、S87の処理の結果又はS88の処理の結果をRAM23の全方位補正テーブル23fに記憶し(S89)、全方位補正テーブル生成処理を終了する。
次に、図14を参照して、全方位補正処理について説明する。全方位補正処理は、コンパス方位角Cを補正するための処理である。図14は全方位補正処理を示したフローチャートである。
この全方位補正処理は、コンパス方位角Cが取得される毎にCPU21によって実行される処理である。なお、全方位補正処理を実行するためのプログラムは、フラッシュメモリ22のプログラムデータ22a(図10参照)に含まれる。
まず、全方位補正処理がCPU21によって開始されると、RAM23に記憶されたコンパス方位角データ23cから最新のコンパス方位角Cを読み込み(S90)、RAM23に記憶された全方位補正テーブル23fを読み込む(S91)。
次に、S90の処理で読み込んだコンパス方位角Cに対応する移動方位角Mが全方位補正テーブル23fに記憶されているか否かを判断する(S92)。コンパス方位角Cに対応する移動方位角Mが記憶されていないと判断した場合は(S92:No)、補正をすることができないため、コンパス方位角Cを船舶11の向いている方位として表示コントローラ24に出力し(S94)、全方位補正処理を終了する。一方、コンパス方位角Cに対応する移動方位角Mが記憶されていると判断した場合は(S92:Yes)、S90の処理で読み込んだコンパス方位角Cに対応する移動方位角Mを全方位補正テーブル23fから探し、コンパス方位角Cの値を対応する移動方位角Mに変換する(S93)。
そして、この変換後のコンパス方位角Cを船舶11の向いている方位として表示コントローラ24に出力し(S94)、全方位補正処理を終了する。
以上説明した通り、第2実施形態に係るプロッタ12によれば、船舶11の船体を中心とした全方位が8つの領域に分割され、コンパス方位角Cに基づいて船が向いた方位角が含まれる領域が判断され、その領域におけるコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが取得される。領域補正テーブル22dによりコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mが領域毎に記憶される。これにより、領域毎に異なる係数を用いて補正することができる。よって、方位の違いにより地磁気が異なり誤差が異なる場合でも、領域毎に最適な係数を設定することができるという効果がある。
また、1の領域でコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが新たに取得された場合、その領域で既に記憶されているコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとの差から新たに取得されたコンパス方位角Cと移動方位角Mとの差が減算される。減算した結果が所定範囲内にある場合は、既に記憶されているコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが領域補正テーブル22dから削除されて、新たに求められたコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが領域補正テーブル22dに記憶される。減算した結果が所定範囲内にない場合は、既に記憶されている新たに記憶された領域を除く全ての領域のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが記憶手段から削除される。
これにより、磁気コンパス14の設置状況が大きく変化したなどの理由で、コンパス方位角Cの誤差が大きくなり、既に記憶されたコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとは大きく異なるコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが新たに得られた場合は、全ての領域のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mを削除することができる。よって、誤差の大きいコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mを使用することを防ぐことができる。従って、使用者に誤った情報を表示することを防ぐことができるという効果がある。
領域補正テーブル22dに記憶された領域毎のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとは、その領域に含まれる1の方位において取得された方位角である。コンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが記憶された第1の領域と第2の領域との間で補間される。そして、第1の領域のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとを取得した方位と第2の領域のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとを取得した方位とに挟まれる方位におけるコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとが取得され、全方位補正テーブル23fに記憶される。これにより、全ての方位に船舶11を航行させなくても、第1の領域のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mを取得した方位と第2の領域のコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mを取得した方位とに挟まれる方位において、その方位に適したコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mを用いて補正することができるという効果がある。
その他、第2実施形態に係るプロッタ12は、第1実施形態と同一の構成によって、同一の効果を奏する。
以上、実施形態に基づき本発明を説明したが、本発明は上記実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。例えば、各実施形態は、それぞれ他の実施形態が有する構成の一部又は複数部分を、その実施形態に追加し或いはその実施形態の構成の一部又は複数部分と交換等することにより、その実施形態を変形して構成するようにしてもよい。また、上記実施形態で挙げた数値は一例であり、他の数値を採用することは当然可能である。
上記各実施形態では、船舶11が10ノット以上の速度を5秒間継続した場合に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成したが、これに限定されるものではない。例えば、船舶11が10ノットより低い速度から10ノット以上になった場合で10ノット以上の速度を5秒間継続したときに、補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成してもよい。船舶11の速度が10ノットより低い状態から10ノット以上になるのは加速時なので、船体が安定する。よって、船体姿勢が不安定な減速時に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成することを避けることができるという効果がある。
上記第2実施形態では、コンパス方位角Cが1°刻みで変化したときのそのコンパス方位角Cに対応する移動方位角Mを求め、コンパス方位角Cを対応する移動方位角Mに変換させてコンパス方位角Cを補正したが、これに限定されるものではない。例えば、コンパス方位角Cが1°刻みで変化したときのコンパス方位角Cと移動方位角Mとの誤差Eを求め、それを補正に用いてもよい。このとき、複数のコンパス方位角Cと同時刻の移動方位角Mとの誤差Eからその誤差Eの相加平均を求め、その相加平均された誤差Eを補正に用いてもよい。
上記第2実施形態では、領域補正テーブル生成処理は、10ノット以上の速度が5秒間継続するとその度に領域補正テーブル22dが更新されるものとしたが、これに限定されるものではない。例えば、ある領域でコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとを取得した後は、電源がONの間は、その領域では新たにコンパス方位角Cと移動方位角Mとの取得を非実行としてもよい。
また、各領域において通電後最初に船舶11の速度が10ノット以上で5秒間継続したときのコンパス方位角Cとそのコンパス方位角Cに対応する移動方位角Mとを領域補正テーブル22dに記憶し、プロッタ12の電源がOFFされるまでそのコンパス方位角Cと移動方位角Mとを用いて補正してもよい。
上記各実施形態では、船舶11の速度が10ノット以上である場合に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成したが、速度はこれに限定されるものではない。船舶11の速度は、船体が安定姿勢で移動する速度であれば任意の速度であってよい。また、その速度は使用者によって変更可能にしてもよいし、何らかの条件によって変更可能にしてもよい。例えば、船舶11に潮流を測定する潮流計と、その潮流計が測定した潮流の速度を判定する判定手段とを設け、潮流が遅い海域なら8ノット以上の場合に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成してもよい。一方、潮流が速い海域なら12ノット以上の場合に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成してもよい。
上記各実施形態では、船舶11の速度が10ノット以上を5秒間継続した場合に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成したが、時間はこれに限定されるものではなく、任意の時間が設定されてよい。また、その時間は使用者によって変更可能にしてもよいし、何らかの条件によって変更可能にしてもよい。例えば、船舶11に潮流を測定する潮流計と、その潮流計が測定した潮流の速度を判定する判定手段とを設け、潮流が遅い海域なら船体姿勢が安定するため10ノット以上の速度が3秒間継続した場合に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成してもよい。一方、潮流が速い海域なら船体姿勢が不安定になるため10ノット以上の速度が10秒間継続した場合に補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成してもよい。
また、時間を設定するための条件として、潮流ではなく、船舶11の速度を用いてもよい。例えば、10ノット以上15ノット未満の速度が5秒間継続した場合に、補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成してもよい。一方、船舶11の速度が15ノット以上の場合は船体姿勢がより安定するので、15ノット以上の速度が3秒間継続したときに補正値算出処理において補正値データ23eを生成し、又は、領域補正テーブル生成処理において領域補正テーブル22dを生成してもよい。
上記第2実施形態では、領域補正テーブル22dをフラッシュメモリ22に記憶し、全方位補正テーブル23fをRAM23に記憶したが、これに限定されるものではない。例えば、領域補正テーブル22d、全方位補正テーブル23fの両方をフラッシュメモリ22に記憶してもよい。また、領域補正テーブル22d、全方位補正テーブル23fの両方をRAM23に記憶してもよい。なお、RAM23に領域補正テーブル22dを記憶した場合、電源をOFFした後に電源をONすると、領域補正テーブル22dはデータが入っていないため、補正することができない。そのため、補正できない場合は、表示装置16上に表示される船舶マーク16aの色を変えるなどして、使用者にその船舶マーク16aの向きが補正されていない向きであることを伝えるようにしてもよい。
上記各実施形態では、船舶11の海上の位置情報を取得するためにGPSアンテナ15を用いたが、これに限定されるものではない。衛星からの電波に基づいて位置情報を取得できる衛星測位システムであればよく、例えば、ガリレオ等の衛星測位システムを用いてもよい。
上記各実施形態では、移動方位角MをGPSアンテナ15から取得したが、これに限定されるものではない。例えばGPSアンテナ15から緯度経度の情報を取得し、CPU21で緯度経度の情報の時間的な変化から移動方向を求めてもよい。
本発明に係るプロッタには、プロッタ機能を有する魚群探知機やサーチライトソナー(PPIソナー)装置が含まれる。