2008年10月1日水曜日

制御CAD演習 実施要領(10/01初稿 10/8改訂)

3年生冬学期、月曜日午後には演習が行われます。堀教授と古関が担当するEA3 制御CAD演習ではPC上の制御CADソフトを用いて実践的な制御系の応答計算や設計の演習を扱います。

このブログの昨年度の記載でその様子がお分かりになると思います。本年度もほぼ同じ内容です。
(この形式での演習は本年度が最後になります。)

実際に演習に使うテキストは、ここから入手してください。(10/20に改訂版へのリンクをはり直しました。)
また、図の様式に一部不備がありますが、5, 6日目の堀教授の発展課題のテキストは、必要に応じてここから入手してください。演習当日の時間を有効に活用するため、事前にテキストに目を通し予習をして演習に臨むことを強く推奨します。

(10/02に配布された全体の実験計画の中で確認した結果、実施日程を以下の通りとします。)

場所: 工学部2号館12階古関研(123D1室)
日時: 月曜13:00-16:00

10/2(木) 午後 実験/演習全体のガイダンス

前半グループ (*はレポート課題出題日)
基礎演習: (1) 10/06 (2) 10/20* (3) 10/27 (4) 11/10*
応用演習: (5) 11/17 (6) 11/21*
レポート締切日: (2) 11/10(13:00@演習) (4) 11/21(13:00@演習) (6) 01/13(17:00@事務室)

後半グループ (*はレポート課題出題日)
基礎演習: (1) 12/08 (2) 12/15* (3) 12/22 (4) 12/24*
応用演習: (5) 01/08 (6) 01/19*
レポート締切日: (2) 12/24(13:00@演習) (4) 01/19(13:00@演習) (6) 02/16(17:00@事務室)

担当者: 堀教授 古関准教授 TA 福正博之 (博士課程1年生)

以下に、後期実験テキストに掲載予定の、演習の紹介(の一部を最新情報に基づき微修正したもの)を転載しておきます。

講義だけでは何となく納得のいかなかった部分が、自分でシミュレーションをし、時間応答波形や周波数特性を見る中で、直感的に理解できるようになることを目指していますので、エネルギーコースの人のみならず、情報系、電子系の科目を中心に履修している皆さんにも積極的にご参加いただきたいと思います。

------------------

MATLAB, Simulinkを用いた制御系CAD演習(2008年度)
(本稿、古関の不手際から、実験書には昨年度のページがそのまま掲載されておりますことをお詫びします。本年度版の記述もほぼ変わりませんが、こちらをご覧ください。)
担当: 堀洋一, 古関隆章


1. はじめに

 制御工学は電気系のみならずあらゆる工学分野で用いられている基礎的な技術であり、この演習の受講者の多くはすでに夏学期の「制御工学I」を履修していることであろう。また、駒場4学期でも制御工学と非常に関連の深いラプラス変換を用いた微分方程式の取扱を必修科目として学んでいるはずである。しかし、そこでは、例題があくまでも紙の上の計算で扱える範囲の比較的単純なものに限定されざるを得ず、面白さと言う点でも、現実的なより複雑な問題を解決するためのトレーニングを行うという点でも物足りなさを感じたに違いない。

 堀や古関の学生時代は、現在のように能力のすぐれた計算機・便利なソフトウェアが簡単に使える環境ではなく、時間応答のディジタルシミュレーションを行うことは、それ自体で数日を要する作業であった。たとえば、分母多項式を導出し、ニュートンラフソン法で多項式の解を求めるプログラムを作成、留数の定理などを用いて各時間におけるラプラス逆変換を数値的に求め、さらに、それをグラフで表現するためのプログラムを作成するという作業を経てようやく一つの応答波形を可視化することができるという具合であった。さらに制御工学Iの授業で習ったような、いわゆる「古典制御理論」が盛んに研究された頃は、解析式の導出とアナログのアンプを組み合わせて積分器や近似的な微分器の回路をつくり、その出力波形を観測しながら研究が進められていたと聞く。(これをアナログコンピュータと呼んでいた。)

 今日では、幸いにして、高速の計算機と、プログラムやモデル作成の容易なグラフィック機能も含むソフトウェアが比較的簡単に手に入るようになっている。その代表的なものがこの演習で用いるMATLABで、もともとは行列の演算を扱う数値ライブラリ(サブルーチン集)を使いよくするために、変数をわたす部分のインターフェースを良くするツールとして生まれた。その後、それをベースにグラフィクスの機能などが強化され、商用の技術計算用言語として頒布されるようになった。さらに、フィルタ設計や最適化問題あるいは制御のシミュレーションなどに便利な、Toolboxと呼ばれるアプリケーションごとのルーチン集が別売りされるようになって、CADツールとして研究機関や産業界で広く用いられるようになった。MATLAB本体はあくまでもキャラクタベースでコマンドをスクリプトとして記述しプログラムを行う形態のツールであるが、制御の分野でMATLABが広く用いられる様になったのは、ブロック線図をカットアンドペーストでグラフィカルに作成することで非常に簡単に過渡応答の計算ができてしまうSimulinkというツールがMATLAB上で動くようになってからであろう。

 本演習でもMATLABの基本機能と、Simulinkを必要に応じて使い分けながら作業を進めて行くが、その便利な機能を堪能すると同時に、安直にその便利さに溺れることなく、問題そのもののもつ物理的本質やディジタルシミュレーションに伴う様々な問題点に注意しながら、頭を使って結果を考察するようにしよう。

 与えられた問題の他にも、自分自身で発展例題を作成しあるいは参考書を参照して興味のある問題を探してそれを解いてみることは大いに推奨される。この演習で用いているMATLAB/Simulinkは、以前書籍の付録として配布されていたStudent Editionであるため非常に複雑な問題を考えると、変数の数やブロックの上限が問題となる可能性もあることに注意してほしい。現在では、最新商用ソフトの学生版 Student Version として大学生協の店舗などで、学生個人がよりよいものを購入することができる。

