7.69 구속 조건과 라그랑주 승수 결합
1. 구속 조건의 유형
1.1 홀로노믹 구속
홀로노믹 구속(holonomic constraint)은 일반화 좌표와 시간의 대수적 관계이다.
\phi_k(\mathbf{q}, t) = 0, \quad k = 1, 2, \ldots, m
이 구속은 형상 공간 \mathbb{R}^n에서 (n - m)차원의 구속 다양체(constraint manifold)를 정의한다. 폐루프 기구(closed-loop mechanism), 폐쇄 체인(closed chain), 고정 접촉 등이 홀로노믹 구속의 예이다.
1.2 파피안 구속
파피안 구속(Pfaffian constraint)은 일반화 좌표와 일반화 속도의 선형 관계이다.
\sum_{i=1}^{n} a_{ki}(\mathbf{q}, t)\dot{q}_i + b_k(\mathbf{q}, t) = 0, \quad k = 1, \ldots, m
행렬 형태로 쓰면 다음과 같다.
A(\mathbf{q}, t)\dot{\mathbf{q}} + \mathbf{b}(\mathbf{q}, t) = \mathbf{0}
파피안 구속이 적분 가능하면 홀로노믹이고, 적분 불가능하면 비홀로노믹(nonholonomic)이다. 비미끄러짐 바퀴 구속은 적분 불가능한 파피안 구속의 대표적 예이다.
2. 홀로노믹 구속과 라그랑주 승수
2.1 라그랑주 승수의 도입
n개의 일반화 좌표에 m개의 홀로노믹 구속 \phi_k(\mathbf{q}, t) = 0이 부과된 시스템의 운동 방정식은 다음과 같다.
\frac{d}{dt}\frac{\partial\mathcal{L}}{\partial\dot{q}_i} - \frac{\partial\mathcal{L}}{\partial q_i} = Q_i + \sum_{k=1}^{m}\lambda_k\frac{\partial\phi_k}{\partial q_i}, \quad i = 1, \ldots, n
여기서 \lambda_k는 라그랑주 승수(Lagrange multiplier)이다. 우변의 \sum_k\lambda_k\partial\phi_k/\partial q_i는 구속력(constraint force)의 일반화 힘 성분이다.
2.2 구속력의 물리적 의미
라그랑주 승수 \lambda_k는 k번째 구속 조건을 유지하기 위해 시스템에 작용하는 구속력의 크기를 나타낸다. 구속 방향의 야코비안 G(\mathbf{q}) = \partial\boldsymbol{\phi}/\partial\mathbf{q} \in \mathbb{R}^{m \times n}을 이용하면, 구속력 벡터는 다음과 같다.
\mathbf{F}_c = G(\mathbf{q})^T\boldsymbol{\lambda}
로봇 시스템에서 라그랑주 승수는 접촉력, 관절 반력, 루프 폐쇄력 등 물리적으로 중요한 양에 직접 대응한다.
2.3 행렬 형태의 운동 방정식
관성 행렬, 코리올리/중력 항, 구속력을 포함한 운동 방정식의 행렬 형태는 다음과 같다.
M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau} + G(\mathbf{q})^T\boldsymbol{\lambda}
이 n개의 방정식과 m개의 구속 방정식
\boldsymbol{\phi}(\mathbf{q}) = \mathbf{0}
을 연립하면 n + m개의 미지수 (\ddot{\mathbf{q}}, \boldsymbol{\lambda})를 결정할 수 있다.
2.4 가속도 수준의 구속
위치 수준의 구속 \boldsymbol{\phi} = \mathbf{0}을 두 번 미분하면 가속도 수준의 구속을 얻는다.
G(\mathbf{q})\ddot{\mathbf{q}} + \dot{G}(\mathbf{q})\dot{\mathbf{q}} = \mathbf{0}
운동 방정식과 가속도 구속을 결합하면 다음의 행렬 시스템이 된다.
\begin{bmatrix} M & -G^T \\ G & \mathbf{0} \end{bmatrix}\begin{bmatrix} \ddot{\mathbf{q}} \\ \boldsymbol{\lambda} \end{bmatrix} = \begin{bmatrix} \boldsymbol{\tau} - C\dot{\mathbf{q}} - \mathbf{g} \\ -\dot{G}\dot{\mathbf{q}} \end{bmatrix}
이 시스템을 KKT(Karush-Kuhn-Tucker) 시스템이라 하며, 좌변의 행렬이 안장점 행렬(saddle-point matrix)이다. M이 양정치이고 G가 전계수(full rank)이면 이 시스템은 유일한 해를 갖는다.
3. 비홀로노믹 구속과 라그랑주 승수
비홀로노믹 구속 A(\mathbf{q})\dot{\mathbf{q}} = \mathbf{0}에 대하여, 운동 방정식은 다음과 같다.
M(\mathbf{q})\ddot{\mathbf{q}} + C(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau} + A(\mathbf{q})^T\boldsymbol{\lambda}
홀로노믹 구속과의 차이는 구속이 속도 수준에서만 존재한다는 점이다. 가속도 구속은 A\ddot{\mathbf{q}} + \dot{A}\dot{\mathbf{q}} = \mathbf{0}이며, KKT 시스템의 형태는 동일하다.
비홀로노믹 시스템에서 라그랑주 승수는 구속력을 나타내되, 위치 수준의 구속을 부과하지 않으므로 시스템은 구속 방향으로 점진적으로 이동할 수 있다(드리프트 가능). 이동 로봇이 비홀로노믹 구속 하에서도 형상 공간의 모든 위치에 도달할 수 있는 것은 이러한 특성에 기인한다.
4. 폐루프 기구에서의 응용
4.1 병렬 로봇
병렬 로봇(parallel robot)은 다수의 운동학적 체인이 동시에 말단 장치를 지지하는 폐루프 구조이다. 각 체인의 관절 변수를 일반화 좌표로 취하면 루프 폐쇄 조건이 홀로노믹 구속으로 나타난다. 라그랑주 승수는 루프 폐쇄력을 나타낸다.
4.2 접촉 구속
로봇 말단이 환경 표면과 접촉을 유지하는 경우, 접촉 조건은 홀로노믹 구속이다.
\phi(\mathbf{q}) = \mathbf{p}_{ee}(\mathbf{q}) - \mathbf{p}_{surface} = \mathbf{0}
대응하는 라그랑주 승수는 접촉력에 해당하며, 이 값은 힘 제어(force control)의 설계에 직접 활용된다.
5. 구속 안정화
수치 시뮬레이션에서 가속도 수준의 구속만을 사용하면, 적분 오차의 누적으로 위치 수준과 속도 수준의 구속이 점진적으로 위반된다(구속 표류). 바움가르테 안정화(Baumgarte stabilization)는 가속도 구속에 위치 및 속도 수준의 피드백을 추가하여 구속 표류를 억제한다.
G\ddot{\mathbf{q}} + \dot{G}\dot{\mathbf{q}} + 2\alpha G\dot{\mathbf{q}} + \beta^2\boldsymbol{\phi} = \mathbf{0}
여기서 \alpha > 0, \beta > 0은 안정화 매개변수이다.
6. 요약
구속 조건과 라그랑주 승수의 결합은 폐루프 기구, 접촉 역학, 비홀로노믹 시스템 등 다양한 로봇 시스템의 동역학을 통일적으로 기술하는 방법이다. 라그랑주 승수는 구속력의 물리적 크기를 나타내며, 구속력의 계산은 접촉력 제어, 구조 하중 분석 등에 직접 활용된다. KKT 시스템의 풀이를 통해 가속도와 구속력을 동시에 결정할 수 있으며, 구속 안정화 기법은 수치 시뮬레이션의 정확성을 보장한다.
참고 문헌
- Goldstein, H., Poole, C., & Safko, J. (2002). Classical Mechanics (3rd ed.). Addison-Wesley.
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
- Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
- Baumgarte, J. (1972). “Stabilization of constraints and integrals of motion in dynamical systems.” Computer Methods in Applied Mechanics and Engineering, 1(1), 1–16.
version: 0.1.0