ホワイトペーパー

はじめに

電気モーターが初めて実用化されたのは、1834 年のことです。Thomas Davenport が、短い路線区間で鉄道車両の動力として利用したという記録が残っています。モーターは現在、電動化輸送、産業オートメーション、商用製品および消費者製品の分野において、その活動の主たる原動力となっています。国際エネルギー機関 (IEA) の調査では、世界の発電量の 40 ~ 45% がモーターで駆動するシステムにより消費されていると推定されています。

ここ数十年の間に、その高い効率性、電力密度、および信頼性から、ブラシレスモーターが広く利用されるようになりました。ブラシレスモーターの普及が進むに従って、モーターを精密に制御する手法が開発され、効率性はさらに向上しました。

ベクトル制御 (FOC) は、ブラシレスモーターのトルクおよび速度の全域で精密な制御を実現する制御手法です。

PMSM のベクトル制御アーキテクチャを構成する電流と速度用の PI コントローラーループを示すブロック線図。

電流ループと速度ループのための PI コントローラーを使用した、PMSM のベクトル制御コントローラーのアーキテクチャ。

先の概略図が示すように、ベクトル制御は、速度、Iq、および Id 制御ループについては PI コントローラーに依存しています。PI コントローラーは、シンプルで実装が簡単ですが、不確実性や外乱が存在するような状況では調整しにくい場合もあります。その例は次のとおりです。

  • モーターのパラメーターおよびシステムダイナミクスに不確実性が存在する場合
  • 摩耗、経年劣化、および動作温度によりモーターのパラメーター (抵抗、インダクタンス、逆起電力など) に変動がある場合
  • 負荷トルクおよび入力電圧に変動がある場合
  • モーターの動作において動作領域やヒステリシスに変動がある場合

これらの要因以外に、用途に合わせてモーターのサイズを変更する場合にコントローラーの再調整が求められることも考慮する必要があります。このプロセスには多大な労力を要します。こうした課題に対処するには、高度な制御アルゴリズムを使用することで、これらの要因を考慮したベクトル制御コントローラーを設計できると同時に、課題の多い環境であってもモーター制御の精度、応答時間、および効率性を向上させることができます。

このホワイトペーパーをお読みいただくと、ベクトル制御コントローラーの設計に対する理解が深まります。このホワイトペーパーでは、次の制御手法を使用して作業する場合に MATLAB® および Simulink® で使用する適切なツールについて説明します。

  • 能動的外乱除去制御 (ADRC)
  • モデル予測制御 (MPC)
  • 強化学習 (RL)

次の表に、これらの高度な制御手法を相互に比較した場合と、PID と比較した場合の概要を示します。

  ADRC MPC RL PID 制御
仕組み 拡張状態オブザーバー (ESO) を使用して、リアルタイムで不確実性や外乱を推定および補正 モデル予測を使用して、予測ホライズンにおける制御動作を最適化 試行錯誤により最適な制御方策をデータから直接学習 誤差信号の比例、積分、微分動作に基づいて制御信号を計算
システムの非線形性、不確実性、および外乱に対処する性能

     — 高い
 — 低い

   

     

     

 
始めやすさおよび良好な結果の得やすさ

     — 容易
— 困難

     

   

 

     

ゲインや位相余裕などの標準的な線形メトリクスに対して性能の検証は可能か はい いいえ いいえ はい
PID より優れた代替手法になり得る場合: 不確実なダイナミクス、未知の外乱、および変動するモーターのパラメーターが存在する状態で堅牢性の高い外乱の抑制が求められ、詳細なシステムモデルが必要とされない場合。 モーターや予測ベースの制御の制約/動作限界への対処が必要な場合。 モーターのダイナミクスおよび動作条件の特性評価が困難で、制御方策をデータから直接学習させるほうが実践的な場合。

PID 制御に対する高度な制御手法の比較。

セクション

能動的外乱除去制御

能動的外乱除去制御は、PID 制御を拡張し、未知のダイナミクスや外乱など幅広い範囲の不確実性への対処において大きなメリットをもたらすと同時に、コントローラーの性能も維持します。

