6.84 자코비안 행렬의 수학적 정의

자코비안 행렬(Jacobian matrix)은 다변수 벡터 함수의 1차 편미분 계수를 체계적으로 배열한 행렬로서, 관절 공간과 작업 공간 사이의 미분적 관계를 기술하는 로봇 공학의 핵심 수학적 도구이다. 본 절에서는 자코비안 행렬의 일반적인 수학적 정의를 엄밀하게 제시하고, 이를 로봇 매니퓰레이터의 기구학적 맥락에서 해석한다.

1. 다변수 벡터 함수의 자코비안

\mathbb{R}^n에서 \mathbb{R}^m으로의 미분 가능한 벡터 함수 \mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m이 다음과 같이 정의된다고 하자.

\mathbf{f}(\mathbf{x}) = \begin{bmatrix} f_1(x_1, x_2, \dots, x_n) \\ f_2(x_1, x_2, \dots, x_n) \\ \vdots \\ f_m(x_1, x_2, \dots, x_n) \end{bmatrix}

이 벡터 함수의 자코비안 행렬 J(\mathbf{x}) \in \mathbb{R}^{m \times n}는 각 출력 성분 f_i를 각 입력 변수 x_j로 편미분한 결과를 배열한 행렬로 정의된다.

J(\mathbf{x}) = \frac{\partial \mathbf{f}}{\partial \mathbf{x}} = \begin{bmatrix} \dfrac{\partial f_1}{\partial x_1} & \dfrac{\partial f_1}{\partial x_2} & \cdots & \dfrac{\partial f_1}{\partial x_n} \\[8pt] \dfrac{\partial f_2}{\partial x_1} & \dfrac{\partial f_2}{\partial x_2} & \cdots & \dfrac{\partial f_2}{\partial x_n} \\[8pt] \vdots & \vdots & \ddots & \vdots \\[8pt] \dfrac{\partial f_m}{\partial x_1} & \dfrac{\partial f_m}{\partial x_2} & \cdots & \dfrac{\partial f_m}{\partial x_n} \end{bmatrix}

자코비안 행렬의 (i, j) 성분은 다음과 같이 표기한다.

J_{ij}(\mathbf{x}) = \frac{\partial f_i}{\partial x_j}

2. 선형 근사로서의 자코비안

자코비안 행렬은 벡터 함수 \mathbf{f}의 점 \mathbf{x}_0 부근에서의 최적 선형 근사(best linear approximation)를 제공한다. 테일러 전개에 의하면 다음의 관계가 성립한다.

\mathbf{f}(\mathbf{x}_0 + \delta\mathbf{x}) \approx \mathbf{f}(\mathbf{x}_0) + J(\mathbf{x}_0) \, \delta\mathbf{x}

여기서 \delta\mathbf{x} \in \mathbb{R}^n는 미소 변위 벡터이다. 이 관계는 \|\delta\mathbf{x}\| \to 0일 때 정확하며, 비선형 함수를 국소적으로 선형화하는 기본 원리이다.

미분 형식으로 표현하면 다음과 같다.

d\mathbf{f} = J(\mathbf{x}) \, d\mathbf{x}

또한 시간에 대한 미분으로 표현하면 입력과 출력의 속도 관계를 얻는다.

\dot{\mathbf{f}} = J(\mathbf{x}) \, \dot{\mathbf{x}}

3. 로봇 매니퓰레이터의 자코비안

n 자유도 로봇 매니퓰레이터의 순기구학(forward kinematics)을 관절 변수 \mathbf{q} = [q_1, q_2, \dots, q_n]^\top에서 작업 공간 변수 \mathbf{x} \in \mathbb{R}^m으로의 사상으로 표현하면 다음과 같다.

\mathbf{x} = \mathbf{f}(\mathbf{q})

이 순기구학 함수의 자코비안 행렬은 다음과 같이 정의된다.

J(\mathbf{q}) = \frac{\partial \mathbf{f}}{\partial \mathbf{q}} = \begin{bmatrix} \dfrac{\partial f_1}{\partial q_1} & \dfrac{\partial f_1}{\partial q_2} & \cdots & \dfrac{\partial f_1}{\partial q_n} \\[8pt] \dfrac{\partial f_2}{\partial q_1} & \dfrac{\partial f_2}{\partial q_2} & \cdots & \dfrac{\partial f_2}{\partial q_n} \\[8pt] \vdots & \vdots & \ddots & \vdots \\[8pt] \dfrac{\partial f_m}{\partial q_1} & \dfrac{\partial f_m}{\partial q_2} & \cdots & \dfrac{\partial f_m}{\partial q_n} \end{bmatrix} \in \mathbb{R}^{m \times n}

3차원 공간에서 말단 장치의 위치와 자세를 모두 고려하면 작업 공간은 6차원(m = 6)이므로, 자코비안 행렬의 크기는 6 \times n이 된다.

4. 관절 속도와 작업 공간 속도의 관계

자코비안 행렬을 통해 관절 공간에서의 속도 벡터 \dot{\mathbf{q}} \in \mathbb{R}^n와 작업 공간에서의 속도 벡터 \dot{\mathbf{x}} \in \mathbb{R}^m 사이의 선형 사상을 얻는다.

\dot{\mathbf{x}} = J(\mathbf{q}) \, \dot{\mathbf{q}}

