いくつかの実施形態の目的は、不確実性の下で、システムを、このシステムの動的モデルを記述する非線形微分方程式の離散化と、非線形システムダイナミクスについての不確実性の離散時間伝搬とに基づいて、確率的機会制約を含む不等式制約付き非線形動的最適化問題を解くことにより、制御するためのシステムおよび方法を、提供することである。確率的機会制約の各々は、対応する不等式制約に違反する確率が、何らかの確率しきい値未満であることを保証することを意図している。
本発明のいくつかの実施形態は、その特定の時間ステップにおける、バックオフ係数値と、制約ヤコビアン行列と、予測された状態値の共分散行列とに依存する項による、不等式制約の各々の強化に基づいた、確率的機会制約の定式化を使用する。本発明のいくつかの実施形態は、共分散行列を、近似線形化ベースの共分散伝搬を使用して、制御ホライズン内の各時間ステップにおける状態値に対し、効率良く計算できるという認識に基づいている。共分散方程式は、連続時間非線形システムダイナミクスについての不確実性の線形化ベースの伝搬の離散化に、基づき得る。これに代えて、離散時間共分散伝搬を、非線形動的方程式の離散化されたセットの線形化に基づいて、直接行ってもよい。
いくつかの実施形態は、離散時間共分散伝搬方程式が、計算コストを削減するとともに、各制御時間ステップにおける共分散行列の正定値性を保つことができる、という認識に基づいている。いくつかの実施形態は、線形化ベースの共分散伝搬に非線形境界を含めることにより、共分散行列が各時間ステップにおける予測された状態値の正確な共分散の過大評価であることを、保証することができ、よって、確率的機会制約の各々は、違反の確率が何らかのしきい値未満であることを保証する。
本発明のいくつかの実施形態は、予測された状態値についての不確実性の順方向伝搬においてフィードバック制御アクションを考慮する必要がある、という認識に基づいている。いくつかの実施形態は、アフィンフィードバックゲインの時不変または時変シーケンスを用いることにより、非線形システムダイナミクスを事前に安定化させ、結果として、将来の不確実性に対するフィードバック制御アクションの効果を直接考慮した共分散伝搬方程式が得られる。たとえば、基準定常状態および入力値における線形化システムダイナミクスに対する無限ホライズン線形-二次レギュレータを用いることにより、確率論的非線形OCP定式化におけるシステムダイナミクスを事前に安定化させることができる。
不等式制約の各々に対する個々の強化に基づく、確率的機会制約の近似定式化を使用し、得られた不等式制約付き非線形動的最適化問題を、最適性および実行可能性条件の連続線形化に基づいたニュートン型最適化アルゴリズムを用いて、解くことができる。そのようなニュートン型最適化アルゴリズムの例は、内点法(IPM:interior point method)および逐次二次計画法(SQP)を含む。本発明のいくつかの実施形態は、SQPアルゴリズムが、SQP最適化アルゴリズムの各反復において、確率論的非線形OCPの二次計画(QP:quadratic program)近似を、不等式制約の各々および強化された確率的機会制約の各々について、目的関数の線形-二次近似、離散化されたシステムダイナミクスについての線形化ベースの近似、離散時間共分散伝搬方程式、および線形化ベースの近似に基づいて解く、という認識に基づいている。
システムの元の動的モデルが連続時間微分方程式のセットで記述されている場合、本発明のいくつかの実施形態は、システムダイナミクスを、陽的および陰的数値積分法を用いて離散化し、線形化は、離散時間または離散化された共分散伝搬方程式を構成するのに、対応するヤコビアン評価を必要とする。いくつかの実施形態は、ニュートン型最適化アルゴリズムの各反復において、共分散伝搬方程式の線形化は、非線形システムダイナミクスについてより高次の導関数の評価を必要とし、これは、ダイナミクスが高次元である場合、長い非線形式を必要とする場合、または硬直したもしくは陰的に既定された微分方程式のセットで記述されている場合、計算コストが高いステップを形成する、という認識に基づいている。
加えて、本発明のいくつかの実施形態は、確率論的非線形予測制御のための正確な線形化ベースの最適化アルゴリズムの解についての計算の複雑度およびメモリ要件が、不確実性を直接考慮しない名目上の実装よりも遥かに大きい、という認識に基づいている。より具体的には、名目上のNMPCにおけるブロック構造化QP近似を解く場合、メモリ要件は、O(Nm2)として漸近的にスケーリングし、この場合、Nは制御ホライズンの長さを示し、mは制御ホライズン内の各時間ステップにおける状態および制御変数の数を示す。加えて、名目上のNMPCにおけるブロック構造化QPを解く場合、計算の複雑度は、O(Nm3)として漸近的にスケーリングする。したがって、確率論的非線形予測制御のための正確な線形化ベースの最適化アルゴリズムのメモリ要件および計算の複雑度は、各時間ステップにおける予測された状態値および対応する方程式のm×m共分散行列により、それぞれO(Nm4)およびO(Nm6)として漸近的にスケーリングする。なお、確率論的NMPCのメモリ要件は、共分散伝搬ダイナミクスが共分散に対して線形であり行列が制約ヤコビアン行列のクロネッカー積(Kronecker product)によって規定されるという認識に基づいて、O(Nm3)まで削減することができる。
本発明のいくつかの実施形態は、代わりに、メモリ要件および計算複雑度がそれぞれO(Nm2)およびO(Nm3)として漸近的にスケーリングする確率論的非線形予測制御のための不正確な導関数ベースの最適化アルゴリズムを提案する。本発明のいくつかの実施形態は、不正確なSQP最適化アルゴリズムに基づき、これは、ブロック構造化問題のスパース性を保ちつつ、各QP下位問題からの共分散行列の数値的削除を可能にし、結果として、メモリ要件および計算複雑度が大幅に削減される。不正確な線形化ベースの最適化アルゴリズムは、状態変数または制御変数に対して共分散伝搬方程式のいかなる導関数も計算せず、したがって、システムダイナミクスのいかなる高次導関数も必要としない。加えて、不正確なSQPアルゴリズムにおける各QP下位問題は、制御ホライズンにわたって状態変数および制御変数のみを含むが、共分散行列は、独立した伝搬手順において明示的に計算することができる。
本発明のいくつかの実施形態において、提案された、確率論的非線形予測制御のための不正確な最適化アルゴリズムは、3つの主要な計算ステップからなる。第1のステップは、線形-二次目的関数を準備し、ヤコビアン行列を計算することにより、線形化された等式および不等式制約を準備し、予測された状態値および制御値の所与の軌道についての非線形共分散伝搬方程式を評価することによって制御ホライズンにわたる予測された状態値の不確実性を表す共分散行列の軌道を計算する。したがって、標準的な最適化アルゴリズムとは異なり、提案されたアルゴリズムは、不正確なSQPアルゴリズムの各反復の各時間ステップにおける共分散行列の正定値性を保つ。第2のステップは、個々の機会制約の各々を近似するための1つまたは複数の強化された不等式制約を用いて、結果として得られるブロック構造化QP下位問題を解くことからなる。第3および最終ステップは、予測された状態および制御値の軌道に対するニュートン型更新を含む。
本発明のいくつかの実施形態は、不正確な線形化ベースの最適化アルゴリズムが、システムダイナミクス、共分散伝搬方程式、不等式制約、および確率的機会制約に関して実現可能な確率論的非線形OCPの解に収束するが、この解は不正確な導関数計算が原因で準最適である可能性がある、という認識に基づいている。代わりに、本発明のいくつかの実施形態は、実現可能かつ最適である確率論的非線形OCPの解に収束する随伴勾配計算を用いる、不正確な線形化ベースの最適化アルゴリズムに基づく。なお、共分散伝搬方程式のための随伴計算は、システムダイナミクスのより高次の導関数の評価を必要とするが、完全なヤコビアン行列ではなく単一勾配に対応する。後者の随伴勾配計算は、アルゴリズム的または自動微分の随伴モードの1つの掃引を使用して効率的に実行することができる。
本発明のいくつかの実施形態において、確率論的非線形予測制御のための随伴勾配計算を用いる、提案された不正確な最適化アルゴリズムは、3つの主要な計算ステップからなる。第1のステップは、線形-二次目的関数を準備し、状態変数および制御変数に対してヤコビアン行列を計算することにより、線形化された等式および不等式制約を準備し、これは、予測された状態値および制御値の現在の軌道ならびに対応する共分散行列を考慮して、随伴ベースの勾配評価を計算し、目的関数および制約関数の各々から共分散行列を数値的に削除する。第2のステップは、個々の機会制約の各々を近似するための1つまたは複数の強化された不等式制約を用いて、結果として得られるブロック構造化QP下位問題を解くことからなる。第3および最終ステップは、予測された状態および制御値の軌道に対するニュートン型更新、ならびにラグランジュ乗数の対応する更新の展開および制御ホライズンにわたる共分散行列の軌道の更新を含む。
本発明のいくつかの実施形態は、共分散行列に加えて、確率論的最適制御問題における状態変数も、各反復において圧縮手順に基づいて数値的に削除することができ、これは、離散時間システムダイナミクスを用いて、予測ホライズン内の各段階の状態変数を、初期状態値の関数として規定し、予測ホライズン内の前のすべての段階における制御変数を規定する、という認識に基づいている。この完全または部分的な圧縮手順は、より小さいが全体的により高密度の最適化問題をもたらし、等式制約はより少ないまたはなく、同じ量の不等式制約および確率的機会制約があり、これらは、OCP内の残りの最適化変数に関して説明される。本発明のいくつかの実施形態は、同じ不正確な線形化ベースの最適化アルゴリズムを、そのような圧縮手順と組み合わせて使用することができる、という認識に基づいている。より具体的には、状態変数の数値的削除は、第1のステップにおいて追加的に実行され、密なQP解は、第2のステップにおいて実行され、一方、圧縮された状態変数の展開は、確率論的非線形予測制御のための不正確な最適化アルゴリズムの第3のステップにおいて追加的に実行される。
本発明のいくつかの実施形態は、予測コントローラにおける各制御ステップにおいて、提案された不正確なSQP方法の1回の反復を実行することにより、非線形確率論的OCPを解くための、リアルタイム反復方法を使用する。このことは、各制御ステップにおいて、非線形確率論的最適化問題のブロック構造化局所QP近似のために、1つの準備、解および展開ステップのみを実行する必要があることを意味する。QPの準備は、離散化された非線形システムダイナミクスを課す非線形方程式の線形化と、非線形不等式制約の線形化と、共分散行列の圧縮または削除と、任意の随伴勾配計算とを含む。この準備に基づいて、結果として得られたブロック構造化QPを解き、続いて、予測コントローラの各ステップにおいてシステムを制御するために使用される制御解を生成するために、展開ステップにより、すべての主最適化変数およびラグランジュ乗数値を更新する。
よって、一実施形態は、システムの状態および制御変数に対する制約を受ける不確実性の下でシステムを制御するための予測コントローラを開示し、予測コントローラは、少なくとも1つのプロセッサと、命令が格納されたメモリとを備え、命令は、少なくとも1つのプロセッサによって実行されると、予測コントローラに、予測コントローラの各制御ステップにおいて、制御コマンドを生成するために不確実性を表す確率的機会制約を含む不等式制約付き非線形動的最適化問題を解くことを実行させ、予測コントローラは、動的最適化問題を、終了条件が満たされるまで、状態および制御変数の固定値についての予測ホライズン内における確率的機会制約の共分散行列の伝搬と、共分散行列の固定値についての予測ホライズン内における状態および制御変数の最適化とを交互に行う2レベル最適化に基づいて、解き、命令はさらに、少なくとも1つのプロセッサによって実行されると、予測コントローラに、制御コマンドを使用してシステムの動作を制御することを実行させる。
別の実施形態は、システムの状態および制御変数に対する制約を受ける不確実性の下でシステムを制御するための予測制御方法を開示し、方法は、この方法を実現する格納された命令と結合されたプロセッサを使用し、命令は、プロセッサによって実行されると、方法のステップを実行し、方法のステップは、予測制御方法の各制御ステップにおいて、制御コマンドを生成するために不確実性を表す確率的機会制約を含む不等式制約付き非線形動的最適化問題を解くステップを含み、予測コントローラは、動的最適化問題を、終了条件が満たされるまで、状態および制御変数の固定値についての予測ホライズン内における確率的機会制約の共分散行列の伝搬と、共分散行列の固定値についての予測ホライズン内における状態および制御変数の最適化とを交互に行う2レベル最適化に基づいて、解き、方法のステップはさらに、制御コマンドを使用してシステムの動作を制御するステップを含む。
もう1つの実施形態は、システムの状態および制御変数に対する制約を受ける不確実性の下でシステムを制御するための予測制御方法を実行するためにプロセッサが実行可能なプログラムが実装される非一時的なコンピュータ読取可能記憶媒体を開示し、方法は、予測制御方法の各制御ステップにおいて、制御コマンドを生成するために不確実性を表す確率的機会制約を含む不等式制約付き非線形動的最適化問題を解くことを含み、予測コントローラは、動的最適化問題を、終了条件が満たされるまで、状態および制御変数の固定値についての予測ホライズン内における確率的機会制約の共分散行列の伝搬と、共分散行列の固定値についての予測ホライズン内における状態および制御変数の最適化とを交互に行う2レベル最適化に基づいて、解き、方法はさらに、制御コマンドを使用してシステムの動作を制御することを含む。
本発明のいくつかの実施形態は、不確実性を有するシステムまたは確率論的予測コントローラを使用するシステムの動作を制御するためのシステムおよび方法を提供する。確率論的予測コントローラの一例は、制御されるシステムのモデルと不確実性のモデルとに基づいて制御入力を決定する確率論的モデル予測制御(SMPC:stochastic model predictive control)である。
図1Aは、いくつかの実施形態に係る、状態推定器131を介して予測コントローラ110に接続された、不確実性125を有する一例としてのシステム120を示す。いくつかの実装形態において、予測コントローラは、システムの動的モデル140に従ってプログラムされるモデル予測コントローラ(MPC:model predictive controller)である。モデルは、現在および以前の入力111と以前の出力103との関数として、ある時間にわたるシステム120の状態および出力103の変化を表す方程式のセットであってもよい。モデルは、システムの物理的および動作上の制限を表す制約142を含み得る。動作中、コントローラは、システムの所望の挙動を示すコマンド101を受ける。コマンドは、たとえばモーションコマンドであってもよい。コマンド101を受けたことに応じて、コントローラは、不確実性125を有する実システム120に対する入力として機能する制御信号111を生成する。この入力に応じて、システムは、システムの出力103を更新する。システム103の出力の測定値に基づいて、推定器は、システム121の推定された状態を更新する。システム121の推定された状態は、コントローラ110に状態フィードバックを与える。
本明細書で言及されるシステム120は、電圧、圧力、力、トルク等の物理量に、場合によっては関連付けられる、何らかの操作入力信号111(入力)によって制御され、以前の状態から現在の状態へのシステムの状態の遷移を示す電流、流量、速度、位置等の物理量に、場合によっては関連付けられる、いくつかの制御された出力信号103(出力)を返す、任意の機械またはデバイスであってもよい。出力値は、部分的にシステムの以前の出力値に関連し、部分的に以前および現在の入力値に関連する。以前の入力および以前の出力に対する依存性は、システムの状態で符号化される。システムの動作、たとえば、システムの構成要素のモーションは、何らかの入力値の適用後にシステムによって生成される出力値のシーケンスを含み得る。
不確実性125は、システム120に作用する任意の外部外乱、力、またはトルクを含む任意の時変不確実性、任意のモデル化されていないダイナミクス、または不確実な摩擦係数、物体の質量、もしくは実システム120の物理的挙動を記述する動的モデル方程式内の不確実な係数およびパラメータ等の、物理量における任意の不確実性である可能性がある。MPCコントローラのほとんどの実装形態は、コントローラの計算の複雑さを低減するために、または物理的挙動の一部があまりにも複雑でそのためにモデル化するのが困難または不可能であることが理由で、単純化された動的モデル140を使用し、その結果、実システム内の大量の物理的挙動がモデル化されていない状態に留まる。なお、時不変不確実性は、状態およびパラメータ推定器131の一部として、オンラインまたはオフラインのいずれかで推定または学習され得るものである。
システム140の動的モデルは、現在の入力および以前の入力と以前の出力との関数として、システム出力が時間とともにどのように変化するかを記述する、数学的方程式のセットを含み得る。システムの状態は、システムのモデルおよび将来の入力とともにシステムの将来のモーションを一意に定義することができる、一般的に時間とともに変化する任意の情報のセット、例として現在の入力および出力ならびに以前の入力および出力の適切なサブセットである。実システム120は、出力、入力、および場合によってはシステムの状態が動作することを可能にされる範囲を制限する物理的制限および仕様制約142を受ける可能性がある。
コントローラ110は、固定または可変制御周期サンプリング間隔で、システム121の推定状態および所望のモーションコマンド101を受信し、この情報を使用して、システムを動作させるための入力、たとえば制御信号111を決定する、ハードウェアで実現することができる、または、プロセッサ、たとえばマイクロプロセッサで実行されるソフトウェアプログラムとして実現することができる。
推定器131は、固定または可変制御周期サンプリング間隔でシステムの出力103を受信し、新たなおよび以前の出力測定値を使用して、システム120の推定状態121を決定する、ハードウェアで実現することができる、または、コントローラ110と同じまたは異なるプロセッサのいずれかであるプロセッサで実行されるソフトウェアプログラムとして実現することができる。
図1Bは、いくつかの実施形態に係る、状態推定器131および不確実性推定器132を介して確率論的予測コントローラ150に接続される、不確実性125を有する一例としてのシステム120を示す。いくつかの実装形態において、確率論的予測コントローラは、システムおよび不確実性の動的モデル140に従ってプログラムされる、確率論的モデル予測コントローラ(SMPC)である。動的モデルは、不確実性125と、システムの挙動に対するその関係とをモデル化するための不確実性モデル141を含む。不確実性モデルは、不確実性と、システムの動的挙動を記述する動的モデル方程式との間の線形関係および/または非線形関係のモデルを含む。加えて、不確実性モデルは、動的モデルにおける時変不確実性の各々についての確率分布のモデルを含む。
本発明のいくつかの実施形態において、確率論的予測コントローラ150のための動的モデル140は、1つまたは複数の確率的機会制約143を含み得る。システムに対する物理的制限および仕様制約のうちのいずれも、対応する制約に違反する確率が何らかの確率しきい値未満であることを強制することを意図する、1つまたは複数の確率的機会制約143として定式化することができる。
本発明のいくつかの実施形態において、不確実性推定器132は、たとえば確率論的予測コントローラ150によって使用される動的モデル140の不確実性のうちの1つまたは複数についての確率分布の一次および高次モーメントの推定値122を提供する。本発明のいくつかの実施形態において、状態推定器131および不確実性推定器132はともに、1つの推定器構成要素130において実現され、これは、固定または可変制御期間サンプリング間隔でシステム103の出力を受信し、新たなおよび以前の出力測定値を使用して、システム120の推定状態121および不確実性125の推定不確実性122を決定する。
図2Aは、いくつかの実施形態に係る、確率論的予測コントローラ150のブロック図を示し、これは、推定不確実性122を考慮して、システムの推定状態121および出力103がコマンド101に従うようにシステムを作動させる。確率論的予測コントローラ150は、たとえば、動的モデル140、不確実性モデル141、制約142、および不確実性125を有する実システム120の動作に関する確率的機会制約143を格納するためのメモリ202に接続された、単一の中央処理装置(CPU)または複数のCPUプロセッサ201の形態の、コンピュータを含む。
図2Bは、制御コマンドを生成するための不確実性を表す確率的機会制約を含む、確率論的予測コントローラ150の各制御ステップにおける不等式制約付き非線形動的最適化問題を解くための、2レベル最適化手順のブロック図を示す。2レベル最適化手順は、状態および制御変数265の固定値についての予測ホライズン内における確率的機会制約の共分散行列の伝搬250と、状態共分散行列255の固定値についての予測ホライズン内における状態および制御変数の最適化260とを交互に行う。2レベル最適化手順の終了条件が満たされると、制御信号111が計算される。
本発明のいくつかの実施形態において、2レベル最適化手順150は、3つの段階または計算ステップを含む。第1のステップは、線形-二次目的関数を準備し、ヤコビアン行列を計算することにより、線形化された等式および不等式制約を準備し、状態および制御値265の現在の軌道についての非線形共分散伝搬方程式を評価することによって制御ホライズンにわたる予測された状態値の不確実性を表す共分散行列の軌道を伝搬する(250)。第2のステップは、機会制約の各々を近似するための1つまたは複数の強化された不等式制約を用いて、結果として得られるブロック構造化QP下位問題を解くこと(270)からなる。第3および最終ステップは、最適状態および制御値の現在の軌道に対するニュートン型更新(275)を含む。
本発明のいくつかの実施形態において、確率論的予測コントローラにおいて不正確なヤコビアン情報を修正するために随伴勾配計算が使用され、結果として得られる2レベル最適化手順は、3つの主要な計算ステップからなる。第1のステップは、線形-二次目的関数を準備し、状態および制御変数に関してヤコビアン行列を計算することにより、線形化された等式および不等式制約を準備し、随伴ベースの勾配評価を計算し、予測された状態および制御値265の現在の軌道に対して共分散行列の軌道を伝搬すること(250)によって、目的および制約関数の各々から共分散行列を数値的に削除する。第2のステップは、機会制約の各々を近似するための1つまたは複数の強化された不等式制約を用いて、結果として得られるブロック構造化QP下位問題を解くこと(270)からなる。第3および最終ステップは、最適状態および制御値の軌道のニュートン型更新(275)、ならびにラグランジュ乗数の対応する更新の拡張を含む。
図3Aは、本発明のいくつかの実施形態に係る、システムの現在の状態推定値121、不確実性推定値122、および制御コマンド101を考慮して制御信号111を計算する確率論的予測コントローラ150を実現する確率論的非線形モデル予測制御(SNMPC:stochastic nonlinear model predictive control)のためのシステムおよび方法のブロック図を示す。具体的には、SNMPCは、各制御時間ステップにおいて制約付き最適化問題350を解くことにより、制御解を、たとえば、システム360の予測時間ホライズンにわたる将来の最適なまたはほぼ最適な制御入力のシーケンスを含む解ベクトル365を、計算する。この最適化問題350における目的関数、等式および不等式制約のデータ345は、動的モデルおよびシステム制約340、システムの現在の状態推定値121、推定不確実性122および制御コマンド101に依存する。
本発明の実施形態は、連続時間SNMPC問題を不等式制約付き非線形動的最適化問題として定式化するために、直接最適制御方法を使用する。本発明のいくつかの実施形態は、ニュートン型方法に基づく反復手順と、最適化問題に対する実現可能性および最適性条件の連続線形化とを使用して、不等式制約付き最適化問題350を正確にまたは近似的に解くために、導関数ベースの最適化アルゴリズムを使用する。そのようなニュートン型の最適化アルゴリズムの例は、内点法(IPM)および逐次二次計画法(SQP)を含む。本発明のいくつかの実施形態は、不等式制約付き最適化問題350が、最適制御構造化最適化問題(OCP)の形態を有し、導関数ベースの最適化アルゴリズムの実現を利用する構造を、各制御時間ステップにおいて解ベクトル365を計算するために使用できる、という認識に基づいている。
本発明のいくつかの実施形態において、不等式制約付き最適化問題350の解は、現在の制御時間ステップにおいて不等式制約付き最適化問題350を解く計算労力を低減するために、解の推測としてメモリから読み出すことができる、以前の制御時間ステップからの予測時間ホライズンにわたる正確なまたは近似状態および/または制御値310を使用する。以前の制御時間ステップで解の情報から解の推測310を計算するというこの概念は、最適化アルゴリズムのウォームスタートまたはホットスタートと呼ばれ、本発明のいくつかの実施形態においてSNMPCコントローラの必要な計算労力を低減することができる。同様に、対応する解ベクトル365を使用して、次の制御時間ステップ360のための正確なまたは近似状態および/または制御値のシーケンスを更新し格納することができる。
本発明のいくつかの実施形態において、非線形不等式制約355は、凸および/または非凸制約のいずれかを含む、任意の非線形平滑関数によって定義することができる。本発明の実施形態において、不等式制約355のうちの1つまたは複数は、対応する不等式制約に違反する確率が何らかの確率しきい値、すなわちバックオフ係数値を下回ることを保証することを意図する、確率的機会制約として、定義することができる、すなわち、確率的機会制約についてはαi>0、標準的な決定論的不等式制約についてはαi=0である。なお、決定論的不等式制約は、対応する不等式制約が状態および制御値の軌道の期待値に対して充足されることを保証することを意図している。
不等式制約の各々に対する個々の強化に基づく、確率的機会制約355の近似定式化を使用し、得られた不等式制約付き非線形動的最適化問題を、最適性および実行可能性条件の連続線形化に基づいたニュートン型最適化アルゴリズムを用いて、解くことができる。そのようなニュートン型最適化アルゴリズムの例は、内点法(IPM)および逐次二次計画法(SQP)を含む。本発明のいくつかの実施形態は、SQPアルゴリズムが、SQP最適化アルゴリズムの各反復において、確率論的非線形OCPの二次計画(QP)近似を、不等式制約の各々および強化された確率的機会制約の各々について、目的関数の線形-二次近似、離散化されたシステムダイナミクスについての線形化ベースの近似、離散時間共分散伝搬方程式、および線形化ベースの近似に基づいて解く、という認識に基づいている。本発明のいくつかの実施形態において、目的関数351におけるステージおよび/またはターミナルコストは、凸関数および/または非凸関数のいずれかを含む、任意の線形、線形-二次および/または非線形平滑関数によって定義することができる。最適制御問題の目的関数351は、予測時間ホライズンの各時点に対応するコスト項を含み得る。いくつかの実施形態において、目的関数は、確率論的予測コントローラ150におけるコスト関数の基準追跡型定式化をもたらす、予測時間ホライズンの各時点における基準出力値のシーケンスからのシステムの何らかの出力関数の偏差の(非線形)最小二乗型ペナライザーションを含む。
図5Cは、確率論的予測コントローラの状態共分散伝搬の一部としてフィードバック制御アクションを考慮に入れるための非線形システムダイナミクスの事前安定化を示すブロック図である。いくつかの実施形態は、離散時間ダイナミクス520および時変外乱525を考慮して事前安定化非線形システムダイナミクス560を定式化するためのフィードバック制御アクションのパラメータ化に基づく。
なお、図5Cおよび図5Dのフィードバック制御アクションは、1つの制御ステップの動的最適化問題における予測時間ホライズンにわたる将来のフィードバック制御アクションの予測であり、したがって、これらのフィードバック制御アクションは、図1の予測コントローラ110へのシステム121の推定状態の実際のフィードバックと混同されてはならない。
図6Aは、連続局所線形化に基づく近似605の使用を通して、確率論的予測コントローラにおける各制御時間ステップで制約付き最適制御構造化非線形計画(NLP)350を解くための、反復導関数ベースの最適化手順のブロック図を示す。NLPに対する解の推測601はこの局所近似を構築するために使用され、制約付きNLPの局所近似に対する解610は予測時間ホライズンにわたる状態、制御、および状態共分散値の現在のシーケンスの更新615のために使用され、結果として、アルゴリズム手順の各反復において制約付きNLPに対する現在の解の推測601が更新される。最適化手順の各反復は、制約付きNLPに対する解が発見されたか否かおよび/または反復の最大数に到達したか否かの確認607を行う。終了条件607が満たされる場合は、制御解365が発見されており、そうでない場合、最適化アルゴリズムの次の反復において局所線形化ベースの近似605を構築するために、制約ヤコビアン行列(の近似)の評価620が行われる。以前の制御時間ステップからの状態および制御値310を使用して、制約付きNLP601の初期解推測および線形化ポイントを形成することができる。
非線形目的および制約関数345に基づき、予測時間ホライズンにわたる状態、制御および状態共分散値の軌道を含む現在の解推測を線形化ポイント601として使用して、アルゴリズム手順の各反復においてNLP605への局所近似が構築される。これを目的として、複雑な非線形システムダイナミクスおよび/または非線形不等式制約の離散化システムの線形化を形成するために、制約ヤコビアン行列の計算または近似620が必要である。局所近似の解がNLP607に対して十分に正確な解を形成する場合、最適な制御解365が得られる。代わりに、反復の最大数に到達すると(607)、準最適および/または実現不可能な解が得られる(365)。十分な精度を有するNLPに対する解がまだ発見されず、かつ反復の最大数にまだ到達していない場合(607)、局所近似610に対する解は、予測時間ホライズン615にわたる状態、制御および状態共分散値の軌道を更新し、NLP601に対する解推測を更新するために使用される。
連続局所近似605の使用を通して、各制御時間ステップで、不等式制約付き最適制御構造化非線形計画(NLP)350を解くために、異なるタイプの最適化アルゴリズムを使用することができる。いくつかの実施形態は、逐次二次計画法(SQP)に基づいており、この場合、各反復において元のNLPへの局所近似として二次計画(QP)が構築され解決される。代わりに、いくつかの実施形態は、内点(IP)法に基づいており、この場合、各局所近似は、不等式制約に対応する相補性条件が概ね平滑化される、NLPのための最適性の一次必要条件の線形化である。いくつかの実施形態において、バリア関数が、不等式制約を反復的に強制するために使用され、各反復は、バリア再定式化問題への局所近似を構築し解決する。
導関数ベースの最適化アルゴリズムは、各反復において局所下位問題を構築し(605)解く(610)ときに、制約ヤコビアン行列およびヘッセ行列に対して異なるニュートン型近似技術を使用することができる。いくつかの実施形態は、正確な制約ヤコビアン行列620の計算による、制約関数のうちの一部またはすべての正確な線形化に基づく。いくつかの実施形態は、代わりに、準ニュートン型更新式を使用し、低ランク更新技術を通して制約ヤコビアン行列への近似を反復的に更新する。同様に、NLPのラグランジュヘッセ行列についても、異なるニュートン型近似技術を使用することができる。いくつかの実施形態は、NLPへの各局所近似を構築するときに、ラグランジュの正確なヘッセ行列の評価に基づく。いくつかの実施形態は、代わりに、準ニュートン型更新式を使用し、対称低ランク更新技術を通してヘッセ行列への近似を反復的に更新する。NLPの目的関数が(非線形)最小二乗型コスト項を含む場合、いくつかの実施形態は、代わりにガウス-ニュートン型ヘッセ近似に基づく。
本発明のいくつかの実施形態において、非線形不等式制約634のうちの1つまたは複数は、1つまたは複数の非線形であるが凸状の不等式制約によって局所的に近似することができ、結果として、確率論的予測コントローラの逐次凸計画法(SCP:sequential convex programming)の実現において解かれる(610)必要がある局所凸計画(CP:convex program)近似605が得られる。たとえば、いくつかの実施形態において、1つまたは複数の確率的機会制約は、凸二次円錐制約および/または凸二次不等式制約によって局所的に近似されてもよい。凸円錐制約の各々は、状態、制御および/または共分散行列変数の線形的な組み合わせが凸円錐の内側に制限されることを課す。凸円錐の例は、正象限、正の半定値行列のセットおよび/または二次円錐を含み得る。本発明のいくつかの実施形態は、最適制御構造化制約付きNLP350の局所凸計画近似605が、線形計画(LP:linear program)、二次計画(QP)、二次制約付き二次計画(QCQP:quadratically constrained quadratic program)、二次円錐計画(SOCP:second-order cone program)、または半定値計画(SDP:semidefinite program)である可能性があり、これらのクラスの問題の各々を凸最適化アルゴリズムを利用する構造によって解くことができる、という認識に基づいている。
図10Aは、いくつかの実施形態の原理を採用する確率論的予測コントローラ1002を含む車両1001の概略図を示す。本明細書で使用される車両1001は、乗用車、バス、またはローバー等の任意の種類の車輪自動車であればよい。また、車両1001は、自動運転または半自動運転車両であってもよい。たとえば、いくつかの実施形態は車両1001のモーションを制御する。モーションの例は、車両1001のステアリングシステム1003によって制御される車両の横方向モーションを含む。一実施形態において、ステアリングシステム1003はコントローラ1002によって制御される。これに加えてまたはこれに代えて、ステアリングシステム1003は車両1001の運転者によって制御されてもよい。
この車両はまた、コントローラ1002によってまたは車両1001の他の構成要素によって制御可能なエンジン1006を含み得る。この車両はまた、周囲環境を検知する1つ以上のセンサ1004を含み得る。センサ1004の例は、測距装置、レーダー、ライダー、およびカメラを含む。車両1001はまた、その現在のモーション量および内部ステータスを検知する1つ以上のセンサ1005を含み得る。センサ1005の例は、全地球測位システム(GPS)、加速度計、慣性計測装置、ジャイロスコープ、シャフト回転センサ、トルクセンサ、撓みセンサ、圧力センサ、および流量センサを含み得る。センサは情報をコントローラ1002に提供する。この車両は、有線または無線通信チャネルを介したコントローラ1002通信機能を可能にするトランシーバ1006を備えていてもよい。
図10Bは、いくつかの実施形態に係る、確率論的予測コントローラ1002と車両1001のコントローラ1020との間のやり取りの概略図を示す。たとえば、いくつかの実施形態において、車両1001のコントローラ1020は、車両1020の回転および加速を制御するステアリングコントローラ1025およびブレーキ/スロットルコントローラ1030である。このような場合、確率論的予測コントローラ1002は、コントローラ1025および1030に対し制御入力を出力して車両の状態を制御する。コントローラ1020はまた、確率論的予測コントローラ1002の制御入力をさらに処理する、ハイレベルコントローラ、たとえば車線維持支援コントローラ1035を含み得る。いずれの場合も、コントローラ1020は、車両のモーションを制御するために、確率論的予測コントローラ1002の出力を用いて車両のステアリングホイールおよび/またはブレーキ等の車両の少なくとも1つのアクチュエータを制御する。
10Cは、自動または半自動制御車両1050の概略図を示し、本発明の実施形態を使用することにより、この車両に対し、動的に実現可能であり多くの場合最適である軌道1055を計算することができる。生成された軌道は、車両を特定の道路境界1052の内部に留めることを意図しており、かつ、他の非制御車両を、すなわち制御車両1050に対する障害物1051を回避することを意図している。いくつかの実施形態において、障害物1051の各々は、制約付き最適制御問題の時間または空間式における1つまたは複数の不等式制約によって表すことができる。たとえば、確率論的モデル予測コントローラを実現するように構成された実施形態に基づいて、自動または半自動制御車両1050は、たとえば、左側もしくは右の別の車両を追い越す、またはその代わりに道路1052の現在の車線内の別の車両の後方に留まる等の決断を、リアルタイムで行うことができる。本発明の実施形態は、車両1050の現在の状態および予測された状態に関する不確実性、車両モデルのパラメータに関する不確実性、ならびに、たとえば自動または半自動制御車両1050の位置から一定の距離以内にある障害物1051を含む、環境の現在の状態および予測された状態に関する不確実性を、直接考慮する、SNMPCコントローラに基づく。
図10Dは、本発明の実施形態を使用することにより、上側の道路境界1060および下側の道路境界1061の内部の急な車線変更操作の動的に実現可能かつ最適な軌道1070を追跡することを意図しているSNMPCコントローラによって制御される、車両1065の概略図を示す。図10Dは、第1の時点における、SNMPCコントローラ1071による予測状態軌道の不確実性の伝搬を含む車両位置1065と、第2の時点における、車両位置1066および対応する予測状態不確実性の伝搬1072と、第3の時点における、車両位置1067および対応する予測状態不確実性の伝搬1073とを示す。本発明のいくつかの実施形態に係る確率的機会制約を伴う確率論的予測コントローラの使用は、制御された車両が、何らかの確率しきい値を下回るように道路境界制約1060および/または1061に違反する確率を許容する。より具体的には、図10Dは、第2の時点における予測状態軌道1072の確率論的チューブが上側道路境界制約1060に達すること(1075)を示し、これは、不確実性の下で制御されるシステムの決定論的制約と確率的機会制約の両方を充足することを意図している確率論的予測コントローラの挙動を示す。
システムおよびその環境の不確実性の例は、車両のタイヤと路面との間の摩擦挙動に関連する任意のパラメータ、たとえば車両を制御しながらオフラインおよび/またはオンラインのいずれかで学習または推定することができる、パセイカ(Pacejka)タイヤ-力モデルのパラメータを含み得る。推定パラメータ値および推定不確実性は、本発明の実施形態に係る、確率論的非線形モデル予測コントローラの直接最適制御問題定式化における時変および不確実外乱変数として定義することができる。
上記本発明の実施形態は、数多くのやり方のうちのいずれかで実現することができる。たとえば、これらの実施形態は、ハードウェア、ソフトウェア、またはその組み合わせを用いて実現されてもよい。ソフトウェアで実現される場合、ソフトウェアコードは、任意の適切なプロセッサまたはプロセッサの集まりにおいて、これが1つのコンピュータに設けられていても複数のコンピュータに分散されていても、実行することができる。このようなプロセッサは、1以上のプロセッサが集積回路コンポーネント内にある集積回路として実現されてもよい。しかしながら、プロセッサは、任意の適切なフォーマットの回路を用いて実現されてもよい。
また、本明細書で概要が示された各種方法またはプロセスは、さまざまなオペレーティングシステムまたはプラットフォームのうちのいずれか1つを採用する1つ以上のプロセッサ上で実行可能なソフトウェアとして符号化されてもよい。加えて、このようなソフトウェアは、複数の適切なプログラミング言語および/またはプログラミングもしくはスクリプトツールのうちのいずれかを用いて記述されてもよく、また、フレームワークもしくは仮想マシン上で実行される、実行可能なマシン言語コードまたは中間符号としてコンパイルされてもよい。典型的に、プログラムモジュールの機能は、各種実施形態において所望される通りに組み合わされても分散されてもよい。
また、実施形態は、方法として実施されてもよく、その一例が提供されている。この方法の一部として実行される動作の順序は任意の適切なやり方で決められてもよい。したがって、実施形態は、例示されている順序と異なる順序で動作が実行されるように構成されてもよく、これは、いくつかの動作を、例示されている実施形態では一連の動作として示されるが、同時に実行することを含み得る。
本発明を好ましい実施形態の例を用いて説明してきたが、その他の各種応用および修正を本発明の精神および範囲の中で行い得ることが理解されるはずである。したがって、以下の請求項の目的は、本発明の真の精神および範囲に含まれるこのような変形および修正のすべてをカバーすることである。