2006年10月1日日曜日

EA3 10/16開講予定の制御CAD演習に関して

今年は、履修者が前期・後期とも7名ですので、演習は工学部2号館12階にある古関研究室で行います。TAは古関研修士課程1年生の鈴木武海君で、担当教員は、電気工学科の堀洋一教授と古関です。演習には、電気系の学部生に配布して貸与してある情報理工学系研究科のノートPCを用いますので、履修者は10/16以降の履修日、月曜日には必ずそのPCを持って、13:00少し前に上記の古関研までお越しください。貸与のノートPCを用いての学習ということで、基本的に自宅での予習・復習を含む作業が可能になりますし、レポートの作成は自宅作業が多くなるかもしれませんが、シミュレーションの細かな技術については、先輩や教員の前で実際に議論しながら進めることに意味があると思いますので、出席も成績評価の重要な要素になることにご注意ください。

制御CADのツールとしては、フリーソフトのSciLabあるいはMATLABの学生版を用いることを強く推奨いたします。

参考のために、本年度の実験書に記載した内容を以下に再掲します。具体的な演習問題を含む教材は、演習の現場で配布の予定です。

-----
EA-3 MATLAB, Simulinkを用いた制御系CAD演習(2006年度)
担当: 堀洋一, 古関隆章

1.はじめに
 制御工学は電気系のみならずあらゆる工学分野で用いられている基礎的な技術であり、この演習の受講者の多くはすでに夏学期の「制御工学I」を履修していることであろう。また、駒場4学期でも制御工学と非常に関連の深いラプラス変換を用いた微分方程式の取扱を必修科目として学んでいるはずである。しかし、そこでは、例題があくまでも紙の上の計算で扱える範囲の比較的単純なものに限定されざるを得ず、面白さと言う点でも、現実的なより複雑な問題を解決するためのトレーニングを行うという点でも物足りなさを感じたに違いない。
 堀や古関の学生時代は、現在のように能力のすぐれた計算機・便利なソフトウェアが簡単に使える環境ではなく、時間応答のディジタルシミュレーションを行うことは、それ自体で数日を要する作業であった。たとえば、分母多項式を導出し、ニュートンラフソン法で多項式の解を求めるプログラムを作成し、留数の定理などを用いて各時間におけるラプラス逆変換を数値的に求め、さらに、それをグラフで表現するためのプログラムを作成するという作業を経てようやく一つの応答波形を可視化することができるという具合であった。さらに制御工学Iの授業で習ったような、いわゆる「古典制御理論」が盛んに研究された頃は、解析式の導出し、それを電気信号としてシミュレーションするためにアナログ・アンプを組み合わせて積分器や近似的な微分器の回路をつくり、その出力波形を観測しながら研究が進められていたと聞く。(これをアナログコンピュータと呼んでいた。)
 今日では、幸いにして、高速の計算機と、プログラムやモデル作成の容易なグラフィック・インターフェース機能も含むソフトウェアが比較的簡単に手に入るようになっている。その代表的なものがこの演習で用いるMATLABで、もともとは行列の演算を扱う数値ライブラリ(サブルーチン集)を使いよくするために、変数をわたす部分のインターフェースを良くするツールとして生まれた。その後、それをベースにグラフィクスの機能などが強化され、商用の技術計算用言語として頒布されるようになった。さらに、フィルタ設計や最適化問題あるいは制御のシミュレーションなどに便利な、Toolboxと呼ばれるアプリケーションごとのルーチン集が別売りされるようになって、CADツールとして研究機関や産業界で広く用いられるようになった。MATLAB本体はあくまでもキャラクタ ベースでコマンドをスクリプトとして記述しプログラムを行う形態のツールであるが、制御の分野でMATLABが広く用いられる様になったのは、ブロック線図をカットアンドペーストでグラフィカルに作成することで非常に簡単に過渡応答の計算ができてしまうSimulinkというツールがMATLAB上で動くようになってからであろう。
 本演習でもMATLABの基本機能と、Simulinkを必要に応じて使い分けながら作業を進めて行くが、その便利な機能を堪能すると同時に、安直にその便利さに溺れることなく、問題のもつ物理的本質やディジタルシミュレーションに伴う問題点に注意しながら、頭を使って計算の仮定や結果を考察するようにしよう。
 与えられた問題の他に、自分自身で発展例題を作成しあるいは参考書を参照して興味のある問題を探してそれを解いてみることは大いに推奨される。ただし、この演習で用いているMATLAB/SimulinkはStudent Editionであるため複雑な問題を考えると、変数の数やブロックの上限が問題となる可能性があることに注意してほしい。(詳しいことはソフトウェアのマニュアルを参照。)
 MATLAB/Simulinkの使い方に関しては、演習の現場でも指導を行うが、現場で閲覧できるStudent Edition のマニュアル(英語版)のほか、生協にもいくつかの成書が売られているし、web上のボランティア的な解説も多くなっていると思うので、それらを各自で選択して参照するとよい。たとえばこの演習の内容に近いものとしては
西村, 野波:「MATLABによる制御理論の基礎」東京電気大学出版局1998年
などが出版されている。またMATLABの概要を知りいくつかのデモをみたければ、このソフトを日本で販売しているサイバネット社のホームページを覗いてみると良いであろう。
 MATLABの大学で用意したバージョンではオンラインヘルプもマニュアルもすべて英語で書かれているが、少し慣れれば難しいことはない。このようなマニュアルは、翻訳されたものよりも原文を読んだほうがずっとわかりやすいことを実際の作業の中でしばしば経験する。また、プログラム中のコメントやグラフの軸などもすべて英語で書かねばならない。技術的な英語を用いることにアレルギーを起こさず、良い訓練の機会と思って積極的に活用し、必要なtechnical termsを覚えてしまうと良い。

