7.10 전미분과 선형 근사
1. 전미분의 정의
1.1 스칼라 함수의 전미분
다변수 함수 f(x_1, x_2, \ldots, x_n)에서 모든 독립 변수가 동시에 변할 때의 함수값 변화를 나타내는 것이 전미분(total differential)이다.
f가 점 \mathbf{a}에서 전미분 가능(totally differentiable)하면, 함수값의 변화량 \Delta f는 다음과 같이 표현된다.
\Delta f = f(\mathbf{a} + \Delta\mathbf{x}) - f(\mathbf{a}) = \sum_{i=1}^{n} \frac{\partial f}{\partial x_i}(\mathbf{a})\Delta x_i + o(\lVert \Delta\mathbf{x} \rVert)
여기서 o(\lVert \Delta\mathbf{x} \rVert)는 \lVert \Delta\mathbf{x} \rVert \to 0일 때 \lVert \Delta\mathbf{x} \rVert보다 빠르게 0으로 가는 항이다. 1차 근사의 선형 부분을 전미분이라 정의한다.
df = \sum_{i=1}^{n} \frac{\partial f}{\partial x_i} dx_i = \nabla f \cdot d\mathbf{x}
벡터 표기로:
df = \nabla f(\mathbf{a})^\top d\mathbf{x}
1.2 변수 함수의 경우
z = f(x, y)에 대한 전미분은:
dz = \frac{\partial f}{\partial x}dx + \frac{\partial f}{\partial y}dy
이는 함수 f의 변화량을 각 변수 방향의 변화량으로 분해한 것이다.
1.3 전미분 가능성 (프레셰 미분 가능성)
f: \mathbb{R}^n \to \mathbb{R}가 점 \mathbf{a}에서 전미분 가능하다 함은, 선형 사상 L: \mathbb{R}^n \to \mathbb{R}이 존재하여 다음이 성립하는 것이다.
\lim_{\mathbf{h} \to \mathbf{0}} \frac{f(\mathbf{a} + \mathbf{h}) - f(\mathbf{a}) - L(\mathbf{h})}{\lVert \mathbf{h} \rVert} = 0
이때 L을 f의 점 \mathbf{a}에서의 전도함수(total derivative) 또는 프레셰 도함수(Frechet derivative)라 한다. 전미분 가능하면 L(\mathbf{h}) = \nabla f(\mathbf{a})^\top \mathbf{h}이다.
1.4 전미분 가능성의 함의
전미분 가능성은 편미분 가능성보다 강한 조건이며, 다음의 포함 관계가 성립한다.
\text{편도함수 연속} \implies \text{전미분 가능} \implies \begin{cases} \text{연속} \\ \text{모든 방향 도함수 존재} \\ \text{모든 편도함수 존재} \end{cases}
역방향은 일반적으로 성립하지 않는다.
충분 조건: 편도함수가 모두 존재하고 점 \mathbf{a}의 근방에서 연속이면 (f \in C^1), f는 \mathbf{a}에서 전미분 가능하다.
2. 벡터값 함수의 전미분
2.1 정의
벡터값 함수 \mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m이 점 \mathbf{a}에서 전미분 가능하면, 선형 사상 \mathbf{L}: \mathbb{R}^n \to \mathbb{R}^m이 존재하여:
\lim_{\mathbf{h} \to \mathbf{0}} \frac{\lVert \mathbf{f}(\mathbf{a} + \mathbf{h}) - \mathbf{f}(\mathbf{a}) - \mathbf{L}\mathbf{h} \rVert}{\lVert \mathbf{h} \rVert} = 0
이때 \mathbf{L}은 자코비안 행렬 \mathbf{J}_{\mathbf{f}}(\mathbf{a})이며:
d\mathbf{f} = \mathbf{J}_{\mathbf{f}}(\mathbf{a})\,d\mathbf{x}
성분으로 표현하면:
\begin{bmatrix} df_1 \\ df_2 \\ \vdots \\ df_m \end{bmatrix} = \begin{bmatrix} \frac{\partial f_1}{\partial x_1} & \cdots & \frac{\partial f_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_m}{\partial x_1} & \cdots & \frac{\partial f_m}{\partial x_n} \end{bmatrix} \begin{bmatrix} dx_1 \\ dx_2 \\ \vdots \\ dx_n \end{bmatrix}
3. 시간에 대한 전미분
3.1 전도함수와 편도함수의 관계
f(\mathbf{q}(t))에서 \mathbf{q}(t)가 시간의 함수일 때, 시간에 대한 전미분(total time derivative)은 다변수 연쇄 법칙에 의해:
\frac{df}{dt} = \sum_{i=1}^{n}\frac{\partial f}{\partial q_i}\dot{q}_i = \nabla f \cdot \dot{\mathbf{q}}
f가 시간 t에도 명시적으로 의존하는 경우 f(\mathbf{q}(t), t):
\frac{df}{dt} = \sum_{i=1}^{n}\frac{\partial f}{\partial q_i}\dot{q}_i + \frac{\partial f}{\partial t}
마지막 항 \frac{\partial f}{\partial t}는 \mathbf{q}가 변하지 않더라도 시간 자체에 의한 변화를 나타내며, 이를 국소 도함수(local derivative)라 한다.
3.2 로봇공학에서의 전미분
자코비안을 이용한 말단장치 속도 공식 \dot{\mathbf{x}} = \mathbf{J}(\mathbf{q})\dot{\mathbf{q}}는 순기구학 함수 \mathbf{x} = f(\mathbf{q})의 전미분에 해당한다. 이 관계는 미소 변위에 대해서도 성립한다.
\delta\mathbf{x} = \mathbf{J}(\mathbf{q})\,\delta\mathbf{q}
여기서 \delta\mathbf{x}와 \delta\mathbf{q}는 각각 작업 공간과 관절 공간에서의 미소 변위(virtual displacement)이다.
4. 선형 근사
4.1 차 테일러 근사 (접평면 근사)
전미분 가능한 함수 f(\mathbf{x})의 점 \mathbf{a} 주위에서의 선형 근사(linear approximation)는:
f(\mathbf{x}) \approx f(\mathbf{a}) + \nabla f(\mathbf{a})^\top(\mathbf{x} - \mathbf{a})
이를 접선형 근사(tangent linear approximation) 또는 1차 테일러 근사라 한다. 2변수 함수의 경우 이는 점 (a, b, f(a,b))에서의 접평면(tangent plane)의 방정식에 해당한다.
z \approx f(a, b) + f_x(a, b)(x - a) + f_y(a, b)(y - b)
4.2 근사 오차
선형 근사의 오차는 \lVert \mathbf{x} - \mathbf{a} \rVert의 2차 이상 항이다.
f(\mathbf{x}) - [f(\mathbf{a}) + \nabla f(\mathbf{a})^\top(\mathbf{x} - \mathbf{a})] = \mathcal{O}(\lVert \mathbf{x} - \mathbf{a} \rVert^2)
2차 테일러 전개를 사용하면 오차를 더 정밀하게 추정할 수 있다. 평균값 정리의 다변수 버전에 의해:
\lvert f(\mathbf{x}) - f(\mathbf{a}) - \nabla f(\mathbf{a})^\top(\mathbf{x} - \mathbf{a}) \rvert \leq \frac{1}{2}M\lVert \mathbf{x} - \mathbf{a} \rVert^2
여기서 M = \sup_{\boldsymbol{\xi}} \lVert \mathbf{H}(\boldsymbol{\xi}) \rVert은 연결 선분 위에서의 헤시안 노름의 상한이다.
4.3 벡터값 함수의 선형 근사
\mathbf{f}: \mathbb{R}^n \to \mathbb{R}^m의 선형 근사는:
\mathbf{f}(\mathbf{x}) \approx \mathbf{f}(\mathbf{a}) + \mathbf{J}_{\mathbf{f}}(\mathbf{a})(\mathbf{x} - \mathbf{a})
5. 로봇공학에서의 응용
5.1 비선형 시스템의 선형화
비선형 상태 방정식 \dot{\mathbf{x}} = \mathbf{g}(\mathbf{x}, \mathbf{u})를 평형점 (\mathbf{x}_0, \mathbf{u}_0) 주위에서 선형화하면:
\delta\dot{\mathbf{x}} = \mathbf{A}\,\delta\mathbf{x} + \mathbf{B}\,\delta\mathbf{u}
여기서:
\mathbf{A} = \frac{\partial \mathbf{g}}{\partial \mathbf{x}}\bigg\vert_{(\mathbf{x}_0, \mathbf{u}_0)}, \qquad \mathbf{B} = \frac{\partial \mathbf{g}}{\partial \mathbf{u}}\bigg\vert_{(\mathbf{x}_0, \mathbf{u}_0)}
이 선형화된 시스템에 대해 LQR(Linear Quadratic Regulator), 극배치법 등의 선형 제어 기법을 적용할 수 있다.
예제: 단진자 로봇 ml^2\ddot{\theta} + mgl\sin\theta = \tau를 \theta_0 = 0 주위에서 선형화
\sin\theta \approx \theta로 근사하면:
ml^2\ddot{\theta} + mgl\theta = \tau
상태 변수 \mathbf{x} = [\theta, \dot{\theta}]^\top, 입력 u = \tau로 놓으면:
\dot{\mathbf{x}} = \begin{bmatrix} 0 & 1 \\ -g/l & 0 \end{bmatrix}\mathbf{x} + \begin{bmatrix} 0 \\ 1/(ml^2) \end{bmatrix}u
5.2 역기구학의 미분 해법
원하는 말단장치 위치 \mathbf{x}_d에서 현재 위치 \mathbf{x} = f(\mathbf{q})까지의 오차 \Delta\mathbf{x} = \mathbf{x}_d - f(\mathbf{q})가 작을 때, 선형 근사에 의해:
\Delta\mathbf{x} \approx \mathbf{J}(\mathbf{q})\Delta\mathbf{q}
따라서 관절 변수의 보정량은:
\Delta\mathbf{q} = \mathbf{J}^{-1}(\mathbf{q})\Delta\mathbf{x} \quad \text{(정방 경우)}
\Delta\mathbf{q} = \mathbf{J}^\dagger(\mathbf{q})\Delta\mathbf{x} \quad \text{(일반 경우)}
이를 반복 적용하는 것이 미분 역기구학(differential inverse kinematics) 알고리즘이다.
\mathbf{q}_{k+1} = \mathbf{q}_k + \mathbf{J}^\dagger(\mathbf{q}_k)(\mathbf{x}_d - f(\mathbf{q}_k))
5.3 오차 전파 (Error Propagation)
관절 변수에 미소 오차 \delta\mathbf{q}가 있을 때, 말단장치 위치의 오차는 선형 근사에 의해:
\delta\mathbf{x} \approx \mathbf{J}(\mathbf{q})\,\delta\mathbf{q}
관절 오차가 공분산 행렬 \boldsymbol{\Sigma}_q = E[\delta\mathbf{q}\,\delta\mathbf{q}^\top]로 특성화되면, 말단장치 위치 오차의 공분산은:
\boldsymbol{\Sigma}_x = \mathbf{J}\boldsymbol{\Sigma}_q\mathbf{J}^\top
이 공식은 로봇의 위치 정확도 분석과 캘리브레이션에서 핵심적으로 사용된다.
5.4 힘-토크 관계
가상 일의 원리에 의해, 말단장치에 가해지는 힘 \mathbf{F}와 관절 토크 \boldsymbol{\tau} 사이의 관계는 전미분을 통해 유도된다.
\delta W = \mathbf{F}^\top \delta\mathbf{x} = \mathbf{F}^\top \mathbf{J}\,\delta\mathbf{q} = \boldsymbol{\tau}^\top \delta\mathbf{q}
모든 가상 변위 \delta\mathbf{q}에 대해 성립하므로:
\boldsymbol{\tau} = \mathbf{J}^\top \mathbf{F}
이 관계는 자코비안의 전치 행렬이 힘의 변환에 사용됨을 보여주며, 속도 변환 \dot{\mathbf{x}} = \mathbf{J}\dot{\mathbf{q}}의 쌍대(dual) 관계이다.
6. 차 근사와 비교
선형 근사가 충분히 정확하지 않은 경우, 2차 근사를 사용한다.
f(\mathbf{x}) \approx f(\mathbf{a}) + \nabla f(\mathbf{a})^\top(\mathbf{x} - \mathbf{a}) + \frac{1}{2}(\mathbf{x} - \mathbf{a})^\top \mathbf{H}(\mathbf{a})(\mathbf{x} - \mathbf{a})
| 근사 차수 | 필요한 정보 | 정확도 | 계산 비용 |
|---|---|---|---|
| 0차 (상수) | f(\mathbf{a}) | \mathcal{O}(\lVert\Delta\mathbf{x}\rVert) | O(1) |
| 1차 (선형) | f(\mathbf{a}), \nabla f(\mathbf{a}) | \mathcal{O}(\lVert\Delta\mathbf{x}\rVert^2) | O(n) |
| 2차 (이차) | f(\mathbf{a}), \nabla f(\mathbf{a}), \mathbf{H}(\mathbf{a}) | \mathcal{O}(\lVert\Delta\mathbf{x}\rVert^3) | O(n^2) |
로봇공학에서는 대부분의 경우 1차 선형 근사(자코비안 기반)로 충분하며, 뉴턴법 등 빠른 수렴이 필요한 경우에만 2차 근사를 사용한다.
참고 문헌
- Apostol, T. M. (1974). Mathematical Analysis. 2nd ed. Addison-Wesley.
- Marsden, J. E., & Tromba, A. J. (2003). Vector Calculus. 5th ed. W. H. Freeman.
- Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control. 3rd ed. Pearson.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
v 0.1