
2015년 테오 새빌과 제가 CloudNC를 설립했을 때, 우리는 단 한 번의 클릭으로 무엇이든 자율적으로 제조할 수 있는 프로세스를 만들겠다는 야망을 공유했습니다.
8년이 지난 지금도 이 목표를 달성하기 위해 노력하고 있습니다! 하지만 이제 곧 첫 번째 소프트웨어 솔루션을 출시할 예정입니다, CAM Assist를 출시할 예정이며, 이 솔루션은 CNC 기계를 프로그래밍하여 부품을 정밀하게 제조하는 과정의 대부분을 자동화할 것입니다.
이는 전 세계 제조업의 작동 방식에 큰 변화를 가져올 것입니다. 그런데 왜 이렇게 오래 걸렸을까요?
간단한 대답: 매우 복잡한 문제입니다! 그 이유는 다음과 같습니다.
문제 자체
먼저 개선하고자 하는 부분인 글로벌 제조 분야를 살펴보겠습니다.
더 구체적으로 말하자면, 오늘날 전 세계에서 만들어지는 거의 모든 제품은 고품질의 정밀 제조 부품에 어느 정도 의존하고 있으며, 우리는 기술을 사용하여 이러한 부품을 만드는 공정을 개선할 수 있습니다.
이러한 부품은 CNC 기계와 같은 밀링 머신에서 만들어지며 시계, 노트북, 휴대폰, 자동차, 터빈, 비행기에 이르기까지 우리가 사용하고 소비하는 제품이나 플라스틱 및 포장과 같은 다른 산업 공정에 사용되는 장치를 만드는 데 사용되는 금형에 사용됩니다.

실제로 매년 1조 달러에 가까운 부품이 만들어질 정도로 3D 프린터는 어디에나 존재합니다. 하지만 3D 프린터를 사용하는 것만으로는 부품을 생산하는 것이 간단하지 않습니다. 대신 CAM(컴퓨터 지원 제조)이라는 프로세스를 통해 기계에 각 부품을 만드는 방법을 알려줘야 합니다. 이를 위해서는 기계를 프로그래밍할 수 있는 숙련된 사람이 필요합니다.
이러한 인적 요소가 개입되면 편차가 발생합니다. CNC 기계를 프로그래밍하려면 교육과 전문 지식이 필요한데, 이를 수행할 수 있는 사람은 그리 많지 않습니다(부품에 대한 수요가 증가하고 업계에 진입하는 사람의 수가 은퇴하는 사람의 수에 뒤처지면서 기술 격차가 커지고 있습니다).
전문가라고 할 수 있는 사람은 더 적고, 기술 수준도 중요합니다. 어떤 컴포넌트를 만들 수 있는 방법은 무한히 많으며, 새로운 프로그래머는 매우 재능 있는 프로그래머보다 효율성이 떨어지고 낭비할 가능성이 훨씬 더 높습니다.
유니티의 솔루션은 이러한 프로세스를 최대한 자동화하여 경험이 적은 사용자도 최고의 CAM 프로그래머처럼 빠르고 최적으로 프로그래밍할 수 있도록 지원함으로써 모두를 위한 제조 프로세스를 재창조하고자 합니다.
도전 과제 1: 무한대
하지만 '무한'이라는 단어가 바로 문제의 대부분을 차지하는 부분입니다. 하나의 부품이 어떻게 제조되는지 프로그래밍하는 과정을 생각해보면 잠재적인 솔루션 공간은 매우 넓습니다.
하나의 도구만 있으면 레이어별로 최적의 방법을 찾아낼 수 있는 3D 프린팅과는 달리, CNC 기계에는 특정 결과를 얻기 위해 사용할 수 있는 다양한 크기와 유형의 여러 도구가 있으며, 각 도구는 모두 다른 각도나 깊이 또는 속도로, 어떤 순서로든 배치할 수 있습니다.

