JP6566236B2 - 演算装置、移動体システム、演算方法およびプログラム - Google Patents

演算装置、移動体システム、演算方法およびプログラム Download PDF

Info

Publication number
JP6566236B2
JP6566236B2 JP2015065026A JP2015065026A JP6566236B2 JP 6566236 B2 JP6566236 B2 JP 6566236B2 JP 2015065026 A JP2015065026 A JP 2015065026A JP 2015065026 A JP2015065026 A JP 2015065026A JP 6566236 B2 JP6566236 B2 JP 6566236B2
Authority
JP
Japan
Prior art keywords
thrust
value
operation command
speed vector
limit value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015065026A
Other languages
English (en)
Other versions
JP2016184344A (ja
Inventor
安達 丈泰
丈泰 安達
伊智郎 粟屋
伊智郎 粟屋
昌宏 中田
昌宏 中田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2015065026A priority Critical patent/JP6566236B2/ja
Publication of JP2016184344A publication Critical patent/JP2016184344A/ja
Application granted granted Critical
Publication of JP6566236B2 publication Critical patent/JP6566236B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、演算装置、移動体システム、演算方法およびプログラムに関する。
水中航走体などの移動体として、異なる向きに推力を発生させる複数の推力発生装置を備えたものが知られている。例えば、特許文献1に記載の航走体は、複数の推力発生装置が発生させる推力の大きさおよびバランスによって移動体の速度及び向きを調整している。
特開2008−107943号公報
上記のような複数の推力発生装置を備える移動体では、全ての推力発生装置で同時に最大推力を発生させることができない場合がある。例えば、複数のスラスタを備える水中航走体では、スラスタの油圧モータに油圧を供給する油圧ポンプの容量が水中航走体の重量及び機体寸法の制約を受け、全てのスラスタが同時に最大推力を発生させられない場合がある。この場合、推力発生装置への油圧の配分によって移動体の動作が異なると考えられる。このため、移動体を効率よく動作させるように推力発生装置へ油圧を配分できることが望ましい。
本発明は、移動体の全ての推力発生装置で同時に最大推力を発生させることができない場合に、当該移動体を効率よく動作させるように推力発生装置へ油圧を配分することができる演算装置、移動体システム、演算方法及びプログラムを提供する。
本発明の第1の態様によれば、演算装置は、移動体における互いに異なる方向に推力を発生させる複数の推力発生部に対する動作指令と、前記複数の推力発生部が発生させる推力の総和が制限された制限条件下で前記推力の総和の制限を満たすように設定される、前記動作指令に対する制限値とに基づいて、前記動作指令に前記制限値が適用されたときの前記移動体の速度ベクトルである制限条件速度ベクトルを演算する制限条件速度演算部と、前記動作指令に基づいて、前記複数の推力発生部の推力を制限しない制限無し条件下における前記移動体の速度ベクトルである理想速度ベクトルを演算する理想速度演算部と、前記制限条件速度ベクトルと前記理想速度ベクトルとの相違の評価値を算出する評価関数演算部と、前記制限値を仮設定し、前記評価値を目的関数値として前記制限値を設定し直す最適化を、前記評価値が所定の終了条件を満たすまで繰り返す推力配分決定部と、を備える。
前記推力配分決定部は、前記制限条件速度ベクトルの方向と前記理想速度ベクトルの方向との角度の積分値を目的関数とする最適化問題を解くことで、前記制限値を算出するようにしてもよい。
前記推力配分決定部は、前記制限条件速度ベクトルと前記理想速度ベクトルとの差の大きさの積分値を目的関数とする最適化問題を解くことで、前記制限値を算出するようにしてもよい。
本発明の第2の態様によれば、移動体は、移動体本体と、前記移動体本体に設けられて互いに異なる方向に推力を発生させる複数の推力発生部と、上記のいずれかの演算装置と、を備える。
本発明の第3の態様によれば、演算方法は、演算装置の演算方法であって、移動体における互いに異なる方向に推力を発生させる複数の推力発生部に対する動作指令と、前記複数の推力発生部が発生させる推力の総和が制限された制限条件下で前記推力の総和の制限を満たすように設定される、前記動作指令に対する制限値とに基づいて、前記動作指令に前記制限値が適用されたときの前記移動体の速度ベクトルである制限条件速度ベクトルを演算する制限条件速度演算ステップと、前記動作指令に基づいて、前記複数の推力発生部の推力を制限しない制限無し条件下における前記移動体の速度ベクトルである理想速度ベクトルを演算する理想速度演算ステップと、前記制限条件速度ベクトルと前記理想速度ベクトルとの相違の評価値を算出するステップと、前記制限値を仮設定し、前記評価値を目的関数値として前記制限値を設定し直す最適化を、前記評価値が所定の終了条件を満たすまで繰り返す推力配分決定ステップと、を有する。
本発明の第4態様によれば、プログラムは、コンピュータに、移動体における互いに異なる方向に推力を発生させる複数の推力発生部に対する動作指令と、前記複数の推力発生部が発生させる推力の総和が制限された制限条件下で前記推力の総和の制限を満たすように設定される、前記動作指令に対する制限値とに基づいて、前記動作指令に前記制限値が適用されたときの前記移動体の速度ベクトルである制限条件速度ベクトルを演算する制限条件速度演算ステップと、前記動作指令に基づいて、前記複数の推力発生部の推力を制限しない制限無し条件下における前記移動体の速度ベクトルである理想速度ベクトルを演算する理想速度演算ステップと、前記制限条件速度ベクトルと前記理想速度ベクトルとの相違の評価値を算出するステップと、前記制限値を仮設定し、前記評価値を目的関数値として前記制限値を設定し直す最適化を、前記評価値が所定の終了条件を満たすまで繰り返す推力配分決定ステップと、を実行させるためのプログラムである。
上記した演算装置、移動体システム、演算方法及びプログラムによれば、移動体の全ての推力発生装置で同時に最大推力を発生させることができない場合に、当該移動体を効率よく動作させるように推力発生装置へ油圧を配分することができる。
本発明の一実施形態における水中航走体を後方から見た概略外形図である。 同実施形態における水中航走体を右側方から見た概略外形図である。 同実施形態における水平スラスタが水中航走体を横進させるために発生させる水流の向きの例を示す説明図である。 同実施形態における水平スラスタが水中航走体を回頭させる水流の向きの例を示す説明図である。 同実施形態における水中航走体を上から見た概略外形図である。 同実施形態における水中航走体の機能構成を示す概略ブロック図である。 同実施形態における水中航走体システムの機器構成を示す概略構成図である。 同実施形態における演算装置の機能構成を示す概略ブロック図である。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が1の場合の前後進の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が1の場合の上下動の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が1の場合の左右回頭の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.75の場合の前後進の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.75の場合の上下動の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.75の場合の左右回頭の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.5の場合の前後進の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.5の場合の上下動の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.5の場合の左右回頭の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.25の場合の前後進の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.25の場合の上下動の制限値の例を示すグラフである。 同実施形態における推力配分決定部が取得する、前後進の動作指令値が0.25の場合の左右回頭の制限値の例を示すグラフである。 同実施形態における演算装置が動作指令値に対する制限値を求める処理手順を示すフローチャートである。 同実施形態における水中航走体システムとは異なる方法による油圧配分の例を示すグラフである。 同実施形態における水中航走体の移動経路のシミュレーション結果の例を示すグラフである。 同実施形態における水中航走体の移動距離の変化の例を示すグラフである。 同実施形態における水中航走体の深度の変化の例を示すグラフである。 同実施形態における水中航走体の向きの変化の例を示すグラフである。 同実施形態における油圧ポンプが供給する油量の例を示すグラフである。
以下、本発明の実施形態を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
まず、図1〜図5を参照して水中航走体が備えるスラスタ(Thruster)の配置例について説明する。
図1は、本発明の一実施形態における水中航走体を後方から見た概略外形図である。同図を参照すると、水中航走体200は、航走体本体201と、第1主推進スラスタ211、第2主推進スラスタ212、第3主推進スラスタ213、及び、第4主推進スラスタ214の4つの主推進スラスタとを備える。以下では、第1主推進スラスタ211〜第4主推進スラスタ214を総称して主推進スラスタ210と表記する。
水中航走体200は、移動体の例に該当し、遠隔操作による動作指令を受けて水中を移動する。ここでいう移動体は、自力で移動可能な機械である。また、航走体本体は移動体本体の例に該当する。
主推進スラスタ210の各々は、油圧モータで回転駆動されるプロペラを備え、プロペラの回転により水流を生じさせることで推力を発生させる。特に、主推進スラスタ210は、水中航走体200の後方に向けて水流を生じさせることで水中航走体200を前進させる。また、主推進スラスタ210は、水中航走体200の前方に向けて水流を生じさせることもできる。この場合、主推進スラスタ210は、水中航走体200を後進させる。
図2は、水中航走体200を右側方から見た概略外形図である。同図を参照すると、水中航走体200は、航走体本体201と、航走体本体201を左右に貫通する穴の内部に設置された、第1水平スラスタ221及び第2水平スラスタ222の2つの水平スラスタを備える。第1水平スラスタ221が水中航走体200の前側に設けられており、第2水平スラスタ222が水中航走体200の後ろ側に設けられている。以下では、第1水平スラスタ221及び第2水平スラスタ222を総称して水平スラスタ220と表記する。
水平スラスタ220の各々は、油圧モータで回転駆動されるプロペラを備え、プロペラの回転により水流を生じさせることで推力を発生させる。特に、水平スラスタ220は、水中航走体200の側方に向けて水流を生じさせることで、水中航走体200を横進させる。具体的には、水平スラスタ220は、水中航走体200の左側(進行方向に向かって左側)へ向けて水流を生じさせることで、水中航走体200を右側へ横進させる。また、水平スラスタ220は、水中航走体200の右側(進行方向に向かって右側)へ向けて水流を生じさせることで、水中航走体200を左側へ横進させる。
図3は、水平スラスタ220が水中航走体200を横進させるために発生させる水流の向きの例を示す説明図である。同図は、水中航走体200を上から見た場合の、水平スラスタ220が発生させる水流の向きの例を示している。同図を参照すると、第1水平スラスタ221と第2水平スラスタ222とが、いずれも水中航走体200の左側へ向けて水流を生じさせている。この水流によって推力が発生し、水中航走体200は、矢印A11にて示すように右側へ横進する。
また、水平スラスタ220は、左右回頭用スラスタとしても動作する。
図4は、水平スラスタ220が水中航走体200を回頭させる水流の向きの例を示す説明図である。同図は、水中航走体200を側から見た場合の、水平スラスタ220が発生させる水流の向きの例を示している。同図を参照すると、第1水平スラスタ221が、水中航走体200の左側へ向けて水流を発生させている。一方、第2水平スラスタ222は、水中航走体200の右側へ向けて水流を発生させている。これにより、水中航走体200は、矢印A12にて示すように右向きに回頭する。
以下では、水平スラスタ220が、横進または左右回頭のいずれかの動作を行う場合を例に説明するが、水平スラスタ220が、横進と左右回頭とを組み合わせた動作を行うようにしてもよい。例えば、第1水平スラスタ221と、第2水平スラスタ222とが、いずれも水中航走体200の左側へ向けて水流を発生させることで、水中航走体200が右側へ横進する。その際、第1水平スラスタ221が、第2水平スラスタ222よりも多い流量の水流を発生させることで、水中航走体200が右向きに回頭する。これにより、水中航走体200は、右側へ横進しつつ右向きに回頭する。
図5は、水中航走体200を上から見た概略外形図である。同図を参照すると、水中航走体200は、航走体本体201と、航走体本体201を上下に貫通する穴の内部に設置された、第1垂直スラスタ231及び第2垂直スラスタ232の2つの垂直スラスタを備える。第1垂直スラスタ231が水中航走体200の前側に設けられており、第2垂直スラスタ232が水中航走体200の後ろ側に設けられている。以下では、第1垂直スラスタ231及び第2垂直スラスタ232を総称して垂直スラスタ230と表記する。
垂直スラスタ230の各々は、油圧モータで回転駆動されるプロペラを備え、プロペラの回転により水流を生じさせることで推力を発生させる。特に、垂直スラスタ230は、水中航走体200の下方に向けて水流を生じさせることで、水中航走体200を上昇させる。また、垂直スラスタ230は、水中航走体200の上方へ向けて水流を生じさせることで、水中航走体200を下降させる。
主推進スラスタ210、水平スラスタ220及び垂直スラスタ230は、推力発生部の例に該当する。上記のように、主推進スラスタ210は、水中航走体200の前後方向に推力を発生させる。水平スラスタ220は、水中航走体200の左右方向に推力を発生させる。垂直スラスタ230は、水中航走体200の上下方向に推力を発生させる。このように、主推進スラスタ210と、水平スラスタ220と、垂直スラスタ230とは、互いに異なる方向に推力を発生させる。
なお、以下では、主推進スラスタ210、水平スラスタ220及び垂直スラスタ230を総称して単にスラスタとも表記する。
次に、図6〜図8を参照して水中航走体200を含む水中航走体システムの構成について説明する。
図6は、水中航走体200の機能構成を示す概略ブロック図である。同図を参照すると、水中航走体200は、第1主推進スラスタ211と、第2主推進スラスタ212と、第3主推進スラスタ213と、第4主推進スラスタ214と、第1水平スラスタ221と、第2水平スラスタ222と、第1垂直スラスタ231と、第2垂直スラスタ232と、油圧ポンプ240と、推力配分制御部250とを備える。推力配分制御部250は、指令取得部251と、水平成分自動手動切替部252と、垂直成分自動手動切替部253と、制限値演算部254と、主推進成分推力制限部255と、水平成分推力制限部256と、垂直成分推力制限部257と、サーボ指令演算部258とを備える。
第1主推進スラスタ211〜第4主推進スラスタ214は、図1を参照して説明したように、水中航走体200を前進または後進させる推力を発生させる。第1水平スラスタ221及び第2水平スラスタ222は、図2〜図4を参照して説明したように、水中航走体200を横進又は回頭させる推力を発生させる。第1垂直スラスタ231及び第2垂直スラスタ232は、図5を参照して説明したように、水中航走体200を上昇又は下降させる推力を発生させる。
油圧ポンプ240は、主推進スラスタ210、水平スラスタ220及び垂直スラスタ230の各々に油圧を供給する。但し、水中航走体200の重量及び機体寸法の制約から、油圧ポンプ240は、全てのスラスタが最大の出力を行うだけの容量を有していない。油圧ポンプ240の容量を超える指令操作が行われた場合、少なくとも一部のスラスタによる推力が動作指令値にて指示された推力よりも小さくなる。
推力配分制御部250は、水中航走体200の動作を指示する動作指令値に基づいて、主推進スラスタ210、水平スラスタ220及び垂直スラスタ230の各々を制御する。
指令取得部251は、水中航走体200の動作を指示する動作指令値を取得する。具体的には、水中航走体200を遠隔操作する運転操作員は、水中航走体200の動作として、前後進、上下動及び左右回頭の3つの動作の組み合わせ、または、前後進、横進及び上下動の3つの動作の組み合わせを指示可能である。指令取得部251は、これら3つの動作それぞれの大きさを指示する動作指令値を取得する。
水平成分自動手動切替部252は、水中航走体200の横進及び左右回頭について自動制御と手動制御との切替を行う。ここで、運転操作員は、水中航走体200の水平方向の動作について自動制御と手動制御とのいずれかを選択可能である。自動制御では、水中航走体200の進行方向を方位で指示する。一方、手動制御では運転操作員は、単位時間当たりの横進の量又は左右回頭の量又はこれらの組み合わせをジョイスティック操作によって指示する。
手動制御が選択されている場合、水平成分自動手動切替部252は、横進の量、左右回頭の量をそれぞれ取得して水平成分推力制限部256へ出力する。一方、自動制御が選択されている場合、水平成分自動手動切替部252は方位の設定値および現在値を取得する。そして、水平成分自動手動切替部252は、方位の設定値と現在値との比較から行うべき回頭の量を算出して水平成分推力制限部256へ出力する。
垂直成分自動手動切替部253は、水中航走体200の上下動について自動制御と手動制御との切替を行う。ここで、水中航走体200の運転操作員は、水中航走体200の垂直方向の動作について自動制御と手動制御とのいずれかを選択可能である。自動制御では、水中航走体200の深度を指示する。一方、手動制御では、単位時間当たりの上下動の量をジョイスティック操作によって指示する。
手動制御が選択されている場合、垂直成分自動手動切替部253は、上下動の量を取得して垂直成分推力制限部257へ出力する。一方、自動制御が選択されている場合、垂直成分自動手動切替部253は深度の設定値および現在値を取得する。そして、垂直成分自動手動切替部253は、深度の設定値と現在値との比較から行うべき上下動の量を算出して垂直成分推力制限部257へ出力する。
制限値演算部254は、指令取得部251が取得した動作指令値に基づいて、動作指令値に対する制限値を算出する。具体的には、制限値演算部254は、動作指令値と制限値との関係を示す関数を予め記憶しておく。そして、制限値演算部254は、指令取得部251が取得した動作指令値を関数に適用して動作毎の制限値を算出する。ここでいう動作毎は、前後進、上下動及び左右回頭の各々、または、前後進、横進及び上下動の各々である。
例えば、制限値演算部254は動作毎の制限値として、動作指令値に乗算する係数α(0≦α≦1)を動作毎に求める。
主推進成分推力制限部255は、制限値演算部254が算出した前後進の制限値を前後進の動作指令値に適用する。例えば、主推進成分推力制限部255は前後進の制限値を上限として前後進の動作指令値に制限をかける。
以下では、制限値を適用された動作指令値を制限後の動作指令値と称する。
水平成分推力制限部256は、横進の動作指令値または左右回頭の動作指令値に対して、制限後の動作指令値を求める。横進の動作指令が行われた場合、制限値演算部254が算出した横進の制限値を横進の動作指令値に適用して、制限後の横進の動作指令値を取得する。例えば、水平成分推力制限部256は横進の制限値を上限として横進の動作指令値に制限をかける。
一方、左右回頭の動作指令が行われた場合、水平成分推力制限部256は、制限値演算部254が算出した左右回頭の制限値を左右回頭の動作指令値に適用して、制限後の左右回頭の動作指令値を取得する。例えば、水平成分推力制限部256は左右回頭の制限値を上限として左右回頭の動作指令値に制限をかける。
垂直成分推力制限部257は、制限値演算部254が算出した上下動の制限値を上下動の動作指令値に適用して、制限後の上下動の動作指令値を取得する。例えば、垂直成分推力制限部257は上下動の制限値を上限として上下動の動作指令値に制限をかける。
サーボ指令演算部258は、制御後の動作指令値からスラスタの制御値を算出する。具体的には、サーボ指令演算部258は、主推進成分推力制限部255が取得した制限後の前後進の動作指令値を、油圧ポンプ240から第1主推進スラスタ211への油供給量の調節弁の弁開度指令値に換算する。第2主推進スラスタ212〜第4主推進スラスタ214の各々についても同様に、サーボ指令演算部258は、主推進成分推力制限部255が取得した制限後の前後進の動作指令値を弁開度指令値に換算する。
また、第1水平スラスタ221、第2水平スラスタ222の各々についても同様に、サーボ指令演算部258は、水平成分推力制限部256が取得した制限後の横進の動作指令値、または、制限後の左右回頭の動作指令値を、弁開度指令値に換算する。また、第1垂直スラスタ231、第2垂直スラスタ232の各々についても同様に、サーボ指令演算部258は、垂直成分推力制限部257が取得した制限後の上下動の動作指令値を、弁開度指令値に換算する。
サーボ指令演算部258は、例えば、制限後の指令値を弁開度指令値に換算する関数をスラスタ毎に予め記憶しておく。そして、サーボ指令演算部258は、制限後の指令値を当該関数に代入して演算することで、スラスタ毎に弁開度指令値を取得する。
図7は、水中航走体システムの機器構成を示す概略構成図である。同図を参照すると、水中航走体システム1は、演算装置100と、図1〜6を参照して説明した水中航走体200とを備える。水中航走体システム1は、移動体システムの例に該当する。
図6を参照して説明したように、水中航走体200の油圧ポンプ240は、全てのスラスタが最大の出力を行えるだけの容量を有していないため、制限値演算部254が、動作指令値と制限値との関係を示す関数を予め記憶しておいて動作指令値を制限値に換算する。この関数を演算装置100が予め求めておく。
図8は、演算装置100の機能構成を示す概略ブロック図である。同図を参照すると、演算装置100は、動作指令設定部110と、制限条件速度演算部120と、理想速度演算部130と、評価関数演算部140と、油量出力部150と、推力配分決定部160と、関数近似部170と、結果出力部180とを備える。
演算装置100は、前後進、上下動及び左右回頭の動作指令値の組み合わせを複数設定し、設定した組み合わせ毎に最適化問題を解いて、指令に対する制限値を求める。同様に、演算装置100は、前後進、横進及び上下動の動作指令値の組み合わせを複数設定し、設定した組み合わせ毎に最適化問題を解いて、指令に対する制限値を求める。以下では、前後進、上下動及び左右回頭の組み合わせを例に説明する。前後進、横進、上下動の組み合わせについても同様である。
演算装置100は、例えばコンピュータを用いて構成される。
動作指令設定部110は、前後進、上下動及び左右回頭の動作指令値の組み合わせを複数設定する。例えば、各動作指令が最小値0、最大値1で与えられるのに対し、動作指令毎に0.25ずつ変化させて(0,0,0)、(0,0,0.25)、・・・、(1,1,1)の各組み合わせを設定する。なお、上記の横ベクトルの第1値、第2値、第3値はそれぞれ、前後進の動作指令値、上下動の動作指令値及び左右回頭の動作指令値を示す。
制限条件速度演算部120は、制限後の動作指令値に対する水中航走体200の速度ベクトルを求める。具体的には、制限条件速度演算部120は、動作指令設定部110が設定した動作指令値に対する制限値(仮の値)を推力配分決定部160から動作毎に取得する。そして、制限条件速度演算部120は、動作指令値に制限値を適用して制限後の動作指令値を動作毎に算出する。
そして制限条件速度演算部120は、得られた制限後の動作指令値を、予め記憶している水中航走体200の運動モデルに適用して制限後の動作指令値に対する水中航走体200の速度ベクトルを求める。
以下では、制限条件速度演算部120が求める制限後の動作指令値に対する水中航走体200の速度ベクトルを、制限条件速度ベクトルと称する。
理想速度演算部130は、動作指令値に対する制限がないと仮定した場合の、動作指令値に対する水中航走体200の速度ベクトルを求める。具体的には、動作指令設定部110が設定した動作指令値を、予め記憶している水中航走体200の運動モデルに適用して、動作指令値に対する水中航走体200の速度ベクトルを求める。
以下では、理想速度演算部130が求める、動作指令値に対する制限がないと仮定した場合の動作指令値対する水中航走体200の速度ベクトルを、理想速度ベクトルと称する。
評価関数演算部140は、制限条件速度ベクトルを評価する。具体的には、評価関数演算部140は、制限条件速度ベクトルと理想速度ベクトルとの角度の評価値EVALを式(1)に基づいて算出する。
Figure 0006566236
ここで、時刻0は、水中航走体200の動作制御を開始した時刻を示す。また、時刻endは、制限速度ベクトルが収束した時刻(水中航走体200の速度が定常状態になった時刻)を示す。また、角度θ(t)は、制限条件速度ベクトルと理想速度ベクトルとの角度を示し、式(2)のように表される。
Figure 0006566236
ここで、V(t)は、時刻tにおける理想速度ベクトルを示す。また、V(t)は、時刻tにおける制限条件速度ベクトルを示す。
なお、以下では、演算装置100が前後進、横進、上下動、左右回頭の4次元空間における速度ベクトルを用いる場合を例に説明するが、これに限らない。例えば、演算装置100が、東西、南北、上下の3次元空間における速度ベクトルを用いるようにしてもよい。
式(2)の「V(t)・V(t)」は、理想速度ベクトルV(t)と制限条件速度ベクトルV(t)との内積を示し、式(3)のように表される。
Figure 0006566236
ここで、u(t)は、理想速度ベクトルV(t)における前後進の成分を示す。前後進の成分とは、具体的には水中航走体200の前後方向の速度成分である。また、u(t)は、制限条件速度ベクトルV(t)における前後進の成分を示す。
また、v(t)は、理想速度ベクトルV(t)における横進の成分を示す。横進の成分とは、具体的には水中航走体200の横方向の速度成分である。また、v(t)は、制限条件速度ベクトルV(t)における横進の成分を示す。
なお、動作指令設定部110が、前後進、上下動及び左右回頭の動作指令値の組み合わせを設定する場合、v(t)の値、v(t)の値のいずれもゼロ(0)とする。
また、w(t)は、理想速度ベクトルV(t)における上下動の成分を示す。上下動の成分とは、具体的には水中航走体200の上下方向の速度成分である。また、w(t)は、制限条件速度ベクトルV(t)における上下動の成分を示す。
また、r(t)は、理想速度ベクトルV(t)における左右回頭の成分を示す。左右回頭の成分とは、具体的には水中航走体200が向き(進行方向)を左右に変化させる角速度成分である。また、r(t)は、制限条件速度ベクトルV(t)における左右回頭の成分を示す。
なお、動作指令設定部110が、前後進、横進及び上下動の動作指令値の組み合わせを設定する場合、r(t)の値、r(t)の値のいずれもゼロとする。
また、式(2)の「|V(t)|」は、理想速度ベクトルV(t)の大きさを示し、式(4)のように表される。
Figure 0006566236
また、式(2)の「|V(t)|」は、制限条件速度ベクトルV(t)の大きさを示し、式(5)のように表される。
Figure 0006566236
油量出力部150は、制限後の動作指令時(制限条件下での動作指令時)に、油圧ポンプ240が供給する油量を示す情報を出力する。例えば、油量出力部150は、制限条件下での当該油量を示す情報として2リットル毎分(LPM)などの定数を出力する。
推力配分決定部160は、動作指令設定部110が設定する動作指令毎に、動作単位で制限値を決定する。具体的には、推力配分決定部160は、油圧ポンプ240が供給可能な油量を制約条件とし、評価関数演算部140が用いる評価関数を目的関数として、目的関数の値を最小化する制約付き非線形最適化問題を解くことで、前後進、上下動、左右回頭の各々の制限後の動作指令値を取得する。そして、推力配分決定部160は、制限後の前後進の動作指令値を主推進スラスタ210に対する制限値に換算する。また、推力配分決定部160は、上下動の前後進の動作指令値を垂直スラスタ230に対する制限値に換算する。また、推力配分決定部160は、制限後の上下回頭の動作指令値を水平スラスタ220に対する制限値に換算する。
例えば、推力配分決定部160は、制限後の動作指令値を制限前の動作指令値で除算して制限値を算出する。これにより、 推力配分決定部160は、動作指令値に乗算する係数β(0≦β≦1)を動作毎に求める。
推力配分決定部160が最適化問題を解く方法として、例えば逐次2次計画法(Sequential Quadratic Programming;SQP)など既存の方法を用いることができる。
ここで、図9〜図20を参照して、推力配分決定部160が取得する制限値の例を示す。
図9は、推力配分決定部160が取得する、前後進の動作指令値が1の場合の前後進の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、前後進の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が1の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する前後進の制限値が示されている。
なお、前後進の動作指令値、上下動の動作指令値、左右回頭の動作指令値のいずれも、最小値が0、最大値が1である。前後進の制限値も、最小値が0、最大値が1である。
図10は、推力配分決定部160が取得する、前後進の動作指令値が1の場合の上下動の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、上下動の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が1の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する上下動の制限値が示されている。
図11は、推力配分決定部160が取得する、前後進の動作指令値が1の場合の左右回頭の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、左右回頭の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が1の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する左右回頭の制限値が示されている。
図12は、推力配分決定部160が取得する、前後進の動作指令値が0.75の場合の前後進の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、前後進の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.75の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する前後進の制限値が示されている。
図13は、推力配分決定部160が取得する、前後進の動作指令値が0.75の場合の上下動の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、上下動の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.75の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する上下動の制限値が示されている。
図14は、推力配分決定部160が取得する、前後進の動作指令値が0.75の場合の左右回頭の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、左右回頭の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.75の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する左右回頭の制限値が示されている。
図15は、推力配分決定部160が取得する、前後進の動作指令値が0.5の場合の前後進の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、前後進の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.5の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する前後進の制限値が示されている。
図16は、推力配分決定部160が取得する、前後進の動作指令値が0.5の場合の上下動の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、上下動の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.5の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する上下動の制限値が示されている。
図17は、推力配分決定部160が取得する、前後進の動作指令値が0.5の場合の左右回頭の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、左右回頭の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.5の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する左右回頭の制限値が示されている。
図18は、推力配分決定部160が取得する、前後進の動作指令値が0.25の場合の前後進の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、前後進の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.25の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する前後進の制限値が示されている。
図19は、推力配分決定部160が取得する、前後進の動作指令値が0.25の場合の上下動の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、上下動の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.25の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する上下動の制限値が示されている。
図20は、推力配分決定部160が取得する、前後進の動作指令値が0.25の場合の左右回頭の制限値の例を示すグラフである。同図のグラフでは、上下動の動作指令値の軸と、左右回頭の動作指令値の軸と、左右回頭の制限値の軸とが示されている。そして、同図のグラフでは、前後進の動作指令値が0.25の場合について、上下動の動作指令値および左右回頭の動作指令値に対応する左右回頭の制限値が示されている。
このように、推力配分決定部160は、動作指令設定部110が設定した前後進の動作指令値、上下動の動作指令値、及び、左右回頭の動作指令値の組み合わせ毎に、前後進の制限値、上下動の制限値、及び、左右回頭の制限値を求める。
関数近似部170は、推力配分決定部160が求めた制限値を近似する関数を求める。例えば、関数近似部170は、式(6)に示される形式で関数を求める。
Figure 0006566236
ここで、Xj=1は、前後進の動作指令値が最大値であることを示している。例えば、前後進の動作指令値Xjは0≦Xj≦1の範囲で設定されており、関数近似部170は、Xj=0、Xj=0.25、Xj=0.5、Xj=0.75、Xj=1の各々について、式(6)に示される形式の関数を求める。
また、fXj=1(Zj、Nj)は、1つの動作に対する制限値を示している。関数近似部170は、例えば前後進、上下動、左右回頭の各々、かつ、Xj=0、Xj=0.25、Xj=0.5、Xj=0.75、Xj=1の各々について、式(6)に示される形式の関数を求める。
また、Zjは、上下動の動作指令値を示す。また、Njは、左右回頭の動作指令値を示す。
なお、関数近似部170は、式(7)に示されるように横進の動作指令値Yjを含む式を、式(6)の形式の関数と共に前後進、上下動、左右回頭の各々、かつ、Xj=0、Xj=0.25、Xj=0.5、Xj=0.75、Xj=1の各々について求める。
Figure 0006566236
このように、左右回頭の動作指令値を含む式と、横進の動作指令値を含む式とを別々の式にすることで各式の項数が少なくなる。これにより、水中航走体200は、プログラマブル・ロジック・コントローラ(Programmable Logic Controller;PLC)など、演算能力が高くない装置を用いて関数値を算出することができる。
式(6)におけるa〜a、及び、式(7)におけるb〜bの各々は、いずれも定数の係数を示す。関数近似部170は、これらの定数の値を決定することで、推力配分決定部160が求めた解を近似する関数を求める。
このように、関数近似部170が近似関数を求めることで、水中航走体200の制限値演算部254が、動作指令値と制限値との関係を記憶するための記憶容量を削減することができる。また、関数近似部170が近似関数を求めることで、推力配分決定部160が求める解が局所解に陥った場合に、最適解に近い値に変換することができる。
結果出力部180は、関数近似部170が求めた関数を出力する。例えば、結果出力部180は、a〜a及びb〜bの各係数の値を水中航走体200の制限値演算部254へ送信する。あるいは、結果出力部180が、a〜a及びb〜bの値を画面に表示し、手作業でこれらの値を制限値演算部254に入力するなど、結果出力部180が、関数近似部170が求めた関数を間接的に制限値演算部254へ出力するようにしてもよい。
次に、図21を参照して演算装置100の動作について説明する。
図21は、演算装置100が動作指令値に対する制限値を求める処理手順を示すフローチャートである。同図の処理では演算装置100は、前後進の動作指令値の設定値毎に処理を行うループL11を開始する(ステップS101)。例えば、動作指令設定部110が、前後進の動作指令値として0、0.25、0.5、0.75及び1をそれぞれ設定し、演算装置100は、設定値毎にループL11の処理を行う。
次に、演算装置100は、上下動の動作指令値の設定値毎に処理を行うループL12を開始する(ステップS102)。例えば、動作指令設定部110が、上下動の動作指令値として0、0.2、0.4、0.6、0.8及び1をそれぞれ設定し、演算装置100は、設定値毎にループL12の処理を行う。
次に、演算装置100は、左右回頭の動作指令値の設定値毎に処理を行うループL13を開始する(ステップS103)。例えば、動作指令設定部110が、左右回頭の動作指令値として0、0.2、0.4、0.6、0.8及び1をそれぞれ設定し、演算装置100は、設定値毎にループL13の処理を行う。
次に、推力配分決定部160が、前後進の制限値、上下動の制限値及び左右回頭の制限値の、最適化演算における初期値を設定する(ステップS111)。
そして、制限条件速度演算部120が、制限条件速度ベクトルを算出する(ステップS112)。具体的には制限条件速度演算部120は、動作指令設定部110が設定した前後進の指令値に推力配分決定部160が設定した前後進の制限値を上限として制限して制限後の前後進の指令値を得る。同様に、制限条件速度演算部120は、動作指令設定部110が設定した上下動の指令値に推力配分決定部160が設定した上下動の制限値を上限として制限して制限後の上下動の指令値を得る。さらに、制限条件速度演算部120は、動作指令設定部110が設定した左右回頭の指令値に推力配分決定部160が設定した左右回頭の制限値を上限として制限して制限後の左右回頭の指令値を得る。そして、制限条件速度演算部120は、得られた制限後の指令値を水中航走体200のモデルに代入して制限条件速度ベクトルを算出する。
また、理想速度演算部130は、動作指令設定部110が設定した前後進の動作指令値、上下動の動作指令値及び左右回頭の動作指令値を水中航走体200のモデルに代入して理想速度ベクトルを算出する(ステップS113)。
次に、評価関数演算部140は、制限条件速度演算部120が求めた制限条件速度ベクトルの評価値を算出する(ステップS114)。具体的には、評価関数演算部140は、制限条件速度演算部120が求めた制限条件速度ベクトルと理想速度演算部130が求めた理想動作ベクトルとを式(1)〜式(5)に代入して、評価値EVALを算出する。この評価値EVALは、推力配分決定部160が解く最適化問題における目的関数値の例に該当する。
そして、推力配分決定部160は、最適解が得られたか否かを判定する(ステップS115)。具体的には、推力配分決定部160は、評価関数演算部140が算出した評価値EVALが、最適化アルゴリズムにて定められている終了条件を満たすか否かを判定する。
最適解が得られていないと判定した場合(ステップS115:NO)、推力配分決定部160が前後進の制限値、上下動の制限値、及び、左右回頭の制限値を設定し直す(ステップS131)。ここでは、油圧ポンプの供給可能な油量となるように設定した制約条件を満足するように、各制限値が設定される。
ステップS131の後、ステップS112へ遷移する。
一方、ステップS115で最適解が得られたと判定した場合(ステップS115:YES)、関数近似部170が、得られた最適解を記憶する(ステップS121)。具体的には、関数近似部170は、最適解として得られた前後進の制限値、上下動の制限値及び左右回頭の制限値を、設定されている前後進の動作指令値、上下動の動作指令値及び左右回頭の動作指令値と対応付けて記憶する。
次に、動作指令設定部110はループL13の終端処理を行う(ステップS122)。具体的には、動作指令設定部110は、ループL13における左右回頭の動作指令値の設定値(例えば、0、0.2、0.4、0.6、0.8及び1)の全てについてループL13の処理を行ったか否かを判定する。未処理の設定値があると判定した場合、ステップS103に戻り、未処理の設定値に対する処理を引き続き行う。一方、全ての設定値について処理を行ったと判定した場合、ループL13を終了する。
ステップS122でループL13を終了した場合、動作指令設定部110はループL12の終端処理を行う(ステップS123)。具体的には、動作指令設定部110は、ループL12における上下動の動作指令値の設定値(例えば、0、0.2、0.4、0.6、0.8及び1)の全てについてループL12の処理を行ったか否かを判定する。未処理の設定値があると判定した場合、ステップS102に戻り、未処理の設定値に対する処理を引き続き行う。一方、全ての設定値について処理を行ったと判定した場合、ループL12を終了する。
ステップS123でループL12を終了した場合、動作指令設定部110はループL11の終端処理を行う(ステップS124)。具体的には、動作指令設定部110は、ループL11における前後進の動作指令値の設定値(例えば、0、0.25、0.5、0.75及び1)の全てについてループL11の処理を行ったか否かを判定する。未処理の設定値があると判定した場合、ステップS101に戻り、未処理の設定値に対する処理を引き続き行う。一方、全ての設定値について処理を行ったと判定した場合、ループL11を終了する。
ステップS124でループL11を終了した場合、関数近似部170が、推力配分決定部160が求めた制限値を近似する関数を求める(ステップS131)。
そして、結果出力部180が、ステップS131で得られた近似関数を出力する(ステップS132)。
ステップS132の後、図21の処理を終了する。
次に、図22〜図27を参照して、水中航走体システム1による油圧配分方法を用いた水中航走体200の動作のシミュレーション結果について説明する。
図22は、水中航走体システム1とは異なる方法による油圧配分の例を示すグラフである。同図に示すグラフの縦軸は推力を表し、横軸には各スラスタが示されている。
図22に示す方法では、主推進スラスタ210、水平スラスタ220、垂直スラスタ230のいずれか1つに優先的に油圧を供給し、他のスラスタに対しては、一律に油圧制限する。図22の例では、垂直スラスタ230に対して優先的に油圧が供給されており、垂直スラスタ230は、動作指令値にて指示されたとおりの推力を出力することができる。一方、主推進スラスタ210および水平スラスタ220に対する動作指令値は一律50パーセント(%)制限される。
図23は、水中航走体200の移動経路のシミュレーション結果の例を示すグラフである。同図では、距離、方位角、深度の各軸が示されている。
図23では、最大前進指令と、方位変更指令と、深度変換指令が同時に入力された場合の、水中航走体200の移動経路のシミュレーション結果の例を示している。距離の軸では、水中航走体200の移動距離を示す。方位角の軸では、水中航走体200の向きを示す。深度の軸では、水中航走体200の深度を示す。
線L111は、水中航走体システム1による油圧配分方法を用いた場合の、水中航走体200の移動経路の例を示す。一方、線L112は、図22に示す油圧分配方法を用いた場合の、水中航走体200の移動経路の例を示す。
水中航走体システム1による油圧配分方法を用いた場合、図22に示す油圧分配方法を用いた場合のいずれも、水中航走体200は、点P11を始点として移動している。また、点P12ではいずれの方法でも、指令された動作を達成している。
図22に示す油圧分配方法では、垂直スラスタ230に優先的に油圧を供給する。このため、線L112に示されるように、水中航走体200は、上下に速やかに移動している。一方、前後および左右の動作については油圧が制限されるため、上下動よりも遅い移動となっている。この結果、線L112に示される移動経路は、点P11と点P12とを直線で結んだ経路からの乖離が大きい。この点で水中航走体200が無駄な動作をしている。
これに対して、水中航走体システム1による油圧配分方法を用いた場合の線L111に示される移動経路のほうが、点P11と点P12とを直線で結んだ経路に近い。この点で水中航走体システム1による油圧配分方法を用いたほうが、水中航走体200が効率的な動作をしている。
図24は、水中航走体200の移動距離の変化の例を示すグラフである。同図の横軸は時間を示し、縦軸は距離を示す。
同図は、図23に示すシミュレーションにて水中航走体200が移動を開始してからの経過時間と移動距離との関係を示している。線L211は、水中航走体システム1による油圧配分方法を用いた場合の、水中航走体200の移動距離の例を示す。一方、線L212は、図22に示す油圧分配方法を用いた場合の、水中航走体200の移動距離の例を示す。
水中航走体システム1による油圧分配方法を用いた場合のほうが、図22に示す油圧分配方法を用いた場合よりも、線L213で示される所定の距離に到達する時間が短縮できていることがわかる。
図25は、水中航走体200の深度の変化の例を示すグラフである。同図の横軸は時間を示し、縦軸は深度を示す。
同図は、図23に示すシミュレーションにて水中航走体200が移動を開始してからの経過時間と深度との関係を示している。線L221は、水中航走体システム1による油圧配分方法を用いた場合の、水中航走体200の深度の例を示す。一方、線L222は、図22に示す油圧分配方法を用いた場合の、水中航走体200の深度の例を示す。線L221、L222のいずれも、目標深度に達して目標深度を維持している様子を示している。
水中航走体システム1による油圧分配方法を用いた場合のほうが、図22に示す油圧分配方法を用いた場合よりも、所定の深度に到達するのに時間がかかっていることがわかる。
図26は、水中航走体200の向きの変化の例を示すグラフである。同図の横軸は時間を示し、縦軸は方位角を示す。
同図は、図23に示すシミュレーションにて水中航走体200が移動を開始してからの経過時間と向き(方位角)との関係を示している。線L231は、水中航走体システム1による油圧配分方法を用いた場合の、水中航走体200の向きの例を示す。一方、線L232は、図22に示す油圧分配方法を用いた場合の、水中航走体200の向きの例を示す。線L231、L232のいずれも、目標方位角に達して目標方位角を維持している様子を示している。
水中航走体システム1による油圧分配方法を用いた場合のほうが、図22に示す油圧分配方法を用いた場合よりも、所定の方位に到達する時間が短縮できていることがわかる。
ここで、図24〜図27の時間軸の範囲は、全て同一である。図24〜図26を参照して説明したシミュレーション結果から、水中航走体システム1による油圧分配方式を用いた場合、図22に示す油圧分配方式を用いた場合に比べて、前進距離の到達時間の性能が大幅に改善されることがわかる。
図27は、油圧ポンプ240が供給する油量の例を示すグラフである。同図の横軸は時間を示し、縦軸は油量を示す。
同図は、図23に示すシミュレーションにて水中航走体200が移動を開始してからの経過時間と必要な油量の推定値との関係を示している。線L241は、水中航走体システム1による油圧配分方法を用いた場合の油量の例を示す。線L241にて示される油量は、ほぼ制約の上限の油量になっている。一方、線L242は、図22に示す油圧分配方法を用いた場合の油量の例を示す。
線L241とL242とを比較すると、水中航走体システム1による油圧分配方法を用いた場合(線L241)の方が、図22に示す油圧分配方法を用いた場合(線L242)に比べて、常に所望の制約油量に保持できている。これは、前後、上下、回頭の推力指令が時々刻々変化しても制約油量を保持する条件下で推力配分を変化させているためである。このことから、水中航走体システム1による油圧分配方法を用いた場合の方が、図22に示す油圧分配方法を用いた場合よりも、常に油圧ポンプの能力を最大限近く発揮でき、水中航走体200の速度ベクトルを理想に近付ける推力配分を実現することで、水中航走体200を効率よく移動させていると考えられる。
以上のように、制限条件速度演算部120は、水中航走体200における互いに異なる方向に推力を発生させる複数のスラスタに対する動作指令に基づいて、複数のスラスタが発生させる推力の総和が制限された制限条件下における水中航走体200の速度ベクトルである制限条件速度ベクトルを演算する。また、理想速度演算部130は、動作指令に基づいて、複数の推力発生部の推力を制限しない制限無し条件下における水中航走体200の速度ベクトルである理想速度ベクトルを演算する。そして、推力配分決定部160は、制限条件速度ベクトルと理想速度ベクトルとの相違の評価値が小さくなるように、制限条件下における複数の推力発生部の推力の配分を決定する。
これにより、複数のスラスタが発生させる推力の総和が制限された制限条件下における水中航走体200の移動経路を、推力の制限を受けていない場合の移動経路に近付けることができる。制限条件下における水中航走体200の移動経路を、制限を受けていない場合の移動経路に近付けることで、水中航走体200を動作指令に従って効率よく移動させることができ、水中航走体200が目的地に到達するまでの移動時間を短縮することができる。
また、推力配分決定部160は、制限条件速度ベクトルの方向と理想速度ベクトルの方向との角度の積分値を目的関数とする最適化問題を解くことで、制限条件下における複数のスラスタの推力の配分を決定する。
これにより、複数のスラスタが発生させる推力の総和が制限された制限条件下における水中航走体200の向きを、推力の制限を受けていない場合の向きに近付けることができる。制限条件下における水中航走体200の向きを、制限を受けていない場合の向きに近付けることで、水中航走体200動作指令に従って効率よく移動させることができ、水中航走体200が目的地に到達するまでの移動時間を短縮することができる。
なお、本実施形態における移動体は水中航走体に限らない。例えば、本実施形態における移動体は、空中を移動するものであってもよいし、宇宙空間を移動するものであってもよい。
また、本実施形態における移動体が推力を発生させる方法はプロペラ式に限らない。例えば、本実施形態における移動体がジェット噴射によって推力を発生させるようにしてもよい。
また、本実施形態における移動体が推力を発生させる動力源は油圧に限らない。例えば、本実施形態における移動体が電動モータにてプロペラを回転させるようにしてもよい。あるいは、本実施形態における移動体が燃料を燃焼させてジェット噴射を行うようにしてもよい。
なお、評価関数演算部140が用いる評価関数は、式(1)〜式(5)に示すものに限らない。例えば評価関数演算部140が、式(8)のように制限条件速度ベクトルと理想速度ベクトルとの差の大きさを積分する評価関数を用いるようにしてもよい。
Figure 0006566236
ここで、e(t)は、理想速度ベクトルにおける前後進の成分u(t)と、制限条件速度ベクトルにおける前後進の成分u(t)との差を示し、式(9)のように表される。
Figure 0006566236
また、e(t)は、理想速度ベクトルにおける横進の成分v(t)と、制限条件速度ベクトルにおける横進の成分v(t)との差を示し、式(10)のように表される。
なお、動作指令設定部110が、前後進、上下動及び左右回頭の動作指令値の組み合わせを設定する場合、v(t)の値、v(t)の値のいずれもゼロとする。
Figure 0006566236
また、e(t)は、理想速度ベクトルにおける上下動の成分w(t)と、制限条件速度ベクトルにおける上下動の成分w(t)との差を示し、式(11)のように表される。
Figure 0006566236
また、e(t)は、理想速度ベクトルにおける左右回頭の成分r(t)と、制限条件速度ベクトルにおける左右回頭の成分r(t)との差を示し、式(12)のように表される。
なお、動作指令設定部110が、前後進、横進及び上下動の動作指令値の組み合わせを設定する場合、r(t)の値、r(t)の値のいずれもゼロとする。
Figure 0006566236
以上のように、推力配分決定部160は、制限条件速度ベクトルと理想速度ベクトルとの差の大きさの積分値を目的関数とする最適化問題を解くことで、制限条件下における複数のスラスタの推力の配分を決定する。
これにより、複数のスラスタが発生させる推力の総和が制限された制限条件下における水中航走体200の速度ベクトルの向き及び大きさを、推力の制限を受けていない場合の速度ベクトルの向き及び大きさに近付けることができる。制限条件下における水中航走体200の速度ベクトルの向き及び大きさを、推力の制限を受けていない場合の速度ベクトルの向き及び大きさに近付けることで、水中航走体200動作指令に従って効率よく移動させることができ、水中航走体200が目的地に到達するまでの移動時間を短縮することができる。
なお、演算装置100の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
1 水中航走体システム
100 演算装置
110 動作指令設定部
120 制限条件速度演算部
130 理想速度演算部
140 評価関数演算部
150 油量出力部
160 推力配分決定部
170 関数近似部
180 結果出力部
200 水中航走体
211 第1主推進スラスタ
212 第2主推進スラスタ
213 第3主推進スラスタ
214 第4主推進スラスタ
221 第1水平スラスタ
222 第2水平スラスタ
231 第1垂直スラスタ
232 第2垂直スラスタ
240 油圧ポンプ
250 推力配分制御部
251 指令取得部
252 水平成分自動手動切替部
253 垂直成分自動手動切替部
254 制限値演算部
255 主推進成分推力制限部
256 水平成分推力制限部
257 垂直成分推力制限部
258 サーボ指令演算部

Claims (6)

  1. 移動体における互いに異なる方向に推力を発生させる複数の推力発生部に対する動作指令と、前記複数の推力発生部が発生させる推力の総和が制限された制限条件下で前記推力の総和の制限を満たすように設定される、前記動作指令に対する制限値とに基づいて、前記動作指令に前記制限値が適用されたときの前記移動体の速度ベクトルである制限条件速度ベクトルを演算する制限条件速度演算部と、
    前記動作指令に基づいて、前記複数の推力発生部の推力を制限しない制限無し条件下における前記移動体の速度ベクトルである理想速度ベクトルを演算する理想速度演算部と、
    前記制限条件速度ベクトルと前記理想速度ベクトルとの相違の評価値を算出する評価関数演算部と、
    前記制限値を仮設定し、前記評価値を目的関数値として前記制限値を設定し直す最適化を、前記評価値が所定の終了条件を満たすまで繰り返す推力配分決定部と、
    を備える演算装置。
  2. 前記推力配分決定部は、前記制限条件速度ベクトルの方向と前記理想速度ベクトルの方向との角度の積分値を目的関数とする最適化問題を解くことで、前記制限値を算出する、
    請求項1に記載の演算装置。
  3. 前記推力配分決定部は、前記制限条件速度ベクトルと前記理想速度ベクトルとの差の大きさの積分値を目的関数とする最適化問題を解くことで、前記制限値を算出する、
    請求項1に記載の演算装置。
  4. 移動体本体と、
    前記移動体本体に設けられて互いに異なる方向に推力を発生させる複数の推力発生部と、
    請求項1から3のいずれか一項に記載の演算装置と、
    を備える移動体システム。
  5. 演算装置の演算方法であって、
    移動体における互いに異なる方向に推力を発生させる複数の推力発生部に対する動作指令と、前記複数の推力発生部が発生させる推力の総和が制限された制限条件下で前記推力の総和の制限を満たすように設定される、前記動作指令に対する制限値とに基づいて、前記動作指令に前記制限値が適用されたときの前記移動体の速度ベクトルである制限条件速度ベクトルを演算する制限条件速度演算ステップと、
    前記動作指令に基づいて、前記複数の推力発生部の推力を制限しない制限無し条件下における前記移動体の速度ベクトルである理想速度ベクトルを演算する理想速度演算ステップと、
    前記制限条件速度ベクトルと前記理想速度ベクトルとの相違の評価値を算出するステップと、
    前記制限値を仮設定し、前記評価値を目的関数値として前記制限値を設定し直す最適化を、前記評価値が所定の終了条件を満たすまで繰り返す推力配分決定ステップと、
    を有する演算方法。
  6. コンピュータに、
    移動体における互いに異なる方向に推力を発生させる複数の推力発生部に対する動作指令と、前記複数の推力発生部が発生させる推力の総和が制限された制限条件下で前記推力の総和の制限を満たすように設定される、前記動作指令に対する制限値とに基づいて、前記動作指令に前記制限値が適用されたときの前記移動体の速度ベクトルである制限条件速度ベクトルを演算する制限条件速度演算ステップと、
    前記動作指令に基づいて、前記複数の推力発生部の推力を制限しない制限無し条件下における前記移動体の速度ベクトルである理想速度ベクトルを演算する理想速度演算ステップと、
    前記制限条件速度ベクトルと前記理想速度ベクトルとの相違の評価値を算出するステップと、
    前記制限値を仮設定し、前記評価値を目的関数値として前記制限値を設定し直す最適化を、前記評価値が所定の終了条件を満たすまで繰り返す推力配分決定ステップと、
    を実行させるためのプログラム。
JP2015065026A 2015-03-26 2015-03-26 演算装置、移動体システム、演算方法およびプログラム Active JP6566236B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015065026A JP6566236B2 (ja) 2015-03-26 2015-03-26 演算装置、移動体システム、演算方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015065026A JP6566236B2 (ja) 2015-03-26 2015-03-26 演算装置、移動体システム、演算方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016184344A JP2016184344A (ja) 2016-10-20
JP6566236B2 true JP6566236B2 (ja) 2019-08-28

Family

ID=57243060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015065026A Active JP6566236B2 (ja) 2015-03-26 2015-03-26 演算装置、移動体システム、演算方法およびプログラム

Country Status (1)

Country Link
JP (1) JP6566236B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572550A (zh) * 2018-03-16 2018-09-25 上海交通大学 一种基于机器学习的在线实时推力分配方法
CN117762152B (zh) * 2024-02-22 2024-05-10 陕西欧卡电子智能科技有限公司 无人船矢量入库控制方法、系统、无人船及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2749833B2 (ja) * 1988-10-14 1998-05-13 三菱重工業株式会社 制御推力配分装置
JP3267516B2 (ja) * 1996-10-09 2002-03-18 日立造船株式会社 船舶の定方位直線移動制御設備
JP4570192B2 (ja) * 2000-02-08 2010-10-27 ユニバーサル造船株式会社 推力発生器の制御方法および制御装置
JP2002316698A (ja) * 2001-04-24 2002-10-29 Mitsubishi Heavy Ind Ltd 多目的制御浮体、及び、浮体の多目的制御方法
JP2008107943A (ja) * 2006-10-24 2008-05-08 Japan Agengy For Marine-Earth Science & Technology 航走体の安定ロバスト制御装置、安定ロバスト制御システム、その方法およびプログラム
JP5713934B2 (ja) * 2012-02-24 2015-05-07 三菱重工業株式会社 水中航走体

Also Published As

Publication number Publication date
JP2016184344A (ja) 2016-10-20

Similar Documents

Publication Publication Date Title
CN109283842B (zh) 一种无人艇航迹跟踪智能学习控制方法
JP4339016B2 (ja) 推力配分方法及び推力配分装置
Tanakitkorn et al. Grid-based GA path planning with improved cost function for an over-actuated hover-capable AUV
JPH11152085A (ja) 振動翼付き水中航走体
JP6566236B2 (ja) 演算装置、移動体システム、演算方法およびプログラム
Basset et al. Computing short-time aircraft maneuvers using direct methods
CN107544258B (zh) 自主型水下航行器自适应反演控制方法
Allotta et al. Design and simulation of an autonomous underwater vehicle
Niu et al. Efficient path following algorithm for unmanned surface vehicle
CN110775103B (zh) 控制车辆软着陆的方法及相关控制器和系统
JP2017206154A (ja) 水中航走体制御装置、水中航走システム、水中航走体制御方法及びプログラム
JP4736158B2 (ja) 船舶の航路保持制御装置
CN111123923A (zh) 一种无人船舶局部路径动态优化方法
Chocron et al. Dynamic reconfiguration of autonomous underwater vehicles propulsion system using genetic optimization
Roy et al. Trajectory following control of AUV: a robust approach
Shen et al. Path-following control of an AUV using multi-objective model predictive control
JP2004355105A (ja) 移動体の制御方法及び制御装置
Yazdani et al. Time and energy efficient trajectory generator for autonomous underwater vehicle docking operations
Shen Motion control of autonomous underwater vehicles using advanced model predictive control strategy
Tolstonogov et al. AUV thrust allocation with variable constraints
Gadre et al. Guidance and control of an unmanned surface vehicle exhibiting sternward motion
Kostenko et al. AUV Thrust Allocation with Variable Constraints
Bertaska et al. Supervisory switching control of an unmanned surface vehicle
Kokegei et al. Fully coupled 6 degrees-of-freedom control of autonomous underwater vehicles
Korte et al. Precise Maneuver Planning for Berth-to-Berth Navigation of Modern Ships

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190717

R150 Certificate of patent or registration of utility model

Ref document number: 6566236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150