1) 좌표변환
회전운동
2차원 좌표평면 위의 점p(x,y)가 있다.
이 점을 θ만큼 회전시켰을 때 p'의 좌표는 다음과 같다.
$$x'= x cos\theta - y sin\theta$$
$$y'= x sin\theta + y cos\theta$$
그리고 이 식은 행렬로도 나타낼 수 있다.
$$\begin{bmatrix} x' \\ y' \end{bmatrix}= \begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}$$
여기서
$$\begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix}$$
를 회전행렬Rot(θ)이라 부른다.
만약 점p가 아닌 좌표평면이 회전한다면 점p의 좌표는 어떻게 될까?
이들의 관계는 점p가 -θ만큼 회전한 값 Rot(-θ)와 동일한 결과라는 것을 알 수 있다.
따라서
$$Rot(-\theta)= \begin{bmatrix} cos(-\theta) & -sin(-\theta) \\ sin(-\theta) & cos(-\theta) \end{bmatrix}= \begin{bmatrix} cos\theta & sin\theta \\ -sin\theta & cos\theta \end{bmatrix}$$
이고
$$p'=Rot(-\theta)p$$
이다.
3차원 공간에서의 좌표변환의 경우, 앞서 x, y축에 z축이 더해진다.
3차원 공간에서의 회전은 x, y, z축중 한 축을 중심으로 회전한다.
즉,
$$Rot_x (\theta), Rot_y (\theta), Rot_z (\theta)$$
를 구해야 한다.
이를 구하기 위해 z축을 θ만큼 회전시켜보자.
여기서 각 단위벡터의 성분을 알아보자.
좌표축 x'에 있는 단위벡터 x_0, y_0, z_0방향의 성분은
$$x_0 : R_{11} =cos\theta$$
$$y_0 : R_{21} =sin\theta$$
$$z_0 : R_{31} =0$$
좌표축 y'에 있는 단위벡터 x_0, y_0, z_0방향의 성분은
$$x_0 : R_{12} =-sin\theta$$
$$y_0 : R_{22} =cos\theta$$
$$z_0 : R_{32} =0$$
좌표축 z'에 있는 단위벡터 x_0, y_0, z_0방향의 성분은
$$x_0 : R_{13} =0$$
$$y_0 : R_{23} =0$$
$$z_0 : R_{33} =1$$
즉, 다음과 같은 3x3회전행렬을 구할 수 있다.
$$Rot_z (\theta)= \begin{bmatrix} cos\theta & -sin\theta & 0 \\ sin\theta & cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix}$$
동일한 원리로 x축과 y축을 회전시 아래와 같은 행렬이 나온다.
$$Rot_x (\theta)= \begin{bmatrix} 1 & 0 & 0 \\ 0 & cos\theta & -sin\theta \\ 0 & sin\theta & cos\theta \end{bmatrix}$$
$$Rot_y (\theta)= \begin{bmatrix} cos\theta & 0 & sin\theta \\ 0 & 1 & 0 \\ -sin\theta & 0 & cos\theta \end{bmatrix}$$
병진운동
로봇의 운동의 경우 평행이동을 하는 병진운동이 회전운동과 병행될 때가 있다.
두 운동이 같이있을 경우 회전운동을 한 후 병진운동을 하면 된다.
즉, 회전행렬을 이용하여 계산한 후, x, y축에 병진운동값을 더해주면 된다.
하지만 이보다 간단하게 해결하는 방법이 있는데 회전행렬에 병진을 나타내는 요소를 추가하는 것이다.
이를 동차변환행렬이라 부르며 다음과 같다.
$$\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} cos \theta & -sin \theta & l_x \\ sin \theta & cos \theta & l_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}$$
2) 좌표계
직교좌표계
x, y, z축이 직교하고 내부의 점을 (x, y, z)로 표기하는 좌표계
원통좌표계
2개의 길이와 1개의 각도를 사용하여 내부의 점을 (r, θ, z)로 표기하는 좌표계
구좌표계
1개의 길이와 2개의 각도를 사용하여 내부의 점을 (r, φ, θ)로 표기하는 좌표계
'로봇공학' 카테고리의 다른 글
0. 로보틱스- 순운동학 (0) | 2019.06.04 |
---|---|
0. 로보틱스- degree of freedom (자유도) (0) | 2019.06.03 |
0. 로보틱스- 위치, 속도, 가속도 (0) | 2019.05.30 |