6.85 기하학적 자코비안과 해석적 자코비안

6.85 기하학적 자코비안과 해석적 자코비안

로봇 매니퓰레이터의 자코비안 행렬은 그 정의 방식에 따라 기하학적 자코비안(geometric Jacobian)과 해석적 자코비안(analytical Jacobian)으로 구분된다. 두 자코비안은 모두 관절 속도와 작업 공간 속도 사이의 관계를 기술하지만, 자세의 시간 미분을 정의하는 방식이 서로 다르다. 본 절에서는 두 자코비안의 정의, 유도, 상호 관계를 엄밀하게 다룬다.

1. 기하학적 자코비안의 정의

기하학적 자코비안 J_g(\mathbf{q}) \in \mathbb{R}^{6 \times n}는 관절 속도 벡터 \dot{\mathbf{q}} \in \mathbb{R}^n를 말단 장치의 선속도 \mathbf{v} \in \mathbb{R}^3와 각속도 \boldsymbol{\omega} \in \mathbb{R}^3로 사상하는 행렬이다.

\begin{bmatrix} \mathbf{v} \\ \boldsymbol{\omega} \end{bmatrix} = J_g(\mathbf{q}) \, \dot{\mathbf{q}}

기하학적 자코비안은 선속도 부분 J_v \in \mathbb{R}^{3 \times n}와 각속도 부분 J_\omega \in \mathbb{R}^{3 \times n}로 분할된다.

J_g(\mathbf{q}) = \begin{bmatrix} J_v(\mathbf{q}) \\ J_\omega(\mathbf{q}) \end{bmatrix}

1.1 회전 관절의 기하학적 자코비안 열 벡터

i번째 관절이 회전 관절인 경우, 기하학적 자코비안의 i번째 열 벡터는 다음과 같이 구성된다.

\mathbf{j}_i = \begin{bmatrix} \mathbf{z}_{i-1} \times (\mathbf{p}_n - \mathbf{p}_{i-1}) \\ \mathbf{z}_{i-1} \end{bmatrix}

여기서 \mathbf{z}_{i-1} \in \mathbb{R}^3는 관절 i의 회전축 방향 단위 벡터를 기준 좌표계에서 표현한 것이고, \mathbf{p}_{i-1} \in \mathbb{R}^3는 좌표계 \{i-1\}의 원점 위치, \mathbf{p}_n \in \mathbb{R}^3는 말단 장치 좌표계의 원점 위치이다. 상부의 외적 항은 관절 i의 회전이 말단 장치에 유발하는 선속도를 나타내며, 하부의 \mathbf{z}_{i-1}은 유발되는 각속도를 나타낸다.

1.2 직동 관절의 기하학적 자코비안 열 벡터

i번째 관절이 직동(prismatic) 관절인 경우, 열 벡터는 다음과 같다.

\mathbf{j}_i = \begin{bmatrix} \mathbf{z}_{i-1} \\ \mathbf{0} \end{bmatrix}

직동 관절은 순수한 병진 운동만을 생성하므로 선속도 성분만 존재하고 각속도 기여는 없다.

1.3 기하학적 자코비안의 전체 구성

n 자유도 매니퓰레이터의 기하학적 자코비안은 각 관절의 열 벡터를 수평으로 배열하여 구성된다.

J_g(\mathbf{q}) = \begin{bmatrix} \mathbf{j}_1 & \mathbf{j}_2 & \cdots & \mathbf{j}_n \end{bmatrix}

이때 \mathbf{z}_{i-1}\mathbf{p}_{i-1}은 순기구학 계산의 중간 결과로부터 직접 추출할 수 있다. 기준 좌표계에서 좌표계 \{i-1\}까지의 동차 변환 행렬 T_{i-1}^0로부터 다음과 같이 얻는다.

\mathbf{z}_{i-1} = R_{i-1}^0 \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}, \quad \mathbf{p}_{i-1} = T_{i-1}^0 \begin{bmatrix} 0 \\ 0 \\ 0 \\ 1 \end{bmatrix}\bigg\vert_{1:3}

2. 해석적 자코비안의 정의

해석적 자코비안 J_a(\mathbf{q}) \in \mathbb{R}^{6 \times n}는 관절 속도 벡터를 말단 장치의 위치 벡터 시간 미분 \dot{\mathbf{p}} \in \mathbb{R}^3와 자세 매개변수의 시간 미분 \dot{\boldsymbol{\Phi}} \in \mathbb{R}^3로 사상하는 행렬이다.

\begin{bmatrix} \dot{\mathbf{p}} \\ \dot{\boldsymbol{\Phi}} \end{bmatrix} = J_a(\mathbf{q}) \, \dot{\mathbf{q}}

여기서 \boldsymbol{\Phi} = [\phi_1, \phi_2, \phi_3]^\top는 말단 장치의 자세를 나타내는 매개변수 벡터이며, 오일러 각, 롤-피치-요 각 등 다양한 자세 표현을 사용할 수 있다.

해석적 자코비안은 순기구학 함수 \mathbf{x}(\mathbf{q}) = [\mathbf{p}(\mathbf{q})^\top, \boldsymbol{\Phi}(\mathbf{q})^\top]^\top의 편미분으로 직접 계산된다.

J_a(\mathbf{q}) = \frac{\partial \mathbf{x}}{\partial \mathbf{q}} = \begin{bmatrix} \dfrac{\partial \mathbf{p}}{\partial \mathbf{q}} \\[6pt] \dfrac{\partial \boldsymbol{\Phi}}{\partial \mathbf{q}} \end{bmatrix}

3. 두 자코비안의 차이

기하학적 자코비안과 해석적 자코비안의 핵심적인 차이는 자세의 시간 변화율을 표현하는 방식에 있다.

구분기하학적 자코비안해석적 자코비안
자세 속도 표현각속도 벡터 \boldsymbol{\omega}자세 매개변수의 시간 미분 \dot{\boldsymbol{\Phi}}
물리적 의미물리적 각속도(관측 가능)수학적 매개변수 변화율
특이점기구학적 특이점에서만 랭크 감소자세 표현의 특이점에서도 랭크 감소 가능
위치 부분\mathbf{v} = \dot{\mathbf{p}}로 동일\dot{\mathbf{p}}로 동일

위치 성분에 대해서는 두 자코비안이 동일하다. 즉, J_{v}(\mathbf{q}) = \frac{\partial \mathbf{p}}{\partial \mathbf{q}}이다. 차이는 전적으로 자세 성분에서 발생한다.

4. 각속도와 자세 매개변수 시간 미분의 관계

각속도 벡터 \boldsymbol{\omega}와 자세 매개변수의 시간 미분 \dot{\boldsymbol{\Phi}}는 표현 매개변수에 의존하는 변환 행렬 T_\Phi(\boldsymbol{\Phi}) \in \mathbb{R}^{3 \times 3}에 의해 다음과 같이 관계된다.

\boldsymbol{\omega} = T_\Phi(\boldsymbol{\Phi}) \, \dot{\boldsymbol{\Phi}}

4.1 ZYZ 오일러 각의 경우

자세를 ZYZ 오일러 각 \boldsymbol{\Phi} = [\phi, \theta, \psi]^\top로 표현하면, 변환 행렬은 다음과 같다.

T_\Phi = \begin{bmatrix} 0 & -\sin\phi & \cos\phi \sin\theta \\ 0 & \cos\phi & \sin\phi \sin\theta \\ 1 & 0 & \cos\theta \end{bmatrix}

이 행렬은 \theta = 0 또는 \theta = \pi일 때 특이(singular)가 되며, 이는 ZYZ 오일러 각의 짐벌 락(gimbal lock) 현상에 대응한다.

4.2 롤-피치-요 각의 경우

자세를 롤-피치-요 각 \boldsymbol{\Phi} = [\gamma, \beta, \alpha]^\top로 표현하면, 변환 행렬은 다음과 같다.

T_\Phi = \begin{bmatrix} \cos\alpha \cos\beta & -\sin\alpha & 0 \\ \sin\alpha \cos\beta & \cos\alpha & 0 \\ -\sin\beta & 0 & 1 \end{bmatrix}

이 행렬은 \beta = \pm\pi/2일 때 특이가 된다.

