スペインのIMDEA Materials Instituteと米ローレンス・バークレー国立研究所の研究チームが、同じ型番の3Dプリンターの間にある個体差を検出し、機械ごとに最適な調整方法を選ぶアルゴリズムを開発した。3台の同型プリンターで検証したところ、3台とも異なる挙動を示し、個別に調整する方が適切だと判定された。成果は学術誌『Advanced Engineering Informatics』に掲載された。
同じメーカーの同じ機種、しかも製造番号が近い個体でも、まったく同じようには動かない。組み立ての微妙な差、設置環境、部品のばらつきといった要因が積み重なるためだ。1台で使う分には気にならない差でも、プリントファームのように何十台も並べて同じ部品を作る場面では、この差が不良として現れる。建築用の大型3Dプリントや航空宇宙部品では、構造上の問題や経済的な損失にもつながりうる。
これまでの最適化手法は、機械が同じように動くことを前提にするか、あるいは差を「ノイズ」として抑え込む方向で設計されてきた。研究チームの手法は逆の発想を取る。機械ごとの差を、まず測って把握すべき情報として扱うのだ。
処理は2段階になる。最初に各機に診断的な試験を実施し、1台ずつの性能プロファイルを作る。次にその分布を統計的に比較し、機械同士がどれだけ離れているかを数値化する。ここで判断が分かれる。似ていると判定されれば、複数台をまとめて最適化して効率を優先する。差が大きいと判定されれば、1台ずつ個別に最適化して精度を優先する。この選択を自動で下す点が新しい。
検証には、同じブランド・同じ機種で製造番号も近い3台の3Dプリンターを使った。印刷したペレットの重量分布を推定したところ、3台の分布は明確に分かれ、互いの隔たりを示す数値も大きかった。実質的に同じ機械として扱える状態ではなかったことになる。結果として、この事例では個別最適化が選ばれた。研究チームによると、全台を同じように扱った場合と比べて、収束が大幅に速くなり、印刷部品の重量誤差も大きく減ったという。
「量産された機械であっても、それぞれに固有の動作の癖を持つことがある。我々のシステムはその差を学習し、チームとして扱う方が効率的か、個体として扱う方が効率的かを判断する」と研究チームは説明する。失敗する実験を減らせるため、精度だけでなく資源の節約にもつながるとしている。
検証には3Dプリントを使ったが、手法自体は複数の装置を並列で動かす場面全般に使える。新材料の探索、化学合成、センサーの較正といった分野が想定されている。プレプリントはarXivで公開されており、解析に使ったコードもGPL-3ライセンスでGitHubに置かれている。ノイズ解析や収束の検証に使ったノートブックと、実験データが含まれる。