ラベル 制御CAD演習 の投稿を表示しています。 すべての投稿を表示
ラベル 制御CAD演習 の投稿を表示しています。 すべての投稿を表示

2017年8月10日木曜日

3年生Aターム実験課題 No. 19 制御系設計と運動制御 (コントロールラボ担当 2017/10/26 更新)

What's New?:
 9/26第1回目のレポートの採点をして気づいた点を、ここにフードバックします。今後の他の課題のレポート準備、あるいは第2回目以降の履修者の皆さんがレポートをまとめるにあたって、以下のフィードバックを参照していただければいいと思います。

-------------------------------
第1期のレポート、フル・レポート4, 考察のみレポート4の合計8件を見せていただきました。とても丹念に文献調査や実験結果の考察を行ったものから、実験データの具体的な記載がなく曖昧な考察の記述のみを記した不十分なものまで、個人差がありました。学生番号順に気づいた点をフィードバックします。

Aさんの考察報告書:実験結果を丁寧に扱ったレポートになっていますが、一方で、議論の主題を明示していないため、この報告書だけを見ても何の議論をしているのかがわかりません。レポートは、それ自身で閉じた報告書となっていることが重要ですので、何についての考察をしているのか問題設定も含め、報告書に記載しましょう。

Bさんの実験報告書: 具体的な測定結果の記載がほとんどなく、きわめて表面的なあいまいな記述のみにとどまっている点が残念でした。まずは、実際の測定結果を、理論値/数値計算に基づく予測と比較し、定量的な議論を具体的に行う意思を持つことが、レポート記述に当たって最も重要なことと思います。また、議論の根拠とした文献情報の記載もありませんでした。

Cさんの考察報告書:全体的に無難にまとまっている感じなのですが、少し考察・検討の踏み込み方に不足を感じました。たとえば、PD制御と外乱オブザーバによるトルク補償を行った場合の実験現場で感じられた感触は、明らかに、理論とは反する結果を得ていますね。そのことをきちんと記憶して、記載したことは素晴らしいことなのですが、ではどうしてそうなったかということについて班の仲間やTAと議論し、そのことも記載できるとよかったのではないでしょうか?

 グラフは計算機にプロットさせるのみならず、その上に定規をあてて、最も尤もらしい傾向を読み取る、というアナログ的なセンスが必要だと思います。そうすると、おのずから有効数字をどこまで考えるかということにも思いがいたるのではないでしょうか?

Dさんの実験報告書: やや冗長な記述もありますが、熱心な取り組みの感じられる良い報告書を提出されました。多くの実験結果を掲載していますが、それぞれの横軸、縦軸が何の物理量を示しているかをきちんと図の中で分かるように記載することを心がけましょう。極配置を図示する際に、実軸・虚軸を意図的に等スケールとしていること、複数のグラフを比較しやすいようスケールの調整を統一的に行っている配慮、各考察の議論における参考文献を具体的に示していることも優れていると感じました。


Eさんの考察報告書: 議論の表題を明示すべきこと、実験結果に基づく議論を具体的に行うよう努めてほしいこと、は上の他の方への要請と同じです。考察課題3の議論は一般性がなく理論的に少しおかしな内容を含んでいるように感じます。

Fさんの実験報告書: 極配置を図示する際に、実軸・虚軸を意図的に等スケールとするよう工夫しましょう。そうでないと極配置からダンピングの情報を得ることができません。また、実験結果をグラフにまとめす際は、それぞれの横軸、縦軸が何の物理量を示しているかをきちんと図の中で分かるように記載することを心がけましょう。そして、グラフの個々の点について、有効数字を無視したような個別計算を行うのではなく、技術者として、全体的な傾向をグラフ上の複数のデータから判断し、測定結果のもつ情報を総合的に利用するセンスを養ってほしいと思います。


Gさんの考察報告書: コンパクトに手際よくまとめましたが、測定結果の記載があまりなかった点は残念でした。