5. 두 자코비안의 상호 변환

기하학적 자코비안과 해석적 자코비안은 변환 행렬 T_\Phi를 이용하여 다음과 같이 상호 변환된다.

J_g(\mathbf{q}) = T(\boldsymbol{\Phi}) \, J_a(\mathbf{q})

여기서 T(\boldsymbol{\Phi})는 블록 대각 행렬이다.

T(\boldsymbol{\Phi}) = \begin{bmatrix} I_3 & \mathbf{0} \\ \mathbf{0} & T_\Phi(\boldsymbol{\Phi}) \end{bmatrix}

따라서 해석적 자코비안은 기하학적 자코비안으로부터 다음과 같이 계산된다.

J_a(\mathbf{q}) = T^{-1}(\boldsymbol{\Phi}) \, J_g(\mathbf{q}) = \begin{bmatrix} I_3 & \mathbf{0} \\ \mathbf{0} & T_\Phi^{-1}(\boldsymbol{\Phi}) \end{bmatrix} J_g(\mathbf{q})

T_\Phi^{-1}가 존재하지 않는 형상, 즉 \det(T_\Phi) = 0인 경우에는 해석적 자코비안이 정의되지 않는다. 이 특이점은 자세 표현 방식의 수학적 한계에 기인하며, 로봇의 기구학적 특이점과는 구별하여야 한다.

6. 표현 특이점과 기구학적 특이점의 구분

기구학적 특이점(kinematic singularity)은 기하학적 자코비안의 랭크가 감소하는 형상으로서, 로봇의 물리적 구조에 의해 결정된다. 반면 표현 특이점(representation singularity)은 자세 매개변수 \boldsymbol{\Phi}의 선택에 의존하는 수학적 인공물(artifact)이다.

\text{기구학적 특이점:} \quad \text{rank}(J_g) < 6

\text{표현 특이점:} \quad \det(T_\Phi) = 0

표현 특이점에서는 T_\Phi가 비가역이 되어 해석적 자코비안이 정의되지 않지만, 기하학적 자코비안은 여전히 유효하다. 이러한 이유로 자세 표현에 쿼터니언을 사용하면 표현 특이점을 완전히 회피할 수 있다.

7. 실용적 고려 사항

7.1 기하학적 자코비안의 장점

기하학적 자코비안은 물리적 각속도를 직접 사용하므로 다음의 장점을 가진다.

  • 표현 특이점이 존재하지 않는다
  • 정역학 관계 \boldsymbol{\tau} = J_g^\top \mathbf{F}에서 작업 공간 렌치(wrench) \mathbf{F}와 직접 연결된다
  • 기구학적 구조로부터 체계적으로 유도된다

7.2 해석적 자코비안의 장점

해석적 자코비안은 다음과 같은 상황에서 유용하다.

  • 작업 공간 좌표 \mathbf{x} = [\mathbf{p}^\top, \boldsymbol{\Phi}^\top]^\top의 시간 미분과 직접 연관되므로, 작업 공간에서의 경로 추종 제어에 적합하다
  • 자세 오차를 \boldsymbol{\Phi}_d - \boldsymbol{\Phi}와 같이 벡터 감산으로 정의할 수 있어 제어 법칙의 구현이 직관적이다
  • 순기구학 함수의 편미분으로 정의되므로 수치적 계산이 용이하다

7.3 자코비안 선택 기준

응용 분야에 따른 자코비안 선택 기준을 요약하면 다음과 같다.

응용 분야권장 자코비안근거
속도 기구학 해석기하학적물리적 속도를 직접 다룸
정역학 분석기하학적렌치와의 직접 관계
작업 공간 경로 추종 제어해석적자세 오차 정의 용이
특이점 분석기하학적표현 특이점과 무관
조작성 지표 계산기하학적물리적 의미 보존

8. 참고 문헌

  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. 3rd ed. Pearson Prentice Hall.
  • Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2006). Robot Modeling and Control. John Wiley & Sons.
  • Yoshikawa, T. (1990). Foundations of Robotics: Analysis and Control. MIT Press.
  • Paul, R. P. (1981). Robot Manipulators: Mathematics, Programming, and Control. MIT Press.

v 0.1