JP7257980B2 - コントローラ、車両、方法、および非一時的なコンピュータ読み取り可能記憶媒体 - Google Patents

コントローラ、車両、方法、および非一時的なコンピュータ読み取り可能記憶媒体 Download PDF

Info

Publication number
JP7257980B2
JP7257980B2 JP2020027691A JP2020027691A JP7257980B2 JP 7257980 B2 JP7257980 B2 JP 7257980B2 JP 2020027691 A JP2020027691 A JP 2020027691A JP 2020027691 A JP2020027691 A JP 2020027691A JP 7257980 B2 JP7257980 B2 JP 7257980B2
Authority
JP
Japan
Prior art keywords
control
mpc
solution
discrete
state
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
JP2020027691A
Other languages
English (en)
Other versions
JP2020149677A5 (ja
JP2020149677A (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 Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JP2020149677A publication Critical patent/JP2020149677A/ja
Publication of JP2020149677A5 publication Critical patent/JP2020149677A5/ja
Application granted granted Critical
Publication of JP7257980B2 publication Critical patent/JP7257980B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0097Predicting future conditions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/041Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a variable is automatically adjusted to optimise the performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0022Gains, weighting coefficients or weighting functions
    • B60W2050/0024Variable gains

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Feedback Control In General (AREA)

Description

本開示は、一般にモデル予測制御に関し、より特定的には、連続的動作要素と離散的動作要素とを有するシステムのモデル予測制御のための方法および装置に関する。
背景
モデル予測制御(MPC)などの最適化に基づく制御および推定技術は、システムダイナミクスおよび制約を直接考慮することができる、モデルに基づく設計フレームワークを可能にする。MPCは、さまざまな複雑さの動的システムを制御するために多くの用途で用いられる。このようなシステムの例には、生産ライン、自動車エンジン、ロボット、数値制御された機械加工、衛星、発電機が含まれる。
MPCは、システムのモデルの実時間有限区間最適化に基づく。MPCは、将来のイベントを予測し、適切な制御アクションを実行する能力を有する。これは、制約に従って将来の有限の時間区間にわたってシステムの動作を最適化し、現在の時間ステップにわたってのみ制御を実現することによって、達成される。
MPCは、制御変数における変化によって引き起こされるモデル化されたシステムの状態変数における変化を予測することができる。状態変数は、システムの状態を定義する。つまり、制御対象システムの状態は、任意の時点において制御システムの状態全体を表すことができる、制御システムの状態空間表現における状態変数の最小集合である。たとえば、制御対象システムが自律型車両の場合、状態変数には車両の位置、速度、および方位が含まれてもよい。制御変数は、マシンの状態を変更するよう設計されたシステムへの入力である。たとえば、化学プロセスでは、制御変数は、圧力、流量、温度、バルブの開度、ダンパーの剛性であることが多い。これらのプロセスにおける状態変数は、制御目的またはプロセスの制約を表す他の測定値である。
MPCは、システムのモデル、現在のシステムの測定値、プロセスの現在の動的状態、ならびに状態および制御制約を用いて、状態変数における将来の変化を計算する。これらの変化は、状態変数を制御変数および状態変数の両方における制約に従って目標の近くに保持するために計算される。MPCは典型的には、実現されるべき各制御変数における最初の変更のみを送信し、次の変更が必要になったときに計算を繰り返す。
MPCフレームワークは、システム、性能指標および/または制御の目的のダイナミクスを記述するモデル、目的および/または制約における連続変数および離散変数の両方を含む連続的動作要素と離散的動作要素とを有するハイブリッドシステムにさらに拡張することができる。このような拡張機能は、たとえばモード切り替えもしくは量子化された制御を伴う動的システム、論理規則を伴う問題、または立入禁止ゾーン制約などの広範な問題をモデル化する強力な手法を提供することができる。しかしながら、結果として生じる最適化問題は、非常に非凸であるため、実際に解くことは困難である。MPCは連続空間で動作するように設計されているが、離散変数は特定の集合の典型的整数値しかとれない。二次目的を線形システムダイナミクスおよび線形不等式制約と組み合わせて用いる場合、結果の最適制御問題(OCP)は、混合整数モデル予測制御(MI-MPC)法を実現するために解く必要がある混合整数二次計画(MIQP)として定式化することができる。
MPC数値法は、所与のシステム用に具体的に設計されることが多いさまざまな計算装置で実施される。計算装置は、安価な固定小数点精度組込みコントローラから、高度なマルチコア中央処理装置(CPU)、グラフィック処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、または専用並列コンピュータクラスタにまで及ぶ。しかしながら、MPCのハイブリッドシステムへの拡張は、余分な計算を要求する。ハイブリッドMPCコントローラは、移動区間最適化の実行に加えて、サンプリング時刻ごとにこのような混合整数(MI)計画を解くことを目的とする。これは難しい組み合わせ作業であり、なぜならば、混合整数計画は一般にNP困難であるからである。
多くの実際の適用においては、計算能力が限定された組み込み制御システム上にMI-MPCを実現する必要がある。組み込み制御システムは、より大きな機械的または電気的なシステム内における、専用機能を備えた、プログラミングされた制御およびオペレーティングシステムであり、多くの場合、実時間計算制約を伴う。それは、多くの場合、ハードウェアおよび機械部品を含む完全なデバイスの一部として組み込まれている。汎用の制御システムと比較した場合の典型的な組み込み制御システムの特性の例は、低消費電力、小型、堅牢な動作範囲、およびユニットあたりの低コストである。これには、限られた処理リソースの代償が伴い、それにより、組み込みシステムはプログラミングおよび対話が困難になる。
MI-MPCコントローラの複雑さのため、実時間制御用に構成された組み込み制御システム上にそのようなコントローラを実現することは困難である。たとえば、我々の知る限り、典型的には現在の高度な運転者支援システム(ADAS)によって用いられる認定済みの組み込み制御ハードウェア上で、自律車両などの複雑な動的なシステムのためにMI-MPCを実現することは、実用的ではない。
したがって、制限された計算リソースおよび利用可能なメモリでマイクロプロセッサ上において実行される組み込みMI-MPC適用例のための調整された最適化およびソルバー実現が必要である。
概要
いくつかの実施形態は、現在のMPCソルバーは混合整数モデル予測制御(MI-MPC)問題を解くのには不適切である、という認識に基づく。これは、MPCソルバーが、ある制御区間にわたる連続状態および制御空間内での最適化のために設計されるからである。しかしながら、システムを制御するための制御入力などの、最適化変数の一部が、値の離散集合に属する値をとる離散変数である場合、最適解の探索空間は連続的ではない。
いくつかの実施形態は、MI-MPCの解は2つの段階を含む、という認識に基づく。第1の段階は、解に属する可能性のある、および/または解に至る可能性がある、離散変数の異なる値の探索を含む探索段階である。たとえば、探索段階の目的は、離散最適解を含む可能性のある緩和探索空間の連続部分を見つけることである。第2の段階は、探索段階で特定された緩和探索空間の連続部分内でMPC問題を解くことを含む最適化段階である。探索段階は、通常は、離散変数の値のさまざまな組み合わせを試行して、緩和された連続探索空間の複数の部分を見つける反復プロセスである。最適化段階は、緩和された連続探索空間の各部分および/または探索段階で選択された離散変数の組み合わせに対して実行される。したがって、MI-MPC問題の解には、通常、MPC問題の複数の解が含まれる。MI-MPC問題は制御ステップごとに解く必要があるため、制御ステップごとにおそらくは多数のMPC問題を解くことは、特に組み込みシステムのマイクロプロセッサの場合、計算上困難である。
たとえば、0または1の値を有する1つの離散変数のみを有する制御下のシステムを考える。この例では、0に等しい変数の値に対する1つのMPC問題、および1に等しい変数の値に対する別のMPC問題、の2つのMPC問題を定式化して解くのは比較的簡単である。これら2つのMPC問題の各々は、MPC問題の目的関数に従って性能指標を最適化することを目的としている。単一の離散変数の固定値では、これらのMPC問題の両方に、連続状態および制御空間内の最適化が含まれる。これら2つのMPC問題の解を相互に比較し、より最適な解、つまり性能指標の値がより良い解を、最終的なMI-MPC問題の解として選択することができる。
しかしながら、実際の適用例では、かなりの数の離散変数を有し得る。たとえMI-MPC問題がほんのわずかな数の離散変数しか含まない場合であっても、これらの各離散変数はMPC予測区間の各時間ステップにおいて異なる値であり得、その結果、混合整数計画全体において比較的多数の離散変数が生じる結果となる。これらの離散変数の値の可能な組み合わせは指数関数的に増大し、各制御ステップで膨大なまたは手に負えない数のMPC問題を解く必要が生じ得る。いくつかの実施形態は、MI-MPCソルバーの計算負荷を軽減するためには、離散最適解を見つけるために検査する必要がある離散変数の値の潜在的な組み合わせの数を低減する必要がある、という認識に基づく。
いくつかの実施形態は、システムの状態変数に対する制約など、制御下のシステムの動作に対する制約は、緩和MPC問題の求解中に実施される、という認識に基づく。MPCの利点の1つは、最適解を見つける際にシステムの制約を強制できることであるため、これは驚くべきことではない。したがって、MI-MPCソルバーが最適化段階の間に状態制約を用いて、緩和MPC問題を状態制約に従って解くのは自然である。
しかしながら、いくつかの実施形態では、状態制約は、MI-MPCの問題に対する解を見つけるために解くべき緩和MPC問題の数を低減するために、探索段階でも用いることができる、という認識に基づく。一見すると、探索空間は、システムへの制御入力など、最適化変数のために定義され、状態変数は、対象の探索空間の外にある。しかしながら、いくつかの実施形態は、システムの現在の状態および状態制約に対する制御入力の許容値の強い依存性がある、という認識に基いている。したがって、システムの現在の状態ごとに、状態制約を制御入力の制約に変換して、探索空間を厳密にし、それによって、MI-MPC問題の解を見つけるために解かれるMPC問題の数を低減することができる。
たとえば、いくつかの実施形態では、状態制約を、システムへの制御入力に対する状態不変制御制約に変換し、状態制約および状態不変制御制約に従ってMI-MPC問題を解く。本明細書で用いられる場合、状態不変制御制約は、状態不変制御制約を満たす制御入力の値の任意の組み合わせが、状態制約を満たす一連の状態変数の値をもたらすようなものである。したがって、状態不変制御制約は、等価または保守的、つまり、システムの特定の現在の状態および離散変数のいくつかの値の特定の組み合わせに対する状態制約の過剰表現である必要がある。実際には、これらの追加の状態不変制御制約は、各制御時間ステップについて解かれるべきMPC問題の数を低減することを可能にし、それは、次いで、MI-MPCソルバーのための計算要件を低減し、そのようなソルバーを組み込み制御システムのマイクロプロセッサ上で実現することを可能にする。
たとえば、0または1の値を有する2つの離散制御入力を受け入れる制御システムを考えてみる。状態不変制御制約が、第1の制御入力の値が.3より大きいことを指定する場合、それは、第1の制御入力の値が1であることを意味し、制御入力の異なる値の組み合わせの数が大幅に低減される。
この目的のため、一実施形態は、システムへの制御入力の少なくとも部分集合について、状態不変制御制約を満たす、異なる値の複数の組み合わせを選択し、制御入力の異なる値の各組み合わせについてMPC問題を解いて、MPC問題の目的関数に従って性能指標を最適化する緩和MPC解の集合を生成し、性能指標の最適値に対応する緩和MPC解の集合からMI-MPC問題の解を選択する。この実施形態は、システムを制御するためにMI-MPC解を用いてコントローラの計算負荷を軽減するために離散変数の可能な値の集合を選択する組み合わせ問題を単純にする。
加えて、または代替的に、いくつかの実施形態では、状態不変制御制約を、MI-MPC問題に対する最適解の探索空間を削減することができるいくつかの追加の方法と組み合わせることができる、という認識に基づく。たとえば、いくつかの実施形態は、制御入力に対する値の離散集合の連続探索空間への緩和により定義される探索空間内でMI-MPC問題の解を探索する分枝限定法を用いる。分枝限定法は、制御入力の断片化された探索空間を過剰に包含的な連続空間にマージし、その空間を通ってナビゲートし、最適解の目的値の下限と上限とを計算して、MI-MPC問題の最適解を見つけるために解く必要があるMPC問題の数をさらに低減する。
たとえば、0または1の値を有する2つの離散制御入力を受け入れる制御システムを考えてみる。0と1との間の第1の制御入力の値および第2の制御入力の0の値に対する緩和MPC問題の解が、0と1との間の第1の制御入力の値および第2の制御入力の1の値に対するMPC問題の解よりも最適でない場合、0の第2の制御入力および0または1の第1の制御入力に対するMPC問題の解の最適性を検査する必要はない。緩和MPC解の以前の比較は、これらの解が最適ではないだろうということを示す。
そのために、一実施形態は、状態不変制御制約を満たす連続探索空間の一部への値の離散集合の緩和により定義される探索空間内でMPC問題の解を探索する分枝限定法でMI-MPC問題を解く。実際、この実施形態は、分枝限定法の探索空間を厳密にして、コントローラの計算負荷を軽減する。たとえば、ある実現例では、分枝限定法は、値の離散集合に属するMPC問題の解が見つかるまで、探索空間を反復して分割する。状態不変制御制約は探索空間を厳密にして、最適解を見つけるために解かれるMPC問題の数を低減する。一部の実現例では、各MPC問題は、状態不変制御制約による状態制約の近似を考慮するよう、状態制約と制御制約との両方に従って解かれる。
追加的または代替的に、いくつかの実施形態は、基底のMPC問題の効率的な解を提供することにより、MI-MPC問題の計算の複雑さをさらに低減することができる。たとえば、いくつかの実施形態は、問題スパース性を用いて分枝限定法における連続最適化問題緩和を効率的に解くことができるように、ブロックスパース混合整数最適制御問題を解いてハイブリッドシステムのためのMPCを実現することを目的としている。
いくつかの実施形態は、ブロックスパース混合整数最適制御問題は、MPC制御区間の瞬間にわたって、他の状態および制御入力変数のいくつかについてはより厳しい制約を構築するために直接用いることができない、状態変数および制御入力変数のいくつかに対する分離可能な制約をもたらす、という認識に基づく。したがって、いくつかの実施形態は、特定の瞬間での状態変数を、初期状態値の関数として、およびMPC制御区間における以前のすべての瞬間でのすべての制御入力変数の関数として書くことにより、各状態制約を変換する。たとえば、いくつかの実施形態では、特定の瞬間における特定の状態変数に対する境界制約は、システムダイナミクスに基づく逆伝播の使用により、以前のすべての瞬間におけるすべての制御入力変数に対する制約として変換することができる。
しかしながら、いくつかの実施形態は、状態制約を以前の瞬間での制御入力変数の関数として再定式化することは、MPC制御区間における異なる時点での最適化変数間の結合を導入する、という認識に基づいており、それは、分枝限定法における連続最適化問題緩和の効率的な解決を可能にする問題スパース性を破壊する。したがって、いくつかの実施形態では、状態不変制御制約の一部がMPC問題の制御区間の一部またはすべての瞬間について互いに結合される場合、状態不変制御制約を分離して探索空間を形成する。
たとえば、一部の実現例は、MPC制御区間における異なる瞬間におけるすべての制御入力変数を結合する再定式化された制約から開始して、個々の制御入力変数の各々に対する新たでありかつ分離可能な状態不変制約を導出するために、ドメイン伝播手順を実行する。いくつかの実施形態は、これらの新たに導出された状態不変制御境界制約を用いて、連続状態および制御入力変数に対する既存の制約を厳しくすることにより、またはおそらくは特定の離散状態および/もしくは制御入力変数をそれらの許容値の離散集合の1つに固定することによって、分枝限定法における連続最適化問題緩和を強化できる、という認識に基づく。実際、これらの制約により、MPC問題のスパース性を維持しながら、解くべきMPC問題の数が低減される。
加えて、または代替的に、いくつかの実施形態は、ハイブリッドシステムのモデル予測制御の、ある実現例は、離散解法で得られる情報の一部を1つの制御時間ステップから次の制御時間ステップに再利用することができるように、各制御時間ステップにおいて混合整数計画問題の解を必要とする、という認識に基づく。より具体的には、いくつかの実施形態は、探索木の枝を剪定するために用いることができる新たな境界値をより速く見つけるために、MPCをハイブリッドシステムに適用する、以前の時間ステップからの、解パスを時間シフトしたものを含む、ウォームスタート分枝限定木を構築する。そのために、いくつかの実施形態は、現在の制御ステップに対する、領域からなる入れ子木についてのMPC問題の最適解を、以前の制御ステップに対して決定された、領域からなる入れ子木についてのMPC問題の最適解の時間伝播で初期化する。
たとえば、一実施形態では、以前の制御時間ステップで分枝限定法によって収集された擬似コスト情報に基づいて、ウォームスタート木における分枝順の再順序付けを行う。別の実施形態では、分枝判断が、最近および/または十分に分枝されていない変数に対応する場合には、その分枝判断を、ウォームスタート木から除外する。さらに別の実施形態では、分枝限定法において連続最適化問題緩和の各々をより効率的に解くために、ウォームスタート解推測を与えるよう、データに基づく学習を用いる。
加えて、または代替的に、いくつかの実施形態の目的は、システム、性能指標、および制御問題をそれぞれ記述する、モデル、目的、および制約において連続変数および離散変数の両方を含むハイブリッドシステムのためのモデル予測制御を実現するために、混合整数計画を用いることである。いくつかの実施形態では、システムを制御するための制御変数の少なくともある部分集合は、離散値のみをとる。一部の適用例では、離散値は二値である。たとえば、空調システムの制御弁はONまたはOFFのいずれかであり得る。一部の適用例では、離散値は3つ以上の値をとり得る。たとえば、自動車のギアシフトは、最大5つのまたは6つの異なる値を有することができる。いくつかの適用例では、制御入力の離散値はさまざまな装置の物理的状態を直接支配する。たとえば、二値制御コマンドは、衛星のスラスタを動作または停止することができる。一部の適用例では、制御入力の離散値はさまざまな装置の物理状態を間接的に支配する。たとえば、制御コマンドの整数値は、電力増幅器のパルス幅変調を制御することができる。一部の適用例では、制御入力の離散値は整数値である。代替的適用例では、制御入力の離散値は整数ではないが、整数値として符号化することができる。たとえば、任意の所与の瞬間に自律型車両が実行できるアクションまたは目的の数は限られている。これらの目的は、整数値として符号化され、車両の動きを制御するために、いくつかの実施形態のMI-MPCソルバーによって用いられることができる。
したがって、一実施形態は、連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラを開示し、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数である。前記コントローラはプロセッサを含み、前記プロセッサは、前記システムの現在の状態の測定値を受け入れ、各制御ステップの混合整数モデル予測制御(MI-MPC)問題を解いて前記システムへの制御入力を生成し、前記制御入力を前記システムに提示することにより前記システムの状態を変更するように構成される。前記プロセッサは、前記システムの状態に対する状態制約に従って前記MI-MPC問題を解き、現在の制御ステップに対して、前記プロセッサは、前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換し、前記状態制約と前記状態不変制御制約とに従って前記MI-MPC問題を解くように構成される。
別の実施形態は、連続的動作要素と離散的動作要素とを有するシステムを制御するための方法であって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記方法は、前記方法を実現する格納された命令と結合されるプロセッサを用い、前記命令は、前記プロセッサによって実行されると、前記方法の少なくともいくつかのステップを実行し、前記ステップは、前記システムの状態の測定値を受け入れることと、前記システムの状態に対する状態制約に従って混合整数モデル予測制御(MI-MPC)問題を解いて前記システムへの制御入力を生成することと、前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを含む。前記MI-MPC問題を解くことは、前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、前記状態制約と前記状態不変制御制約とに従って前記MI-MPC問題を解くこととを含む。
さらに別の実施形態は、方法を実行するためにプロセッサによって実行可能なプログラムが具現化された非一時的なコンピュータ読み取り可能記憶媒体を開示する。前記方法は、前記システムの状態の測定値を受け入れることと、前記システムの状態に対する状態制約に従って混合整数モデル予測制御(MI-MPC)問題を解いて前記システムへの制御入力を生成することと、前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを備える。前記MI-MPC問題を解くことは、前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、前記状態制約と前記状態不変制御制約とに従って前記MI-MPC問題を解くこととを含む。
いくつかの実施形態による予測コントローラおよびフィードバックシステムのブロック図である。 本開示のいくつかの実施形態に従って、CPUプロセッサおよびメモリならびにフィードバックシステムを用いて実現されるコントローラのブロック図である。 いくつかの実施形態に従って、ハイブリッド制御システムを実現するための混合整数モデル予測制御(MI-MPC)法のブロック図である。 いくつかの実施形態に従って、最適制御構造化混合整数二次計画(MI-QP)を解くことによりハイブリッド制御システムを実現するためのMI-MPC法のブロック図である。 整数制御変数探索段階と整数緩和最適化段階との間の相互作用、および探索段階の効率を改善するための不等式制約の変換のブロック図である。 整数実行可能制御解の探索領域の入れ子木を表す二値制御変数探索木の例を示す概略図である。 探索領域からなる入れ子木および対応する下限値/上限値に基づいて整数実行可能最適制御解を探索するための分枝限定混合整数最適化アルゴリズムのブロック図である。 探索領域からなる入れ子木および対応する下限値/上限値に基づいて整数実行可能最適制御解を探索するための分枝限定混合整数最適化アルゴリズムの擬似コードの図である。 ブロックスパース最適制御構造化問題定式化が与えられると、密な混合整数二次計画(MIQP)を計算する数値凝縮方法のブロック図である。 整数緩和MPC解のための最適性条件のブロックスパース最適制御構造化システムの例を示す概略図である。 状態依存不等式制約の所与の集合についてのドメイン伝播に基づく分離された厳しい状態不変制御入力制約を計算する境界強化方法のブロック図である。 ドメイン伝播に基づく分離された厳しい状態不変制御入力制約を計算する境界強化方法の擬似コードの図である。 整数制御変数探索段階で離散制御入力変数を選択するための信頼性分枝戦略の擬似コードの図である。 ある制御時間ステップから次の制御時間ステップへの二値制御変数探索木の、木伝播に基づくウォームスタート戦略の概略図である。 ある制御時間ステップから次の制御時間ステップへの二値制御変数探索木の、木伝播に基づくウォームスタート戦略の擬似コードの図である。 木伝播に基づくウォームスタート戦略と組み合わせた混合整数モデル予測制御に基づくハイブリッドシステムの予測コントローラの擬似コードの図である。 以前の制御時間ステップからのMI-MPC解データに基づく、整数緩和最適化段階でのMPCソルバーのウォームスタート戦略のブロック図である。 離散制御変数の固定に対応する整数緩和MPC問題の双対を解くための最適化の反復の部分集合に基づく、MI-MPCの求解後法のブロック図である。 いくつかの実施形態の原理を採用するコントローラを含む車両の概略図である。 いくつかの実施形態の原理を採用するコントローラといくつかの実施形態による車両1201のコントローラとの間の相互作用の概略図である。 いくつかの実施形態の原理を採用する制御対象車両の経路および/または運動計画方法の概略図である。 本開示のいくつかの実施形態の原理を採用する宇宙機混合整数予測制御問題定式化の概略図である。 本開示のいくつかの実施形態の原理を採用する宇宙機混合整数予測制御問題定式化の概略図である。 本開示のいくつかの実施形態の原理を採用する、蒸気圧縮システム(VCS)のための混合整数予測制御問題定式化、およびその構成要素の例示的な組の概略図である。 本開示のいくつかの実施形態の原理を採用する、蒸気圧縮システム(VCS)のための混合整数予測制御問題定式化、およびその構成要素の例示的な組の概略図である。
詳細な記載
本開示のいくつかの実施形態は、システムの動作を制御するためのシステムおよび方法または予測コントローラを用いるシステムを提供する。予測コントローラの例は、制御対象システムのモデルに基づいて制御入力を決定するモデル予測制御(MPC)である。
図1は、いくつかの実施形態による状態推定器130を介して予測コントローラ110に接続された例示的なシステム120を示す。いくつかの実現例では、予測コントローラは、システムの動的モデル102に従ってプログラムされたMPCコントローラである。モデルは、システム120の状態および出力103の変化を経時的に現在および以前の入力111ならびに以前の出力103の関数として表す方程式の組であり得る。モデルは、システムの物理的および動作上の制限を表す制約104を含むことができる。動作中、コントローラは、システムの望ましい振る舞いを示すコマンド101を受け取る。コマンドは、たとえば、モーションコマンドとすることができる。コマンド101の受信に応答して、コントローラはシステムの入力となる制御信号111を生成する。入力に応答して、システムはシステムの出力103を更新する。システム103の出力の測定に基づいて、推定器はシステムの推定状態121を更新する。システムのこの推定状態121は、コントローラ110に状態フィードバックを提供する。
システム120は、本明細書で言及されるように、おそらく電圧、圧力、力、トルクなどの物理量に関連付けられる特定の操作入力信号111(入力)によって制御され、おそらく以前の状態から現在の状態へのシステムの状態の遷移を示す電流、流量、速度、位置などの物理量に関連付けられる何らかの制御された出力信号103(出力)を返す、任意の機械または装置とすることができる。出力値は、一部はシステムの以前の出力値に、一部は以前および現在の入力値に関係している。以前の入力および以前の出力への依存性は、システムの状態に符号化される。システムの動作、たとえばシステムのコンポーネントの動きは、特定の入力値の適用に続いてシステムによって生成される一連の出力値を含むことができる。
システム102のモデルは、現在および以前の入力ならびに以前の出力の関数として、システム出力が時間とともにどのように変化するかを記述する数式の組を含むことができる。システムの状態は、たとえば、システムのモデルおよび未来の入力とともに、システムの未来の動きを一意に定義できる、現在および以前の入力ならびに出力の適切な部分集合など、一般に時変である任意の情報の集合である。
システムは、出力、入力、およびおそらくはシステムの状態も動作することを許可される範囲を制限する物理的制限ならびに仕様制約104の影響を受け得る。
コントローラ110は、ハードウェアで、または固定もしくは可変の制御周期サンプリング間隔でシステムの推定状態121および所望の運動コマンド101を受け取るマイクロプロセッサなどのプロセッサで実行されるソフトウェアプログラムとして実現することができる。
推定器130は、ハードウェアで、またはコントローラ110と同じであるかもしくは異なるプロセッサのいずれかのプロセッサで実行されるソフトウェアプログラムとして実現でき、固定または可変の制御周期サンプリング間隔でシステム103の出力を受け取り、新たな出力測定値および以前の出力測定値を用いてシステム120の推定状態121を判断する。
図2は、システムの推定状態121および出力103がコマンド101に従うようにシステムを作動させる、いくつかの実施形態によるコントローラ110のブロック図を示す。コントローラ110は、たとえば、モデル102およびシステムの動作に対する制約104を格納するためにメモリ202に接続された単一の中央処理装置(CPU)または複数のCPUプロセッサ201の形態のコンピュータを含む。
図3Aは、いくつかの実施形態に従い、システムの現在の状態121および制御コマンド101が与えられると制御信号111を計算する、コントローラ110を実現するための混合整数モデル予測制御(MI-MPC)のためのシステムおよび方法のブロック図を示す。具体的には、MI-MPCは、各制御時間ステップにおいて制約付き混合整数最適化問題を解くこと(350)により、システムの予測時間区間にわたる一連の将来の最適な離散制御入力および連続制御入力を含む制御解、たとえば解ベクトル355を計算する(360)。この最適化問題350における目的関数、等式、ならびに離散的および連続的な不等式制約のデータ345は、動的モデル、システム制約340、システムの現在の状態121、制御の目的および制御コマンド101に依存する。
いくつかの実施形態では、この不等式制約付き混合整数最適化問題350の解は、メモリから読み取ることができる、以前の制御時間ステップからの予測時間区間にわたる状態値および制御値を用いる(310)。この概念は、最適化アルゴリズムのウォームスタートまたはホットスタートと呼ばれ、いくつかの実施形態では、MI-MPCコントローラの必要な計算労力を削減することができる。同様に、対応する解ベクトル355を用いて、次の制御時間ステップの一連の最適な状態値および制御値を更新ならびに保存することができる(360)。
いくつかの実施形態では、混合整数最適化アルゴリズムは探索アルゴリズムに基づいており、MI-MPCコントローラは、次の制御時間ステップでの探索アルゴリズムの計算労力を低減するために、追加の混合整数計画解情報を更新および保存するようにする(360)。一実施形態では、各制御時間ステップでのMI-MPC問題は、分枝限定最適化法を用いて解かれ、ウォームスタート情報360は、ある制御時間ステップから次の制御時間ステップへのノード選択および変数分枝戦略を改善するために、根ノードから最適な整数実現可能制御解が見つけられる葉ノードへの解パスの一部である二分探索木内のノードに関連するデータを含む。
図3Bは、システムの現在の状態121および制御コマンド101が与えられると各制御時間ステップにおいて制御信号111を計算するために最適制御構造化混合整数最適化問題を解く(350)MI-MPCコントローラのブロック図を示す。いくつかの実施形態は、制約された混合整数二次計画(MIQP)を各制御時間ステップで解く(350)必要があるように、線形等式制約362、線形連続不等式制約364、線形離散等式制約365、線形終端不等式制約366、および線形二次目的関数361を伴うシステムの線形動的モデル363に基づく。次いで、MIQPデータ345は、ヘッセ行列および制約ヤコビ行列346と、対応する勾配および制約評価ベクトル347とを含む。一般に、線形離散等式制約365は、状態値および制御値の線形関数Ekxk + Fkukが値の離散集合の1つに等しくなるように制約される旨を述べる。いくつかの実施形態では、線形離散等式制約365は、たとえば、二値等式制約Ekxk + Fkuk ∈ {0,1}であり、この定式化は、0または1のいずれかに等しくなるよう特定の制御入力変数に対する制約を含む。
図4は、いくつかの実施形態に従って、MI-MPCコントローラを実現してMI-MPCを解く(350)ための混合整数最適化戦略のブロック図を示す。解350は、いくつかの実施形態によれば、整数制御変数探索段階401および整数緩和最適化段階405に基づく。探索段階401は、MI-MPC解ベクトルを計算するために、離散等式制約365内における離散値の(ほぼ)最適な組み合わせを見つけることに関係している。いくつかの実施形態では、探索段階は、緩和制御解ベクトル406が離散探索空間の特定の領域において目的値の下限を与えるよう混合制御計画を連続最適化問題に緩和することにより、一連の整数緩和MPC最適化問題405を反復的に生成する。
いくつかの実施形態では、Fkuk∈ {0,1}の二値等式制約は、整数緩和最適化問題405において、探索段階407によって与えられる現在の整数制御変数固定407に依って、連続不等式制約0≦Fkuk≦1または等式制約Fkuk = 0もしくはFkuk = 1によって置換される。いくつかの実施形態では、混合整数非凸二次計画を解く(350)ために、整数緩和最適化問題は、凸二次計画(QP)または半正定値計画(SDP)問題などの凸最適化問題である。
いくつかの実施形態は、状態依存不等式制約410を、最適化問題定式化340の一部として、制御入力に対する結合された状態不変制約415に再定式化することに基づいており、制御入力に対する結合された状態不変制約415を用いることにより、探索段階401によって与えられる現在の整数制御変数固定407が与えられると、制御境界403を分離および厳密にすることができる(412)。状態依存不等式制約410は、システム動的方程式363および初期値条件362に基づいて、制御入力に対する結合された状態不変制約415に変換することができる(411)。いくつかの実施形態は、分離され厳密にされた制御境界403の実行不可能性が制御入力415に対する結合された状態不変制約に関する実行不可能性を意味し、それが元の不等式制約410に関する実行不可能性を意味することを保証する反復手順に基づいて、分離され厳密にされた制御境界値403を構築する。具体的には、状態制約410を満たす状態変数の一連の値を生じる、制御入力の値の任意の組み合わせは、結合された状態不変制御制約415および分離され厳密にされた制御境界403も満たす。
そのために、いくつかの実施形態は、状態制約410を結合された状態不変制御制約415に変換し(411)、これらの制約を分離および厳密にして(412)、システムへの制御入力に対する境界値403をもたらして、状態制約410を満たす状態変数の一連の値をもたらす制御入力の値の任意の組み合わせが、結合された状態不変制御制約415および分離され厳密にされた制御境界値403も満たし、状態制約410および結合された状態不変制御制約415に従ってMI-MPC問題を解く(350)ようにする。
いくつかの実施形態では、探索段階は、元の状態依存不等式制約410に関する実行不可能性を意味する、制御入力に対する結合された状態不変制約415に関する実行不可能性を意味する、分離および厳密にされた制御境界403に関する検出された実行不可能性のため、離散探索空間の領域を除去するために、分離され厳密にされた制御境界値403を用いる。いくつかの実施形態では、最適化段階405でどのような整数緩和最適化問題も解く必要なく1つ以上の領域を削除できる場合、整数緩和最適化問題の解は、制御制約の評価よりも計算コストが高いため、分離および厳密にされた制御境界403を用いることにより、探索段階の計算労力の削減が可能になる。
図5Aは、二分探索木500を混合整数最適化アルゴリズムの特定の反復で示すことにより、いくつかの実施形態でMI-MPCコントローラを実現するために用いられることができる分枝限定法の概略図を示す。分枝限定法の主な概念は、元の問題のパーティションを順次作成し、それらのパーティションを解こうとすることであり、各パーティションは、離散制御変数探索空間の特定の領域に対応する。いくつかの実施形態では、分枝限定法は、パーティションまたはノードを選択し、このパーティションをより小さなパーティションまたは探索領域に分枝する離散制御変数を選択し、パーティションまたは探索領域からなる入れ子木をもたらす。
たとえば、パーティションP501は、2つのより小さなパーティションまたは領域P502およびP503、つまり共通領域に入れ子にされる第1の領域および第2の領域に分割または分枝することができる離散探索領域を表わす。第1および第2の領域は互いに素であり、つまり、これらの領域の共通部分は空P∩P=φである(507)が、それらは元のパーティションまたは領域Pをともに形成し、つまり、分枝後、和集合P∪P=Pが成り立つ(506)。次に、分枝限定法は、探索空間の第1および第2のパーティションまたは領域の両方について整数緩和MPC問題を解き、互いに対して、および最適目的値に対する現在既知の上限値に対して比較することができる2つの解をもたらす。第1および/もしくは第2のパーティションまたは領域は、それらの性能指標がMI-MPC問題の最適目的値に対する現在既知の上限よりも最適でない場合には、剪定されることができる。第1の領域、第2の領域、またはそれら両方の領域がMI-MPC問題に対する実行可能な離散解をもたらす場合には、上限値を更新することができる。分枝限定法は、次いで、さらなる分割のために、領域からなる現在の入れ子木内の残りの領域を選択することにより、継続される。
各パーティションを解くことは依然として難しいかもしれないが、混合整数計画の局所緩和を解くことにより、または双対性を用いることにより、最適目的値の局所下限を得ることは、かなり効率的である。MI-MPCソルバーが、局所緩和を解きながら、たまたま整数実行可能解を得た場合には、MI-MPCソルバーは次いで、それを用いて、元のMI-MPC問題の混合整数制御解の大域上限値を得ることができる。これは、すでに作成された特定のパーティションを解くことまたは分枝することを回避するのに役立ち、つまり、これらのパーティションまたはノードは剪定されることができる。このような分割の一般的なアルゴリズム的概念は、木の上部に根ノード、たとえばP501、ならびに木の底部に葉ノード、たとえばP504およびP505を含む、二分探索木500として表すことができる。
図5Bは、いくつかの実施形態でMI-MPCコントローラを実現するために用いることができる、分枝限定最適化アルゴリズムのブロック図を示し、図5Cは、その擬似コードを示す。分枝限定法は、MIQP行列346およびMIQPベクトル347からなるMIQPデータ345に基づいて、現在の制御時間ステップにおける混合整数二次計画(MIQP)の分枝探索木情報を初期化する(510)。この初期化は、さらに、現在の制御時間ステップのウォームスタート初期化510を生成するために、以前の制御時間ステップからの分枝探索木情報およびMIQP解情報310を用いることができる。最適化アルゴリズムの主な目標は、混合整数制御解の目的値の上限および下限を構築することである。上限値と下限値との間のギャップが特定の許容値よりも小さい場合には(511)、混合整数最適制御解が見つかる(355)。
下限値と上限値との間のギャップが特定の許容値よりも大きく(511)、最適化アルゴリズムが最大実行時間にまだ到達していない限り、分枝限定法は混合整数最適制御解355を求めて反復探索を続ける。分枝限定法の各反復は、求解前分枝手法に基づく考えられ得る変数固定で、整数変数探索空間の次の領域またはパーティションに対応する、木の次のノードを選択することによって、始まる(515)。ノードの選択後、求解後分枝手法に基づく、考えられ得る変数固定で、対応する整数緩和MPC問題が解かれる(520)。
整数緩和MPC問題が実行可能な解を有する場合には、結果の緩和制御解は、整数変数探索空間のその特定の領域またはパーティションの目的値の下限を与える。この下限が、最適混合整数制御解の目的値の現在既知の上限よりも大きい場合(521)、選択されたノードは分枝木から剪定または除去される(540)。目的値が現在既知の上限より低く(521)、緩和制御解が整数実行可能である場合には(525)、現在既知の上限および対応する混合整数制御解推測を更新する必要がある(530)。
整数緩和MPC問題が実行可能な解を有し、目的が現在既知の上限より低い(521)が、緩和制御解がまだ整数実行可能でない場合には、目的の大域下限を分枝木の既存のノードの目的値の最小値に更新することができ(535)、選択されたノードは木から剪定される(540)。加えて、現在のノードから出発して、離散探索木の領域またはパーティションに対応する、結果として得られる部分問題を、分枝木におけるそのノードの子として追加するために(550)、小数値を伴う離散変数が、特定の分枝戦略に従って、分枝のために選択される(545)。
分枝限定法の重要なステップは、どのようにしてパーティションを形成するか、つまり、どのノードを選択し(515)、どの離散変数を分枝のために選択するか(545)である。本開示のいくつかの実施形態は、整数緩和MPC解において小数値を伴う二値制御変数の1つを分枝することに基づく。たとえば、特定の二値制御変数ui,k ∈ {0,1}が整数緩和MPC解の一部として小数値を有する場合、いくつかの実施形態は、それぞれ、等式制約ui,k = 0を一方の部分問題に、等式制約ui,k= 1を他方の部分問題に加えることにより、混合整数計画の2つのパーティションを作成する。本開示のいくつかの実施形態は、図8の説明の一部としてさらに詳細に説明されるように、以前の分枝判断からの情報に基づいて将来の分枝挙動を予測することを目的とする、変数選択の信頼性分枝戦略に基づく。
本開示のいくつかの実施形態は、後入れ先出し(LIFO)バッファを用いて実現することができる深さ優先ノード選択戦略を用いる分枝限定法に基づく。解くべき次のノードが現在のノードの子の1つとして選択され、ノードが剪定されるまで、つまり、ノードが実行不可能となるか、最適となるか、または現在既知の上限値に支配されるまで、このプロセスが繰り返され、その後、バックトラッキング手順が続く。代わりに、本開示のいくつかの実施形態は、現在最も低い局所下限を有するノードを選択する最良優先戦略を用いる分枝限定法に基づく。本開示のいくつかの実施形態は、深さ優先ノード選択策と最良優先ノード選択策との組み合わせを採用し、整数実現可能制御解が見つかるまで深さ優先ノード選択戦略が用いられ、その後、分枝限定に基づく最適化アルゴリズムの後続の反復において、最良優先ノード選択戦略が用いられる。後者の実現例は、分枝限定手順の開始の早い段階で整数実行可能制御解を見つけて(深さ優先)早期剪定を可能にし、その後、より良い実行可能解を求める、より貪欲な探索が続く(最良優先)ことを目的とすることにより、動機づけられている。
分枝限定法は、1つまたは複数のいずれかの終端条件が満たされるまで反復を続ける。終端条件には、プロセッサの最大実行時間に達すること、分枝探索木のすべてのノードが剪定されて、凸緩和を解くためまたは分枝するために新たなノードを選択できないこと、および混合整数制御解の目的の大域上下限値間の最適性ギャップが許容値よりも小さいことが含まれる。
図6Aは、MPC制御区間の各段階で状態変数および制御入力変数の両方を含むブロックスパース最適制御構造化混合整数二次計画(MIQP)350を、MPC制御区間の各段階で制御入力変数のみに依存するMIQPの等価であるが密な定式化610に再定式化するために、いくつかの実施形態によって用いられる凝縮方法600を示す。いくつかの実施形態は、分枝限定法に基づいて各MIQP解に対してこの凝縮手順を1回実行する。いくつかの実施形態では、MIQP行列346が1つのMI-MPC制御時間ステップから次のMI-MPC制御時間ステップへ変化しない場合、凝縮されたMIQP行列615は各制御時間ステップで変化せず、したがってオフラインで計算できる。凝縮MIQPベクトル616は、いくつかの実施形態では、MIQPベクトル347の変化、たとえば、初期状態値、制約値または目的における変化に従って、各制御時間ステップでオンラインで計算される。
数値凝縮方法600は、MIQP問題定式化から状態変数を除去するためにシステムダイナミクスを用いることに基づく(601)。状態制約は、
Figure 0007257980000001
605としてよりコンパクトに記述でき、行列は、スパース混合整数最適制御問題の連続性条件362~363に一致するために定義される(606)。行列
Figure 0007257980000002
606は、状態変数を、
Figure 0007257980000003
として定義できるように可逆であり、これを用いて、密なMIQP610を、凝縮MIQP行列615および凝縮MIQPベクトル616に基づいて、凝縮二次目的611、凝縮および結合アフィン不等式制約612、ならびに離散制御変数制約613を含んで、構築することができる。
いくつかの実施形態は、分枝限定法で凸緩和520を解く際に、ブロックスパース最適制御構造化350または最適化問題の凝縮された定式化610のいずれかを解くことに基づく。同様に、ブロックスパース最適制御構造化350または最適化問題の凝縮された定式化610のいずれかを、本開示の実施形態の求解前および求解後分枝手法で用いることができる。本開示のいくつかの実施形態は、たとえば、ソフトウェアPRESAS、HPMPC、HPIPM、FORCES、またはqpDUNESなどにおいてブロックスパース最適制御構造を活用する調整された凸QPソルバーを用いることができるようにするために、ブロックスパース最適制御構造化問題350の凸緩和520を解く。いくつかの実施形態は、たとえばドメイン伝播法などの求解前または求解後分枝手法のために、代わりに、最適化問題の凝縮された定式化を用いる。
本開示のいくつかの実施形態は、分枝限定法の各反復において整数緩和凸MPC問題520のカルーシュ・キューン・タッカー(KKT)最適性条件を解くために最適化アルゴリズムに基づく。このような最適化アルゴリズムの例には、勾配に基づく方法、分割方法、アクティブセット法、または内点法が含まれる。
図6Bは、混合整数MPC問題の凸緩和を解くために本開示のいくつかの実施形態によって用いることができる二次最適化アルゴリズムの一部として解く必要がある鞍点線形システムにおけるKKT行列650のスパース構造の概略図を示す。いくつかの実施形態では、ヘッセブロック行列の各々が対角である場合、ブロック対角ヘッセ行列は対角ヘッセ行列655に単純化され、通常、対応する鞍点線形KKTシステムを解くために必要な計算労力を低減することができる。さらに、KKT行列における拘束ヤコビ行列660およびその転置661は、各鞍点線形KKTシステムの効率的な解で利用される典型的な最適制御ブロックスパース構造を示し、本開示のいくつかの実施形態によれば、通常は、MPC制御区間における間隔の数での計算労力の線形スケーリングをもたらす結果となる。
本開示のいくつかの実施形態によれば、典型的には、分枝限定法において探索する必要のあるノードまたは領域がより少ないように凸解緩和をより厳しくすることにおいて、求解前分枝手法がしばしば重要である。
図7Aは、いくつかの実施形態によって、等価ではあるが凝縮された問題定式化610、より具体的には、離散制御変数制約613と組み合わせた結合アフィン不等式制約612を利用することにより、混合整数制約付き最適制御問題350の解に調整されるドメイン伝播法700のブロック図を示し、図7Bは、その擬似コードを示す。ドメイン伝播法700の目的は、各制御入力変数の制御境界の初期集合
Figure 0007257980000004
が与えられると、新たな境界値
Figure 0007257980000005
Figure 0007257980000006
403であるように、結合不等式制約
Figure 0007257980000007
612、離散制御変数制約613、および離散制御変数固定407に基づいて計算することにより、これらの制御境界を強化または厳密にすることである。たとえば、特定の離散制御変数ui,k ∈{0,1}がui,k = 1に等しくなるように固定される場合、対応する制御境界値は
Figure 0007257980000008
と読め、この情報をドメイン伝播法700によって用いて、他の制御入力変数の制御限界値を強化または厳密にすることができる。
いくつかの実施形態は、ドメイン伝播法の結果は、不等式制約364、離散制御変数制約365、および終端不等式制約366を用いて、ブロックスパース最適制御問題定式化350に直接適用される場合、かなり弱いであろう、という認識に基づく。いくつかの実施形態は、初期状態値条件362およびシステム動的制約363をさらに考慮する必要がある、という認識に基づく。したがって、いくつかの実施形態は、ドメイン伝播に基づく境界強化を凝縮問題定式化610に適用し、それは、各伝播時間ステップでMIQPについてオフラインまたはオンラインで計算でき、より具体的には、ドメイン伝播方法は結合アフィン不等式制約612を離散制御変数制約613および離散制御変数固定407と組み合わせて用いる。
分離された制御境界の初期集合
Figure 0007257980000009
702が個々の制御入力変数ごとに与えられると(701)、ドメイン伝播法の各反復は、次いで、結合不等式制約
Figure 0007257980000010
612の各々を用いて、制御入力変数の各々について境界値
Figure 0007257980000011
を試行し、厳密にする(705)。それを行うために、いくつかの実施形態は、状態不変制御制約を分離して、探索空間を形成する。実際、結合された不等式制約の分離により、探索空間を削減しながらMPC問題のスパース性を維持することができる。
di ≠ 0である場合に、以下のように、制御入力変数
Figure 0007257980000012
の新たな境界値
Figure 0007257980000013
の計算に用いることができるlb≦Σjdjuj≦ubという形式の特定の結合不等式制約について考えてみよう。
Figure 0007257980000014
式中、
Figure 0007257980000015
が定義され、すべての制御入力変数uj,j ≠ iについての現在の分離された制御境界値
Figure 0007257980000016
702が用いられている。同様の再定式化を、結合不等式制約に対して実行することができる。
Figure 0007257980000017
式中、
Figure 0007257980000018
が定義されている。
これらの分離された不等式制約706の両方に基づいて、制御入力変数に対する更新された下限値および上限値を計算することができる。
Figure 0007257980000019
(di > 0の場合)、または
Figure 0007257980000020
(di < 0の場合)。さらに、制御入力変数uiが二値または整数制御入力変数709である場合、以下のように、連続的な境界値708の上記の更新をさらに強化することができる。
Figure 0007257980000021
(di > 0の場合)、または
Figure 0007257980000022
(di < 0の場合)。
いくつかの実施形態では、分離は、制御入力の各々について保守的な境界値の集合を反復的に厳密にするドメイン伝播法で実行される。ドメイン伝播法は、制御境界値の初期集合、およびMPC問題の制御区間の一部またはすべての瞬間について相互に結合された状態不変制御制約が与えられると、分離された状態不変制御制約を構築する。実際には、ドメイン伝播法により、所与の離散制御変数および制約の探索空間が確実に厳密にされる。
ドメイン伝播法705の各ステップは、おそらくは、連続もしくは整数/二値制御入力変数またはその両方について境界値の強化をもたらし得る。特定の停止基準が満たされるまで(715)、手順を各制御入力変数および各結合アフィン不等式制約に対して反復態様で実行することができ、なぜならば、1つの変数の境界強化は、1つ以上の他の変数の境界値の強化に至り得るためである。本開示のいくつかの実施形態は、境界値が十分に変化しなくなるか、または計算時間もしくは反復回数の特定の制限が満たされるまで(715)、ドメイン伝播法を実行する。停止基準が満たされない場合(716)、ドメイン伝播法は継続するが、停止基準が満たされた場合(717)、分枝限定法は更新された制御限界値403で継続する。
いくつかの実施形態は、ドメイン伝播法700は整数制御変数探索空間の探索領域の量のかなりの削減をもたらすことができる、という認識に基づく。いくつかの実施形態は、ドメイン伝播法700を実行した後に、緩和MPC問題を解くことを必要とせずに、探索木内の特定のパーティションまたは領域およびそれのすべてのサブパーティションまたはサブ領域について
Figure 0007257980000023
であるときはいつでも実行不能検出に基づいて、探索領域の量を低減する。本開示のいくつかの実施形態は、ドメイン伝播法700を実行した後に、緩和MPC問題を解くことを必要とせずに、探索木内の特定のパーティションまたはノードおよびそれのすべてのサブパーティションまたはサブ領域について
Figure 0007257980000024
であるように離散制御変数が等しい下限値および上限値を有するときはいつでも変数固定に基づいて、探索領域の量を低減する。
加えて、いくつかの実施形態は、提案された最適性に基づく離散制御変数固定の実現可能性の影響を計算するために、ドメイン伝播法700を用いる。たとえば、特定の最適性に基づく離散制御変数固定ui,k = 0またはui,k = 1が実行されるのは、この固定が、結合不等式制約
Figure 0007257980000025
612、離散制御変数制約613、およびすべての離散制御変数固定407に基づいて、ドメイン伝播法700を実行することによって追加の制御変数固定を誘導しない場合のみである。たとえば、一実施形態は、他の最適化変数の値に関係なく、特定の変数固定ui,k = 0が常にui,k = 1よりも最適であること、またはその逆であることを保証することにより、最適化に基づく離散制御変数固定を計算するために、凝縮ヘッセ行列615を用いる。
図8は、分枝限定最適化の一部として離散探索空間の特定のパーティションまたは領域で分枝される次の離散変数を選択するためにいくつかの実施形態で用いられる信頼性に基づく分枝戦略の擬似コードを示す。信頼性分枝800の概念は、変数選択の2つの概念、つまり各離散制御変数についての強い分枝および擬似コスト情報を組み合わせることである。強い分枝は、特定のスコア関数について最高値を与える離散変数にコミットする(816)前に、所与のノードにおける凸緩和の解において小数値を有するすべての離散制御変数について、上向き(より高い整数へ)および下向き(より低い整数へ)の両方で一時的に分枝することに依存する(801)。たとえば、二値変数ui,kをそれぞれ、上向きui,k = 1、および下向きui,k = 0に分枝する際に、目的値の増加
Figure 0007257980000026
を計算する。本開示のいくつかの実施形態は、小さな正の値ε > 0を与えられると、積
Figure 0007257980000027
に基づいてスコアリング関数を計算する。強く分枝した制御解に依って、任意の他のスコアリング関数を、離散探索空間の所与のパーティションまたは領域内における各候補離散制御変数803に用いることができることに注目されたい。
いくつかの実施形態は、強い分枝手順は、分枝する1つの離散変数を選択するためにいくつかの凸緩和が解かれるため、計算コストが高くなる、という認識に基づく。代わりに、信頼性分枝戦略800は、二値変数ui,kをそれぞれ、上向きui,k = 1、および下向きui,k = 0に分枝する際に、目的値における増加
Figure 0007257980000028
を近似するために、追加の凸緩和を解く必要なしに、各離散制御変数の擬似コスト情報を維持する。本開示のいくつかの実施形態では、擬似コスト情報は、それぞれ上向きに(より高い整数へ)および下向きに(より低い整数へ)分枝するときのその特定の離散変数における単位変化あたりの目的値における平均増加を表す。
より具体的には、各離散制御変数ui,kは2つの疑似コスト
Figure 0007257980000029
を有し、これらは、それぞれ上向きに(より高い整数へ)および下向きに(より低い整数へ)分枝するときのその特定の離散変数における単位変化あたりの目的値における平均増加を表す。分枝限定最適化アルゴリズムの反復でその特定の離散変数が分枝され、結果の凸緩和が実行可能な制御解を有するときはいつでも、本開示のいくつかの実施形態は、各対応する擬似コストを、実数から離散値までの距離で除算される、目的における観測された増加で、累積平均の形式で、更新する。信頼性分枝戦略800は、特定の離散制御変数ui,kが分枝限定最適化アルゴリズムの一部として分枝された回数を追跡し、すなわち、数#branch(ui,k)を用いて、擬似コスト情報
Figure 0007257980000030
の信頼度レベルを表すことができる。
次いで、いくつかの実施形態は、目的値の増加
Figure 0007257980000031
を近似するために、#branch(ui,k) > ηrelの場合にのみ、各候補離散制御変数803の擬似コストを用いる。ηrelは信頼性しきい値を表す。
Figure 0007257980000032
式中、
Figure 0007257980000033
は、離散探索空間の所与のパーティションまたは領域内の候補離散制御変数の現在の小数値を表す。次に、目的値の増加についてのこれらの近似を用いて、たとえば次のような特定のスコア関数815を計算する。
Figure 0007257980000034
代わりに、#branch(ui,k)≦ηrelの場合、つまり、離散制御変数ui,kが分枝限定法を通して十分に分枝されていない場合、強い分枝を用いてスコア関数Si,k805の値を計算し、対応する擬似コスト
Figure 0007257980000035
を更新することができる(810)。特定のスコア関数についてのこれらの値が与えられると、信頼性分枝戦略800は、候補変数の集合803から、特定のスコア関数についての最高値を与える離散変数を選択する(816)。
いくつかの実施形態は、変数を、分枝限定探索アルゴリズムを通してそれら変数の過去の分枝挙動に基づいて選択する。たとえば、いくつかの実施形態は、たとえば、信頼性しきい値ηrelが非常に大きくなるように選択される場合、ほとんど強い分枝を実行する。いくつかの実施形態は、分枝限定法の開始時に擬似コストを初期化するが、次いで、すなわち、信頼性しきい値がηrel = 0に等しい場合には、擬似コスト分枝に切り替える。代替的実施形態では、代わりに、たとえば1≦ηrel≦4の間にある信頼性しきい値を用いる。
いくつかの実施形態は、分枝のための候補変数803の集合の一部として緩和解において小数値を有するすべての考えられ得る離散制御変数を考慮するのではなく、代わりに、限られた数の最も有望な離散候補変数を選択する。他の実施形態は、分枝戦略の一部として強い分枝805を実現するために、限られた回数の凸最適化アルゴリズムの反復を実行する。実施形態は、たとえば、値0.5に最も近い小数部を有する二値変数を選択する実行不可能性に基づく分枝など、他の分枝戦略に基づいて実施することもできることに注目されたい。
図9Aは、混合整数モデル予測コントローラ110を実現するために用いられる、分枝限定法をウォームスタートするためにいくつかの実施形態で用いられる木伝播法930の概略図を示し、図9Bは、その擬似コードを示す。予測コントローラは、混合整数計画を、各制御時間ステップにおいて、厳密なタイミング制約の下で、おそらくは、組み込み制御ハードウェア201上において、限られた計算能力および限られた利用可能なメモリ202で、解く(350)。本開示のいくつかの実施形態は、MI-MPCが、たとえば初期状態値
Figure 0007257980000036
362によってパラメータ化される、一連の強く関係付けられる混合整数パラメトリック最適化問題を解いて、ある制御時間ステップからの解情報を用いて、分枝限定法のウォームスタート戦略の形式で、次の制御時間ステップにおける計算労力を削減できるようにする、という認識に基づく。より具体的には、分枝限定最適化アルゴリズムの場合、いくつかの実施形態は、二分探索木からの情報およびある制御時間ステップから次の制御整数ステップへの混合整数解パスに関連する情報を再利用する木伝播法930を実行する。
木伝播法930は、根から混合整数最適制御解が見つかった葉ノードへの解パス、ならびに変数の分枝順序およびそのパス上の緩和制御解を格納する。より具体的には、図9Aの概略図では、解パスは、時間ステップt900においては、根ノードPで始まり(901)、変数u=0で分枝すること(902)により子ノードPに至り、次に変数u=1で分枝すること(903)により子ノードPに至り、次いで、変数u=1で分枝すること(904)により子ノードPに至り、離散変数u=0で分枝して(905)最後に葉ノードPに至り(906)、そこで混合整数最適制御解が見つかる。したがって、一連のパーティションおよび分枝判断は、以下のように読める。
Figure 0007257980000037
現在の時間ステップt900で最適な解パスが与えられると、木伝播法930は、分枝変数のインデックスをこのパスに沿って1段階シフトして、次の制御時間ステップtk+1910における混合整数解パスのウォームスタート推測を計算する。時間ステップt900での分枝変数の順序付きリスト、たとえばu、u、u、uが与えられると、シフトされた分枝変数のリストは、MPC制御区間の各段階に制御変数が1つしかない場合には、時間ステップtk+1910において、たとえばu、u、u-1、uとして読まれ得る。一般に、木伝播法は、解パス上のすべての分枝変数のインデックスをMPC制御区間において1段階シフトする(920)。
後続の時間ステップtk+1910で、新たな状態推定値
Figure 0007257980000038
362を取得した後、ドメイン伝播法700などのすべての求解前分枝手法を実行し、ウォームスタート二分探索木において新たな根ノードに対応する凸緩和を解く(911)。次に、木伝播法は、シフトされた分枝変数のリストから、段階-1のすべての変数、つまり、ウォームスタート手順における1段階のシフトの結果としてMPC制御区間外にあるすべての変数を、除去する。本開示のいくつかの実施形態は、加えて、根ノードにおいて緩和された解で整数実行可能なすべての分枝変数、擬似コストのないすべての変数、または不十分に分枝された変数であるすべての変数925を除去する(914)。
分枝変数の更新されたリストが与えられると、いくつかの実施形態は、特定のスコア関数の値に基づいて分枝順序をさらに更新し(927)、それは、ウォームスタート擬似コスト情報および/または信頼性に基づく分枝戦略800の形式の強い分枝を用いて計算される。更新され、おそらくは並べ替えられた、分枝変数のリストが与えられると、木伝播法930は、親ノード、つまり子を持つノードを除外して、ウォームスタート木に沿ってノードを作成し(928)、依然として凸緩和を解く必要があるノードの、ウォームスタートされる順序付けられたリストLをもたらす(929)。すべての直接の子について凸緩和が解かれる場合、親ノードの凸緩和は決して解かれる必要がないことに注目されたい。
たとえば、図9Aの概略図では、木伝播法は、ウォームスタート木において2つのノードを除去し(914)、なぜならば、対応する分枝変数は、ウォームスタート手順における1段階のシフトの結果、MPC制御区間外にあるからである。次の制御時間ステップtk+1910での解パスに対する、シフトされた推測は、根ノードPで始まり(911)、それは離散変数uで分枝して(912)ノードPを作成し、変数uで分枝して(913)ノードPを作成し、変数uで分枝して(915)ノードP(916)およびP(917)を作成する。したがって、この場合、ノードの、ウォームスタートされ、順序付けられたリストL929は、木伝播後、L={P,P,P,P,P}として読まれる。
いくつかの実施形態は、凸ソルバーをウォームスタートするために、ウォームスタートパス上の緩和MPC解を保存、シフト、および再利用する(926)。さらに、いくつかの実施形態は、探索領域の量を低減するため、および/または分枝限定法によって実行される必要のある強い分枝の量を低減するために、ある制御時間ステップから次の制御時間ステップへの離散変数の疑似コスト情報を保存、シフト、および再利用する。
いくつかの実施形態では、擬似コストの伝播は、分枝情報の経年劣化を説明し、したがって全体的な性能を改善することを目的とするよう、信頼性パラメータの更新と結合されることができる。たとえば、コントローラによって十分に長い時間で分枝されていない変数に強い分枝を強制するために、信頼性番号を各変数について1つの時間ステップから次の時間ステップに低減することができる。
図9Cは、木伝播および擬似コスト伝播を伴うウォームスタート分枝限定法に基づく、いくつかの実施形態による、予測コントローラ110のMI-MPC実現のための擬似コードを示す。以前の制御時間ステップからのウォームスタート解情報が与えられると(310)、MI-MPCアルゴリズムは、たとえば新たな初期状態値
Figure 0007257980000039
などの新たなパラメータ値が与えられると(362)、凝縮混合整数計画情報を更新することにより、開始する(610)。コントローラは、新たな最適制御入力値
Figure 0007257980000040
111を制御対象システム120に適用するために、ウォームスタート分枝限定最適化アルゴリズムを用いてMIPまたはMIQP問題を解くことにより続行する(350)。最後に、伝播ステップは、疑似コスト情報のウォームスタートおよびシフトを実行し(935)、その後木伝播法によって次の制御時間ステップのためにノードのウォームスタートリストを生成する(930)。
いくつかの実施形態は、MI-MPCコントローラは厳しいタイミング制約の下で次の制御解を計算する必要があり、提案されたウォームスタート戦略により、計算効率の良い方法で整数実行可能解を取得できることが多い、という認識に基づく。したがって、いくつかの実施形態は、組み込み制御適用例の厳しいタイミング要件を満たすために、最大数の分枝限定反復を用いる。アルゴリズムがこの指定された反復回数内で終了しない場合でも、実行可能な解、または最適な解でも利用可能である場合がある。
図10は、整数制御変数探索段階401および整数緩和最適化段階405に基づいて、MI-MPCコントローラを実現するための混合整数最適化戦略のブロック図を示す。探索段階401は、MI-MPC解ベクトルを計算するために、離散等式制約365内における離散値の(ほぼ)最適な組み合わせを見つけることに関係している。いくつかの実施形態では、探索段階は、特定の整数制御変数固定407を提案し、得られた混合整数計画を連続する最適化問題に緩和することにより、一連の整数緩和MPC最適化問題405を反復して生成し、緩和制御解ベクトル406が離散探索空間の特定の領域において目的値の下限を与えるようにする。
いくつかの実施形態は、1つ以上の以前の制御時間ステップからのMI-MPC解データ1010を用いて、整数緩和ウォームスタート手順1000に基づいて、離散探索空間の特定の領域に対する計算労力を低減するために整数緩和MPCソルバー1005をウォームスタートするために用いることができる整数緩和解推測1001を計算する。いくつかの実施形態では、整数緩和ウォームスタート手順1000は、以前の制御時間ステップで計算された離散探索空間の十分に類似した領域の解データ1010からの整数緩和解推測1001の識別に基づく。本開示のいくつかの実施形態では、整数緩和ウォームスタート手順1000は、混合整数計画定式化340、整数制御変数固定407、および以前の制御時間ステップからの十分に大量の解データ1010が与えられると、機械学習を用いて、整数緩和制御解ベクトル406に近似する整数緩和解推測1001を計算する。たとえば、いくつかの実施形態では、整数緩和ウォームスタート手順1000は、異なる整数制御変数固定407の範囲に対応する十分に大量の解データ1010で混合整数計画定式化340について訓練されたニューラルネットワークに基づく。
図11は、いくつかの実施形態による、求解後分枝手法1100のブロック図を示す。これらの実施形態は、MI-MPCコントローラを実現するための分枝限定最適化アルゴリズムの一部として求解後分枝手法1100を用いる。現在のノードで整数緩和凸MPC問題の解が与えられると(520)、解が実行可能であり、目的値が現在既知の上限値より低く(521)、解がまだ整数実行可能でない場合(525)、求解後分枝手法は、離散探索空間のその領域の目的値の局所下限を計算的に効率的な態様で増加させるために、追加の離散変数固定で整数緩和凸MPC問題解を構築する(1125)ことを目的としている。
より具体的には、求解後分枝手法1100は、残りの離散制御変数のうち緩和MPC解520においてまだ整数実行可能ではないものを選択し、この離散制御変数を固定するよう、つまり、この変数をその考えられ得る整数値の1つに等しくなるように制約するよう、残りのオプションの1つを反復して提案する(1101)。本開示のいくつかの実施形態は、離散探索空間のその領域の目的値の局所下限を計算する(1106)ために、結果の整数緩和MPC問題の双対を解く最適化アルゴリズムの反復の部分集合に基づく(1105)。本開示のいくつかの実施形態では、最適性条件に関連する行列因数分解、またはこの行列因数分解を低ランク更新したものを再利用して、アクティブセットの最適化アルゴリズムの反復の部分集合を効率的に実行して、整数緩和MPC問題の双対を求解後分枝手法1100の一部として解く(1105)ことができる。
計算された下限が現在既知の上限値よりも大きい場合(1110)、これは、離散探索空間の特定の領域の剪定(1115)、およびおそらくは追加の離散変数固定(1125)につながり、それによって、MI-MPCコントローラの離散制御変数探索段階で必要な計算労力量をかなり低減することができる。求解後分枝手法1100は、特定の停止基準が満たされるまで(1120)、たとえば、緩和離散制御変数がなくなるまで、または特定の実行時間量もしくは特定の反復量に達するまで、離散変数の選択(1101)および目的の下限の構築(1106)を反復して継続する。求解後分枝手法1100の停止基準1120が満たされた場合、追加の離散変数固定がある場合には(1125)結果の整数緩和凸MPC問題を解くことにより、分枝限定法は継続する。結果として得られる緩和MPC解は、解が実行可能であり、目的が現在既知の上限より低い場合には、離散探索空間のその特定の領域で局所下限値を更新するよう用いることができる(535)。解が整数実行可能であり、目的が現在既知の上限より低い場合、緩和MPC解を用いて大域上限値を更新できることに注目されたい。
図12Aは、いくつかの実施形態の原理を採用する予測コントローラ1202を含む車両1201の概略図を示す。本明細書で用いられるように、車両1201は、乗用車、バス、またはローバーなどの任意のタイプの車輪付き車両とすることができる。また、車両1201は、自律車両または半自律車両とすることもできる。たとえば、いくつかの実施形態は、車両1201の運動を制御する。運動の例には、車両1201のステアリングシステム1203によって制御される車両の横方向運動が含まれる。一実施形態において、ステアリングシステム1203は、コントローラ1202によって制御される。追加的に、または代替的に、ステアリングシステム1203は、車両1201の運転者によって制御されることができる。
車両は、エンジン1206も含むことができ、エンジン1206は、コントローラ1202または車両1201の他のコンポーネントによって制御することができる。車両は、周囲の環境を検知するための1つ以上のセンサ1204も含むことができる。センサ1204の例には、距離レンジファインダー、レーダー、ライダー、およびカメラが含まれる。車両1201は、それの現在の運動量および内部状態を検知するための1つ以上のセンサ1205を含むこともできる。センサ1205の例には、全地球測位システム(GPS)、加速度計、慣性測定ユニット、ジャイロスコープ、シャフト回転センサ、トルクセンサ、偏向センサ、圧力センサ、および流量センサが含まれる。センサは、コントローラ1202に情報を与える。車両は、有線または無線通信チャネルを介してコントローラ1202の通信機能を可能にするトランシーバ1206を装備することができる。
図12Bは、いくつかの実施形態による、予測コントローラ1202と車両1201のコントローラ1220との間の対話の概略図を示す。たとえば、いくつかの実施形態では、車両1201のコントローラ1220は、車両1220の回転および加速を制御するステアリングコントローラ1225およびブレーキ/スロットルコントローラ1230である。そのような場合、予測コントローラ1202は、車両の状態を制御するよう、コントローラ1225および1230に制御入力を出力する。コントローラ1220は、予測コントローラ1202の制御入力をさらに処理する車線維持支援コントローラ1235などのハイレベルコントローラも含むことができる。両方の場合とも、コントローラ1220マップは、車両の運動を制御するために、車両のステアリングホイールおよび/またはブレーキなどの、車両の少なくとも1つのアクチュエータを制御するために、予測コントローラ1202の出力を用いる。
図12Cは、本開示の実施形態を用いることにより、動的に実行可能であり最適であることが多い軌道1255を計算することができる、自律または半自律制御車両1250の概略図を示す。生成された軌道は、車両を特定の道路境界1252内に維持することを目的とし、他の非制御車両、すなわち制御車両1250に対する障害物1251を回避することを目的とする。いくつかの実施形態では、障害物1251の各々は、各障害の1つ以上の追加の離散変数を含む、混合整数最適制御問題の時間または空間定式化において1つ以上の不等式制約によって表すことができる。たとえば、混合整数モデル予測コントローラを実現するように構成された実施形態に基づいて、自律または半自律制御車両1250は、たとえば、左側もしくは右側の別の車両を追い越すか、または代わりに、道路1252の現在の車線内の別の車両の後ろに留まるなど、離散的判断を実時間で行うことができる。
図13Aおよび図13Bは、スラスタ1350および運動量交換装置1351などの複数のアクチュエータを備えた宇宙機1302を示す。運動量交換装置のタイプの例には、リアクションホイール(RW)およびジャイロスコープが含まれる。宇宙機は、アクチュエータに送信されるコマンドに応じて、宇宙機の位置、速度、姿勢または向きなどの量が動作により変化する、宇宙空間で飛行するように設計された車両、船舶、または機械である。命令されると、アクチュエータは、宇宙機にその速度を増加または減少させる力を与え、それにより宇宙機にその位置を変換させ、および、命令されると、アクチュエータは、さらに、宇宙機にトルクを与え、宇宙機を回転させ、それにより、その姿勢または向きを変える。本明細書で用いられるように、宇宙機の動作は、そのような量を変化させる宇宙機の動きを決定するアクチュエータの動作によって決定される。
宇宙機は、地球1361、月、および/または他の天体惑星、星、小惑星、彗星などの1つ以上の重力体の周り、間、または近くで、開放または閉鎖軌道経路1360に沿って宇宙空間を飛行する。通常、軌道経路に沿った望ましい位置または目標位置1365が与えられる。参照フレーム1370が所望の位置に取り付けられ、フレームの原点、すなわちその参照フレーム内のすべてゼロの座標は、常に所望の位置の座標である。
宇宙機は、さまざまな外乱力1314を受ける。これらの外乱力には、宇宙機の軌道経路を判断する際に考慮されなかった力が含まれ得る。これらの外乱力は、宇宙機に作用して、軌道上の所望の位置から宇宙機を遠ざける。これらの力には、重力の引力、放射圧、大気抵抗、非球形中心体、および推進剤の漏れが含まれるが、これらに限定されまない。したがって、宇宙機は目標位置から離れた距離1367にある可能性がある。
外乱力のため、宇宙機をその軌道に沿った所望の位置に維持することが常に可能であるとは限らない。したがって、代わりに、宇宙機は、所望の位置の周りにおいて、指定された寸法1364を伴う窓1366内にとどまることが望まれる。そのために、宇宙機は、所望の目標ウィンドウ内に含まれる任意の経路1380に沿って移動するように制御される。この例では、ウィンドウ1366は長方形の形状を有するが、ウィンドウの形状は、実施形態ごとに異なり得る。
宇宙機は、多くの場合、所望の向きを維持することを必要ともされる。たとえば、宇宙機に固定された参照フレーム1374は、遠方の星1372に対して固定された慣性参照フレーム1371、または常に地球の方向を指す態様で向き付けられた参照フレーム1373などの、所望の参照フレームと位置合わせする必要がある。しかしながら、宇宙機の形状に応じて、異なる外乱力1314が宇宙機に不均一に作用し、それによって、外乱トルクが生成され、宇宙機をその所望の向きから外れるように回転させる可能性がある。外乱トルクを補償するために、リアクションホイールなどの運動量交換装置1351を用いて外乱トルクを吸収し、それにより宇宙機がその所望の方向を維持できるようにする。
運動量交換装置が飽和し、それによって外乱トルクを補償する能力を失わないように、それらの保存された運動量は、たとえばリアクションホイールのスピン速度を下げることによって、無負荷状態にされなければならない。運動量交換装置を無負荷状態にすると、宇宙機に望ましくないトルクが加わる。このような望ましくないトルクもスラスタによって補償される。
いくつかの実施形態において、宇宙機はハイブリッドシステムとしてモデル化することができ、アクチュエータに送信されるコマンドは、混合整数モデル予測コントローラなどの予測コントローラを用いて計算される。たとえば、いくつかの実施形態では、スラスタ1350に送信されるコマンドは、値の離散集合しかとることができず、したがって、混合整数制御区間内の各段階について二値または整数制御入力変数の集合となる。
いくつかの実施形態において、予測コントローラは、宇宙機が、軌道に沿った所望の位置に近い、特定の寸法の特定のゾーン1385の外側に留まるように設計される。後者のゾーンは、時間において固定することも、時間的に変化させることもでき、多くの場合、除外ゾーン1385と呼ばれ、このゾーンに対して、混合整数制御区間内の段階ごとに二値または整数の制御入力変数の追加集合を用いて、対応する論理不等式制約をモデル化できる。この例では、除外ゾーン1385は長方形であり、所望のウィンドウ1366の角に位置決めされているが、所望の目標ウィンドウ内の除外ゾーンの形状および位置は、異なる実施形態で異なり得る。
図14Aは、本開示のいくつかの実施形態による、コントローラ1460によって制御される蒸気圧縮システム1400の概略図を示す。コントローラ1460は、モデル予測制御(MPC)を実現するコントローラなどの予測コントローラを含む。蒸気圧縮システム(VCS)1400の構成要素は、屋内空間またはゾーン1450に位置する室内機熱交換器1420、周囲環境に位置する室外機熱交換器1430、圧縮機1410および膨張弁1440を含むことができる。熱負荷1415は屋内空間またはゾーン1450に作用する。
さらに、VCS1400は、圧縮機を出る高圧冷媒を室外機熱交換器または室内機熱交換器のいずれかに向け、室内機熱交換器または室外機熱交換器のいずれかから戻る低圧冷媒を圧縮機の入口に向けるために用いられる逆流弁1455を含むことができる。高圧冷媒が室外機熱交換器に向けられる場合、室外機熱交換器は凝縮器として機能し、室内機は蒸発器として機能し、システムはゾーンから周囲環境に熱を排除し、それは動作上は「冷却モード」と呼ばれる。逆に、高圧冷媒が室内機熱交換器に向けられる場合、室内機熱交換器は凝縮器として機能し、室外機熱交換器は蒸発器として機能し、周囲環境から熱を抽出し、この熱をゾーン内にポンピングし、それは動作上は「加熱モード」と呼ばれる。
図14Bは、VCS1400で用いられる信号、センサ、およびコントローラの構成の例を示す。コントローラ1460は、周囲の気温などの測定可能な外乱を含む、システムの動作に関するさまざまな温度、圧力、流量、その他の情報を測定するように構成されたセンサ1470からの情報を読み取る。コントローラには、所望のゾーン温度などの、プロセスの測定信号の所望の値を表す設定点1466を設けることができる。設定点情報は、サーモスタット、ワイヤレスリモートコントロール、または内部メモリもしくは記憶媒体から取得できる。次に、コントローラは、いくつかの測定された出力がそれらの設定点に駆動されるように、制御入力を計算する。これらの制御入力は、室内機ファン速度1480、室外機ファン速度1481、圧縮機回転速度1482、膨張弁位置1483、および逆流弁位置1484を含むことができる。このようにして、コントローラは、システムに作用する熱負荷などの外乱1468の存在下で設定点値が達成されるように、蒸気圧縮システムの動作を制御する。
いくつかの実施形態では、VCSはハイブリッドシステムとしてモデル化することができ、アクチュエータに送信されるコマンドは、混合整数モデル予測コントローラなどの予測コントローラを用いて計算される。たとえば、いくつかの実施形態では、弁および/またはファンに送信されるコマンドは、値の離散集合しかとることができず、したがって、混合整数制御区間内の各段階について二値または整数制御入力変数の集合となる。
いくつかの実施形態では、VCSの動的挙動は、システムの現在の状態および現在の制御入力値に応じて、急速に変化するか、または特定の瞬間で切り替わることさえあり得る。スイッチングダイナミクスを有する結果的なハイブリッドVCSシステムは、混合整数制御区間内の各段階ごとに二値または整数制御入力変数の追加集合を用いてモデル化できる。
本開示の上述の実施形態は、多数の方法のいずれかで実現することができる。たとえば、実施形態は、ハードウェア、ソフトウェア、またはそれらの組み合わせを用いて実現されてもよい。ソフトウェアで実現される場合、ソフトウェアコードは、単一のコンピュータで提供されるか、複数のコンピュータに分散されるかに関係なく、任意の好適なプロセッサまたはプロセッサの集まりにおいて実行されることができる。そのようなプロセッサは、集積回路コンポーネント内に1つ以上のプロセッサを備えた集積回路として実現されてもよい。ただし、プロセッサは、任意の好適な形式の回路系を用いて実現されてもよい。
また、本明細書で概説される様々な方法またはプロセスは、様々なオペレーティングシステムまたはプラットフォームのいずれか1つを用いる1つ以上のプロセッサで実行可能なソフトウェアとしてコード化されてもよい。加えて、そのようなソフトウェアは、多数の好適なプログラミング言語および/またはプログラミングもしくはスクリプトツールのいずれかを用いて記述されてもよく、フレームワークまたは仮想マシンで実行される実行可能マシン言語コードまたは中間コードとしてコンパイルされてもよい。通常、プログラムモジュールの機能は、さまざまな実施形態において所望のように組み合わせられるかまたは分散されてもよい。
また、本開示の実施形態は、例が提供されている方法として具体化することができる。方法の一部として実行される行為は、任意の好適な方法で順序付けされてもよい。したがって、例示的な実施形態において連続的な行為として示されているいくつかの行為を同時に実行することを含むことができる、例示とは異なる順序で行為が実行される実施形態を構築することができる。
本開示を好ましい実施形態の例によって説明してきたが、本開示の精神および範囲内で様々な他の適応および変更を行うことができることを理解されたい。したがって、特許請求の範囲の目的は、本開示の真の精神および範囲内にあるそのようなすべての変形および修正を網羅することである。

Claims (16)

  1. 連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラであって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記コントローラは、
    前記システムの現在の状態の測定値を受け入れ、各制御ステップの混合整数モデル予測制御(MI-MPC)問題を解いて前記システムへの制御入力を生成し、前記制御入力を前記システムに与えることにより前記システムの状態を変更するように構成されたプロセッサを備え、前記プロセッサは、前記システムの状態に対する状態制約に従って前記MI-MPC問題を解き、現在の制御ステップに対して、前記プロセッサは、
    前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換し、
    前記状態制約と前記状態不変制御制約とに従って、前記状態不変制御制約を満たす連続探索空間のパーティション内への前記値の離散集合の緩和により定義される探索空間内でMPC問題の解を探索する分枝限定法で、前記MI-MPC問題を解くように構成され、
    前記分枝限定法は、前記探索空間内において前記値の離散集合に属する前記MPC問題の最適解を見つけるよう、前記探索空間を領域からなる入れ子木に反復して分割し、前記プロセッサは、反復を実行するために、
    前記探索空間のパーティションを定義する前記入れ子木の葉領域について前記MPC問題を解いて、前記入れ子領域の前記MPC問題の解を見つけ出し、
    前記葉領域の前記MPC問題の前記解を、前記領域からなる入れ子木の前記MI-MPC問題の現在既知の最良の離散的な実行可能解と比較し、
    前記葉領域の前記MPC問題の前記解が、離散的に実行可能であり、前記領域からなる入れ子木の前記MI-MPC問題の現在既知の最良の離散的な実行可能解よりも最適である場合には、前記領域からなる入れ子木の前記MI-MPC問題の前記離散的な実行可能解の最良の境界値を、前記葉領域の前記MPC問題の前記解で更新し、
    前記葉領域の前記MPC問題の前記解の性能指標が、前記現在既知の最良の離散的な実行可能MI-MPC解よりも最適でない場合には、前記領域からなる入れ子木から前記葉領域を剪定するよう構成され、
    前記分枝限定法は、木伝播を用いて、現在の制御ステップについての前記MI-MPC
    問題の解および対応の領域からなる入れ子木を、以前の時間制御ステップに対して判断された前記MI-MPC問題の解および対応の領域からなる入れ子木からの1ステップ先の時間予測で初期化し、
    前記プロセッサは、前記木伝播を用いて前記分枝限定法を初期化するために、
    現在の制御時間ステップの、領域からなる現在の入れ子木を初期化するよう構成され、前記初期化された、領域からなる現在の入れ子木は、前記離散変数の各々の分枝変数および対応の擬似コスト情報を、前記以前の制御時間ステップに対して判断された前記MI-MPC問題の解および対応の、領域からなる以前の入れ子木からの分枝変数ならびに擬似コスト情報の順序で定義し、前記プロセッサはさらに、
    前記分枝された変数のインデックスを、前記現在の制御時間ステップについての前記MPC問題の制御区間において、前記以前の制御時間ステップに対して判断された前記領域からなる以前の入れ子木における解パスに沿って、1段階だけシフトし、
    前記分枝された変数の前記インデックスをシフトした後、前記領域からなる現在の入れ子木から、前記現在の制御時間ステップの区間外にある段階に関連付けられる分枝された変数を除去し、
    前記領域からなる現在の入れ子木から、緩和MPC解において値が既に整数実行可能である分枝された変数を除去し、
    前記領域からなる現在の入れ子木から、前記擬似コスト情報が以前の制御時間ステップ中に不十分な分枝を示す分枝された変数を除去するよう構成される、連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラ。
  2. 前記プロセッサは、前記状態不変制御制約に従って前記MI-MPC問題を解くために、
    前記状態不変制御制約を満たす厳密にされた制御境界値で、少なくとも前記制御入力の部分集合の異なる値の複数の組み合わせを選択し、
    少なくとも前記制御入力の部分集合の異なる値の各組み合わせについて整数緩和最適化問題を解いて、前記MI-MPC問題の目的関数に従って性能指標を最適化する解の集合を生成し、
    前記解の集合から前記性能指標の最適値に対応する前記MI-MPC問題の解を選択するように構成される、請求項1に記載のコントローラ。
  3. 前記分枝限定法は、前記値の離散集合に属する前記MPC問題の解が見つかるまで、前記探索空間を反復して分割し、前記状態不変制御制約は、最適解を見つけるために解かれる必要のあるMPC問題の数を低減するよう前記探索空間を厳密にし、各緩和MPC問題は前記状態制約に従って解かれる、請求項1に記載のコントローラ。
  4. 前記状態不変制御制約の少なくとも一部は前記MPC問題の制御区間の一部またはすべての瞬間について互いに結合され、前記プロセッサは前記状態不変制御制約を分離して前記探索空間を形成する、請求項1に記載のコントローラ。
  5. 前記プロセッサは、制御境界の初期集合、および前記MPC問題の制御区間の一部またはすべての瞬間について互いに結合される前記状態不変制御制約が与えられると、前記制御入力ごとに、前記分離された状態不変制御制約を表す、保守的境界値の集合を反復的に厳密にするドメイン伝播法を用いて、前記制御区間の異なる瞬間の前記状態不変制御制約を分離する、請求項4に記載のコントローラ。
  6. 前記分枝限定法は、前記探索空間を、共通領域に入れ子にされた第1の領域および第2の領域を含む、領域からなる入れ子木に反復的に分割し、前記プロセッサは、
    前記第1の領域によって定義された前記探索空間の第1のパーティションについて前記MPC問題を解いて、第1の解を生成し、
    前記第2の領域によって定義された前記探索空間の第2のパーティションについて前記MPC問題を解いて、第2の解を生成し、
    前記第1の解と前記第2の解との両方を、最適目的値に対する現在既知の境界と比較し、
    前記第1の領域、前記第2の領域、または両方の領域のいずれかの性能指標が前記最適目的値に対する前記現在既知の境界よりも最適でない場合、前記領域からなる入れ子木から前記第1の領域、前記第2の領域、または両方の領域のいずれかを剪定し、
    前記第1のパーティションまたは前記第2のパーティションのいずれかが前記MI-MPC問題の実行可能な離散解をもたらす場合には、現在既知の境界値を最適目的に更新し、
    1つの残っている領域を選択して複数の入れ子領域に分割し、前記値の離散集合に属する最適解が見つかるまで、前記複数の入れ子領域の少なくとも一部のMPC問題を解くように構成される、請求項1に記載のコントローラ。
  7. 前記プロセッサは、さらに、前記以前の制御時間ステップからの以前のMPC解に基づいて、前記領域からなる現在の入れ子木において各MPC解ごとに現在の解をウォームスタートするように構成される、請求項5に記載のコントローラ。
  8. 前記プロセッサは、対応するMPC解がすべての離散制御入力についてまだ整数実行可能でない場合、および前記MPC問題の解の性能指標が現在既知の最良の離散的な実行可能MI-MPC解よりも最適である場合、少なくとも前記離散制御入力の部分集合の値の少なくとも1つの組み合わせについて前記MPC問題を解いた後に求解後法を実行するようにさらに構成され、前記プロセッサは、前記求解後法を実行するために、
    前記MPC問題の双対の最適化の反復の部分集合を、ある探索領域について実行するよう構成され、そこにおいては、まだ整数実行可能ではない離散制御入力変数の1つが選択され、その値の離散集合の1つに等しくなるように制約され、前記プロセッサは、前記求解後法を実行するために、さらに、
    前記MPC問題の前記双対の前記最適化の反復の部分集合後の性能指標が、現在の最良の離散的な実行可能MI-MPC解よりも最適でない場合には、前記探索領域を剪定し、
    この離散制御入力変数の他のすべての考えられ得る整数値に対応する領域が既に剪定されている場合、前記離散制御入力変数を特定の整数値に固定するよう構成される、請求項2に記載のコントローラ。
  9. 少なくとも前記離散制御入力の部分集合の値の組み合わせに対する各MPC問題はアクティブセット法を用いて解かれ、前記求解後法は、前記MPC問題の前記双対に対応する最適性条件の線形システムを解く際に、システム行列について行列分解または前記行列分解が低ランク更新されたものを再利用できる双対アクティブセット反復の部分集合に対応する、請求項8に記載のコントローラ。
  10. 制御対象システムは車両であり、前記コントローラは、混合整数制御解に基づいて前記車両への入力を決定し、前記車両への前記入力は、前記車両の加速度、前記車両のエンジントルク、ブレーキトルク、およびステアリング角度の1つまたは組み合わせを含み、離散最適化変数を用いて、離散制御判断、システムダイナミクスにおける切り替え、ギアシフト、および障害物回避制約の1つまたは組み合わせをモデル化する、請求項1に記載のコントローラ。
  11. 請求項1のコントローラを含む車両。
  12. 前記システムは宇宙機であり、前記コントローラは、混合整数制御解に基づいて前記宇宙機への入力を決定し、前記宇宙機への前記入力は、スラスタおよび運動量交換装置の1
    つまたは組み合わせを作動させ、離散最適化変数を用いて、離散制御判断、システムダイナミクスにおける切り替え、スラスタコマンドのための整数値、および障害物回避制約の1つまたは組み合わせをモデル化する、請求項1に記載のコントローラ。
  13. 前記システムは蒸気圧縮システムであり、前記コントローラは、混合整数制御解に基づいて前記蒸気圧縮システムへの入力を決定し、前記蒸気圧縮システムへの前記入力は、室内機ファン速度、室外機ファン速度、圧縮機回転速度、膨張弁位置、および逆流弁位置の1つまたは組み合わせを含み、離散最適化変数を用いて、離散制御判断、システムダイナミクスにおける切り替え、ならびに前記弁および/または前記ファンに送信されるコマンドのための整数値の1つまたは組み合わせをモデル化する、請求項1に記載のコントローラ。
  14. 連続的動作要素と離散的動作要素とを有するシステムを制御するための方法であって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記方法は、前記方法を実現する格納された命令と結合されるプロセッサを用い、前記命令は、前記プロセッサによって実行されると、前記方法のステップを実行し、前記ステップは、
    前記システムの状態の測定値を受け入れることと、
    前記システムの状態に対する状態制約に従って混合整数モデル予測制御(MI-MPC)問題を解いて前記システムへの制御入力を生成することと、
    前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを含み、前記MI-MPC問題を解くことは、
    前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、
    前記状態制約と前記状態不変制御制約とに従って前記MI-MPC問題を解くこととを含み、
    前記MI-MPC問題は、前記状態不変制御制約を満たす連続探索空間のパーティション内への前記値の離散集合の緩和により定義される探索空間内でMPC問題の解を探索する分枝限定法で解かれ、
    前記分枝限定法は、前記探索空間内において前記値の離散集合に属する前記MPC問題の最適解を見つけるよう、前記探索空間を領域からなる入れ子木に反復して分割し、前記プロセッサは、反復を実行するために、
    前記探索空間のパーティションを定義する前記入れ子木の葉領域について前記MPC問題を解いて、前記入れ子領域の前記MPC問題の解を見つけ出し、
    前記葉領域の前記MPC問題の前記解を、前記領域からなる入れ子木の前記MI-MPC問題の現在既知の最良の離散的な実行可能解と比較し、
    前記葉領域の前記MPC問題の前記解が、離散的に実行可能であり、前記領域からなる入れ子木の前記MI-MPC問題の現在既知の最良の離散的な実行可能解よりも最適である場合には、前記領域からなる入れ子木の前記MI-MPC問題の前記離散的な実行可能解の最良の境界値を、前記葉領域の前記MPC問題の前記解で更新し、
    前記葉領域の前記MPC問題の前記解の性能指標が、前記現在既知の最良の離散的な実行可能MI-MPC解よりも最適でない場合には、前記領域からなる入れ子木から前記葉領域を剪定するよう構成され、
    前記分枝限定法は、木伝播を用いて、現在の制御ステップについての前記MI-MPC問題の解および対応の領域からなる入れ子木を、以前の時間制御ステップに対して判断された前記MI-MPC問題の解および対応の領域からなる入れ子木からの1ステップ先の時間予測で初期化し、
    前記プロセッサは、前記木伝播を用いて前記分枝限定法を初期化するために、
    現在の制御時間ステップの、領域からなる現在の入れ子木を初期化するよう構成され、
    前記初期化された、領域からなる現在の入れ子木は、前記離散変数の各々の分枝変数および対応の擬似コスト情報を、前記以前の制御時間ステップに対して判断された前記MI-MPC問題の解および対応の、領域からなる以前の入れ子木からの分枝変数ならびに擬似コスト情報の順序で定義し、前記プロセッサはさらに、
    前記分枝された変数のインデックスを、前記現在の制御時間ステップについての前記MPC問題の制御区間において、前記以前の制御時間ステップに対して判断された前記領域からなる以前の入れ子木における解パスに沿って、1段階だけシフトし、
    前記分枝された変数の前記インデックスをシフトした後、前記領域からなる現在の入れ子木から、前記現在の制御時間ステップの区間外にある段階に関連付けられる分枝された変数を除去し、
    前記領域からなる現在の入れ子木から、緩和MPC解において値が既に整数実行可能である分枝された変数を除去し、
    前記領域からなる現在の入れ子木から、前記擬似コスト情報が以前の制御時間ステップ中に不十分な分枝を示す分枝された変数を除去する、連続的動作要素と離散的動作要素とを有するシステムを制御するための方法。
  15. 方法を実行するためにプロセッサによって実行可能なプログラムが具現化された非一時的なコンピュータ読み取り可能記憶媒体であって、前記方法は、連続的動作要素と離散的動作要素とを有するシステムを制御するための方法であって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記方法は、
    連続的動作要素と離散的動作要素とを有するシステムの状態の測定値を受け入れることと、
    前記システムの状態に対する状態制約に従って混合整数モデル予測制御(MI-MPC)問題を解いて前記システムへの制御入力を生成することと、
    前記制御入力を前記システムに提示することにより前記システムの状態を変更することとを備え、前記MI-MPC問題を解くことは、
    前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換することと、
    前記状態制約と前記状態不変制御制約とに従って前記MI-MPC問題を解くこととを含み、
    前記MI-MPC問題は、前記状態不変制御制約を満たす連続探索空間のパーティション内への前記値の離散集合の緩和により定義される探索空間内でMPC問題の解を探索する分枝限定法で解かれ、
    前記分枝限定法は、前記探索空間内において前記値の離散集合に属する前記MPC問題の最適解を見つけるよう、前記探索空間を領域からなる入れ子木に反復して分割し、前記プロセッサは、反復を実行するために、
    前記探索空間のパーティションを定義する前記入れ子木の葉領域について前記MPC問題を解いて、前記入れ子領域の前記MPC問題の解を見つけ出し、
    前記葉領域の前記MPC問題の前記解を、前記領域からなる入れ子木の前記MI-MPC問題の現在既知の最良の離散的な実行可能解と比較し、
    前記葉領域の前記MPC問題の前記解が、離散的に実行可能であり、前記領域からなる入れ子木の前記MI-MPC問題の現在既知の最良の離散的な実行可能解よりも最適である場合には、前記領域からなる入れ子木の前記MI-MPC問題の前記離散的な実行可能解の最良の境界値を、前記葉領域の前記MPC問題の前記解で更新し、
    前記葉領域の前記MPC問題の前記解の性能指標が、前記現在既知の最良の離散的な実行可能MI-MPC解よりも最適でない場合には、前記領域からなる入れ子木から前記葉領域を剪定するよう構成され、
    前記分枝限定法は、木伝播を用いて、現在の制御ステップについての前記MI-MPC問題の解および対応の領域からなる入れ子木を、以前の時間制御ステップに対して判断された前記MI-MPC問題の解および対応の領域からなる入れ子木からの1ステップ先の時間予測で初期化し、
    前記プロセッサは、前記木伝播を用いて前記分枝限定法を初期化するために、
    現在の制御時間ステップの、領域からなる現在の入れ子木を初期化するよう構成され、前記初期化された、領域からなる現在の入れ子木は、前記離散変数の各々の分枝変数および対応の擬似コスト情報を、前記以前の制御時間ステップに対して判断された前記MI-MPC問題の解および対応の、領域からなる以前の入れ子木からの分枝変数ならびに擬似コスト情報の順序で定義し、前記プロセッサはさらに、
    前記分枝された変数のインデックスを、前記現在の制御時間ステップについての前記MPC問題の制御区間において、前記以前の制御時間ステップに対して判断された前記領域からなる以前の入れ子木における解パスに沿って、1段階だけシフトし、
    前記分枝された変数の前記インデックスをシフトした後、前記領域からなる現在の入れ子木から、前記現在の制御時間ステップの区間外にある段階に関連付けられる分枝された変数を除去し、
    前記領域からなる現在の入れ子木から、緩和MPC解において値が既に整数実行可能である分枝された変数を除去し、
    前記領域からなる現在の入れ子木から、前記擬似コスト情報が以前の制御時間ステップ中に不十分な分枝を示す分枝された変数を除去する、非一時的なコンピュータ読み取り可能記憶媒体。
  16. 連続的動作要素と離散的動作要素とを有するシステムを制御するためのコントローラであって、前記システムを制御するための制御入力の少なくとも部分集合は、値の離散集合に属する値をとる離散変数であり、前記コントローラは、
    前記システムの現在の状態の測定値を受け入れ、各制御ステップの混合整数モデル予測制御(MI-MPC)問題を解いて前記システムへの制御入力を生成し、前記制御入力を前記システムに与えることにより前記システムの状態を変更するように構成されたプロセッサを備え、前記プロセッサは、前記システムの状態に対する状態制約に従って前記MI-MPC問題を解き、現在の制御ステップに対して、前記プロセッサは、
    前記状態制約を満たす状態変数の一連の値をもたらす結果となる前記制御入力の値の任意の組み合わせが前記システムへの前記制御入力に対する状態不変制御制約も満たすように、前記状態制約を前記状態不変制御制約に変換し、
    前記状態制約と前記状態不変制御制約とに従って前記MI-MPC問題を解くように構成され、
    前記プロセッサは、前記状態不変制御制約に従って前記MI-MPC問題を解くために、
    前記状態不変制御制約を満たす厳密にされた制御境界値で、少なくとも前記制御入力の部分集合の異なる値の複数の組み合わせを選択し、
    少なくとも前記制御入力の部分集合の異なる値の各組み合わせについて整数緩和最適化問題を解いて、前記MI-MPC問題の目的関数に従って性能指標を最適化する解の集合を生成し、
    前記解の集合から前記性能指標の最適値に対応する前記MI-MPC問題の解を選択するように構成され、
    前記プロセッサは、対応するMPC解がすべての離散制御入力についてまだ整数実行可能でない場合、および前記MPC問題の解の性能指標が現在既知の最良の離散的な実行可能MI-MPC解よりも最適である場合、少なくとも前記離散制御入力の部分集合の値の少なくとも1つの組み合わせについて前記MPC問題を解いた後に求解後法を実行するようにさらに構成され、前記プロセッサは、前記求解後法を実行するために、
    前記MPC問題の双対の最適化の反復の部分集合を、ある探索領域について実行するよう構成され、そこにおいては、まだ整数実行可能ではない離散制御入力変数の1つが選択され、その値の離散集合の1つに等しくなるように制約され、前記プロセッサは、前記求解後法を実行するために、さらに、
    前記MPC問題の前記双対の前記最適化の反復の部分集合後の性能指標が、現在の最良
    の離散的な実行可能MI-MPC解よりも最適でない場合には、前記探索領域を剪定し、
    この離散制御入力変数の他のすべての考えられ得る整数値に対応する領域が既に剪定されている場合、前記離散制御入力変数を特定の整数値に固定するよう構成される、コントローラ。
JP2020027691A 2019-03-11 2020-02-21 コントローラ、車両、方法、および非一時的なコンピュータ読み取り可能記憶媒体 Active JP7257980B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/297,870 US10996639B2 (en) 2019-03-11 2019-03-11 Model predictive control of systems with continuous and discrete elements of operations
US16/297,870 2019-03-11

Publications (3)

Publication Number Publication Date
JP2020149677A JP2020149677A (ja) 2020-09-17
JP2020149677A5 JP2020149677A5 (ja) 2022-08-29
JP7257980B2 true JP7257980B2 (ja) 2023-04-14

Family

ID=72423312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020027691A Active JP7257980B2 (ja) 2019-03-11 2020-02-21 コントローラ、車両、方法、および非一時的なコンピュータ読み取り可能記憶媒体

Country Status (2)

Country Link
US (1) US10996639B2 (ja)
JP (1) JP7257980B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019205405A1 (de) * 2019-04-15 2020-10-15 Zf Friedrichshafen Ag Ermittlung einer Eingangsgröße eines Fahrzeug-Aktuators mittels modellgestützter prädiktiver Regelung
US20210094569A1 (en) * 2019-09-27 2021-04-01 Honda Motor Co., Ltd. System and method for providing accurate trajectory following for automated vehicles in dynamic environments
US11209834B2 (en) * 2019-10-17 2021-12-28 Mitsubishi Electric Research Laboratories, Inc. Direct and indirect control of mixed-automata vehicle platoon
US11334085B2 (en) * 2020-05-22 2022-05-17 The Regents Of The University Of California Method to optimize robot motion planning using deep learning
US11340899B1 (en) * 2020-11-05 2022-05-24 Mitsubishi Electric Research Laboratories, Inc. Controller with early termination in mixed-integer optimal control optimization
CN112348361B (zh) * 2020-11-06 2023-01-24 北京理工大学 基于状态转移路径重构的启发式航天器任务规划方法
CN114516342B (zh) * 2020-11-19 2024-05-03 上海汽车集团股份有限公司 一种车辆控制方法、装置及车辆
JP2022110870A (ja) * 2021-01-19 2022-07-29 マツダ株式会社 制御装置および制御システム
US11697429B2 (en) * 2021-02-10 2023-07-11 Argo AI, LLC System, method, and computer program product for topological planning in autonomous driving using bounds representations
US11977374B2 (en) * 2021-08-02 2024-05-07 Mitsubishi Electric Research Laboratories, Inc. System and method for calibrating feedback controllers
JP2023048674A (ja) * 2021-09-28 2023-04-07 株式会社J-QuAD DYNAMICS 移動体の制御装置
US20230119664A1 (en) * 2021-10-16 2023-04-20 Mitsubishi Electric Research Laboratories, Inc. Apparatuses Systems and Methods for Optimization-Based Control of Physical Systems
CN114371626B (zh) * 2022-01-11 2023-07-14 中国人民解放军海军工程大学 离散控制围栏函数改进优化方法、优化系统、终端及介质
CN114461972B (zh) * 2022-01-26 2024-04-02 中国长江三峡集团有限公司 一种面向水资源监测的多移动节点感知调度方法及系统
WO2023195244A1 (en) * 2022-04-06 2023-10-12 Mitsubishi Electric Corporation Recurrent prediction and iterative correction method for fast solution of mixed-integer optimal control
CN114714351B (zh) * 2022-04-06 2023-06-23 上海工程技术大学 用于移动机械臂的抗饱和目标跟踪控制方法及控制系统
CN114726196B (zh) * 2022-06-02 2022-09-06 山东大学 一种tab变换器移相离散集模型预测解耦控制方法及系统
CN115292649B (zh) * 2022-08-01 2023-05-23 中国人民解放军32039部队 航天测控系统中多数据传输任务并行方法和系统
CN117572875B (zh) * 2024-01-15 2024-04-12 上海友道智途科技有限公司 一种基于热启动的实时速度规划方法、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056190A (ja) 2003-08-05 2005-03-03 Kobe Steel Ltd 制御方法及び制御装置、並びにプログラム
WO2017212953A1 (en) 2016-06-06 2017-12-14 Mitsubishi Electric Corporation System and method for controlling multi-zone vapor compression system and non-transitory computer readable storage medium
WO2019030949A1 (en) 2017-08-10 2019-02-14 Mitsubishi Electric Corporation SPACE VEHICLE AND CONTROL SYSTEM FOR CONTROLLING THE OPERATION OF A SPATIAL VEHICLE

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3214977B2 (ja) * 1994-05-27 2001-10-02 富士通株式会社 最適解探索方式および最適解探索方法
US9625196B2 (en) * 2014-06-09 2017-04-18 Mitsubishi Electric Research Laboratories, Inc. System and method for controlling of vapor compression system
US9983554B2 (en) * 2014-11-25 2018-05-29 Mitsubishi Electric Research Laboratories, Inc. Model predictive control with uncertainties
US9764858B2 (en) * 2015-01-07 2017-09-19 Mitsubishi Electric Research Laboratories, Inc. Model predictive control of spacecraft
US10281897B2 (en) * 2015-06-02 2019-05-07 Mitsubishi Electric Research Laboratories, Inc. Model predictive control with uncertainties
US10180686B2 (en) * 2016-03-17 2019-01-15 Mitsubishi Electric Research Laboratories, Inc. Concurrent station keeping, attitude control, and momentum management of spacecraft
US10570717B2 (en) * 2016-09-26 2020-02-25 International Business Machines Corporation Controlling operation of a steam-assisted gravity drainage oil well system utilizing continuous and discrete control parameters
US11934159B2 (en) * 2018-10-30 2024-03-19 Aspentech Corporation Apparatus and methods for non-invasive closed loop step testing with controllable optimization relaxation
US20200148261A1 (en) * 2018-11-14 2020-05-14 Steering Solutions Ip Holding Corporation Lane change and collision avoidance system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056190A (ja) 2003-08-05 2005-03-03 Kobe Steel Ltd 制御方法及び制御装置、並びにプログラム
WO2017212953A1 (en) 2016-06-06 2017-12-14 Mitsubishi Electric Corporation System and method for controlling multi-zone vapor compression system and non-transitory computer readable storage medium
WO2019030949A1 (en) 2017-08-10 2019-02-14 Mitsubishi Electric Corporation SPACE VEHICLE AND CONTROL SYSTEM FOR CONTROLLING THE OPERATION OF A SPATIAL VEHICLE

Also Published As

Publication number Publication date
US10996639B2 (en) 2021-05-04
US20200293009A1 (en) 2020-09-17
JP2020149677A (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
JP7257980B2 (ja) コントローラ、車両、方法、および非一時的なコンピュータ読み取り可能記憶媒体
US10877445B2 (en) Method and apparatus for preconditioned predictive control of vehicle movement
Williams et al. Aggressive driving with model predictive path integral control
JP7466785B2 (ja) 混合整数最適制御最適化における早期終了を伴うコントローラ
US20210221386A1 (en) Adaptive Control of Autonomous or Semi-Autonomous Vehicle
JP2020149677A5 (ja)
EP2516272B1 (en) Adaptative, multiple shooting optimization method for determining optimal spacecraft trajectories
Grande et al. Experimental validation of Bayesian nonparametric adaptive control using Gaussian processes
Arantes Gilz et al. Stable model predictive strategy for rendezvous hovering phases allowing for control saturation
US11163273B2 (en) Active set based interior point optimization method for predictive control
US20230324859A1 (en) Recurrent Prediction and Iterative Correction Method for fast Solution of Mixed-Integer Optimal Control
US20230119664A1 (en) Apparatuses Systems and Methods for Optimization-Based Control of Physical Systems
US20230151774A1 (en) Sequential Convexification Method for Model Predictive Control of Nonlinear Systems with Continuous and Discrete Elements of Operations
Tyatyushkin Multimethod optimization of control in complicated applied problems
WO2023195244A1 (en) Recurrent prediction and iterative correction method for fast solution of mixed-integer optimal control
Fu et al. On-Orbit Proximity Operations About Controlled Uncooperative Targets Using Meta-Predictor
Albin Rajasingham Nonlinear Model Predictive Control
Lee et al. Traffic Navigation for Urban Air Mobility with Reinforcement Learning
Johnsen et al. NaviSlim: Adaptive Context-Aware Navigation and Sensing via Dynamic Slimmable Networks
Li The Simulation of Autonomous Racing Based on Reinforcement Learning
EP4341755A1 (en) Robust adaptive dynamic mode decomposition for modeling, prediction, and control of high dimensional physical systems
Caceres Ubierna Neural network surrogate modelling for earth observation missions
Klaučo et al. Predictive Control of Complex Systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220819

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230217

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: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R150 Certificate of patent or registration of utility model

Ref document number: 7257980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150