(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023174507
(43)【公開日】2023-12-07
(54)【発明の名称】制約下での間接なデータドリブン制御のためのシステムおよび方法
(51)【国際特許分類】
G05B 13/04 20060101AFI20231130BHJP
【FI】
G05B13/04
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023035252
(22)【出願日】2023-03-08
(31)【優先権主張番号】17/804,487
(32)【優先日】2022-05-27
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ビノード・アブラハム・ピィ
(72)【発明者】
【氏名】ママコウカス・イヨルゴス
(72)【発明者】
【氏名】ディ・カイラノ・ステファノ
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA03
5H004GA08
5H004GA29
5H004GB11
5H004GB12
5H004GB15
5H004GB16
5H004HA07
5H004HA08
5H004HB07
5H004HB08
5H004KC22
5H004KC24
5H004KC27
5H004KC28
5H004KC33
5H004KC35
5H004KD31
5H004KD61
5H004KD62
(57)【要約】 (修正有)
【課題】遅延やオーバーシュートのない最適態様で制御動作を用いてそのようなシステムを制御し、および制御の安定性を確保するための制御ポリシーを提供する。
【解決手段】制約を受けるデバイスの運動を制御するために、状態のシーケンスおよび対応する制御入力は、リフトされた空間に変換されて、線形制御則に従って、リフトされた状態とリフトされた状態の近似との間のあてはめ誤差を最小化することによって、リフトされた空間におけるデバイスのダイナミクスの線形モデルを求める。あてはめ誤差は、あてはめ誤差上でのリプシッツ連続性の包絡線を境界とし、関数として誤差モデルを定義し、誤差モデルの進化に基づいて再定式化された制約の下、線形モデルに従って、リフトされた空間において最適制御問題を解くことを可能にする。リフトされた空間内の制御入力は、制御のために元の空間に変換し戻される。
【選択図】
図1B
【特許請求の範囲】
【請求項1】
デバイスの運動を制御するためのコントローラであって、前記デバイスは、前記デバイスの運動に対する制約を受け、前記コントローラは、プロセッサと、命令が記憶されたメモリとを備え、前記命令は、前記プロセッサによって実行されると、前記コントローラに、
前記デバイスの状態のシーケンスと、前記デバイスの前記状態のシーケンス内の状態を前記デバイスの非線形ダイナミクスに従って遷移させる対応する制御入力のシーケンスとを収集させ、各状態および各制御入力は、前記状態の次元および前記制御入力の次元によって定義される次元を有する状態入力空間から選択され、前記命令は、前記プロセッサによって実行されると、前記コントローラに、さらに、
前記状態および前記制御入力を、前記状態入力空間から、前記状態入力空間の次元よりも大きい次元を有するリフトされた空間に変換して、リフトされた制御入力のシーケンスに従って遷移されるリフトされた状態のシーケンスを生成させ、
線形制御則に従って、前記リフトされた状態と前記リフトされた状態の近似との間のあてはめ誤差を最小化することによって、前記リフトされた制御入力に従って前記リフトされた状態の遷移を近似する、前記リフトされた空間内の前記デバイスのダイナミクスの線形モデルを求めさせ、
前記あてはめ誤差上でのデータドリブンによるリプシッツ連続性の包絡線を境界とし、前記リフトされた状態および前記リフトされた制御入力に対してパラメータ化された関数として、モデル化誤差を求めさせ、
予測範囲にわたって、前記リフトされた空間内で最適制御問題を解かせ、前記最適制御問題は、リフトされた次の制御入力を生成するために、前記予測範囲内の前記誤差モデルの進化に基づいて再定式化された前記制約の下、前記線形モデルに従って前記デバイスの運動を最適化し、前記命令は、前記プロセッサによって実行されると、前記コントローラに、さらに、
次の制御入力を生成するために、前記リフトされた次の制御入力を前記状態入力空間に変換させ、
前記次の制御入力を前記デバイスのアクチュエータに送信して、前記デバイスの前記状態を変更させる、コントローラ。
【請求項2】
前記デバイスの前記ダイナミクスの線形モデルは、クープマンベースのモデル化を使用して求められる、請求項1に記載のコントローラ。
【請求項3】
前記モデル化誤差の前記関数は、回帰モデル、ニューラルネットワーク、ガウス過程、および再生核ヒルベルト空間に基づくモデルのうちの1つまたは組合せを含む、請求項1に記載のコントローラ。
【請求項4】
前記モデル化誤差の前記関数は、前記あてはめ誤差の前記データドリブンの包絡線に対して統計的境界を強制する、請求項1に記載のコントローラ。
【請求項5】
前記モデル化誤差の前記関数は、前記あてはめ誤差の前記データドリブンの包絡線に対して決定論的境界を強制する、請求項1に記載のコントローラ。
【請求項6】
前記状態入力空間における前記制約は、再定式化された制約を満たす、前記リフトされた空間における前記最適制御問題の解が、前記状態入力空間における前記制約を満たすことを保証されるように、前記リフトされた空間に再定式化される、請求項1に記載のコントローラ。
【請求項7】
前記リフトされた空間内の前記再定式化された制約は、前記制御の再帰的な実行可能性または安定性を可能にするために追加の制約で補完される、請求項1に記載のコントローラ。
【請求項8】
前記ダイナミクスの線形モデルを介して評価される制御コマンドのシーケンスが、前記リフトされた空間において前記デバイスの代理軌道を生成し、前記あてはめ誤差に対する前記リプシッツ連続性は、所定の半径を有するハイパーシリンダとして定義され、前記所定の半径は、前記代理軌道および前記半径に対する凸制約の集合を介して前記代理軌道と関係がある、請求項1に記載のコントローラ。
【請求項9】
前記状態入力空間と前記リフトされた空間との間の前記変換は、所定の非線形変換である、請求項1に記載のコントローラ。
【請求項10】
前記リフトされた空間における前記最適制御問題は、凸問題である、請求項1に記載のコントローラ。
【請求項11】
前記デバイスは、自律車両、移動ロボット、航空ドローン、地上車両、航空機、水上車両、および水中車両のうちの1つまたは組合せを含む、請求項1に記載のコントローラ。
【請求項12】
前記コントローラはさらに、
前記予測範囲にわたってモデル予測制御(MPC)を使用して前記デバイスを制御するよう構成され、前記MPCは、リフトされた制御入力のシーケンスを生成するために、前記予測範囲にわたって前記リフトされた空間内で前記最適制御問題を解くことを含み、前記コントローラはさらに、
前記次の制御入力を生成するために、前記リフトされた制御入力のシーケンス内の少なくとも初期のリフトされた制御入力を前記状態入力空間に変換するよう構成される、請求項1に記載のコントローラ。
【請求項13】
前記コントローラはさらに、
前記次の制御入力を適用することによって変化した前記デバイスの状態を測定し、
前記測定された状態を前記リフトされた状態空間に変換し、
前記初期のリフトされた制御入力と、前記MPCによって前記初期のリフトされた制御入力について予測された対応するリフトされた状態と、前記リフトされた状態空間に変換された前記測定された状態とに基づいて、前記デバイスの前記ダイナミクスの線形モデルを更新するよう構成される、請求項12に記載のコントローラ。
【請求項14】
デバイスの運動を制御するための方法であって、前記デバイスは、前記デバイスの運動に対する制約を受け、前記方法は、前記方法を実現する記憶された命令と結合されるプロセッサを使用し、前記命令は、前記プロセッサによって実行されると、前記方法のステップを実行し、前記ステップは、
前記デバイスの状態のシーケンスと、前記デバイスの前記状態のシーケンス内の状態を前記デバイスの非線形ダイナミクスに従って遷移させる対応する制御入力のシーケンスとを収集することを含み、各状態および各制御入力は、前記状態の次元および前記制御入力の次元によって定義される次元を有する状態入力空間から選択され、前記ステップはさらに、
前記状態および前記制御入力を、前記状態入力空間から、前記状態入力空間の次元よりも大きい次元を有するリフトされた空間に変換して、リフトされた制御入力のシーケンスに従って遷移されるリフトされた状態のシーケンスを生成することと、
線形制御則に従って、前記リフトされた状態と前記リフトされた状態の近似との間のあてはめ誤差を最小化することによって、前記リフトされた制御入力に従って前記リフトされた状態の遷移を近似する、前記リフトされた空間内の前記デバイスのダイナミクスの線形モデルを求めることと、
前記あてはめ誤差上でのデータドリブンによるリプシッツ連続性の包絡線を境界とし、前記リフトされた状態および前記リフトされた制御入力に対してパラメータ化された関数として、モデル化誤差を求めることと、
予測範囲にわたって、前記リフトされた空間内で最適制御問題を解くこととを含み、前記最適制御問題は、リフトされた次の制御入力を生成するために、前記予測範囲内の前記誤差モデルの進化に基づいて再定式化された前記制約の下、前記線形モデルに従って前記デバイスの運動を最適化し、前記ステップはさらに、
次の制御入力を生成するために、前記リフトされた次の制御入力を前記状態入力空間に変換することと、
前記次の制御入力を前記デバイスのアクチュエータに送信して、前記デバイスの前記状態を変更することとを含む、方法。
【請求項15】
プロセッサによって実行可能であり、デバイスの運動を制御するための方法を実行するためのプログラムが実施される、非一時的なコンピュータ可読記憶媒体であって、前記デバイスは、前記デバイスの運動に対する制約を受け、前記方法は、
前記デバイスの状態のシーケンスと、前記デバイスの前記状態のシーケンス内の状態を前記デバイスの非線形ダイナミクスに従って遷移させる対応する制御入力のシーケンスとを収集することを含み、各状態および各制御入力は、前記状態の次元および前記制御入力の次元によって定義される次元を有する状態入力空間から選択され、前記方法はさらに、
前記状態および前記制御入力を、前記状態入力空間から、前記状態入力空間の次元よりも大きい次元を有するリフトされた空間に変換して、リフトされた制御入力のシーケンスに従って遷移されるリフトされた状態のシーケンスを生成することと、
線形制御則に従って、前記リフトされた状態と前記リフトされた状態の近似との間のあてはめ誤差を最小化することによって、前記リフトされた制御入力に従って前記リフトされた状態の遷移を近似する、前記リフトされた空間内の前記デバイスのダイナミクスの線形モデルを求めることと、
前記あてはめ誤差上でのデータドリブンによるリプシッツ連続性の包絡線を境界とし、前記リフトされた状態および前記リフトされた制御入力に対してパラメータ化された関数として、モデル化誤差を求めることと、
予測範囲にわたって、前記リフトされた空間内で最適制御問題を解くこととを含み、前記最適制御問題は、リフトされた次の制御入力を生成するために、前記予測範囲内の前記誤差モデルの進化に基づいて再定式化された前記制約の下、前記線形モデルに従って前記デバイスの運動を最適化し、前記方法はさらに、
次の制御入力を生成するために、前記リフトされた次の制御入力を前記状態入力空間に変換することと、
前記次の制御入力を前記デバイスのアクチュエータに送信して、前記デバイスの前記状態を変更することとを含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概してシステム制御に関し、より詳細には、制約付きシステムの間接なデータドリブン制御のための方法および装置に関する。
【背景技術】
【0002】
制御システムエンジニアリングにおける制御理論は、エンジニアリングされたプロセスおよび機械において連続的に動作する動的システムの制御を扱う数学の下位分野である。本発明の目的は、遅延やオーバーシュートのない最適態様で制御動作を用いてそのようなシステムを制御し、および制御の安定性を確保するための制御ポリシーを開発することである。
【0003】
例えば、モデル予測制御(MPC)などの最適化ベースの制御および推定技術は、システムダイナミクスおよび制約を直接考慮に入れることができるモデルベースの設計フレームワークを可能にする。MPCは、様々な複雑さの動的システムを制御するために多くの用途で使用される。そのようなシステムの例は、生産ライン、自動車エンジン、ロボット、数値制御機械加工、衛星、および発電機を含む。しかしながら、いくつかの状況では、制御されたシステムの分析モデルは、入手可能でないか、リアルタイムで更新することが困難であるか、または不正確である。そのようなケースの例は、ロボット工学、建築物制御(HVAC)、車両、スマートグリッド、工場オートメーション、輸送、セルフチューニングマシン、および交通ネットワークにおいて広く見られる。
【0004】
動的システムの物理的モデルがない場合、いくつかの制御方法は、システムダイナミクスを安定させるかまたは定量化可能な制御関連性能を埋め込むフィードバック制御ポリシーを構築するために、これらのシステムによって生成される動作データを利用する。制御ポリシーを設計するためのデータの使用は、データドリブン制御と呼ばれる。データドリブン制御方法には2種類あり、まずシステムのモデルを構築し、次いでそのモデルを利用してコントローラを設計する間接的な方法、または中間モデル構築ステップなしでデータから制御ポリシーを直接構築する直接的な方法がある。
【0005】
間接的な方法の欠点は、モデル構築段階における大量のデータの潜在的な必要性である。逆に、直接的な方法は、必要とするデータが、より少ない。しかしながら、現状最新の直接制御方法であっても、閉ループ制御システムにおいて安全な動作を維持するのに不可欠な制約を取り扱うのは困難である。例えば、米国特許11,106,189を参照されたい。
【0006】
したがって、間接なデータドリブン制御方法のモデル構築段階のための大量のデータの要件を低減する必要がある。加えて、または代替として、制約下での最適化ベースの制御に適し、実用的なデータ量から学習される間接なデータドリブン制御のためのシステムおよび方法が必要とされている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【0008】
いくつかの実施形態の目的は、制約下での最適化ベースの制御に適した間接なデータドリブン制御のためのシステムおよび方法を提供することである。追加的または代替的に、間接的なデータドリブン制御が実用的なデータ量から学習されるように、間接的なデータドリブン制御方法のモデル構築段階のための大量のデータの要件を低減する必要がある。
【0009】
いくつかの実施形態は、間接なデータドリブン制御方法のモデル構築段階のための大量のデータの要件が、被制御デバイスのダイナミクスの物理的特性を正確に捕捉する正確なデータドリブンモデルを構築する要望に由来する、という認識に基づく。現代のシステムの完全な物理的特性ベースのモデルは、典型的には、偏微分方程式(PDE)または常微分方程式(ODE)によって捕捉されるため、そのようなモデルを捕捉するために必要とされるデータの量が実際に巨大となることは驚くべきことではない。したがって、現在のデータドリブン方法のほとんどは、システムの物理的ダイナミクスを捕捉するシステムのモデルを推定するのに適していない。
【0010】
いくつかの実施形態は、正確なデータドリブンモデルを構築したいという要望を、システムのダイナミクスの線形モデルを構築したいという要望で置き換えることができるという理解に基づいている。直感的には、線形モデルを構築することは、完全な物理的特性ベースのモデルを構築することよりも、必要とするデータが少ない場合があり、最適な制御のための多くの実際的な利点を提供する。例えば、線形モデルは、PDEまたはODEベースのモデルの非凸最適化よりも、むしろ凸最適化につながる。凸最適化は、コントローラの計算要件を低減し、組込みシステムとして実現され得る。
【0011】
しかしながら、線形制御は、有利であるが、不正確な運動推定につながり得る。さらに、これらの不正確さは、経時的に蓄積し、制約下で安全でない制御をもたらし得る。そのために、いくつかの実施形態の目的は、これらの不正確さを考慮することができる誤差モデルを構築することである。この手法は、不正確さを低減しようとするよりも有利であり、なぜならば、線形制御モデルは最適化に関与し、誤差は制約修正に関与するからであり、それは、より単純である。したがって、コントローラの複雑な部分を単純化して、間接なデータドリブン制御においてモデルを構築するために、およびそのモデルを使用するための計算リソースのために必要とされるデータの量を低減することができる。逆に、誤差関数は、単純化を考慮するために制約修飾子として別途使用される。
【0012】
しかしながら、いくつかの実施形態は、誤差モデルが、線形制御則だけでなく、この線形制御則の構築方法にも依存する、という別の認識に基づく。そのような態様において、誤差モデルは、誤差の蓄積に対処するために制御則のダイナミクスを捕捉してもよい。
【0013】
いくつかの実施形態は、線形制御則を構築する1つの方法は、リフトされた空間内でクープマン作用素を使用することによる、という認識に基づく。このようにして、再帰を使用して、および/または線形制御則の推定をリフトされた空間内のデータにあてはめることによって、制御則を構築することができる。線形制御則を構築するためのあてはめ手順のため、あてはめ誤差を使用して誤差モデルを構築することができる。たとえば、リフトされた状態およびリフトされた制御入力に対してパラメータ化された誤差関数は、あてはめ誤差上でのデータドリブンによるリプシッツ連続関数の包絡線を境界として求められ得る。
【0014】
したがって、一実施形態は、デバイスの運動を制御するためのコントローラを開示し、前記デバイスは、前記デバイスの運動に対する制約を受け、前記コントローラは、プロセッサと、命令が記憶されたメモリとを備え、前記命令は、前記プロセッサによって実行されると、前記コントローラに、前記デバイスの状態のシーケンスと、前記デバイスの前記状態のシーケンス内の状態を前記デバイスの非線形ダイナミクスに従って遷移させる対応する制御入力のシーケンスとを収集させ、各状態および各制御入力は、前記状態の次元および前記制御入力の次元によって定義される次元を有する状態入力空間から選択され、前記命令は、前記プロセッサによって実行されると、前記コントローラに、さらに、前記状態および前記制御入力を、前記状態入力空間から、前記状態入力空間の次元よりも大きい次元を有するリフトされた空間に変換して、リフトされた制御入力のシーケンスに従って遷移されるリフトされた状態のシーケンスを生成させ、線形制御則に従って、前記リフトされた状態と前記リフトされた状態の近似との間のあてはめ誤差を最小化することによって、前記リフトされた制御入力に従って前記リフトされた状態の遷移を近似する、前記リフトされた空間内の前記デバイスのダイナミクスの線形モデルを求めさせ、前記あてはめ誤差上でのデータドリブンによるリプシッツ連続性の包絡線を境界とし、前記リフトされた状態および前記リフトされた制御入力に対してパラメータ化された関数として、モデル化誤差を求めさせ、予測範囲にわたって、前記リフトされた空間内で最適制御問題を解かせ、前記最適制御問題は、リフトされた次の制御入力を生成するために、前記予測範囲内の前記誤差モデルの進化に基づいて再定式化された前記制約の下、前記線形モデルに従って前記デバイスの運動を最適化し、前記命令は、前記プロセッサによって実行されると、前記コントローラに、さらに、次の制御入力を生成するために、前記リフトされた次の制御入力を前記状態入力空間に変換させ、前記次の制御入力を前記デバイスのアクチュエータに送信して、前記デバイスの前記状態を変更させる。
【0015】
別の実施形態は、デバイスの運動を制御するための方法を開示し、前記デバイスは、前記デバイスの運動に対する制約を受け、前記方法は、前記方法を実現する記憶された命令と結合されるプロセッサを使用し、前記命令は、前記プロセッサによって実行されると、前記方法のステップを実行し、前記ステップは、前記デバイスの状態のシーケンスと、前記デバイスの前記状態のシーケンス内の状態を前記デバイスの非線形ダイナミクスに従って遷移させる対応する制御入力のシーケンスとを収集することを含み、各状態および各制御入力は、前記状態の次元および前記制御入力の次元によって定義される次元を有する状態入力空間から選択され、前記ステップはさらに、前記状態および前記制御入力を、前記状態入力空間から、前記状態入力空間の次元よりも大きい次元を有するリフトされた空間に変換して、リフトされた制御入力のシーケンスに従って遷移されるリフトされた状態のシーケンスを生成することと、線形制御則に従って、前記リフトされた状態と前記リフトされた状態の近似との間のあてはめ誤差を最小化することによって、前記リフトされた制御入力に従って前記リフトされた状態の遷移を近似する、前記リフトされた空間内の前記デバイスのダイナミクスの線形モデルを求めることと、前記あてはめ誤差上でのデータドリブンによるリプシッツ連続性の包絡線を境界とし、前記リフトされた状態および前記リフトされた制御入力に対してパラメータ化された関数として、モデル化誤差を求めることと、予測範囲にわたって、前記リフトされた空間内で最適制御問題を解くこととを含み、前記最適制御問題は、リフトされた次の制御入力を生成するために、前記予測範囲内の前記誤差モデルの進化に基づいて再定式化された前記制約の下、前記線形モデルに従って前記デバイスの運動を最適化し、前記ステップはさらに、次の制御入力を生成するために、前記リフトされた次の制御入力を前記状態入力空間に変換することと、前記次の制御入力を前記デバイスのアクチュエータに送信して、前記デバイスの前記状態を変更することとを含む。
【0016】
さらに別の実施形態は、プロセッサによって実行可能であり、デバイスの運動を制御するための方法を実行するためのプログラムが実施される、非一時的なコンピュータ可読記憶媒体であって、前記デバイスは、前記デバイスの運動に対する制約を受け、前記方法は、前記デバイスの状態のシーケンスと、前記デバイスの前記状態のシーケンス内の状態を前記デバイスの非線形ダイナミクスに従って遷移させる対応する制御入力のシーケンスとを収集することを含み、各状態および各制御入力は、前記状態の次元および前記制御入力の次元によって定義される次元を有する状態入力空間から選択され、前記方法はさらに、前記状態および前記制御入力を、前記状態入力空間から、前記状態入力空間の次元よりも大きい次元を有するリフトされた空間に変換して、リフトされた制御入力のシーケンスに従って遷移されるリフトされた状態のシーケンスを生成することと、線形制御則に従って、前記リフトされた状態と前記リフトされた状態の近似との間のあてはめ誤差を最小化することによって、前記リフトされた制御入力に従って前記リフトされた状態の遷移を近似する、前記リフトされた空間内の前記デバイスのダイナミクスの線形モデルを求めることと、前記あてはめ誤差上でのデータドリブンによるリプシッツ連続性の包絡線を境界とし、前記リフトされた状態および前記リフトされた制御入力に対してパラメータ化された関数として、モデル化誤差を求めることと、予測範囲にわたって、前記リフトされた空間内で最適制御問題を解くこととを含み、前記最適制御問題は、リフトされた次の制御入力を生成するために、前記予測範囲内の前記誤差モデルの進化に基づいて再定式化された前記制約の下、前記線形モデルに従って前記デバイスの運動を最適化し、前記方法はさらに、次の制御入力を生成するために、前記リフトされた次の制御入力を前記状態入力空間に変換することと、前記次の制御入力を前記デバイスのアクチュエータに送信して、前記デバイスの前記状態を変更することとを含む。
【図面の簡単な説明】
【0017】
【
図1A】本開示のいくつかの実施形態による、デバイスを制御するためのコントローラを示す図である。
【
図1B】本開示のいくつかの実施形態による、デバイスの運動を制御するための方法のブロック図を示す図である。
【
図1C】本開示の例示的な実施形態による、クープマンベースのモデル化を使用してデバイスの運動を制御するための方法のブロック図を示す図である。
【
図1D】本開示のいくつかの実施形態による、データドリブンによる最適コントローラ設計問題を示す図である。
【
図2A】本開示のいくつかの実施形態による、クープマンベースのモデル化に関与する構成要素の概略図を示す図である。
【
図2B】本開示のいくつかの実施形態による、クープマンベースのモデル化および関連付けられたモデル化誤差を使用して定義される線形モデルの定義を示す図である。
【
図3A】本開示のいくつかの実施形態による、代理軌道の定義および真の軌道へのその近接性を示す図である。
【
図3B】本開示のいくつかの実施形態による、制約を満たすために真の軌道に対する代理軌道に必要な制約厳格化を示す図である。
【
図4】本開示のいくつかの実施形態による、リプシッツ連続関数のために利用可能なデータドリブンな包絡線を示す図である。
【
図5】本開示のいくつかの実施形態による、提案された解決策が後退水平制御に組み込まれ得ることを示す図である。
【
図6】本開示の一実施形態による、制約集合に対応する制御不変集合の2次元投影の例を示す図である。
【
図7】本開示の一実施形態による、障害物を有する環境における初期状態から目標状態へのデバイスの運動を制御するための方法のブロック図を示す図である。
【
図8】本開示の方法およびシステム/コントローラを実現するためのコンピューティングデバイスを示す概略図である。
【発明を実施するための形態】
【0018】
詳細な説明
本開示の実施形態は、データを使用してデバイスの運動を制御するために運動軌道を最適化するためのコントローラを生成するための制御システムを開示し、各デバイスの運動が1つ以上の制約を満たすことを必要とする、事前に指定されたタスクが完了するように、ダイナミクスを記述する数学モデルの事前の知識を用いない。そのような制約の例は、目標位置によって表される対応する目標を達成すること、および安全な動作限界内に留まることを含む。デバイスの例は、工場オートメーションにおける車またはロボットなどの自律地上車両、空港面上の航空機、およびインフラストラクチャ監視または検査のためのドローンなどの無人航空機を含む。
【0019】
いくつかの実施形態の目的は、データのみを使用して、先験的に未知の動的制約を有するデバイスの運動軌道の最適化問題を解決することである。特に、いくつかの実施形態の目的は、制約付き最適制御問題を解決するための2つのアルゴリズムを考案することであり、第1のアルゴリズムは、デバイス上の過去の実験から収集されたデータを変換して、利用可能なデータと整合するデバイスの動的制約のための近似数学モデルを記述し、そのモデルにおける可能性のある誤差の特徴付けを提供し、第2のアルゴリズムは、事前に指定されたタスクを完了するようデバイスのリアルタイム計画および制御のために凸最適化問題を解決する。
【0020】
いくつかの実施形態は、適切に定義された高次元潜在空間において線形モデルを得るためにクープマン作用素理論を用いてもよい、という認識に基づく。ここで、潜在空間とは、デバイスの状態と状態入力対の履歴における非線形変換の集まりのスパンである。
【0021】
また、クープマン作用素理論に対する既存のアプローチは、制御中に計算された線形モデルに存在するモデル化誤差を無視することも、認識されている。モデル化誤差の省略は、タスクを完了するときに制約違反ならびに安全性および性能の損失を引き起こし得る。
【0022】
いくつかの実施形態は、モデル化誤差の評価が、予め指定されたデータ点におけるクープマン作用素設計の一部として既に利用可能である、という認識に基づく。具体的には、線形モデルを潜在空間内でデータにあてはめることからの残差は、関数近似器に提供され得る。次いで、関数近似器を利用して、初見の潜在状態および入力の対におけるモデル化誤差に対する境界を提供し得る。
【0023】
いくつかの実施形態は、関数近似器からの境界が、本開示では代理軌道と呼ばれる、制御入力の何らかのシーケンスについてクープマン作用素理論から導出される線形モデルを満たす軌道に有界集合の集まりを与える、という認識に基づく。これらの有界集合は、利用可能なデータと整合する任意の許容可能な動的制約に対応する軌道が、代理軌道の周囲に定義されるこれらの有界集合内にある、という特性を有する。
【0024】
いくつかの実施形態は、関数がリプシッツ連続であることを必要とする関数近似器が使用されてもよい、という認識に基づく。そのような関数近似器の場合、代理軌道の周りに定義される集合がハイパーシリンダであり、これらのハイパーシリンダの半径が凸制約を介して代理軌道および制御入力に関係付けられるようにすることも、認識される。したがって、凸最適化を使用して、タスクに関係するコスト関数を最小化しながらタスクに関係するすべての制約を満たす運動軌道を得る制御シーケンスを構築することができることを識別できる、ということが認識される。
【0025】
いくつかの実施形態は、クープマン理論および凸最適化を組み合わせて、デバイス上の動的制約の知識を伴わずに、かつデータから構築される数学モデルにおける不確実性に対してロバストである、タスクを完了するデバイスのための運動軌道を設計する、コントローラを使用する。コントローラ計算は凸計画問題であるので、そのようなコントローラは、最小限の計算コストおよびメモリしか必要としない。
【0026】
いくつかの実施形態は、あるロバストなコントローラは、モデル予測制御パラダイムにおいてクープマン理論と凸最適化とを組み合わせる、という認識に基づく。具体的には、コントローラによって生成された最適運動軌道は、すべてのデバイスによって予め指定された時間範囲まで実行され、次いでコントローラが再評価される。時間範囲に基づいて、我々はまた、最適な運動軌道が安全フィルタによって構築されなければならない範囲を低減することもでき、これは、コントローラに対する計算要件をさらに低減する。当然ながら、コントローラの後続の反復が最適な運動軌道を許容することを確実にするために、再帰的実現可能性要件に基づくデバイス運動に対する追加の制約が最適化問題に追加されなければならない。
【0027】
図1Aは、本開示の実施形態による、デバイス100を制御するためのコントローラ111の概略図を示す図である。デバイス100の例は、自律車両、移動ロボット、航空ドローン、地上車両、航空機、水上車両、および水中車両などを含んでもよいが、これらに限定されない。
図1Aには、本開示の実施形態におけるデバイス100の例として、クアッドコプタードローンの概略図が示されている。デバイス100は、デバイス100の運動を引き起こすアクチュエータと、デバイス100の環境および位置を知覚するためのセンサとを含む。以下、デバイス100をドローン100とも称する。
図1Aに示されるように、ロータ101はアクチュエータであってもよく、環境を知覚するセンサは、光検出および測距102(LIDAR)ならびにカメラ103を含んでもよい。さらに、位置特定のためのセンサは、GPSまたは屋内GPS104を含んでもよい。そのようなセンサは、慣性測定ユニット(IMU)と統合されてもよい。ドローン100はまた、情報を送信および受信するための通信送受信機105と、センサおよび送受信機105から取得されたデータを処理し、アクチュエータ101へのコマンドを計算し、送受信機105を介して送信されるデータを計算するための制御ユニット106とを含む。
【0028】
さらに、ドローン100によって送信された情報に基づいて、コントローラ111は、ドローン100の運動軌道を計算することによってドローン100の運動を制御するように構成される。ドローン100の運動軌道は、ドローンの状態のシーケンスによって形成され、ドローン100の状態は、ドローン100の運動に対する制約を受けるドローン100の位置を含んでもよい。
【0029】
コントローラ111は、ドローン100の運動を制御して、所定のタスクを実行する。タスクは、ドローンの運動に対する制約の集合と、最小化されなければならないコスト目的とを含んでもよい。コントローラ111は、クープマンモデル112及び凸最適化ベースの制御モジュール113を用いてドローン100の運動を制御する。クープマンモジュール112は、典型的には、動的システムに関する利用可能なデータを記述するシステムのダイナミクスの線形モデルを識別するために、例えば、制御に先立ってオフラインまたはオンラインで事前にトレーニングされる。凸最適化モジュール113は、次いで、凸最適化およびロバスト最適制御理論を使用して、タスクを完了する運動軌道を設計する。
【0030】
図1Bは、本開示のいくつかの実施形態による、デバイスの運動を制御するための方法のブロック図を示す。本方法は、プロセッサと、プロセッサによって実行されると本方法のステップを実行する命令が記憶されたメモリとを用いて、デバイスの運動を制御するためのコントローラによって実行され、デバイスは、当該デバイスの運動に対する制約を受ける。
【0031】
本方法は、前記デバイスの状態のシーケンスと、前記デバイスの前記状態のシーケンス内の状態を前記デバイスの非線形ダイナミクスに従って遷移させる対応する制御入力のシーケンスとを収集し、各状態および各制御入力は、前記状態の次元および前記制御入力の次元によって定義される次元を有する状態入力空間から選択される(191)。
【0032】
本方法は、前記状態および前記制御入力を、前記状態入力空間から、前記状態入力空間の次元よりも大きい次元を有するリフトされた空間に変換して、リフトされた制御入力のシーケンスに従って遷移されるリフトされた状態のシーケンスを生成する(192)。
【0033】
本方法は、線形制御則に従って、前記リフトされた状態と前記リフトされた状態の近似との間のあてはめ誤差を最小化することによって、前記リフトされた制御入力に従って前記リフトされた状態の遷移を近似して、前記リフトされた空間内の前記デバイスのダイナミクスの線形モデルを求める(193)。本方法は、前記あてはめ誤差上でのデータドリブンによるリプシッツ連続性の包絡線を境界として、前記リフトされた状態および前記リフトされた制御入力に対してパラメータ化された関数として、モデル化誤差を求める(194)。
【0034】
本方法は、予測範囲にわたって、前記リフトされた空間内で最適制御問題を解き、前記最適制御問題は、リフトされた次の制御入力を生成するために、前記予測範囲内の前記誤差モデルの進化に基づいて再定式化された前記制約の下、前記線形モデルに従って前記デバイスの運動を最適化する(195)。
【0035】
本方法は、次の制御入力を生成するために、前記リフトされた次の制御入力を前記状態入力空間に変換し、 前記次の制御入力を前記デバイスのアクチュエータに送信して、前記デバイスの前記状態を変更させる(195)。
【0036】
図1Cは、本開示のいくつかの実施形態による、クープマンベースのモデル化を使用してデバイスの運動を制御するための方法199のブロック図を示す。いくつかの実施形態では、デバイスのダイナミクスの線形モデルは、クープマンベースのモデル化を使用して求められる。具体的には、クープマンモジュール112は、動的システムによって実行されるいくつかの既知の運動軌道である利用可能なデータ121を入力として受け取る。利用可能なデータ121は、ドローン100の何らかの状態、ロータ101に提供される作動であり得る何らかの適用された入力、および結果として生じるドローン100の次の状態を含むタプルのシーケンスからなる。利用可能なデータ121は、ドローン100上で実験を実行することによって取得されてもよく、ドローン100に関連付けられる何らかの未知の非線形ダイナミクスに対応してもよい。
【0037】
クープマンモジュール112はまた、文献において、リフトされた空間としても知られる潜在状態空間122の記述を入力として受け取る。潜在状態空間は、ドローン100の元の状態空間と、状態の追加の既知の非線形変換とを含む。クープマン理論は、ドローン100のダイナミクスがドローン100の元の状態空間において非線形であっても、線形記述が、適切に選択された潜在状態空間において利用可能であることを保証する。
【0038】
残念ながら、既存の文献は、所与のダイナミクスに適切な最小限のリフトされた状態空間を選択するための規範的な方法を提供していない。我々も従う既存の実践は、適切な最小限のリフトされた空間を含むと推定され得る充分に大きな次元の潜在状態空間を使用することである。
【0039】
次に、クープマンモジュール112は、130において、潜在空間内に線形モデルを構築する。線形モデルは、利用可能なデータ121の中で最適化される線形モデルに対応するあてはめの残差の和を最小化することを含む、いくつかの方法で構築することができる。線形モデルはまた、生成されたモデルが安定化可能であるか、疎であるか、またはドローン100のダイナミクスに関する利用可能な専門知識と整合する特定の構造を有するように、付加的特性を満たすよう制約され得る。いくつかの実施形態では、線形モデルは公称クープマンモデル137である。
【0040】
既存のアプローチは、130で停止し、次いで、計算されたデータドリブンモデルを使用して最適制御問題を構築することに進む。しかしながら、そのようなモデルは、2つの理由によりモデル化誤差に悩まされることが認識されている。第1に、クープマンモデルに提供される潜在空間は、ドローン100のダイナミクスの線形記述を許容しないことがある。第2に、有限量のデータのみが使用されるので、構築された線形モデルは、典型的には近似である。これらの理由は、我々がモデル化誤差を特徴付けるステップ130の必要性を動機付ける。
【0041】
ステップ135において、130からのあてはめ残差を使用して誤差モデルを特徴付け、誤差モデルのための様々なパラメータ123を入力として取る。123におけるパラメータは、誤差モデルのリプシッツ定数またはガウス過程モデルのハイパーパラメータまたはニューラルネットワークのハイパーパラメータのようなモデルパラメータを含み得る。構築された誤差モデルは、ドローン100の状態および入力に依存し、利用可能なデータにおけるあてはめ残差と一致する。他のすべての状態および入力対において、誤差モデルは、モデル誤差の値に対する決定論的境界を生成するか、またはモデル誤差の確率論的記述を提供し得る。その結果、公称クープマンモデルダイナミクスを満たす公称軌道が与えられると、135で計算された誤差モデルは、ドローンの真の軌道が絶対的な確実性または高い確率のいずれかとともにあることが保証される公称軌道付近の集合をもたらす。
【0042】
ステップ140において、最小化すべきコスト関数と、非線形の非凸制約付き最適制御問題を定式化するようドローン100の状態が満たすべき制約とを提供するタスクのパラメータ124を取得する。次に、130で計算された公称クープマンモデル137および135で計算されたモデル誤差特徴付けを利用して、最適制御問題の非凸コストおよび非凸制約を凸コストおよび凸制約の集合で近似する。
【0043】
ステップ150において、最適制御問題の凸近似を解いて、タスクを完了する運動軌道を得る。再定式化された最適制御問題の凸性は、限定された計算リソースを有するドローン100に対するアプローチのリアルタイム実現を可能にする。
【0044】
データドリブンの最適制御問題の例示的な定式化
図1Dは、本開示のいくつかの実施形態による、データドリブンの最適コントローラ設計問題を図示する。
図1Cでは、利用可能なデータとして規則的な間隔でサンプリングされた軌道161,162,163,164,および165の集まりを有する。利用可能なデータは、何らかの状態、何らかの入力、および対応するデータを伴うタプルのシーケンスからなることを想起されたい。タスクは、ドローン100を記述する非線形ダイナミクスの事前の知識なしに、ドローン100を、環境境界171内に留まりながら、目標170にナビゲートすることである。
【0045】
クープマンモデル化
図2Aは、本開示のいくつかの実施形態による、クープマンベースのモデル化に関与する構成要素の概略図を示す。(x
t,u
t)は、時刻tにおけるドローン100の状態入力対210を表すものとする。次の状態211、すなわち、時間t+1におけるドローン100の状態を、x
t+1を使用して示す。状態入力対210と対応する次の状態211との間の関係は、以下の非線形ダイナミクス202によって与えられ、
【0046】
【0047】
ここで、fは、現在の状態および入力を次の状態にマッピングする先験的な未知の関数である。
【0048】
クープマンモデル化は、非線形ダイナミクスを記述するために高次元潜在空間212を使用する。具体的には、時間tにおける状態、ならびにそれぞれ状態および入力におけるいくつかの予め指定されたnxおよびnu時間ステップまでの状態及び入力の履歴を、潜在空間変数Ψtにマッピングする、潜在空間マップΨと呼ばれる非線形変換201を使用する。形式的には、
【0049】
【0050】
(2)から、潜在空間212は、潜在空間マップΨの範囲である。Ψtの次元は、ドローン100の元の状態xtの次元よりも著しく高いことに留意されたい。したがって、潜在空間は、リフトされた状態空間としても知られている。
【0051】
潜在空間マップΨは、典型的には、別のマップ204を使用して潜在空間変数Ψtから状態xtを取り出すことができるように選択される。本開示のいくつかの実施形態は、何らかの適切に定義された行列Cについて、
【0052】
【0053】
であるように、元の状態空間を潜在空間に含む。なお、(3)はアフィン変換である。
【0054】
クープマンモデル化は、適切に選択されたΨについて、潜在空間におけるダイナミクスが線形であるような行列A、Bが存在することを示す(203)。
具体的には、
【0055】
【0056】
であり、ここで、A,Bは、(4b)における最小二乗問題を解くことによって、またはM個のデータ点
【0057】
【0058】
の集まりから他の回帰技術によって得られる。我々は、(4a)における線形モデルを公称クープマンモデルと呼ぶ。既存の文献は、(4)のモデルをクープマン作用素とも呼ぶ。
【0059】
図2Bは、本開示のいくつかの実施形態による、クープマンベースのモデル化および関連付けられるモデル化誤差を使用して定義される線形モデルの定義を示す。具体的には、潜在空間が1次元であり、入力が1次元である仮定例を考える。説明を明確にするために、本開示は、軸次元220を使用して現在の潜在変数を記述し、軸次元221を使用して適用された入力を記述し、軸次元222を使用してドローン100の基底にあるダイナミクスに対応する次の潜在変数を記述する。したがって、利用可能なデータ121は、軸次元220,221,および222にまたがる3次元空間内の点として現れる。利用可能なデータの例は、点251,252,253,254,および255として与えられる。この場合の公称クープマンモデルは、線形ハイパーライン250によって与えられる。点251,252,253,254,および255に対応する現在の状態-入力対について、それは、次の潜在状態がそれぞれ271,272,273,274,および275であることを予測する。潜在空間マップΨが正しく選択された場合、点251~255はそれぞれ271~275と一致したであろう。しかしながら、典型的には、点は、
図2Bに示されるように一致しないであろう。
【0060】
点251と点271との間隔はあてはめ誤差であり、まとめてすべてのあてはめ誤差をモデル化誤差で表すことができる。本明細書で使用されるように、モデル誤差εは、現在の潜在空間Ψtおよび入力utを取り、あてはめにおける残差---真の次の潜在状態と公称クープマンモデル(4)によって予測される次の潜在状態との間の差を提供するマップである。形式的には、
【0061】
【0062】
明らかに、利用可能なデータにおいて、我々は、ε(Ψt,ut)の正確な値を知っている。しかしながら、我々は、初見の潜在状態および入力対におけるε(Ψt,ut)の値を知らない。
【0063】
既存の機械学習機械を利用して、利用可能なデータセットを超えて(5)によって与えられるモデル化誤差の値を内挿/外挿することができる。次いで、ニューラルネットワーク、ガウス過程ベースの回帰器、およびリプシッツ連続回帰器を含み得る、これらのモデルを利用して、初見の潜在状態および入力対(Ψt,ut)におけるモデル誤差ε(Ψt,ut)の値に対する決定論的または確率論的境界を提供することができる。
【0064】
代理軌道を用いた制約実施
制御入力のシーケンスが与えられると、真の軌道を、(1)に対応する状態のシーケンスとする。対応する真の潜在状態のシーケンスを真の潜在軌道と呼ぶ。真の潜在軌道のダイナミクスは、公称クープマンモデルによって特徴付けることができる。
【0065】
【0066】
しかしながら、εは先験的に未知の関数であるため、真の潜在ダイナミクス(6)は未知であり、その結果、真の潜在軌道は未知である。
【0067】
我々はまた、公称クープマンモデルまたはその変形に基づく運動軌道として、代理軌道を定義する。
【0068】
【0069】
【0070】
図3Aは、本開示のいくつかの実施形態による、代理軌道の定義および真の軌道へのその近接性を図示する。ここで、空間300は、軸320及び321にまたがるドローン100の元の状態空間であり、潜在空間は、軸320,321,及び322にまたがる3次元ボリュームとする。301をドローンの初期状態とし、311を対応する潜在状態とする。何らかの入力シーケンスについて、状態302,303,304,および305の集まりは真の軌道を特徴付け、潜在状態312,313,314,および315の集まりは真の潜在軌道を特徴付ける。公称クープマンモデルまたは変形を使用して、潜在状態342,343,344,および345の集まりは、所与の入力シーケンスに対応する代理軌道を特徴付け、元の状態空間へのその投影332,333,334,および335は、投影された代理軌道を特徴付ける。
【0071】
真の潜在軌道は、代理軌道と異なってもよいことに留意されたい。しかしながら、代理軌道の重要な望ましい特性は、投影された代理軌道内のすべての状態が、元の状態空間内の真の軌道が絶対的な確実性または高い確率のいずれかとともにあることが保証される集合を伴うことである。潜在空間における代理軌道についても同様の定義特徴付けを行うことができる。
【0072】
図3Aでは、集合351および352は、そのような集合の例を提供する。具体的には、我々は、代理軌道が、以下のようにすべてのtに対していくつかの半径Γ
tが存在するようなものであることを必要とする。
【0073】
【0074】
定義(8a)の他の修正は、誤差を方向piに関して境界付けること
【0075】
【0076】
我々は、これらの集合を有界偏差集合と呼ぶ。なお、(8a)および(8b)の集合は、元の状態の偏差と解釈され得る、または方向piに沿って投影された潜在状態空間は有限の上限を有する。その結果、これらの有界偏差集合は、ハイパーボールまたはハイパーシリンダのいずれかである。
【0077】
我々は、真の軌道および真の潜在軌道が一般に未知であることを強調する。他方、代理軌道及びその投影は、公称クープマンモデル又はその変形のみを使用して計算可能である。
【0078】
【0079】
【0080】
したがって、式(10)は、制約(9)を厳格にするための制約厳格化機構を提供する。
【0081】
図3Bは、本開示のいくつかの実施形態による、制約を満たすために真の軌道について代理軌道に必要な制約厳格化を示す。半空間372が、ある方向p
i371およびスカラーq
iによって特徴付けられるものとする。真の潜在状態314は、ある予め指定された時間に半空間372内になければならない。しかしながら、真の潜在状態314の値を正確に予測することはできない。
【0082】
我々は、代理軌道における潜在状態が(10)を満たす場合、真の潜在状態は(9)を満たすことを知っている。したがって、代理軌道344内の対応する潜在状態が同じ方向pi373においてシフトされた半空間374内にあるように、代理軌道を制御する。半空間におけるシフト380は、シフトされた半空間が集合352を含むように、Γi,tによる。
【0083】
したがって、公称クープマンモデルまたはその変形を使用して構築された代理軌道に関連付けられた有界偏差集合を与えられるとして、基底のダイナミクスを知らないにもかかわらず、真の軌道および真の潜在軌道に対する有界偏差集合を使用して、制約を容易に施行することができる。
【0084】
集合の生成の例示的な記述
我々は、先験的に未知のモデル化誤差関数εを特徴付けるために使用される回帰器の特性を使用して、代理軌道と関連付けられる有界偏差集合を生成することができる。
【0085】
1つのアプローチは、ニューラルネットワークまたはガウス過程回帰のような機械学習ツールを使用して、公称クープマンモデル識別からの残差当てはまりに対して関数近似器をあてはめ、次いで、関数近似器からの事後境界を使用して集合を識別することである。
【0086】
本開示のいくつかの実施形態は、モデル化誤差に対する追加の仮定を利用する。具体的には、モデル化誤差関数が既知のリプシッツ定数を伴うリプシッツ連続である場合、有界偏差集合は、一連の再帰を使用して半径Γi,tを有するハイパーシリンダである。
【0087】
実数値の関数hは、任意のy,zに対して、
【0088】
【0089】
である場合、L-リプシッツ連続であると言われることを想起されたい。
【0090】
リップシッツ連続性は、(11)に記述されるように、データドリブンの包絡線を関数に自然に提供する。具体的には、データ点ziおよび関連付けられる関数評価h(zi)が与えられると、任意の点yについて、
【0091】
【0092】
であることがわかっている。
【0093】
式(12)は、データ点の数が増加し、yに近づくにつれて、漸進的に、より厳格になる、hのデータドリブンの包絡線を提供する。各データ点はhに対する包絡線を生成するが、(12)の最大演算子および最小演算子は、最大下限の包絡線および最小上限の包絡線を拾う。
【0094】
図4は、本開示のいくつかの実施形態による、リプシッツ連続関数について利用可能なデータドリブンの包絡線を示す。リプシッツ連続関数401、ならびに3つのデータ点411,412,および413におけるその評価を仮定すると、影付き領域430,431,432,および433は、データドリブンの包絡線を示す。これらの包絡線は、(12)で規定される関数値上の上限および下限によって定義される。これらの境界は、データ点から発する線421,422,423,424,425,および426によって定義される。これらの線の傾きは、予め規定されたリプシッツ定数Lによって定義される。
【0095】
境界は、より大きいLの値に対してはより緩く、一方、より小さいLの値に対してはより厳格である。他方、より小さいLの値は、データ点に過少にあてはまり得る限定的なモデルをもたらし得、貧弱な内挿/外挿につながり得る。
【0096】
【0097】
【0098】
【0099】
凸最適制御問題再公式化の例示的な記述
事前に指定された初期状態x0に位置するドローン100を、i∈{1,2,…,N}について半空間
【0100】
【0101】
によって記述される凸状ポリトープ内に留まりながら目標位置gに向かって調節するという問題を考える。
【0102】
Ψ0は、x0に対応する潜在状態を表すものとする。潜在空間における元の非凸の制約付き最適制御問題は、次式によって与えられる。
【0103】
【0104】
(14)における決定変数は、t∈{1,2,…,T}ついて
【0105】
【0106】
およびutである。(14)において、制約は、t∈{1,2,…,T}およびi∈{1,2,…,N}に対して実施される。εは未知の関数であるため、直接(14)を解くことはできない。加えて、εが既知であっても、(14)は、実際には解決しにくい非線形の非凸最適化問題である。したがって、我々は、(14)に対する準最適解を見出す凸近似を必要とする。
【0107】
【0108】
(15)における決定変数は、t∈{1,2,…,T}およびi∈{1,2,…,N}について
【0109】
【0110】
である。(14)とは対照的に、(15)は凸状であり、したがってリアルタイムで実施可能である。加えて、(15)は、真のダイナミクスの知識を必要としない。
【0111】
モデル予測制御パラダイムにおける実現
【0112】
【0113】
【0114】
【0115】
530において第1の入力または初期入力の集合を適用して、新たな低次元状態に到達する。各時間ステップにおいて、我々は、真の潜在状態および公称クープマンモデル(4)からの予測された潜在状態に対するアクセスを有することに留意されたい。したがって、我々は、(5)を使用して実行中に収集されたモデル化誤差上の追加のデータポイントに対するアクセスを有する。540において、我々は、クープマンモデルおよびモデル化誤差特徴付けを再トレーニングしなければならないか、または既存のモデルを継続しなければならないかを決定する必要がある。再トレーニングしないことを選択した場合、550において、追加のデータ点を用いてモデル化誤差特徴付けを増強して、より厳密なモデル化誤差特徴付けを取得し、次いで、ステップ501に戻る。他方、再トレーニングを選択する場合、追加の計算費用で、560において、利用可能な追加データにより、より優れた公称クープマンモデルを得ることができる。対応するモデル化誤差の特徴付けも、典型的には、より厳しい。
【0116】
我々はまた、設計されたロバストなコントローラに、コントローラの再帰的な実現可能性または安定性を含む、追加の特性を与えるために、(15)に追加の制約を加え得る。既存のアプローチと同様に、我々は、終端潜在状態が、モデル化誤差に対してロバストでもある適切に定義された制御不変集合内にあることを要求することによって、再帰的な実現可能性および安定性を実施することができる。
【0117】
図6は、本開示の一実施形態による、元の状態入力空間内の制約603に対応する、リフトされた空間内の制約601の2次元投影の例を示す。この例では、制約601は、制約603に対する制御不変集合のように作用する。ある実施形態では、制約集合601は、デバイス100の最適な軌道上の制約に対応する複数の次元に沿って、線形不等式によって表される超平面によって決定される多次元ポリトープであってもよい。制約集合601は、安全であるデバイス100の状態を符号化する。制御不変集合601内のデバイス100の任意の状態は、デバイス100の状態を既知のまたは許容可能な将来の状態について集合603内に維持する制御コマンドが存在する。例えば、制御不変集合603内およびコントローラが実行できるすべての可能な制御コマンド617~623内の状態615など、集合601から変換されたデバイス100の任意の状態に対して、デバイス101の状態を集合603内に維持する少なくとも1つの制御コマンド623が存在する。この例示的な実施形態では、状態入力空間における制約は、再定式化された制約を満たす、リフトされた空間における最適制御問題に対する解が、状態入力空間における制約を満たすことが保証されるように、リフトされた空間に再定式化される。
【0118】
図7は、本開示の一実施形態による、障害物を有する環境における初期状態から目標状態へのデバイスの運動を制御するための方法700のブロック図を示す。ブロック701において、方法700は、デバイス100および/またはリモートサーバからタスクのパラメータを取得する。タスクのパラメータは、デバイス100の状態を含む。いくつかの実施形態では、パラメータは、タスクを特徴付ける制約、例えば、デバイス100の初期状態、デバイス100の目標状態、制約の少なくとも一部を定義する1つまたは複数の静止障害物の幾何学的構成、および制約の少なくとも一部を定義する移動障害物の運動のうちの1つまたは組み合わせを含んでもよい。さらに、パラメータは学習された関数に提出される。
【0119】
ブロック703において、方法700は、タスクに関連するデータから線形モデルおよび誤差モデルを学習する。ブロック705において、方法700は、制約条件に従って凸最適化問題を解いて最適軌道acを生成することを含む。ある実施形態では、最適化ベースの安全フィルタが、ハード制約としての制約下で凸最適化問題を解いて、最適な軌道を生成する。ブロック707において、方法700は、最適軌道に従ってデバイス100の運動を制御することを含む。
【0120】
図8は、本開示の方法およびシステム/コントローラを実現するためのコンピューティングデバイス800を示す概略図である。コンピューティングデバイス800は、すべてバス809に接続された、電源801と、プロセッサ803と、メモリ805と、ストレージデバイス807とを含む。さらに、バス809には、高速インターフェイス811、低速インターフェイス813、高速拡張ポート815、低速接続ポート817が接続され得る。加えて、バス809には低速拡張ポート819が接続されている。さらに、入力インターフェイス821は、バス809を介して、外部受信機823および出力インターフェイス825に接続され得る。受信機827は、バス809を介して外部送信機829および送信機831に接続され得る。また、バス809には、外部メモリ833、外部センサ835、マシン837、および環境839が接続され得る。さらに、バス809には、1つ以上の外部入出力装置841を接続し得る。ネットワークインターフェイスコントローラ(NIC)843は、バス809を通してネットワーク845に接続するように適合され得、データまたは他のデータは、とりわけ、コンピューティングデバイス800の外部の第三者表示装置、第三者撮像装置、および/または第三者印刷装置上でレンダリングされ得る。
【0121】
メモリ805は、コンピューティングデバイス800によって実行可能な命令、ならびに本開示の方法およびシステムによって利用され得る任意のデータを記憶し得る。メモリ805は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、フラッシュメモリ、または任意の他の好適なメモリシステムを含み得る。メモリ805は、揮発性メモリユニットおよび/または不揮発性メモリユニットであり得る。メモリ805はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。
【0122】
記憶装置807は、コンピュータデバイス800によって使用される補足データおよび/またはソフトウェアモジュールを記憶するように適合され得る。記憶装置807は、ハードドライブ、光学ドライブ、サムドライブ、ドライブのアレイ、またはそれらの任意の組み合わせを含み得る。さらに、記憶装置807は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイスなどのコンピュータ可読媒体、フラッシュメモリもしくは他の同様の固体メモリデバイス、またはストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイを含み得る。命令は、情報担体に格納することができる。命令は、1つ以上の処理装置(たとえば、プロセッサ803)によって実行されると、上記で説明したものなどの1つ以上の方法を実行する。
【0123】
コンピューティングデバイス800は、バス809を介して、任意選択で、コンピューティングデバイス800を表示装置849およびキーボード851に接続するように適合されるディスプレイインターフェイスまたはユーザインターフェイス(HMI)847にリンクされ得、表示装置849は、とりわけ、コンピュータモニタ、カメラ、テレビ、プロジェクタ、またはモバイルデバイスを含み得る。いくつかの実現では、コンピュータデバイス800は、印刷装置に接続するためのプリンタインターフェイスを含んでもよく、印刷装置は、とりわけ、液体インクジェットプリンタ、固体インクプリンタ、大規模商業用プリンタ、サーマルプリンタ、UVプリンタ、または色素昇華プリンタを含み得る。
【0124】
高速インターフェイス811は、コンピューティングデバイス800のための帯域幅集約型動作を管理し、低速インターフェイス813は、より低い帯域幅集約型動作を管理する。このような機能の割り当ては一例にすぎない。いくつかの実現形態では、高速インターフェイス811は、メモリ805、ユーザインターフェイス(HMI)848、(例えば、グラフィックスプロセッサまたはアクセラレータを介して)キーボード851およびディスプレイ849、ならびにバス809を介して様々な拡張カードを受け入れ得る高速拡張ポート815に結合され得る。
【0125】
ある実現例では、低速インターフェイス813は、バス809を介して記憶装置807および低速拡張ポート817に結合される。様々な通信ポート(例えば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、無線イーサネット(登録商標))を含んでもよい低速拡張ポート817は、1つ以上の入力/出力装置841に結合されてもよい。コンピューティングデバイス800は、サーバ853およびラックサーバ855に接続されてもよい。コンピューティングデバイス800は、いくつかの異なる形態で実現されてもよい。たとえば、コンピューティングデバイス800は、ラックサーバ855の一部として実現されてもよい。
【0126】
本記載は、例示的な実施形態のみを与え、本開示の範囲、適用性、または構成を限定することを意図しない。むしろ、例示的な実施形態の以下の説明は、1つ以上の例示的な実施形態を実現するための実施可能な説明を当業者に提供する。企図されるのは、特許請求の範囲に記載されるように開示される主題の精神および範囲から逸脱することなく、要素の機能および構成において行われ得るさまざまな変更である。以下の説明では、実施形態の完全な理解のために、具体的な詳細が与えられる。しかしながら、当業者によって理解されることは、実施形態がこれらの具体的な詳細なしで実施され得ることであり得る。たとえば、開示される主題におけるシステム、プロセス、および他の要素は、不必要な詳細で実施形態を不明瞭にしないように、ブロック図の形態の構成要素として示される場合がある。他の例では、周知のプロセス、構造、および技術は、実施形態を不明瞭にすることを回避するために、不必要な詳細を伴わずに示される場合がある。さらに、さまざまな図面における同様の参照番号および名称は、同様の要素を示した。
【0127】
また、個々の実施形態は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスとして説明されてもよい。フローチャートは、動作を順次プロセスとして説明し得るが、動作の多くは、並列にまたは同時に実行することができる。加えて、動作の順序は並べ替えられてもよい。プロセスは、その動作が完了したときに終了されてもよいが、論じられていない、または図に含まれていない追加のステップを有してもよい。さらに、特に説明される任意のプロセスにおけるすべての動作が、すべての実施形態において生じ得るわけではない。プロセスは、メソッド、関数、プロシージャ、サブルーチン、サブプログラムなどに対応してもよい。プロセスが関数に対応するとき、関数の終了は、呼び出し関数またはメイン関数への関数の復帰に対応することができる。
【0128】
さらに、開示される主題の実施形態は、少なくとも部分的に、手動または自動のいずれかで実現されてもよい。手動または自動の実現例は、マシン、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、もしくはそれらの任意の組み合わせを用いて実行されてもよく、または少なくとも支援されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実現される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、機械可読媒体に格納されてもよい。必要なタスクはプロセッサが実行してもよい。
【0129】
さらに、本開示の実施形態および本明細書で説明される機能動作は、デジタル電子回路、有形に具現化されたコンピュータソフトウェアもしくはファームウェア、本明細書で開示される構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せにおいて実装され得る。さらに、本開示のいくつかの実施形態は、1つ以上のコンピュータプログラム、すなわち、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するために、有形の非一時的プログラム担体上に符号化されたコンピュータプログラム命令の1つ以上のモジュールとして実現され得る。さらに、プログラム命令は、人工的に生成された伝搬信号、例えば、データ処理装置による実行のために適切な受信装置への送信のために情報を符号化するよう生成される機械生成された電気、光、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶装置、機械可読記憶基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらの1つ以上の組合せとすることができる。
【0130】
コンピュータプログラム(これらは、プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードとも呼ばれ、または記載され得る)は、コンパイルされたもしくは解釈された言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述することができ、独立型プログラムとして、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境での使用に適した他のユニットとして含む任意の形態で展開することができる。
【0131】
コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、対応する必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部、例えばマークアップ言語ドキュメントに格納された1つ以上のスクリプト、問題のプログラム専用の単一のファイル、または複数の協調ファイル、例えば1つ以上のモジュール、サブプログラムもしくはコードの一部を格納するファイルに格納することができる。コンピュータプログラムは、1つのコンピュータ上、または1つのサイトに位置するか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【0132】
コンピュータプログラムの実行に適したコンピュータは、一例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサまたはその両方、および任意の他の種類の中央処理ユニットを含み、例えばそれらに基づき得る。一般に、中央処理ユニットは、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するための中央処理ユニット、ならびに命令およびデータを格納するための1つ以上のメモリデバイスである。一般に、コンピュータはまた、データを格納するための1つ以上の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらからデータを受信するか、もしくはそれらにデータを転送するか、もしくはその両方を行うように動作可能に結合されることにもなる。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、数例を挙げると、別のデバイス、例えば、携帯電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、または携帯型記憶装置、例えばユニバーサルシリアルバス(USB)フラッシュドライブに組み込むことができる。
【0133】
ユーザとの対話を提供するために、本明細書で説明される主題の実施形態は、ユーザに情報を表示する表示装置、例えばCRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ、ならびにキーボードおよびポインティングデバイス、例えばマウスまたはトラックボールを有するコンピュータ上で実現され得、これにより、ユーザは、コンピュータに入力を提供することができる。他の種類のデバイスも、ユーザとの相互作用を提供するために用いることができ;例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ;ユーザからの入力は、音響入力、音声(スピーチ)入力、または触覚入力を含む任意の形態で受信され得る。さらに、コンピュータは、ユーザによって用いられるデバイスにドキュメントを送信し、デバイスからドキュメントを受信することによって、例えば、ウェブブラウザから受信された要求に応答して、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することによって、ユーザと対話することができる。
【0134】
本明細書で説明する主題の実施形態は、例えばデータサーバとしてバックエンドコンポーネントを含む、または例えばアプリケーションサーバなどのミドルウェアコンポーネントを含む、またはフロントエンドコンポーネント、例えばユーザが本明細書に記載される主題の実現例と対話できるグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネントの任意の組合せを含む計算システムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、例えば通信ネットワークによって相互接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、例えばインターネットを含む。
【0135】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔であり、一般に、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0136】
本開示は特定の好ましい実施形態を参照して説明されたが、本開示の精神および範囲内でさまざまな他の適合および変更を行うことができることを理解されたい。したがって、本開示の真の精神および範囲内に入るそのようなすべての変形および修正を包含することは、特許請求の範囲の態様である。
【外国語明細書】