システム制御系 〜B2編 振り返り〜
この記事を書いている中の人
皆さんnote上ではお久しぶりです。noteで記事を書くのは1年ぶりですが、今回は私がB2から籍を置いている「工学院システム制御系」の、私が受講した200番台科目のレビュー兼、23B以降の「システム制御系ってどんなところなの?」という疑問を1%でも解消すべく、この記事を書こうと思いました。
一部拙く、知見が浅い部分があると思いますが、そこのところはご容赦を、、m(_ _)m
システム制御系ってどんなところ?簡潔に説明せよ。(10点)
はい簡潔に説明しますね。システム制御系とは、「対象をおさえ、自分の思った通りに動かすことを追求する系」です。これだけ言ってもピンとこないと思うので、もう少し具体的に説明します。
先ほどの説明の中では、「対象が何か」とは何も言及していません。つまり、思った通りに動かしたい対象は、どんなものでも構いません。
例えば、身の回りのもので言えば、エアコン、自動車、スマートフォン、もっと大規模な視点で見てみると、AmazonやGoogleのような大企業の提供するサービスなども考えられます。
つまり、システム制御系は、「対象のシステムから、制御をする上で必要な特性を(数学的に)モデル化し、モデルに基づいて対象を解析し、設計を進めていく」ようなことをやっていくような系です。
研究室の情報を見ればもう少し解像度が高い情報が載っていると思うので、以下のURLから見ることを推奨します。
200番台の授業レビュー
さてお待たせしました。以下では私がB2時に受講した授業を、クオーター別に紹介していきたいと思います。一部主観的なことを述べる場合がありますが、あくまで個人の意見なのでご容赦ください。
1Q
システム制御数学A(3単位)
システム制御系で専門的なことを学ぶ上で必要となる数学の基礎を学びます。具体的には複素関数論について勉強していきます。前半では高校の延長線上のことを取り扱い、楽だと思いますが、後半ではラプラス変換とフーリエ変換、そして複素積分を取り扱うので、ここは非常に重要です。特にラプラス変換は、線形の微分方程式を機械的に解く上で有効なツールとなるので、しっかりとマスターしましょう。
なお、この講義は先生が過去問を配布している点が非常に良心的です。この過去問で期末テストの傾向が掴めると思います。(演習と期末テストは文章がすべて英語で書かれています。)また、シラバスで指定されている教科書をみると、5万近くしてびっくりすると思いますが、これは買う必要はありません。授業資料で事足ります。
システム創造設計(2単位)
主に設計に関することについて、複数の教員によりオムニバス形式で学びます。前半では主に機構や材料について学んだり、その実物に触れることができます。後半ではFusion360というモデリングソフトを使い、サンプルモデルを設計したりします。こちらは大学で登録できるので、無料で使うことができます。
ちなみに私はこれを使って東工大本館のキャンパスを作りました。(クオリティについてはノーコメントで)
機械の運動と力学(2単位)
B1で学んだ力学を、運動学に応用してみようみたいな感じの授業です。内容としては、主に剛体の運動について解析し、機械を始めとする物理システムを設計するための基礎となる力学を学びます。
最終的には慣性テンソルと慣性主軸の計算をします。これは後々、回転座標系における剛体の解析をする上で必要となってくるので、ここで抑えておきましょう。
2Q
デジタル創造基礎(2単位)
A,B,Cパートに分かれています。
Aは電子回路やマイコンの基礎を学び、フォトリフレクタ回路を自分で組み立て、回路動作をマイコンによって実現します。
やるべきことは授業資料に載っていますが、慣れていなければ、まあまあ苦戦するかと思います。(私は大苦戦しました。)
BはPythonを使った機械学習による画像処理を学習します。こちらはGoogleColab上で、配布されたコードの一部を自分で改変し、画像を二値分類で判別するようにします。手軽に機械学習を体験することができ、学ぶことも多かったと思います。
Cは4,5人のグループで、デジタル技術を用いたシステムの例を1,2つ挙げ、それについてプレゼンテーションを2回行います。ここでいうシステムの例は、エアコンや自動車などの要素技術ではなく、もっと大規模なシステム(Amazonやエコシティなど)のことを指し、前者のような内容を中心にプレゼンを作り発表してしまうと、先生から「それはシステムではなくで要素技術の話です。」とツッコミが入ります。(私のグループも入りました。)
また、プレゼン後は事後報告レポートを書く必要があり、総じてやることが多く、おそらく1番大変な授業だったと思います。
動的システム基礎(2単位)
これがシステム制御系の中で最も制御っぽい授業のうちの一つです。特に、状態方程式や伝達関数、システムの安定性、ブロック線図、EL方程式といった、制御を学ぶ上では絶対に理解しておかなければならないことが豊富に詰め込まれているので、ぜひ頑張ってついて行きましょう。
ここで初めてEL方程式について学ぶと思います。これまで力学では力の向きを考慮したり、対象の物体が増えれば増えるほど立てるべき運動方程式を増やす必要がありましたが、EL方程式をマスターすれば運動方程式をシステマティックに導出することができるようになります。(EL方程式はいいぞ)
計測・信号処理基礎(2単位)
信号を計測する際に必要な確率統計の初歩的なツールを学びます。期待値や分散の計算、最小二乗法から中心極限定理、正規分布などを学びます。
信号のノイズによる誤差を最小化することや、二項分布を正規分布に近似するなど、計測の分野で必須であるツールが目白押しであり、講義自体もクセがないので、学び甲斐があると思います。
電気回路基礎(2単位)
回路理論について、いかにして電流や電圧を計算するかと言ったことを学びます。B1の段階では電気回路を微分方程式を用いてこれらを計算していましたが、本講義では複素電流と複素電圧を使うなど、大きさや位相を複素数によって表現します。
最初のうちは戸惑うかもしれませんが、慣れるのは早く、積分を回避できる点で優れています。
やっている内容が制御と関わりがないように思えますが、交流回路における周波数応答の基礎はフィードバック制御に、また、フィルタの設計の基礎は信号処理に応用されるので、全く関わりがないわけではなく、むしろ計測分野で重なる部分が多いです。
1,2Q
基礎情報処理及び演習(システム制御)(4単位)
前半はC言語について、後半はMatlabとPythonについて学びます。授業の前半はC言語の講義またはMatlabの講義があり、後半はC言語の演習があります。
正直C言語の講義パートは理解することが困難な部分が多く、ポインタの部分は苦戦すると思いますが、演習パートで自分のものにしましょう。(絶対できるとは言っていない)Matlabパートでは動的システム基礎で習った状態方程式をフルに利用します。これを使って常微分方程式を数値的に解き、グラフを解析することができます。Matlabは制御工学を学ぶ上では絶対に必要なツールとなりますので、ここで慣れておきましょう。
3Q
システム制御数学B(3単位)
紙とペンで解くことができる(解析的な解が存在する)偏微分方程式の様々な解法について学びます。熱伝導方程式などの偏微分方程式を変数分離やラプラス変換、フーリエ変換などを使って解きます。変数分離を用いて解くことはB1でやったことがある人が多いとは思いますが、ラプラス変換での解法は、偏微分方程式がラプラス変換可能かを調べる必要があり、変数分離よりもデリケートです。
期末がなくレポートだけなのに対し、点数がめっちゃくるのでとり得な科目です。
フィードバック制御(3単位)
B2の中で1,2を争うほど重要と言っていい授業だと思います。動的システム基礎でやった内容とかぶっている部分があり、また、ボード線図やフィードバック制御系の設計法、PID補償といった制御に欠かせない大事なことをやります。正直制御らしい授業を受けたいのであればこれ一択と言っていいほどの授業で、私も1番得るものが多かった授業であったと思います。
また、授業では先生の研究室で何が行われているかということをコーヒーブレイクとして挿入されていたので、制御がどのようなことをして、今やっている授業とどのようにリンクするかということが分かり、研究室に対する解像度が上がります。
4Q
デジタル信号処理(2単位)
信号のデジタル化や符号化、そして時間軸と周波数軸を結ぶための離散フーリエ変換について主に学びます。やっていることが実体がなく、イメージが湧きづらい部分が多いですが、計測・信号処理基礎でやった部分と通じる部分があります。フィルタによってデータの不要な部分をどうやって取り除くかといったことを考えたり、そのためのフィルタ設計を行います。
ロボットの機構と力学(2単位)
その名の通りロボットの機構や、動きを力学的視点で解析していく授業です。前半後半パートに分かれており、前半パートは主にロボットの機構(アクチュエータや減速機など)が紹介されます。機械好きな人間にとってはとても面白い内容であると思います。
後半部分はロボットの動きを力学的に解析します。具体的には角速度ベクトルを回転行列によって表現したり、可操作性(ロボットの動ける度合い)を数学的に表現したりします。本講義はやることが多く、大変ですが、得られる内容は多いと思います。(それでも全部捌き切ることは難しいですが笑)
解析力学基礎(システム制御)(2単位)
EL方程式や変分法、ハミルトンの運動方程式や正準変換といった内容をやります。またEL方程式が出てきました。それだけ大事であるということですね。これを使って解析をしていきます。
後半の内容は授業数の都合上カツカツとなり、期末に出ないと宣言されましたが、それでも面白い内容なので読んでみた方がいいです。
データ科学基礎(2単位)
確率統計の基礎や、最適化の基礎を学びます。不規則な信号から元データを推定することを目的とします。数学的根拠に基づいてデータを再現することを目標とし、そのための道具として、モーメント母関数や中心極限定理の証明と応用、最尤法、事後確率最大化法を使えるようにします。
講義では間のブレイクタイムで先生の研究内容や面白い雑談(人付き合いの方法や海外での体験など)を話されるので、面白い授業でした。
3,4Q
サイバーフィジカルソリューション(4単位)
システム制御系唯一の必修(選択必修を除く)の授業です。A,B,Cパートに分かれており、それを2クオーター分でやっていきます。
Aパートではラズパイソンカーを使って最短で車を目標地点へ動かし、かつより正確に車を目標地点に止めることを目指します。車を動かすことを楽しみつつも、車を思い通りに制御することの難しさを実感すると思いますが、それをなんとかして突破しようと試行錯誤するところがこの講義の醍醐味だと思います。
Bパートでは画像認識について触れます。与えられたオブジェクトの画像を判別し、より正確に判別することを競います。
CパートではA,Bでやったことを合わせて、画像を正しく認識させてオブジェクトを車で移動させると言ったことをやります。これが1番難しかったです。班員と助け合いながら作業することは本当に楽しかったですし、何より、ものを思い通りに動かすことの難しさを実感できる良い機会だったと思いました。
なお、競技会で優秀な成績を収めることができれば、IDCという世界ロボットコンテストの参加を推薦されます。
なんで、私がシステム制御系に!?
私はB1時点では情報理工学院にいました。志望動機としては東工大の中で頭一つ抜けて難しいことと、機械学習に漠然と興味があったことが主な理由です。(理由が薄くてすみません^^;)
B1の間、しばらくは情報工学系に行きたいなと思っていましたが、大学の†専門的な内容†に触れていけば行くほど、「俺このまま情工に行っていいんか?」という疑問が浮上してきました。
実際に情報理工学院に入学してみて、研究室や専門授業を見てみると、ロボットのような「ハード」をプログラムで動かすような研究室が、情報理工学院にはかなり少なく、あったとしてもそれらは他の系と共通の研究室でした。
また、夏休み頃から「やっぱりロボットを動かすようなところがいい!」と思うようになりました。というのも、私は物理や機械を動かすことも好きで、実際にいくつかの研究室を見ましたが、私がこれだ!と思ったのが、マルチロボットを協調して動かす研究をしている研究室でした。
また、現在も放送されている「魔改造の夜」に多少なりとも影響されたところもあります。(笑)この番組のおかげで、「俺もシス制に行ってこんなことできたらいいなあ」と思うようになって、転院するモチベーションになりました。
そんなこんなで、秋頃にシステム制御系に転院すると決断しました。転院した今となっては、その頃の自分はいい決断をしたなと思っています。もしそのまま情工に行っていたとしたら、おそらく転院しておけばよかったと後悔したので本当に良かったです。(生存バイアス)
ただ、今年から工学院以外の学院から工学院内の系に転院を希望する際は注意が必要であり、なぜならそれぞれの系の受け入れ人数が若干名となってしまったからです。(理由は不明ですが)
もし今年工学院以外の系からシステム制御系に転院することを目指す人は応援しています。
文:ほってぃ