見出し画像

未知の世界を探査する方法を誰よりも早く見つける方法

自分は日々宇宙機(人工衛星)を開発したり研究したりしている人間です。未知の世界をどうやって探査するかに日々頭を悩ませています。
宇宙機の設計は、プロであっても途轍もなく時間がかかり、一筋縄ではいきません。
理由として

1. 設計が複合領域にまたがる
2. 解析に非常に時間がかかる領域がある
3. 極限まで設計を切り詰めないと解がないことがある

ということがあるからです。
1つ目の理由は、宇宙機の設計はある部分だけ改善しようとすると別の部分が犠牲になって上手くいかないことが多いということです。例えば宇宙機に必要な太陽光パドルを沢山衛星に搭載すると、宇宙機の重量が大きくなり、打ち上げ時や軌道遷移時に必要な推進剤量が増えてしまいます。このように、さまざまな要素の設計が互いに影響しあい、システム全体を見て実現可能な解を見つけていく必要があります。
2つ目は、例えば宇宙機の軌道設計(宇宙機がどの経路を通って目標とする天体に行くか)は、広大な宇宙の三次元経路を、莫大なケースのトライ&エラーで繰り返し見つける必要が、非常に時間がかかります。熱や構造解析、燃料の流体解析も、厳密なシミュレーションを行おうとすると、莫大な計算コストが必要になります。
3つ目は、未知の天体を探査する場合に起こりうるケースで、誰も「こうすればできる」の知見がない+今までの技術では無理ではないかと考えられてきたということなので、最新技術を前提に、設計最適化を重ねる必要があり、その最適化に時間がかかるということです。

一方で、今世界中の宇宙開発競争が加速し、未知の世界といえど競合相手よりも早く解を見つけて探査を行ったり資源を採掘したりすることが求められてきています。
そこで今回は、このような時間がかかる宇宙機の設計を素早く見つける方法「Concurrent Engineering」について説明します。「Concurrent Engineering」は文字通り、複数の設計領域を「並列して」実行し、設計開始から設計解を見つけるまでの時間を短縮する技術になります。一方で、単純に設計領域を同時並行で進めるだけではうまくいかず、いかに述べるような方法を用いることでこれを成立させます。

人を集めてセッションを構築する

限界設計を求められる宇宙機設計において、各分野の専門家の知識は必要不可欠です。どの部分の設計を切り詰めることができるか、切り詰めることでトレードオフとして失うものは何か、リスクはないか、そういうことを判断できる必要がある。しかも、素早くこれができないといけないとなると、素人がいくらその場で知識をかき集めても間に合わない。なので、素早く設計解を見つけるためには、「人を集める」ことが何より大切である。問題は設計に関係ある専門を見極めること。このためには事前により抽象度の高い、概念レベルでよいので衛星全体の設計を実施し、必要な専門知識、それらの依存関係を整理し、重要な知識を見つけることが行われる。システムズエンジニアと呼ばれるエンジニアが一般的にはこのような作業を実施します。

環境を構築する

各分野の専門家を集めたとしても、専門家間のコミュニケーションに時間がかかっていたら、全体の設計に時間がかかってしまいます。また宇宙機は専門分野の数が多いため、一つの専門分野ずつ設計をしていく、いわゆるウォーターフォール的に設計をしていった場合、イタレーションに非常に多くの時間がかかってしまいます。そのため、

1. 複数の専門家が、すぐにコミュニケーションをとれる
2. 複数の専門家が同時に設計を開始できる

環境を構築する必要があります。1に関しては、さらに細かく分解すると、

・各専門家が責任を持っている設計領域の現在の設計がすぐにわかる
・専門分野的に実現可能な設計解が見つからないときに、どの分野の専門家と交渉すればいいかすぐにわかる

ということを実現する必要があります。このような環境として、

① ファシリテーターを用意し、専門家同士の交渉を円滑化する。専門家の設計のリファレンスを作成、提供し検討をガイドする。
② 専門家同士の席配置を工夫し、コミュニケーションが強く必要な専門家同士は近くの席に配置する
③ データベースを共通化した概念設計ツールを用意し、各専門分野の設計がリアルタイムに更新されるようにする