このアルゴリズムは、既知のシステムダイナミクスのモデル近似を使用し、未知のダイナミクスおよび外乱をプラントの拡張されたひとつの状態としてまとめて扱います。拡張状態オブザーバーは、この状態の推定および外乱除去制御の実装に使用されます。これは、システム上で推定された外乱の影響を軽減し、システムを目的の動作に近づけることにより実現します。

モーター制御アプリケーションにおける、誤差フィードバック コントローラーおよび拡張状態オブザーバーを含む能動的外乱除去制御のセットアップを示す概略図。

能動的外乱除去制御 (ADRC) の概略図。

産業用ロボットアームの高速アプリケーションでは、正確な動きとポジショニングを実現するために、ロボットのジョイントとリンクを駆動するブラシレスモーターの精密な制御が重要となります。しかし、多くのロボットの構造部材には若干のたわみが生じ、望ましくない振幅や振動の原因となるダイナミクスが新たに生じます。

PID コントローラーでは、このような柔軟性の高い部材に生じるダイナミクスに対処しきれないことがあり、安定性と性能を維持するために複雑なモデル化や調整が必要になる場合があります。ADRC は、柔軟性の高いジョイントやリンクのダイナミクスに対処する効果的なソリューションです。これは、新たに生じたダイナミクスを原因とする外乱をリアルタイムで推定および補正することにより、システムの明示的なモデルに依存することなく実現します。

PMSM のベクトル制御アーキテクチャを構成する能動的外乱除去制御器を使用した、電流と速度用のコントローラーループを示すブロック線図。

能動的外乱除去制御器 (オレンジ色) を使用した PMSM のベクトル制御アーキテクチャ。

Simulink Control Design™ に用意されている Simulink のActive Disturbance Rejection Control ブロックを使用すると、コントローラーを設計できます。インバーター、モーター、他の電気的および機械的なダイナミクスを含めることにより、コントローラーをシステムレベルのシミュレーションでテストします。コントローラーをシミュレーションでテストした後は、Embedded Coder® を使用してこの事前構築済みのブロックから C/C++ コードを生成できます。PID コントローラーと同様のメモリおよびスループット要件を使用することで、ADRC のコードを既存のモーター コントローラー ハードウェアに展開できます。これは、特にこの手法に馴染みがない場合に ADRC を実装する簡単な方法です。

 外側の速度ループの PI コントローラーに対する能動的外乱除去制御の性能比較を示すグラフ。

Simulink による d 軸および q 軸電流ループの能動的外乱除去制御器 (ADRC) のアーキテクチャ。

次のグラフは、ADRC (青色) と PID コントローラー (オレンジ色) の速度の設定値追従性能を比較したものです。PID ゲインは、推定されたモーターパラメーターを使用して従来の手法で調整されました。ADRC は、PID よりも過渡状態が滑らかで、オーバーシュートが少なくなっています。加えて、ADRC は、モーターの負荷に変更が生じた際に (定格トルクの 5 %から 50%)、2 秒後に良好な外乱の抑制性能を示しています。使用したシミュレーション モデルでは、d 軸と q 軸のクロスカップリングをモデル化していないことに注意してください。

 外側の速度ループの PI コントローラーに対して、能動的外乱除去制御の ADRC コントローラーと PID コントローラーの性能を比較したグラフ。

ADRC コントローラー (青色) と PID コントローラー (オレンジ色) の速度の設定値追従性能の比較。

コントローラーのタイプ 実行時間
電流コントローラーとしての PI コントローラー 13.1 マイクロ秒
電流コントローラーとしての ADRC コントローラー 14.65 マイクロ秒

Texas Instruments™ C2000™ でのプロファイリング結果

セクション

モデル予測制御

モデル予測制御は、1980 年代に化学プラントや製油所などのプロセス産業での使用を目的として初めて開発された、最適化ベースの制御手法です。その後、マイクロコントローラーの技術、デジタル信号処理、および最適化アルゴリズムの進歩により、MPC をパワー エレクトロニクスに適用することが可能になりました。結果として、今後数年の間に MPC の導入が進むと予想されています。

PMSM のモデル予測コントローラーのセットアップを示す概略図。

モデル予測制御の概略図。

