(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
<第1の実施形態>
以下、第1の実施形態に係る水中航走システム及び水中航走体制御装置について、
図1〜
図8を参照しながら詳細に説明する。
【0018】
(水中航走システムの全体構成)
図1は、第1の実施形態に係る水中航走システムの全体構成を示す図である。
図1に示すように、第1の実施形態に係る水中航走システム1は、無人潜水機である水中航走体10と、当該水中航走体10のコントローラである水中航走体制御装置2と、を備えている。また、水中航走体10は、アクチュエータの一態様である複数のスラスタ100と、機体101と、を有してなる。
【0019】
水中航走体10は、機体101に具備された複数のスラスタ100から発生する推力の組み合わせに応じて、機体前後方向(±X方向)、機体左右方向(±Y方向)、機体上下方向(±Z方向)に移動する。また、水中航走体10は、上記推力の組み合わせに応じて、ロール(X軸回りの回転)、ピッチ(Y軸回りの回転)、ヨー(Z軸回りの回転)も所望に調整可能とする。
【0020】
水中航走体制御装置2は、水中航走体10に対する操作者からの指令(位置指令、速度指令等)を受け付ける。また、水中航走体制御装置2は、操作者から受け付けた指令に応じた、水中航走体10のスラスタ100各々に対する回転数指令値を出力する。この回転数指令値を受け付けたスラスタ100は、当該回転数指令値に応じた回転数(回転速度)で回転する。これにより、水中航走体10が操作者の指令にしたがって駆動する。
【0021】
なお、本実施形態に係る水中航走システム1では、水中航走体10は無人潜水機であって、地上に配置された水中航走体制御装置2から遠隔操作される態様としているが、他の実施形態においてはこの態様に限定されない。例えば、他の実施形態に係る水中航走システム1では、水中航走体10は有人の潜水艦であって、当該潜水艦の内部(操舵室)に設置された水中航走体制御装置2を用いて、当該潜水艦の搭乗者が操作する態様であってもよい。
また、他の実施形態に係る水中航走システム1は、水中航走体10に予め指令が設定された制御装置が搭載され、当該指令に規定された動作パターンに従って自動的に動作する態様であってもよい。
また、他の実施形態に係る水中航走システム1は、水中航走体10に搭載されたセンサを通じて海底地形を照合しながら、自身で目標指令を算出して自動航行する(ある決まった海域を自動で探査する)機能を有する態様であってもよい。
【0022】
(水中航走体の構成)
図2は、第1の実施形態に係る水中航走体の構成を示す図である。
図2に示すように、第1の実施形態に係る水中航走体10は、7個のスラスタ100(TH1〜TH7)が設けられている。各スラスタ100は、機体101の各軸方向に沿って、当該機体101の内部を一方側から他方側まで伸びる筒状の空孔をなしている。各スラスタ100における空孔の内部にはプロペラが設けられている。各スラスタ100は、当該プロペラが所望の回転数で回転することで、各軸方向に沿った推力を発生させる。
【0023】
図2の背面図に示すように、水中航走体10には、機体101の背面側から正面側にかけて、2個のスラスタTH1、TH2が設けられている。このスラスタTH1、TH2は、機体101の前後方向(±X方向)制御及びヨー(Z軸回りの角度)制御に用いられる。
また、機体101の側面には、2個のスラスタTH3、TH4が設けられている。このスラスタTH3、TH4は、機体101の左右方向(±Y方向)制御及びヨー制御に用いられる(
図2の側面図参照)。
更に、機体101の上面側から下面側にかけては、3個のスラスタTH5、TH6、TH7が設けられている。このスラスタTH5〜TH7は、機体101の上下方向(±Z方向)制御、ロール(X軸回りの角度)制御、及び、ピッチ(Y軸回りの角度)制御に用いられる(
図2の平面図参照)。
【0024】
このように、第1の実施形態に係る水中航走体10は、機体101に設けられた7個のスラスタTH1〜TH7の各々から発生する推力に基づいて、水中において6軸(前後、左右、上下、ロール、ピッチ、ヨー)の状態(位置・速度)を所望に変更することができる。
【0025】
なお、
図2に示した水中航走体10の態様はあくまで一例であって、他の実施形態においては
図2に示した態様に限定されない。例えば、他の実施形態に係る水中航走体10は、
図2に示した態様とは異なる位置に、異なる数のスラスタ100が設けられていてもよい。
また、スラスタTH1〜TH7は、推力の発生源となる「アクチュエータ」の一態様であり、アクチュエータはこれに限定されない。例えば、他の実施形態に係る水中航走体10は、アクチュエータとして「舵」を具備する態様であってもよい。更に、水中航走体10は、アクチュエータとして、スラスタ100及び「舵」の両方を具備する態様であってもよい。
【0026】
(水中航走体制御装置の機能構成)
図3は、第1の実施形態に係る水中航走体制御装置の機能構成を示す図である。
図3に示すように、水中航走体制御装置2は、フィードバック制御部20と、推力配分部21と、回転数指令変換部22と、外乱推定部23と、制御パラメータ演算部24と、を備えている。
【0027】
フィードバック制御部20は、水中航走体10に搭載されたセンサ(後述する速度センサSn1、位置センサSn2)を通じて得られた水中航走体10の状態量(速度、位置)の実測値と、別途与えられた状態量の指令値(速度指令値、位置指令値)と、を取得する。そして、フィードバック制御部20は、取得した実測値と指令値との偏差に基づいて、当該偏差を小さくするために水中航走体10に与えるべき推力を示す推力指令値を算出する。
【0028】
具体的には、フィードバック制御部20は、位置制御器200と、速度制御器201と、を備えている。
位置制御器200は、操作者による操作に応じて入力された位置の指令値と、水中航走体10の位置センサSn2より得られた位置の実測値との偏差を算出する。そして、位置制御器200は、当該偏差に所定の比例ゲイン(位置制御ゲインKp)を乗算することで、水中航走体10に対して付与すべき速度を示す速度指令値を算出する。
また、速度制御器201は、位置制御器200から受け付けた速度指令値と、水中航走体10の速度センサSn1より得られた速度の実測値との偏差を算出する。そして、速度制御器201は、当該偏差に所定の比例ゲイン(速度制御ゲインKv)を乗算することで、水中航走体10全体に与えるべき(作用させるべき)推力を示す推力指令値を算出する。
【0029】
推力配分部21は、フィードバック制御部20からの推力指令値に基づく所定の外乱補償推力指令値(後述)を入力し、当該外乱補償推力指令値に示される推力を水中航走体10に与えるために、7個のスラスタ100の各々が発生すべき推力を示すスラスタ別推力指令値(アクチュエータ別推力指令値)を算出する。
ここで、フィードバック制御部20は、6軸の各運動モード(前後、左右、上下、ロール、ピッチ、ヨー)の各々についての推力指令値を出力する。具体的には、フィードバック制御部20が出力する推力指令値は、機体前後方向(±X方向)の推進力F
x、機体左右方向(±Y方向)の推進力F
y、機体上下方向(±Z方向)の推進力F
z、機体X軸回りの回転モーメントM
x、機体Y軸回りの回転モーメントM
y、及び、機体Z軸回りの回転モーメントM
zからなる。なお、後述する外乱補償推力指令値についても同様である。以下の説明において、上記各運動モードについての推力指令値(及び外乱補償推力指令値)を総称して「運動モード別推力指令値」とも表記する。
他方、
図2に示したスラスタ100(スラスタTH1、TH2、・・・、TH7)の各々が発生すべき推力であるスラスタ別推力指令値をT
1、T
2、・・・、T
7とする。ここで、スラスタ別推力指令値(T
1、T
2、・・・、T
7)と、上述の運動モード別推力指令値(F
x、F
y、F
z、M
x、M
y、M
z)との関係は、式(1)で表される。
【0031】
式(1)において、「x
i、y
i、z
i(i=1、2、・・・、7)」は、スラスタTH1〜TH7の各々の配置座標である。
【0032】
例えば、水中航走体10を機体前後方向のみに移動させる場合には、推力配分部21は、運動モード別推力指令値(機体前後方向の推進力)F
xを、T
1=T
2=1/2・F
x等と配分する。このような運動モード別推力指令値と、スラスタ別推力指令値との関係を、全てのスラスタ別推力指令値(T
1、T
2、・・・、T
7)、及び、全ての運動モード別推力指令値(F
x、F
y、F
z、M
x、M
y、M
z)について表すと、式(2)のようになる。
【0034】
式(2)において、「V」は、推力配分行列である。
推力配分部21は、予め用意された推力配分行列Vに対し、入力された外乱補償推力指令値(運動モード別推力指令値(F
x、F
y、F
z、M
x、M
y、M
z))を乗算することで、スラスタ別推力指令値(T
1、T
2、・・・、T
7)を算出する。
【0035】
回転数指令変換部22は、推力配分部21から入力されたスラスタ別推力指令値(T
1、T
2、・・・、T
7)を、スラスタ100を直接的に制御するための、より具体的なスラスタ制御用パラメータ(本実施形態においては「スラスタ回転数指令」)に変換する。例えば、回転数指令変換部22は、スラスタTH1(
図2)についてのスラスタ別推力指令値T
1を受け付けた場合、当該スラスタTH1が、推力T
1を実際に発生させるために達成すべき「回転数」を算出する。そして、回転数指令変換部22は、当該回転数を示す回転数指令値R
1を、スラスタTH1に向けて出力する。これにより、水中航走体10のスラスタTH1が回転数n
1で回転駆動する。
【0036】
ここで、第1の実施形態に係る回転数指令変換部22は、スラスタ100の特性(推力と回転数との関係性)を模擬した数式モデルの逆モデルを予め有している。スラスタ100の特性を模擬する数式モデル(以下、「スラスタモデル」とも記載する)は、例えば、式(3)のように表される。
【0038】
式(3)において、「n
i」(i=1、2、・・・、7)は、各スラスタTH1、TH2、・・・、TH7の回転数である。また、「u」は、水中航走体10の機体前後方向(±X方向)の速度である。このように、回転数n
iで回転する各スラスタTH1、TH2、・・・、TH7から発生する推力T
1、T
2、・・・、T
7は、当該回転数n
i及び機体前後方向の速度uを変数とするスラスタモデルg
iで表現することができる。即ち、各スラスタTH1、TH2、・・・、TH7から発生する推力T
1、T
2、・・・、T
7は、機体前後方向の速度uとスラスタ自身の回転数n
iとにより計算される。
回転数指令変換部22は、スラスタ100固有の特性が模擬されたスラスタモデルg
iの逆モデルを用いて、スラスタ別推力指令値(T
1、T
2、・・・、T
7)を、回転数指令値(n
1、n
2、・・・、n
7)に変換する。そして、変換した各回転数指令値(n
1、n
2、・・・、n
7)を、水中航走体10のスラスタ100(スラスタTH1、TH2、・・・、TH7)の各々に向けて出力する。
【0039】
外乱推定部23は、フィードバック制御部20からの推力指令値(F
x、F
y、F
z、M
x、M
y、M
z)と水中航走体10の状態量(速度)の実測値とに基づいて、水中航走体10の機体101に作用する外乱力を示す外乱推定値を算出する。
【0040】
ここで、水中航走体10に作用する外乱力について簡単に説明する。
まず、水中航走体10全体についての運動モデルは、以下の式(4)のように表すことができる。
【0042】
式(4)において、「u」は、水中航走体10の機体前後方向(±X方向)の速度である。また、「v」は、水中航走体10の機体左右方向(±Y方向)の速度である。また、「w」は、水中航走体10の機体上下方向(±Z方向)の速度である。また、「p」は、水中航走体10のロール(X軸回り)の角速度である。また、「q」は、水中航走体10のピッチ(Y軸回り)の角速度である。また、「r」は、水中航走体10のヨー(Z軸回り)の角速度である。
【0043】
式(4)は、水中航走体10についての運動方程式であり、運動モード別の加速度(角加速度)(uドット、vドット、wドット、pドット、qドット、rドット)は、A行列と運動モード別の速度(角速度)(u、v、w、p、q、r)との積、及び、B行列とスラスタ100の推力(T
1、T
2、・・・、T
7)との積の和として表される。
ここで、A行列は、機体101の形状等に起因する固有パラメータ群であって、1つの運動モードの加速度又は角加速度(例えば、uドット)に対する、他軸を含む各運動モードの速度又は角速度(u、v、w、p、q、r)の各々についての影響(干渉)の度合いを示す行列である。
また、B行列は、各スラスタ100の機体101における設置位置、設置方向に依存する固有パラメータ群である。例えば、
図2を用いて説明した通り、機体前後方向の加速度uドットに対しては、機体101の背面側から正面側にかけて設けられた2個のスラスタTH1、TH2からの推力T
1、T
2が影響する。
【0044】
式(4)に基づけば、例えば、水中航走体10の機体前後方向についての運動特性は、式(5)のようにモデル化される。
【0046】
式(5)に示すように、水中航走体10の機体前後方向の運動特性に関しては、推力T
1、T
2の項のみが作用する。
また、式(5)における関数fは、A行列で規定された固有パラメータ群に基づく関数であって、機体前後方向の速度uに応じて作用する力、及び、他軸の速度、角速度(v、w、p、q、r)からの干渉を受けて作用する力の度合いを表している。即ち、関数fの変数には、機体前後方向の速度uのみならず、機体左右方向の速度v、機体上下方向の速度w、ロール角速度p、ピッチ角速度q、及び、ヨー角速度rも含まれる。
【0047】
ここで、他軸の速度、角速度(v、w、p、q、r)からの干渉の項を、機体前後方向に作用する「外乱力」として一まとめにすると、式(5)は、水中航走体10の(機体前後方向の運動に作用する)質量m
xと、機体前後方向の推進力F
x(=T
1+T
2(式(1)参照))と、機体前後方向の外乱力D
xとを利用して、式(6)のように変形することができる。
【0049】
式(6)によれば、水中航走体10に入力された全ての力(F
x+D
x)を質量(m
x)で除算したものが、その方向の加速度(uドット)となっている。即ち、式(6)は、水中航走体10全体を質量m
xの一つの慣性体と見なし、その慣性体の運動特性を模擬する慣性体モデルと言える。
外乱推定部23は、
図3に示すブロック線図において、フィードバック制御部20からの推力指令値(F
x)を入力とし、速度(u)を出力とする伝達系(推力配分部21、回転数指令変換部22、スラスタ100、及び、機体101の各伝達特性の直列結合)を一つの慣性体と見なしてなる慣性体モデル(式(6))に基づいて、外乱力(D
x)を推定する。以下、推力配分部21、回転数指令変換部22、スラスタ100、及び、機体101の各伝達特性の直列結合をまとめて「制御対象e」とも表記する。
【0050】
(外乱推定部の機能)
図4は、第1の実施形態に係る外乱推定部の機能を説明する図である。
図3に示すブロック線図によれば、制御対象eには、フィードバック制御部20によって算出された推力指令値(F
x)から、外乱推定部23によって算出された外乱推定値(D
x)が差し引かれてなる外乱補償推力指令値(F
x−D
x)が入力される。ここで、外乱推定部23によって算出された外乱推定値(D
x)が、制御対象e(水中航走体10)に作用する外乱力と完全に一致していたと仮定すると、制御対象eには、当該制御対象eの内部において発生し得る外乱力を打ち消す外乱補償推力指令値(F
x−D
x)が入力されることとなる。したがって、制御対象eと、外乱推定部23と、を含む拡大系の制御対象Eは、フィードバック制御部20からの推力指令値(F
x)がそのまま作用する(外乱力D
xが生じない)質量m
xの慣性体と見なすことができる。
したがって、
図3に示すブロック線図は、外乱推定部23が水中航走体10に作用する外乱力を正しく推定できている限りにおいては、
図4に示すブロック線図のように簡略化される。即ち、入力を「力」(推力指令値)とし、出力を「速度」として、質量mの慣性体として振る舞う拡大系の制御対象Eの伝達関数は、「1/(ms)」に成形される。これにより、フィードバック制御部20の設計(位置制御器200及び速度制御器201のパラメータ決定)を行う際には、質量mの慣性体(拡大系の制御対象E)の状態量(位置、速度)を制御するものとして容易に設計することができる。
【0051】
図3において、制御パラメータ演算部24は、水中航走体10の状態量(速度)の実測値に基づいて、フィードバック制御部20におけるフィードバック制御の特性を示す制御パラメータを算出する。また、フィードバック制御部20は、制御パラメータ演算部24によって算出された制御パラメータに基づいて、速度指令値と速度の実測値との偏差に応じた推力指令値を算出する。
【0052】
(外乱推定部の構成)
図5は、第1の実施形態に係る外乱推定部の構成を示す図である。
図5に示すように、外乱推定部23は、近似微分演算部230と、慣性体モデル231と、ローパスフィルタ232と、を備えている。
近似微分演算部230は、速度センサSn1から速度の実測値を入力して、その微分値(加速度の推定値)を算出する。ここで、近似微分演算部230の伝達関数に含まれる「ω」は、外乱推定部23の帯域である。帯域ωは、外乱推定部23の特性値であって、外乱推定部23の性能の指標となる。即ち、外乱推定部23は、帯域ω以下の外乱力についてのみ補償可能となる。
慣性体モデル231は、推力配分部21から機体101までの伝達系(制御対象e)を、質量m
mの一つの慣性体とみなしてなるモデルである。慣性体モデル231は、近似微分演算部230から入力された加速度に対し質量m
mを乗算し、その演算結果を、制御対象eに実際に作用した力(F
x+D
x)の推定値として出力する。
ローパスフィルタ232は、フィードバック制御部20からの推力指令値のうち、外乱推定部23の帯域ωよりも低い周波数成分のみを通過させる。
【0053】
外乱推定部23は、ローパスフィルタ232を通じて入力された推力指令値(F
x)と、制御対象eを模した慣性体モデル231を通じて推定された力(制御対象eに実際に作用した力(F
x+D
x))と、の差分を出力する。外乱推定部23が算出した当該差分は、慣性体モデル231に基づいて推定された外乱力(D
x)となる。
制御対象eには、フィードバック制御部20から入力される推力指令値(F
x)に対し、外乱推定値(D
x)を差し引いて得られる外乱補償推力指令値が入力される。このようにして得られた外乱補償推力指令値は、制御対象eに作用する外乱力を補償する(打ち消す)。これにより、制御対象eと外乱推定部23とを含む拡大系の制御対象Eは、外乱力が打ち消された(発生しない)慣性体と見なすことができる(
図4参照)。
【0054】
(制御パラメータ演算部の機能)
図6、
図7は、それぞれ、第1の実施形態に係る制御パラメータ演算部の機能を説明する第1の図、第2の図である。
以下、
図6、
図7を参照しながら、制御パラメータ演算部24の機能について説明する。
【0055】
図4に示したように、外乱推定部23が水中航走体10に作用する外乱力を正しく推定できている限りにおいて、拡大系の制御対象Eを、シンプルな“質量mの慣性体”と見なすことができる旨を説明した。しかしながら、実際の制御対象eには、外乱推定部23による外乱補償処理(即ち、推力指令値(F
x)に対する外乱推定値(D
x)のフィードバック処理)によっては打ち消すことができない外乱要素が存在する。
そこで、
図5における制御対象eの、より厳密な運動特性について説明する。
【0056】
水中航走体10の機体前後方向(±X方向)の運動特性を模擬する慣性体モデルは、質量m
x、前後方向の推進力F
x、及び、前後方向の外乱力D
xによって、式(6)のように表現されることを説明した。
ここで、機体前後方向の推進力F
xは、フィードバック制御部20からの推力指令値であって、スラスタ100を通じて水中航走体10に与えられる推力(具体的には、T
1+T
2)である。この機体前後方向の推進力F
xと、外乱力D
xとが釣り合っている平衡状態においては、式(6)に示す慣性体モデルは、機体前後方向の速度uと、機体前後方向の推進力F
xと、を用いて式(7)のように表すことができる。
【0058】
式(7)において、「a
u」は、式(4)のA行列に含まれる要素であって、水中航走体10の固有値である。ただし、固有値a
uは、水中航走体10の機体前後方向の速度uに応じて時々刻々と変化する特性を有する。
【0059】
同様に、機体左右方向(±Y方向)の推進力F
yと外乱力D
yとが釣り合う平衡状態における、水中航走体10の機体左右方向の運動特性を模擬する慣性体モデルは、機体左右方向の速度vと、機体左右方向の推進力F
yと、を用いて、式(8)のように表すことができる。
【0061】
式(8)において、「a
v」は、式(4)のA行列に含まれる要素であって、水中航走体10の固有値である。ただし、固有値a
vは、水中航走体10の機体左右方向の速度v及び機体前後方向の速度uに応じて時々刻々と変化する特性を有する。
【0062】
同様に、機体上下方向(±Z方向)の推進力F
zと外乱力D
zとが釣り合う平衡状態における、水中航走体10の機体上下方向(±Z方向)の運動特性を模擬する慣性体モデルは、機体上下方向の速度wと、機体上下方向の推進力F
zと、を用いて式(9)のように表すことができる。
【0064】
式(9)において、「a
w」は、式(4)のA行列に含まれる要素であって、水中航走体10の固有値である。ただし、固有値a
wは、水中航走体10の機体上下方向の速度w及び機体前後方向の速度uに応じて時々刻々と変化する特性を有する。
【0065】
更に、ロールの角速度p、ピッチの角速度q、ヨーの角速度r、及び、各軸回りの回転モーメントM
x、M
y、M
zについての慣性体モデルも、各々の平衡状態においては、式(7)〜式(9)と同様に、A行列に含まれる固有値(a
p、a
q、q
r)を用いて表現される(ただし、回転モーメントM
x、M
y、M
zに対しては、質量mに相当するイナーシャJが乗算される)。
このように、スラスタ100によって水中航走体10に与えられる推進力と、当該水中航走体10に作用する外乱力とが釣り合う平衡状態においては、当該外乱力は、水中航走体10の速度(角速度)(u、v、w、p、q、r)と、当該運動モード別の固有値(a
u、a
v、q
w、a
p、a
q、q
r)との積で表すことができる。
そして、上述したように、運動モード別の固有値(a
u、a
v、q
w、a
p、a
q、q
r)自身も、水中航走体10の速度又は角速度(u、v、w、p、q、r)に応じて、時々刻々と変化する特性を有している。
【0066】
式(7)〜式(9)等のように線形化された制御対象eの伝達関数Gは、式(10)のように表される。
【0068】
式(10)において、「U」は、伝達関数G(制御対象e)への入力であって、具体的には、外乱補償推力指令値(運動モード別推力指令値(F
x、F
y、F
z、M
x、M
y、M
z))である。また、「X」は、伝達関数G(制御対象e)からの出力であって、具体的には、速度センサSn1を通じて取得された速度及び角速度(u、v、w、p、q、r)の実測値である。
また、式(10)において「a」は、各運動モード別の固有値(a
u、a
v、q
w、a
p、a
q、q
r)である。また、「m」は、水中航走体10の機体101の、運動モード別の質量(m
x、m
y、m
z)(又は、イナーシャJ)である。
以上より、制御対象eの伝達関数Gは、平衡状態における運動特性(式(7)〜式(9)等)に基づいて、「K/(s+a)」(K=1/m)と表現することができる。
【0069】
他方、外乱推定部23が有する慣性体モデル231は、制御対象eを質量m
mの慣性体と見なしたモデルである。慣性体モデル231は、伝達関数をK
m/s(K
m=1/m
m)としてモデル化する。外乱推定部23としては、モデルの逆特性を利用するため、積分器1/sの逆特性は近似微分演算部230で模擬し、ゲインの逆数1/K
mを慣性体モデル231としてモデル化する。
このように、制御対象eは、実際には、慣性体とは異なる運動特性(伝達関数G=K/(s+a))を有しているにもかかわらず、外乱推定部23は、制御対象eを、慣性体(K
m/s)と見なして外乱力の推定を行っている。そのため、外乱推定部23では吸収しきれない外乱要素が生じ得る。
【0070】
図6において、拡大系の制御対象Eの伝達関数は、制御対象eの伝達関数G、及び、外乱推定部23の伝達関数を用いて、式(11)のように表される。
【0072】
式(11)のうち、「K
m/s」は、外乱推定部23が有する慣性体モデル231(質量m
mの慣性体モデル)の伝達特性である(K
m/s=1/(m
ms))。
式(11)によれば、拡大系の制御対象Eの伝達関数は、外乱推定部23が有する慣性体モデル231(質量m
mの慣性体モデル)の伝達特性(K
m/s)と、制御対象eの慣性体モデル231からのずれ成分(K(s+ω)/(K
ms+(K
ma+Kω)))との積で表現される。
【0073】
ここで、制御対象eのゲインK、及び、慣性体モデル231のゲインK
mは、水中航走体10の機体101の実際の質量m又はイナーシャJに基づくパラメータである。通常行われる詳細な各種機構系のシミュレーション解析によれば、モデル値である質量m
mと実際の機体101の質量mとのずれは、さほど大きくないことが分かっている。したがって、慣性体モデル231のゲインK
mが、制御対象eの実際のゲインKに等しい(K
m=K)と仮定すると、式(11)は式(12)のように変形できる。
【0075】
式(12)によれば、拡大系の制御対象Eの伝達関数は、外乱推定部23の慣性体モデル231の伝達特性(K
m/s)×1次進み要素(帯域:ω)×1次遅れ要素(帯域:ω+a)×誤差ゲイン(ω/(ω+a))で表現される。ここで、上述の通り「a」は制御対象e(機体101)の固有値であり、a>0であるため、常にω<ω+aが成り立つ。
【0076】
式(12)より、拡大系の制御対象Eにおけるゲインの周波数特性の概念図は、
図7に示すようなボード線図で表される。即ち、拡大系の制御対象Eの特性は、低周波数領域(帯域ω以下の周波数)では、誤差ゲインω/(ω+a)の分だけ外乱推定部23の慣性体モデル231からゲインが低下した慣性体(積分特性)となる。また、帯域ωより大きく周波数(ω+a)以下の周波数領域では、ゲインがほぼフラットになり、高周波数領域(周波数(ω+a)より大きい周波数)では慣性体モデル231と等しい慣性体(積分特性)になる。
【0077】
図7に示したように、拡大系の制御対象Eと設計モデル(慣性体モデル231)とのずれ方が把握できている。このずれ方は、外乱推定部23の帯域ωと、水中航走体10の固有値aにより定まる。ここで、上述した通り、水中航走体10の固有値aは、水中航走体10の前後方向の速度u等に応じて、時々刻々と変化するパラメータである。
【0078】
図8は、第1の実施形態に係る制御パラメータ演算部の処理フローを示す図である。
図8に示すように、制御パラメータ演算部24は、まず、速度センサSn1を通じて、水中航走体10の速度の実測値を取得する(ステップS01)。
次に、制御パラメータ演算部24は、予め用意したテーブル(若しくは、関係式)を参照して、速度センサSn1から取得した速度の実測値から、その状態(速度)において適用すべき固有値aを特定する(ステップS02)。
更に、制御パラメータ演算部24は、特定した固有値aを用いて、フィードバック制御部20の速度制御器201に適用すべき制御パラメータを算出する(ステップS03)。具体的には、制御パラメータ演算部24は、
図7における誤差ゲインω/(ω+a)の逆数((ω+a)/ω)を補償値として、元々規定されていた規定パラメータ(速度制御ゲインKv)に乗算する。
【0079】
速度制御器201は、制御パラメータ演算部24によって、速度制御ゲインKvに補償値((ω+a)/ω)が乗算された制御パラメータ(Kv・(ω+a)/ω)に基づいて、推力指令値を算出する。これにより、帯域ω以下の周波数領域において拡大系の制御対象Eにて低下する分(誤差ゲインω/(ω+a))が打ち消される。これにより、拡大系の制御対象Eは、見かけ上、慣性体モデル231(質量m
mの慣性体)として振る舞う。
【0080】
(作用・効果)
以上の通り、第1の実施形態に係る水中航走体制御装置2は、速度センサSn1を通じて得られた当該水中航走体10の速度の実測値と、与えられた速度の指令値と、の偏差に基づいて、当該偏差を小さくするために水中航走体10に与えるべき推力を示す推力指令値を算出するフィードバック制御部20を備えている。
また、水中航走体制御装置2は、推力指令値に基づく外乱補償推力指令値を入力し、当該外乱補償推力指令値に示される推力を水中航走体10に与えるために、複数のスラスタ100の各々が発生すべき推力を示すスラスタ別推力指令値を算出する推力配分部21を備えている。
更に、水中航走体制御装置2は、推力指令値と速度の実測値とに基づいて、水中航走体10に作用していた外乱力を示す外乱推定値を算出する外乱推定部23を備えている。
そして、外乱補償推力指令値は、フィードバック制御部20によって算出された推力指令値から、外乱推定部23によって算出された外乱推定値が差し引かれてなる。
【0081】
このようにすることで、推力配分部21に入力される推力指令値(外乱補償推力指令値)は、フィードバック制御部20によって算出された推力指令値から、外乱推定部23によって算出された外乱推定値が差し引かれたものとなる。これにより、推力配分部21が出力するスラスタ別推力指令値は、水中航走体10に作用する外乱力を予め打ち消すように調整されたものとなる。これにより、フィードバック制御部20による制御設計に際しては、水中航走体10を、外乱力を受けずに運動する単純な慣性体とみなして設計すればよいため、水中航走体10に対するフィードバック制御の設計工程を簡素化することができる。
以上より、簡素な設計で、水中航走体10に対する精度の高い運動制御が実現可能となる。
【0082】
また、第1の実施形態に係る外乱推定部23は、推力配分部21、水中航走体10のスラスタ100、及び、機体101を一つの慣性体と見なしてなる慣性体モデル231に基づいて、外乱推定値を算出する。
このようにすることで、外乱推定部23は、速度センサSn1から取得した速度の実測値から、慣性体モデル231を通じて、水中航走体10に作用していた全ての力を推定することができる。よって、外乱推定部23は、推力指令値に示される力と、水中航走体10に作用していた力の推定結果との偏差を、水中航走体10に作用していた「外乱力」と見なして、外乱力推定値を算出することができる。
【0083】
更に、第1の実施形態に係る水中航走体制御装置2は、水中航走体10の速度の実測値に基づいて、フィードバック制御部20におけるフィードバック制御の特性を示す制御パラメータ(本実施形態においては速度制御ゲインKv×補償値)を算出する制御パラメータ演算部24を備えている。
このようにすることで、水中航走体10を、完全な慣性体と見なすことができないために、外乱推定部23によって吸収することができない外乱要素を、フィードバック制御部20の制御パラメータを適宜調整して、打ち消すことができる。
【0084】
また、第1の実施形態に係る制御パラメータ演算部24は、フィードバック制御部20において予め規定された規定パラメータ(速度制御ゲインKv)に、外乱推定部23の帯域ωと、水中航走体10の速度に応じた当該水中航走体10の固有値aと、に基づいて算出される補償値((ω+a)/ω)を乗算することで、フィードバック制御部20の制御パラメータを算出する。
このようにすることで、フィードバック制御部20の制御パラメータ(Kv・(ω+a)/ω)は、水中航走体10を慣性体と見なした場合に生じ得る誤差ゲイン(ω/(ω+a))を打ち消すように、適宜調整される。
【0085】
以上、第1の実施形態に係る水中航走システム1及び水中航走体制御装置2について詳細に説明したが、水中航走システム1及び水中航走体制御装置2の具体的な態様は、上述のものに限定されることはなく、要旨を逸脱しない範囲内において種々の設計変更等を加えることは可能である。
【0086】
フィードバック制御部20の態様は、第1の実施形態で説明した態様に限定されない。例えば、他の実施形態に係るフィードバック制御部20は、位置制御器200、速度制御器201のうちのいずれか一方のみに基づく比例制御(P)を行う態様であってもよい。また、フィードバック制御部20は、位置制御器200、速度制御器201の何れか一方又は両方において、積分制御(I)、微分制御(D)、位相進み・位相遅れ補償を組み合わせた制御を行ってもよい。
【0087】
また、制御パラメータ演算部24は、フィードバック制御部20のうち速度制御器201の規定パラメータ(速度制御ゲインKv)を調整するものとして説明したが、他の実施形態においてはこの態様に限定されない。例えば、他の実施形態に係るフィードバック制御部20は、フィードバック制御部20のうち位置制御器200の規定パラメータ(位置制御ゲインKp)を調整するものとしてもよい。
【0088】
また、制御パラメータ演算部24は、フィードバック制御部20の速度制御ゲインKvに、(ω+a)/ωなる補償値を乗算することで制御パラメータを算出するものとしたが、この場合、周波数(ω+a)以上の周波数領域では、逆に慣性体モデルのゲインから外れてしまう(
図7参照)。したがって、他の実施形態に係る制御パラメータ演算部24は、如何なる周波数領域においても、拡大系の制御対象Eのゲインが慣性体モデルのゲインに一致するように、制御パラメータを算出してもよい。
具体的には、制御パラメータ演算部24は、制御対象eの慣性体モデル231からのずれ成分((s+ω)/(s+(ω+a)))(式(12)参照)の逆数を、規定パラメータ(速度制御ゲインKv)に乗算することで、速度制御器201の制御パラメータを算出するようにしてもよい。このようにすることで、制御対象eの運動特性を、全ての周波数帯域において、質量m
mの慣性体モデルに一致させることができる。
【0089】
また、第1の実施形態に係る水中航走体10は、機体101に推力を与えるアクチュエータとしてスラスタ100を備えるものとして説明したが、他の実施形態においてはこの態様に限定されない。水中航走体10の機体101に推力を与える機構であれば如何なる態様であっても構わない。
また、第1の実施形態に係る水中航走体制御装置2は、スラスタ100が発生すべき推力を示すスラスタ別推力指令値を、スラスタ100が回転すべき回転数指令値に変換する回転数指令変換部22を備えるものとして説明したが、他の実施形態においてはこの態様に限定されない。
即ち、回転数指令変換部22は、機体101に推力を与えるアクチュエータの態様に応じて、適宜変更されてもよい。具体的には、他の実施形態に係る水中航走体制御装置2は、アクチュエータ別推力指令値を、当該アクチュエータに直接入力可能な指令値(回転数、電圧値、電流値等、アクチュエータの態様に応じた指令値)に変換する変換部を備える態様とされていればよい。
【0090】
また、上述の各実施形態においては、上述した水中航走体制御装置2の各種処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。また、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0091】
上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。更に、水中航走体制御装置2は、1台のコンピュータで構成されていても良いし、通信可能に接続された複数のコンピュータで構成されていてもよい。
【0092】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。