659.2 로봇 시스템에서의 좌표계 체계

1. 좌표계 체계의 개요

로봇 시스템에서의 좌표계 체계(coordinate system hierarchy)는 로봇과 그 주변 환경을 구성하는 모든 공간적 요소 간의 관계를 정의하는 구조화된 프레임워크이다. 로봇 시스템이 올바르게 작동하기 위해서는 각 구성 요소의 공간적 위치와 방향을 일관되게 표현하고, 이들 간의 관계를 체계적으로 관리해야 한다.

좌표계 체계는 일반적으로 계층적(hierarchical) 구조를 따르며, 최상위의 글로벌 참조 프레임(global reference frame)에서 시작하여 로봇 본체 프레임, 링크 프레임, 센서 프레임, 말단 장치 프레임 등으로 세분화된다.

2. 글로벌 좌표계 (Global Coordinate System)

글로벌 좌표계는 로봇이 작동하는 환경 전체에 대한 절대적인 공간 기준을 제공한다. 글로벌 좌표계는 시간에 따라 변하지 않는 고정 프레임(fixed frame)이며, 환경 내의 모든 공간 정보는 궁극적으로 이 프레임에 대해 표현될 수 있다.

2.1 월드 프레임 (World Frame)

월드 프레임은 로봇의 작업 환경을 정의하는 최상위 좌표계이다. 산업용 로봇의 경우 작업 셀(work cell)의 한 모서리에 고정되며, 이동 로봇의 경우 환경 지도(map)의 원점에 해당한다. ROS2에서는 이 프레임을 일반적으로 map 또는 world라고 명명한다.

2.2 지구 고정 프레임 (Earth-Fixed Frame)

지구 규모의 로봇 운용이 필요한 경우(예: 실외 자율 주행, 드론 비행, 위성 기반 위치 추정), 지구 고정 좌표계가 사용된다. 대표적인 지구 고정 좌표계로는 다음이 있다.

좌표계설명원점
ECEF (Earth-Centered, Earth-Fixed)지구 중심을 원점으로 하며, 지구 자전과 함께 회전하는 좌표계지구 중심
ENU (East-North-Up)지표면의 특정 기준점에서 동쪽, 북쪽, 상향 방향을 축으로 하는 좌표계지표면의 기준점
NED (North-East-Down)지표면의 특정 기준점에서 북쪽, 동쪽, 하향 방향을 축으로 하는 좌표계지표면의 기준점

ROS2의 좌표 규약(REP 103, Standard Units of Measure and Coordinate Conventions)에서는 ENU 좌표계를 표준으로 권장하며, 항공 분야에서 전통적으로 사용하는 NED 좌표계와의 변환이 필요할 수 있다.

3. 로봇 본체 좌표계 (Robot Body Coordinate System)

로봇 본체 좌표계는 로봇의 물리적 본체에 고정된 좌표계로서, 로봇의 이동과 함께 움직인다.

3.1 기저 링크 프레임 (Base Link Frame)

base_link 프레임은 로봇 본체의 기준 좌표계이다. ROS2의 표준 규약(REP 105)에 따르면, base_link는 로봇의 회전 중심에 위치하며, x축은 로봇의 전진 방향, y축은 좌측 방향, z축은 상향 방향을 가리킨다. 모든 로봇의 하드웨어 구성 요소(센서, 액추에이터 등)의 위치는 base_link에 대한 상대적 변환으로 정의된다.

3.2 기저 발판 프레임 (Base Footprint Frame)

base_footprint 프레임은 base_link의 지면(ground plane) 투영으로 정의된다. 즉, base_footprintbase_link와 동일한 x, y 좌표를 가지지만, z 좌표는 지면 높이이며, 좌우 기울기(roll)와 전후 기울기(pitch) 회전이 제거된 상태이다. 이 프레임은 2D 네비게이션에서 로봇의 지면상 위치를 표현하는 데 유용하다.

4. 위치 추정 좌표계 (Localization Coordinate System)

로봇의 위치 추정에는 서로 다른 특성을 가진 복수의 좌표계가 사용된다.

4.1 오도메트리 프레임 (Odometry Frame)

odom 프레임은 오도메트리(odometry) 기반의 위치 추정 결과를 표현하는 좌표계이다. 오도메트리는 바퀴 인코더, 관성 측정 장치(IMU), 시각 오도메트리(visual odometry) 등을 통해 계산되며, 단기적으로는 연속적이고 부드러운 위치 추정을 제공하지만, 장기적으로는 누적 오차(drift)가 발생한다.

odom → base_link 변환의 특성은 다음과 같다.

특성설명
연속성 (Continuity)변환이 시간에 따라 부드럽게 변화하며, 급격한 점프가 발생하지 않는다
정확성 (Accuracy)단기적으로 높은 정확도를 가지지만, 장기적으로 누적 오차가 증가한다
가용성 (Availability)외부 인프라 없이 로봇 자체 센서만으로 계산 가능하다

4.2 맵 프레임 (Map Frame)

map 프레임은 글로벌 위치 추정(global localization) 알고리즘의 결과를 표현하는 좌표계이다. AMCL(Adaptive Monte Carlo Localization), 그래프 기반 SLAM(Graph-based SLAM) 등의 알고리즘이 map → odom 변환을 계산하여 오도메트리의 누적 오차를 보정한다.

map → odom 변환의 특성은 다음과 같다.

