본문 바로가기
시스템

[Robot Expert Academy 02] 로봇 좌표계 완전 이해 — Joint, Cartesian, Base, Tool, RefFrame

by 프레스러쉬 2026. 10. 1.

[Robot Expert Academy 02] 로봇 좌표계 완전 이해 — Joint, Cartesian, Base, Tool, RefFrame

PreciseFlex · Guidance · Motion Control · GPL

이번 편의 목표
로봇의 좌표를 단순한 X·Y·Z 숫자가 아니라 “어느 기준에서 표현된 위치인가?”라는 관점으로 이해합니다. Joint Coordinate, Cartesian Coordinate, Base/World Frame, Tool/TCP, RefFrame을 연결하고, PreciseFlex/Guidance/GPL에서 왜 이 구분이 중요한지 현장 사례까지 살펴봅니다.

1. “X로 10 mm 이동”에서 X는 누구의 X인가?

로봇에게 “X 방향으로 10 mm 이동하라”고 명령하는 것은 언뜻 명확해 보입니다. 그러나 Base 기준 X인지, Tool 기준 X인지, Fixture나 Vision으로 정의한 Reference Frame 기준 X인지에 따라 실제 이동 방향은 달라집니다. 따라서 좌표계는 로봇 프로그래밍의 부가 지식이 아니라 모든 위치 명령의 출발점입니다.

현장에서 위치 문제가 발생했을 때 가장 먼저 물어야 할 질문도 같습니다. “이 좌표는 어느 Frame의 값인가?” 좌표계가 잘못되면 숫자가 아무리 정확해도 실제 Tool은 잘못된 곳으로 이동합니다.

2. Joint Coordinate — 로봇 자체의 언어

Joint Coordinate는 각 관절 또는 축의 위치로 로봇 상태를 표현합니다. PF400을 기준으로 보면 J1은 Z 방향의 직선 운동이고 J2, J3, J4는 회전 운동을 담당합니다. 이 값들은 Motor, Absolute Encoder, Homing, Mechanical Transmission 상태를 진단할 때 특히 중요합니다.

Cartesian 위치가 이상할 때 Joint feedback 자체도 이상하다면 Encoder/Homing/Transmission 계층을 먼저 의심할 수 있습니다. 반대로 Joint 값은 안정적인데 실제 TCP만 어긋난다면 Tool Offset, RefFrame, Calibration 또는 Mechanical Geometry로 진단 범위를 옮길 수 있습니다.

Diagnostic Chain
Joint Position → Calculated Cartesian Pose → Externally Measured TCP

3. Cartesian Coordinate — 공정이 이해하는 공간의 언어

Cartesian Coordinate는 공간상의 위치를 X, Y, Z와 필요한 orientation으로 표현합니다. Pick & Place, Tray Loading, Inspection, Dispensing 같은 장비 공정은 대부분 “어느 공간 위치로 이동할 것인가”로 정의되므로 작업자가 이해하기 쉽습니다.

그러나 Cartesian X/Y가 특정 Joint 하나와 일대일로 대응하는 것은 아닙니다. PF400의 평면 운동에서는 J2와 J3가 함께 변하면서 원하는 X/Y를 만들어 냅니다. Joint 값을 Cartesian 위치로 계산하는 과정이 Forward Kinematics이고, 원하는 Cartesian target을 만들 Joint 상태를 계산하는 과정이 Inverse Kinematics입니다.

4. Base / World Coordinate — Workcell의 기준점을 만든다

Base 또는 World Frame은 Robot과 Workcell을 연결하는 기준입니다. Fixture, Tray, Camera, Station의 위치 관계를 체계적으로 설계하려면 하나의 명확한 기준이 필요합니다.

모든 작업점이 거의 같은 방향과 크기로 틀어져 있다면 각 Teaching Point를 하나씩 수정하기 전에 Base/Fixture 기준의 offset을 확인하는 편이 효율적입니다. Point 100개를 각각 보정하는 것보다 원인이 되는 Frame 하나를 수정하는 것이 더 견고한 설계이기 때문입니다.

5. Tool Coordinate와 TCP — Wrist 중심과 실제 작업점은 다르다

로봇이 실제 공정을 수행하는 위치는 Wrist의 기계적 중심이 아니라 Tool Center Point(TCP)입니다. Gripper finger의 중심, Vacuum Cup의 중심, Dispensing Needle tip, Probe tip 등이 대표적인 TCP입니다.

Tool Offset이 잘못 정의되면 Controller가 계산하는 Wrist 위치는 정상이어도 실제 Pick 위치는 틀어질 수 있습니다. 특히 J4를 회전할수록 XY 오차가 원을 그리듯 변한다면 TCP 설정이나 Tool mounting을 강하게 의심할 수 있습니다.

6. RefFrame — Fixture가 움직여도 프로그램을 살리는 핵심

Guidance/GPL 환경에서는 Location, Profile과 함께 RefFrame을 사용할 수 있습니다. Reference Frame을 이용하면 위치를 Robot Base에만 종속시키지 않고 Tray, Fixture, Station 또는 Vision으로 찾은 대상에 상대적으로 표현할 수 있습니다.

예를 들어 Tray의 100개 Pocket을 모두 Base 절대좌표로 저장하면 Fixture가 이동했을 때 많은 Point를 다시 Teaching해야 할 수 있습니다. 반면 Pocket 위치를 Tray RefFrame에 대해 정의하면 Tray Frame을 보정하는 방식으로 관련 위치 전체를 일관되게 관리할 수 있습니다. 이것은 생산설비의 Model Change와 Calibration 유지보수에서 매우 큰 차이를 만듭니다.

7. 좌표변환을 수학적으로 이해하기

일반 로봇공학에서는 Frame 사이의 위치와 방향 관계를 Homogeneous Transformation으로 표현합니다. 개념적으로 Base에서 Tool까지의 변환은 Base→Fixture Transform × Fixture→Tool Transform처럼 연쇄적으로 계산할 수 있습니다.

4×4 Transformation Matrix에는 3×3 Rotation 정보와 3×1 Position 정보가 함께 들어갑니다. 이 수학은 PreciseFlex firmware 내부 구현을 공개한 것이 아니라 Engineering Foundation입니다. 하지만 이 개념을 이해하면 Tool Offset, Vision Calibration, Fixture Compensation, Hand-Eye Calibration이 사실상 같은 “Frame Transformation” 문제라는 것을 볼 수 있습니다.

8. Vision과 Robot Coordinate가 만나는 순간

첨부 GPL 매뉴얼의 Vision integration 예제는 Vision 결과의 Location을 이용하여 RefFrame을 만들고, 그 Frame에 상대적인 위치로 Robot을 이동하는 흐름을 보여 줍니다. 즉 Vision Guided Robotics의 본질은 단순히 카메라로 물체를 찾는 것이 아닙니다.

Image Detection → Object Location → Reference Frame → Relative Pick Location → Robot Motion

이 구조는 향후 Die Alignment, Tray Vision, Wafer Handling, Random Pick, Camera-Robot Calibration으로 그대로 확장됩니다. Vision 알고리즘이 아무리 정확해도 Camera Coordinate와 Robot Coordinate의 관계가 틀리면 Robot은 정확한 곳으로 갈 수 없습니다.

9. Figure 2-1 — Coordinate Systems of a PreciseFlex Robot

[Figure 2-1 삽입 위치]
Figure 2-1. Coordinate Systems of a PreciseFlex Robot
Relationship among Joint Coordinate, Base/World Frame, Tool Frame, TCP and Reference Frame.

※ 이번 편의 전용 인포그래픽을 메일에 첨부했습니다. 책 편집 시 이 위치에 배치하면 좌표계 전체 구조를 한눈에 설명할 수 있습니다.

10. 현장에서 자주 만나는 좌표계 오류

Symptom First Suspect Next Check
All points shift similarly Base / RefFrame Fixture Datum
Error changes with Tool rotation TCP / Tool Offset Tool Mounting
Error increases in one workspace region Kinematic Calibration Mechanism
Joint feedback itself is abnormal Encoder / Homing Hardware Diagnostics

