精密製造の解決:なぜ難しいのか?

クリス・エメリー
2023年3月5日
精密製造の解決:なぜ難しいのか?

セオ・サヴィルと私が2015年にCloudNCを設立したとき、私たちにはひとつの共通の野望があった。

それから8年、私たちはまだこの目標を達成しようと努力している!しかし、私たちは今、最初のソフトウェア・ソリューションを発表しようとしている、 CAM Assistこれは、精密部品を製造するためのCNCマシンのプログラミング・プロセスの大部分を自動化するものです。

それは、世界的な製造業のあり方を一歩変えることになるだろう。しかし、なぜこれほど時間がかかったのだろうか?

シンプルな答え:それは非常に複雑な問題だ!その理由はこうだ。

問題そのもの

まず、私たちが何を改善しようとしているのかを見てみよう。

より具体的に言えば、今日世界で作られているほとんどすべてのものは、高品質で精密な製造部品にある程度依存している。

これらの部品は、フライス盤(CNCマシンなど)で作られ、時計からノートパソコン、携帯電話、自動車、タービン、飛行機まで、私たちが使用・消費する製品に使われるか、プラスチックや包装など、他の工業プロセスの装置を作るための金型に使われる。

実際、毎年1兆ドル近い部品が製造されている。しかし、その製造は3Dプリンターを使うほど単純ではない。代わりに、コンピューター支援製造(CAM)と呼ばれるプロセスによって、機械に各部品の製造方法を指示する必要がある。そのためには、マシンをプログラムする熟練した人間が必要なのだ。

人間が関与することで、ばらつきが生まれる。CNCマシンのプログラミングには訓練と専門知識が必要で、それができる人はそれほど多くない(部品の需要が高まり、この業界に参入する人の数が退職する人の数に比べて遅れているため、スキルの差は拡大している)。

専門家はさらに少ないし、技術レベルも重要だ。どんな部品を作るにも無限の可能性があり、新米のプログラマーは非常に才能のあるプログラマーよりも効率が悪く、無駄が多い可能性が高い。

私たちのソリューションで実現したいのは、このプロセスを可能な限り自動化し、経験の浅い人でも最高のCAM プログラマーと同じように素早く最適なプログラミングができるようにすることです。

チャレンジ1:無限大

しかし、この「無限」という言葉には、問題の多くが潜んでいる。一つの部品がどのように製造されるかをプログラミングするプロセスを考えると、潜在的なソリューションスペースは非常に大きい。

CNCマシンの場合、特定の結果を得るために使用できる複数のツール(サイズや種類が異なる)があり、そのすべてを異なる角度や深さ、速度で、任意の順序で配置することができる。

つまり、解の数は事実上、指数関数的に大きくなり、計算の観点からは大きな問題が生じる。簡単に言えば、最善の道を探るためにそれらすべてを考慮するには、コンピュータが無限に近い数に無限に近い数を何度も掛け合わせる必要がある(組み合わせの複雑さ!)。

したがって、課題は、問題の規模を扱いやすくすることです。例えば、不可能なツールパスや非常に困難なツールパスを拒否することで、最適解を維持することができます。

その結果、私たちのアルゴリズムは、あらゆる可能性のある解決策を検討することなく、可能性のある最善の方法を見つけ出すことができる。

チャレンジ2:物理学

よし、ではこれらのコンポーネントを作る方法は無限にある可能性があるので、それに対処すればいい。しかし、ここでのもう一つの問題は、これは考慮すべき複雑な物理的環境であり、文字通り多くの可動部分があるということだ。

部品を加工するとき、材料は非常に熱くなる。材料は膨張と収縮を繰り返します。フライス盤は金属ブロックから切りくずを切り離さなければならないが、切りくずが厚すぎると工具が折れ、薄すぎると金属の表面が裂ける。工具は傷つき、摩耗する。アセンブリ全体が振動する。

このような物理的制約と指数関数的な数のソリューションが組み合わさることで、精密製造の課題を解決する難易度は「困難」から「悪夢」へと昇華する。

最も速く、最も効率的なツールパスを使用するソリューションを見つけるだけでは十分ではありません。その代わりに、使用する工具や原材料の物理的な側面を考慮する必要があります。

では、チートコードとは何か?それは問題を扱いやすくすることだ。現実的には、部品のあらゆる加工方法とあらゆる物理的要素の統合を理解することはできません。しかし、最も一般的で、定期的に使用され、適用されている技術を理解することで、最も最適なものを生成し、評価し、それらを調整することは可能です。

その結果、当社のソリューションは、すでにCNC機械加工の課題の大部分に適用することができ、その方法を常に改善し、微調整しています。その結果、CNCマシンで比較的複雑なコンポーネントを製造するためのプログラミングプロセスを、数時間(あるいは数日)から数秒に短縮することができるのです。

最適な道

もちろん、私たちのソリューションに関する上記の説明は、8年以上の仕事と100万行を超えるコード(そしてそれを数える)を要約する短いエッセイとしては、期待されるように、詳細については軽いものです。私たちのアルゴリズムがどのように機能するかはCloudNC独自のもので、私たちは多くの時間と労力を費やしてそれを構築してきました!

例えば、計算幾何学の複雑な側面を高速化し、精緻化する複雑なアルゴリズム、異なる形状や側面の加工を互いに組み合わせること、ユーザーにとって付加価値のある結果を時間枠内で生み出すことなどである。

加えて、私たちが操作するパラメータが厳しいことも十分に強調されていません。私たちは、文字通り、戦闘機や原子力発電所の部品に使用される加工ソリューションを開発しています。誤差は許されません。

だからこそ、CAM Assist 準備には時間をかけてきたのです。シングルクリック生産を世界にもたらすという私たちのビジョンは、まだしばらく先のことになるでしょう!

しかし、われわれはそれに対して大きな前進を遂げつつあり、これまでわれわれが扱いやすくしてきたことは、問題全体のかなりの部分を占めている。私たちは、CNCマシン・プログラミングの高速化を可能にし、コンポーネントをより速く、より早く作ることができるようにし、イノベーションを可能にし、製造業のスキルギャップを埋める手助けをしています。

そして、その影響を見るのが待ちきれない。

(追記:これらの問題を解決するお手伝いをしたいですか?採用情報にて募集職種をご確認ください。)