Position, Orientation and Coordinate Transformations
좌표 프레임은 강체에 부착되어 강체 사이의 상대 포즈(위치 및 방향)를 나타냅니다. 그런 다음 이 두 좌표 프레임 간의 기하학적 관계가 지정됩니다.
Position
다른 프레임에 대한 한 프레임의 원점 위치는 translation vector (3x1)로 설명할 수 있습니다. :
Orientation
한 좌표 프레임의 다른 프레임에 대한 방향은 rotation matrix (3x3) 로 설명할 수 있습니다.
Pose
homogeneous transformation matrix (4x4)는 동시에 다른 좌표 프레임을 기준으로 한 좌표 프레임의 위치와 방향을 나타냅니다.
Roll-Pitch-Yaw
강성 차체는 최대 3개의 회전 자유도를 갖습니다. 즉, 임의의 강성 차체 방향을 설명하는 데는 세 개의 독립적인 양만 있으면 충분합니다. 이러한 방향의 최소 표현 중 하나는 roll-pitch-yaw representation 표현이며, roll (\(\phi\)), pitch (\(\theta\)), 및 yaw (\(\psi\)) 각도로 정의됩니다.:
롤-피치-요(roll-pitch-yaw) 표현의 장점은 3개의 값만 필요하다는 것입니다. 이러한 값은 다른 표현에 비해 기하학적으로 이해하기 쉽습니다. 단점은 다음과 같습니다.:
값이 연속적이지 않습니다.
최종 방향은 다음에 따라 다릅니다.
회전을 적용하는 순서입니다.
이동 축(intrinsic rotations) 또는 고정 축(extrinsic rotations)에 대한 회전 적용.
롤-피치-요(roll-pitch-yaw) 표현은 로봇 공급업체 사이에서 일반적입니다. 그러나 모든 로봇 공급업체가 동일한 규칙을 가정하는 것은 아닙니다. 롤-피치-요 각도를 다른 표현으로 변환하려면 규칙, 즉 회전 순서와 회전 순서가 고유한지 외부적인지를 이해하는 것이 필요합니다.
Axis-Angle / Rotation Vector
Axis-angle 표현은 다음을 설명합니다.
회전 방향의 축을 나타내는 단위 벡터(\(\boldsymbol{u}\))에 의한 회전입니다.
각도(\(\theta\))는 축에 대한 회전의 크기를 설명합니다.
총 4개의 매개 변수가 있습니다. 단위 벡터의 각 요소에 각도를 곱하는 것은 파라미터의 수를 최소화하기 위한 일반적인 방법이며, 그 결과는 회전 벡터(\(\boldsymbol{r}\))입니다.:
롤-피치-요 각도보다 축-각도 표현의 장점은 연속성과 회전 순서 문제가 없다는 것입니다. 그러나 물리적인 방향과 회전 벡터의 수치를 일치시키는 것은 어렵습니다. 또 다른 단점은 3D 포인트에 직접 회전을 적용할 수 없다는 것입니다. 이를 위해서는 다른 표현으로의 변환이 필요합니다.
Unit Quaternion
Unit quaternions 4개의 매개변수로 축 각도 표현을 인코딩하는 간단하지만 강력한 방법을 나타냅니다.
Unit quaternions은 회전 행렬보다 더 간결하고 수치적으로 안정적이며 효율적이기 때문에 두 좌표 프레임 간의 방향을 나타내는 가장 좋은 방법으로 간주됩니다. 롤-피치-요(roll-pitch-yaw) 표현과 비교할 때 Unit quaternions은 gimbal lock(방향을 고유하게 표현하는 것이 불가능)을 겪지 않습니다. 또한 축-각도 표현과 달리 Unit quaternions을 3차원 점에 직접 적용할 수 있습니다.
Coordinate Transformations
Any coordinate transformation of a rigid body in 3D can be described with a rotation and a translation. For example, it is possible to transform a point (or a point cloud) from one coordinate frame (\(b\)) to another coordinate frame (\(a\)). This can be performed with a rotation matrix and a translation vector:
두 프레임 사이의 포즈를 설명하는 homogeneous transformation matrix 를 사용해서 동일한 작업을 수행할 수 있습니다.
where \(\widetilde{p}^{a}\) and \(\widetilde{p}^{b}\) are homogeneous representations of the vectors \(p^{a}\) and \(p^{b}\), respectively.
The homogeneous transformation matrix \(\boldsymbol{H}^{a}_{b}\) in the above equation represents:
the operation that transforms a point \(p^{b}\) in frame \(b\) to a point \(p^{a}\) in frame \(a\) (coordinate transformation matrix)
the operation that expresses a point \(p^{b}\) defined relative to frame \(b\) as it would be defined relative to frame \(a\) (coordinate transformation matrix)
the pose (position and orientation) of frame \(b\) with respect to frame \(a\)
the transform (position and orientation) from frame \(a\) to frame \(b\) expressed as a homogenous transformation matrix
In code samples, we use the following notation for this transformation matrix: a_to_b_transform
or b_pose_in_a_frame
.