Hさんの実験報告書:全体的にすっきりまとめようとした努力は認めますが、実験内容の記載、測定結果の記載およびそれに基づく議論という点で、実験報告書としては実験結果をやや軽視してしまった印象を否定できません。また、慣性モーメントの同定で、理論あるいは直感と明らかに反する結果が得られているのに、それに対する原因の追究や見直しの議論がなされていないことは、よくありません。結果を見てのフィードバックを重視することは、制御にかかわる技術者の基本として重要でしょう。レポートや図の記載における形式論は上の他の人たちへのコメントと共通です。


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

 堀、藤本、古関が共同で担当する課題19では、電気―機械系の相互作用で生ずる運動制御を通じ、講義で学んだ制御理論、特に、フィードバック制御 を、外乱の影響や機械的振動の抑制を体験することで実践的に学びます。そして、制御系設計法を実践的スキルとして体得することを目的とします。

 本課題の履修者は、動的な物理現象への技術者としての関わり方、制御理論の基礎的な考え方を身につけることができます。同時に、ロボット、工作機械や搬 送装置などのための産業用ドライブ、車両駆動など、広い範囲の実務に臨む際の有力な武器となる技術的素養を、この経験を通じて体得することが期待されま す。

重要: 初日に自分の使用するノートPCを必ず演習会場に持ってきてください!

演習および実験の場所と時間: 3日目以後は三号館の実験室に集合

実験の正規の時間: 13:00-16:40
[1] 09/26, 28 (前半) 前半の演習@413 号室   10/02(後半), 03, 05 後半の実験@3号館電力実験室
[2] 10/, 12(前半) 前半の演習@413号室   10/16(後半), 17, 19 後半の実験@3号館電力実験室
[3] 10/23, 24(前半) 前半の演習@413号室   10/26(後半), 30, 31 後半の実験@3号館電力実験室

Octave(, MATLAB, Simulink)の使用法については、関連の参考書やweb上の説明(例)などを見てください。
「Matlab 基本 初心者」などのキーワードで検索をすると、親切な解説を日本語で書いている方もいらっしゃります。最も早く学ぶためには、適切な入門的参考書を本屋で一冊購入することだと思います。(アマゾンなどでキーワード検索をかけると良い参考書が見つかるでしょう。)

 また、学生版を自分で購入する方は、このページから、(あるいは大学生協などを通じて)申し込みができると思います。フリーソフトSciLabの入手はこちらから。
 Octaveというフリーソフトは、よりMatlabに似た使用環境を与えてくれます。Octave, Scilabともに、UbuntuなどのLinux上のソフトとしても使用可能です。本演習では、主としてこのOctaveを用いて学ぶことにしましょう。

演習、実験に必要なテキストおよびファイルを以下から事前にダウンロードしてよくお読みください。

------------演習/実験の内容の解説と必要ファイル(工事中)----------------
(リンクを右クリックで「新しいタブで開く」として、ファイルを閲覧あるいはダウンロードしてください。)

(1) 制御CAD演習テキスト https://www.dropbox.com/s/xq30813emsyd2zx/Enshu170926.pdf?dl=0(2017年度版 重要)
     (演習、実験の詳細な時間的スケジューリングは、TAの指導にしたがって柔軟に調整してください。 9/24にリンクを正式版に更新しました。)

(2) 数値計算ツール Octave 日本語での解説はこちら

----実験課題----
(3) 一軸ロボット実験指導書https://www.dropbox.com/s/871kqh6tjzl7zvw/horitxt171002.pdf?dl=0(堀教授 2017年度版 9/24にリンクを正式版に更新しました。)   


--------------------------------------
提出レポートについての具体的指示

<親レポートとして出す人>
演習問題の中で赤で書かれたもの(できるだけ網羅的に)
+実験(結果と考察を中心に) 考察課題 (2)+(5)+(7) +α

<子レポートとして出す人>
実験(結果の簡単なまとめ)+ 考察課題 2つを選んで提出

2015年7月8日水曜日

3年生Aターム実験課題 No. 18 制御系設計と運動制御 (コントロールラボ担当)

堀、藤本、古関が共同で担当する課題18では、電気―機械系の相互作用で生ずる運動制御を通じ、講義で学んだ制御理論、特に、フィードバック制御 を、外乱の影響や機械的振動の抑制を体験することで実践的に学びます。そして、制御系設計法を実践的スキルとして体得することを目的とします。

 本課題の履修者は、動的な物理現象への技術者としての関わり方、制御理論の基礎的な考え方を身につけることができます。同時に、ロボット、工作機械や搬 送装置などのための産業用ドライブ、車両駆動など、広い範囲の実務に臨む際の有力な武器となる技術的素養を、この経験を通じて体得することが期待されま す。

重要: 初日に自分の使用するノートPCを必ず演習会場に持ってきてください!