따라서 솔루션의 수는 사실상 기하급수적으로 많아지며, 이는 계산적인 관점에서 큰 문제를 야기합니다. 간단히 말해, 모든 해를 고려해서 최적의 경로를 찾으려면 컴퓨터가 무한대에 가까운 수를 무한대에 가까운 수로 곱해야 하는데(조합 복잡성!), 이는 누구에게나 유용한 결과를 도출하는 데 너무 오랜 시간이 걸립니다.
따라서 과제는 문제의 규모를 축소하는 것입니다. CloudNC 프로세스의 한 가지 요소는 '비밀 소스'를 너무 많이 공개하지 않고, 예를 들어 불가능하거나 매우 어려운 공구 경로를 거부하여 문제의 규모를 줄이면서 최적의 솔루션을 유지하는 것입니다.
그 결과, 저희 알고리즘은 가능한 모든 솔루션을 고려할 필요 없이 잠재적인 최선의 방법을 찾아낼 수 있으며, 이는 몇 년이 아닌 몇 초 만에 결과를 제공할 수 있음을 의미합니다.
도전 과제 2: 물리학
이러한 구성 요소를 만드는 방법은 무한히 많을 수 있습니다. 하지만 또 다른 문제는 말 그대로 움직이는 부품이 많은 복잡한 물리적 환경을 고려해야 한다는 점입니다.
부품을 가공할 때 재료는 매우 뜨거워집니다. 재료는 팽창하고 수축합니다. 밀링 머신은 금속 블록에서 칩을 잘라내야 하는데, 칩이 너무 두꺼우면 공구가 부러지거나 너무 얇으면 금속 표면이 갈라집니다. 공구가 손상되고 마모됩니다. 전체 어셈블리가 진동합니다.
이러한 물리적 제약과 솔루션의 기하급수적인 수를 결합하면 정밀 제조 과제 해결의 난이도는 '어려운'에서 '악몽'으로 높아집니다.
가장 빠르고 효율적인 공구 경로를 사용하는 솔루션을 찾는 것만으로는 충분하지 않습니다. 대신 사용 중인 도구와 원자재의 여러 가지 물리적 측면도 고려해야 하며, 한 번의 계산 실수로 수십만 달러에 달하는 고가의 기계가 망가질 수도 있습니다.
치트 코드란 무엇인가요? 다시 말하지만, 문제를 추적 가능하게 만드는 것입니다. 현실적으로 모든 물리적 요소와 가능한 모든 부품 가공 방법을 통합하여 이해할 수는 없습니다. 하지만 가장 일반적이고 자주 사용되며 적용되는 기술에 대한 이해를 바탕으로 가장 최적의 솔루션을 생성하고 평가할 수 있으며, 이를 오늘날의 솔루션에 통합할 수 있습니다.
그 결과, 저희 솔루션은 이미 대부분의 CNC 가공 과제에 적용될 수 있으며, 항상 작동 방식을 개선하고 미세 조정하고 있습니다. 그 결과, 비교적 복잡한 CNC 기계의 부품 제조 프로그래밍 프로세스를 몇 시간(또는 며칠)에서 몇 초로 단축할 수 있게 되었습니다.
최적의 경로
물론 8년 이상의 작업과 백만 줄이 넘는 코드를 요약한 짧은 에세이에서 예상할 수 있듯이, 저희 솔루션에 대한 위의 설명은 상세하게 설명하지 않았습니다. 또한, 알고리즘의 작동 방식은 CloudNC의 독점적인 기술이며, 이를 구축하는 데 많은 시간과 노력을 들였습니다!
따라서 이러한 재량권은 계산 기하학의 복잡한 측면을 가속화하고 정교하게 다듬는 복잡한 알고리즘, 다양한 모양과 측면의 가공을 서로 결합하고 사용자에게 가치를 더하는 시간 내에 결과를 생성하는 등 우리가 구축해야 하는 것을 제대로 판매하지 못합니다.
또한, 우리가 운영하는 엄격한 매개 변수를 충분히 강조하지 않습니다. 우리는 말 그대로 전투기와 원자력 발전소의 부품을 만드는 데 사용되는 가공 솔루션을 만들고 있기 때문에 정확해야 합니다. 오차란 있을 수 없습니다.
그렇기 때문에 CAM Assist 준비하는 데 오랜 시간이 걸렸고, 해결해야 할 과제가 많았습니다. 전 세계에 원클릭 제조를 제공한다는 우리의 비전은 아직 한동안 멀었지만, 이전에는 해결하기 어려웠던 문제를 해결해나가고 있습니다!
그러나 우리는 이 분야에 대규모로 진출하고 있으며, 지금까지 우리가 실행 가능한 수준으로 만든 것은 전체 문제의 상당 부분입니다. 우리는 CNC 기계 프로그래밍을 가속화하여 부품을 더 빠르고 빠르게 만들어 혁신을 실현하고 제조 분야의 기술 격차를 해소할 수 있도록 돕고 있습니다.
이것이 지금까지 우리가 이룬 성과이며, 그 영향력이 얼마나 클지 기대가 됩니다.
(추신: 이러한 문제를 해결하는 데 도움을 주고 싶으신가요? 채용 정보에서 채용 중인 직무를 확인해 보세요.)