(詳細はソフトウェアのマニュアルを参照のこと。例:http://www.mathworks.com/access/helpdesk/help/toolbox/control/

 MATLAB/Simulinkの使い方に関しては、演習の現場でも指導を行うが、現場で閲覧できるStudent Edition のマニュアル(英語版)のほか、生協にもいくつかの成書があるのでそれを各自で適宜選択して購入するとよい。たとえばこの演習の内容に近いものとしては

西村, 野波:「MATLABによる制御理論の基礎」東京電気大学出版局1998年

などが最近出版されている。またMATLABの概要を知りいくつかのデモなどがみたければ、このソフトを日本で販売しているサイバネット社のホームページ http://www.cybernet.co.jp/products/matlabを覗いてみると良いであろう。

 演習で用いているMATLABは、オンラインヘルプもマニュアルもすべて英語で書かれているが、少し慣れれば難しいことはない。このようなマニュアルは、翻訳されたものよりも原文を読んだほうがずっとわかりやすいことを実際の研究の中でしばしば経験する。また、プログラム中のコメントやグラフの軸などもすべて英語で書かねばならない。もちろんローマ字で日本語を書くことは可能である。技術的な英語を用いることにアレルギーを起こさず、良い訓練の機会と思って積極的に活用し、必要なtechnical termを覚えてしまうと良い。


2. 日程と学習内容

 本演習は、電子情報学専攻貸与のノートPCを用いて、工学部2号館12階の古関研究室にて、教員およびTAの指導の下で行う。週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年度から導入した。その後、本来商用ソフトであるStarSuiteがGoogleパックスの形で実質的に自由に使えるようになったため、StarSuiteあるいはLaTexを使用してレポーティングを行うことを推奨する。

-----------------------------------------------
 また、本演習で用いているMATLABは、比較的高価な商用ソフトであり、自宅学習用に配布することはできない。(演習で用いているソフト自体が、機能限定のついた学生版の古いバージョンのものである。)しかし、MATLABに対しても俗称MATLABクローンと呼ばれる優秀なフリーのソフトウェアが存在する。自習用にはフリーソフトSciLabをhttp://www-rocq.inria.fr/scilab/からダウンロードして、自分のPCにインストールし使用してみることも奨める。これらフリーソフトに関しては


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

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

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

などのページが参考になろう。(2008年10月01日リンク有効確認済。)

インターネットのキーワード検索で「Matlabクローン」などの用語で検索すると、様々な関連プログラムの情報が得られる。なお、これらのフリーソフトウェアに関する情報は、古関の個人HP (http://www.geocities.jp/takafumikoseki/)にも掲載している。Linux環境上で理工学系の仕事をすることは、最近のユーザフレンドリなOSの普及によりかつてなく容易になっている。ここで述べた計算やレポート作成のための環境は

Ubuntu: http://www.ubuntulinux.jp/

Fedora9: http://fedoraproject.org/ja/

などを用いることで、今日では非常に安価に個人でも構成することが可能である。

0 件のコメント: