7.44 로봇 동역학 모델의 미분 방정식 표현

7.44 로봇 동역학 모델의 미분 방정식 표현

1. 로봇 동역학 방정식의 일반 형태

n자유도 로봇 매니퓰레이터의 동역학은 다음의 2차 비선형 연립 상미분 방정식으로 표현된다.

M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}

여기서 각 항의 물리적 의미는 다음과 같다.

기호차원물리적 의미
\mathbf{q}n \times 1일반화 좌표 벡터 (관절 변위)
\dot{\mathbf{q}}n \times 1일반화 속도 벡터 (관절 속도)
\ddot{\mathbf{q}}n \times 1일반화 가속도 벡터 (관절 가속도)
M(\mathbf{q})n \times n관성 행렬 (질량 행렬)
C(\mathbf{q}, \dot{\mathbf{q}})n \times n코리올리 및 원심력 행렬
\mathbf{g}(\mathbf{q})n \times 1중력 벡터
\boldsymbol{\tau}n \times 1일반화 힘 벡터 (관절 토크/힘)

이 방정식은 뉴턴-오일러 정식화 또는 라그랑주 정식화로부터 유도되며, 두 접근법은 동일한 운동 방정식을 산출한다.

2. 관성 행렬의 성질

관성 행렬 M(\mathbf{q})는 로봇의 관성 특성을 나타내며, 다음의 중요한 성질을 갖는다.

대칭성. 관성 행렬은 항상 대칭이다.

M(\mathbf{q}) = M(\mathbf{q})^T

양정치성. 임의의 비영 벡터 \mathbf{v} \neq \mathbf{0}에 대하여 다음이 성립한다.

\mathbf{v}^T M(\mathbf{q}) \mathbf{v} > 0

이 성질은 시스템의 운동 에너지 T = \frac{1}{2}\dot{\mathbf{q}}^T M(\mathbf{q})\dot{\mathbf{q}}가 운동 상태에서 항상 양이라는 물리적 사실에 기인한다. 양정치성은 M(\mathbf{q})의 역행렬이 항상 존재함을 보장하므로, 순방향 동역학(forward dynamics)에서 가속도를 명시적으로 계산할 수 있다.

\ddot{\mathbf{q}} = M(\mathbf{q})^{-1}\left[\boldsymbol{\tau} - C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} - \mathbf{g}(\mathbf{q})\right]

형상 의존성. M(\mathbf{q})의 각 원소는 관절 변수 \mathbf{q}의 함수이며, 로봇의 현재 자세(configuration)에 따라 변화한다. 회전 관절의 경우, 관성 행렬의 원소는 관절 각도의 삼각함수로 표현된다.

3. 코리올리 및 원심력 항

3.1 크리스토펠 기호를 이용한 정의

코리올리 및 원심력 행렬 C(\mathbf{q}, \dot{\mathbf{q}})(i, j) 원소는 크리스토펠 기호(Christoffel symbol of the first kind)를 이용하여 다음과 같이 정의된다.

c_{ij} = \sum_{k=1}^{n} c_{ijk} \dot{q}_k

여기서 크리스토펠 기호 c_{ijk}는 관성 행렬의 원소로부터 다음과 같이 계산된다.

c_{ijk} = \frac{1}{2}\left(\frac{\partial m_{ij}}{\partial q_k} + \frac{\partial m_{ik}}{\partial q_j} - \frac{\partial m_{jk}}{\partial q_i}\right)

m_{ij}는 관성 행렬 M(\mathbf{q})(i, j) 원소이다.

3.2 반대칭 성질

C(\mathbf{q}, \dot{\mathbf{q}})를 크리스토펠 기호로 정의하면, 행렬 \dot{M}(\mathbf{q}) - 2C(\mathbf{q}, \dot{\mathbf{q}})는 반대칭(skew-symmetric)이 된다.

\mathbf{v}^T \left[\dot{M}(\mathbf{q}) - 2C(\mathbf{q}, \dot{\mathbf{q}})\right]\mathbf{v} = 0, \quad \forall \mathbf{v} \in \mathbb{R}^n

이 성질은 에너지 보존 법칙의 수학적 표현이며, 로봇 제어기의 수동성(passivity) 기반 안정성 증명에 핵심적으로 활용된다.

3.3 속도 곱 벡터 표현

코리올리 및 원심력 항은 행렬-벡터 곱 C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} 대신 속도 곱 벡터(velocity product vector) \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}})로 직접 표현하기도 한다.

M(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}

여기서 \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}) = C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}}이다. 이 표현은 코리올리 행렬 C의 비유일성 문제를 회피하면서도 동역학 방정식을 정확히 기술한다.

4. 중력 벡터

중력 벡터 \mathbf{g}(\mathbf{q})i번째 성분은 포텐셜 에너지 U(\mathbf{q})로부터 다음과 같이 유도된다.

g_i(\mathbf{q}) = \frac{\partial U}{\partial q_i}

전체 포텐셜 에너지는 각 링크의 질량 중심 위치에 의해 결정된다.

U(\mathbf{q}) = -\sum_{j=1}^{n} m_j \mathbf{g}_0^T \mathbf{p}_{c_j}(\mathbf{q})

여기서 m_jj번째 링크의 질량, \mathbf{g}_0는 중력 가속도 벡터, \mathbf{p}_{c_j}(\mathbf{q})j번째 링크의 질량 중심 위치 벡터이다.

5. 마찰력과 외란의 포함

실제 로봇 시스템에서는 관절 마찰력과 외부 외란을 포함하여야 한다. 확장된 동역학 방정식은 다음과 같다.

M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) + \mathbf{f}(\dot{\mathbf{q}}) = \boldsymbol{\tau} + \boldsymbol{\tau}_{ext}

여기서 \mathbf{f}(\dot{\mathbf{q}})는 마찰력 벡터이고, \boldsymbol{\tau}_{ext}는 외부 힘/토크 벡터이다.

5.1 마찰 모델

관절 마찰은 일반적으로 점성 마찰(viscous friction)과 쿨롱 마찰(Coulomb friction)의 조합으로 모델링한다. i번째 관절의 마찰력은 다음과 같다.

f_i(\dot{q}_i) = f_{v,i}\dot{q}_i + f_{c,i}\text{sgn}(\dot{q}_i)

여기서 f_{v,i}는 점성 마찰 계수, f_{c,i}는 쿨롱 마찰 계수, \text{sgn}(\cdot)은 부호 함수이다.

쿨롱 마찰의 부호 함수는 \dot{q}_i = 0 근방에서 불연속이므로, 수치 시뮬레이션에서는 다음과 같은 연속 근사를 사용하는 경우가 많다.

\text{sgn}(\dot{q}_i) \approx \tanh\left(\frac{\dot{q}_i}{\epsilon}\right)

여기서 \epsilon > 0은 충분히 작은 양의 상수이다.

6. 상태 공간 형태로의 변환

6.1 차 연립 방정식으로의 변환

동역학 방정식을 수치적으로 풀거나 제어기를 설계하기 위하여 2차 방정식을 1차 연립 방정식으로 변환한다. 상태 벡터를 \mathbf{x} = [\mathbf{q}^T, \dot{\mathbf{q}}^T]^T \in \mathbb{R}^{2n}으로 정의하면 다음과 같다.

\dot{\mathbf{x}} = \begin{bmatrix} \dot{\mathbf{q}} \\ M(\mathbf{q})^{-1}\left[\boldsymbol{\tau} - C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} - \mathbf{g}(\mathbf{q}) - \mathbf{f}(\dot{\mathbf{q}})\right] \end{bmatrix} = \mathbf{f}(\mathbf{x}, \mathbf{u})

여기서 입력 \mathbf{u} = \boldsymbol{\tau}이다. 이 형태는 비선형 상태 방정식 \dot{\mathbf{x}} = \mathbf{f}(\mathbf{x}, \mathbf{u})에 해당하며, 수치 적분법을 직접 적용할 수 있다.

6.2 순방향 동역학과 역방향 동역학

동역학 방정식은 그 활용 목적에 따라 두 가지 형태로 구분된다.

순방향 동역학(forward dynamics): 주어진 토크 \boldsymbol{\tau}로부터 가속도 \ddot{\mathbf{q}}를 계산한다.

\ddot{\mathbf{q}} = M(\mathbf{q})^{-1}\left[\boldsymbol{\tau} - C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} - \mathbf{g}(\mathbf{q})\right]

이 계산은 시뮬레이션에서 사용되며, 관성 행렬의 역행렬 계산 또는 이와 동등한 선형 시스템 M(\mathbf{q})\ddot{\mathbf{q}} = \boldsymbol{\tau} - C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} - \mathbf{g}(\mathbf{q})의 풀이를 필요로 한다. 일반적으로 관성 행렬의 명시적 역행렬 계산보다 촐레스키 분해(Cholesky decomposition)를 이용한 선형 시스템 풀이가 수치적으로 더 효율적이고 안정적이다.

역방향 동역학(inverse dynamics): 원하는 궤적 (\mathbf{q}, \dot{\mathbf{q}}, \ddot{\mathbf{q}})로부터 필요한 토크 \boldsymbol{\tau}를 계산한다.

\boldsymbol{\tau} = M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q})

역방향 동역학은 역행렬 계산이 불필요하며, 재귀 뉴턴-오일러 알고리즘(recursive Newton-Euler algorithm, RNEA)을 통해 O(n) 복잡도로 효율적으로 계산할 수 있다. 이는 계산 토크 제어(computed torque control) 및 궤적 추종 제어에 활용된다.

7. 단일 자유도 시스템의 미분 방정식

7.1 단순 관절 모델

단일 회전 관절의 운동 방정식은 가장 기본적인 형태의 로봇 동역학 미분 방정식이다.

J\ddot{\theta} + b\dot{\theta} + mgl\sin\theta = \tau(t)

여기서 J는 관절 축에 대한 관성 모멘트, b는 점성 마찰 계수, m은 링크 질량, g는 중력 가속도, l은 관절 축에서 질량 중심까지의 거리, \theta는 관절 각도이다. \sin\theta 항의 존재로 인하여 이 방정식은 비선형이다.

7.2 선형 근사

소각 근사(small angle approximation) \sin\theta \approx \theta를 적용하면 선형 2차 비동차 상미분 방정식을 얻는다.

J\ddot{\theta} + b\dot{\theta} + mgl\theta = \tau(t)

이를 표준 형태로 정리하면 다음과 같다.

\ddot{\theta} + 2\zeta\omega_n\dot{\theta} + \omega_n^2\theta = \frac{\tau(t)}{J}

여기서 고유 진동수 \omega_n = \sqrt{mgl/J}이고 감쇠비 \zeta = b/(2\sqrt{mglJ})이다. 이 매개변수화는 시스템의 과도 응답 특성을 직관적으로 파악할 수 있게 한다.

8. 다자유도 시스템의 결합 효과

다자유도 로봇에서 관성 행렬 M(\mathbf{q})의 비대각 원소는 관절 간 관성 결합(inertial coupling)을 나타낸다. m_{ij}(\mathbf{q}) (i \neq j)가 영이 아니면, j번째 관절의 가속도가 i번째 관절의 운동에 영향을 미친다. 마찬가지로 코리올리 항은 한 관절의 운동이 다른 관절에 미치는 속도 의존적 힘을 나타낸다.

2자유도 평면 로봇의 동역학 방정식을 예로 들면 다음과 같다.

\begin{bmatrix} m_{11}(\mathbf{q}) & m_{12}(\mathbf{q}) \\ m_{21}(\mathbf{q}) & m_{22}(\mathbf{q}) \end{bmatrix} \begin{bmatrix} \ddot{q}_1 \\ \ddot{q}_2 \end{bmatrix} + \begin{bmatrix} c_{11} & c_{12} \\ c_{21} & c_{22} \end{bmatrix} \begin{bmatrix} \dot{q}_1 \\ \dot{q}_2 \end{bmatrix} + \begin{bmatrix} g_1(\mathbf{q}) \\ g_2(\mathbf{q}) \end{bmatrix} = \begin{bmatrix} \tau_1 \\ \tau_2 \end{bmatrix}

비대각 원소 m_{12} = m_{21}이 관절 간 관성 결합의 강도를 결정하며, 이 값은 두 번째 링크의 자세에 따라 변화한다. 이러한 결합 효과를 무시하면 제어 성능이 저하되므로, 정밀 제어에서는 전체 동역학 모델을 반드시 고려하여야 한다.

9. 구동기 동역학의 포함

9.1 관절 탄성 모델

구동기와 링크 사이에 유한한 강성을 갖는 감속기가 존재하는 경우, 관절 탄성(joint flexibility)을 고려한 동역학 모델이 필요하다. 이를 유연 관절 모델(flexible joint model)이라 하며, Spong(1987)이 제안한 단순화 모델은 다음과 같다.

M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = K(\boldsymbol{\theta}_m - \mathbf{q})

J_m\ddot{\boldsymbol{\theta}}_m + B_m\dot{\boldsymbol{\theta}}_m + K(\boldsymbol{\theta}_m - \mathbf{q}) = \boldsymbol{\tau}_m

여기서 \boldsymbol{\theta}_m은 모터 측 각도, J_m은 모터 관성, B_m은 모터 측 감쇠, K는 관절 강성 행렬, \boldsymbol{\tau}_m은 모터 토크이다. 이 시스템은 4n차 상태 공간을 가지며, 상태 벡터는 \mathbf{x} = [\mathbf{q}^T, \dot{\mathbf{q}}^T, \boldsymbol{\theta}_m^T, \dot{\boldsymbol{\theta}}_m^T]^T이다.

9.2 감속비의 반영

감속기의 감속비(gear ratio) r을 고려하면, 모터 측에서 본 실효 관성은 r^2 J_m이 되며 이를 반영 관성(reflected inertia)이라 한다. 고감속비 시스템에서는 반영 관성이 링크 관성보다 지배적이 될 수 있으며, 이 경우 관성 행렬의 비대각 원소가 상대적으로 작아져 관절 간 결합이 약화된다.

10. 에너지 관점에서의 해석

10.1 운동 에너지와 포텐셜 에너지

로봇 시스템의 총 에너지는 운동 에너지와 포텐셜 에너지의 합이다.

E = T + U = \frac{1}{2}\dot{\mathbf{q}}^T M(\mathbf{q})\dot{\mathbf{q}} + U(\mathbf{q})

에너지의 시간 변화율은 다음과 같다.

\dot{E} = \dot{\mathbf{q}}^T\boldsymbol{\tau} - \dot{\mathbf{q}}^T\mathbf{f}(\dot{\mathbf{q}})

이 관계에서 \dot{M} - 2C의 반대칭성이 사용되었다. 마찰이 없는 보존계(\mathbf{f} = \mathbf{0})에서 외부 토크가 영이면 총 에너지가 보존되며, 마찰이 존재하면 에너지가 산일(dissipation)된다. 이 에너지 관계는 리아푸노프 안정성 해석의 토대가 된다.

11. 요약

로봇 동역학 모델의 미분 방정식 표현은 관성 행렬, 코리올리 및 원심력 행렬, 중력 벡터의 세 가지 핵심 성분으로 구성된다. 관성 행렬의 양정치 대칭성, 코리올리 행렬과의 반대칭 관계, 에너지 보존 구조는 제어기 설계와 안정성 해석의 이론적 기반이 된다. 2차 미분 방정식을 1차 연립 방정식으로 변환하여 상태 공간 형태를 얻으며, 이를 통해 수치 시뮬레이션과 현대 제어 이론의 적용이 가능해진다. 실제 시스템에서는 마찰, 구동기 동역학, 관절 탄성 등을 추가로 고려하여야 하며, 이는 상태 공간의 차원을 증가시킨다.


참고 문헌

  • 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.
  • Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2006). Robot Modeling and Control. Wiley.
  • Spong, M. W. (1987). “Modeling and Control of Elastic Joint Robots.” Journal of Dynamic Systems, Measurement, and Control, 109(4), 310–319.
  • Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
  • Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.

version: 0.1.0