JP2023169655A - 移動体の制御方法、移動体の制御装置、移動体及びプログラム - Google Patents
移動体の制御方法、移動体の制御装置、移動体及びプログラム Download PDFInfo
- Publication number
- JP2023169655A JP2023169655A JP2022080903A JP2022080903A JP2023169655A JP 2023169655 A JP2023169655 A JP 2023169655A JP 2022080903 A JP2022080903 A JP 2022080903A JP 2022080903 A JP2022080903 A JP 2022080903A JP 2023169655 A JP2023169655 A JP 2023169655A
- Authority
- JP
- Japan
- Prior art keywords
- output value
- value
- parameter
- input
- moving body
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000003044 adaptive effect Effects 0.000 claims abstract description 96
- 238000004364 calculation method Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 39
- 230000008859 change Effects 0.000 claims description 31
- 230000007613 environmental effect Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 26
- 230000006866 deterioration Effects 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013178 mathematical model Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000012776 robust process Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Feedback Control In General (AREA)
Abstract
【課題】入力値の算出精度の低下を抑制する。【解決手段】移動体の制御方法は、移動体の目標出力値に基づき、移動体に入力する入力値を算出するステップと、移動体に入力値を入力して移動体を制御するステップと、移動体に入力値が入力された際の移動体の出力値を取得するステップと、移動体の挙動を模擬する出力予測モデルに入力値を入力して、入力値が入力された際の移動体の推定出力値を算出するステップと、出力値と推定出力値との誤差と、移動体の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得するステップと、出力値と推定出力値との誤差と、探索パラメータとに基づいて、適応パラメータを算出するステップと、を含み、入力値を算出するステップにおいては、目標出力値と適応パラメータに基づいて、入力値を算出する。【選択図】図3
Description
本開示は、移動体の制御方法、移動体の制御装置、移動体及びプログラムに関する。
近年、水中航行体、船舶、航空機などの移動体に、その移動体を自動で操縦する制御装置が搭載されることが増えている。例えば特許文献1には、操船データに基づいて、対象船舶が指定した応答特性を満たすように、フィードバック制御でのゲイン値などの制御パラメータを調整する旨が記載されている。また、特許文献2には、無人航空機のキャリブレーション飛行中に同定した伝達関数モデルに基づき、望みの応答特性を示すように設計した規範モデルに近しい挙動を示す制御パラメータを算出する旨が記載されている。
特許文献1、2においては、移動体の制御時に、キャリブレーションなどで事前に設定された固定値である各種パラメータを用いて、制御パラメータ(入力値)が算出される。しかし、例えば外乱の影響などにより、事前に設定されたパラメータと入力値とが適切に対応しなくなり、制御パラメータの算出精度が低下するおそれがある。
本開示は、上述した課題を解決するものであり、入力値の算出精度の低下を抑制可能な移動体の制御方法、移動体の制御装置、移動体及びプログラムを提供することを目的とする。
本開示に係る移動体の制御方法は、移動体の目標出力値を取得するステップと、前記目標出力値に基づき、前記移動体に入力する入力値を算出するステップと、前記移動体に前記入力値を入力して、前記移動体を制御するステップと、前記移動体に前記入力値が入力された際の前記移動体の出力値を取得するステップと、前記移動体の挙動を模擬する出力予測モデルに前記入力値を入力して、前記入力値が入力された際の前記移動体の推定出力値を算出するステップと、前記出力値と前記推定出力値との誤差と、前記移動体の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得するステップと、前記出力値と前記推定出力値との誤差と、前記探索パラメータとに基づいて、前記適応パラメータを算出するステップと、を含み、前記入力値を算出するステップにおいては、前記目標出力値と前記適応パラメータに基づいて、前記入力値を算出する。
本開示に係る移動体の制御装置は、移動体の目標出力値を取得する第1取得部と、前記目標出力値に基づき、前記移動体に入力する入力値を算出する第1算出部と、前記移動体に前記入力値を入力して、前記移動体を制御する移動制御部と、前記移動体に前記入力値が入力された際の前記移動体の出力値を取得する第2取得部と、前記移動体の挙動を模擬する出力予測モデルに前記入力値を入力して、前記入力値が入力された際の前記移動体の推定出力値を算出する第2算出部と、前記出力値と前記推定出力値との誤差と、前記移動体の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得する第3取得部と、前記出力値と前記推定出力値との誤差と、前記探索パラメータとに基づいて、前記適応パラメータを算出する第3算出部と、を含み、前記第1算出部は、前記目標出力値と前記適応パラメータに基づいて、前記入力値を算出する。
本開示に係る移動体は、前記制御装置を有する。
本開示に係るプログラムは、移動体の目標出力値を取得するステップと、前記目標出力値に基づき、前記移動体に入力する入力値を算出するステップと、前記移動体に前記入力値を入力して、前記移動体を制御するステップと、前記移動体に前記入力値が入力された際の前記移動体の出力値を取得するステップと、前記移動体の挙動を模擬する出力予測モデルに前記入力値を入力して、前記入力値が入力された際の前記移動体の推定出力値を算出するステップと、前記出力値と前記推定出力値との誤差と、前記移動体の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得するステップと、前記出力値と前記推定出力値との誤差と、前記探索パラメータとに基づいて、前記適応パラメータを算出するステップと、をコンピュータに実行させるプログラムであって、前記入力値を算出するステップにおいては、前記目標出力値と前記適応パラメータに基づいて、前記入力値を算出する。
本開示によれば、入力値の算出精度の低下を抑制できる。
以下に添付図面を参照して、本開示の好適な実施形態を詳細に説明する。なお、この実施形態により本開示が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
(移動体)
図1は、本実施形態に係る移動体の一例を示す模式図である。本実施形態に係る移動体10は、自律移動する装置である。移動体10は、図1に示すように水W内(水中)を移動する水中航行体であってもよいし、水W上(水面)を移動する船舶であってもよい。また、移動体10は、水中航行体や船舶に限られず、飛行する航空機であってもよいし、路面を走行する車両であってもよい。
図1は、本実施形態に係る移動体の一例を示す模式図である。本実施形態に係る移動体10は、自律移動する装置である。移動体10は、図1に示すように水W内(水中)を移動する水中航行体であってもよいし、水W上(水面)を移動する船舶であってもよい。また、移動体10は、水中航行体や船舶に限られず、飛行する航空機であってもよいし、路面を走行する車両であってもよい。
図1に示すように、移動体10は、制御対象12と、出力検出部14と、制御装置16とを有する。制御対象12は、制御装置16によって制御される機器であり、例えば、移動体10を駆動させる駆動機構である。出力検出部14は、移動体10からの出力値を検出する装置である。移動体10からの出力値とは、制御装置16により制御対象12が制御された際の移動体10の状態を指し、言い換えれば、制御装置16による制御対象12の制御に応じた、移動体10からの制御出力を指す。例えば、水中航行体である移動体10の深度制御を行う場合には、出力値は、移動体10の深度を指してよい。この場合、出力検出部14は、移動体10の深度を検出するセンサであってよい。また例えば、船舶である移動体10の航法制御を行う場合には、出力値は、移動体10の位置(座標)を指してよい。この場合、出力検出部14は、移動体10の位置を検出するセンサであってよい。
(制御装置)
制御装置16は、移動体10の移動を制御する装置である。制御装置16は、制御対象12に入力値を入力することで、移動体10の移動を制御する。すなわち、制御装置16により制御対象12に入力値が入力されたら、制御対象12は、その入力値に応じて駆動して、移動体10を移動させる。ここでの入力値とは、制御対象12に入力される制御入力(制御パラメータ)を指す。例えば、水中航行体である移動体10の深度制御を行う場合には、入力値は、移動体10の深度を変化させるための操作量(例えば操舵角やペイロード量)であってよい。また例えば、船舶である移動体10の航法制御を行う場合には、入力値は、移動体10の位置を変化させるための操作量(例えば操舵角や印加トルク)であってよい。
制御装置16は、移動体10の移動を制御する装置である。制御装置16は、制御対象12に入力値を入力することで、移動体10の移動を制御する。すなわち、制御装置16により制御対象12に入力値が入力されたら、制御対象12は、その入力値に応じて駆動して、移動体10を移動させる。ここでの入力値とは、制御対象12に入力される制御入力(制御パラメータ)を指す。例えば、水中航行体である移動体10の深度制御を行う場合には、入力値は、移動体10の深度を変化させるための操作量(例えば操舵角やペイロード量)であってよい。また例えば、船舶である移動体10の航法制御を行う場合には、入力値は、移動体10の位置を変化させるための操作量(例えば操舵角や印加トルク)であってよい。
図2は、本実施形態に係る制御装置の模式的なブロック図である。制御装置16は、例えばコンピュータであり、図2に示すように、通信部20と、記憶部22と、制御部24とを有する。通信部20は、外部の装置と通信を行う通信モジュールであり、例えばアンテナなどである。通信部20による通信方式は任意であってよく、無線通信であってもよいし有線通信であってもよい。記憶部22は、制御部24の演算内容やプログラムの情報などを記憶するメモリであり、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。
制御部24は、演算装置であり、例えばCPU(Central Processing Unit)などの演算回路を含む。制御部24は、第1取得部30と、第1算出部32と、移動制御部34と、第2取得部36と、第2算出部38と、第3取得部40と、第3算出部42とを含む。制御部24は、記憶部22からプログラム(ソフトウェア)を読み出して実行することで、第1取得部30と第1算出部32と移動制御部34と第2取得部36と第2算出部38と第3取得部40と第3算出部42を実現して、それらの処理を実行する。なお、制御部24は、1つのCPUによって処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、第1取得部30と第1算出部32と移動制御部34と第2取得部36と第2算出部38と第3取得部40と第3算出部42との少なくとも一部を、ハードウェア回路で実現してもよい。また、記憶部22が保存する制御部24用のプログラムは、制御装置16が読み取り可能な記録媒体に記憶されていてもよい。
以下で、制御部24による移動体10の制御方法を説明する。図3は、制御装置による移動体の制御方法を説明する模式的なブロック図である。
(目標出力値の取得)
図3に示すように、第1取得部30(目標出力値取得部)は、目標出力値rを取得する。目標出力値rは、移動体10の出力値の目標値である。例えば、水中航行体である移動体10の深度制御を行う場合には、目標出力値rは、移動体10の目標深度であってよい。また例えば、船舶である移動体10の航法制御を行う場合には、目標出力値rは、移動体10の目標位置(目標とする移動先の位置)であってよい。第1取得部30は、移動体10の目的に応じて、目標出力値rを適宜設定してよい。なお、目標出力値rは、移動体10の出力値の目標値そのものであることに限られず、移動体10の出力値を目標値とするための操作量(制御入力)であってもよい。すなわち、目標出力値rは、移動体10の出力値の目標値に対応する値であってよいといえる。
図3に示すように、第1取得部30(目標出力値取得部)は、目標出力値rを取得する。目標出力値rは、移動体10の出力値の目標値である。例えば、水中航行体である移動体10の深度制御を行う場合には、目標出力値rは、移動体10の目標深度であってよい。また例えば、船舶である移動体10の航法制御を行う場合には、目標出力値rは、移動体10の目標位置(目標とする移動先の位置)であってよい。第1取得部30は、移動体10の目的に応じて、目標出力値rを適宜設定してよい。なお、目標出力値rは、移動体10の出力値の目標値そのものであることに限られず、移動体10の出力値を目標値とするための操作量(制御入力)であってもよい。すなわち、目標出力値rは、移動体10の出力値の目標値に対応する値であってよいといえる。
(入力値の算出)
第1算出部32(入力値算出部)は、目標出力値rに基づき、移動体10(制御対象12)に入力するための入力値uを算出する。第1算出部32は、目標出力値rと、直前に算出された適応パラメータω、θ、σとに基づいて、入力値uを算出する。適応パラメータは、移動体10の挙動を示すパラメータである。移動体10は、例えば外乱などの環境により、理想的な挙動とは異なることがあり、適応パラメータは、実際の移動体10の挙動の、理想的な挙動からのずれ量に相当するといえ、リアルタイムで変動する。そのため、本実施形態では、後述の第3算出部42によって適応パラメータをリアルタイムで算出し、第1算出部32によって、適応パラメータのうちで外乱を示すパラメータを打ち消すように、入力値uを算出する。外乱を示すパラメータを打ち消す入力値uの算出については後述する。なお、本実施形態では、適応パラメータは、ω、θ、σの3種類であるが、その数や種類はそれに限られず任意であってよい。適応パラメータの算出方法などについても後述する。
第1算出部32(入力値算出部)は、目標出力値rに基づき、移動体10(制御対象12)に入力するための入力値uを算出する。第1算出部32は、目標出力値rと、直前に算出された適応パラメータω、θ、σとに基づいて、入力値uを算出する。適応パラメータは、移動体10の挙動を示すパラメータである。移動体10は、例えば外乱などの環境により、理想的な挙動とは異なることがあり、適応パラメータは、実際の移動体10の挙動の、理想的な挙動からのずれ量に相当するといえ、リアルタイムで変動する。そのため、本実施形態では、後述の第3算出部42によって適応パラメータをリアルタイムで算出し、第1算出部32によって、適応パラメータのうちで外乱を示すパラメータを打ち消すように、入力値uを算出する。外乱を示すパラメータを打ち消す入力値uの算出については後述する。なお、本実施形態では、適応パラメータは、ω、θ、σの3種類であるが、その数や種類はそれに限られず任意であってよい。適応パラメータの算出方法などについても後述する。
本実施形態では、第1算出部32は、フィードバック制御も用いて、入力値uを算出する。すなわち、第1算出部32は、目標出力値rと、直前に算出された適応パラメータとに加えて、直前に取得された目標出力値rと直前に検出された出力値yとの差分であるフィードバック差分値にも基づき、入力値uを算出する。すなわち、第1算出部32は、適応パラメータのうちの外乱を示すパラメータを打ち消しつつ、かつ、フィードバック制御により出力値yが目標出力値rに追従するように、入力値uを算出するといえる。ただし、フィードバック制御は必須ではない。
図3の例では、第1算出部32は、目標出力値rと適応パラメータとに基づいて、適応パラメータのうちで外乱を示すパラメータを打ち消すような入力値である適応入力値uaを算出する。この場合、第1算出部32は、ローパスフィルタA1により、適応入力値uaからノイズとなる高周波成分を除去してよい。除去する高周波成分は、所定周波数以上の成分であってよく、ここでの所定周波数は適宜設定してよい。そして、第1算出部32は、フィードバック制御器FBにより、直前に検出されたフィードバック差分値から、そのフィードバック差分値を所定値(例えばゼロ)以下とするような補正入力値(補正ゲイン)である差分入力値ubを算出する。フィードバック制御器FBは、フィードバック差分値から差分入力値ubを算出可能な、任意のアルゴリズムであってよい。第1算出部32は、適応入力値uaと差分入力値ubとに基づいて、適応パラメータのうちの外乱を示すパラメータを打ち消しつつ、かつ、フィードバック制御により出力値yが目標出力値rに追従するように、入力値uを算出する。なお、図3に示す入力値uの算出方法は一例であり、それに限定されない。例えば、第1算出部32は、目標出力値rと差分入力値ubとに基づいて、フィードバック制御により出力値yが目標出力値rに追従するように入力値を算出し、その入力値と適応入力値uaとに基づいて、外乱を示すパラメータを打ち消すような入力値uを算出してもよい。
(移動体の制御)
移動制御部34は、移動体10(制御対象12)に入力値uを入力して、移動体10を制御する。移動体10は、入力値uが入力されることにより、入力値uの値(制御入力)に応じて駆動されて、所定の状態となる(所定の出力値yを示す)。
移動制御部34は、移動体10(制御対象12)に入力値uを入力して、移動体10を制御する。移動体10は、入力値uが入力されることにより、入力値uの値(制御入力)に応じて駆動されて、所定の状態となる(所定の出力値yを示す)。
(出力値の取得)
第2取得部36(出力値取得部)は、移動体10の出力値yを取得する。すなわち、第2取得部36は、入力値uが入力されることにより所定の状態となった移動体10からの出力値yを取得する。本実施形態では、第2取得部36は、出力検出部14を制御して、出力検出部14に移動体10の出力値yを検出させて、その検出結果を出力値yとして取得する。出力値yは、移動体10の実際の制御出力といえる。
第2取得部36(出力値取得部)は、移動体10の出力値yを取得する。すなわち、第2取得部36は、入力値uが入力されることにより所定の状態となった移動体10からの出力値yを取得する。本実施形態では、第2取得部36は、出力検出部14を制御して、出力検出部14に移動体10の出力値yを検出させて、その検出結果を出力値yとして取得する。出力値yは、移動体10の実際の制御出力といえる。
制御装置16は、入力値uを移動体10に入力して移動体10を制御しつつ、その入力値uを、移動体10の挙動を模擬した数式モデル(アルゴリズム)である出力予測モデルA2に入力する。そして、制御装置16は、出力予測モデルA2からの出力値と実際の出力値yとの誤差から、理想的な挙動に対する実際の移動体10の挙動のずれ量(適応パラメータ)を算出して、このずれ量を打ち消すような入力値uを算出する。これにより、例えば外乱などの影響を打ち消すように入力値uを設定することが可能となり、入力値uの算出精度の低下を抑制できる。以下で、適応パラメータの算出処理について詳細に説明する。
(推定出力値の算出)
第2算出部38(推定出力値算出部)は、出力予測モデルA2に入力値uを入力して、入力値uが入力された際の移動体10の出力値の推定値である推定出力値yaを算出する。すなわち、第2算出部38は、出力予測モデルA2に示される数式モデルに入力値uを代入して、出力予測モデルA2における出力値である推定出力値yaを算出する。本実施形態では、第2算出部38は、出力予測モデルA2として、次の式(1)を用いて、推定出力値yaを算出する。
第2算出部38(推定出力値算出部)は、出力予測モデルA2に入力値uを入力して、入力値uが入力された際の移動体10の出力値の推定値である推定出力値yaを算出する。すなわち、第2算出部38は、出力予測モデルA2に示される数式モデルに入力値uを代入して、出力予測モデルA2における出力値である推定出力値yaを算出する。本実施形態では、第2算出部38は、出力予測モデルA2として、次の式(1)を用いて、推定出力値yaを算出する。
式(1)において、tは、時刻であり、Am、Bm、Cm、αは、予め設定された係数であり、xv及びxgは、出力予測モデルA2に設けられるオブザーバで推定した移動体10の状態を指し、ω、θ、σは、適応パラメータであり、uzは、入力値uである。なお、適応パラメータωは、いわゆる入力ゲインであり、入力値uが移動体10の挙動に影響を与える度合いの変化を表す量であり、例えば、舵角を変えた時に発生するモーメントの大きさ(舵効)の変化などに該当する。適応パラメータθは、移動体のダイナミクスの変化を表すパラメータであり、状態に依存する変化などに該当する。適応パラメータσは、移動体のダイナミクスの変化を表すパラメータであり、状態とは独立した変化などに該当する。第2算出部38は、直前に第3算出部42により算出された適応パラメータを、出力予測モデルA2での(式¥適応パラメータとして用いる。なお、αは、後述の探索パラメータの1つである。さらに言えば、αは、推定出力値yaの算出の際の安定化項係数(フィードバック差分値に乗じる係数)であり、適応速さと応答性(振動)とのトレードオフを調整するための係数といえる。
(適応パラメータの算出)
第3算出部42(適応パラメータ算出部)は、移動体10からの出力値yと出力予測モデルA2からの推定出力値yaとの誤差eyと、後述の第3取得部40によって取得された探索パラメータとに基づいて、適応パラメータω、θ、σを算出する。誤差eyは、出力値yと推定出力値yaとの差分を指す。また、探索パラメータとは、誤差eyと適応パラメータとの対応関係を示すパラメータであり、言い換えれば、誤差eyに基づいて適応パラメータを算出する数式モデルにおける係数である。探索パラメータは、予め設定された固定値であり、リアルタイムで変動しない。探索パラメータの設定方法については後述する。
第3算出部42(適応パラメータ算出部)は、移動体10からの出力値yと出力予測モデルA2からの推定出力値yaとの誤差eyと、後述の第3取得部40によって取得された探索パラメータとに基づいて、適応パラメータω、θ、σを算出する。誤差eyは、出力値yと推定出力値yaとの差分を指す。また、探索パラメータとは、誤差eyと適応パラメータとの対応関係を示すパラメータであり、言い換えれば、誤差eyに基づいて適応パラメータを算出する数式モデルにおける係数である。探索パラメータは、予め設定された固定値であり、リアルタイムで変動しない。探索パラメータの設定方法については後述する。
本実施形態では、第3算出部42は、次の式(2)~(4)を用いて、適応パラメータωと適応パラメータθと適応パラメータσとを算出する。ただし、適応パラメータは、式(2)~(4)を用いて算出されることに限られず、誤差eyと探索パラメータとを用いた任意の方法で算出されてもよい。
式(2)~(4)において、Γω、Γθ、Γσは、探索パラメータであり、適応パラメータによる調整の速さに関するパラメータといえる。また、Proj(θ、y)は、射影作用素であり、次の式(5)に示す値となる。Proj(ω、y)、Proj(σ、y)も同様である。
第3算出部42によって算出された適応パラメータは、次回において推定出力値yaを算出する際の、出力予測モデルA2の適応パラメータとして用いられる。すなわち、第2算出部38は、第3算出部42によって直前に算出された適応パラメータを用いて、出力予測モデルA2を更新する。これにより、最新の適応パラメータを用いて推定出力値yaを算出することが可能となり、外乱を適切に反映して、入力値uを算出できる。
また、第3算出部42によって算出された適応パラメータは、次回において入力値uを算出する際の適応パラメータとして用いられる。すなわち、第1算出部32は、目標出力値rと、直前に算出された適応パラメータとに基づき、入力値uを算出する。以下、具体的に説明する。
ここで、移動体10が理想の挙動を示した場合の出力値は、次の式(6)、(7)に示すものとして扱うことができる。
それに対し、実際の移動体10の挙動は、上述のように、例えば外乱などの環境により、理想的な挙動とは異なることがあり、理想的な挙動からのずれ量(適応パラメータ)も加味した出力値が、式(8)で表されるものとなる。式(9)に示すように、式(8)におけるθ(t)||x(t)||+σ(t)をf(x、t)とすると、このf(x、t)が外乱を示すパラメータとなる。従って、第1算出部32は、式(8)においてf(x、t)を打ち消すようなu(t)を、入力値u(本実施形態では適応入力値ua)として算出する。これにより、外乱の影響を打ち消すような入力値uの設定が可能となり、外乱があったとしても、目標出力値rに適切に追従することが可能となる。
制御装置16は、以上説明した処理を、所定時間毎に実行して、移動体10の移動を制御する。
(制御フロー)
以上説明した制御装置16による移動体10の制御フローを説明する。図4は、本実施形態に係る移動体の制御フローを説明するフローチャートである。図4に示すように、制御装置16は、目標出力値rと、直前に算出された適応パラメータと、直前に算出されたフィードバック差分値とを取得し(ステップS10)、これらに基づき、入力値uを算出する(ステップS12)。そして、制御装置16は、入力値uを制御対象12に入力して移動体10を制御して(ステップS14)、移動体10からの制御出力である出力値yを取得する(ステップS16)。また、制御装置16は、入力値uを出力予測モデルA2に入力して、移動体10の推定出力値yaを算出する(ステップS18)。出力値yを取得し推定出力値yaを算出したら、制御装置16は、出力値yと推定出力値yaとの誤差eyと、第3取得部40によって予め設定された探索パラメータとに基づき、適応パラメータを算出し(ステップS20)、処理を終了する場合には(ステップS22;Yes)、本処理を終了する。処理を終了しない場合には(ステップS22;No)、算出した適応パラメータで出力予測モデルA2を更新しつつ、ステップS10に戻り、処理を続ける。
以上説明した制御装置16による移動体10の制御フローを説明する。図4は、本実施形態に係る移動体の制御フローを説明するフローチャートである。図4に示すように、制御装置16は、目標出力値rと、直前に算出された適応パラメータと、直前に算出されたフィードバック差分値とを取得し(ステップS10)、これらに基づき、入力値uを算出する(ステップS12)。そして、制御装置16は、入力値uを制御対象12に入力して移動体10を制御して(ステップS14)、移動体10からの制御出力である出力値yを取得する(ステップS16)。また、制御装置16は、入力値uを出力予測モデルA2に入力して、移動体10の推定出力値yaを算出する(ステップS18)。出力値yを取得し推定出力値yaを算出したら、制御装置16は、出力値yと推定出力値yaとの誤差eyと、第3取得部40によって予め設定された探索パラメータとに基づき、適応パラメータを算出し(ステップS20)、処理を終了する場合には(ステップS22;Yes)、本処理を終了する。処理を終了しない場合には(ステップS22;No)、算出した適応パラメータで出力予測モデルA2を更新しつつ、ステップS10に戻り、処理を続ける。
(探索パラメータの設定)
次に、第3取得部40による探索パラメータの設定方法について説明する。上述のように、探索パラメータは、適応パラメータを算出するために用いられる係数である。適応パラメータが移動体10の制御時に逐次算出されるのに対し、探索パラメータは、予め設定された固定値となる。
次に、第3取得部40による探索パラメータの設定方法について説明する。上述のように、探索パラメータは、適応パラメータを算出するために用いられる係数である。適応パラメータが移動体10の制御時に逐次算出されるのに対し、探索パラメータは、予め設定された固定値となる。
図5は、探索パラメータの設定を説明するための模式図である。第3取得部40は、詳細予測モデルB1を用いて、探索パラメータを設定する。詳細予測モデルB1は、目標出力値に基づいた入力値と、探索パラメータと、移動体10の移動に関連する変動し得るパラメータである変動パラメータとが入力されたら、移動体10の挙動を模擬する演算を実行して、移動体10の推定出力値を出力するシミュレータ(アルゴリズム)である。目標出力値に基づいた入力値とは、設定された目標出力値を達成可能な入力値を指し、任意の方法で算出されてよい。変動パラメータとは、移動体10が移動する際の未知の環境変化により変動するパラメータであり、例えば、浮力や流体係数などである。詳細予測モデルB1は、出力予測モデルA2と同様に移動体10の推定出力値を算出するものであるが、出力予測モデルA2においては用いられなかった変動パラメータを入力値として用いるため、出力予測モデルA2よりも、推定出力値を高精度に算出可能である。なお、出力予測モデルA2は、移動体10への入力値と探索パラメータと変動パラメータとに基づいて推定出力値を算出可能な任意の構成であってよい。
第3取得部40は、目標出力値に基づいた入力値と、探索パラメータの値と、変動パラメータの値とを選択して、選択した入力値と探索パラメータと変動パラメータとを詳細予測モデルB1に入力して、演算結果としての推定出力値を取得する。第3取得部40は、入力値と探索パラメータと変動パラメータとの少なくとも1つを変化させて、この処理を複数実行することで、複数の推定出力値を取得する。第3取得部40は、詳細予測モデルB1から出力されたそれぞれの推定出力値に基づき、適応パラメータを算出するための探索パラメータを設定する。すなわち、第3取得部40は、詳細予測モデルB1による複数の演算結果に基づいて、好ましい探索パラメータを設定するといえる。
本実施形態では、第3取得部40は、変動パラメータが変化した場合でも、目標出力値に対する推定出力値のずれ度合いが小さくなるような探索パラメータを探索するロバスト処理を用いて、探索パラメータを設定する。以下、ロバスト処理について説明する。
(ロバスト処理)
ロバスト処理においては、第3取得部40は、サロゲート最適化手法を用いて、探索パラメータを設定する。具体的には、第3取得部40は、選択した入力値と探索パラメータと変動パラメータとを詳細予測モデルB1に入力して、演算結果としての推定出力値を取得する。そして、第3取得部40は、推定出力値に基づいて、入力値のベースとなった目標出力値に対する、推定出力値のずれ度合いを算出する。ここでのずれ度合いとは、目標出力値に対する推定出力値のずれ度合いを指すため、変動パラメータや探索パラメータにより、どの程度悪い結果(リスク)となるかの評価値であるといえる。例えば水中航行体の深度を制御する場合には、深度が目標深度の所定範囲内に収まるまでの時間を、ずれ度合いとしてよい。
ロバスト処理においては、第3取得部40は、サロゲート最適化手法を用いて、探索パラメータを設定する。具体的には、第3取得部40は、選択した入力値と探索パラメータと変動パラメータとを詳細予測モデルB1に入力して、演算結果としての推定出力値を取得する。そして、第3取得部40は、推定出力値に基づいて、入力値のベースとなった目標出力値に対する、推定出力値のずれ度合いを算出する。ここでのずれ度合いとは、目標出力値に対する推定出力値のずれ度合いを指すため、変動パラメータや探索パラメータにより、どの程度悪い結果(リスク)となるかの評価値であるといえる。例えば水中航行体の深度を制御する場合には、深度が目標深度の所定範囲内に収まるまでの時間を、ずれ度合いとしてよい。
第3取得部40は、算出したずれ度合いと、演算に用いられた探索パラメータ及び変動パラメータとから、ずれ度合いと探索パラメータと変動パラメータとの対応関係を算出する。第3取得部40は、この対応関係から、次の演算に用いる入力値と探索パラメータと変動パラメータとを選択して、選択した入力値と探索パラメータと変動パラメータとを詳細予測モデルB1に入力して、演算結果としての推定出力値を取得する。なお、対応関係に基づいた、次の演算に用いる入力値と探索パラメータと変動パラメータとの選択方法は、任意であってよいが、例えば、探索パラメータ及び変動パラメータが、直前の値から所定値以上ずれた値を選択してよい。第3取得部40は、新たに算出した推定出力値についてもずれ度合いを算出して、新たに算出したずれ度合いと、新たな演算で用いた探索パラメータ及び変動パラメータとにより、対応関係を更新する。第3取得部40は、例えば所定回数この処理を繰り返して対応関係を更新し続けることで、対応関係を学習させて、ずれ度合いと探索パラメータと変動パラメータとの対応が高精度に反映された対応関係を構築できる。
図5には、算出された対応関係の一例が示されている。図5では、探索パラメータと変動パラメータの組P毎に、詳細予測モデルB1により推定出力値が算出されて、ずれ度合いが算出され、これらの組P毎のずれ度合いに基づき、ずれ度合いと探索パラメータと変動パラメータとの対応関係SMが設定された例が示されている。すなわち、第3取得部40は、複数の組Pでの演算結果に基づき、探索パラメータと変動パラメータとを変数としてずれ度合いを解とする関数としての、対応関係SMを算出しているといえる。
第3取得部40は、この対応関係に基づいて、適応パラメータの算出に用いる探索パラメータを設定する。具体的には、第3取得部40は、対応関係に基づいて、図5の点Qに示すように、探索パラメータを固定しつつ変動パラメータを変化させた際の、それぞれのずれ度合いを算出する。第3取得部40は、算出したこれらのずれ度合いに基づき、適応パラメータを算出するための探索パラメータを設定する。例えば、第3取得部40は、探索パラメータを固定しつつ変動パラメータを変化させた際の、それぞれのずれ度合いのうちの最大値(最もずれ度合いが大きい最悪値)が所定値以下となる探索パラメータを、適応パラメータを算出するための探索パラメータとして設定してよい。また例えば、第3取得部40は、探索パラメータを固定しつつ変動パラメータを変化させた際の、それぞれのずれ度合いの平均値が所定値以下となる探索パラメータを、適応パラメータを算出するための探索パラメータとして設定してよい。このように探索パラメータを設定することで、変動パラメータが変化した場合でも、目標出力値に対する推定出力値のずれ度合いが小さくなるような探索パラメータを選定することが可能となり、例えば未知の外乱があった場合でも、入力値uを高精度に算出できる。
探索パラメータの設定方法は、以上のようなロバスト処理を用いることに限られず、例えば、詳細予測モデルB1による推定出力値の演算処理を複数回実行させて、それらの推定出力値から、任意の方法で探索パラメータを設定してもよい。また例えば、メタヒューリスティック手法を用いて、探索パラメータを設定してもよい。
以上説明したロバスト処理の処理フローを説明する。図6は、ロバスト処理の処理フローを説明するフローチャートである。図6に示すように、制御装置16は、探索パラメータの値と、変動パラメータの値と、目標出力値に基づいた入力値とを選択して(ステップS30)、選択した探索パラメータ、変動パラメータ、及び入力値を詳細予測モデルB1に入力して、推定出力値を算出する(ステップS32)。制御装置16は、算出した推定出力値に基づき、目標出力値に対する推定出力値のずれ度合いを算出し(ステップS34)、探索パラメータと、変動パラメータと、ずれ度合いとの対応関係を算出する(ステップS36)。そして、算出した推定出力値の数(演算回数)が所定値以上であるかを判断し(ステップS38)、所定値未満である場合には(ステップS38;No)、ステップS30に戻り、算出した対応関係に基づき、次の演算に用いる探索パラメータ、変動パラメータ及び入力値を選択して、処理を続けて、対応関係を学習させる。なお、最初の演算に用いる探索パラメータ、変動パラメータ及び入力値は、任意に選択してよい。一方、算出した推定出力値の数が所定値以上である場合には(ステップS38;Yes)、対応関係の算出処理を終了して、算出した対応関係に基づいて、適応パラメータを算出するための探索パラメータを設定する(ステップS39)。
なお、本実施形態では、制御装置16が、探索パラメータを設定していたが、探索パラメータを設定する主体は制御装置16に限られない。例えば、制御装置16以外の装置が探索パラメータを設定し、制御装置16は、その装置により設定された探索パラメータを取得してもよい。
(本制御を用いた場合の出力値)
次に、以上説明した本実施形態による制御を用いた場合の出力値についての、シミュレーション結果について説明する。図7は、出力値のシミュレーション結果の例を示すグラフである。本シミュレーションにおいては、水中航行体である移動体10の深度制御を行う場合を模擬して、移動体10の深度を出力値とした。図7の横軸が時間であり、縦軸が深度(出力値)である。本シミュレーションにおいては、目標出力(目標深度)をD1に設定している際に、ペイロード(重量)が変動した場合の出力値(深度)の変動を模擬した。図7において、線L1が、適応パラメータを用いずに、目標出力値rとフィードバック差分値(差分入力値ub)とを用いて入力値uを算出した場合の深度の変動を示している。線L2、L3は、本実施形態のように、目標出力値rと適応パラメータとを用いて入力値uを算出した場合の深度の変動を示している。なお、線L2は、適応パラメータの算出に用いる探索パラメータを、ロバスト処理を用いずに任意に設定した場合の結果であり、線L3は、適応パラメータの算出に用いる探索パラメータを、ロバスト処理を用いて設定した場合の例である。
次に、以上説明した本実施形態による制御を用いた場合の出力値についての、シミュレーション結果について説明する。図7は、出力値のシミュレーション結果の例を示すグラフである。本シミュレーションにおいては、水中航行体である移動体10の深度制御を行う場合を模擬して、移動体10の深度を出力値とした。図7の横軸が時間であり、縦軸が深度(出力値)である。本シミュレーションにおいては、目標出力(目標深度)をD1に設定している際に、ペイロード(重量)が変動した場合の出力値(深度)の変動を模擬した。図7において、線L1が、適応パラメータを用いずに、目標出力値rとフィードバック差分値(差分入力値ub)とを用いて入力値uを算出した場合の深度の変動を示している。線L2、L3は、本実施形態のように、目標出力値rと適応パラメータとを用いて入力値uを算出した場合の深度の変動を示している。なお、線L2は、適応パラメータの算出に用いる探索パラメータを、ロバスト処理を用いずに任意に設定した場合の結果であり、線L3は、適応パラメータの算出に用いる探索パラメータを、ロバスト処理を用いて設定した場合の例である。
線L1と、線L2、L3とに示すように、適応パラメータを用いることにより、目標深度の所定範囲内に収まるまでの時間が短くなり、入力値を高精度に算出できていることが分かる。また、線L2、L3に示すように、ロバスト処理を用いることにより、目標深度の所定範囲内に収まるまでの時間が更に短くなり、入力値をより高精度に算出できていることが分かる。
(ロバスト処理を用いるかの決定)
第3取得部40は、移動体10の想定される環境変化(適応させたい環境変化)の種類に基づいて、ロバスト処理を用いて探索パラメータを設定するか否かを決定してもよい。第3取得部40は、想定される環境変化が所定条件を満たす場合には、ロバスト処理を用いて探索パラメータを設定すると決定し、想定される環境変化が所定条件を満たさない場合には、ロバスト処理を用いないと決定する。所定条件は任意に設定されてよく、例えば、ユーザにより所定条件を満たすか否かの情報が入力され、第3取得部40は、ユーザによって入力された、所定条件を満たすか否かの情報を取得してよい。第3取得部40は、その情報が、所定条件を満たすものである場合には、想定される環境変化が所定条件を満たすとして、ロバスト処理を用いて探索パラメータを設定すると決定する。一方、第3取得部40は、その情報が、所定条件を満たさないものである場合には、想定される環境変化が所定条件を満たさないとして、ロバスト処理を用いずに探索パラメータを設定すると決定する。
第3取得部40は、移動体10の想定される環境変化(適応させたい環境変化)の種類に基づいて、ロバスト処理を用いて探索パラメータを設定するか否かを決定してもよい。第3取得部40は、想定される環境変化が所定条件を満たす場合には、ロバスト処理を用いて探索パラメータを設定すると決定し、想定される環境変化が所定条件を満たさない場合には、ロバスト処理を用いないと決定する。所定条件は任意に設定されてよく、例えば、ユーザにより所定条件を満たすか否かの情報が入力され、第3取得部40は、ユーザによって入力された、所定条件を満たすか否かの情報を取得してよい。第3取得部40は、その情報が、所定条件を満たすものである場合には、想定される環境変化が所定条件を満たすとして、ロバスト処理を用いて探索パラメータを設定すると決定する。一方、第3取得部40は、その情報が、所定条件を満たさないものである場合には、想定される環境変化が所定条件を満たさないとして、ロバスト処理を用いずに探索パラメータを設定すると決定する。
所定条件は任意に設定されてよいが、環境変化の変化度合いが事前に予測できないと想定される場合に、所定条件を満たすとしてよい。例えば、水中航行体の舵効(移動体10の向きを変化させる制御入力に対する深度の変化度合い)が変動することが想定される場合には、所定条件を満たすとしてよい。舵効は、例えば雨などにより流体係数に変動が生じた場合に変動し、その変動度合いは予測し難い。ロバスト処理を用いることで、環境変化にロバストとなるような探索パラメータを設定できるため、環境変化の変化度合いが事前に予測できない場合に用いることが特に有効となる。
一方例えば、水中航行体のペイロード(重量)が変動することが想定される場合には、所定条件を満たさないと判断してよい。ペイロードは、事前に予測できると想定されるため、その変動度合いは予測し易い。変動度合いが予測し易い場合には、環境変化にロバストとなるような探索パラメータが不要となり、探索パラメータ設定に演算負荷を要するロバスト処理を用いないことで、演算負荷を低減できる。
(設定する探索パラメータの決定)
第3取得部40は、移動体10の想定される環境変化の種類に基づいて、設定する探索パラメータの種類を決定してもよい。すなわち、第3取得部40は、想定される環境変化の種類に応じて、どの探索パラメータを自動設定するかを決めてもよい。例えば、第3取得部40は、想定される環境変化が所定条件を満たす場合において自動設定する探索パラメータの種類を、想定される環境変化が所定条件を満たさない場合において自動設定する探索パラメータの種類よりも、少なくしてもよい。例えば、所定条件を満たす場合には(例えば水中航行体の舵効が変動することが想定される旨が示されている場合には)、Γω、Γθ、Γσ、及びαを、自動設定する探索パラメータとしてよい。また例えば、所定条件を満たさない場合には(例えば水中航行体のペイロードが変動することが想定される旨が示されている場合には)、Γω、Γθ、Γσ、α、ωmax、θmax、及びσmaxを、自動設定する探索パラメータとしてよい。ωmax、θmax、及びσmaxは、適応パラメータのとり得る上限値である。所定条件を満たさずロバストな処理を用いない場合には、演算負荷を低減できるため、自動設定する探索パラメータを増やしても演算負荷が過大となることを抑制できる。
第3取得部40は、移動体10の想定される環境変化の種類に基づいて、設定する探索パラメータの種類を決定してもよい。すなわち、第3取得部40は、想定される環境変化の種類に応じて、どの探索パラメータを自動設定するかを決めてもよい。例えば、第3取得部40は、想定される環境変化が所定条件を満たす場合において自動設定する探索パラメータの種類を、想定される環境変化が所定条件を満たさない場合において自動設定する探索パラメータの種類よりも、少なくしてもよい。例えば、所定条件を満たす場合には(例えば水中航行体の舵効が変動することが想定される旨が示されている場合には)、Γω、Γθ、Γσ、及びαを、自動設定する探索パラメータとしてよい。また例えば、所定条件を満たさない場合には(例えば水中航行体のペイロードが変動することが想定される旨が示されている場合には)、Γω、Γθ、Γσ、α、ωmax、θmax、及びσmaxを、自動設定する探索パラメータとしてよい。ωmax、θmax、及びσmaxは、適応パラメータのとり得る上限値である。所定条件を満たさずロバストな処理を用いない場合には、演算負荷を低減できるため、自動設定する探索パラメータを増やしても演算負荷が過大となることを抑制できる。
なお、この処理を行う場合には、自動設定すると決定された探索パラメータ以外の探索パラメータは、ユーザによって設定されてもよいし、例えば予め設定された値を用いてもよい。
以上説明した決定処理の処理フローの例について説明する。図8は、決定処理の処理フローを説明するフローチャートである。図8に示すように、制御装置16は、想定される環境変化の種類に基づき、自動設定する探索パラメータを決定し(ステップS40)、想定される環境変化の種類に基づき、探索パラメータの設定方法を決定する(ステップS42)。すなわち、制御装置16は、ロバスト処理により探索パラメータを設定するか、ロバスト処理以外の方法により探索パラメータを設定するかを、決定する。ロバスト処理以外の方法は任意であってよいが、例えば、詳細予測モデルB1による推定出力値の演算処理を複数回実行させて、それらの推定出力値から、任意の方法で探索パラメータを設定する方法であってよく、ロバスト処理よりも演算負荷が低い方法が好ましい。制御装置16は、自動設定する探索パラメータと、その設定方法を決定したら、決定した設定方法を用いて、自動設定すると設定した探索パラメータの値を設定する(ステップS44)。
なお、自動設定する探索パラメータの種類の決定と、その設定方法の決定との順番は、図8に示すものに限られず任意であってよい。また、自動設定する探索パラメータの種類の決定処理と、探索パラメータの設定方法の決定処理とは、必須ではなく、これらの決定処理を行わなくてもよいし、これらの決定処理の少なくとも一方を行ってもよい。
(効果)
本開示の第1態様に係る移動体10の制御方法は、移動体10の目標出力値rを取得するステップと、目標出力値rに基づき、移動体10に入力する入力値uを算出するステップと、移動体10に入力値uを入力して、移動体10を制御するステップと、移動体10に入力値uが入力された際の移動体10の出力値yを取得するステップと、移動体10の挙動を模擬する出力予測モデルA2に入力値uを入力して、入力値uが入力された際の移動体10の推定出力値yaを算出するステップと、出力値yと推定出力値yaとの誤差eyと、移動体10の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得するステップと、出力値yと推定出力値yaとの誤差eyと、探索パラメータとに基づいて、適応パラメータを算出するステップと、を含む。入力値uを算出するステップにおいては、目標出力値rと適応パラメータに基づいて、入力値uを算出する。
本開示の第1態様に係る移動体10の制御方法は、移動体10の目標出力値rを取得するステップと、目標出力値rに基づき、移動体10に入力する入力値uを算出するステップと、移動体10に入力値uを入力して、移動体10を制御するステップと、移動体10に入力値uが入力された際の移動体10の出力値yを取得するステップと、移動体10の挙動を模擬する出力予測モデルA2に入力値uを入力して、入力値uが入力された際の移動体10の推定出力値yaを算出するステップと、出力値yと推定出力値yaとの誤差eyと、移動体10の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得するステップと、出力値yと推定出力値yaとの誤差eyと、探索パラメータとに基づいて、適応パラメータを算出するステップと、を含む。入力値uを算出するステップにおいては、目標出力値rと適応パラメータに基づいて、入力値uを算出する。
本開示によると、誤差eyと探索パラメータとを用いて適応パラメータを算出し、適応パラメータに基づき、入力値uを算出する。本開示によると、探索パラメータに基づいて適応パラメータを逐次算出することで、未知の外乱がある場合においても、目標出力値rを達成可能な入力値uを高精度に算出することが可能となる。
本開示の第2態様に係る移動体10の制御方法は、第1態様に係る移動体10の制御方法であって、探索パラメータを取得するステップにおいて、移動体10への入力値uと、探索パラメータと、移動体10の移動に関連する変動し得るパラメータである変動パラメータとを、移動体10の挙動を模擬する詳細予測モデルB1に入力して、詳細予測モデルB1から出力される推定出力値を取得する処理を、探索パラメータ及び変動パラメータの少なくとも1つを変化させつつ複数回実行する。そして、詳細予測モデルB1から出力されたそれぞれの推定出力値に基づき、適応パラメータを算出するための探索パラメータを設定する。本開示によると、詳細予測モデルB1による複数の演算結果に基づいて探索パラメータを設定するため、探索パラメータに基づいた適応パラメータの算出精度を向上させて、目標出力値rを達成可能な入力値uを高精度に算出することが可能となる。
本開示の第3態様に係る移動体10の制御方法は、第1態様又は第2態様に係る移動体10の制御方法であって、探索パラメータを取得するステップにおいては、詳細予測モデルB1から出力されたそれぞれの推定出力値に基づき、目標出力値に対する推定出力値のずれ度合いと、探索パラメータと、変動パラメータとの対応関係を算出し、その対応関係に基づいて探索パラメータを設定するロバスト処理を実行する。本開示によると、ずれ度合いと探索パラメータと変動パラメータとの対応関係に基づいて探索パラメータを設定するため、探索パラメータを設定する際の演算負荷を過大とすることなく、適応パラメータの算出精度を向上させることができる。
本開示の第4態様に係る移動体10の制御方法は、第3態様に係る移動体10の制御方法であって、探索パラメータを取得するステップにおいては、ロバスト処理として、対応関係に基づき、探索パラメータを固定しつつ変動パラメータを変化させた際の、それぞれのずれ度合いを算出し、これらのずれ度合いに基づき、適応パラメータを算出するための探索パラメータを設定する。本開示によると、探索パラメータを固定しつつ変動パラメータを変化させた際のずれ度合いから、探索パラメータを設定するため、例えば外乱(環境変化)に対してロバストな探索パラメータを選定することが可能となり、未知の外乱があった場合にも、入力値uを高精度に算出することが可能となる。
本開示の第5態様に係る移動体10の制御方法は、第3態様又は第4態様に係る移動体10の制御方法であって、探索パラメータを取得するステップにおいては、移動体10の想定される環境変化の種類に基づいて、ロバスト処理を用いて探索パラメータを設定するか否かを決定する。本開示によると、想定される環境変化に応じてロバスト処理を用いるかを決定するため、環境変化に応じて入力値uを適切に算出することが可能となる。
本開示の第6態様に係る移動体10の制御方法は、第1態様から第5態様のいずれかに係る移動体10の制御方法であって、探索パラメータを取得するステップにおいては、移動体10の想定される環境変化の種類に基づいて、設定する探索パラメータの種類を決定する。本開示によると、想定される環境変化に応じて設定する探索パラメータを決定するため、環境変化に応じて入力値uを適切に算出することが可能となる。
本開示の第7態様に係る移動体10の制御方法は、第1態様から第6態様のいずれかに係る移動体10の制御方法であって、推定出力値を算出するステップにおいては、直前に算出された適応パラメータを用いて出力予測モデルA2を更新する。本開示によると、直前に算出された適応パラメータを用いて出力予測モデルA2を更新するため、環境変化に応じて出力予測モデルA2を調整することが可能となり、環境変化に応じて入力値uを適切に算出することが可能となる。
本開示の第8態様に係る移動体10の制御方法は、第1態様から第7態様のいずれかに係る移動体10の制御方法であって、入力値uを算出するステップにおいては、適応パラメータのうちで外乱を示すパラメータを打ち消すように、入力値uを算出する。本開示によると、外乱を示すパラメータを打ち消すように入力値uを算出するため、環境変化に応じて入力値uを適切に算出することが可能となる。
本開示の第9態様に係る移動体10の制御方法は、第1態様から第8態様のいずれかに係る移動体10の制御方法であって、入力値uを算出するステップにおいては、目標出力値rと出力値yとの差分(フィードバック差分値)にも基づき、入力値uを算出する。本開示によると、フィードバック制御と適応パラメータとを用いて入力値uを算出するため、環境変化に対応しつつ目標出力値rを達成可能な入力値uを、適切に算出することが可能となる。
本開示の第10態様に係る移動体10の制御方法は、第1態様から第9態様のいずれかに係る移動体10の制御方法であって、移動体10である水中航行体の深度を制御する。本開示によると、水中航行体の深度を適切に制御できる。
本開示の第11態様に係る移動体10の制御方法は、第1態様から第9態様のいずれかに係る移動体10の制御方法であって、移動体10である船舶の航法を制御する。本開示によると、船舶の航法を適切に制御できる。
以上、本開示の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
10 移動体
12 制御対象
16 制御装置
30 第1取得部
32 第1算出部
34 移動制御部
36 第2取得部
38 第2算出部
40 第3取得部
42 第3算出部
r 目標出力値
u 入力値
y 出力値
12 制御対象
16 制御装置
30 第1取得部
32 第1算出部
34 移動制御部
36 第2取得部
38 第2算出部
40 第3取得部
42 第3算出部
r 目標出力値
u 入力値
y 出力値
Claims (14)
- 移動体の目標出力値を取得するステップと、
前記目標出力値に基づき、前記移動体に入力する入力値を算出するステップと、
前記移動体に前記入力値を入力して、前記移動体を制御するステップと、
前記移動体に前記入力値が入力された際の前記移動体の出力値を取得するステップと、
前記移動体の挙動を模擬する出力予測モデルに前記入力値を入力して、前記入力値が入力された際の前記移動体の推定出力値を算出するステップと、
前記出力値と前記推定出力値との誤差と、前記移動体の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得するステップと、
前記出力値と前記推定出力値との誤差と、前記探索パラメータとに基づいて、前記適応パラメータを算出するステップと、を含み、
前記入力値を算出するステップにおいては、前記目標出力値と前記適応パラメータに基づいて、前記入力値を算出する、
移動体の制御方法。 - 前記探索パラメータを取得するステップにおいては、
前記移動体への入力値と、前記探索パラメータと、前記移動体の移動に関連する変動し得るパラメータである変動パラメータとを、前記移動体の挙動を模擬する詳細予測モデルに入力して、前記詳細予測モデルから出力される推定出力値を取得する処理を、前記探索パラメータ及び前記変動パラメータの少なくとも1つを変化させつつ複数回実行し、
前記詳細予測モデルから出力されたそれぞれの前記推定出力値に基づき、前記適応パラメータを算出するための前記探索パラメータを設定する、請求項1に記載の移動体の制御方法。 - 前記探索パラメータを取得するステップにおいては、
前記詳細予測モデルから出力されたそれぞれの前記推定出力値に基づき、前記目標出力値に対する前記推定出力値のずれ度合いと、前記探索パラメータと、前記変動パラメータとの対応関係を算出し、前記対応関係に基づいて前記探索パラメータを設定するロバスト処理を実行する、請求項2に記載の移動体の制御方法。 - 前記探索パラメータを取得するステップにおいては、前記ロバスト処理として、前記対応関係に基づき、前記探索パラメータを固定しつつ前記変動パラメータを変化させた際の、それぞれの前記ずれ度合いを算出し、これらの前記ずれ度合いに基づき、前記適応パラメータを算出するための前記探索パラメータを設定する、請求項3に記載の移動体の制御方法。
- 前記探索パラメータを取得するステップにおいては、前記移動体の想定される環境変化の種類に基づいて、前記ロバスト処理を用いて前記探索パラメータを設定するか否かを決定する、請求項3又は請求項4に記載の移動体の制御方法。
- 前記探索パラメータを取得するステップにおいては、前記移動体の想定される環境変化の種類に基づいて、設定する前記探索パラメータの種類を決定する、請求項1から請求項4のいずれか1項に記載の移動体の制御方法。
- 前記推定出力値を算出するステップにおいては、直前に算出された前記適応パラメータを用いて前記出力予測モデルを更新する、請求項1から請求項4のいずれか1項に記載の移動体の制御方法。
- 前記入力値を算出するステップにおいては、前記適応パラメータのうちで外乱を示すパラメータを打ち消すように、前記入力値を算出する、請求項1から請求項4のいずれか1項に記載の移動体の制御方法。
- 前記入力値を算出するステップにおいては、前記目標出力値と前記出力値との差分にも基づき、前記入力値を算出する、請求項1から請求項4のいずれか1項に記載の移動体の制御方法。
- 前記移動体である水中航行体の深度を制御する、請求項1から請求項4のいずれか1項に記載の移動体の制御方法。
- 前記移動体である船舶の航法を制御する、請求項1から請求項4のいずれか1項に記載の移動体の制御方法。
- 移動体の目標出力値を取得する第1取得部と、
前記目標出力値に基づき、前記移動体に入力する入力値を算出する第1算出部と、
前記移動体に前記入力値を入力して、前記移動体を制御する移動制御部と、
前記移動体に前記入力値が入力された際の前記移動体の出力値を取得する第2取得部と、
前記移動体の挙動を模擬する出力予測モデルに前記入力値を入力して、前記入力値が入力された際の前記移動体の推定出力値を算出する第2算出部と、
前記出力値と前記推定出力値との誤差と、前記移動体の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得する第3取得部と、
前記出力値と前記推定出力値との誤差と、前記探索パラメータとに基づいて、前記適応パラメータを算出する第3算出部と、を含み、
前記第1算出部は、前記目標出力値と前記適応パラメータに基づいて、前記入力値を算出する、
移動体の制御装置。 - 請求項12に記載の前記制御装置を有する、移動体。
- 移動体の目標出力値を取得するステップと、
前記目標出力値に基づき、前記移動体に入力する入力値を算出するステップと、
前記移動体に前記入力値を入力して、前記移動体を制御するステップと、
前記移動体に前記入力値が入力された際の前記移動体の出力値を取得するステップと、
前記移動体の挙動を模擬する出力予測モデルに前記入力値を入力して、前記入力値が入力された際の前記移動体の推定出力値を算出するステップと、
前記出力値と前記推定出力値との誤差と、前記移動体の挙動を示す適応パラメータとの対応関係を示す係数である探索パラメータを取得するステップと、
前記出力値と前記推定出力値との誤差と、前記探索パラメータとに基づいて、前記適応パラメータを算出するステップと、をコンピュータに実行させるプログラムであって、
前記入力値を算出するステップにおいては、前記目標出力値と前記適応パラメータに基づいて、前記入力値を算出する、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022080903A JP2023169655A (ja) | 2022-05-17 | 2022-05-17 | 移動体の制御方法、移動体の制御装置、移動体及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022080903A JP2023169655A (ja) | 2022-05-17 | 2022-05-17 | 移動体の制御方法、移動体の制御装置、移動体及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023169655A true JP2023169655A (ja) | 2023-11-30 |
Family
ID=88924142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022080903A Pending JP2023169655A (ja) | 2022-05-17 | 2022-05-17 | 移動体の制御方法、移動体の制御装置、移動体及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023169655A (ja) |
-
2022
- 2022-05-17 JP JP2022080903A patent/JP2023169655A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10852748B2 (en) | Methods and apparatus to perform observer-based control of a vehicle | |
US9676464B2 (en) | Stabilized directional control systems and methods | |
JP7297155B2 (ja) | マシンの動作を制御するためのシステムおよびコンピュータ実施方法 | |
JP2019087096A (ja) | 行動決定システム及び自動運転制御装置 | |
CN111273544B (zh) | 基于预测rbf前馈补偿型模糊pid的雷达俯仰运动控制方法 | |
CN105314094A (zh) | 飞机操纵面的闭环控制 | |
JP6779035B2 (ja) | 制御装置、水中航走体、制御方法およびプログラム | |
WO2022044191A1 (ja) | 調整システム、調整方法および調整プログラム | |
CN110377034A (zh) | 一种基于蜻蜓算法优化的水面船轨迹跟踪全局鲁棒滑模控制方法 | |
JP2021002248A (ja) | 摩擦補償装置 | |
CN113467231A (zh) | 基于侧滑补偿ilos制导律的无人艇路径跟踪方法 | |
Zhang et al. | Low-level control technology of micro autonomous underwater vehicle based on intelligent computing | |
KR102093744B1 (ko) | 항공기 세로축 안정성 및 비행성 충족을 위한 파라미터 최적화 방법 | |
WO2023013212A1 (en) | System and method for calibrating feedback controllers | |
US20190258228A1 (en) | Method and System for Devising an Optimum Control Policy | |
JP2023169655A (ja) | 移動体の制御方法、移動体の制御装置、移動体及びプログラム | |
KR102623952B1 (ko) | 선수각 제어 방법 | |
Lakhekar et al. | Dynamic fuzzy sliding mode control of underwater vehicles | |
WO2022030346A1 (ja) | 制御支援装置、制御システム及び制御支援方法 | |
CN110737278A (zh) | 机器人镇定控制方法、装置、存储介质及巡检机器人 | |
KR20200029160A (ko) | 각가속도 정보를 이용한 비행체 제어방법 | |
JP7435847B1 (ja) | 制御装置及び制御方法 | |
JP7000952B2 (ja) | 車両の走行を制御する制御装置、制御方法、及び、制御プログラム | |
JP5639428B2 (ja) | 船舶用自動操舵装置 | |
US11977374B2 (en) | System and method for calibrating feedback controllers |