研究室で行われている研究の概要を教えてください。また、特に力を入れていることは何ですか?
私の研究室は筑波大学のシステム情報工学研究科コンピューターサイエンス専攻という所属で、研究テーマはシステム制御工学です。私の専門は制御理論で、例えば飛行機や自動車などの乗り物をどの様に上手く安全に精度良く動かせるかという学問です。さらには、プラントなどのプラスチックを成形するような石油精製や、蒸留をするような化学薬品などのプラントも対象として制御することがあります。対象は非常に幅広く、機械や電気、化学なども扱うようなシステムになります。1つの具体的な対象を抽象化したモデルに置き換えて、そのモデルに対してどの様な方式でどう対処をすれば望みの出力が得られるかという様なことを考えるのが制御理論というものです。
特に現在私の研究室で学生が研究テーマとして行っているのは、電気自動車のモーターの制御です。環境問題的には徐々にガソリンエンジンから電気自動車に切替わっていくだろうと言われていて実際日本のメーカーも電気自動車を販売していますが、まだまだ十分な性能は出ていないのが現状です。電気自動車のモーターというのは普通のガソリンエンジンに比べるとレスポンスが約100倍速いんです。アクセルを踏んで実際に反応するまでの速度について、ガソリンだと燃焼して爆発させるプロセスが入りますが、電気自動車はアクセルを踏むと直ぐに電気信号となってモーターを回転させることが出来ます。
その中で特に今博士課程の学生さんを中心にやってもらっているのが、スリップをある適正な値に抑えてやることです。ガソリンエンジンだとうまく制御できないのですが、電気自動車はレスポンスが速いのでその特性をうまく活かせばより性能が良くなります。それをどの様な手法でその適正な値にするかを考えるというのを1つのテーマとして学生に与えています。
研究室以外での活動はありますか?また、研究内容が活用されている商品などはありますか?
研究室では自動車以外に企業さんと一緒にやっていることが一つあります。それは、プリンターやFAXなどの複合機の制御です。例えばカラー印刷をするときに色がキレイに出る為にはトナーや、インクカートリッジなどを適切な温度に保たないといけないんです。それを夏でも冬でも朝早くても雨が降っていても、様々な状況下で常に一定にするということを行っています。
先程の適切なスリップの値になるように制御するということも、温度を適切な値にするということも、目的としては基本的には全く同じということです。一定の数値では無くて、追従するように制御することも可能です。例えば直線的に変化したり、二次関数のように曲線で変化するとその値に追従するように制御するということもできます。
アドホックに対象や特性の個別対象に依存して何度も試行錯誤することでは効率が悪いので、対象が異なっても抽出された汎用的なモデルに対してどの様なことをすれば一定な値に出力が制限できるかということを考えるのが制御理論の大元になります。
制御理論で例として自動車が出ましたが、実機で実験をすることはあるのでしょうか?また、研究の中で学生が実際に開発したものはありますか?
我々の研究テーマにおけるプログラミングに関してお話しをさせてもらうと、実際に自分達が考えた制御の方法が本当に上手くいくのかをいきなり実機でやるのは非常に無謀です。なので、数値的にシミュレーションを計算機上で実行し検証するということをよく行います。その為のソフトウェアというのがいくつかあるのですが、現代の制御の世界では一般的にマスワークス社のMatlabというのがよく使われています。その他にはMatlabに良く似たScilabというソフトでも同じ様なことが出来ます。なので必ずしもプログラミングが得意な学生が来るのではなくて、どちらかというとプログラミングが苦手だという学生がきます。Matlabなどはテキストベースで打たなくても出来るので、それほど難しくはないです。
一旦先輩などがかなり複雑なシミュレーターを作ってくれると、それが資産として蓄積出来ます。例えば先輩が作った資産をちゃんと理解できるかっていう教育的な使い方も出来ますし、それが理解できたら今度は自分のテーマとして自分なりのシミュレーターを作ることも出来ます。学生の興味に応じて卒業研究や集中論文でやりたい目的がある学生がいれば、制御と全く関係ないことでなければやってもらっています。例えば2年程前の卒業生で卒業研究に開発したものが、アンドロイドOSを使ってアプリ移動ロボットを操作するというものです。音声で「前へ100センチ」と入力するとそれを認識してロボットが前進100センチ動くなどやってもらいました。
研究室の学生は卒業後どういうお仕事をされている方が多いのでしょうか?
就職先は自動車メーカーさんや工作機械のメーカーさんに就職した学生もいます。工作機械とはいわゆる町工場の人が板金を作ったり板金で加工をしたりする、その加工する機械そのものを作っている会社でです。アジアではものすごいシェアがあります。他は電器メーカーさんや保険会社に就職する学生もいます。保険会社といえば全く違う分野に見えますが特に何か物を動かすということではなくて、制御の理論的な考え方の応用で数理統計などの関係の仕事に就きます。
河辺先生が推進室長を務めている、高度IT専修プログラムについて教えてください。
高度IT専修プログラムとは、文部科学省が7,8年前に実施した「先導的ITスペシャリスト育成推進プログラム」に採択された筑波大の教育プログラムになります。応募してきた日本の大学の中からいくつかの大学が採択され、4年間文部科学省から補助金を頂いて実施しています。補助金が終了後も自助努力で継続していく形のプログラムです。当時、経団連などがITをちゃんと理解している新卒採用者が少ないことを懸念して作られました。
具体的には大規模なシステムで、例えばJRの予約システムなどのいわゆるエンタープライズ系に対するちゃんとした知識があり、技術があるようなプログラマーやSEが少ないということ。もう1つはアンドロイドや自動車のエンジン制御部門などの組み込み系のソフトウェアが開発できる技術者があまり育っていないということが動機になります。我々の大学ではこの2つをターゲット人材にして今までの大学院のカリキュラムや授業とは根本的に変えて、そういうものを目指したカリキュラムへ改良しました。特徴は、企業の方に来ていただいて、実際に現場のことや自分がこれまで開発してきたことなどを基に教えてもらうことです。大学の先生だけでは現場のこと知らない人が多いので、そういった人と共同で教えましょうという形です。
大体、会社で何かソフトや製品を開発する時は単独で何かやるっていうことはまずないです。それが一般的なので、それを模擬した形でチームとして開発プロジェクトを実施します。最後ヒアリングでお客さんのところに出向いて、開発し納品するというところまでを学びます。PBL(プロジェクトベースドラーニング)と最近よく言われているんですが、それを8年続けています。
我々の専攻では,特にビジネスアプリケーションというのを主眼においているので、大学の先生がなんとなく仮想的にこういうのを作ってねというテーマよりは、実際に企業さんが必要とする具体的なテーマを提示してくれるとありがたいと思っています。学生なので失敗するかもしれませんが、そういった教育貢献的な意味も含めて、ある程度カスタマイズしてニーズを聞いた形には出来ると思います。開発した中で実際使われているものもがあり、理髪店の予約やテニススクールのレッスンの予約などがあります。
また、こちらの推進室長を務めていらっしゃるということでenPiTについても教えて下さい。
各大学で個別にITスペシャリストを育成するような場があることは大事ですが、それがある程度出来る様になってきたら、さらにその場をもっと多くの大学に広げないといけないのではないかということから始まりました。なので、こちらのプログラムはこの筑波大学や高度IT専修プログラム以外の広く他大学の学生も多く受講してほしいと思っています。分野地域を越えた実践的情報教育共同ネットワーク(enPiT)は全国で15の大学が連合して行っています。
分野は4つ、クラウドコンピューティングの分野とセキュリティの分野と組み込みシステムとビジネスアプリケーションという分野になっています。15の大学は連携していますが各分野に別れています。ですが、こういったものを各大学それぞれでやるという話ではありません。例えばビジネスアプリケーション分野でいうと、さらに様々な地域からの参加大学を募っているので学生さんに筑波大学に来てもらって教育をしたりています。
流れとしては、まず春の前期の間に基礎的な知識をしっかり身につけてもらうのを各大学でやってもらいます。その知識をしっかり身につけている学生だけが夏休みに筑波大で集中合宿形式で大体10日から2週間くらい行いますので、そちらに参加していただきます。後期の10月から12月の2ヶ月間は再び自分たちの大学に戻ってもらってプロジェクトベースで何かをチームで開発し、12月にその成果を発表してもらいます。この大まかな流れというのはどの分野でも同じカリキュラムを組んでいて、M1修士の1年生の学生を対象にして行っています。修了するとenPiTを修了した証の修了証を渡しています。
最後にエンジニア就活を見ている学生へのメッセージをお願いします。
最近の世の中は便利になっていて検索をするのが簡単ですが、一歩立ち止まって、自分で「なぜ?」「これはどうしてこうなっているの?」と考える癖を是非身につけると良いかなと思っています。論文剽窃ではありませんが、検索してパッと持ってきてたものに対して「これおかしいでしょ」と言うと、「いや、でもここに書いてあります」という答え方をする学生が多いです。それでは駄目ですよね。
参考にして持ってくるのは良いけれど、その時に自分なりの解釈が入ってないといけません。それはアカデミックに何か研究するということにおいても、それから何か開発する現場で様々なものを製品開発するという場合においても、一旦疑問を持つ癖を是非身につけて欲しいです。その後の成長に大きく関わることではないかなと思います。エンジニア就活をご覧の皆さんも疑問を持つ癖をつけてみて下さい。