3. Represent 3D Rigid Body Transform using Quternion
02 Jun 2020 | Visual SLAM
Representation of the Rotation in 3D
- 3차원 공간상에서의 회전의 표현 방법
- Rotation Matrix
- 좌표계 간의 회전 변환 관계를 나타내는 행렬
- 3 DOF를 표현하기 위해 9개의 값을 사용하는 중복성 존재
- 행렬식이 1인 orthogonal matrices이라는 제약 조건에 따라 최적화 문제에 대한 복잡도 증가
- Euler angle(r,p,y로 표현)
- 세 축을 중심으로 하는 순차적 회전을 통한 매우 직관적인 표현 방법
- 특정 상황에서 1 자유도를 잃어버리는 짐벌락(Gimbal rock) 문제가 발생(예로, x축 = y축이 같아지는 현상)
- 보간과 반복에 적합하지 않아 주로 결과의 신속한 가시화를 위해 사용
- Quaternion
- 4개의 값으로 이루어진 확장된 복소수 체계를 이용해 3차원 회전을 표현
- 행렬에 비해 연산 속도가 빠르고, 차지하는 메모리 양도 적으며, 최단호(shortest arc) 보간으로 오류 발생률이 적다는 장점을 지님
Quaternion
- definition of the Quaternion
- 3차원 회전을 표현하기 위하여 확장된 복소수인 사원수(Quaternion)을 사용
- 3차원 공간을 다루기 위해서는 4차원 공간이 필요
- 실수부/스칼라부 Re(q) 와 허수부/벡터부 Im(q) 로 구성
- Quaternion의 basis 간의 곱
Quaternion 특징
- Quaternion을 이용한 회전
- 3차원 공간 상의 한 점 p 에 대하여
- p = [0,x,y,z]
- n 벡터를 축으로 theta만큼 회전을 나타내는 단위 Quternion을 이용 하면
- 3차원 공간상에서 회전된 점 p’ 을 계산 가능
-
계산 결과 실수부는 0이 되고, 허수부의 세 요소는 회전 후의 3차원 점의 좌표로 표현
-
회전 벡터(Rotation vector)와 Quaternion 간의 변환
Quaternion 구면 선형 보간
Euler Transformation, similarity Transformation, affine transformation, projection transformation comparison
Reference
SLAM KR
视觉SLAM书
Cmake Tutorial : https://github.com/TheErk/Cmake-tutorial.
Wiki
Representation of the Rotation in 3D
- 3차원 공간상에서의 회전의 표현 방법
- Rotation Matrix
- 좌표계 간의 회전 변환 관계를 나타내는 행렬
- 3 DOF를 표현하기 위해 9개의 값을 사용하는 중복성 존재
- 행렬식이 1인 orthogonal matrices이라는 제약 조건에 따라 최적화 문제에 대한 복잡도 증가
- Euler angle(r,p,y로 표현)
- 세 축을 중심으로 하는 순차적 회전을 통한 매우 직관적인 표현 방법
- 특정 상황에서 1 자유도를 잃어버리는 짐벌락(Gimbal rock) 문제가 발생(예로, x축 = y축이 같아지는 현상)
- 보간과 반복에 적합하지 않아 주로 결과의 신속한 가시화를 위해 사용
- Quaternion
- 4개의 값으로 이루어진 확장된 복소수 체계를 이용해 3차원 회전을 표현
- 행렬에 비해 연산 속도가 빠르고, 차지하는 메모리 양도 적으며, 최단호(shortest arc) 보간으로 오류 발생률이 적다는 장점을 지님
- Rotation Matrix
Quaternion
- definition of the Quaternion
- 3차원 회전을 표현하기 위하여 확장된 복소수인 사원수(Quaternion)을 사용
- 3차원 공간을 다루기 위해서는 4차원 공간이 필요
- 실수부/스칼라부 Re(q) 와 허수부/벡터부 Im(q) 로 구성
- Quaternion의 basis 간의 곱
Quaternion 특징
- Quaternion을 이용한 회전
- 3차원 공간 상의 한 점 p 에 대하여
- p = [0,x,y,z]
- n 벡터를 축으로 theta만큼 회전을 나타내는 단위 Quternion을 이용 하면
- 3차원 공간상에서 회전된 점 p’ 을 계산 가능
-
계산 결과 실수부는 0이 되고, 허수부의 세 요소는 회전 후의 3차원 점의 좌표로 표현
-
회전 벡터(Rotation vector)와 Quaternion 간의 변환
Quaternion 구면 선형 보간
Euler Transformation, similarity Transformation, affine transformation, projection transformation comparison
Reference
SLAM KR 视觉SLAM书
Cmake Tutorial : https://github.com/TheErk/Cmake-tutorial.
Wiki
Comments