CNC 모션 컨트롤 시스템 쉽게 이해하기: 자동차 운전 비유
최근 가족 중 한 명에게 CNC 공작기계에 사용되는 모션 컨트롤 시스템을 설명해달라는 요청을 받았습니다. 이 사람이 제조 배경이 전혀 없고, 당연히 이렇게 복잡하고 기술적인 것과는 아무런 경험도 없다는 걸 깨닫고, 흔하고 단순한 것에 비유해 쉽게 시각화할 수 있게 설명해야 했습니다. 바로 자동차 운전처럼요.

이 주제는 본질적으로 매우 복잡하고 기술적이지만, 이 비유가 주제를 꽤 잘 단순화하면서도 관심 있는 사람들에게 적절한 기본 이해를 제공한다고 생각합니다. 분명히 이런 고급 기술 주제는 대학에서 한 학기 대부분을 써야 철저히 이해할 수 있겠지만, 우리 같은 평범한 사람들에겐 운전 비유가 잘 작동할 겁니다. 하지만 시작하기 전에 기초를 좀 다져야 합니다. 우리 뇌에서 시작된 명령이 CNC 컨트롤러를 거쳐 머신의 리니어 축 움직임으로 최종 나타나는 기본 원리를 이해해야 합니다.
파트 프로그램(대화형 또는 G코드)을 그저 명령 리스트라고 생각해 봅시다. 그 명령들은 CNC 컨트롤러에 의해 정리되고, 머신의 각 개별 축별로 다른 카테고리로 배열된 후 해당 축으로 전달됩니다. 명령이 특정 축의 서보 드라이브(Servo Drive)에 수신되면, 그 명령은 명령에 따라 축을 움직이기에 필요한 단순한 전압 요구사항으로 분해되고, 그 전압이 모터에 적용됩니다. 모터가 돌고, 축이 움직입니다. 축이 움직일 때, 모터 끝에 장착된 엔코더(Encoder)나 축 길이를 따라 장착된 글라스 스케일(Glass Scale)이 현재 위치를 지속적으로 모니터링합니다. 이 모니터링 장치는 서보 드라이브에 피드백을 제공해 필요시 전압 명령을 변경할 수 있게 합니다. 더 높은 전압은 모터를 더 빨리 돌리고, 축이 뒤처져 있으면 따라잡게 합니다. 더 낮은 전압은 모터를 더 느리게 돌리고, 축이 명령된 모션보다 너무 앞서 나가지 않게 늦춥니다.

이제 이걸 운전 비유에 적용해 봅시다. 먼저 따라야 할 명령이 필요합니다. 우리가 최종 목적지까지 이동할 경로를 커터 툴패스(Cutter Toolpath)라 하고, 길가의 속도 제한 표지판을 명령된 이송률(Commanded Feedrate) 역할을 하게 합시다. 여러분의 뇌가 CNC 컨트롤러, 근육이 서보 드라이브, 팔다리가 축을 제어하는 서보 모터가 됩니다. 눈과 속도계를 피드백으로 사용합니다. 인생에서 완벽하거나 정확한 건 없으니, 명령된 위치에 허용 오차(Tolerance)를 좀 둬야 합니다. 도로 전체 폭을 포지셔닝 허용 오차라고 합시다. 아스팔트 위에만 있으면 괜찮습니다!