MPC の基本原理は、数学的予測モデルを使用して、予測ホライズン内で制御対象システムの未来の状態を予測することです。次に、コントローラーは最適な制御動作のシーケンスを計算して、制約を満たしながら目的の基準軌跡を追跡します。アルゴリズムは、リアルタイムの最適化問題を求解することによりこれを行います。最初の制御動作はシステムに適用され、続く動作は無視されます。このプロセスは、次のタイムステップで繰り返されます。

制御および予測ホライズンなどの概念を示すモデル予測コントローラーの動作原理の図。

モデル予測制御の動作原理。

ループ間のクロスカップリングを考慮しながらモーターの動作限界や制約に明示的に対処することにより、MPC ではベクトル制御において PID よりも大きなメリットが得られます。これは、コントローラーがトルク飽和、電流制限と電圧制限、および変化率の制限など物理的な制約を考慮できることを意味します。これらの制約を最適化問題に組み込むことで、MPC により、制御目標を表現するコスト関数を最小化しながら、制約違反を防止できます。電気自動車のトラクションモーター制御などのアプリケーションでは、モーターのトルク制限、バッテリーの電流制限、および温度制限などの制約は、安全な動作を確保し、コンポーネントの損傷を防止する上で欠かせません。PID コントローラーには制約に対処する明示的な方法がないことから、オーバーシュート、速度やトルク飽和、または不安定性などの望ましくない追従動作につながる場合があります。

PMSM ベクトル制御アーキテクチャの内側ループを構成するモデル予測コントローラーを使用した電流コントローラーループを示すブロック線図。

内側の電流ループのモデル予測コントローラー。

MPC にはプレビュー機能があり、未来の基準信号の情報に基づいて制御動作を最適化できるため、設定値の追従に対する応答性が向上します。対照的に、PI コントローラーでは応答が現在のシステムの状態誤差に限定されます。加えて、PI コントローラーの積分制御コンポーネントは、制御ループの動的応答を低下させる遅延を引き起こすことがあります。

Model Predictive Control Toolbox™ には、組み込みの Simulink ブロックおよびアルゴリズムが用意されているため、MATLAB における FOC アプリケーション向けモデル予測コントローラーの設定プロセスが簡略化されます。組み込みの MPC ブロックを使用することで、FOC の内側ループを設定できます。この内側ループ制御には、制御目標間のトレードオフを表現するコスト関数の最小化と同時に、目的の速度でモーターを駆動する d 軸と q 軸の固定子電圧の計算が含まれます。

ベクトル制御コントローラーの内側の電流ループに使用される Model Predictive Controller ブロックを示す Simulink サブシステム。

PMSM の電流コントローラーとして機能する Simulink の MPC Controller ブロック (青色)。

MPC コントローラーの性能は、MATLAB または Simulink でモータープラントを使用して閉ループでシミュレーションすることにより評価できます。初期評価後、パラメーターを調整して別のシミュレーション シナリオをテストすることで、コントローラーの設計を調整できます。

シミュレーションでコントローラーをテストした後は、Simulink Coder™ により MPC ブロックから C および C++ コードを生成して組み込みのコントローラー ハードウェアに展開できます。

コントローラーのタイプ 実行時間
電流コントローラーとしての PI コントローラー 13.1 マイクロ秒
電流コントローラーとしての MPC コントローラー (5 kHz で実行) 134 マイクロ秒

Speedgoat® ハードウェアによるプロファイリング結果

MPC にはベクトル制御において複数の利点がありますが、考慮すべき欠点がいくつかあります。主な課題の一つは、アルゴリズムの計算量およびリアルタイムの実装です。MPC は、メモリ消費量や計算量が多いため、リソースに制限のあるハードウェアでの実行は困難です。さらに、予測モデルの精度はその性能にとって重要であり、モーターまたは負荷ダイナミクスに変更が生じた場合にモデルの更新または再同定が必要になることがあります。これらの要因は、MPC ベースのモーター制御システムを設計する際に考慮する必要があります。

セクション

強化学習

強化学習は、コンピューター エージェントが環境と相互作用して、そのアクションに基づく報酬またはペナルティを受けることで意思決定の方法を学習できるようにする、機械学習の手法です。エージェントの目的は、経時的に報酬和を最大化する方策を学習することです。これは試行錯誤により達成され、方策は受け取るフィードバックに基づいて更新されます。学習は人間が介入することなく行われ、エージェントによる環境の観測にのみ依存します。

