ROS

ROS 좌표계 설명 오일러, 쿼터니언 (euler, quaternion)

녕집사 2022. 2. 6. 22:58
반응형

ROS에서 사용되는 대표적인 좌표계로 오일러 좌표계와, 쿼터니언 좌표계가 있습니다. 

 

이 두 가지 좌표계에 대해서 간단하게 설명하도록 하겠습니다.

 

* 오일러 좌표계, 오일러 각 (Euler Angle)

- 3차원 공간의 절대 좌표를 기준으로 물체의 회전을 측정하는 방식

 

https://ko.wikipedia.org/wiki/%EC%98%A4%EC%9D%BC%EB%9F%AC_%EA%B0%81

 

1. 장점

  •  x, y, z 축으로 회전하여 직관적, 조작하기 용이함
  •  180도가 넘는 각도도 회전이 가능함

 

2. 한계

  • 오일러 각을 계산하는데 드는 비용이 큼
  • 짐벌락 (gimbal lock): 먼저 회적한 축이 아직 회전하지 않은 축을 함께 회전시킴, 이로 인해 두 번째로 회전한 축의 결과로 인해서 세 번째 축과 첫 번째 축이 겹쳐질 수 있음. 
    • degree of freedom을 상실하게 됨 => 자유도의 상실

 

* 쿼터니언 (Quaternion)

- x, y, z, w의 4개의 수로 이루어짐, 축 혹은 각도를 의미하는 것이 아닌 하나의 벡터 (x, y, z)와 하나의 스칼라 (w, roll)를 의미함

- 오일러의 각 성분에 대해 직접 접근하는 방식에 비해서, x, y, z 성분이 동시에 변화함 => 짐벌락을 방지함

- 회전의 원점과 특정 방향을 비교함으로써 회전을 측정할 수 있음

 

1. 장점

  • 짐벌락의 문제가 생기지 않음
  • 계산하는데 드는 비용이 적음

2. 한계

  • 회전 방식이 하나의 방향(orientation)에서 다른 방향(orientation)으로 측정되기 때문에 180도 보다 큰 회전을 표현할 수 없음
  • 직관적으로 이해하기 힘듦

 

위의 두 가지 좌표에 대해서 서로 변환할 수 있도록 ROS에서 구현이 가능합니다. 파이썬이나 C++ 모두 사용이 가능합니다. 

 

 

반응형