2.日程と学習内容
 本演習は、週1回のペースで6週で完結する。その概要を以下の表に示す。主として制御工学Iの内容に準拠している。制御工学Iの教科書の該当箇所を読んで、準備をすることが可能である。具体的な演習問題説明などは、演習現場で与える配布プリントの中で与えている。制御工学IIの内容として演習の課題となりうるものとしては
2.1. ディジタル制御:Z変換
微分と疑似微分:Bode線図と波形の応答/Tustin 変換と厳密なZ変換の応答の比較
MatLabを用いたディジタルフィルタの設計
2.2. 状態方程式と伝達関数:相互の書き換え
極配置に基づく状態フィードバック
時不変線形システムの最適レギュレータ問題と結果として与えられる極配置の関係
2.3. 状態観測器の設計
2.4. 定常カルマンフィルタ
などが挙げられる。これらを本演習の基礎編で本格的に扱うことは時間の制約上残念ながらできないが、本年度は、制御工学第一の範囲で状態空間法入門を扱っているので、その演習も原理的に可能である。4回までの演習でMATLABを用いた作業に習熟したら、その後の選択課題の中で、これら冬学期の講義内容にも関係する課題に積極的に挑戦し、授業で習った内容の理解に役立て欲しい。

第1回: MATLAB/Simulink入門、微分方程式とラプラス変換
第2回: システムの応答, システムの周波数特性とボーデ線図, 安定性の解析: ラウスの判定法, フルビッツの判定法, ナイキストの判定法
第3回: 二次系の性質と極の位置, フィードバック制御の特性, フィードバック制御の設計
第4回: PI(D)制御とI-P(D)制御と分子多項式の影響/二自由度制御, フィードバックとフィードフォワード, 状態空間法入門
選択課題: 第5, 6回 発展課題:磁気浮上, 電気自動車の制御, カオス現象の解析と制御など

3. 参考書
なお、演習に役立つであろう制御理論に関する参考書としては、講義で指定している堀の教科書「制御工学の基礎」の他、
[1] 茅陽一:「制御工学第一」
[2] 細江繁幸:「システムと制御」オーム社
[3] 伊藤正美:「制御理論演習」 昭晃堂
[4] 平井一正, 羽根田博正, 北村新三:「システム制御工学」森北出版
などがあるので適宜自分の気に入ったものを参照して欲しい。(上記は比較的古い参考書なので、より新しいもので自分に合うものを探してみよ。)

4.有用なフリーソフトに関して
 このガイダンスの文書は、Sun Microsystemsが本学の情報基盤センターを通じて学内関係者にフリーで使用権を認めてくれているStarSuiteというソフトを用いて作成している。本演習ではレポート用のワープロ、作図、数式エディタを用いてレポートをまとめたいという履修者の希望に対応するため、フリーソフトであるOpenOffice.orgを2002年度から導入した。その後、2003年度から、本来商用ソフトであるStarSuiteが東大関係者には自由に使えるようになったうえ、情報理工系のノートPCを各自が貸与されている現状では、そこに必要なソフトを自分でインストールして、StarSuiteあるいはLaTexを使用してレポーティングを行うことが推奨される。情報理工学系から貸与されているPCで学内LANから情報基盤センターに接続し、ダウンロードしてPCにインストールするとよい。(もちろん、一般向けに公開されているフリーソフトOpenOfficeもStarSuiteとほぼ同等の機能を有しているので、そちらを使用することは「フリー」である。)


-----情報基盤センターからの連絡------
> 下記のURLから、利用申請を行なうことができる。
> http://www.nc.u-tokyo.ac.jp/software-license/starsuite/
> ■教育用計算機システムのアカウントがあれば、そのIDとパスワードで認証を行い、ダウンロードする。
------------------------------------------------
アップデート用のソフトもあるのでSUNのページ http://jp.sun.com/starsuite/ も参照するとよい。
 また、本演習で用いているMATLABは、比較的高価な商用ソフトであり、貸与ノートPCへのインストールを意図し自宅学習用に配布することはできない。一方、(このMATLABに対して俗称MATLABクローンと呼ばれる)数値計算用の優秀なフリーのソフトウェアが存在する。自習用にはフリーソフトSciLabをhttp://www-rocq.inria.fr/scilab/からダウンロードして、自分のPCにインストールし使用してみることも奨める。これらフリーソフトに関しては

早稲田大学の大石先生による数値計算の基礎教育のページ
http://www.oishi.info.waseda.ac.jp/~oishi/sir/index.html

メディアラボのホームページにあるフリーの科学技術計算用のプログラムの紹介
http://www.mlb.co.jp/linux/science/

特に、シミュリンク相当のツールもあるプログラムSciLab SciCOSの紹介
http://www.geocities.jp/rui_hirokawa/scilab/

などのページが参考になろう。このほかにもインターネットのキーワード検索で「Matlabクローン」などの用語で検索すると、様々な関連プログラムの情報が得られる。なお、これらのフリーソフトウェアに関する情報は、古関の個人HP (http://www.geocities.jp/takafumikoseki/)にも掲載している。

0 件のコメント: