(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】船体制御装置、船体制御方法、および、船体制御プログラム
(51)【国際特許分類】
B63H 25/42 20060101AFI20240827BHJP
B63H 25/04 20060101ALI20240827BHJP
B63H 21/21 20060101ALI20240827BHJP
【FI】
B63H25/42 G
B63H25/04 E
B63H21/21
(21)【出願番号】P 2019166740
(22)【出願日】2019-09-13
【審査請求日】2022-09-05
【前置審査】
(73)【特許権者】
【識別番号】000166247
【氏名又は名称】古野電気株式会社
(74)【代理人】
【識別番号】110000970
【氏名又は名称】弁理士法人 楓国際特許事務所
(72)【発明者】
【氏名】植野 秀樹
【審査官】宇佐美 琴
(56)【参考文献】
【文献】特開2017-088111(JP,A)
【文献】米国特許出願公開第2019/0084662(US,A1)
【文献】特開2014-024421(JP,A)
【文献】特開2004-142537(JP,A)
【文献】特開2016-144971(JP,A)
【文献】米国特許出願公開第2009/0105952(US,A1)
【文献】中国特許出願公開第109116838(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B63H 21/21,25/00,25/04,25/42
(57)【特許請求の範囲】
【請求項1】
定点保持のターゲット位置と自船位置との誤差距離を算出する誤差距離算出部と、
前記ターゲット位置に対する自船の接近速度を算出する接近速度算出部と、
前記誤差距離と前記接近速度との組合せに応じてスロットル指令値を設定する指令値設定部と、
前記自船に対する外乱方位を検出する外乱方位算出部と、
前記外乱方位に平行な外乱方向軸に沿って外乱の到来方向に向かう第1制御と、前記外乱の到来方向から遠ざかる第2制御とを切り替える制御切替部と、
を備え、
前記制御切替部は、
前記ターゲット位置として、
前記第1制御に用いる第1ターゲット位置を、制御開始位置に対して前記外乱側に設定し、
前記第2制御に用いる第2ターゲット位置を、前記制御開始位置に対して前記外乱と反対側に設定し、
前記指令値設定部は、
前記第1制御
では、前記外乱に近い側から遠い側に向く方向を正方向として前記誤差距離を算出して、該誤差距離を用いて前記接近速度を設定し、
前記第2制御
では、前記外乱に遠い側から近い側に向く方向を正方向として前記誤差距離を算出して、該誤差距離を用いて前記接近速度を設定し、
前記接近速度における前記外乱方向軸に平行な成分を用い、
前記第1制御と前記第2制御とで、前記スロットル指令値の設定を異ならせる、
船体制御装置。
【請求項2】
請求項1に記載の船体制御装置であって、
前記指令値設定部は、
前記ターゲット位置を含む前記定点保持の目標範囲の内側区間および外側区間を設定し、
前記誤差距離が前記内側区間であるか前記外側区間であるかによって、前記スロットル指令値の設定を異ならせる、
船体制御装置。
【請求項3】
請求項2に記載の船体制御装置であって、
前記指令値設定部は、
前記誤差距離が前記内側区間であれば、前記スロットル指令値を、0または設定可能な最低値に設定する、
船体制御装置。
【請求項4】
請求項2または請求項3に記載の船体制御装置であって、
前記指令値設定部は、
前記誤差距離が前記外側区間であれば、前記誤差距離が大きくなるほど、前記スロットル指令値を大きく設定する、
船体制御装置。
【請求項5】
請求項3に記載の船体制御装置であって、
前記指令値設定部は、
前記ターゲット位置と前記目標範囲の境界との距離と前記誤差距離とが同じであると、前記スロットル指令値を、前記0または前記最低値に設定する、
船体制御装置。
【請求項6】
請求項1乃至請求項5のいずれかに記載の船体制御装置であって、
前記指令値設定部は、
前記接近速度が、正値のときと負値のときとで、前記スロットル指令値の設定を異ならせる、
船体制御装置。
【請求項7】
請求項6に記載の船体制御装置であって、
前記指令値設定部は、
前記正値のときのスロットル指令値を、前記負値のときのスロットル指令値よりも小さくする、
船体制御装置。
【請求項8】
請求項6または請求項7に記載の船体制御装置であって、
前記指令値設定部は、
前記接近速度が、略0範囲にあるとき、前記正値のときおよび前記負値のときと、前記スロットル指令値の設定を異ならせる、
船体制御装置。
【請求項9】
請求項
1乃至請求項8のいずれかに記載の船体制御装置であって、
前記制御切替部は、
前記第1ターゲット位置を通り前記外乱方向軸に直交する第1基準線に前記自船が達することで、前記第1制御から前記第2制御へ切り替え、
前記第2ターゲット位置を通り前記外乱方向軸に直交する第2基準線に前記自船が達することで、前記第2制御から前記第1制御への切り替える、
船体制御装置。
【請求項10】
請求項9に記載の船体制御装置であって、
舵角を設定する舵角設定部を備え、
前記舵角設定部は、
前記第1制御から前記第2制御への切り替えの際、前記外乱方位の方向に応じて転舵するように前記舵角を設定し、
前記指令値設定部は、
前記自船位置が前記第1基準線から前記外乱側に存在する間、前記外乱から離隔する方向に推進力を発生するように、前記スロットル指令値を設定する、
船体制御装置。
【請求項11】
請求項1乃至
請求項10のいずれかに記載の船体制御装置であって、
前記外乱方位算出部は、
前記自船の平均移動方位から、前記外乱方位を算出し、順次更新する、
船体制御装置。
【請求項12】
請求項1乃至
請求項11のいずれかに記載の船体制御装置であって、
前記自船の船体方位と、前記自船から前記ターゲット位置に向かうターゲット方位との偏角を算出する偏角算出部と、
前記偏角の大きさを用いて舵角を設定する舵角設定部と、
を備える、
船体制御装置。
【請求項13】
定点保持のターゲット位置と自船位置との誤差距離を算出し、
前記ターゲット位置に対する自船の接近速度を算出し、
前記誤差距離と前記接近速度との組合せに応じてスロットル指令値を設定し、
前記自船に対する外乱方位を検出し、
前記外乱方位に平行な外乱方向軸に沿って外乱の到来方向に向かう第1制御と、前記外乱の到来方向から遠ざかる第2制御とを切り替え、
前記ターゲット位置として、
前記第1制御に用いる第1ターゲット位置を、制御開始位置に対して前記外乱側に設定し、
前記第2制御に用いる第2ターゲット位置を、前記制御開始位置に対して前記外乱と反対側に設定し、
前記スロットル指令値の設定では、
前記第1制御
では、前記外乱に近い側から遠い側に向く方向を正方向として前記誤差距離を算出して、該誤差距離を用いて前記接近速度を設定し、
前記第2制御
では、前記外乱に遠い側から近い側に向く方向を正方向として前記誤差距離を算出して、該誤差距離を用いて前記接近速度を設定し、
前記接近速度における前記外乱方向軸に平行な成分を用い、
前記第1制御と前記第2制御とで、前記スロットル指令値の設定を異ならせる、
船体制御方法。
【請求項14】
請求項13に記載の船体制御方法であって、
前記ターゲット位置を含む前記定点保持の目標範囲の内側区間および外側区間を設定し、
前記誤差距離が前記内側区間であるか前記外側区間であるかによって、前記スロットル指令値の設定を異ならせる、
船体制御方法。
【請求項15】
請求項13または
請求項14に記載の船体制御方法であって、
前記接近速度が、正値のときと負値のときとで、前記スロットル指令値の設定を異ならせる、
船体制御方法。
【請求項16】
定点保持のターゲット位置と自船位置との誤差距離を算出し、
前記ターゲット位置に対する自船の接近速度を算出し、
前記誤差距離と前記接近速度との組合せに応じてスロットル指令値を設定し、
前記自船に対する外乱方位を検出し、
前記外乱方位に平行な外乱方向軸に沿って外乱の到来方向に向かう第1制御と、前記外乱の到来方向から遠ざかる第2制御とを切り替え、
前記ターゲット位置として、
前記第1制御に用いる第1ターゲット位置を、制御開始位置に対して前記外乱側に設定し、
前記第2制御に用いる第2ターゲット位置を、前記制御開始位置に対して前記外乱と反対側に設定し、
前記スロットル指令値の設定では、
前記第1制御
では、前記外乱に近い側から遠い側に向く方向を正方向として前記誤差距離を算出して、該誤差距離を用いて前記接近速度を設定し、
前記第2制御
では、前記外乱に遠い側から近い側に向く方向を正方向として前記誤差距離を算出して、該誤差距離を用いて前記接近速度を設定し、
前記接近速度における前記外乱方向軸に平行な成分を用い、
前記第1制御と前記第2制御とで、前記スロットル指令値の設定を異ならせる、
処理を、演算処理装置に実行させる船体制御プログラム。
【請求項17】
請求項16に記載の船体制御プログラムであって、
前記ターゲット位置を含む前記定点保持の目標範囲の内側区間および外側区間を設定し、
前記誤差距離が前記内側区間であるか前記外側区間であるかによって、前記スロットル指令値の設定を異ならせる、
処理を、演算処理装置に実行させる船体制御プログラム。
【請求項18】
請求項16または
請求項17に記載の船体制御プログラムであって、
前記接近速度が、正値のときと負値のときとで、前記スロットル指令値の設定を異ならせる、
処理を、演算処理装置に実行させる船体制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、船体の位置を略定点に保持する技術に関する。
【背景技術】
【0002】
特許文献1には、船体を一定の方向に向けて保持する船体用制御装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の船体用制御装置のような従来の構成では、船体を定点保持するために、大掛かりな構成を必要とする。
【0005】
したがって、本発明の目的は、大掛かりな構成を用いることなく、船体を略定点に保持する技術を提供することにある。
【課題を解決するための手段】
【0006】
この発明の船体制御装置は、誤差距離算出部、接近速度算出部、および、指令値設定部を備える。誤差距離算出部は、定点保持のターゲット位置と自船位置との誤差距離を算出する。接近速度算出部は、ターゲット位置に対する自船の接近速度を算出する。指令値設定部は、誤差距離と接近速度との組合せに応じてスロットル指令値を設定する。
【0007】
この構成では、ターゲット位置と自船との位置関係、および、自船がターゲット位置に近づいているか離れているかに応じて、スロットル指令値が設定される。すなわち、この構成では、自船のターゲット位置に対する挙動に応じた詳細な船体制御が実現される。
【発明の効果】
【0008】
この発明によれば、大掛かりな構成を用いることなく、船体を略定点に保持できる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本発明の実施形態に係る船体制御装置を含む船体制御システムの構成を示す機能ブロック図である。
【
図2】
図2は、第1の実施形態に係るオートパイロット制御部(AP制御部)の構成を示す機能ブロック図である。
【
図3】
図3(A)は、船速制御部の構成を示す機能ブロック図であり、
図3(B)は、舵角制御部の構成を示す機能ブロック図である。
【
図4】
図4は、第1の実施形態に係る船体制御方法の概念を説明する図である。
【
図5】
図5(A)は、設定条件の組合せ毎のスロットル指令値Rの設定の一例を示す表である。
図5(B)は、スロットル指令値Rのより具体的な設定例を示すグラフである。
【
図6】
図6は、第1の実施形態に係る船体制御方法を示すフローチャートである。
【
図7】
図7は、第2の実施形態に係るオートパイロット制御部(AP制御部)の構成を示す機能ブロック図である。
【
図8】
図8は、第2の実施形態に係る船体制御方法の各設定位置および区間の関係を示す図である。
【
図9】
図9(A)は、第2の実施形態に係る船体制御方法の後進制御の概念を示す図であり、
図9(B)は、第2の実施形態に係る船体制御方法の前進制御の概念を示す図である。
【
図10】
図10(A)は、後進制御時における設定条件の組合せ毎のスロットル指令値Rの設定の一例を示す表である。
図10(B)は、後進制御時におけるスロットル指令値Rのより具体的な設定例を示すグラフである。
【
図11】
図11(A)は、前進制御時における設定条件の組合せ毎のスロットル指令値Rの設定の一例を示す表である。
図11(B)は、前進制御時におけるスロットル指令値Rのより具体的な設定例を示すグラフである。
【
図12】
図12は、第2の実施形態に係る船体制御方法を示すフローチャートである。
【
図13】
図13は、第2の実施形態に係る後進制御の一例を示すフローチャートである。
【
図14】
図14は、第2の実施形態に係る前進制御の一例を示すフローチャートである。
【
図16】
図16は、船体方位の補正方法を示すフローチャートである。
【
図17】
図17(A)、
図17(B)は、外乱方位および制御座標系の更新状態を示す図である。
【
図18】
図18は、外乱方位および制御用座標系の更新方法を示すフローチャートである。
【発明を実施するための形態】
【0010】
(第1の実施形態)
本発明の第1の実施形態に係る船体制御装置、船体制御方法、および、船体制御プログラムについて、図を参照して説明する。
図1は、第1実施形態に係る船体制御装置を含む船体制御システムの構成を示す機能ブロック図である。
図2は、第1の実施形態に係るオートパイロット制御部(AP制御部)の構成を示す機能ブロック図である。
【0011】
(船体制御装置10の構成)
図1に示すように、船体制御装置10は、本体101、および、リモコンレバー102を備える。本体101およびリモコンレバー102は、オートパイロット制御(自動航行制御)を行う船舶の船体90に装備される。船体制御装置10は、推進力発生部91、および、舵機92に接続する。なお、推進力発生部91および舵機92は、例えば、船外機、船内機、船内外機他、各種の推進器等に備えられている。また、推進力発生部91および舵機92は、船体に1つずつ備えられている。すなわち、本実施形態の船体制御装置10が装備される船舶は、所謂、1軸1舵の船舶である。
【0012】
(本体101の構成)
本体101は、AP制御部20、AP操作部30、センサ40、および、表示部50を備える。
【0013】
AP制御部20、AP操作部30、センサ40、および、表示部50は、例えば、船舶用のデータ通信ネットワーク100によって互いに接続する。AP制御部20、リモコンレバー102、および、推進力発生部91は、例えば、推進力用通信網(CAN等)を介して接続する。AP制御部20と舵機92とは、アナログ電圧またはデータ通信を介して接続する。
【0014】
AP制御部20は、例えば、CPU等の演算処理装置と記憶部とによって構成される。記憶部は、AP制御部20で実行するプログラムを記憶する。また、記憶部は、CPUの演算時に利用される。
図2に示すように、AP制御部20は、メイン制御部21、船速制御部22、および、舵角制御部23を備える。
【0015】
メイン制御部21は、概略的には、AP制御部20で実行する船速および舵角のオートパイロット制御(自動航行制御)の主制御を行う。また、例えば、メイン制御部21は、AP操作部30によるオートパイロット制御における定点制御の設定を受け付ける。メイン制御部21は、この設定内容を解析して、定点制御を実現するように、船速制御部22および舵角制御部23の処理タイミング等を制御する。また、メイン制御部21は、リモコンレバー102の操作状態検出部201からの操作レバー200の操作状態を監視する。メイン制御部21は、監視結果を考慮して、オートパイロット制御に反映させることもできる。
【0016】
メイン制御部21は、AP操作部30で指定された定点制御のターゲット位置Ptを、船速制御部22および舵角制御部23に与える。
【0017】
図3(A)は、船速制御部の構成を示す機能ブロック図であり、
図3(B)は、舵角制御部の構成を示す機能ブロック図である。
図3(A)に示すように、船速制御部22は、誤差距離算出部221、接近速度算出部222、および、指令値設定部223を備える。
【0018】
誤差距離算出部221は、ターゲット位置Ptと自船位置Pとの誤差距離eを算出する。この際、誤差距離算出部221は、後述のターゲット位置Ptを中心とする円CRt上の制御開始位置P0で誤差距離eが0となり、制御開始位置P0を基準としてターゲット位置Pt側で誤差距離eが負値となり、制御開始位置P0を基準としてターゲット位置Ptと反対側で誤差距離eが正値となるように、誤差距離eを設定する。
【0019】
接近速度算出部222は、誤差距離eの微分符号反転値を、接近速度-Δeとして算出する。接近速緒-Δeは、ターゲット位置Ptに近づく方向を正方向(+方向)とし、遠ざかる方向を負方向(-方向)として設定される。
【0020】
指令値設定部223は、誤差距離eと接近速度-Δeとの組合せに応じて、スロットル指令値を設定する。指令値設定部223は、スロットル指令値を、推進力発生部91に出力する。推進力発生部91は、スロットル指令値に応じて推進力を制御する。
【0021】
図3(B)に示すように、舵角制御部23は、ターゲット方位算出部231、偏角算出部232、および、舵角設定部233を備える。
【0022】
ターゲット方位算出部231は、ターゲット位置Ptと自船位置Pとからターゲット方位ψtを算出する。偏角算出部232は、ターゲット方位ψtから船体方位(船尾方位)ψを差分することで、偏角Δψを算出する。舵角設定部233は、例えば、偏角Δψの大きさに応じた比例制御を行うことによって、船体方位ψをターゲット方位ψtに近づけるための指令舵角を設定する。
【0023】
舵角設定部233は、指令舵角を、舵機92に出力する。舵機92は、指令舵角に応じて舵角を制御する。
【0024】
AP操作部30は、例えば、タッチパネル、物理的なボタンやスイッチ等によって実現される。AP操作部30は、定点保持を含むオートパイロット制御に関連する設定の操作を受け付ける。AP操作部30は、ターゲット位置Pt等の設定内容をAP制御部20に出力する。
【0025】
センサ40は、船体制御装置10が備えられた船舶(船体)の自船位置P、船速V、および、船体方位ψ(船首方位や船尾方位)を計測する。例えば、センサ40は、GNSS(例えば、GPS)の測位信号を利用した測位センサ、慣性センサ(加速度センサや角速度センサ等)、磁気センサ等によって実現される。
【0026】
表示部50は、例えば、液晶パネル等によって実現される。表示部50は、AP制御部20から入力された定点保持の情報、オートパイロット制御に関連する情報等を表示する。なお、表示部50は、省略することも可能であるが、あることが好ましく、表示部50があることによって、ユーザは、定点保持状態、オートパイロット制御状態等を容易に把握できる。
【0027】
(リモコンレバー102の構成)
リモコンレバー102は、操作レバー200、および、操作状態検出部201を備える。
【0028】
操作レバー200は、手動航行時におけるユーザからの操作を受け付ける。操作状態検出部201は、センサ等によって実現される。操作状態検出部201は、操作レバー200の操作状態を検出する。操作状態検出部201は、検出した操作レバーの操作状態(例えば、角度)を、推進力発生部91に出力する。手動航行時には、推進力発生部91は、この操作状態に応じた大きさの推進力を発生する。操作状態は、上述のように、AP制御部20によって監視されている。例えば、AP制御部20は、手動操作からオートパイロット制御への切り替え時に、この操作状態を参照して、オートパイロット制御の初期制御を実行する。
【0029】
(定点保持制御)
このような制御、処理において、AP制御部20は、舵角指令およびスロットル指令値を所定の時間感覚で逐次的に設定し、定点制御を行う。この際、AP制御部20は、船体90の船尾が外乱の到来方向(外乱方向)に向きながらターゲット位置Ptに近い位置を保持するように制御を行う。
【0030】
これを実現するため、舵角制御部23は、上述のように舵角指令を設定する。この舵角の制御に平行して、船速制御部22は、具体的には次の処理を行う。
【0031】
船速制御部22は、基本的な制御の概念として、船体90が、ターゲット位置Ptと制御開始位置P0によって設定される目標範囲(円CRtで規定)の内側区間にあるか、制御開始位置P0の近傍にあるか、目標範囲の外側区間にあるかに応じて、スロットル指令値の設定を異ならせる。言い換えれば、船速制御部22は、目標範囲の境界の内側区間と外側区間とで、スロットル指令値の設定を異ならせる。
【0032】
さらに、船速制御部22は、船体90が、ターゲット位置Ptに接近しているか、ターゲット位置Ptから離隔しているか、ターゲット位置Ptに対する距離が殆ど変化していないかに応じて、スロットル指令値の設定を異ならせる。
【0033】
すなわち、船速制御部22は、船体90のターゲット位置に対する位置(目標範囲に対する位置)と、船体90のターゲット位置Ptに対する挙動とを組み合わせて、組合せ毎にスロットル指令値を設定する。
【0034】
図4は、第1の実施形態に係る船体制御方法の概念を説明する図である。船速制御部22は、メイン制御部21から与えられたターゲット位置Ptに対して、制御開始位置P0を設定する。制御開始位置P0は、ターゲット位置Ptを中心とする半径rの円CRt上の点である。円CRtは、本願発明の「目標範囲」に対応する。円CRtの半径rは、例えば、外乱の大きさ、船舶の推力の性能等に応じて設定することができる。また、半径rは、ユーザによる設定も可能である。
【0035】
船速制御部22は、現在の船体90の位置(自船位置P)とターゲット位置Ptとを結ぶ直線LNdと、円CRtとの交点を、制御開始位置P0に設定する。すなわち、船速制御部22は、ターゲット方位ψtに平行で、船体90の制御用基準位置900を通る直線LNdと、円CRtとの交点を、制御開始位置P0に設定する。制御開始位置P0が、本発明の「目標範囲」の「境界」に対応する。船速制御部22は、上述のように、ターゲット位置Ptと自船位置Pとから誤差距離eを算出し、制御開始位置P0を基準に誤差距離eを設定する。
【0036】
船速制御部22は、直線LNd上の各位置を、複数の区間N、ZE、PS、PM、PBに設定する。言い換えれば、船速制御部22は、誤差距離eの入る複数の区間を、複数の区間N、ZE、PS、PM、PBに設定する。船速制御部22は、ターゲット位置Ptに近い側から、すなわち、誤差距離eの小さい側から、区間N、区間ZE、区間PS、区間PM、および、区間PBを設定する。そして、区間N、区間ZE、区間PS、区間PM、および、区間PBは、誤差距離eの値を用いて定義される。
【0037】
区間ZEは、制御開始位置P0を中心とする距離Lzeの区間として設定される。区間Nは、制御開始位置P0に対してターゲット位置Pt側の区間であり、区間PS、区間PM、および、区間PBは、制御開始位置P0に対してターゲット位置Ptから遠い側の区間である。
【0038】
区間Nは、区間ZEの近端(ターゲット位置Ptに近い側の端)と、ターゲット位置Ptとの間の区間として設定される。区間PS、区間PM、および、区間PBは、ターゲット位置Ptおよび制御開始位置P0に近い側から、区間PS、区間PM、区間PBの順に設定される。区間PSの近端は、区間ZEの遠端(ターゲット位置Ptから遠い側の端)に接している。区間PSの遠端は、区間PMの近端に接しており、区間PMの遠端は、区間PBの近端に接している。区間PSの距離Lps、区間PMの距離Lpm、および、区間PBの距離Lpbは、適宜設定されている。そして、例えば、区間ZEの距離Lzeは、区間Nの距離Ln、区間PSの距離Lps、区間PMの距離Lpm、および、区間PBの距離Lpbよりも短く設定される。
【0039】
なお、制御開始位置P0、および各区間N、ZE、PS、PM、PBは、メイン制御部21で設定してもよい。この場合、メイン制御部21は、ターゲット位置Ptとともに、これら制御開始位置P0および各区間N、ZE、PS、PM、PBを、船速制御部22に与えればよい。
【0040】
船速制御部22は、誤差距離eの微分値の符号反転値から、接近速度-Δeを算出する。接近速度-Δeは、直線LNdに平行な速度である。ターゲット位置Ptに近づく場合が正値(-Δe(+))となり、ターゲット位置Ptから遠ざかる場合が負値(-Δe(-))となる。
【0041】
船速制御部22は、誤差距離eに基づく第1設定条件と、接近速度-Δeに基づく第2設定条件との組合せに応じて、スロットル指令値Rを設定する。
【0042】
第1設定条件は、誤差距離eと、複数の区間N、ZE、PS、PM、PBとの関係によって決められる。
【0043】
船速制御部22は、誤差距離eが区間N内であれば、第1設定条件をNにする。この区間Nが、本願発明の「目標範囲」の「内側区間」に対応する。船速制御部22は、誤差距離eが区間ZE内であれば、第1設定条件をZEにする。同様に、船速制御部22は、誤差距離eがそれぞれ区間PS内、区間PM内、区間PB内であれば、第1設定条件をPS、PM、PBにする。これら区間PS、区間PM、区間PBからなる区間が、本発明の「目標範囲」の「外側区間」に対応する。
【0044】
第2設定条件は、接近速度-Δeが正値であるか、略0であるか、負値であるかによって決められる。
【0045】
船速制御部22は、接近速度-Δeが略0、すなわち、ターゲット位置Ptに対して船体90が殆ど接近も離隔もしていなければ、第2設定条件をZEdにする。ターゲット位置Ptに対して船体90が殆ど接近も離隔もしていないことの検出は、例えば、接近速度-Δeの絶対値に対して閾値を設定し、接近速度-Δeの絶対値がこの閾値以下であることを検出することで実現できる。
【0046】
船速制御部22は、接近速度-Δeが正値であり、接近速度-Δeの絶対値がこの閾値を超えていれば、第2設定条件をPdにする。すなわち、船速制御部22は、船体90がターゲット位置Ptに接近していれば、第2設定条件をPdにする。
【0047】
船速制御部22は、接近速度-Δeが負値であり、接近速度-Δeの絶対値がこの閾値を超えていれば、第2設定条件をNdにする。すなわち、船速制御部22は、船体90がターゲット位置Ptから離隔していれば、第2設定条件をNdにする。
【0048】
図5(A)は、設定条件の組合せ毎のスロットル指令値Rの設定の一例を示す表である。
図5(B)は、スロットル指令値Rのより具体的な設定例を示すグラフである。
【0049】
船速制御部22は、
図5(A)に示すように、誤差距離eに基づく第1設定条件と、接近速度-Δeに基づく第2設定条件との組合せに応じて、スロットル指令値Rを設定する。
【0050】
(船舶がターゲット位置Ptに接近する場合)
船舶がターゲット位置Ptに接近する場合、第2設定条件はPdである。
【0051】
船速制御部22は、第1設定条件がNであれば、スロットル指令値RをNsに設定する。Nsは、例えば、前進シフト(船首方向に推進するシフト)で推力の最低値、または、推力の停止(ZEs)に対応する。
【0052】
船速制御部22は、第1設定条件がZEであれば、スロットル指令値RをZEsに設定する。ZEsは、推力の停止に対応する。
【0053】
船速制御部22は、第1設定条件がPSであれば、スロットル指令値RをPSsに設定する。船速制御部22は、第1設定条件がPMであれば、スロットル指令値RをPMsに設定する。船速制御部22は、第1設定条件がPBであれば、スロットル指令値RをPBsに設定する。ここで、スロットル指令値Rは、PSs<PMs<PBsの関係である。
【0054】
すなわち、船舶がターゲット位置Ptに接近する場合、船速制御部22は、目標範囲の内側区間では、推力の停止、または、最低限の前進推力を設定する。そして、船速制御部22は、目標範囲の境界付近では、推力の停止を設定する。
【0055】
船速制御部22は、目標範囲の外側区間では、誤差距離e(ターゲット位置Ptから船体90の制御用基準位置900までの距離)が大きくなるほど、すなわち、船舶がターゲット位置Ptから遠い程、より大きな後進推力に設定する。
【0056】
(船舶がターゲット位置Ptに対して、殆ど接近も離隔もしていない場合(接近速度が略0の場合))
船舶のターゲット位置Ptに対する接近速度が略0の場合、第2設定条件はZEdである。
【0057】
船速制御部22は、第1設定条件がNであれば、スロットル指令値RをNsに設定する。船速制御部22は、第1設定条件がZEであれば、スロットル指令値RをZEsに設定する。NsおよびZEsは、上述の第2設定条件がPdの場合と同じである。
【0058】
船速制御部22は、第1設定条件がPSであれば、スロットル指令値RをPSbに設定する。船速制御部22は、第1設定条件がPMであれば、スロットル指令値RをPMbに設定する。船速制御部22は、第1設定条件がPBであれば、スロットル指令値RをPBbに設定する。ここで、スロットル指令値Rは、PSb<PMb<PBbの関係である。
【0059】
すなわち、ターゲット位置Ptに対する船舶の接近速度が略0の場合も、船速制御部22は、目標範囲の内側区間では、推力の停止、または、最低限の前進推力を設定する。そして、船速制御部22は、目標範囲の境界付近では、推力の停止を設定する。
【0060】
船速制御部22は、目標範囲の外側区間では、誤差距離e(ターゲット位置Ptから船体90の制御用基準位置900までの距離)が大きくなるほど、すなわち、船舶がターゲット位置Ptから遠い程、より大きな後進推力に設定する。
【0061】
ここで、スロットル指令値Rは、PSb>PSs、PMb>PMs、PBb>PBsである。したがって、船速制御部22は、第2設定条件がZEdの場合はPdの場合と比較して、より大きな後進推力に設定する。すなわち、船速制御部22は、ターゲット位置Ptに対する船舶の接近速度が略0の場合は、船舶がターゲット位置Ptに接近する場合と比較して、より大きな後進推力に設定する。
【0062】
(船舶がターゲット位置Ptから離隔する場合)
船舶がターゲット位置Ptから離隔する場合、第2設定条件はNdである。
【0063】
船速制御部22は、第1設定条件がNであれば、スロットル指令値RをNsに設定する。船速制御部22は、第1設定条件がZEであれば、スロットル指令値RをZEsに設定する。NsおよびZEsは、上述の第2設定条件がPdの場合と同じである。
【0064】
船速制御部22は、第1設定条件がPSであれば、スロットル指令値RをPMsに設定する。船速制御部22は、第1設定条件がPMであれば、スロットル指令値RをPBsに設定する。船速制御部22は、第1設定条件がPBであれば、スロットル指令値RをPBBsに設定する。ここで、スロットル指令値Rは、PS<PM<PB<PBBの関係であり、したがって、PMs>PSb、PBs>PMb、PBBs>PBbの関係である。
【0065】
すなわち、船舶がターゲット位置Ptから離隔する場合も、船速制御部22は、目標範囲の内側区間では、推力の停止、または、最低限の前進推力を設定する。そして、船速制御部22は、目標範囲の境界付近では、推力の停止を設定する。
【0066】
船速制御部22は、目標範囲の外側区間では、誤差距離e(ターゲット位置Ptから船体90の制御用基準位置900までの距離)が大きくなるほど、すなわち、船舶がターゲット位置Ptから遠い程、より大きな後進推力に設定する。
【0067】
ここで、スロットル指令値Rは、上述のように、PMs>PSb、PBs>PMb、PBBs>PBbである。したがって、船速制御部22は、第2設定条件がNdの場合はPdおよびZEdの場合と比較して、より大きな後進推力に設定する。すなわち、船速制御部22は、船舶がターゲット位置Ptから離隔する場合には、ターゲット位置Ptに対する船舶の接近速度が略0の場合、および、船舶がターゲット位置Ptに接近する場合と比較して、より大きな後進推力に設定する。
【0068】
このような船速の制御を行うことによって、船舶が目標範囲の内側にいるときは、外乱等によって船舶が目標範囲の外側に流れるように、スロットル指令値(推力)は、設定される。そして、船舶が目標範囲の外側に出ると、船舶を目標範囲の内側に戻すように、スロットル指令値(推力)は、設定される。そして、船舶とターゲット位置Ptとの距離が大きくなるほど、スロットル指令値(推力)は、より大きく設定される。さらに、船舶がターゲット位置Ptに接近する速度(ベクトル量)が大きくなるほど、スロットル指令値(推力)は、より小さく設定される。
【0069】
これにより、船体制御装置10は、船体90を、目標範囲内にできる限り留まらせるように、すなわち、ターゲット位置Ptに略近い位置(ターゲット位置Ptに近い範囲)に定点保持するように、制御することができる。
【0070】
なお、船速制御部22は、上述の第1設定条件と第2設定条件とを組み合わせたルールで、スロットル指令値Rを設定してもよい。しかしながら、
図5(B)に示すように、誤差距離eに対するスロットル指令値Rを、線形補間によって設定すると、よりよい。船速制御部22は、例えば、次の方法によって線形補間を実現する。
【0071】
船速制御部22は、上述の表の各区間PS、PM、PBのスロットル指令値Rを、各区間PS、PM、PBの中心位置のスロットル指令値Rに設定する。船速制御部22は、各区間PS、PM、PBの中心位置のスロットル指令値Rを線形補間し、各区間PS、PM、PBの各位置でのスロットル指令値Rに設定する。また、船速制御部22は、区間PSの中心位置から制御開始位置P0の位置までは、区間PSの中心と制御開始位置P0とを通る直線を設定し、最低推力に対応するPMINよりも大きな区間では、この直線によってスロットル指令値を設定し、PMIN以下の区間では、スロットル指令値をPMINに設定する。
【0072】
なお、区間ZEにおける制御開始位置P0よりもターゲット位置Ptに近い区間、および、区間Nでは、船速制御部22は、区間内の位置に関係なく、スロットル指令値ReをNsに設定する。
【0073】
このようなスロットル指令値の設定を用いることによって、船速制御部22は、ターゲット位置Ptに対する船舶の位置にさらに詳細に対応した船速制御を行うことができる。
【0074】
以上のような構成によって、船体制御装置10は、例えば、1軸1舵のような簡素な構成の船体制御において、船体を略定点に保つことができる。
【0075】
(船体制御方法)
上述の説明では、AP制御部20を複数の機能部に分けて定点保持用の制御を行う態様を示した。しかしながら、AP制御部20の機能をプログラム化して記憶しておき、演算処理装置によって、このプログラムを実行するようにしてもよい。この場合、例えば、
図6に示す船体制御方法を用いればよい。
図6は、第1の実施形態に係る船体制御方法を示すフローチャートである。なお、フローチャートに示す各処理の詳細は、上述の説明で容易に理解可能な範囲についての説明を省略する。また、以下では、演算処理装置を主体として説明する。
【0076】
演算処理装置は、ターゲット位置Ptを設定する(S101)。なお、ターゲット位置Ptは、ユーザによる設定のみでなく、船舶に搭載された他の装置から設定されることも可能である。
【0077】
演算処理装置は、ターゲット位置Ptと自船位置Pとから、誤差距離eを算出する(S102)。演算処理装置は、誤差距離eから接近速度-Δeを算出する(S103)。
【0078】
演算処理装置は、誤差距離eから、自船が目標範囲内にあることを検出すると(S104:YES)、推力の停止または最低限の前進推力の発生するスロットル指令値を設定する(S109)。
【0079】
演算処理装置は、誤差距離eから、自船が目標範囲内にないことを検出し(S104:NO)、接近速度-Δeが正値であると(S105:「+」)、第1ルールを用いてスロットル指令値を設定する(S106)。第1ルールは、上述の第2設定条件がPdの場合のルールである。
【0080】
演算処理装置は、誤差距離eから、自船が目標範囲内にないことを検出し(S104:NO)、接近速度-Δeが負値であると(S105:「-」)、第2ルールを用いてスロットル指令値を設定する(S107)。第2ルールは、上述の第2設定条件がNdの場合のルールである。
【0081】
演算処理装置は、誤差距離eから、自船が目標範囲内にないことを検出し(S104:NO)、接近速度-Δeが略0であると(S105:「0」)、第3ルールを用いてスロットル指令値を設定する(S108)。第3ルールは、上述の第2設定条件がZEdの場合のルールである。
【0082】
(第2の実施形態)
本発明の第2の実施形態に係る船体制御装置、船体制御方法、および、船体制御プログラムについて、図を参照して説明する。
図7は、第2の実施形態に係るオートパイロット制御部(AP制御部)の構成を示す機能ブロック図である。
【0083】
第2の実施形態に係る船体制御装置は、第1の実施形態に係る船体制御装置に対して、AP制御部20Aの構成および処理において異なる。第2の実施形態に係る船体制御装置の他の構成は、第1の実施形態に係る船体制御装置と同様であり、同様の箇所の説明は省略する。
【0084】
図2に示すように、AP制御部20Aは、メイン制御部21A、船速制御部22A、舵角制御部23A、および、外乱方位算出部24を備える。
【0085】
外乱方位算出部24は、例えば、自船位置Pの平均移動方位から、外乱方位ψdを算出する。平均移動方位は、自船位置Pの経時変化から容易に算出できる。外乱方位算出部24は、外乱方位ψdを、メイン制御部21Aに出力する。
【0086】
メイン制御部21Aは、定点制御の開始時の自船位置Pを、制御開始位置P0に設定する。メイン制御部21Aは、外乱方位ψdと制御開始位置P0とから、後進制御用のターゲット位置Prと、前進制御用のターゲット位置Pfとを設定する。後進制御用のターゲット位置Prが、本願発明の「第1ターゲット位置」に対応し、前進制御用のターゲット位置Pfが、本願発明の「第2ターゲット位置」に対応する。
【0087】
より具体的には、メイン制御部21Aは、外乱方位ψdに平行で、制御開始位置P0を通る直線上であって、制御開始位置P0から外乱側に所定距離の位置に、後進制御用のターゲット位置Prを設定する。また、メイン制御部21Aは、外乱方位ψdに平行で、制御開始位置P0を通る直線上であって、制御開始位置P0から外乱側と反対側に所定距離の位置に、前進制御用のターゲット位置Pfを設定する。後進制御用のターゲット位置Prと、前進制御用のターゲット位置Pfとは、制御開始位置P0を基準に対称の位置に設定される。
【0088】
メイン制御部21Aは、後進制御用のターゲット位置Prと、前進制御用のターゲット位置Pfとを、船速制御部22Aおよび舵角制御部23Aに与える。
【0089】
舵角制御部23Aは、後進制御時には、後進制御用のターゲット位置Prを用いて、ターゲット方位ψtrを設定し、上述の舵角制御を行う。舵角制御部23Aは、前進制御時には、前進制御用のターゲット位置Pfを用いて、ターゲット方位ψtfを設定し、上述の舵角制御を行う。
【0090】
船速制御部22Aは、ターゲット位置Prを用いた後進制御と、ターゲット位置Ptを用いた前進制御とを交互に切り替えながら、船速制御を行う。この際、船速制御部22Aは、後進制御時には、ターゲット位置Prを基準とした誤差距離eRと、誤差距離eRの微分符号反転値からなる接近速度-ΔeRとの組合せを用いて、スロットル指令値を設定する。また、船速制御部22Aは、前進制御時には、ターゲット位置Pfを基準とした誤差距離eFと、誤差距離eFの微分符号反転値からなる接近速度-ΔeFとの組合せを用いて、スロットル指令値を設定する。
【0091】
より具体的には、後進制御時および前進制御時でのスロットル指令値は、次に示すように設定される。
図8は、第2の実施形態に係る船体制御方法の各設定位置および区間の関係を示す図である。
図9(A)は、第2の実施形態に係る船体制御方法の後進制御の概念を示す図であり、
図9(B)は、第2の実施形態に係る船体制御方法の前進制御の概念を示す図である。
【0092】
図8に示すように、メイン制御部21Aは、制御開始位置P0を座標系の原点とする、制御用座標系を設定する。制御用座標系において、制御開始位置P0を通り、外乱方位ψdに平行な軸をy軸に設定する。メイン制御部21Aは、制御開始位置P0を通り、y軸に直交する軸をx軸に設定する。メイン制御部21Aは、y軸上にあり、制御開始位置P0に対して外乱の到来側に所定距離の位置に、後進制御用のターゲット位置Prを設定する。メイン制御部21Aは、y軸上にあり、制御開始位置P0に対して外乱の到来側と反対側に所定距離の位置に、前進制御用のターゲット位置Pfを設定する。
【0093】
(後進制御のとき)
後進制御のときには、
図8、
図9(A)に示すように、メイン制御部21Aは、y軸に平行で、外乱に近い側から遠い側に向く方向を正方向として、後進制御用の誤差距離eRを算出する。メイン制御部21Aは、y軸に沿った自船位置Pとターゲット位置Prとの距離によって、誤差距離eRを算出する。
【0094】
また、後進制御のときには、船速制御部22Aは、y軸上の各位置を、複数の区間N(R)、ZE(R)、PS(R)、PM(R)、PB(R)に設定する。言い換えれば、船速制御部22Aは、誤差距離eRとの入る複数の区間を、複数の区間N(R)、ZE(R)、PS(R)、PM(R)、PB(R)に設定する。船速制御部22Aは、誤差距離eRの小さい側(外乱に近い側)から、区間N(R)、区間ZE(R)、区間PS(R)、区間PM(R)、および、区間PB(R)を設定する。そして、区間N(R)、区間ZE(R)、区間PS(R)、区間PM(R)、および、区間PB(R)は、誤差距離eRの値を用いて定義される。
【0095】
区間ZE(R)は、ターゲット位置Prを中心とする距離Lzeの区間として設定される。区間N(R)は、ターゲット位置Prに対して外乱が到来する側の区間であり、区間PS(R)、区間PM(R)、および、区間PB(R)は、ターゲット位置Prに対して外乱が到来する側と反対側の区間である。
【0096】
区間N(R)の遠端(外乱が到来する側と反対側の端)は、区間ZE(R)の近端(外乱が到来する側の端)に接する。区間PS(R)、区間PM(R)、および、区間PB(R)は、ターゲット位置Prに近い側から、区間PS(R)、区間PM(R)、区間PB(R)の順に設定される。区間PS(R)の近端は、区間ZE(R)の遠端に接している。区間PS(R)の遠端は、区間PM(R)の近端に接しており、区間PM(R)の遠端は、区間PB(R)の近端に接している。区間PS(R)の距離Lps、区間PM(R)の距離Lpm、および、区間PB(R)の距離Lpbは、適宜設定されている。そして、例えば、区間ZE(R)の距離Lzeは、区間N(R)の距離Ln、区間PS(R)の距離Lps、区間PM(R)の距離Lpm、および、区間PB(R)の距離Lpbよりも短く設定される。
【0097】
なお、具体的な一例として、区間PS(R)、区間PM(R)、および、区間PB(R)は、例えば、次に示すように設定される。区間PS(R)の遠端および区間PM(R)の近端は、制御開始位置P0の位置にあり、区間PM(R)の遠端および区間PB(R)の近端は、ターゲット位置Pfの位置にある。
【0098】
また、後進制御のとき、船速制御部22Aは、誤差距離eRの微分値の符号反転値から、接近速度-ΔeRを算出する。接近速度-ΔeRは、y軸に平行な速度である。ターゲット位置Prに近づく場合(y軸の負方向に移動する場合)が正値(-ΔeR(+))となり、ターゲット位置Prから遠ざかる場合(y軸の正方向に移動する場合)が負値(-ΔeR(-))となる。
【0099】
船速制御部22Aは、誤差距離eRに基づく後進制御用の第1設定条件と、接近速度-ΔeRに基づく後進制御用の第2設定条件との組合せに応じて、スロットル指令値Rを設定する。
【0100】
後進制御用の第1設定条件は、誤差距離eRと、複数の区間N(R)、ZE(R)、PS(R)、PM(R)、PB(R)との関係によって決められる。
【0101】
船速制御部22Aは、誤差距離eRが区間N(R)内であれば、後進制御用の第1設定条件をN(R)にする。船速制御部22Aは、誤差距離eRが区間ZE(R)内であれば、後進制御用の第1設定条件をZE(R)にする。同様に、船速制御部22Aは、誤差距離eRがそれぞれ区間PS(R)内、区間PM(R)内、区間PB(R)内であれば、後進制御用の第1設定条件をPS(R)、PM(R)、PB(R)にする。
【0102】
後進制御用の第2設定条件は、接近速度-ΔeRが正値であるか、略0であるか、負値であるかによって決められる。
【0103】
船速制御部22Aは、接近速度-ΔeRが略0、すなわち、ターゲット位置Prに対して船体90が殆ど接近も離隔もしていなければ、後進制御用の第2設定条件をZEdrにする。ターゲット位置Prに対して船体90が殆ど接近も離隔もしていないことの検出は、例えば、接近速度-ΔeRの絶対値に対して閾値を設定し、接近速度-ΔeRの絶対値がこの閾値以下であることを検出することで実現できる。
【0104】
船速制御部22Aは、接近速度-ΔeRが正値であり、接近速度-ΔeRの絶対値がこの閾値を超えていれば、後進制御用の第2設定条件をPdrにする。すなわち、船速制御部22Aは、船体90がy軸の負方向に移動していれば(外乱方向に対向して移動していれば)、後進制御用の第2設定条件をPdrにする。
【0105】
船速制御部22Aは、接近速度-ΔeRが負値であり、接近速度-ΔeRの絶対値がこの閾値を超えていれば、後進制御用の第2設定条件をNdrにする。すなわち、船速制御部22Aは、船体90がy軸の正方向に移動していれば(外乱方向に沿って移動していれば)、後進制御用の第2設定条件をNdrにする。
【0106】
図10(A)は、後進制御時における設定条件の組合せ毎のスロットル指令値Rの設定の一例を示す表である。
図10(B)は、後進制御時におけるスロットル指令値Rのより具体的な設定例を示すグラフである。
【0107】
船速制御部22Aは、
図10(A)に示すように、誤差距離eRに基づく後進制御用の第1設定条件と、接近速度-ΔeRに基づく後進制御用の第2設定条件との組合せに応じて、スロットル指令値Rを設定する。
【0108】
(船舶がy軸の負方向に移動する(外乱方向に対向して移動する)場合)
船舶がターゲット位置Prよりも制御開始位置P0側にあり、ターゲット位置Prに接近する場合、船舶はy軸の負方向に移動しており、後進制御用の第2設定条件はPdrである。
【0109】
船速制御部22Aは、後進制御用の第1設定条件がZE(R)であれば、スロットル指令値RをZEsに設定する。ZEsは、推力の停止に対応する。
【0110】
船速制御部22Aは、後進制御用の第1設定条件がPS(R)であれば、スロットル指令値RをPSsrに設定する。船速制御部22Aは、後進制御用の第1設定条件がPM(R)であれば、スロットル指令値RをPMsrに設定する。船速制御部22Aは、後進制御用の第1設定条件がPB(R)であれば、スロットル指令値RをPBsrに設定する。ここで、スロットル指令値Rは、PSsr<PMsr<PBsrの関係である。
【0111】
すなわち、船舶がターゲット位置Prに接近する場合、船速制御部22Aは、船舶がターゲット位置Prの近傍であれば、推力の停止を設定する。そして、船速制御部22Aは、船舶がターゲット位置Prよりも制御開始位置P0側にある場合、誤差距離eRが大きくなるほど、すなわち、船舶がターゲット位置Prから遠い程、より大きな後進推力に設定する。
【0112】
一方、船速制御部22Aは、第1設定条件がN(R)であれば、すなわち、船舶がターゲット位置Prよりも外乱の到来側にあれば、スロットル指令値RをPBfに設定する。PBfは、後進シフトから前進シフトへの反転時のスロットル指令値であり、船舶の仕様等に応じて適宜設定されている。
【0113】
(船舶がy軸方向に沿って殆ど移動していない場合(接近速度が略0の場合))
船舶がターゲット位置Prよりも制御開始位置P0側にあり、船舶のターゲット位置Prに対する接近速度が略0の場合、後進制御用の第2設定条件はZEdrである。
【0114】
船速制御部22Aは、後進制御用の第1設定条件がPS(R)であれば、スロットル指令値RをPSbrに設定する。船速制御部22Aは、後進制御用の第1設定条件がPM(R)であれば、スロットル指令値RをPMbrに設定する。船速制御部22Aは、後進制御用の第1設定条件がPB(R)であれば、スロットル指令値RをPBbrに設定する。ここで、スロットル指令値Rは、PSbr<PMbr<PBbrの関係である。
【0115】
すなわち、ターゲット位置Prに対する船舶の接近速度が略0の場合も、船速制御部22Aは、ターゲット位置Prの近傍であれば、推力の停止を設定する。
【0116】
船速制御部22は、Aは、船舶がターゲット位置Prよりも制御開始位置P0側にある場合、誤差距離eR(ターゲット位置Prから船体90の制御用基準位置900までの距離)が大きくなるほど、すなわち、船舶がターゲット位置Prから遠い程、より大きな後進推力に設定する。
【0117】
ここで、スロットル指令値Rは、PSbr>PSsr、PMbr>PMsr、PBbr>PBsrである。したがって、船速制御部22Aは、後進制御用の第2設定条件がZEdrの場合はPdrの場合と比較して、より大きな後進推力に設定する。すなわち、船速制御部22Aは、ターゲット位置Prに対する船舶の接近速度が略0の場合は、船舶がターゲット位置Prに接近する場合と比較して、より大きな後進推力に設定する。
【0118】
一方、船速制御部22Aは、後進制御用の第1設定条件がN(R)であれば、すなわち、船舶がターゲット位置Prよりも外乱の到来側にあれば、スロットル指令値RをPBfに設定する。
【0119】
(船舶がy軸の正方向に移動する(外乱方向に沿って移動する)場合)
船舶がターゲット位置Prよりも制御開始位置P0側にあり、ターゲット位置Prから離隔する場合、船舶はy軸の正方向に移動しており、後進制御用の第2設定条件はNdrである。
【0120】
船速制御部22Aは、後進制御用の第1設定条件がZE(R)であれば、スロットル指令値RをZEsに設定する。ZEsは、推力の停止に対応する。
【0121】
船速制御部22Aは、後進制御用の第1設定条件がPS(R)であれば、スロットル指令値RをPMsrに設定する。船速制御部22Aは、後進制御用の第1設定条件がPM(R)であれば、スロットル指令値RをPBsrに設定する。船速制御部22Aは、後進制御用の第1設定条件がPB(R)であれば、スロットル指令値RをPBBsrに設定する。ここで、スロットル指令値Rは、PMsr<PBsr<PBBsrの関係である。
【0122】
すなわち、船舶がターゲット位置Prから離隔する場合でも、船速制御部22Aは、船舶がターゲット位置Prの近傍であれば、推力の停止を設定する。そして、船速制御部22Aは、船舶がターゲット位置Prよりも制御開始位置P0側にある場合、誤差距離eRが大きくなるほど、すなわち、船舶がターゲット位置Prから遠い程、より大きな後進推力に設定する。
【0123】
ここで、スロットル指令値Rは、PMsr>PSbr、PBsr>PMbr、PBBsr>PBbrである。したがって、船速制御部22Aは、後進制御用の第2設定条件がNdrの場合はZEdrの場合と比較して、より大きな後進推力に設定する。すなわち、船速制御部22Aは、船舶がターゲット位置Prから離隔する場合は、ターゲット位置Prに対する船舶の接近速度が略0の場合、および、船舶がターゲット位置Prに接近する場合と比較して、より大きな後進推力に設定する。
【0124】
一方、船速制御部22Aは、第1設定条件がN(R)であれば、すなわち、船舶がターゲット位置Prよりも外乱の到来側にあれば、前進制御に切り替える。
【0125】
なお、船速制御部22Aは、上述の後進制御用の第1設定条件と後進制御用の第2設定条件とを組み合わせたルールで、スロットル指令値Rを設定してもよい。しかしながら、
図10(B)に示すように、誤差距離eRに対するスロットル指令値Rを、線形補間によって設定すると、よりよい。船速制御部22Aで後進制御時に実行する線形補間は、上述の船速制御部22で実行する線形補間と同様である。
【0126】
(前進制御のとき)
前進制御のときには、
図8、
図9(B)に示すように、メイン制御部21Aは、y軸に平行で、外乱に遠い側から近い側に向く方向を正方向として、前進制御用の誤差距離eFを算出する。メイン制御部21Aは、y軸に沿った自船位置Pとターゲット位置Pfとの距離によって、誤差距離eFを算出する。
【0127】
また、前進制御のときには、船速制御部22Aは、y軸上の各位置を、複数の区間N(F)、ZE(F)、PS(F)、PM(F)、PB(F)に設定する。言い換えれば、船速制御部22Aは、誤差距離eFとの入る複数の区間を、複数の区間N(F)、ZE(F)、PS(F)、PM(F)、PB(F)に設定する。船速制御部22Aは、誤差距離eFの小さい側(外乱の到来する側と反対側)から、区間N(F)、区間ZE(F)、区間PS(F)、区間PM(F)、および、区間PB(F)を設定する。そして、区間N(F)、区間ZE(F)、区間PS(F)、区間PM(F)、および、区間PB(F)は、誤差距離eFの値を用いて定義される。
【0128】
区間ZE(F)は、ターゲット位置Pfを中心とする距離Lzeの区間として設定される。区間N(F)は、ターゲット位置Pfに対して外乱が到来する側と反対側の区間であり、区間PS(F)、区間PM(F)、および、区間PB(F)は、ターゲット位置Pfに対して外乱が到来する側の区間である。
【0129】
区間N(F)の近端(外乱が到来する側の端)は、区間ZE(F)の遠端(外乱が到来する側と反対側の端)に接する。区間PS(F)、区間PM(F)、および、区間PB(F)は、ターゲット位置Pfに近い側から、区間PS(F)、区間PM(F)、区間PB(F)の順に設定される。区間PS(F)の遠端は、区間ZE(R)の近端に接している。区間PS(F)の近端は、区間PM(F)の遠端に接しており、区間PM(F)の近端は、区間PB(F)の遠端に接している。区間PS(F)の距離Lps、区間PM(F)の距離Lpm、および、区間PB(F)の距離Lpbは、適宜設定されている。そして、例えば、区間ZE(F)の距離Lzeは、区間N(F)の距離Ln、区間PS(F)の距離Lps、区間PM(F)の距離Lpm、および、区間PB(F)の距離Lpbよりも短く設定される。
【0130】
なお、具体的な一例として、区間PS(F)、区間PM(F)、および、区間PB(F)は、例えば、次に示すように設定される。区間PS(F)の近端および区間PM(F)の遠端は、y軸方向において制御開始位置P0の位置にある。区間PM(F)の近端および区間PB(F)の遠端は、y軸方向においてターゲット位置Prの位置にある。
【0131】
また、前進制御のとき、船速制御部22Aは、誤差距離eFの微分値の符号反転値から、接近速度-ΔeFを算出する。接近速度-ΔeFは、y軸に平行な速度である。ターゲット位置Pfに近づく場合(y軸の正方向に移動する場合)が正値(-ΔeF(+))となり、ターゲット位置Pfから遠ざかる場合(y軸の負方向に移動する場合)が負値(-ΔeF(-))となる。
【0132】
船速制御部22Aは、誤差距離eFに基づく前進制御用の第1設定条件と、接近速度-ΔeFに基づく前進制御用の第2設定条件との組合せに応じて、スロットル指令値Rを設定する。
【0133】
前進制御用の第1設定条件は、誤差距離eFと、複数の区間N(F)、ZE(F)、PS(F)、PM(F)、PB(F)との関係によって決められる。
【0134】
船速制御部22Aは、誤差距離eFが区間N(F)内であれば、前進制御用の第1設定条件をN(F)にする。船速制御部22Aは、誤差距離eFが区間ZE(F)内であれば、前進制御用の第1設定条件をZE(F)にする。同様に、船速制御部22Aは、誤差距離eFがそれぞれ区間PS(F)内、区間PM(F)内、区間PB(F)内であれば、前進制御用の第1設定条件をPS(F)、PM(F)、PB(F)にする。
【0135】
前進制御用の第2設定条件は、接近速度-ΔeFが正値であるか、略0であるか、負値であるかによって決められる。
【0136】
船速制御部22Aは、接近速度-ΔeFが略0、すなわち、ターゲット位置Pfに対して船体90が殆ど接近も離隔もしていなければ、前進制御用の第2設定条件をZEdfにする。ターゲット位置Pfに対して船体90が殆ど接近も離隔もしていないことの検出は、例えば、接近速度-ΔeFの絶対値に対して閾値を設定し、接近速度-ΔeFの絶対値がこの閾値以下であることを検出することで実現できる。
【0137】
船速制御部22Aは、接近速度-ΔeFが正値であり、接近速度-ΔeFの絶対値がこの閾値を超えていれば、前進制御用の第2設定条件をPdfにする。すなわち、船速制御部22Aは、船体90がy軸の正方向に移動していれば(外乱方向に沿って移動していれば)、前進制御用の第2設定条件をPdfにする。
【0138】
船速制御部22Aは、接近速度-ΔeFが負値であり、接近速度-ΔeFの絶対値がこの閾値を超えていれば、前進制御用の第2設定条件をNdfにする。すなわち、船速制御部22Aは、船体90がy軸の負方向に移動していれば(外乱方向に対向して移動していれば)、前進制御用の第2設定条件をNdfにする。
【0139】
図11(A)は、前進制御時における設定条件の組合せ毎のスロットル指令値Rの設定の一例を示す表である。
図11(B)は、前進制御時におけるスロットル指令値Rのより具体的な設定例を示すグラフである。
【0140】
船速制御部22Aは、
図11(A)に示すように、誤差距離eFに基づく前進制御用の第1設定条件と、接近速度-ΔeFに基づく前進制御用の第2設定条件との組合せに応じて、スロットル指令値Rを設定する。
【0141】
(船舶がy軸の正方向に移動する(外乱方向に沿って移動する)場合)
船舶がターゲット位置Ptよりも制御開始位置P0側にあり、ターゲット位置Ptに接近する場合、船舶はy軸の正方向に移動しており、前進制御用の第2設定条件はPdfである。
【0142】
船速制御部22Aは、前進制御用の第1設定条件がZE(F)、PS(F)、PM(F)であれば、スロットル指令値RをZEsに設定する。ZEsは、推力の停止に対応する。船速制御部22Aは、前進制御用の第1設定条件がPB(F)であれば、スロットル指令値RをPBsfに設定する。
【0143】
すなわち、船舶がターゲット位置Pfに接近する場合、船速制御部22Aは、船舶がターゲット位置Pfから大きく離れていなければ、推力の停止を設定する。そして、船速制御部22Aは、船舶がターゲット位置Pfよりも制御開始位置P0側にあり、ターゲット位置Pfから大きく離れていれば、例えば、船舶がターゲット位置Prよりも外乱の到来方向側にあれば、前進推力に設定する。
【0144】
一方、船速制御部22Aは、前進制御用の第1設定条件がN(F)であれば、すなわち、船舶がターゲット位置Pfよりも外乱の到来側と反対側にあれば、スロットル指令値RをPBrに設定する。PBrは、前進シフトから後進シフトへの反転時のスロットル指令値であり、船舶の仕様等に応じて適宜設定されている。
【0145】
(船舶がy軸方向に沿って殆ど移動していない場合(接近速度が略0の場合))
船舶がターゲット位置Pfよりも制御開始位置P0側にあり、船舶のターゲット位置Pfに対する接近速度が略0の場合、前進制御用の第2設定条件はZEdfである。
【0146】
船速制御部22Aは、前進制御用の第1設定条件がZE(F)、PS(F)、PM(F)であれば、スロットル指令値RをZEsに設定する。ZEsは、推力の停止に対応する。船速制御部22Aは、前進制御用の第1設定条件がPB(F)であれば、スロットル指令値RをPBbfに設定する。ここで、スロットル指令値Rは、PBbf>PBsfの関係である。
【0147】
すなわち、ターゲット位置Pfに対する船舶の接近速度が略0の場合も、船速制御部22Aは、船舶がターゲット位置Pfから大きく離れていなければ、推力の停止を設定する。そして、船速制御部22Aは、船舶がターゲット位置Pfよりも制御開始位置P0側にあり、ターゲット位置Pfから大きく離れていれば、例えば、船舶がターゲット位置Prよりも外乱の到来方向側にあれば、前進推力に設定する。この際、船速制御部22Aは、ターゲット位置Pfに対する船舶の接近速度が略0の場合は、船舶がターゲット位置Pfに接近する場合よりも、大きな前進推力を発生するように、スロットル指令値を設定する。
【0148】
一方、船速制御部22Aは、前進制御用の第1設定条件がN(F)であれば、すなわち、船舶がターゲット位置Pfよりも外乱の到来側と反対側にあれば、前進シフトから後進シフトに切り替え、スロットル指令値RをPBrに設定する。
【0149】
(船舶がy軸の負方向に移動する(外乱方向に対向して移動する)場合)
船舶がターゲット位置Pfよりも制御開始位置P0側にあり、ターゲット位置Pfから離隔する場合、船舶はy軸の負方向に移動しており、前進制御用の第2設定条件はNdfである。
【0150】
船速制御部22Aは、前進制御用の第1設定条件がZE(F)、PS(F)、PM(F)であれば、スロットル指令値RをZEsに設定する。ZEsは、推力の停止に対応する。船速制御部22Aは、前進制御用の第1設定条件がPB(F)であれば、スロットル指令値RをPBBsfに設定する。ここで、スロットル指令値Rは、PBBsf>PBbfの関係である。
【0151】
すなわち、船舶がターゲット位置Pfから離隔する場合でも、船速制御部22Aは、船舶がターゲット位置Pfから大きく離れていなければ、推力の停止を設定する。そして、船速制御部22Aは、船舶がターゲット位置Pfよりも制御開始位置P0側にあり、ターゲット位置Pfから大きく離れていれば、例えば、船舶がターゲット位置Prよりも外乱の到来方向側にあれば、前進推力に設定する。この際、船速制御部22Aは、船舶がターゲット位置Pfから離隔する場合は、ターゲット位置Pfに対する船舶の接近速度が略0の場合および船舶がターゲット位置Pfに接近する場合よりも、大きな前進推力を発生するように、スロットル指令値を設定する。
【0152】
一方、船速制御部22Aは、前進制御用の第1設定条件がN(F)であれば、すなわち、船舶がターゲット位置Pfよりも外乱の到来側と反対側にあれば、前進シフトから後進シフトに切り替え、スロットル指令値RをPBrに設定する。
【0153】
なお、船速制御部22Aは、上述の前進制御用の第1設定条件と前進制御用の第2設定条件とを組み合わせたルールで、スロットル指令値Rを設定してもよい。しかしながら、
図11(B)に示すように、誤差距離eFに対するスロットル指令値Rを設定してもよい。この場合、誤差距離eFが、区間PB(F)の中心位置に対応する距離よりも小さければ、船速制御部22Aは、前進制御用の第2設定条件の状態に係わらす、スロットル指令値をZEsとする。一方、誤差距離eFが、区間PB(F)の中心位置に対応する距離以上であれば、船速制御部22Aは、前進制御用の第2設定条件に応じた大きさのスロットル指令値を設定する。
【0154】
このような制御を行うことによって、
図9(A)、
図9(B)に示すように、船体は、外乱方位に略平行な方向において、ターゲット位置Prとターゲット位置Ptとの間の区間に略定位する。すなわち、制御開始位置P0を定点制御のターゲット位置として、船体制御装置10Aは、定点制御のターゲット位置の近傍領域内に、船体90を略保持できる。そして、船体制御装置10Aは、例えば、1軸1舵のような簡素な構成を用いて、このような定点保持を実現できる。
【0155】
(船体制御方法)
上述の説明では、AP制御部20Aを複数の機能部に分けて定点保持用の制御を行う態様を示した。しかしながら、AP制御部20Aの機能をプログラム化して記憶しておき、演算処理装置によって、このプログラムを実行するようにしてもよい。この場合、例えば、
図12、
図13、
図14に示す船体制御方法を用いればよい。
図12は、第2の実施形態に係る船体制御方法を示すフローチャートである。
図13は、第2の実施形態に係る後進制御の一例を示すフローチャートである。
図14は、第2の実施形態に係る前進制御の一例を示すフローチャートである。なお、フローチャートに示す各処理の詳細は、上述の説明で容易に理解可能な範囲についての説明を省略する。また、以下では、演算処理装置を主体として説明する。
【0156】
(メイン制御)
図12に示すように、演算処理装置は、制御開始位置P0の設定を受け付ける(S201)。制御開始位置P0は、例えば、制御開始時点での自船位置Pによって設定される。
【0157】
演算処理装置は、例えば、自船位置Pの平均移動方向を検出し、平均移動方向から外乱方位ψdを取得する(S202)。演算処理装置は、外乱方位ψdを用いて、制御用座標系を設定する(S203)。
【0158】
この時点で、船体90は、外乱によって流されているので、演算処理装置は、後進制御用のターゲット位置Prを用いた後進制御を実行する(S204)。後進制御の具体例は、
図13を用いて後述する。
【0159】
演算処理装置は、第1切替条件を満たしていない間は(S205:NO)、後進制御を継続する(S204)。演算処理装置は、例えば、後進制御時において、ターゲット位置Prを通り制御用座標系のy軸に直交する直線(第1切替用境界線LN1)を、自船が制御開始位置P0側から外乱側に横切ったことを検出することで、第1切替条件を満したと判定する。演算処理装置は、自船が第1切替用境界線LN1を横切ったことは、誤差距離eRの変化を観測することによって実現可能である。例えば、演算処理装置は、誤差距離eRが正値から負値に変化したことから、自船が第1切替用境界線LN1を横切ったことを検出できる。
【0160】
演算処理装置は、第1切替条件を満たすと(S205:YES)、後進制御から前進制御に切り替え、前進制御を実行する(S206)。前進制御の具体例は、
図14を用いて後述する。
【0161】
演算処理装置は、第2切替条件を満たしていない間は(S207:NO)、前進制御を継続する(S206)。演算処理装置は、例えば、前進制御時において、ターゲット位置Pfを通り制御用座標系のy軸に直交する直線(第2切替用境界線LN2)を、自船が制御開始位置P0側から外乱と反対側に横切ったことを検出することで、第2切替条件を満したと判定する。演算処理装置は、自船が第2切替用境界線LN2を横切ったことは、誤差距離eFの変化を観測することによって実現可能である。例えば、演算処理装置は、誤差距離eFが正値から負値に変化したことから、自船が第2切替用境界線LN2を横切ったことを検出できる。
【0162】
演算処理装置は、第2切替条件を満たすと(S207:YES)、後進制御から前進制御に切り替え、前進制御を実行する(S204)。
【0163】
以降、演算処理装置は、第1切替条件および第2切替条件を用いた判定結果に準じて、後進制御と前進制御とを切り替える。
【0164】
(後進制御)
演算処理装置は、後進制御用のターゲット位置Prを設定する(S241)。
【0165】
演算処理装置は、後進制御用のターゲット位置Prと自船位置Pとから、誤差距離eRを算出する(S242)。誤差距離eRは、後進制御用のターゲット位置Prと自船位置Pとのy軸方向に平行な離間距離で算出される。演算処理装置は、誤差距離eRから接近速度-ΔeRを算出する(S243)。
【0166】
演算処理装置は、第1切替条件を満たしていると(S205:YES)、前進制御に切り替える。
【0167】
演算処理装置は、第1切替条件を満たしておらず(S205:NO)、接近速度-ΔeRが正値であると(S244:「+」)、後進制御用第1ルールを用いてスロットル指令値を設定する(S245)。後進制御用第1ルールは、上述の後進制御用の第2設定条件がPdrの場合のルールである。
【0168】
演算処理装置は、第1切替条件を満たしておらず(S205:NO)、接近速度-ΔeRが負値であると(S244:「-」)、後進制御用第2ルールを用いてスロットル指令値を設定する(S246)。後進制御用第2ルールは、上述の第2設定条件がNdrの場合のルールである。
【0169】
演算処理装置は、第1切替条件を満たしておらず(S205:NO)、接近速度-ΔeRが略0であると(S244:「0」)、後進制御用第3ルールを用いてスロットル指令値を設定する(S247)。後進制御用第3ルールは、上述の第2設定条件がZEdrの場合のルールである。
【0170】
(前進制御)
演算処理装置は、前進制御用のターゲット位置Pfを設定する(S261)。
【0171】
演算処理装置は、前進制御用のターゲット位置Pfと自船位置Pとから、誤差距離eFを算出する(S262)。誤差距離eFは、前進制御用のターゲット位置Pfと自船位置Pとのy軸方向に平行な離間距離で算出される。演算処理装置は、誤差距離eFから接近速度-ΔeFを算出する(S263)。
【0172】
演算処理装置は、第2切替条件を満たしていると(S207:YES)、後進制御に切り替える。
【0173】
演算処理装置は、第2切替条件を満たしておらず(S207:NO)、接近速度-ΔeFが正値であると(S264:「+」)、前進制御用第1ルールを用いてスロットル指令値を設定する(S265)。前進制御用第1ルールは、上述の前進制御用の第2設定条件がPdfの場合のルールである。
【0174】
演算処理装置は、第2切替条件を満たしておらず(S207:NO)、接近速度-ΔeFが負値であると(S264:「-」)、前進制御用第2ルールを用いてスロットル指令値を設定する(S266)。前進制御用第2ルールは、上述の第2設定条件がNdfの場合のルールである。
【0175】
演算処理装置は、第2切替条件を満たしておらず(S207:NO)、接近速度-ΔeFが略0であると(S264:「0」)、前進制御用第3ルールを用いてスロットル指令値を設定する(S267)。前進制御用第3ルールは、上述の第2設定条件がZEdfの場合のルールである。
【0176】
(船体方位の補正)
船体制御装置10Aの構成では、後進制御から前進制御への切り替え時に、さらに、船体方位の補正を行うことができる。
図15(A)、
図15(B)、
図15(C)は、船体方位の補正の概念を示す図である。
図15(A)、
図15(B)、
図15(C)の順に状態変化して、船体方位は、補正される。なお、以下では、AP制御部20Aを制御の主体として、説明する。
【0177】
図15(A)に示すように、AP制御部20Aは、第1切替条件を満たしたことを検出する。すなわち、AP制御部20Aは、船体90(より具体的には例えば船体90の制御用基準位置900)が、後進制御によって制御開始位置P0側から第1切替用境界線LN1に達したことを検出する。具体的には、例えば、AP制御部20Aは、誤差距離eRが区間ZE内に入ったことから、第1切替用境界線LN1への到達を検出する。
【0178】
このとき、AP制御部20Aは、スロットル指令値RをZEsに設定する。すなわち、AP制御部20Aは、推力を停止させる。この際、推力が停止しても、船体90は行脚によって、ターゲット位置Prよりも外乱側に流れる。
【0179】
次に、
図15(B)に示すように、AP制御部20Aは、舵機92に対して、転舵を指令する。具体的には、
図15(A)および
図15(B)に示すように、AP制御部20Aは、舵機92が外乱の到来方向に向く状態から逆方向に向く状態に変化ように舵角指令を設定する。例えば、AP制御部20Aは、誤差距離eFが区間PB(F)に入ったタイミングで転舵を行う。この転舵によって、船体90は転回する。
【0180】
さらに、このタイミングで、
図15(B)に示すように、AP制御部20Aは、スロットル指令値Rとして、PBBsfを設定する。すなわち、AP制御部20Aは、このタイミングで、大きな前進推力を発生させる。これにより、船体90の転回力はより強くなり、船体90は、より大きく転回する。そして、船体90の船尾方位と外乱方位とがより平行に近づくように、船体方位が制御される。
【0181】
次に、
図15(C)に示すように、AP制御部20Aは、船体90が、前進制御によって、制御開始位置P0側に向けて、第1切替用境界線LN1を横切ったことを検出する。具体的には、例えば、AP制御部20Aは、誤差距離eFが区間PB(F)から出たことを検出する。
【0182】
AP制御部20Aは、一時的に、スロットル指令値RをZEsに設定する。すなわち、AP制御部20Aは、一時的に、推力を停止させる。
【0183】
以降、AP制御部20Aは、上述の前進制御を行う。
【0184】
このような制御を行うことによって、上述の定点保持の制御を行いながら、船体90の船尾方向と外乱の到来方向とをより平行になるように補正することができる。そして、このように、船体90の船尾方向と外乱の到来方向とをより平行できることによって、例えば、所望の船速になるように船速を精度良く制御でき、定点制御の性能は、向上する。
【0185】
このような制御も、プログラム化して記憶しておき、演算処理装置でこのプログラムを実行することで実現できる。
図16は、船体方位の補正方法を示すフローチャートである。
【0186】
図16に示すように、演算処理装置は、第1切替条件を満たすことを検出すると(S301)、スロットル指令値RをZEsに設定する(S302)。
【0187】
演算処理装置は、誤差距離eFが区間PB(F)に入るまでは(S303:NO)、スロットル指令値RをZEsに設定する(S302)。
【0188】
演算処理装置は、誤差距離eFが区間PB(F)に入ると(S303:YES)、転舵の制御を行う(S304)。さらに、演算処理装置は、スロットル指令値RをPBBsfに設定する(S305)。
【0189】
演算処理装置は、誤差距離eFが区間PB(F)から出るまで(S306:NO)、スロットル指令値RをPBBsfに設定する(S305)。
【0190】
演算処理装置は、誤差距離eFが区間PB(F)から出ると(S306:YES)、一時的には、スロットル指令値RをZEsに設定し(S307)、上述の前進制御を行う(S206)。
【0191】
(制御用座標系の更新)
船体制御装置10Aの構成では、外乱方位の更新および制御用座標系の更新を行うことができる。
図17(A)、
図17(B)は、外乱方位および制御座標系の更新状態を示す図である。なお、以下では、AP制御部20Aを制御の主体として、説明する。
【0192】
図17(A)に示すように、船体90は、外乱の到来方向(外乱方位)に略沿って流される。AP制御部20Aは、例えば、
図17(A)に示すように、船体90の制御用基準位置900が、制御開始位置P0から所定距離(半径r)にある円CRtの外形線に達するまでの自船位置Pの変化を観測する。AP制御部20Aは、自船位置Pの変化から、例えば、
図17(A)に示すような平均移動方位φ0を算出する。
【0193】
上述の定点制御における前進制御を行いながら、AP制御部20Aは、例えば所定の時間間隔で、平均移動方位を算出する。船体90は、外乱によって、外乱方位に沿って流される力を受ける。したがって、平均移動方位と外乱方位とは、略平行であると定義できる。これにより、AP制御部20Aは、平均移動方位を用いて、外乱方位を算出することと同じ処理を行える。言い換えると、AP制御部20Aは、平均移動方位の変化を用いて、外乱方位の変化を検出できる。
【0194】
そして、AP制御部20Aは、
図17(B)に示すように、平均移動方位φ0から変化した平均移動方位φ1を算出すると、平均移動方位φ1に応じて、外乱方位ψdおよび制御用座標系を更新する。具体的には、AP制御部20Aは、平均移動方位φ1を外乱方位ψdに設定する。AP制御部20Aは、外乱方位ψdに平行なy1軸を設定し、制御開始位置P0を通りy1軸に直交するx1軸を設定する。すなわち、AP制御部20Aは、y0軸とx0軸とから定義される制御用座標系を、y1軸とx1軸とから定義される制御用座標系に更新する。
【0195】
これにより、AP制御部20Aは、外乱方位に適応した制御用座標系を、適正に設定できる。したがって、船体制御装置10Aは、上述の定点制御を、より高精度に行うことができる。
【0196】
このような制御も、プログラム化して記憶しておき、演算処理装置でこのプログラムを実行することで実現できる。
図18は、外乱方位および制御用座標系の更新方法を示すフローチャートである。
【0197】
演算処理装置は、上述の定点制御の前進制御時において、自船位置Pを観測する(S401)。演算処理装置は、観測した自船位置Pの変化から、平均的移動方位を算出しする(S402)。演算処理装置は、平均移動方位を用いて、外乱方位および制御用座標系を更新する(S403)。
【符号の説明】
【0198】
10、10A:船体制御装置
20、20A:AP制御部
21、21A:メイン制御部
22、22A:船速制御部
23、23A:舵角制御部
24:外乱方位算出部
30:AP操作部
40:センサ
50:表示部
90:船体
91:推進力発生部
92:舵機
100:データ通信ネットワーク
101:本体
102:リモコンレバー
200:操作レバー
201:操作状態検出部
221:誤差距離算出部
222:接近速度算出部
223:指令値設定部
231:ターゲット方位算出部
232:偏角算出部
233:舵角設定部
900:制御用基準位置