오일러각 (Euler Angles)

로봇공학
한 줄 정의: 3차원 회전을 세 개의 축에 대한 순차적인 회전각(예: roll, pitch, yaw)으로 표현하는 방법이다. 직관적이지만 특정 자세에서 자유도를 잃는 짐벌락 현상이 발생할 수 있다.

쉽게 풀면

회전을 앞뒤, 좌우, 위아래로 몇 도씩 돌렸는지 세 각도로 나타내는 방법이에요.

왜 중요한가

세 번의 순차 회전각으로 자세를 표현하는 방식으로, 사람이 읽고 입력하기 쉬워 교시펜던트와 로봇 언어의 자세 표기에 널리 쓰입니다. 산업용 로봇 제조사마다 회전 순서 규약이 달라 이를 모르면 자세를 잘못 입력하게 됩니다. 세 개의 값만으로 자세를 표현할 수 있어 사람이 직관적으로 이해하고 입력하기 쉬운 반면, 계산상의 특이점 문제 때문에 내부 연산에서는 회전행렬이나 쿼터니언으로 변환해 사용하는 경우가 많습니다.

논문에서는 이렇게 쓰입니다

본 논문에서는 오일러각 ZYX 표현을 사용해 엔드이펙터의 자세 오차를 정의하였다.

논문에서 오일러각은 사람이 이해하기 쉬운 자세 표현법으로 자주 쓰이지만 짐벌락 문제가 한계로 언급됩니다.

"드론의 자세 제어 알고리즘을 비교한 연구에서는 큰 각도로 급격히 기울어지는 곡예비행 상황에서 오일러각 기반 제어가 짐벌락으로 인한 오작동을 일으켜, 쿼터니언 기반 제어로 대체해야 했다."

이 문장은 오일러각이 평상시 자세 표현에는 직관적이지만, 큰 각도 변화가 필요한 상황에서는 한계를 드러내 다른 표현 방식으로 대체될 필요가 있음을 보여줍니다.

조금 더 깊게 보면

특정 자세에서 두 회전축이 겹쳐 한 자유도를 잃는 짐벌락 문제가 있어 자세 보간이나 제어 오차 계산에는 쿼터니언이나 회전행렬을 써야 합니다. 같은 세 각도라도 고정축 기준인지 이동축 기준인지, XYZ인지 ZYX인지에 따라 결과가 달라서 문헌 간 자세 데이터를 옮길 때 가장 흔한 오류의 원인입니다. 회전을 표현하는 축의 순서(예: Z-Y-X)에 따라 같은 오일러각 값이라도 실제 회전 결과가 달라지므로, 사용하는 회전 순서 규약을 명확히 정의하고 일관되게 적용해야 합니다. 항공기의 자세를 나타낼 때 흔히 쓰는 롤, 피치, 요 역시 오일러각의 한 형태로, 회전 순서를 Z-Y-X로 고정한 관용적 표기라는 점에서 로봇공학의 일반적인 오일러각과 연결됩니다.

주의할 점

오일러각은 회전 순서(XYZ, ZYX 등)에 따라 값이 달라지므로 사용한 순서를 반드시 명시해야 한다. 특정 자세에서 두 회전축이 나란히 겹치는 짐벌락 현상이 발생하면 한 자유도의 회전 정보를 잃어버릴 수 있어, 이를 피하려면 쿼터니언 같은 대체 표현을 사용하기도 합니다.

관련 용어