MATLAB ユーザーコミュニティー

MATLAB & Simulink ユーザーコミュニティー向け日本語ブログ

MATLABユーザーコミュニティインタビュー: 東京科学大 鳥人間チームMeisterの挑戦

こんにちは。皆さんは毎年琵琶湖で夏に行われる鳥人間コンテストをご存知でしょうか。今回は、東京科学大の鳥人間チーム「Meister」のOBメンバーである西森さんと伊藤さんをゲストにお迎えし、東京科学大の鳥人間チームの中でどのようにMATLABが使われているか、お話をお伺いしました。

東京科学大Meisterチームは、2023年大会で4位、2024年大会では3位という素晴らしい成績を収め、特に2024年大会では6年ぶりの10km越え、そして11年ぶりの3位入賞を果たしました。彼らはMATLABを活用し、人力飛行機の設計に取り組んでおり、その取り組みはAppleのMacのCMにも取り上げられました。MATLABも映っていますので、ぜひ見てみてください。

東京科学大学 Meister チームOB西森さん、伊藤さんにインタビュー

それでは西森さん、伊藤さんにお話を聞いてまいりましょう。インタビュアーは、トレーニングエンジニアの遠藤とカスタマーサクセスエンジニア林が担当しました。

自己紹介

本日はどうぞよろしくお願いします。まずお二人から自己紹介をお願いします。

西森さん: 情報理工学院 数理・計算科学系の学部4年の西森です。専門は純粋数学で、例えば量子群や結び目理論をテーマで勉強をしています。人力飛行機サークルでは全体設計と電気系統の設計を担当していました。

伊藤さん: 工学院 機械系3年の伊藤です。研究室にはまだ所属していませんが、人力飛行機サークルで全体設計と主翼の構造設計を担当していました。

 

MATLABとの出会い、MATLABの好きなところ

それでは早速、お二人がMATLABと出会ったきっかけを教えてください。

西森さん: サークルに入るまではMATLABを知らなかったのですが、サークルに入って1年弱経過した頃に人力飛行機の設計を先輩から引き継ぐことになりました。引き継いだものがMATLABのコードで、そこからMATLABを勉強するようになりました。

伊藤さん: 私もほぼ同じで、西森さんから引き継いで使い始めました。

 

なるほど、お二人とも先輩から引き継いだタイミングで初めて MATLAB を触られたんですね。使い始めたときの印象はどうでしたか?

西森さん: PythonやC++は大学に入った直後からやり始めていましたが、いまいちしっくりこないと思っていた矢先、MATLABを知り、始めた瞬間にビビッときて、のめり込むようにコードを書きました。

伊藤さん:最初の印象としては、行列計算が直感的でやりやすいと感じました。

 

ビビッときていただいたとのことで、ありがとうございます!また、行列計算については MATLAB の大きな特徴の1つですね。私も初めて MATLAB を使ったときは要素ごとにループを回さずに計算できてうれしかった記憶があります。

ちなみに、特にMATLABの好きな点を挙げるとするとどこでしょうか?

西森さん: コマンドウィンドウで色々試せる点や、配列の操作が容易な点がポイントです。

伊藤さん: 行列計算が直感的というところに加えて、ワークスペース上で計算結果を確認しながら進めることができるというところが気に入っています。

 

コマンドウィンドウやワークスペースですか!確かに関数の使い方やその実行結果を確認できるのは嬉しいですよね。特に、MATLABを使い始めた時や新しい関数を使い始めるときは、少しずつ実行しながら結果を確認できる分エラーの原因がわかりやすいかもしれません!

翼型性能の確認,空力性能の評価,構造設計をしている様子

 

鳥人間チームでのMATLABの使われ方

それではそろそろ本題に入っていきましょう!Meister チームでどのようにMATLABを使っているのか教えてください。

西森さん: 私は2023年のチームで、設計と電気系統の担当していました。構造計算や主翼の骨組み強度計算、どれぐらい揚力を生むべきかなど空力的な計算を主にMATLABで行っていました。設計以外では、MATLABのApp Designerを使用して機体のセンサーデータをリアルタイムでロギングし、PC上で状況を把握できるようにしました。この機能によりグラフ描画やデータ処理を即座に行えるようになり、来年の設計に活かすためのデータ収集が可能となりました。こちらは2024年のMATLAB EXPOライトニングトーク*でも発表させていただいています。また視覚化が簡単にできる点も強みだと感じます。例えば揚力分布を見るときなど、MATLABだと簡単にできるので便利です。

*西森さんのライトニングトーク: 人力飛行機のセンサーデータ収集&リアルタイム表示システム

伊藤さん: 2024年も全体設計で前代チームから引き継ぎMATLABを使っていました。重い行列計算、最適化でMATLABが使えるのはとても強みだと感じています。一般的に鳥人間ではExcelを使うことが多いのですが、よりステップアップした計算をするには、MATLABを使うのが良いと感じています。Meister は全体設計班や翼班など複数班に分かれて製作活動していますが、プロペラ班など大きな行列計算を必要とする班でもMATLABを使い始めています。

構造設計における非線形最適化プログラム

 

メインの使い道としては、設計における構造解析や最適化に使っている、というわけですね。3次元の力学が絡んでくるとどうしても行列が多くなってくるので、前述の「行列計算を直感的にできる」という点が活きてきそうです!

また、「MATLABでアプリを作成する」というのは学生の方では珍しいかもしれません。アプリ化をしようと思った理由やアプリ化のメリットがあれば教えてください。

西森さん:鳥人間では多くの人がMicrosoft Excelを使っています。これから多くの人に使ってもらうためにはアプリ化することが必須だと感じています。アプリ化すると可視化も一緒にできるので便利です。アプリ化は、今回の飛行データの収集・リアルタイム表示アプリが初めてでした。App Designerは直感的に作れる仕様になっていたので、Callbackの概念が分かれば開発はスムーズだと思います。

