7.70 다자유도 시스템의 오일러-라그랑주 방정식
1. 다자유도 시스템의 라그랑지안
n자유도 역학 시스템의 라그랑지안은 일반화 좌표 벡터 \mathbf{q} \in \mathbb{R}^n과 일반화 속도 벡터 \dot{\mathbf{q}} \in \mathbb{R}^n의 함수이다.
\mathcal{L}(\mathbf{q}, \dot{\mathbf{q}}) = T(\mathbf{q}, \dot{\mathbf{q}}) - U(\mathbf{q}) = \frac{1}{2}\dot{\mathbf{q}}^T M(\mathbf{q})\dot{\mathbf{q}} - U(\mathbf{q})
2. 오일러-라그랑주 방정식의 행렬 형태
2.1 편도함수의 계산
라그랑지안의 일반화 속도에 대한 편도함수는 다음과 같다.
\frac{\partial\mathcal{L}}{\partial\dot{\mathbf{q}}} = M(\mathbf{q})\dot{\mathbf{q}}
이의 시간 도함수는 다음과 같다.
\frac{d}{dt}\frac{\partial\mathcal{L}}{\partial\dot{\mathbf{q}}} = M(\mathbf{q})\ddot{\mathbf{q}} + \dot{M}(\mathbf{q})\dot{\mathbf{q}}
라그랑지안의 일반화 좌표에 대한 편도함수는 다음과 같다.
\frac{\partial\mathcal{L}}{\partial\mathbf{q}} = \frac{\partial T}{\partial\mathbf{q}} - \frac{\partial U}{\partial\mathbf{q}}
여기서 운동 에너지의 q_i에 대한 편도함수는 다음과 같다.
\frac{\partial T}{\partial q_i} = \frac{1}{2}\dot{\mathbf{q}}^T\frac{\partial M}{\partial q_i}\dot{\mathbf{q}}
2.2 코리올리 및 원심력 항의 유도
\dot{M}\dot{\mathbf{q}}의 i번째 성분을 전개하면 다음과 같다.
[\dot{M}\dot{\mathbf{q}}]_i = \sum_{j=1}^{n}\sum_{k=1}^{n}\frac{\partial m_{ij}}{\partial q_k}\dot{q}_k\dot{q}_j
\partial T/\partial q_i를 빼면 다음을 얻는다.
[\dot{M}\dot{\mathbf{q}}]_i - \frac{\partial T}{\partial q_i} = \sum_{j=1}^{n}\sum_{k=1}^{n}\left[\frac{\partial m_{ij}}{\partial q_k} - \frac{1}{2}\frac{\partial m_{jk}}{\partial q_i}\right]\dot{q}_j\dot{q}_k
크리스토펠 기호를 적용하여 정리하면 이 항이 C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}}의 i번째 성분이 된다. 코리올리 행렬의 (i,j) 원소는 다음과 같다.
c_{ij} = \sum_{k=1}^{n}\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]\dot{q}_k
2.3 최종 운동 방정식
오일러-라그랑주 방정식 \frac{d}{dt}\frac{\partial\mathcal{L}}{\partial\dot{\mathbf{q}}} - \frac{\partial\mathcal{L}}{\partial\mathbf{q}} = \boldsymbol{\tau}를 정리하면 다음의 표준 형태를 얻는다.
M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}
여기서 중력 벡터의 i번째 성분은 g_i = \partial U/\partial q_i이다.
3. 동역학 방정식의 구조적 성질
3.1 \dot{M} - 2C의 반대칭성
크리스토펠 기호를 이용하여 C를 정의하면, 행렬 N = \dot{M} - 2C가 반대칭(skew-symmetric)이 된다.
\mathbf{v}^T N\mathbf{v} = \mathbf{v}^T(\dot{M} - 2C)\mathbf{v} = 0, \quad \forall\mathbf{v} \in \mathbb{R}^n
이 성질은 다음의 에너지 등식에서 확인된다.
\frac{d}{dt}\left(\frac{1}{2}\dot{\mathbf{q}}^T M\dot{\mathbf{q}}\right) = \dot{\mathbf{q}}^T M\ddot{\mathbf{q}} + \frac{1}{2}\dot{\mathbf{q}}^T\dot{M}\dot{\mathbf{q}} = \dot{\mathbf{q}}^T(\boldsymbol{\tau} - C\dot{\mathbf{q}} - \mathbf{g}) + \frac{1}{2}\dot{\mathbf{q}}^T\dot{M}\dot{\mathbf{q}}
\dot{M} - 2C의 반대칭성에 의하여 \dot{\mathbf{q}}^T(\dot{M} - 2C)\dot{\mathbf{q}} = 0이므로 다음을 얻는다.
\frac{dE}{dt} = \dot{\mathbf{q}}^T(\boldsymbol{\tau} - \mathbf{f})
이는 총 에너지의 변화율이 외부 토크에 의한 일률과 같음을 의미하며, 수동성(passivity) 기반 제어기 설계의 핵심 성질이다.
3.2 계산 복잡도
라그랑주 정식화에 의한 운동 방정식의 직접 계산은 관성 행렬의 명시적 구성을 필요로 하며, O(n^3) 또는 O(n^4)의 계산 복잡도를 갖는다. 반면 재귀 뉴턴-오일러 알고리즘(RNEA)에 의한 역동역학 계산은 O(n)이다. 따라서 대자유도 로봇에서는 라그랑주 정식화를 기호적(symbolic) 유도에 사용하고, 수치적 계산에는 재귀 알고리즘을 사용하는 것이 일반적이다.
4. 자유도 평면 로봇의 예시
2자유도 평면 로봇의 관성 행렬은 다음과 같다.
M(\mathbf{q}) = \begin{bmatrix} \alpha + 2\beta\cos q_2 & \delta + \beta\cos q_2 \\ \delta + \beta\cos q_2 & \delta \end{bmatrix}
여기서 \alpha = I_1 + I_2 + m_1 l_{c1}^2 + m_2(l_1^2 + l_{c2}^2), \beta = m_2 l_1 l_{c2}, \delta = I_2 + m_2 l_{c2}^2이다.
코리올리 행렬은 다음과 같다.
C(\mathbf{q}, \dot{\mathbf{q}}) = \begin{bmatrix} -\beta\sin q_2\,\dot{q}_2 & -\beta\sin q_2(\dot{q}_1 + \dot{q}_2) \\ \beta\sin q_2\,\dot{q}_1 & 0 \end{bmatrix}
중력 벡터는 다음과 같다.
\mathbf{g}(\mathbf{q}) = \begin{bmatrix} (m_1 l_{c1} + m_2 l_1)g\cos q_1 + m_2 l_{c2} g\cos(q_1 + q_2) \\ m_2 l_{c2} g\cos(q_1 + q_2) \end{bmatrix}
이 예시는 관성 행렬의 형상 의존성, 비대각 관성 결합, 코리올리 항의 비선형성을 명확히 보여준다.
5. 요약
다자유도 시스템의 오일러-라그랑주 방정식은 라그랑지안의 편도함수를 체계적으로 계산하여 유도되며, 최종적으로 M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}의 표준 형태를 얻는다. 코리올리 행렬은 크리스토펠 기호로 정의되며, \dot{M} - 2C의 반대칭성은 에너지 보존과 수동성 기반 제어의 이론적 근거를 제공한다. 라그랑주 정식화는 에너지 함수로부터 체계적으로 운동 방정식을 유도할 수 있으나, 대자유도 시스템에서는 기호적 유도와 수치적 재귀 알고리즘을 상호 보완적으로 활용하는 것이 효율적이다.
참고 문헌
- Craig, J. J. (2005). Introduction to Robotics: Mechanics and Control (3rd ed.). Pearson.
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2006). Robot Modeling and Control. Wiley.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- 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