로봇 포스트프로세서 선택 완벽 가이드: 5단계로 최적 매칭
어떤 포스트프로세서를 골라야 할지 모르겠다면? 완벽한 로봇 포스트프로세서 선택을 위한 5단계를 안내합니다.
포스트프로세서는 오프라인 프로그래밍 소프트웨어와 로봇을 잇는 다리입니다.
올바른 포스트프로세서를 선택하면 프로그램이 즉시 작동합니다—실제 로봇이 시뮬레이션과 똑같이 움직입니다. 하지만 잘못 고르면 곤란해집니다—로봇이 엉뚱하게 움직이거나, 반대 방향으로 가거나, 아예 안 움직일 수 있습니다.
RoboDK는 다양한 포스트프로세서를 제공합니다. 포스트프로세서 작동 원리, 선택 요령, 기본 제공 외 커스터마이징·자체 제작법을 익혀두면 큰 도움이 됩니다.
이 글에서는 RoboDK의 로봇 포스트프로세서에 대해 알아야 할 모든 것을 정리했습니다.
포스트프로세서란?
대부분 로봇 프로그램은 몇 가지 기본 명령을 반복 사용합니다. 가장 대표적인 세 가지:
- 관절 이동(Move Joint) — 로봇 관절을 원하는 위치로 가장 빠르게 이동시켜 자유 공간 통과 시 유용.
- 직선 이동(Move Linear) — 현재 위치에서 목표점까지 정확한 직선으로 이동. 물체 픽업, 도장 등에 적합.
- 속도 설정(Set Speed) — 로봇 엔드 이펙터 및/또는 관절 속도 정의.
오프라인 프로그래밍 소프트웨어는 이 명령들(외 기타 명령)을 모든 로봇에 적용 가능한 일반화된 형태로 생성합니다.
로봇마다 언어가 다르다
문제는 각 제조사마다 로봇에 명령을 내리는 방식이 다르다는 점입니다. 독자 프로그래밍 언어를 쓰는 제조사가 많고, 컨트롤러 버전에 따라 명령이 미묘하게 달라지기도 합니다.
위 세 명령이 각 로봇 컨트롤러에서 어떻게 표현되는지 예시입니다(괄호 안은 6축 로봇 제어에 필요한 최소 파라미터 수).
| 로봇 |
관절 이동 |
직선 이동 |
속도 설정 |
경로 라운딩 |
| ABB IRC5 |
MoveJ (4) |
MoveL (4) |
speeddata(4) |
zonedata(4) |
| Fanuc RJ3 |
J (2) |
L (2) |
speed (1) |
CNT (1) |
| Kawasaki |
JMOVE (1) |
LMOVE (1) |
SPEED (1) |
ACCURACY (1) |
| KUKA KRC |
PTP (1) |
LIN/SPL (1) |
$VEL.CP (1) |
$APO.CDIS (1) |
| Motoman JBI |
MOVJ (2) |
MOVL (2) |
VJ/V (1) |
PL (1) |
| Universal Robots |
movej (1) |
movel/movep (1) |
v(1) |
r (1) |
각 명령이 로봇 유형별로 유사해 보이지만, 표현 방식과 필수 정보량이 다릅니다.
오프라인 프로그래밍과 포스트프로세서가 없으면 새 로봇 유형마다 완전히 새로운 프로그래밍 언어를 배워야 해 프로그래밍 속도가 크게 느려집니다.
포스트프로세서가 쉽게 만든다
포스트프로세서는 일반화된 명령을 특정 로봇 모델용 프로그램으로 변환합니다.
RoboDK를 쓰면 로봇 프로그래밍 언어를 몰라도 로봇을 움직일 수 있습니다. 기본 제공 포스트프로세서만으로 30개 이상 로봇 브랜드에 바로 쓸 수 있는 버그 없는 코드 생성이 가능합니다.
포스트프로세서는 초기화 코드와 변수 정의 등 텍스트 기반 프로그래밍에서 번거로운 부분도 자동 생성해 줍니다.
완벽한 포스트프로세서 선택 5단계
RoboDK에는 40개 이상 포스트프로세서가 기본 탑재되어 있습니다. 여러분 로봇 컨트롤러에 맞는 것을 골라야 합니다.
어떻게 선택할까요?
RoboDK 로봇 라이브러리에서 로봇을 불러오면 기본 포스트프로세서가 미리 선택되어 있습니다. 보통 최신(또는 기본) 컨트롤러용입니다. 하지만 애플리케이션이나 설정에 따라 다른 포스트프로세서가 필요할 수 있습니다.
1. 로봇 브랜드용 포스트프로세서 선택
보통 기본 또는 가장 베이직한 포스트프로세서를 먼저 시도하는 것이 좋습니다.
Mecademic, Kawasaki, CLOOS 등 일부 브랜드는 RoboDK 기본 제공 옵션이 하나뿐이라 선택이 단순합니다.
2. 컨트롤러용 포스트프로세서 선택
일부 브랜드는 컨트롤러 버전이나 프로그래밍 언어 버전에 따라 포스트프로세서가 다릅니다. 예: Denso는 구형 RC7용과 신형 RC8용이 별도입니다(RC7은 PAC 언어, RC8은 PacScript 사용).
자신 컨트롤러 전용 포스트프로세서가 있으면 그것을 쓰세요. 없으면 버전 번호가 가장 가까운 것을 시도하세요.
3. 애플리케이션용 포스트프로세서 선택
일부 브랜드는 포스트프로세서가 꽤 많습니다. KUKA는 10개나 됩니다!
추가 포스트프로세서는 특정 애플리케이션이나 설정을 위한 것입니다. 예: KUKA KRC2 컨트롤러용 5개 중 2개는 CamRob 밀링 애드온 또는 KUKA CNC 컨트롤용(수천 줄 코드를 한 파일에 담아 로봇 가공에 적합). 하나는 아크 용접 전용. UR용 중엔 Robotiq 그리퍼 연동 버전도 있습니다.
자신 컨트롤러·애플리케이션·설정에 맞는 전용 포스트프로세서가 있으면 사용하세요. 없으면 해당 브랜드·컨트롤러용 기본 포스트프로세서를 쓰세요.
4. 수정·업데이트하기 쉬운 포스트프로세서 선택
RoboDK가 생성한 프로그램이 완벽하지 않을 수 있습니다. 로봇 프로그래밍 언어에 조금 익숙하다면 코드를 추가해 기능을 확장하기 쉽습니다.
일부 포스트프로세서는 생성 코드 수정을 쉽게 하도록 제공됩니다.
예: KUKA KRC2의 DAT 파일 생성 옵션. KUKA 컨트롤러의 특징으로, 위치를 변수로 별도 DAT 파일에 저장해 위치 변경 시 변수만 수정하면 되어 코드 업데이트가 편리합니다.
마찬가지로 Siemens Sinumerik 포스트프로세서도 밀리미터 단위 버전과 인치 단위 버전 두 가지가 있습니다.
로봇 코드 수정이 최대한 쉽도록 해주는 포스트프로세서를 고르세요.
5. 포스트프로세서 직접 만들기 또는 커스터마이징
특수한 로봇 구성 사용 시 자체 포스트프로세서 작성이 필요할 수 있습니다.
기존 포스트프로세서를 자신 설정·애플리케이션에 맞게 커스터마이징하고 싶을 수도 있습니다.
RoboDK에서 커스텀 포스트프로세서 작성은 매우 쉽습니다. 모두 Python 프로그램으로 유사한 포맷으로 작성되어 있습니다.
포스트프로세서 생성·수정 간단 튜토리얼 영상을 참고하세요.
자세한 내용은 문서의 포스트프로세서 페이지를 확인하세요.
포스트프로세서 관련 궁금한 점은? 아래 댓글이나 LinkedIn, Twitter, Facebook, Instagram에서 의견을 나눠보세요.