CAEユニバーシティ トピックセミナー
制御振る舞いを目で見てわかる制御実験セミナー
宇都宮大学大学院 工学研究科 准教授 平田 光男 先生
1.はじめに
CAEユニバーシィティが2007年の秋に立ち上がってから、制御講座の講師を務めてきました。制御講座では古典制御から現代制御までを取り扱っています。しかし、制御理論は制御対象に依存しない一般論として体系化されているため、いつもリアルワールドとの対応をどのように理解してもらうかに苦労してきました。何と言っても、制御は“動いてなんぼの世界”です。そこで、「制御振る舞いを目で見てわかる制御実験セミナー」を立ち上げるに至りました。本稿では本セミナーが企画された経緯から教材の選定と準備、そして、講義内容について説明したいと思います。
2.制御振る舞いを目で見てわかる制御実験セミナーはなぜ企画されたか
制御系設計では、MATLAB/Simulinkと呼ばれる制御系設計支援ツールが事実上の標準ツールになっています。CAEツールによっては、ソフトウエアの操作方法を覚えるだけである程度実務で使えるようになるものもあります。しかし、 MATLAB/Simulinkにおいては、制御理論を知らないとほとんど役に立ちません。
例えば、実験を何度も繰り返すことができない場合や、実験に多大なコストがかかる場合、シミュレーションによる机上検討が有用です。しかし、制御対象のモデルが作れなければ、MATLAB/Simulinkがあっても何も始められません。仮に制御対象がモデル化できても、伝達関数や状態方程式というものを知らなければ、MATLAB/Simulink上でモデルを定義することもできません。
工学部や理工学部の電気系学科や機械系学科を卒業された方であれば、制御工学の授業を受けていることが多いでしょう。しかし、卒業研究や修士論文で制御に関する研究を行った方以外は、すっかり忘れているかもしれません。職場では、前任者や上司・先輩から、制御パラメータの設定方法やシミュレーションの方法を学ぶかもしれませんが、制御理論全体の中での位置付けや、理論的にどういう意味を持つかをきちんと理解しないまま設計している場合も多々あると思います。これでは、制御性能を大きく向上させるために制御系を再構築することは難しいでしょう。
CAEツールのセミナーはたくさん開催されていますが、どうしてもツールの使い方がメインになり、そのバックにある制御理論の解説はおろそかになりがちです。そこで制御講座では、工学部の専門課程で学ぶ制御工学の内容を厳選し、2日間の合計12時間で速習する講座を立ち上げました。
実務で実際に制御系を設計されている方からは、おおむね高評価を頂いたのですが、これから制御に携わる予定の方、或いは、本業は機械設計だけれども制御の知識も必要、といった方にとっては、リアルワールドで起こることと理論との対応が「ピンと来ない」という感想も聞かれるようになりました。
このような声に応えるためには、実際に制御対象を動かしながら、制御器のパラメータを変えると動作がどのように変化するかを体験してもらうのがベストだと考えました。そこで、「制御振る舞いを目で見てわかる制御実験セミナー」を立ち上げるに至ったわけです。
3.教材をどうするか
教材の選定においては以下の3点を重視しました。
(1) 制御器のパラメータや構造を簡単に変更できる
(2) リアルタイムに動作し、応答もリアルタイムに表示できる
(3) 一人1台の実験環境が用意できる
(1)を実現するためのツールについて、フリーソフトも含めていろいろと検討しましたが、この分野で事実上の標準ツールとなっている MATLAB/Simulink が好都合だと考えました。筆者も長年のユーザであることから、それなりのノウハウを持ち合わせています。そこで、Simulinkの使用を前提に考えることにしました。
(2)を実現するためには、SimulinkにReal-Time Workshopというオプション製品を組み合わせるのが王道です。製品の開発現場で制御系のプロトタイプ検証にもよく用いられています。Real-Time Workshopに対応している制御ボードはdSpace社(ドイツ)や、教育用制御実験装置を取り扱っているQuanser社(カナダ)から入手できます。国内メーカであれば、MTTや中部電気、A&Dの製品がポピュラーでしょう。
しかし、これらの製品は研究開発での使用を目的としており、1セットの価格が数10万から数100万ととても高価で、受講者一人に一台の実験環境を用意することは到底不可能です。
また、制御対象の選定も悩みました。昨今のロボコンブームのおかげで、マイコン、アクチュエータ、光センサや触覚センサなどがセットになったものが1万円程度で入手できるのですが、フィードバック制御理論を学ぶにはセンサが貧弱です。モータの速度制御や角度制御を行いたいと考えていましたのでエンコーダが必須なのですが、1万円前後でエンコーダを持つキットはなかなか見つかりません。
このように制御対象の選定で頭を悩ませているときに、Vstone社からBeauto Balancer Duo(以下、Duoと省略)と呼ばれる2輪倒立ロボットが発売されることになりました。二つのモータそれぞれにエンコーダが取り付けられており、倒立のためのジャイロセンサも搭載しています。H8マイコンでリアルタイム制御が実現でき、価格は12,600円と安価です。早速、採用することに決めました(図1)。今回のセミナーでは、モータの速度制御、角度制御しか行いませんが、今後、現代制御による倒立制御系の設計にも利用できます。
4.リアルタイムから疑似リアルタイム制御へ
さて、制御対象の選定は終わりましたが、それをMATLAB/Simulink上からどのようにしてリアルタイム制御するか、という課題が残ります。Real-Time WorkshopからH8マイコンのソースコードを自動生成して実行する方法も考えられます。しかし、Real-Time Workshopは高価なこと、また、ブロック線図を変更するごとにコンパイル&フラッシュメモリへの書き込みが必要なこと、そして、Duoのマイコンボードに合わせた設定をゼロから構築しなければならないことなど、簡単に実現できそうにはありません。
セミナーの目的は制御を体感、体験すること。高い性能は要求されません。サンプリング周期も多少揺らいでも大丈夫でしょう。そこで、次のようなシステムを構築しました。
(1) サンプリング周期ごとに動作するSimulinkのS-FunctionブロックをWindowsのマルチメディアタイマーを用いて作成する。Windowsの負荷が上がると、サンプリング周期が多少乱れることがあるので、疑似リアルタイム動作となる。
(2) PCとDuoをシリアル通信で結び、サンプリング周期ごとにS-Functionからモータへの指令電圧(厳密にはPWMのデューティー比)を送信すると同時に、エンコーダの値を読み込む。
この方法は単にタイマーを用いて、Simulinkの動作にウェイトをかけているだけなので、Real-Time Workshopを利用する場合と異なり、コンパイル&ファームウエア転送が必要ありません。
Duo本体にはシリアル通信でモータのデューティ比を受け取った瞬間にデューティ比を設定し、その時のカウンタの値をPCへ返すファームウエアを一度だけ転送しておきます。実際には、今後、倒立実験を行う場合に備えて、ジャイロセンサの値と電池の電圧も転送するようにしました。
PD制御でモータの速度制御を行ったときのSimulinkブロックと、そのときの出力応答を図2に示します。
5.講義の進め方
PID制御器に限定し、一般論は極力避けてなるべく具体的な内容になることを心がけました。また、モデリング・制御系設計・シミュレーションから制御器実装と実験まで、一連の流れが学べるようにしました。
(1) とにかく動かしてみる
制御実験が初めての方もいらっしゃいますから、まずセミナーの最初に、PID制御器の各ゲインをいろいろと変えながら、実際の挙動を体得してもらいます。例えば、「比例ゲインを上げると速応性が改善するが、上げすぎると振動的になる」、「積分ゲインを上げると定常偏差が0になるが、上げすぎると過渡特性が悪化する」といった具合です。その過程で発振現象や入力飽和によるワインドアップ現象も体験できます。
(2) 定番の限界感度法
PID制御では必ず出てくる限界感度法を試してみます。限界感度法で求まるPIDゲインでは良好な応答にはならない場合も多いので、更に調整して使うことを学びます。同時に、実験に基づく調整の限界と、モデルベース設計の意義を学びます。
(3) モデリングとパラメータ同定
制御対象の伝達関数を一次遅れシステム+積分器としてモデリングし、時定数とゲインを実験から求めます。そして、シミュレーションと実験の応答がほぼ一致することを確認します。
(4)制御系設計と実験
速度制御系や角度制御系を構成し、PIDゲインを極指定法によって求めます。速度制御系ではPI制御で十分だが、位置制御系だとPID制御が必要となる、のように制御対象によって制御器が異なることとその理由を理解します。そして、極配置によって応答がどのように変化するかを実験を通して学びます。また、制御性能を高くしすぎるとシミュレーションと実験結果が一致しなくなることを体験し、モデル化誤差や観測ノイズなどが、制御性能や安定性にどのような影響を与えるかを知ります。これは、ロバスト制御へつながります。
6.終わりに
このように、本講座は制御の基本である“動いてなんぼの世界”をまず体験してみよう、ということから企画され、2010年11月29日に、第1回目のセミナーが行なわれました。受講者の皆さんのご意見を取り入れながら、どんどん進化させて行きたいと考えています。