機械・航空工学の知識

理論と実践で得た応用力

東京工業大学工学院機械系を卒業後、ドイツ・シュトゥットガルト大学航空工学部在学。その中でも数値解析と制御を専攻している。

機械・制御の応用

全自動缶ビールサーバー

私が学士を修了した東工大機械系には「開発プロジェクト」がある。これは、与えられたお題のもとに、各班自ら課題を設定し、10万円の予算と工作環境の範囲の中でロボットを作るという選択自由科目である。

当時のお題は「人を楽しませるロボット」であり、私たちの班は缶を開けるところからスタートする全自動缶ビールサーバーを製作した。それまで個別具体的に勉強していた各種力学や電気回路、プログラミングの知識を総動員し設計、製作したことで、各分野の繋がりや、開発の流れを掴むことができた。


強化学習を用いた飛行制御

ドイツ・シュトゥットガルト大学では航空工学を専攻し、その中でも実験・数値計算と制御を専門に勉強している。昨今の情報分野における機械学習の台頭により、航空工学や流体力学においてもその応用が研究されており、この大学でも機械学習を用いた飛行制御が学生プロジェクトとして行われた。

強化学習を用いた本プロジェクトでは、緑の経由点を通りつつ、黒い障害物を避けるように飛行させることが目的であり、さまざまな入力値の組み合わせや、ハイレベル・ローレベルの制御方法において強化学習を適応した。

コロナの影響により、強力なコンピュータリソースが使用できなかったため、達成できた課題は非常に小さなものであったが、強化学習の利点と問題点を理解する良い活動となった。またこの経験を生かして大学で強化学習を用いた最適化問題のリサーチアシスタントをしている。

一部著作権の関係で公開できないものもあるものの、プロジェクト後にQiitaにプロジェクトの詳細を公開した。興味のある方は以下のリンクにアクセスしてほしい。


フィードバックループを用いた飛行制御の実装

航空分野では信頼性が最大の要件である。機械学習はその応用範囲の広さが特徴であるが、信頼性を保証できないという問題点があり、航空分野に応用する際には十分な検討が必要である。一方で、従来の制御技術は、多くの場合で数学的にその信頼性を保証することができる。それぞれの長所、短所を考慮し、状況に応じて適切な手法を採用することが求められている。

大学では、伝達関数を用いた制御ループといった古典的制御から状態方程式を用いた現代制御、そして最適化問題の理論を授業で学習している。これらの机上で学ぶ理論は現在軽視されがちであるが、理論を備えずに設計をした場合、リスクやコストに応じた適切な手法を採用することができず、重大な過失、または多くの死者がでる恐れがある。そのため、それらを学ぶことは私は非常に大切だと思っている。そしてそれら理論と実践を繋ぐため、モデル飛行機を用いた、自ら実装した制御ループの検証なども積極的に行っている。

流体シミュレーションへの理解

現在シミュレーションはさまざまな分野の開発の現場において欠かせないものとなっている。しかしながらシミュレーションにはさまざまな制約があり、得られた結果の正しさは前提条件に強く依存する。

私はシュトゥットガルトの大学で流体数値解析で用いられる主な3つの手法(有限差分法(FDM),有限要素法(FEM),有限体積法(FVM))を学習し、また簡単な問題に対して実際に実装した。


有限差分法

有限差分法はもっとも単純な計算手法であり、それへの理解はより発展した数値計算手法を理解する根底となる。私は、温度の高い流体が冷たい金属板に触れた時の温度分布のシミュレーションをゼロから実装した。(定常状態に達するには非常に長い時間がかかるため、以下のGif画像は定常状態になる前に終了させている。)


有限要素法

有限要素法は構造物やマッハ数の低い流体に用いられる手法である。FEniCSは大学や研究所が共同開発した有限要素法のパッケージであり、Pythonのインターフェイスを用いて支配方程式や境界条件を直接入力することでシミュレーションを行うことができる。計算に用いる要素の種類も非常に多種多様であり、問題の特徴に応じた手法を選択できる。

下図では二つの物質A・Bの化学反応によって生じた物質Cの分布をシミュレーションしている。


 

有限体積法

有限体積法は保存量に注目して計算する手法であり、衝撃波など有限差分法・有限要素法では計算が難しい/不可能な問題にも応用できる。ゆえに航空分野で用いられる数値流体シミュレーションの多くの場合でこの手法が用いられる。私はさまざまなnumerical fluxの計算手法や境界条件、空間・時間の離散化と解法をFortranにで実際に実装し、その挙動を確かめた。

下のgif画像は円筒の周りを流れる流体をナビエストークス方程式を用いて計算している。ストークス方程式やポテンシャル流れでは現れないカルマン渦が発生していることが確認できる。