演習および実験の場所と時間: 3日目は演習の部屋に集合し、その後TAの案内に従って実験室に移動
実験の正規の時間: 13:00-16:40 
[1] 09/28, 29 +10/01(前半) 前半の演習@413 号室   10/01(後半), 05, 06 後半の実験@3号館電力実験室
[2] 10/08, 13, 10/15(前半) 前半の演習@413号室   10/15(後半), 19, 20 後半の実験@3号館電力実験室
[3] 10/22, 26, 27(前半) 前半の演習@413号室   10/27(後半), 29, 30 後半の実験@3号館電力実験室

Octave(, MATLAB, Simulink)の使用法については、関連の参考書やweb上の説明(例)などを見てください。
「Matlab 基本 初心者」などのキーワードで検索をすると、親切な解説を日本語で書いている方もいらっしゃります。最も早いのは適切な入門的参考書を一冊購入することだと思います。

 また、学生版を自分で購入する方は、このページから、あるいは大学生協などを通じて申し込みができると思います。フリーソフトSciLabの入手はこちらから。
 Octaveというフリーソフトは、よりMatlabに似た使用環境を与えてくれます。Octave, Scailabともに、UbuntuなどのLinux上のソフトとしても使用可能です。本演習では、主としてこのOctaveを用いて学ぶことにしましょう。

演習、実験に必要なテキストおよびファイルを以下から事前にダウンロードしてよくお読みください。

------------演習/実験の内容の解説と必要ファイル(工事中)----------------
(リンクを右クリックで「新しいタブで開く」として、ファイルを閲覧あるいはダウンロードしてください。)

(1) 制御CAD演習テキスト (2015年度版 重要)
     (演習、実験の詳細な時間的スケジューリングは、TAの指導にしたがって柔軟に調整してください。)

(2) 数値計算ツール Octave

----実験課題----
(3) 一軸ロボット実験指導書(堀教授 2015年度版)   


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

提出レポートについての具体的指示

<親レポートとして出す人>
演習問題の中で赤で書かれたもの(できるだけ網羅的に)
+実験(結果と考察を中心に) 考察課題 (2)+(5)+(7) +α

<子レポートとして出す人>
実験(結果の簡単なまとめ)+ 考察課題 2つを選んで提出

2014年8月20日水曜日

3年生冬学期実験課題 No. 18 制御系設計と運動制御 (コントロールラボ担当 2014/09/27 改訂β版)


堀教授および古関教授が共同で担当する課題18では、電気―機械系の相互作用で生ずる運動制御を通じ、講義で学んだ制御理論、特に、フィードバック制御 を、外乱の影響や機械的振動の抑制を体験することで実践的に学びます。そして、制御系設計法を実践的スキルとして体得することを目的とします。
 本課題の履修者は、動的な物理現象への技術者としての関わり方、制御理論の基礎的な考え方を身につけることができます。同時に、ロボット、工作機械や搬 送装置などのための産業用ドライブ、車両駆動など、広い範囲の実務に臨む際の有力な武器となる技術的素養を、この経験を通じて体得することが期待されま す。

重要: 初日に自分の使用するノートPCを必ず演習会場に持ってきてください!


演習および実験の場所(工事中)
[1] 10/06  -10/16   前半の演習@   413 号室   後半の実験@3号館電力実験室
[2] 10/20  -10/30    前半の演習@   413号室   後半の実験@3号館電力実験室
[3] 11/ 04 -11/17   前半の演習@   413号室   後半の実験@3号館電力実験室


MATLAB, Simulinkの使用法については、関連の参考書web上の説明(例)などを見てください。
英文ですが、Matlab入門として基本的なことが書かれているのはこれです。その他「Matlab 基本 初心者」などのキーワードで検索をすると、親切な解説を日本語で書いている方もいらっしゃります。
最も早いのは適切な入門的参考書を一冊購入することだと思います。


 また、学生版を自分で購入する方は、このページから、あるいは大学生協などを通じて申し込みができると思います。フリーソフトSciLabの入手はこちらから。
 Octaveというフリーソフトは、よりMatlabに似た使用環境を与えてくれます。Octave, Scailabともに、UbuntuなどのLinux上のソフトとしても使用可能です。本演習では、主としてこのOctaveを用いて学ぶことにしましょう。

演習、実験に必要なテキストおよびファイルを以下から事前にダウンロードしてよくお読みください