특성설명
연속성위치 추정 알고리즘의 업데이트 시 불연속적인 점프가 발생할 수 있다
정확성장기적으로 안정적이며, 누적 오차가 보정된다
의존성외부 참조(지도, 랜드마크 등)가 필요하다

4.3 변환 체인의 구성

ROS2의 표준 좌표계 체계에서는 다음과 같은 변환 체인을 구성한다.

\text{map} \xrightarrow{\text{위치 추정}} \text{odom} \xrightarrow{\text{오도메트리}} \text{base\_link}

이 체인을 통해 map → base_link 변환은 map → odom 변환과 odom → base_link 변환의 합성으로 자동 계산된다. 이러한 분리 구조는 위치 추정의 불연속성이 base_link의 운동에 직접 영향을 미치지 않도록 보장한다.

5. 센서 좌표계 (Sensor Coordinate System)

각 센서는 센서 고유의 좌표 프레임을 가지며, 센서의 물리적 장착 위치와 방향에 따라 base_link에 대한 정적 변환(static transform)이 정의된다.

5.1 카메라 좌표계

카메라의 좌표계는 일반적으로 두 개의 프레임으로 구성된다.

  • 카메라 링크 프레임 (camera_link): 카메라의 물리적 본체에 부착된 프레임으로, ROS2의 표준 방향 규약(x: 전방, y: 좌측, z: 상향)을 따른다.
  • 카메라 광학 프레임 (camera_optical_frame): 컴퓨터 비전의 관례적 방향 규약(z: 전방(광축 방향), x: 우측, y: 하향)을 따르는 프레임이다. 이 프레임은 이미지 좌표계와의 직관적인 대응을 위해 사용된다.

camera_link에서 camera_optical_frame으로의 변환은 x축 기준 -90° 회전과 z축 기준 -90° 회전의 합성이다.

5.2 IMU 좌표계

관성 측정 장치(IMU)의 좌표 프레임은 imu_link로 명명되며, IMU 센서의 물리적 측정 축과 정렬된다. IMU의 출력(가속도, 각속도, 자기장)은 imu_link 프레임에서 표현되므로, 정확한 센서 융합을 위해서는 imu_linkbase_link 간의 정밀한 외적 캘리브레이션이 필수적이다.

5.3 LiDAR 좌표계

LiDAR 센서의 좌표 프레임은 laser_frame 또는 lidar_link로 명명된다. LiDAR의 측정 데이터(포인트 클라우드 또는 레이저 스캔)는 이 프레임에서 표현되며, 장애물 감지와 지도 생성에 활용된다.

6. 매니퓰레이터 좌표계 (Manipulator Coordinate System)

로봇 매니퓰레이터의 좌표계 체계는 관절-링크 구조를 반영하여 계층적으로 구성된다.

6.1 관절 프레임 (Joint Frame)

매니퓰레이터의 각 관절에는 고유한 좌표 프레임이 부착된다. Denavit-Hartenberg(D-H) 규약 또는 수정 D-H(Modified D-H) 규약에 따라 프레임이 배치되며, 각 관절의 운동 자유도(회전 또는 직선 운동)에 따라 프레임 간의 변환이 정의된다.

6.2 말단 장치 프레임 (End-Effector Frame)

tool0 또는 ee_link로 명명되는 말단 장치 프레임은 매니퓰레이터의 마지막 링크 끝에 위치하며, 로봇이 주변 환경과 상호작용하는 지점을 나타낸다. 특정 공구(tool)가 장착된 경우, 공구의 작동점(TCP, Tool Center Point)에 추가적인 프레임이 정의될 수 있다.

7. 좌표계 체계의 관리 원칙

로봇 시스템의 좌표계 체계를 설계하고 관리할 때 다음과 같은 원칙을 준수해야 한다.

  1. 일관된 명명 규칙: REP 103과 REP 105에서 정의한 표준 프레임 명명 규칙을 따르며, 프레임 이름이 해당 프레임의 물리적 대응물을 명확하게 식별할 수 있도록 한다.
  2. 단일 트리 구조 유지: 모든 좌표 프레임은 단일 트리 구조로 연결되어야 하며, 순환(cycle)이 존재해서는 안 된다.
  3. 적절한 프레임 세분화: 물리적으로 구분되는 각 구성 요소에 대해 독립적인 프레임을 정의하되, 불필요하게 과도한 프레임 생성은 피한다.
  4. 정적·동적 변환의 분리: 시간에 따라 변하지 않는 변환(예: 센서 장착 위치)은 정적 변환으로, 시간에 따라 변하는 변환(예: 관절 각도, 오도메트리)은 동적 변환으로 명확하게 분리하여 관리한다.

참고 문헌 및 출처:

  • REP 103, “Standard Units of Measure and Coordinate Conventions,” Open Robotics, 2010. https://www.ros.org/reps/rep-0103.html
  • REP 105, “Coordinate Frames for Mobile Platforms,” Open Robotics, 2010. https://www.ros.org/reps/rep-0105.html
  • Craig, J.J., Introduction to Robotics: Mechanics and Control, 4th ed., Pearson, 2018.
  • Siciliano, B., Khatib, O., Springer Handbook of Robotics, 2nd ed., Springer, 2016.
  • Open Robotics, “tf2 — ROS 2 Documentation,” ROS 2 Jazzy Jalisco, 2024.