반응형
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++ 모두 사용이 가능합니다.
반응형
'ROS' 카테고리의 다른 글
[ROS noetic] slam gmapping 토픽, 서비스, tf (0) | 2022.04.04 |
---|---|
[ROS noetic] AMCL(Adaptive Monte Carlo localization) 알고리즘 설명 (0) | 2022.01.18 |
[ROS noetic] DWA(Dynamic Window Approach) local planner 알고리즘 (0) | 2022.01.18 |