Position, Orientation and Coordinate Transformations

좌표 프레임은 강체에 부착되어 강체 사이의 상대 포즈(위치 및 방향)를 나타냅니다. 그런 다음 이 두 좌표 프레임 간의 기하학적 관계가 지정됩니다.

Position

다른 프레임에 대한 한 프레임의 원점 위치는 translation vector (3x1)로 설명할 수 있습니다. :

\[\begin{split}\boldsymbol{t} = \begin{bmatrix} x \\ y \\ z \end{bmatrix}\end{split}\]

Orientation

한 좌표 프레임의 다른 프레임에 대한 방향은 rotation matrix (3x3) 로 설명할 수 있습니다.

\[\begin{split}\boldsymbol{R} = \begin{bmatrix} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{32} & r_{33} \\ \end{bmatrix}\end{split}\]

Pose

homogeneous transformation matrix (4x4)는 동시에 다른 좌표 프레임을 기준으로 한 좌표 프레임의 위치와 방향을 나타냅니다.

\[\begin{split}\boldsymbol{H} = \begin{bmatrix} \boldsymbol{R} & \boldsymbol{t}\\ 0 & 1\\ \end{bmatrix} = \begin{bmatrix} r_{11} & r_{12} & r_{13} & x\\ r_{21} & r_{22} & r_{23} & y\\ r_{31} & r_{32} & r_{33} & z\\ 0 & 0 & 0 & 1\\ \end{bmatrix}\end{split}\]

Roll-Pitch-Yaw

강성 차체는 최대 3개의 회전 자유도를 갖습니다. 즉, 임의의 강성 차체 방향을 설명하는 데는 세 개의 독립적인 양만 있으면 충분합니다. 이러한 방향의 최소 표현 중 하나는 roll-pitch-yaw representation 표현이며, roll (\(\phi\)), pitch (\(\theta\)), 및 yaw (\(\psi\)) 각도로 정의됩니다.:

\[\boldsymbol{R}(\phi, \theta, \psi)\]

롤-피치-요(roll-pitch-yaw) 표현의 장점은 3개의 값만 필요하다는 것입니다. 이러한 값은 다른 표현에 비해 기하학적으로 이해하기 쉽습니다. 단점은 다음과 같습니다.:

  • 값이 연속적이지 않습니다.

  • 최종 방향은 다음에 따라 다릅니다.

    • 회전을 적용하는 순서입니다.

    • 이동 축(intrinsic rotations) 또는 고정 축(extrinsic rotations)에 대한 회전 적용.

롤-피치-요(roll-pitch-yaw) 표현은 로봇 공급업체 사이에서 일반적입니다. 그러나 모든 로봇 공급업체가 동일한 규칙을 가정하는 것은 아닙니다. 롤-피치-요 각도를 다른 표현으로 변환하려면 규칙, 즉 회전 순서와 회전 순서가 고유한지 외부적인지를 이해하는 것이 필요합니다.

Axis-Angle / Rotation Vector

Axis-angle 표현은 다음을 설명합니다.

  • 회전 방향의 축을 나타내는 단위 벡터(\(\boldsymbol{u}\))에 의한 회전입니다.

  • 각도(\(\theta\))는 축에 대한 회전의 크기를 설명합니다.

총 4개의 매개 변수가 있습니다. 단위 벡터의 각 요소에 각도를 곱하는 것은 파라미터의 수를 최소화하기 위한 일반적인 방법이며, 그 결과는 회전 벡터(\(\boldsymbol{r}\))입니다.:

\[\boldsymbol{r} = \begin{bmatrix} r_x & r_y & r_z \end{bmatrix} = \begin{bmatrix} u_x \theta & u_y \theta & u_z \theta \end{bmatrix}\]

롤-피치-요 각도보다 축-각도 표현의 장점은 연속성과 회전 순서 문제가 없다는 것입니다. 그러나 물리적인 방향과 회전 벡터의 수치를 일치시키는 것은 어렵습니다. 또 다른 단점은 3D 포인트에 직접 회전을 적용할 수 없다는 것입니다. 이를 위해서는 다른 표현으로의 변환이 필요합니다.

Unit Quaternion

Unit quaternions 4개의 매개변수로 축 각도 표현을 인코딩하는 간단하지만 강력한 방법을 나타냅니다.

\[\boldsymbol{q} = \begin{bmatrix} q_{w} & q_{x} & q_{y} & q_{z} \end{bmatrix}\]

Unit quaternions은 회전 행렬보다 더 간결하고 수치적으로 안정적이며 효율적이기 때문에 두 좌표 프레임 간의 방향을 나타내는 가장 좋은 방법으로 간주됩니다. 롤-피치-요(roll-pitch-yaw) 표현과 비교할 때 Unit quaternions은 gimbal lock(방향을 고유하게 표현하는 것이 불가능)을 겪지 않습니다. 또한 축-각도 표현과 달리 Unit quaternions을 3차원 점에 직접 적용할 수 있습니다.

Coordinate Transformations

3D에서 강체의 모든 좌표 변환은 회전과 병진으로 설명할 수 있습니다. 예를 들어, 한 좌표 프레임에서 다른 좌표 프레임으로 포인트(또는 포인트 클라우드)를 변환하는 것이 가능합니다. 이것은 rotation matrixtranslation vector 를 사용하여 수행할 수 있습니다.

\[p_{1} = \boldsymbol{R} p_{0} + \boldsymbol{t}\]

두 프레임 사이의 포즈를 설명하는 homogeneous transformation matrix 를 사용해서 동일한 작업을 수행할 수 있습니다.

\[p_{1} = \boldsymbol{H} p_{0}\]