このページは機械翻訳を使用して翻訳されました。
翻訳品質のアンケートに 1 分ご協力ください。
アリゾナ大学、実践的な制御システム設計の授業で学生の関心を高める
著者 アリゾナ大学、Eniko T. Enikov 博士
「こうした実践的な作業により、学生は課程の講義で学ぶだけでなく、自らの感覚を使って学習することもできるため、制御設計やシステム同定に意欲的に取り組むことができます。」
アリゾナ大学では、最終学年で約 130 名の機械工学および航空宇宙工学の学生が制御システム設計の必須トレーニングを修了します。最近、私たちの学科では、システム同定と制御に関する従来の講義ベースのコースを補完するために、ダイナミクスと制御に関する専用の実験コースを実施しました。この実験室の目的は、制御理論に関する事前の知識が比較的限られている多数の学生に、魅力的で有意義な設計活動を提供することです。このようなコースの開発は、各学生に実践的な実験と分析のための十分な時間を与えながら、低い運営コストのバランスを取る必要があるため、困難でした。
このニーズに応えるため、私たちは最近 MATLAB®、Simulink®、Arduino® Nano 33 IoT と、ツインプロペラのバランスビーム (バランスバイコプター) (図 1) をベースにしたポータブルワイヤレス実験モジュールを開発しました。生徒はデバイスを自宅に持ち帰ったり、図書館で自主的に作業して実験を行ったり、課題を完了したりします。この実践的な作業は、当コースの講義部分を、制御設計とシステム同定に対する学生の興味を掻き立てる能動的な感覚学習で補完します。
制御設計の基礎を教える
バイコプターは学期の後半に導入され、前半では学生は基本的な制御理論と、DC モーターやバネ質量システムなどの単純な電気機械システムをモデル化する方法を学びます。また、最初は静的なシステム、その後は動的なシステムを含む実験データからシステム同定スキルとモデルパラメータ抽出を開発します。講義では、 MATLABとSimulinkを使用して新しい概念を説明します。たとえば、ブロック ダイアグラムの分析や動的モデルの構築について説明するときは、 MATLABとSimulink を使用して視覚的なシミュレーションを作成します。ラボの新しい特徴の 1 つは、システム同定トピックが組み込まれたことです。線形回帰を使用して静的モデルの係数を決定する簡単な実験から始まり、入出力データからゲイン、固有周波数、減衰係数などのパラメータを同時に推定する非線形回帰手法へと進みます。ラボ モジュールには短い入門講義があり、そこで私は学生にパラメータを抽出するための公式を段階的に手動で導出する方法を示します。続いて、学生がモデル パラメータ抽出をより効率的に実行できるようにするSystem Identification Toolbox™の機能について説明します。
実験室での実験を始めるとき、ほとんどの学生は数値解析コースで基本的なMATLABコマンドを使用しているため、そのコマンドに精通しています。しかし、 Simulinkや制御およびシステム同定ツールの使用経験を持つ人はほとんどいません。学生がSimulink を学習できるように、私は授業でSimulinkモデルを段階的に構築し、空のブロックを含むテンプレートを提供します。学生はこれを修正して完全なモデルを開発します。学生がオンラインで完了できる、より包括的な自己学習形式の Simulink 入門も利用可能です。
バイコプターの実験
学生はSimulinkと制御およびシステム同定ツールの使用に習熟すると、学期の後半にバイコプターの実験を開始します。このアクティビティの目標は、プラントの線形モデルを開発し、そのパラメータを特定し、ビームを所望の角度でバランスさせる閉ループコントローラを設計することです。ビームに外部からの妨害が加わった場合、制御システムは 2 秒以内にビームを正しい位置に戻す必要があります。
バイコプターを用いたシステム同定と制御設計実験は、GitHub®リポジトリで利用できます。MATLABライブ スクリプトは、 Simulinkモデルとともに、バイコプターを目的の基準角度に維持するための開ループテスト、モデル識別、コントローラー設計、閉ループテストを含む個別の実験を実行するために使用されます。最初の実験では、学生は idinput() コマンドで生成されたランダム二値列 (RBS) を用いて、バイコプターに励起信号を送信します。結果として得られるバイコプターの応答 (図 2) は、線形 ARX、伝達関数、状態空間モデルなどのさまざまなブラック ボックス モデルを識別するために使用されます。
その後、学生は iddata()、arx()、n4sid()、compare()、および resid() コマンド を使用して、プラントのさまざまなモデルを同定し、解析します。通常、5 次または 6 次モデルは適切な適合を提供しますが、バイコプターの基本的なダイナミクスを適切に捉えることができれば、パラメータ化が不十分な 3 次モデルでも閉ループコントローラーの設計には十分です。
2 番目の課題では、学生は特定されたモデルを使用して、PID または状態空間ベースのサーボ コントローラーを設計します。PID コントローラとそのチューニング方法 (Ziegler-Nichols) は、古典制御コースで紹介されています。実験室では、学生は適切なコントローラーに到達するために pidtune() コマンドを活用します。2 番目の方法では、学生はコントローラに積分器を追加し、単一入力単一出力 (SISO) システムの LQR (線形二次レギュレータ) 理論に従って閉ループ極を配置するオブザーバ コントローラを設計します。関連する準備講義では、入力と出力にペナルティを課すことのトレードオフについて説明します。SISO システムの場合、これは制御努力と応答速度を調整する単一のパラメータを変更することと同じです。通常、学生は 2 つのコントローラーを設計します。1 つは高速応答を実現する積極的な特性を持つコントローラー、もう 1 つは応答は遅くなるものの制御の労力が少なくて済む、より保守的なチューニングを持つコントローラーです。
バイコプターのセットアップ
バイコプターは、Arduino Nano 33 IoT マイクロコントローラ ボードによって生成された PWM 信号によって駆動される 2 つのプロペラを使用します。搭載された加速度計は重力加速度を記録し、梁の傾斜角度を計算します。図 3 は、信号フローとシステムの主なコンポーネントの概略図を示しています。バイコプターはバランスビーム内に収納された 2 つのリチウムイオン電池で駆動し、Arduino Nano IoT とMATLABおよびSimulinkを実行する PC 間のワイヤレス通信を可能にします。GitHub リポジトリには、Arduino に必要なMATLABおよびSimulinkハードウェア サポート パッケージを含む、ハードウェアのセットアップ手順が含まれています。
開ループおよび閉ループのSimulinkモデルは、リアルタイムで実験を実行するために使用されます。希望するテストに応じて、学生は対応するSimulinkモデルからコードを自動的に生成し、USB 経由で PC に接続されている間にそれを Arduino Nano IoT ボードに展開します。展開後、バイコプターは無線ネットワークを介して遠隔操作できます。実験中、デプロイされたコードは PC からのキュー (入力データ) を待機し、開ループテストまたは閉ループテストを実行します。実行が完了すると、実験結果がライブ スクリプトで直接利用できるようになります。
3D プリントされたスタンド/ホルダーと Amazon で市販されているコンポーネントを使用すれば、完全なデバイスを 100 ドル未満で構築できます。材料と 3D CAD ファイルの完全なリストは、プロジェクトの GitHub リポジトリで入手できます。
開ループモデル (図 4a) と閉ループモデル (図 4b) には、プロペラへのベースライン電力 (ゼロ レベル信号) を調整するオプションがあります。さらに、オフセットレベルを変更することで左右のプロペラの推力バランスをとることも可能です。モーターの方向はモーターごとに独立して指定できます。最後に、移動平均有限インパルス応答 (FIR) フィルタを使用して、プロペラの振動によるノイズ レベルを低減します。
実行前に、各コントローラーはコンパイルされ、USB シリアル リンクを使用して Arduino Nano 33 IoT ボードに展開されます。
20 秒間の入出力テスト データの例を図 2 に示します。出力信号はロール角度をラジアンで表し、入力信号は 0 ~ 255 スケールの PWM 値を表します。信号 u がゼロ入力の場合、両方のモーターはゼロレベルパラメータによって決定される同じ出力で動作します。信号 u が正の場合、モーター A は [ゼロレベル] + u で動作し、モーター B は [ゼロレベル] – u で動作します。
生徒は、DC モーターとそのダイナミクスについて学んだ内容に基づいて、2 つのモーターが連動して動作することを考慮し、可能な 4 次モデルを示す線形モデルを作成します (図 5)。モーターを個別にモデル化する場合、次数は 5 に増加します。慣性や空気の流れ (付加質量効果) などの追加効果を含めると、次数はさらに 6 に上がります。したがって、学生はモデルの順序が 4 から 6 の範囲であれば十分であると予想します。
開ループ応答の分析
開ループテストが完了すると、学生はシステム同定に進みます。予想される順序をある程度理解した上で準備すると、4 次、5 次、6 次という異なるモデル構造に適合します。連続伝達関数、ARMAX、および状態空間モデルの例を、実験データとの比較とともに図 6 に示します。
このタスク中、ほとんどの学生は、入力テスト シーケンスのパラメーターに基づいてシステム同定ステップの結果が変化するため困惑します。テストされる最も重要なパラメータは、励起の振幅と周波数の内容です。数回の反復を経て、周波数帯域幅はテスト対象の極の周波数と一致させる必要があり、振幅は応答の線形制限内で可能な限り高くする必要があるという結論に達しました。
モデルの品質は、resid() コマンドで実装された残差分析を用いて検証されます。図 7 は 4 次 ARMAX モデルと状態空間モデルの比較を示しています。ARMAX は相関残差誤差が少ないように見え、基礎となるプロセスをより適切にモデル化していることを示唆しています。
PID コントローラーの調整
システム同定が完了すると、学生はコントローラーの設計に進みます。彼ら全員が、デフォルトの設計方法である PID コントローラーの使用に精通しています。学生は PID コントローラーの初期推測から始めます。
C0 = pid(1,1,1,'Ts',ts,'IFormula','BackwardEuler','DFormula','BackwardEuler');
このコントローラは、PID チューナーのライブ タスクで使用されます。学生はスライダーを使用して、ゲイン交差周波数と必要な位相マージンを調整し、予測される応答を評価します (図 8)。当校の選択科目である現代制御コースを修了した学生の中には、状態空間設計法も使用している学生もいます。
閉ループテスト
コントローラーの設計が完了すると、学生は閉ループコントローラーをテストします。特定された伝達関数により、閉ループ応答を予測することもできます。テストを実行すると、ライブスクリプトは基準信号、予測応答、測定応答の比較を生成します (図9)。
高次モデルと LQR 理論に基づく状態空間設計法を使用するより高度なコントローラでは、さらに正確な追跡結果が生成されます (図 10)。
バイコプターは、モデル予測制御 (MPC) などの他の高度な制御方法を教えるのにも適しています。ビデオ「低コストのバイコプター ハードウェアを使用したシステム同定と MPC 設計」(この記事の最後にある「詳細」セクションを参照) では、バイコプター制御用のデータ駆動型予測モデルを使用して MPC コントローラーを設計および展開する方法について説明します。
学生からのフィードバック
コースと実践課題に対する学生の反応は非常に好意的でした。コース評価調査では、実践的な実験に対する学生の態度、完了したタスクの有用性、学生が習得したスキルを他の状況で活用する可能性について質問しました。合計6つのステートメントが18人の参加者によって評価されました (図11)。ほとんどのカテゴリーにおいて、このプロジェクトは非常に影響力があり、学生はコントローラーの設計に自信を持つようになりました。学部課程の典型的な講義ではなく、実践的な要素から主な利益が得られたようです。
他のインストラクターとの非公式な話し合いでは、 Simulink環境とMATLABへの直接のワイヤレス リンクを利用するのが非常に便利であることが示唆されました。コストが低く、市販のサブコンポーネントを利用できるため、あらゆる機関でシステムを簡単に導入できます。詳細については、私たちの GitHub ページをご覧ください。
公開年 2025 - 91891v00