------------演習/実験の内容の解説と必要ファイル----------------
(リンクを右クリックで「新しいタブで開く」として、ファイルを閲覧あるいはダウンロードください。)

(1) 制御CAD演習テキスト (2014年度版 重要)

(2) 数値計算ツール 

----実験課題----
(3) 一軸ロボット実験指導書(堀教授 2014年度版)   


--------------------------------------
ここに、Matlab(Octaveでも有効)で記述した演習問題のサンプルファイルを置きますので、必要に応じてご参照ください。
(本当は ##.mというMファイル形式がよいのですが、ここでは表示の容易さのために sample.txtとしています。)

提出レポートについての具体的指示

<親レポートとして出す人>
演習問題の中で赤で書かれたもの(できるだけ網羅的に)
+実験(結果と考察を中心に) 考察課題 (2)+(5)+(7) +α

<子レポートとして出す人>
実験(結果の簡単なまとめ)+ 考察課題 2つを選んで提出

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/

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

2007年8月27日月曜日

制御CAD演習 実施要領(10/02更新)

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

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

実際に演習に使うテキストは、ここから入手してください。
演習当日の時間を有効に活用するため、事前にテキストに目を通し予習をして演習に臨むことを強く推奨します。

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

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

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

前半グループ (*はレポート課題出題日)

基礎演習: (1) 10/15 (2) 10/22* (3) 10/29 (4) 11/5*
応用演習: (5) 11/12 (6) 11/19*
レポート締切日: (2) 11/5(13:00@演習) (4) 11/19(13:00@演習) (6) 01/11(17:00@事務室)

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

担当者: 堀教授 古関准教授 TA 鈴木武海(修士2年生)

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

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

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

MATLAB, Simulinkを用いた制御系CAD演習(2007年度)

担当: 堀洋一, 古関隆章


  1. はじめに

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

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

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

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

 与えられた問題の他にも、自分自身で発展例題を作成しあるいは参考書を参照して興味のある問題を探してそれを解いてみることは大いに推奨される。ただし、この演習で用いているMATLAB/SimulinkStudent Editionであるため非常に複雑な問題を考えると、変数の数やブロックの上限が問題となる可能性もあることに注意してほしい。(詳細はソフトウェアのマニュアルを参照のこと。例: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を覚えてしまうと良い。


  1. 日程と学習内容

 本演習は、電子情報学専攻貸与のノートPCを用いて、工学部2号館12階の古関研究室にて、教員およびTAの指導の下で行う。1回のペースで6週で完結する。その概要を以下の表に示す。主として制御工学Iの内容に準拠している。制御工学I教科書の該当箇所を読み事前に準備することが可能である。具体的演習問題説明などは配布プリントで与える。古関隆章ブログ http://takafumikoseki.blogspot.com/ からもテキストをダウンロード可能とする予定。 制御工学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.org2002年度から導入した。その後、2003年度から、本来商用ソフトであるStarSuiteが東大関係者には自由に使えるようになったため、StarSuiteあるいはLaTexを使用してレポーティングを行うことを強く推奨している。情報理工学系から貸与されているPCで学内のLANから情報基盤センターに接続し、ダウンロードしてPCにインストールするとよい。(もちろん、一般向けに公開されているフリーソフトOpenOfficeVer. 1.1 以降は商用版のStarSuitesとほぼ同等の機能を有しているので、そちらを使用することは自由である。)


-----情報基盤センターからの連絡------

> 下記のURLから、利用申請を行なうことができます。

> http://www.nc.u-tokyo.ac.jp/software-license/starsuite/

> 教育用計算機システムのアカウントをお持ちの方は、そのIDとパスワードで認証を行い、ダウンロードする。

アップデート用のソフトもあるのでSUNのページ http://jp.sun.com/starsuite/ も参照するとよい。

このSUNの商用ソフト、Star Suite 8は、2007年8月に、Googleが買い取って、Google パックとして、無料で使用できるよう公開されるようになりました。したがって、これを、このリンクから入手して使うのがよいと思います。

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

 また、本演習で用いているMATLABは、比較的高価な商用ソフトであり、自宅学習用に配布することはできない。(演習で用いているソフト自体が、機能限定のついた学生版の古いバージョンのものである。)しかし、MATLABに対しても俗称MATLABクローンと呼ばれる優秀なフリーのソフトウェアが存在する。自習用にはフリーソフトSciLabhttp://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/

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