といった実現方法があります。実際、NASA Jet Propulsion LaboratoryやDLRなどでは、このような方法がとられているようです。

画像1

引用: Zarifian, Pez, et al. "Team Xc: JPL's collaborative design team for exploring CubeSat, NanoSat, and SmallSat-based mission concepts." 2015 IEEE Aerospace Conference. IEEE, 2015.

特にファシリテーターの役割は重要で、トレードオフが明らかになった専門領域に交渉を促すだけでなく、様々に出てくる検討の方針、実現方法の選択肢のどれを集中して検討するか、どれを切り捨てるかの判断を行います。逆にこの選択肢を効率的に絞らないと、無限に出てくる組み合わせを探査する必要があり、時間がかかってしまいます。この、どの方針を採用するか、はかなり熟練の知識と経験が必要なため、NASAなどでも経験方法なシニアシステムエンジニアがファシリテーターを行うようです。
また、各専門領域間のインタラクションが強いかどうかは、検討項目の依存関係を行列形式で整理することで把握することが多いです。(専門領域の検討項目を行・列にそれぞれ配置し、依存関係がある場合はチェックを入れる、といった感じ)。このような行列をDesign Structure Matrixと呼びます。Design Structure Matrixはさらに、設計の手戻りがどこで起こるかを把握することができるので、手戻りが少ないように検討の順序を入れ替える検討を行うことに使うことができます。

画像2

引用: https://otepipi.hatenablog.com/entry/2019/05/08/204932

モデル化する

設計を素早く行う最後の方法として、検討を「モデル」に落とし込んでしまうという方法です。ここでいう「モデル」とは、インプットととアウトプットが決まっており、インプットを決めると、自動的にアウトプットが決まるツールの解析モデルのことです。宇宙機の設計変数は、専門領域のインタラクションによって設計が進むにつれて、実現可能な解を見つけるため、何度も変化します。その何度も設計変数が変わるたびに、解析をやり直していたらきりがありません。なので、インプットに対して自動的にアウトプットが決まるようなソフトウエアツールを作っておけば、一度の努力でその後の設計の洗練時に時間をかけずに済む、ということになります。
また、詳細な最適化や長時間の解析が必要となるような領域では、単に解析を自動化するだけでなく、サロゲートモデルという近似モデルを立てることで解析を高速化することがよく行われます。設計変数が決まるたびに、解析を実施するのではなく、様々な設計変数に対して事前に解析をたくさん行って起き、その結果を単純な計算式に回帰、ないし機械学習することで、必要な時の解析時間を短くすることができます。

画像3

引用: https://jp.mathworks.com/company/newsletters/articles/using-artificial-neural-networks-and-performance-based-engineering-to-assess-the-structural-effects-of-tornadoes.html

まとめ

以上のような手法「Concurrent Engineering」で、宇宙機を高速に設計する取り組みが、NASAやESAなどの宇宙機関、宇宙企業などで実践され、競合よりも早く未知の世界に到達する取り組みがなされています。もちろん、これを一度だけ行うだけではあまり高速化する意味はありません。しかしNASA JPLなどでは、このように高速化した宇宙機設計を年に10~20回も実施することで、従来では想定されてこなかった設計解を発見しようとしており、実際それによってEuropaやMars Sample Returnなど新しい構想が次々に生まれ、実現されてきています。また、近年はwebツールの発達やVRの活用など、Concurrent Engineeringに使われるツールも発展してきております。日本の宇宙機関では、あまりこのようなConcurrent Engineeringの取り組みは発展途上のようですが、これから宇宙産業が成長し競争が激化する時代において、非常に重要な手法になるのではないかと私は考えています。
さらに、今回は宇宙機を題材にしましたが、「Concurrent Engineering」はあらゆる複雑システムの設計でも用いることができます。そのようなことを行っている方はぜひ上で上げた論文等読んでみるのがいいと思います。

この記事が気に入ったらサポートをしてみませんか?