(57)【要約】【課題】評価関数における重みの調整が不要で、ＰＩＤ制御のようないわゆる古典制御系を適用したフィードバック制御の一部にのみ最適化計算を組み込むことによる、制御演算の破綻しにくい船舶の運動制御装置を得る。【解決手段】複数の船外機を搭載した船舶を、所望の軌道で航走させる船舶の運動制御装置であって、軌道指令を出力する軌道生成器と、前記軌道指令と船舶に具備されたセンサ群からのセンサ情報群に基づいて、制御力指令を出力する制御器と、前記制御力指令に基づいて前記複数の船外機への要求される操作量を出力する、予め設定された制約条件に従った前記操作量のための最適化演算を行う制御力配分器と、を備えた、船舶の運動制御装置。【選択図】図１
2018176922.tif 000002
【特許請求の範囲】
【請求項１】
複数の船外機を搭載した船舶を、所望の軌道で航走させる船舶の運動制御装置であって、
軌道指令を出力する軌道生成器と、
前記軌道指令と船舶に具備されたセンサ群からのセンサ情報群に基づいて、制御力指令を出力する制御器と、
前記制御力指令に基づいて前記複数の船外機への要求される操作量を出力する、予め設定された制約条件に従った前記操作量のための最適化演算を行う制御力配分器と、
を備えた、船舶の運動制御装置。
【請求項２】
前記制御力配分器は、
前記制御力指令に基づいて駆動力信号を出力する配分演算器と、
前記駆動力信号に基づいて最適駆動力信号を出力する駆動力選択器と、
前記最適駆動力信号に基づいて前記要求される操作量を出力する操作量演算器と、
を有する、請求項１に記載の船舶の運動制御装置。
【請求項３】
前記船外機が２機であり、
前記配分演算器は、
以下の式で与えられる標準形の評価関数Ｊ、
【数１】
2018176922.tif 000018
ここで、機体固定座標系における
Ｘｆ：Ｘ軸方向並進力指令
Ｙｆ：Ｙ軸方向並進力指令
Ｎｆ：Ｚ軸方向回転トルク指令
ｆＸ１：第１の船外機へのＸ軸方向の推力操作量
ｆＹ１：第１の船外機へのＹ軸方向の推力操作量
ｆＸ２：第２の船外機へのＸ軸方向の推力操作量
ｆＹ２：第２の船外機へのＹ軸方向の推力操作量
Ｒ：半正定行列
Ｌｘ、Ｌｙ：船舶の重心から各船外機の回転中心までのＸ軸方向とＹ軸方向距離
を、少なくとも１つ以上の線形不等式制約条件のもとで最小化する解Ｆ＊を前記駆動力信号として演算する、請求項２に記載の船舶の運動制御装置。
【請求項４】
前記駆動力選択器は、
前記配分演算器からの前記駆動力信号出力に対して、以下の式で与えられる誤差ノルム、
【数２】
2018176922.tif 000019
を演算し、前記誤差ノルムが最小となる解Ｆoptを判定して前記最適駆動力信号として出力する、または誤差ノルムに従って前記解Ｆoptに対して予め定められた信号処理をかけて前記最適駆動力信号として出力する、請求項３に記載の船舶の運動制御装置。
【請求項５】
前記操作量演算器は、前記駆動力選択器の前記最適駆動力信号に従って、前記船外機の要求される操作量である推力と操舵角をそれぞれ演算して前記要求される操作量として出力する、請求項４に記載の船舶の運動制御装置。
【請求項６】
複数の船外機を搭載した船舶を、所望の軌道で航走させる船舶の運動制御方法であって、
記軌道指令と船舶に具備されたセンサ群からのセンサ情報群に基づいて、制御力指令を出力し、
前記制御力指令に基づいて、予め設定された制約条件に従った前記操作量のための最適化演算を行って、前記複数の船外機への要求される操作量を出力する、
ことを備えた、船舶の運動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、船外機を備えた船舶を、所望の軌道で航走せしめる船舶の運動制御装置および運動制御方法に関するものである。
【背景技術】
【０００２】
従来の船舶の運動制御装置では、複数のアジマススラスタおよびバウスラスタを備えた船舶において、初期地点から目標地点までの航走や定点保持のような運動制御機能を実現するための発生推力を、高精度に制御する推力配分方法および推力配分装置が知られている(例えば特許文献１)。
【０００３】
特許文献１によれば、３つの推力発生装置それぞれの非線形性と動特性を考慮し、推力による合力と合モーメントのバランス関係を予め設定する。さらに、評価関数を規定した上で、前記合力と合モーメントのバランス関係を制約条件とした各推力発生装置の発生推力を最小化するモデル予測制御により、各推力発生装置のプロペラ推力、舵角ならびに舵角速度を演算する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０４２８８５号公報(９頁１〜２８行、図７、図８)
【非特許文献】
【０００５】
【非特許文献１】Matthew Brand、PARALLEL QUADRATIC PROGRAMMING FOR IMAGE PROCESSING、18th IEEE International Conference on Image Processing、2011
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような従来の船舶の運動制御装置の推力配分装置では、規定する評価関数の重みの調整が一般的に試行錯誤的となり、重みの最適調整に時間が掛かる問題があった。また、モデル予測制御では、予め設定された予測時間区間またはホライゾン以内に最適化演算が完了しない場合には、制御系が破綻するという問題もあった。
【０００７】
この発明は、上記のような問題点を解決するためになされたものであり、評価関数における重みの調整が不要で、かつＰＩＤ制御のようないわゆる古典制御系を適用したフィードバック制御の一部にのみ最適化計算を組み込むことによる、制御演算の破綻しにくい船舶の運動制御装置および運動制御方法を得ることを目的としている。
【課題を解決するための手段】
【０００８】
この発明は、複数の船外機を搭載した船舶を、所望の軌道で航走させる船舶の運動制御装置であって、軌道指令を出力する軌道生成器と、前記軌道指令と船舶に具備されたセンサ群からのセンサ情報群に基づいて、制御力指令を出力する制御器と、前記制御力指令に基づいて前記複数の船外機への要求される操作量を出力する、予め設定された制約条件に従った前記操作量のための最適化演算を行う制御力配分器と、を備えた、船舶の運動制御装置等にある。
【発明の効果】
【０００９】
この発明によれば、評価関数における重みの調整が不要で、ＰＩＤ制御のようないわゆる古典制御系を適用したフィードバック制御の一部にのみ最適化計算を組み込むことによる、制御演算の破綻しにくい船舶の運動制御装置等を得ることができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の一実施の形態による船舶の運動制御装置を含む船舶制御システムの一例の全体構成図である。
【図２】この発明の実施の形態１による図１の軌道生成器の構成の一例を示す図である。
【図３】この発明の実施の形態１による図１の制御器の構成の一例を示す図である。
【図４】この発明の実施の形態１による図１の制御力配分器の構成の一例を示す図である。
【図５】この発明の実施の形態１における、Ｘ軸方向並進(surge)、Ｙ軸方向並進(sway)、Ｚ軸方向回転(yaw)としてとらえた船舶の運動の模式的な図である。
【図６】この発明の実施の形態１における、縦軸をＸ軸方向の推力操作量、横軸をＹ軸方向の推力操作量とした２次元平面と制限領域を示す図である。
【図７】この発明の実施の形態１における、Ｘ軸方向並進、Ｙ軸方向並進、並びにＺ軸方向回転の軌道指令を適当に与え、軌道指令に対する船舶の挙動と、そのときの要求される推力操作量と要求される舵角操作量の挙動を示す図である。
【図８】この発明の実施の形態２による図１の制御力配分器の構成の一例を示す図である。
【図９】この発明による船舶の運動制御装置の制御部分のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、この発明による船舶の運動制御装置および運動制御方法を各実施の形態に従って図面を用いて説明する。なお、各実施の形態において、同一もしくは相当部分は同一符号で示し、重複する説明は省略する。
【００１２】
実施の形態１．
図１は、この発明の一実施の形態による船舶の運動制御装置を含む船舶制御システムの一例の全体構成図である。図１は、制御対象である船舶、センサ群、船舶の運動制御装置の関係を示している。船舶には、基本的に、船舶の前後左右の並進運動または方位角を制御するためのアクチュエータである船外機(図示せず)が具備されている。船外機は、船体への推力を与える推力発生機構(図示せず)と、舵を切るための操舵機構(図示せず)を備えており、船舶の運動制御装置１の出力である操作量をもとに、船外機の推力と舵角が制御されるものである。
なお船舶の推進、操舵機構として、エンジンの下にスクリュウが一体に設けられた本体が船体の外側に取り付けられて、本体の向きを変えて船舶の方向を変える、小型船に多く見られる船外機がある。この発明はこれに限定されず、大型船に多く見られる、エンジン等の駆動部が船内にあり、方向が可変のスクリュウ部が船外機として船外に露出している形態の推進、操舵機構を備えた船舶も制御対象となる。
以下では船外機として上記両方の場合の構成の船外機を含むものとする。
【００１３】
また、船舶には、船舶の運動状態を検出するためのセンサ群３００が具備されている。センサ群３００は、例えば、船舶の緯度・経度を計測するＧＰＳ(Global Positioning System)や、船舶の方位角を計測する磁方位センサから構成されるが、センサ群３００の構成に制限されることなく、船舶の角速度を計測するジャイロ、船舶の並進加速度を計測する加速度センサ等も備えた、いわゆる公知の慣性航法装置を備えていてもよい。以降、船舶の運動制御装置１の構成を明確に説明するために、船舶５００には、例えば、２機の船外機が搭載されているものとする。
【００１４】
船舶の運動制御装置１は、軌道生成器１０と、制御器１００と、制御力配分器２００より構成される。以下、船舶の運動制御装置１を構成する軌道生成器１０、制御器１００、制御力配分器２００それぞれについて、入出力関係とともに、その機能を詳細に説明する。
【００１５】
まず、この発明の実施の形態１による図１の軌道生成器１０の構成の一例を図２に示す。軌道生成器１０は、運動条件設定器１１と、軌道演算器１２より構成される。運動条件設定器１１は、船舶の運動の初期条件と終端条件を設定するもので、例えば
位置、姿勢角、速度、角速度、加速度、および角加速度、
を運動開始前の初期状態と、所望の運動が完了した時点での終端状態を、操船者が例えば船舶５００のユーザーインターフェースである操作装置５０３から操作入力ＯＰＩにより設定するものである。操船者が意図した初期状態から終端状態まで操船したい場合の当該設定は、位置、姿勢角、速度、角速度、加速度、および角加速度を数値化した値で与えてもよい。また、最近ではＧＰＳのユーザーインターフェースがタッチパネル化されていることも多いので、初期状態はセンサ群３００の検出値で常に、センサ情報群ＳＥＩとしてモニタリングされていて自動的に既知なので、単に終端状態をユーザーインターフェース画面でタッチ入力することで与えてもよい。
【００１６】
次に、運動条件設定器１１の出力する初期状態ＳＣＩと終端状態ＥＣＩを受けて、軌道演算器１２で具体的な軌道指令ＴＲＣのプロファイルを演算する。この軌道指令ＴＲＣのプロファイルの演算方法は複数考えられる。例えば、運動条件設定器１１で得られた船舶の初期状態ＳＣＩと終端状態ＥＣＩにおける位置、姿勢角、速度、角速度、加速度、および角加速度をもとに、時間ｔの多項式として与えた軌道を演算し、軌道指令ＴＲＣを出力する。
【００１７】
なお、軌道指令のプロファイルを演算するにあたって、上記方法の他に、初期状態ＳＣＩと終端状態ＥＣＩを最短時間で結ぶ直線軌道として演算してもよいし、初期状態と終端状態の間を最小燃料で到達可能な軌道として演算してもよい。すなわち、初期状態から終端状態に遷移する際、予め設定された評価関数を最小化する最適な軌道、例えば時間最短の意味で最適な軌道、最小燃料の意味で最適な軌道、として演算してもよい。
【００１８】
次に、この発明の実施の形態１による図１の制御器１００の構成の一例を図３に示す。制御器１００は、制御演算器１１０と制御演算の後処理器１２０より構成される。制御演算器１１０は、軌道生成器１０の出力である軌道指令ＴＲＣと、センサ群３００の出力であるセンサ情報群ＳＥＩをもとに、公知のＰＩＤ制御で制御力指令ＣＦＣを出力する。ここで、ＰＩＤ制御系の構成としては例えば、軌道指令ＴＲＣとセンサ情報群ＳＥＩとの偏差をもとにＰＩＤ演算する形態でもよい。またＰＩＤ制御系の構成として、軌道指令ＴＲＣとセンサ情報群ＳＥＩとの偏差をもとにＰＩ演算した速度指令相当とセンサ情報群の時間微分で得られる実速度との偏差にゲインを乗じて演算する微分先行型ＰＩ＿Ｄ制御などとしてもよい。すなわちＰＩＤ制御系の構成としては、古典制御理論におけるあらゆるＰＩＤ制御の構成を適用できる。
また、前記偏差を示す偏差信号への前処理として、偏差が小さい予め設定された区間は偏差を０とする不感帯処理などを適用してもよい。
【００１９】
制御演算の後処理器１２０は、制御演算器１１０の後段に位置し、制御演算器１１０の出力する制御演算結果ＣＯＲに対して、信号の上下限や信号の変化率を制限する処理を行い、制御力指令ＣＦＣを出力する。
【００２０】
次に、この発明の実施の形態１による図１の制御力配分器２００の構成の一例を図４に示す。制御力配分器２００は、第１の配分演算器２１１と、第２の配分演算器２１２と、第３の配分演算器２１３と、第４の配分演算器２１４と、駆動力選択器２５０と、操作量演算器２７０から構成される。これらのモジュールについて、図５も参照しながら、以下詳細に説明する。
【００２１】
図５は、この発明の実施の形態１における、
Ｘ軸方向並進(surge)、Ｙ軸方向並進(sway)、Ｚ軸方向回転(yaw)
としてとらえた船舶の運動の模式的な図である。船舶の運動は、通常、並進３自由度と回転３自由度の合計６の運動自由度を有すが、図５は、
Ｚ軸方向並進(heave)、Ｘ軸方向回転(roll)、Ｙ軸方向回転(pitch)
の計３自由度の運動を無視し、
Ｘ軸方向並進(surge)、Ｙ軸方向並進(sway)、Ｚ軸方向回転(yaw)
を考慮した計３自由度の平面運動としてとらえた模式的なものである。
ここで例えばＺ軸方向回転とは、Ｚ軸を回転軸とする回転を意味する。
【００２２】
図５において、
座標系ＯＩ−ＸＩＹＩＺＩは原点をＯＩとした右手系の慣性座標系、
座標系Ｏ０−Ｘ０Ｙ０Ｚ０は原点をＯ０とした右手系の機体固定座標系
である。
すなわち慣性座標系は、例えばＸＩ軸を地球の経度線に沿った軸、ＹＩ軸を地球の緯度線に沿った軸とする。機体固定座標系は、Ｘ０軸を船舶５００の船首と船尾を結ぶ軸、Ｙ０軸を水平面内でＸ０軸と直交する軸とする。
慣性座標系ＯＩ−ＸＩＹＩＺＩの原点ＯＩから機体固定座標系Ｏ０−Ｘ０Ｙ０Ｚ０の原点Ｏ０までの距離をＸ、Ｙとして、慣性座標系ＯＩ−ＸＩＹＩＺＩのＸＩ軸と機体固定座標系Ｏ０−Ｘ０Ｙ０Ｚ０のＸ０軸がなす角度を方位角γとする。なお、原点Ｏ０は、船舶の重心に一致しているものとする。
【００２３】
船舶５００には、前述のように２機の船外機５０１、５０２が搭載されており、船外機５０１、５０２それぞれの推力をｆ１、ｆ２とする。ｇ１とｇ２は、船外機操舵の回転中心であり、それぞれの回転中心を中心とした右手系の機体固定座標系Ｏ１−Ｘ１Ｙ１Ｚ１とＯ２−Ｘ２Ｙ２Ｚ２を定義したとき、それぞれの操舵角の０基準を、前記Ｘ０軸とＸ１軸または前記Ｘ０軸とＸ２軸が平行かつ方向が一致する場合とする。このとき、船外機５０１，５０２それぞれの舵角は、Ｘ０軸とＸ１軸の相対角度θ１、Ｘ０軸とＸ２軸の相対角度θ２とする。以上の準備の下で、船舶５００の運動方程式は、式(１)で与えられえる。
【００２４】
【数１】
2018176922.tif 000003
【００２５】
式(１)における記号は以下の定義による。
ｍ０：船舶の質量
ｍX、ｍＹ：船舶のＸ軸方向並進運動とＹ軸方向並進運動に伴う付加質量
ＩＺ０：船舶の重心まわりの慣性モーメント
ＪＺ：船舶のＺ軸方向回転(＝船舶重心まわり)運動に伴う付加慣性モーメント
ｖＸ０、ｖｙ０：機体固定座標系Ｏ０−Ｘ０Ｙ０Ｚ０基準の船舶のＸ軸方向速度、Ｙ軸方向速度
Ｌｘ、Ｌｙ：船舶の重心から各船外機の回転中心までのＸ軸方向とＹ軸方向距離(≧０)
Ｘｄ、Ｙｄ、Ｎｄ：船舶に作用するＸ軸方向並進外乱、Ｙ軸方向並進外乱、Ｚ軸方向回転外乱(総称して図１に示す外乱ＤＴＢ)
ｆ１，ｆ２：船外機５０１，５０２の要求される推力
記号の上にあるドット(・)は時間微分、ドット(・・)は二階の時間微分を表す。
【００２６】
式(１)の右辺それぞれにおいて、Ｘｄ、Ｙｄ、Ｎｄを除く項は、船舶に所望の動作をさせるための制御力指令ＣＦＣに相当し、制御力指令をＸｆ、Ｙｆ、Ｎｆとした場合式(２)で表現できる。
【００２７】
【数２】
2018176922.tif 000004
【００２８】
式(２)における表現では、以下の簡略的な表記を使っている。
【００２９】
【数３】
2018176922.tif 000005
【００３０】
ここで、
ｆＸ１：船外機５０１へのＸ軸方向の推力操作量
ｆＹ１：船外機５０１へのＹ軸方向の推力操作量
ｆＸ２：船外機５０２へのＸ軸方向の推力操作量
ｆＹ２：船外機５０２へのＹ軸方向の推力操作量
ｆｍａｘ：推力操作量の制限値
である。
式(２)は、制御器１００からの３つの制御力指令ＣＦＣである、Ｘ軸方向並進力指令Ｘｆ、Ｙ軸方向並進力指令Ｙｆ、Ｚ軸方向回転トルク指令Ｎｆから、１つの船外機あたり推力と舵角からなる２つの操作量で船外機は２機なので、合計４つの操作量に配分することを表している。
【００３１】
ところで、船舶などの移動体においては、ハードウェア故障などを考慮して、一般に運動自由度以上のアクチュエータを搭載していることが多い。この場合、アクチュエータの数が制御指令の数よりも多くなり、アクチュエータ群への制御指令群の配分が一意に定まらない。このような問題は、制御配分問題としてよく知られている。
【００３２】
この発明における制御力配分器２００は、概略、３つの制御力指令の入力から、４つに配分した操作量を出力するもので、特に、予め設定された制約条件、例えば舵角制約、推力制約を満たしつつ操作量配分するものである。以下、その具体的な制御配分問題について説明する。
【００３３】
図６は、縦軸をＸ軸方向の推力操作量、横軸をＹ軸方向の推力操作量とした２次元平面と、制限領域を示す図である。船外機１機あたりが発生可能な推力の上下限を±ｆｍａｘ、舵角の上下限を±θｍａｘとする。このとき、前記推力操作量に関する制約条件は、式(３)で与えられる。
【００３４】
【数４】
2018176922.tif 000006
【００３５】
ここで、添え字ｉは、２機の船外機それぞれを区別するための数字である。以下、船外機５０１を船外機(１)、船外機５０２を船外機(２)とも記載する。
【００３６】
式(３)は、船外機の推力制約が、非線形な不等式制約条件で表現されることを意味する。また、舵角の上下限を±θｍａｘを考慮すると、ｆＹ軸に対称な扇形が実行可能領域となるが、これもまた、非線形な不等式制約条件となる。一般に、非線形な不等式制約条件のもとでの最適化計算は計算コストが高いので、実時間演算には不向きである。
【００３７】
そこで、非線形な不等式制約条件を線形な不等式制約条件へ緩和するために、扇形を三角形の実行可能領域とする。具体的には、図６中の一点鎖線で示す領域１と領域２とする。例として、船外機(１)の操作量と船外機(２)の操作量が共に領域１内に最適解を有しているものとすると、線形不等式制約条件は式(４)で表現される。
【００３８】
【数５】
2018176922.tif 000007
【００３９】
留意すべきことは、船外機が２機で、実行可能領域の候補が２つあるので、合計４つの線形不等式制約条件付きの最適化問題を解くことになる。図４において、制御力指令ＣＦＣを受けて演算する配分演算器が、第１の配分演算器２１１と、第２の配分演算器２１２と、第３の配分演算器２１３と、第４の配分演算器２１４の合計４つで構成されている理由はここにある。
【００４０】
次に、評価関数Ｊを式(５)で与える。
【００４１】
【数６】
2018176922.tif 000008
【００４２】
ここで、式(５)における記号は、以下のとおりである。
【００４３】
【数７】
2018176922.tif 000009
【００４４】
Ｒ：半正定行列
ＦＴ，ｆＴ：それぞれＦ，ｆの転置行列
【００４５】
式(５)における半正定行列Ｒの要素(重みとも呼ぶ)は、半正定の条件を満たせば任意に選べる。しかしながら、この任意性は、かえって重み調整を試行錯誤させてしまう要因となる。そこで、半正定行列Ｒを、式(６)とする。
【００４６】
【数８】
2018176922.tif 000010
【００４７】
ここで、
ρ：非常に小さい正数
Ｉ：単位行列
である。
なお、ρは０設定でもよい。
【００４８】
このようにすることで、半正定行列Ｒは一意に定めることができるので、重み調整が不要な評価関数とすることができる。
【００４９】
以上より、式(４)の線形不等式制約条件のもとで、式(５)の評価関数を最小化する２次計画問題へ定式化できる。
すなわち、式(４)の線形不等式制約条件のもとで、評価関数の式(５)を最小化するような解Ｆｋ＊を演算する。ただし、下添え字のｋは１から４までの整数である。
【００５０】
ここで、この２次計画問題を予め設定された制御周期内で、数値的に高速に解く必要があるが、この高速演算には、例えば、上記非特許文献１に示す公知のソルバーを適用できる。なお、前記２次計画問題を高速に解くソルバーは、上記非特許文献１だけではなく、予め設定された制御周期内で最適化演算が完了できるソルバーであれば何でも良い。
【００５１】
このようにして、制御力指令ＣＦＣをもとに、第１の配分演算器２１１からは第１の駆動力ＤＦ１を、第２の配分演算器２１２からは第２の駆動力ＤＦ２を、第３の配分演算器２１３からは第３の駆動力ＤＦ３を、第４の配分演算器２１４からは第４の駆動力ＤＦ４を、それぞれ得ることができる。
【００５２】
次に、駆動力選択器２５０について説明する。駆動力選択器２５０は、各配分演算器２１１−２１４から得られた駆動力ＤＦ１−ＤＦ４のうち、最も適した最適駆動力ＩＤＤＦを予め定められた設定条件で判定するものである。前記設定条件は、例えば、式(２)で表現された等式制約の誤差が最小となるものから選択するという意味で、式(７)で与える。
【００５３】
【数９】
2018176922.tif 000011
【００５４】
ここで、
Ｆopt：駆動力選択器２５０の出力に相当する最適駆動力(ＩＤＤＦ)
Ｆｋ＊：各配分演算器の出力ＤＦｋと同義
添え字ｋは、４つの配分演算器２１１−２１４それぞれを区別するための数字である。
【００５５】
次に、操作量演算器２７０について説明する。操作量演算器２７０は、駆動力選択器２５０の出力である最適駆動力ＩＤＤＦをもとに、船外機(１)の要求される推力操作量ｆ１と要求される舵角操作量θ１、ならびに船外機(２)の要求される推力操作量ｆ２と要求される舵角操作量θ２を演算して出力する。
【００５６】
具体的には、前記式(４)の線形不等式制約条件のもとで得られた最適駆動力ＩＤＤＦを、式(８)で演算する。
【００５７】
【数１０】
2018176922.tif 000012
【００５８】
なお、上記各駆動力ＤＦ１−ＤＦ４および最適駆動力ＩＤＤＦは、それぞれ各配分演算器２１１−２１４の出力および駆動力選択器２５０の出力である。
【００５９】
以上、この実施の形態１によれば、複数の船外機を搭載した船舶において、Ｘ並進方向(surge)、Ｙ並進方向(sway)、Ｚ回転方向(yaw)の位置・姿勢制御を実行する上で、船舶の制御力指令ＣＦＣに対応した船外機への最適な要求される操作量(ｆ、θ)を配分できる。
【００６０】
また、前記最適な要求される操作量(ｆ、θ)は、船外機の推力制限と舵角制限を満たした解として得られるので、例えば舵角を制限以上に切り増しすることによる船外機の機械的な干渉を確実に防止し、適正な船外機の駆動制御が実現できる。
【００６１】
さらに、評価関数には任意設定可能な重みの調整を不要とし、かつＰＩＤ制御のようないわゆる古典制御系を適用したフィードバック制御の一部にのみ最適化計算を組み込んだので、制御調整が簡易でかつ制御演算の破綻しにくい船舶の運動制御装置を得ることができる。
【００６２】
ここで、この実施の形態１の有効性を確認するための数値シミュレーション例を示す。数値シミュレーションでは、Ｘ軸方向並進、Ｙ軸方向並進、並びにＺ軸方向回転の軌道指令ＴＲＣを適当に与え、当該軌道指令ＴＲＣに対する船舶の挙動と、そのときの要求される推力操作量ｆｉ(ｉ＝１、２)と要求される舵角操作量θｉ(ｉ＝１、２)の挙動を時間履歴で示す。
【００６３】
図７は、この実施の形態１における、Ｘ方向並進、Ｙ方向並進、並びにＺ方向回転の軌道指令ＴＲＣを適当に与え、当該軌道指令ＴＲＣに対する船舶の挙動と、そのときの要求される推力操作量ｆと要求される舵角操作量θの挙動を示す図である。
図７の左側の(Ａ)が船舶挙動の時間履歴を示す。(Ａ)の(ａ)がＸ軸方向並進運動、(ｂ)がＹ軸方向並進運動、(ｃ)がＺ軸方向回転運動を示し、それぞれの指令(Ｘ指令、Ｙ指令、γ指令)に対する実軌道(Ｘ、Ｙ、γ)を示す。図７の右側の(Ｂ)が(Ａ)が船舶挙動の際の船外機の要求される操作量の時間履歴を示す。(Ｂ)の(ａ)が２つの船外機の要求される推力操作量ｆ１、ｆ２であり、(ｂ)が２つの船外機の要求される舵角操作量θ１、θ２である。
軌道生成器１０は軌道指令ＴＲＣとして、Ｘ軸方向並進位置とＹ軸方向並進位置の初期位置を０ｍ、Ｚ軸方向回転の初期姿勢を０ｄｅｇ、Ｘ軸方向並進位置とＹ軸方向並進位置の終端位置を１００ｍ、Ｚ軸の終端姿勢を４５ｄｅｇとした条件を満たす軌道指令を与えた。制限値として、推力制限を±５０００Ｎ、舵角制限を±２０ｄｅｇとした。
【００６４】
図７の(Ａ)の(ａ)(ｂ)(ｃ)より、Ｘ指令、Ｙ指令，γ指令で示した軌道指令値に対して、実軌道Ｘ、Ｙ、γがともに終端状態へ追従していることが確認できる。また、図７の(Ｂ)の(ａ)(ｂ)より、そのときの要求される推力操作量ｆ１、ｆ２は±５０００Ｎ制限範囲内で、要求される舵角操作量θ１、θ２も±２０ｄｅｇ制限範囲内で、推力と舵角ともに制約条件を満たす操作量のもとで、船舶の運動制御が実現できていることが確認できる。
【００６５】
なお、図７の(Ｂ)の(ｂ)の要求される舵角操作量θ１、θ２において、操作量が急峻に変わる現象が確認できる。このような操作量は、船舶の運動制御装置１より下流に位置する船外機制御系への悪影響が懸念されるが、このような急峻な変化に対しては、操作量演算器２７０の後段に、図４に破線の平滑化器２８０で示すように、変化率制限処理器や、移動平均フィルタなどの適当なフィルタを挿入する平滑化を施すことで、解消できる。なお、平滑化器２８０は操作量演算部２７０に内蔵するように構成してもよい。
【００６６】
実施の形態２．
図８は、この発明の実施の形態２による船舶の運動制御装置の制御力配分器の構成の一例を示す。その他の部分は実施の形態１のものと基本的に同じである。実施の形態１では、駆動力選択器２５０の前段で、４つの配分演算器それぞれに対応した線形不等式制約条件のもとで、最適化計算を実施するものであった。この場合、船外機数をｎ機とした場合、合計で２ｎの線形不等式制約条件に基いて最適化計算する必要がある。このような構成の運動制御装置は船外機数の２倍で計算コストが増加する。そのため、予め設定された制御周期内で最適化計算を完了させるためには、計算コストを可能な限り小さくしたほうが望ましい。
【００６７】
そこで、この発明の実施の形態２では、計算コストを可能な限り小さくすべく、配分演算器を１つとした制御力配分器２００Ａとする。
【００６８】
配分演算器２１５は、制御力指令ＣＦＣを入力として、最適駆動力ＩＤＤＦを出力する。ここで、線形不等式制約条件を定める基となっている船外機の要求される推力操作量ｆの正負出力の条件を緩和すべく、ｆを自由変数とした別の最適化問題へと変形する。具体的には、前記推力ｆを自由変数と見なして、式(９)のように変数変換する。
【００６９】
【数１１】
2018176922.tif 000013
【００７０】
ここで、
ｆ＋≧０、
ｆ―≧０
である。
【００７１】
このような変数変換のもとで、Ｘ軸方向の推力操作量ｆＸとＹ軸方向の推力操作量ｆＹが式(１０)のように現される。
【００７２】
【数１２】
2018176922.tif 000014
【００７３】
ここで、
θ：船外機の操舵角
である。
【００７４】
次に、図６に示す船外機１機あたり２つの領域における線形不等式制約条件は、前記式(４)と同様な考察により、式(１１)で表現できる。
【００７５】
【数１３】
2018176922.tif 000015
【００７６】
ここで、
Ａ：行列
Ｆ’：自由変数からなるベクトル
ｂ：ベクトル
である。
【００７７】
この式(１１)の線形不等式制約条件のもとで、評価関数の式(１２)を最小化するような解Ｆ’＊を演算する。
【００７８】
【数１４】
2018176922.tif 000016
【００７９】
ここで、Ｒ’は半正定行列であって、例えば式(１３)で与えられるものである。
【００８０】
【数１５】
2018176922.tif 000017
【００８１】
また、Ｃ’は、前記式(２)中のＣ行列を、自由変数ベクトルで表現したときに得られる行列であって、Ｉ’は単位行列である。
【００８２】
以上のことから、配分演算器２１５は、式(１１)の線形不等式制約条件のもとで、式(１２)の評価関数を最小化する最適化計算を行い、最適駆動力ＩＤＤＦを出力する。このようにすることで、実施の形態１のように、制約の領域毎の線形不等式制約条件のもとで、最適化計算のための配分演算器を船外機数と領域の組合せに応じて複数有すること無く、１つの配分演算器で最適化計算を実行するので、計算コストを大幅に低減できる。
【００８３】
操作量演算器２７０Ａは、配分演算器２１５の出力である最適駆動力ＩＤＤＦを、船外機の実質の操作量である推力指令と舵角指令、すなわち要求される推力操作量ｆ、要求される舵角操作量θへ換算するものである。
【００８４】
なお、実施の形態１では図４に示すように駆動力選択器２５０が具備されているが、実施の形態２では、必ずしも必要が無い。なぜならば、最適駆動力ＩＤＤＦは配分演算器２１５の出力として唯一得られるからである。しかしながら、誤差ノルムをモニタし、例えば、誤差ノルムが過剰に大きくなった場合の、最適駆動力ＩＤＤＦを前回計算値に保持するなどの予め定められた信号処理には、当然使用できる。このようにすることで、制御演算の破綻を抑制できる。
【００８５】
以上、この実施の形態２によれば、実施の形態１の効果に加えて、最適化計算の演算コストを大幅に低減できる。
【００８６】
また、本実施の形態全てにおいて、制御力配分器の出力である操作量には、変化率制限処理、上下限制限処理、およびフィルタリング処理を施すことができる。さらに、制御器の形態は、古典制御系のみならず、状態フィードバック制御をなす現代制御系も当然のことながら利用できる。
【００８７】
なお上記各実施の形態において、図１に記載された運動制御装置１の軌道生成器１０、制御器１００、制御力配分器２００、されにはこれらを構成する図２−４，８に示された各機能からなる制御部分は、別々の制御回路で構成してもよく、また１つの制御回路でまとめて構成してもよい。
この点に関し、これらの機能を実現する処理回路は、専用のハードウェアであっても、メモリに格納されるプログラムを実行するＣＰＵ(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰともいう)であっても構成可能である。
【００８８】
図９の(ａ)はこれらの機能をハードウェアで構成した場合、(ｂ)はソフトウェアで構成した場合の、ハードウェア構成を概略的に示す。
上記各部の機能を図９の(ａ)に示すハードウェアで構成した場合、処理回路１０００は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ、ＦＰＧＡ、またはこれらを組み合わせたものが該当する。上記各部の機能それぞれを処理回路で実現してもよいし、各部の機能をまとめて処理回路で実現してもよい。
【００８９】
上記各部の機能を図９の(ｂ)に示すＣＰＵで構成した場合、上記各部の機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアやファームウェアはプログラムとして記述され、メモリ２１００に格納される。処理回路であるプロセッサ２０００は、メモリ２１００に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。これらのプログラムは、上記各部の手順や方法をコンピュータに実行させるものであるともいえる。ここで、メモリ２１００とは、例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリー、ＥＰＲＯＭ、ＥＥＰＲＯＭ等の、不揮発性または揮発性の半導体メモリや、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等が該当する。
【００９０】
なお、上記各部の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【００９１】
このように、処理回路は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
また処理に必要な各種情報は、ハードウェア構成の場合は回路に予め設定され、またソフトウェア構成の場合にはメモリに予め記憶させておく。
【符号の説明】
【００９２】
１  運動制御装置、１０  軌道生成器、１１  運動条件設定器、１２  軌道演算器、
１００  制御器、１１０  制御演算器、１２０  制御演算の後処理器、
２００，２００Ａ  制御力配分器、２１１−２１５  配分演算器、
２５０  駆動力選択器、２７０，２７０Ａ  操作量演算器、２８０  平滑化器、
３００  センサ群、５００  船舶、５０１，５０２  船外機、５０３  操作装置、
１０００  処理回路、２０００  プロセッサ、２１００  メモリ。
【図１】
2018176922.tif 000020
【図２】
2018176922.tif 000021
【図３】
2018176922.tif 000022
【図４】
2018176922.tif 000023
【図５】
2018176922.tif 000024
【図６】
2018176922.tif 000025
【図７】
2018176922.tif 000026
【図８】
2018176922.tif 000027
【図９】
2018176922.tif 000028
【手続補正書】
【提出日】平成30年3月16日(2018.3.16)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
この発明は、複数の船外機を搭載した船舶を、所望の軌道で航走させる船舶の運動制御装置であって、軌道指令を出力する軌道生成器と、前記軌道指令と船舶に具備されたセンサ群からのセンサ情報群に基づいて、制御力指令を出力する制御器と、前記制御力指令に基づいて前記複数の船外機への要求される操作量を出力する、予め設定された制約条件に従った前記操作量のための最適化演算を行う制御力配分器と、を備え、前記制御力配分器は、前記制御力指令に基づいて駆動力信号を出力する配分演算器と、前記駆動力信号に基づいて最適駆動力信号を出力する駆動力選択器と、前記最適駆動力信号に基づいて前記要求される操作量を出力する操作量演算器と、を有し、前記船外機が２機であり、前記配分演算器は、以下の式で与えられる標準形の評価関数Ｊ、
【数１】
2018176922.tif 000029
ここで、機体固定座標系における
Ｘｆ：Ｘ軸方向並進力指令
Ｙｆ：Ｙ軸方向並進力指令
Ｎｆ：Ｚ軸方向回転トルク指令
ｆＸ１：第１の船外機へのＸ軸方向の推力操作量
ｆＹ１：第１の船外機へのＹ軸方向の推力操作量
ｆＸ２：第２の船外機へのＸ軸方向の推力操作量
ｆＹ２：第２の船外機へのＹ軸方向の推力操作量
Ｒ：半正定行列
Ｌｘ、Ｌｙ：船舶の重心から各船外機の回転中心までのＸ軸方向とＹ軸方向距離
を、少なくとも１つ以上の線形不等式制約条件のもとで最小化する解Ｆ＊を前記駆動力信号として演算する、船舶の運動制御装置等にある。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の船外機を搭載した船舶を、所望の軌道で航走させる船舶の運動制御装置であって、
軌道指令を出力する軌道生成器と、
前記軌道指令と船舶に具備されたセンサ群からのセンサ情報群に基づいて、制御力指令を出力する制御器と、
前記制御力指令に基づいて前記複数の船外機への要求される操作量を出力する、予め設定された制約条件に従った前記操作量のための最適化演算を行う制御力配分器と、
を備え、
前記制御力配分器は、
前記制御力指令に基づいて駆動力信号を出力する配分演算器と、
前記駆動力信号に基づいて最適駆動力信号を出力する駆動力選択器と、
前記最適駆動力信号に基づいて前記要求される操作量を出力する操作量演算器と、
を有し、
前記船外機が２機であり、
前記配分演算器は、
以下の式で与えられる標準形の評価関数Ｊ、
【数２】
2018176922.tif 000030
ここで、機体固定座標系における
Ｘｆ：Ｘ軸方向並進力指令
Ｙｆ：Ｙ軸方向並進力指令
Ｎｆ：Ｚ軸方向回転トルク指令
ｆＸ１：第１の船外機へのＸ軸方向の推力操作量
ｆＹ１：第１の船外機へのＹ軸方向の推力操作量
ｆＸ２：第２の船外機へのＸ軸方向の推力操作量
ｆＹ２：第２の船外機へのＹ軸方向の推力操作量
Ｒ：半正定行列
Ｌｘ、Ｌｙ：船舶の重心から各船外機の回転中心までのＸ軸方向とＹ軸方向距離
を、少なくとも１つ以上の線形不等式制約条件のもとで最小化する解Ｆ＊を前記駆動力信号として演算する、
船舶の運動制御装置。
【請求項２】
前記駆動力選択器は、
前記配分演算器からの前記駆動力信号出力に対して、以下の式で与えられる誤差ノルム、
【数３】
2018176922.tif 000031
を演算し、前記誤差ノルムが最小となる解Ｆoptを判定して前記最適駆動力信号として出力する、または誤差ノルムに従って前記解Ｆoptに対して予め定められた信号処理をかけて前記最適駆動力信号として出力する、請求項１に記載の船舶の運動制御装置。
【請求項３】
前記操作量演算器は、前記駆動力選択器の前記最適駆動力信号に従って、前記船外機の要求される操作量である推力と操舵角をそれぞれ演算して前記要求される操作量として出力する、請求項２に記載の船舶の運動制御装置。
【請求項４】
複数の船外機を搭載した船舶を、所望の軌道で航走させる船舶の運動制御方法であって、
軌道指令と船舶に具備されたセンサ群からのセンサ情報群に基づいて、制御力指令を出力し、
前記制御力指令に基づいて、予め設定された制約条件に従った前記操作量のための最適化演算を行って、前記複数の船外機への要求される操作量を出力する、
ことを備え、
前記最適化演算を行って操作量を出力する際に、
前記制御力指令に基づいて駆動力信号を求め、
前記駆動力信号に基づいて最適駆動力信号を求め、
前記最適駆動力信号に基づいて前記要求される操作量を出力し、
前記船外機が２機である場合に、
以下の式で与えられる標準形の評価関数Ｊ、
【数４】
2018176922.tif 000032
ここで、機体固定座標系における
Ｘｆ：Ｘ軸方向並進力指令
Ｙｆ：Ｙ軸方向並進力指令
Ｎｆ：Ｚ軸方向回転トルク指令
ｆＸ１：第１の船外機へのＸ軸方向の推力操作量
ｆＹ１：第１の船外機へのＹ軸方向の推力操作量
ｆＸ２：第２の船外機へのＸ軸方向の推力操作量
ｆＹ２：第２の船外機へのＹ軸方向の推力操作量
Ｒ：半正定行列
Ｌｘ、Ｌｙ：船舶の重心から各船外機の回転中心までのＸ軸方向とＹ軸方向距離
を、少なくとも１つ以上の線形不等式制約条件のもとで最小化する解Ｆ＊を前記駆動力信号として演算する、
船舶の運動制御方法。