말단 장치의 작업 공간 속도 벡터를 선속도 \mathbf{v} \in \mathbb{R}^3와 각속도 \boldsymbol{\omega} \in \mathbb{R}^3로 분해하면 다음과 같이 표현된다.

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

이에 따라 자코비안 행렬은 상부와 하부의 두 블록으로 분할할 수 있다.

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

여기서 J_v(\mathbf{q}) \in \mathbb{R}^{3 \times n}는 선속도 자코비안, J_\omega(\mathbf{q}) \in \mathbb{R}^{3 \times n}는 각속도 자코비안이다.

5. 자코비안의 형태적 특성

자코비안 행렬의 크기 m \times n에 따라 다음과 같은 세 가지 경우가 구분된다.

조건명칭의미
m = n정방 자코비안(square Jacobian)관절 공간과 작업 공간의 차원이 동일
m < n과소결정(underdetermined) 자코비안여유 자유도(redundant) 시스템
m > n과결정(overdetermined) 자코비안작업 요구가 관절 수보다 많은 경우

정방 자코비안의 경우, \det(J) \neq 0이면 역행렬 J^{-1}이 존재하여 다음의 역관계를 얻는다.

\dot{\mathbf{q}} = J^{-1}(\mathbf{q}) \, \dot{\mathbf{x}}

비정방 자코비안의 경우에는 의사 역행렬(pseudoinverse)을 사용하여야 한다.

6. 자코비안의 형상 의존성

자코비안 행렬은 관절 변수 \mathbf{q}의 함수이므로 로봇의 형상(configuration)에 따라 변화한다. 이는 자코비안이 특정 형상에서만 유효한 국소적(local) 성질을 가짐을 의미한다. 특정 형상 \mathbf{q}^*에서 자코비안의 랭크가 감소하면 해당 형상을 특이 형상(singular configuration)이라 하며, 이때 말단 장치는 특정 방향으로의 속도 생성 능력을 상실한다.

\text{rank}(J(\mathbf{q}^*)) < \min(m, n)

7. 자코비안의 열 벡터 구조

자코비안 행렬을 열 벡터로 분해하면 각 관절의 기여도를 독립적으로 분석할 수 있다.

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

여기서 \mathbf{j}_i \in \mathbb{R}^mi번째 관절만이 단위 속도로 운동할 때 말단 장치에 유발되는 작업 공간 속도 벡터이다.

\mathbf{j}_i = \frac{\partial \mathbf{f}}{\partial q_i}

따라서 작업 공간 속도는 각 열 벡터의 가중합으로 표현된다.

\dot{\mathbf{x}} = \sum_{i=1}^{n} \mathbf{j}_i \, \dot{q}_i

8. 수치적 자코비안 계산

해석적(analytical) 편미분이 복잡하거나 불가능한 경우, 유한 차분법(finite difference method)을 이용하여 자코비안을 수치적으로 근사할 수 있다. 전방 차분(forward difference)을 사용하면 다음과 같다.

J_{ij} \approx \frac{f_i(\mathbf{q} + \Delta q_j \, \mathbf{e}_j) - f_i(\mathbf{q})}{\Delta q_j}

여기서 \mathbf{e}_jj번째 표준 기저 벡터, \Delta q_j는 충분히 작은 섭동량이다. 보다 정확한 근사를 위해 중앙 차분(central difference)을 사용하기도 한다.

J_{ij} \approx \frac{f_i(\mathbf{q} + \Delta q_j \, \mathbf{e}_j) - f_i(\mathbf{q} - \Delta q_j \, \mathbf{e}_j)}{2 \Delta q_j}

수치적 자코비안은 O(n) 또는 O(2n)회의 순기구학 평가를 필요로 하므로, 실시간 제어에서는 해석적 자코비안이 선호된다.

9. 자코비안 행렬의 기본 성질

자코비안 행렬은 다음의 기본적인 수학적 성질을 가진다.

  1. 연쇄 법칙(chain rule): 합성 함수 \mathbf{g} \circ \mathbf{f}의 자코비안은 각 자코비안의 곱으로 표현된다.

J_{\mathbf{g} \circ \mathbf{f}}(\mathbf{x}) = J_{\mathbf{g}}(\mathbf{f}(\mathbf{x})) \, J_{\mathbf{f}}(\mathbf{x})

  1. 곱의 법칙(product rule): 자코비안의 시간 미분은 다음과 같이 전개된다.

\ddot{\mathbf{x}} = \dot{J}(\mathbf{q}) \, \dot{\mathbf{q}} + J(\mathbf{q}) \, \ddot{\mathbf{q}}

  1. 변환 법칙: 좌표계를 변환하면 자코비안도 그에 따라 변환된다. 기준 좌표계 \{A\}에서의 자코비안 {}^AJ를 좌표계 \{B\}에서 표현하면 다음과 같다.

{}^BJ = \begin{bmatrix} R_A^B & \mathbf{0} \\ \mathbf{0} & R_A^B \end{bmatrix} {}^AJ

여기서 R_A^B\{A\}에서 \{B\}로의 회전 행렬이다.


10. 참고 문헌

  • Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. 3rd ed. Pearson Prentice Hall.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2006). Robot Modeling and Control. John Wiley & Sons.
  • Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
  • Yoshikawa, T. (1990). Foundations of Robotics: Analysis and Control. MIT Press.

v 0.1