11. 좌표계 설계가 생산설비의 유지보수성을 결정한다

초기 개발에서는 모든 위치를 직접 Teaching해도 장비가 움직입니다. 하지만 Fixture 교체, Tool 교환, Vision 재설치, Model Change가 시작되면 구조가 드러납니다. 절대좌표에 의존한 프로그램은 많은 Point를 다시 수정해야 하지만 Frame 기반 프로그램은 기준 Frame과 Tool 관계를 보정하는 방식으로 대응할 수 있습니다.

따라서 좋은 Robot Program은 Point를 많이 저장한 프로그램이 아니라 변화의 원인을 Frame 단위로 분리해 놓은 프로그램이라고 할 수 있습니다.

12. 실습 — Joint Space와 Cartesian Space를 직접 연결하기

안전한 저속에서 Known Position을 3개 이상 선정합니다. 각 Point에서 Joint Position과 Cartesian Position을 동시에 기록하고, J2/J3/J4를 소량씩 Jog하면서 Cartesian 값의 변화를 관찰합니다. 이후 Tool Rotation을 변경해 TCP 위치가 어떻게 변하는지 측정합니다.

그래프를 만든다면 축 표기는 Joint Angle, X Position, Y Position, Z Position, TCP Error처럼 English로 통일합니다. 이 실습의 목적은 숫자를 수집하는 것이 아니라 “어떤 Joint 변화가 어떤 Cartesian 변화로 이어지는가”를 몸으로 익히는 것입니다.

13. Quality Evaluation → Correction → Re-evaluation

Quality Evaluation: Near / Center / Far workspace의 Known Point에서 Joint Position, Cartesian Position, 실제 TCP를 측정합니다. Tool Orientation도 최소 두 조건 이상에서 확인하는 것이 좋습니다.

Correction: 오차 패턴에 따라 Base/RefFrame, TCP/Tool Offset, Calibration 또는 Mechanism을 수정합니다. 모든 Point를 개별 보정하는 방법은 마지막 수단으로 남깁니다.

Re-evaluation: 보정에 사용하지 않은 별도의 Verification Point에서 다시 측정합니다. 그래야 특정 Point에만 맞춘 보정을 피할 수 있습니다.

Stabilization: Homing과 Power Cycle 이후에도 동일 결과가 재현되는지 확인하고 장시간 반복운전 후 Drift를 평가합니다.

이번 편의 핵심
Robot Coordinate의 핵심 질문은 “좌표가 몇 mm인가?”가 아니라 “그 좌표는 어느 Frame에서 정의되었는가?”입니다. Frame을 올바르게 설계하면 Calibration, Vision, Model Change와 유지보수가 훨씬 단순해집니다.

14. 다음 편 예고

3편 — Degrees of Freedom and Robot Kinematics
PF400의 J1/J2/J3/J4가 어떻게 하나의 TCP 움직임을 만드는지 살펴봅니다. Forward Kinematics, Inverse Kinematics, Workspace와 Singularity까지 연결하여 “Joint를 보면 Tool의 움직임이 보이는 단계”로 넘어갑니다.

Manual Basis

제품 고유 내용은 제공된 Brooks Automation PreciseFlex 300/400/3400 Robots P/N PF40-DI-00010 Rev 5.6.0, Guidance Development Environment P/N GDE0-DI-S0010 Rev 5.0.0, Guidance Programming Language P/N GPL0-DI-S0010 Rev 5.0.0을 기준으로 정리했습니다. 일반적인 Homogeneous Transformation 설명은 Engineering Foundation으로 구분했습니다.

Tags

#RobotExpertAcademy #PreciseFlex #Guidance #GPL #RobotCoordinate #CoordinateSystem #JointCoordinate #CartesianCoordinate #BaseFrame #ToolFrame #TCP #RefFrame #RobotCalibration #VisionGuidedRobotics #MotionControl #IndustrialRobot #Automation