17.32 다체 시스템의 동역학 정식화
1. 개요
다체 시스템(multibody system)은 다수의 강체 또는 유연체가 관절과 구속 조건을 통해 연결되어 운동하는 기계 시스템이며, 로봇 매니퓰레이터는 그 대표적 예이다. 단일 직렬 매니퓰레이터의 관절 공간 동역학 방정식이 앞선 절들에서 다루어진 반면, 본 절은 보다 일반적인 관점에서 다체 시스템의 운동을 수학적으로 정식화하는 여러 접근을 체계적으로 정리한다. 최소 좌표 정식화, 최대 좌표 정식화, Featherstone의 공간 벡터 기반 접근, 재귀적 알고리즘, 폐 운동 사슬과 구속의 통합적 취급이 본 절의 주요 대상이다. 이러한 정식화는 로봇 시뮬레이션, 제어 설계, 매개변수 식별의 수학적 기반을 형성하며, 로봇의 복잡한 구조에서 모델의 일관성과 연산 효율을 함께 확보하는 수단을 제공한다.
2. 최소 좌표 정식화
최소 좌표 정식화는 다체 시스템의 상태를 독립적인 일반화 좌표 q \in \mathbb{R}^n로 표현한다. 이는 직렬 개방 사슬 구조에 자연스럽게 부합하며, 관절 변수를 좌표로 삼아 전체 운동을 기술한다. 오일러-라그랑주 방정식에 기반한 유도는 다음과 같은 표준 형식을 제공한다.
M(q)\ddot{q} + C(q,\dot{q})\dot{q} + g(q) = \tau + \tau_{\text{ext}}
여기서 \tau_{\text{ext}}는 외부 접촉이나 환경 상호 작용에 의한 관절 공간 등가 토크이다. 이 정식화의 장점은 구속 조건이 좌표 선택을 통해 자동으로 만족된다는 점이며, 방정식의 차원이 실제 자유도 수와 일치한다. 단점은 폐 운동 사슬과 같이 독립 좌표 선택이 어려운 구조에서 적용이 제한된다는 점이다.
최대 좌표 정식화
최대 좌표 정식화는 각 링크를 독립적인 6자유도 강체로 간주하고, 관절이 제공하는 운동 제약을 라그랑주 승수를 통해 부과하는 접근이다. 상태 벡터는 \mathbf{y} = [\mathbf{x}_1^\top, \dots, \mathbf{x}_N^\top]^\top와 같은 구성을 가지며, 각 \mathbf{x}_i는 링크 i의 위치와 방향이다. 운동 방정식은 다음과 같은 형태로 기술된다.
\mathbf{M}\ddot{\mathbf{y}} + \mathbf{b} = \mathbf{f}_{\text{ext}} + \mathbf{\Phi}_q^\top \boldsymbol{\lambda}
\mathbf{\Phi}(\mathbf{y}) = 0
여기서 \mathbf{\Phi}는 관절 및 환경에서 유래한 구속 함수, \boldsymbol{\lambda}는 구속력을 나타내는 라그랑주 승수이다. 이 접근은 구속의 형태와 무관하게 통일된 형식을 제공하므로 폐 사슬, 접촉, 복합 구조의 해석에 적합하지만, 상태 공간의 차원이 커지고 미분 대수 방정식(differential-algebraic equation, DAE)을 풀어야 한다는 계산적 부담이 있다.
Featherstone의 공간 벡터 기반 접근
Featherstone은 다체 동역학의 구조적 단순성과 계산 효율을 동시에 달성하기 위해 공간 벡터(spatial vector) 형식을 도입하였다. 공간 속도 \mathbf{v}_i \in \mathbb{R}^6와 공간 힘 \mathbf{f}_i \in \mathbb{R}^6은 각각 선속도·각속도와 힘·모멘트를 하나의 6차원 벡터로 결합한 표현이다. 이 형식에서 강체의 운동 방정식은 다음과 같이 기술된다.
\mathbf{I}_i \dot{\mathbf{v}}_i + \mathbf{v}_i \times^{*} \mathbf{I}_i \mathbf{v}_i = \mathbf{f}_i
여기서 \mathbf{I}_i는 공간 관성 행렬이며 \times^{*}는 공간 벡터의 외적 연산이다. 좌표 변환은 동차 변환의 공간 벡터 확장인 모션 플럭스 변환 X_i^j로 기술되며, 이 형식은 모든 다체 알고리즘의 표기를 일관적이고 간결하게 만든다. Featherstone의 접근은 현대 로봇 동역학 라이브러리(예: Pinocchio, RBDL)의 이론적 기반이 된다.
3. 재귀적 알고리즘
다체 시스템의 동역학 계산은 재귀 구조를 통해 효율적으로 수행된다. 재귀 뉴턴-오일러 알고리즘(recursive Newton-Euler algorithm, RNEA)은 전방향 운동학과 후방향 토크 계산을 통해 역동역학을 O(n) 연산으로 수행한다. 전방향 단계에서는 각 링크의 운동 상태를 기저부터 말단까지 차례대로 계산하며, 후방향 단계에서는 말단 링크에서부터 시작하여 각 링크에 작용하는 힘과 모멘트를 계산하고, 최종적으로 각 관절에 해당하는 토크를 추출한다. 정동역학의 경우에는 Articulated Body Algorithm(ABA)이 사용되며, 이 역시 O(n) 복잡도로 관절 가속도를 직접 산출한다. CRBA(composite rigid body algorithm)는 관성 행렬 M(q) 자체를 O(n^2) 연산으로 구성하는 효율적 방식이다. 이러한 알고리즘은 매개변수 선형성 구조와 자연스럽게 결합되어 식별과 최적 제어에서도 활용된다.
4. 폐 운동 사슬의 취급
폐 운동 사슬을 포함한 다체 시스템은 단일 독립 좌표로 기술되지 않으므로, 구속 조건을 명시적으로 처리해야 한다. 대표적 방법은 다음과 같다.
4.1 라그랑주 승수 방법
최대 좌표 정식화와 유사한 접근으로, 구속 함수 \mathbf{\Phi}(q) = 0을 부과하고 이에 대응하는 라그랑주 승수를 도입하여 DAE를 구성한다. 승수는 구속력을 나타내며, 해를 구할 때 구속 위반을 보정하는 Baumgarte 안정화 등이 병행된다.
4.2 구속 축소 방법
독립 좌표의 부분집합을 선택하여 종속 좌표를 구속 조건으로부터 유도함으로써, 전체 상태를 최소 자유도로 표현한다. 이는 DAE를 ODE로 축소할 수 있으나, 독립 좌표 선택이 특이점 근방에서 어려워지는 문제가 있다.
4.3 페널티 방법
구속 위반에 비례하는 강성 항을 추가하여 구속을 대략적으로 만족시키는 접근이다. 구현이 단순하지만 수치적 강성을 유발하며, 정확한 구속을 보장하지 못한다.
5. 구속력의 분해와 내부 힘
폐 운동 사슬이나 다수의 접촉이 존재하는 다체 시스템에서는 구속력 중 일부가 시스템의 운동에 영향을 미치지 않으면서 내부에서만 작용하는 성분을 가진다. 이러한 성분은 내부 힘(internal forces)으로 불리며, 파지와 접촉 작업에서 중요한 역할을 한다. 내부 힘을 통해 파지된 물체에 가해지는 압력을 조절하거나, 다수의 접촉점이 미끄럼 없이 안정적 접촉을 유지하도록 할 수 있다. 이 개념은 정식화의 구조적 이해와 제어 설계에 본질적이다.
6. 유연체의 포함
일부 다체 시스템은 유연체 링크 또는 유연 관절을 포함하며, 이는 무한 차원 연속체 동역학을 유한 차원으로 근사하는 과정을 요구한다. 일반적으로는 링크의 주요 변형 모드를 Rayleigh-Ritz 또는 유한 요소 기반의 모드 합성으로 표현하고, 그 결과 얻어지는 일반화 좌표를 강체 좌표에 결합하여 확장된 최소 좌표 정식화를 구성한다. 유연 관절은 구동기 측과 링크 측 사이에 탄성 요소를 삽입한 이중 동역학 구조로 다루며, 이는 후속 절에서 상세히 논의된다.
7. 동역학 소프트웨어 프레임워크
현대적 로봇 동역학 계산은 Pinocchio, RBDL, Drake, KDL, MuJoCo, Bullet, RaiSim 등의 소프트웨어 프레임워크를 통해 이루어진다. 이들 대부분은 Featherstone의 공간 벡터 형식이나 그 변형을 기반으로 하며, RNEA, CRBA, ABA와 같은 재귀 알고리즘을 구현한다. 또한 폐 사슬, 접촉, 유연성, 미분 가능성 등 다양한 기능을 제공하여, 제어 설계와 최적화에 직접 활용될 수 있다. 이러한 프레임워크의 존재는 본 절에서 논의된 정식화 이론이 실제 공학 실무와 자연스럽게 연결되도록 하는 다리 역할을 한다.
8. 본 절의 의의
본 절은 로봇을 포함한 일반적인 다체 시스템의 운동 방정식을 기술하는 대표적 정식화들을 체계적으로 정리한다. 최소 좌표와 최대 좌표, 공간 벡터 형식, 재귀 알고리즘, 폐 사슬 처리, 유연체의 확장은 모두 동일한 물리 시스템을 기술하기 위한 서로 다른 수학적 선택이며, 각각의 장단점은 문제의 구조와 요구에 따라 결정된다. 이러한 정식화는 후속 절에서 다룰 구속 시뮬레이션, 다체 접촉 해석, 유연 관절 및 유연 링크의 동역학으로 자연스럽게 확장된다.
9. 학습 권장사항
독자는 간단한 4절 링크 구조에 대해 최소 좌표와 최대 좌표 정식화를 각각 구현하여 두 접근이 동일한 물리적 해를 제공함을 확인해 볼 것을 권장한다. 또한 RNEA, CRBA, ABA를 직접 코드로 구현하거나 기존 프레임워크(Pinocchio 또는 RBDL)에서 활용함으로써 재귀 알고리즘의 계산 효율을 체감하는 것이 유익하다. 페널티 방법과 라그랑주 승수 방법의 수치 안정성과 정확성을 폐 사슬 시뮬레이션 예제에서 비교해 보는 것도 권장된다.
10. 참고 문헌
- Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
- Shabana, A. A. (2020). Dynamics of Multibody Systems (5th ed.). Cambridge University Press.
- Haug, E. J. (1989). Computer Aided Kinematics and Dynamics of Mechanical Systems: Volume I—Basic Methods. Allyn and Bacon.
- Jain, A. (2011). Robot and Multibody Dynamics: Analysis and Algorithms. Springer.
- Featherstone, R., & Orin, D. E. (2008). Dynamics. In Springer Handbook of Robotics, 35–65. 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.
- Carpentier, J., Saurel, G., Buondonno, G., Mirabel, J., Lamiraux, F., Stasse, O., & Mansard, N. (2019). The Pinocchio C++ library: A fast and flexible implementation of rigid body dynamics algorithms and their analytical derivatives. IEEE/SICE International Symposium on System Integration.
version: 1.0