伊藤さん: 設計には変数が多く、コードベースで計算を進めるのはなかなか大変です。そういうときにアプリ化が便利だと感じています。2024年のチームでは、強度試験の時に変形計算のアプリを使いました。人力飛行機は作るのは難しく、1年でチームが変わってしまうため、お互いノウハウは共有していくというチームマインドを持っています。アプリやコードの共有をしながら、お互い切磋琢磨できると良いと考えています。

荷重試験の様子と変形予測のためのシミュレーションアプリ

 

フライトデータのリアルタイム可視化アプリ

 

なるほど、ベタなコードだけだと、どの数値を調整すればいいかわからなかったり、どれが何の実行結果かわかりづらかったり、使う人が困ってしまう場面も多そうです。1年でチームが変わる鳥人間チームの特殊な環境だからこそ、「アプリ化で使いやすくする」というのが重要なんですね。

ちなみに、ここまで MATLAB を使いこなしているお二人ですが、一体どのように MATLAB を学んだのでしょうか?

 西森さん: 基本的に独学です。ドキュメンテーションを眺めます。他の言語と異なっていて、ドキュメンテーションに実行できる例があるので、そのままライブスクリプトで走らせて試しながら学んでいます。

伊藤さん:ドキュメンテーションもよく使いますが、最近はChatGPTを使って、MATLABでこういうことをやりたいと聞いて、そのまま動くコードが出てくるので、助けてもらうことも多いです。

 

お二人ともドキュメンテーションをよく使っていただいているということで、ありがとうございます!初めて使う関数はドキュメントの例題コードから始めると思った処理を作りやすいので、皆さんもよければ見てみてください。

また、おっしゃる通り、最近は ChatGPT に聞くとある程度のコードは作ってくれるので、例題コードの代わりにそのコードをスタート地点にしてコードを書いていくのもよさそうですね。

 

ちなみにせっかくなのでもう1つの製品についても質問

 さて、ここまで MATLAB に関していろいろとお聞きいたしましたが、Simulinkの方については使ったことはありますか?

 西森さん: 鳥人間にはMBDを導入するともっと良いものを作れると感じているので、今後使っていきたいです。また、2023年度のチームではパイロットの飛行シミュレーションのために、Aerospace Toolboxの例題を活用しました。

伊藤さん: シミュレーションにSimulinkは有用そうなので、これから使ってみたいと考えています。

 

ありがとうございます。現状 Simulink については使っていないものの、これから導入していきたい、ということですね。

ちなみに、西森さんがおっしゃっている「MBD」というのは モデルベースデザイン(Model-Based Design)の略で、開発プロセス全体でSimulinkモデルを使用する開発手法です。特に製造業でよく活用されていますが、まさか学生さんから聞けるとは……。鳥人間の界隈では一般的な言葉だったりするのでしょうか……

西森さん:いえ、馴染みのある言葉ではありません。 MATLABをずっと調べていたら、自然にSimulinkのドキュメンテーションを見る機会も増え、MBDという概念を知りました。人力飛行機は1年で1機作るので精一杯というのが現状でして、特に現役学生のチームは1年ずつ代替りするので、時間に制限があります。その中で、より良い機体を開発していくにはシミュレーションが必要不可欠だと感じています。シミュレーションではいろいろなアイディアを何機も試すことができ、それがちゃんと飛べるのか検証することもできます。そういった点でSimulinkを使ってモデルベース開発を推進していくことがキーになるのではないかと感じています。

 

なるほど、調査している中で MBD にたどり着かれたんですね(西森さんの調査力に驚きです!)。おっしゃる通り、Simulinkモデルを使ったシミュレーションは、開発の工数削減や不具合の早期発見のため、製造業では広く使われています。人力飛行機の開発でも同じノウハウが使えるかもしれませんので、ぜひチャレンジしてみていただければと思います!

ライト兄弟の飛行機の例題モデル。いつか鳥人間の機体が Simulink 上で飛ぶ日がくるかも……?

 

今後の展望

最後に、今後の展望について教えてください。

西森さん: 今後は、より高度なシミュレーション技術を取り入れ、飛行機の性能をさらに向上させたいと考えています。また先にも述べましたが、鳥人間の設計にMBDの考えが浸透してほしいと考えています。理由としては、鳥人間は1年で1機しか飛ばせませんが、シミュレーションは何度もできるので、1番良い設計を実機に落とし込むことができれば、より良い飛行機ができると考えています。

鳥人間を経験したOBで作る鳥人間OBチームを最近作りました。そこでMBDを取り入れた全体設計ができればと考えています。例えば、GPSのセンサーを機体に搭載して、どういう精度があれば、機体の飛行姿勢を推定できるかをアルゴリズムを組んで、実際の機体に実装するなど、機体の開発の幅が広がると期待しています。

伊藤さん:私もOBチームとしてシミュレーションを使った設計を進めていきたいと考えています。また、鳥人間は、風などの外的要因に大きく影響されます。そういった要素もシミュレーションに組み込みながら、最適な機体のセッティングにつながるとよいと考えています。

 

ありがとうございます!ぜひお二人とも OB として、そして MATLAB、Simulink ユーザーとして鳥人間、人力飛行機開発の新しい未来を切り開いていただければと思います!

 

まとめ

東京科学大学西森さん、伊藤さん、この度はインタビューへのご協力誠にありがとうございました!これから鳥人間コンテストを見る楽しみが増えましたね。お二人の所属されているチームをテレビで拝見できる日を楽しみにしています!

|
  • print

Comments

To leave a comment, please click here to sign in to your MathWorks Account or create a new one.