비유 1: 여러분이 한적한 고속도로에 주차해 있다고 상상해 보세요. 도로가 화살처럼 쭉 뻗어 있습니다. 중심선(황색 복선)을 따라 1마일 이동하라는 명령을 받았고, 이 도로 제한속도는 100mph입니다. 시작하기 위해 뇌가 발 근육에 가속 페달 압력을 가하라고 명령하고, 차가 움직이기 시작합니다. 황색 선을 따라가기 위해 뇌는 눈의 시각 피드백을 사용해 팔 근육을 제어해 차량을 직진시킵니다. 속도계 피드백에 따라 뇌는 발목 근육도 제어해 가속 페달 압력을 늘리거나 줄여 100mph 명령 속도를 유지합니다. 위치 허용 오차는 여기서 이슈가 아닙니다. 매우 단순화됐지만, 이제 내 운전 비유가 어떻게 적용되는지 봤으니 한두 단계 더 나아가 봅시다.
같은 명령(중심선 따라 1마일, 100mph, 도로 전체 폭을 허용 오차)을 사용해 비유 2로 넘어갑시다. 우리는 앞으로 1마일 동안 마주칠 마지막 직선 도로 조각 중간에 앉아 있습니다. 앞길은 구불구불하고 언덕이 있습니다. 명령된 제약 내에서 작동하는 게 좀 더 도전적입니다. 명령 속도 100mph로 가속하지만, 첫 장애물과 바로 마주칩니다. 완전한 90도 우회전. 현재 속도로 이 코너를 성공적으로 돌 수 없음을 깨닫고 속도를 줄여야 합니다. 도로를 벗어나지 않으면서 명령 속도에 최대한 가까운 속도를 유지할 수 있는 부드러운 궤적을 찾아야 합니다. 시각 장치 피드백에 반응해 뇌가 필요한 움직임과 속도, 궤적 조정을 명령해 코너를 성공적으로 통과합니다.
거의 즉시, 더 도전적인 장애물과 마주칩니다. 'S' 커브인데, 전반부는 오르막, 후반부는 내리막입니다. 이 상황도 위 단순 90도 회전과 아주 비슷하게 처리됩니다. 속도와 궤적을 가장 부드럽고 빠른 경로로 제어하면서 도로 위에 안전하게 유지합니다. 하지만 이제 고도 변화에도 반응해야 합니다. 전반부 오르막에선 가속 페달 압력을 늘리고, 후반부에선 압력을 줄이고 필요시 브레이크를 밟아 중력이 맡기 시작할 때 명령 속도 100mph를 초과하지 않게 합니다. 이 행동과 반응은 최종 목적지... 프로그램 끝!에 도달할 때까지 마주치는 모든 장애물에 대해 계속됩니다.
모션 컨트롤 이야기할 땐 블록 룩어헤드(Block Look-ahead)도 논의해야 합니다. 보통 컨트롤러가 미리 처리할 수 있는 블록 수로 측정되며, 컨트롤러가 다가올 장애물을 더 잘 준비하게 해줍니다. 우리 운전 비유에서 블록 룩어헤드는 대시보드에 장착된 LCD 디스플레이로, 트랙 지도를 제공해 현재 장애물에서 궤적을 변경해 미래 장애물을 더 부드럽게 실행할 수 있게 더 나은 위치에 있게 해주는 걸로 비유할 수 있습니다. 당연히 커터 툴패스가 더 복잡해질수록, 가장 부드럽고 빠른 피니시 라인 경로를 유지하기 위해 더 많은 룩어헤드가 필요할 수 있습니다. 모든 머신 툴 빌더가 블록 룩어헤드를 비슷하게 다루지만, 일부가 더 효과적입니다.

허코 WinMax 컨트롤에는 UltiMotion이라는 게 있습니다. 최대 10,000 블록 앞까지 내다볼 수 있는 가변 블록 룩어헤드를 제공하는 특허받은 소프트웨어 기반 모션 컨트롤 시스템입니다. 특히 더 많은 룩어헤드가 필요한 복잡한 툴패스에서 사이클 타임을 최대 30% 단축할 수 있습니다. 당연히 우리 첫 두 비유 같은 단순한 커터 패스에서는 컨트롤러가 그 마지막 시나리오보다 훨씬 적은 룩어헤드만 필요로 합니다. 따라서 컨트롤러 RAM 메모리가 더 많이 확보돼 다른 용도로 더 잘 활용될 수 있습니다. 컨트롤러 현재 니즈에 '적응'하는 이 고유한 능력이 없는 컨트롤러들은 가용 RAM 메모리를 재활용할 수 없어 이런 가변성의 혜택을 누릴 수 없습니다.