PMSM 制御アプリケーション向けの強化学習アーキテクチャを示す概略図。

強化学習の概略図。

強化学習は、複雑な非線形ダイナミクスおよび不確実な動作環境により十分な追従性能に達しない場合に、線形制御の代わりとなります。これは、モーターやその動作条件を特性評価してコントローラーを調整することが難しい場合に特に有効です。

たとえば、PMSM が組み込まれた農業機械は、起伏のある地形、変化する土壌の性質、変動する水分量、および異なる締固め特性からなる多様かつ厳しい環境で動作します。これらの環境変動は特性評価が難しく、PI ベースのベクトル制御コントローラーを調整して十分なトルク追従性能を実現する上で課題となっています。適切に学習された強化学習の方策はこれらの変動に適応するため、このようなアプリケーションに必要な追従性能を実現できます。

強化学習には複数のメリットがあります。たとえば、モーターの速度および電流の調整では、さまざまな操作点でこれらのループごとに個別の PID コントローラーを調整するのではなく、1 つのコントローラーを使用できます。さらに、強化学習では、各種のセンサーおよびアクチュエーターからの複数の入出力を扱うことができます。

MATLAB および Reinforcement Learning Toolbox™ を使用すると、ベクトル制御向けの強化学習コントローラーを構成できます。このツールボックスには、強化学習制御を実装する関数や強化学習エージェントの Simulink ブロックのほか、コントローラーの学習を行う組み込みアルゴリズムとカスタムアルゴリズムが用意されています。

PMSM ベクトル制御アーキテクチャの内側ループを構成する強化学習エージェントを使用した電流コントローラーループを示すブロック線図。

ベクトル制御コントローラーの内側の電流ループ向け強化学習コントローラー。強化学習コントローラー ブロックは、d 軸電流と q 軸電流を調整し、モーターを指定速度で駆動するために必要な固定子電圧を生成します。

ベクトル制御コントローラーの内側の電流ループに使用される RL Agent ブロックを示す Simulink サブシステム。

Simulink を使用した強化学習ベースの PMSM 電流コントローラー アーキテクチャに示された強化学習エージェント (青色)。

学習が完了した後は、Embedded Coder により C++ コードを生成して、最適な方策を組み込みプラットフォームに展開できます。

コントローラーのタイプ 実行時間
電流コントローラーとしての PI コントローラー 13.1 マイクロ秒
電流コントローラーとしての強化学習コントローラー (5 kHz で実行) 85 マイクロ秒

Speedgoat ハードウェアの TD3 エージェントによるプロファイリング結果。

強化学習は、PID コントローラーのような従来のコントローラーに対する強力な代替手法となりますが、計算量が多く、コントローラーを学習させる時間とデータが必要となることに注意してください。強化学習を選択する場合はこれらのトレードオフを考慮することが重要です。利用可能なリソース、時間およびデータなどの要素を考慮しながら、アプリケーションの特定のニーズに基づいて判断する必要があります。場合によっては、強化学習と PI コントローラーを組み合わせると効果的です。2 つの手法を統合することにより、強化学習エージェントは PI コントローラーからの制御信号に対する補正信号を生成できます。この組み合わせにより、システムでは、PI コントローラーのノミナル範囲外の複雑な、非線形の、または予期しない条件に対処できるようになります。

セクション

まとめ

まとめると、このホワイトペーパーでは、能動的外乱除去制御、モデル予測制御、および強化学習を中心に、電気モーターのベクトル制御コントローラー向け代替制御手法について説明しました。これらの高度な制御手法により、課題の多い環境下でもモーター制御の精度、応答時間、および効率性を向上させることができます。

MATLAB、Simulink、および関連するツールボックスを使用すると、モーター制御アプリケーション向けのこれらの高度な制御手法を単一のプラットフォームで設計および実装できます。ただし、特定のアプリケーション向けに適切な制御手法を選択する際には、計算量のトレードオフ、リアルタイムの実装、およびデータ要件を考慮することが重要です。