다체 시스템 개요

다체 시스템(다체 system)은 여러 개의 강체가 상호 연결된 구조를 말한다. 이러한 시스템에서 각 강체는 자신의 자유도를 가지며, 상호 간의 상호작용이나 제약 조건이 있는 상태에서 운동한다. 이러한 다체 시스템에서 운동 방정식을 세우는 것은 시스템 내의 각 강체의 운동을 명확히 정의하는 것을 목표로 한다.

시스템 좌표 정의

다체 시스템의 운동을 기술하기 위해서는 각 몸체의 위치와 회전을 표현할 좌표계가 필요하다. 일반적으로 강체의 운동은 질점의 위치 벡터와 회전 행렬로 표현된다.

질점의 위치는 벡터로 나타내며, 이를 \mathbf{r}_i로 정의한다. 여기서 ii-번째 몸체를 나타낸다.

\mathbf{r}_i = \begin{pmatrix} x_i \\ y_i \\ z_i \end{pmatrix}

각 몸체의 회전은 회전 행렬 \mathbf{R}_i로 나타내며, 3x3 행렬로 표현된다. 이는 좌표계의 회전을 나타내는 행렬이다.

\mathbf{R}_i = \begin{pmatrix} R_{11} & R_{12} & R_{13} \\ R_{21} & R_{22} & R_{23} \\ R_{31} & R_{32} & R_{33} \end{pmatrix}

운동 방정식의 일반형

다체 시스템의 운동 방정식은 뉴턴-오일러 방정식(Newton-Euler equation)을 기반으로 하며, 각 강체에 작용하는 힘과 토크를 바탕으로 운동을 기술한다.

선운동 방정식

각 몸체의 선운동(직선 운동)은 다음과 같이 표현된다.

\mathbf{F}_i = m_i \frac{d^2 \mathbf{r}_i}{dt^2}

여기서, - \mathbf{F}_ii-번째 몸체에 작용하는 외력의 총합, - m_ii-번째 몸체의 질량, - \mathbf{r}_ii-번째 몸체의 위치 벡터이다.

각운동 방정식

각운동은 각속도와 각가속도를 통해 표현되며, 다음과 같은 형태로 나타낼 수 있다.

\mathbf{\tau}_i = \mathbf{I}_i \frac{d \mathbf{\omega}_i}{dt} + \mathbf{\omega}_i \times (\mathbf{I}_i \mathbf{\omega}_i)

여기서, - \mathbf{\tau}_ii-번째 몸체에 작용하는 외력 모멘트, - \mathbf{I}_ii-번째 몸체의 관성 행렬, - \mathbf{\omega}_ii-번째 몸체의 각속도 벡터이다.

위 식에서 두 번째 항은 코리올리 항을 나타내며, 이는 회전하는 좌표계에서의 운동에 나타나는 항이다.

구속 조건

다체 시스템은 종종 구속 조건을 갖는다. 이러한 구속 조건은 시스템 내의 강체들 사이의 상대적인 운동을 제한하는 역할을 하며, 다음과 같은 수식으로 표현된다.

\mathbf{C}(\mathbf{q}, t) = 0

여기서, - \mathbf{C}(\mathbf{q}, t)는 구속 조건을 나타내는 벡터 함수, - \mathbf{q}는 시스템의 일반화 좌표 벡터, - t는 시간이다.

구속 조건의 미분을 통해 속도와 가속도에 대한 구속 조건도 정의할 수 있다.

\frac{d\mathbf{C}}{dt} = \mathbf{J}(\mathbf{q}, t) \dot{\mathbf{q}} = 0

여기서, - \mathbf{J}(\mathbf{q}, t)는 구속 조건의 야코비 행렬, - \dot{\mathbf{q}}는 시스템의 일반화 속도 벡터이다.

이 식을 통해 구속 조건이 만족되는 운동만을 계산할 수 있게 된다.

라그랑지 방정식

다체 시스템의 운동을 기술하는 또 다른 방법은 라그랑지 방정식을 사용하는 것이다. 라그랑지 방정식은 운동의 에너지 관점에서 운동 방정식을 유도한다.

\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{\mathbf{q}}} \right) - \frac{\partial L}{\partial \mathbf{q}} = \mathbf{Q}

여기서, - L = T - V는 라그랑지안이며, T는 운동 에너지, V는 퍼텐셜 에너지를 나타낸다. - \mathbf{Q}는 일반화된 외력을 나타낸다.

다체의 운동 방정식 (계속)

운동 에너지와 퍼텐셜 에너지

라그랑지 방정식에서 사용하는 운동 에너지 T와 퍼텐셜 에너지 V는 시스템의 물리적 특성에 의해 결정된다. 다체 시스템에서 운동 에너지는 각 몸체의 선운동 에너지와 회전 운동 에너지를 포함하며, 퍼텐셜 에너지는 중력, 스프링, 또는 기타 외부 힘에 의한 에너지를 포함한다.

T_{\text{trans}} = \frac{1}{2} m_i \dot{\mathbf{r}}_i^T \dot{\mathbf{r}}_i
T_{\text{rot}} = \frac{1}{2} \mathbf{\omega}_i^T \mathbf{I}_i \mathbf{\omega}_i

따라서 총 운동 에너지는 다음과 같이 표현된다.

T = T_{\text{trans}} + T_{\text{rot}} = \frac{1}{2} m_i \dot{\mathbf{r}}_i^T \dot{\mathbf{r}}_i + \frac{1}{2} \mathbf{\omega}_i^T \mathbf{I}_i \mathbf{\omega}_i
V = m_i g z_i

여기서, g는 중력 가속도, z_ii-번째 몸체의 고도를 나타낸다.

라그랑지안의 적용

라그랑지안 L은 운동 에너지와 퍼텐셜 에너지의 차이로 정의된다.

L = T - V

따라서 라그랑지 방정식은 다음과 같이 변형된다.

\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{\mathbf{q}}} \right) - \frac{\partial L}{\partial \mathbf{q}} = \mathbf{Q}

이 방정식은 다체 시스템에서 각 몸체의 일반화 좌표 \mathbf{q}와 일반화 속도 \dot{\mathbf{q}}를 사용하여 시스템의 운동 방정식을 도출하는 데 사용된다.

구속 조건의 라그랑지 승수법

구속 조건을 가진 다체 시스템에서 라그랑지 방정식을 사용하여 운동을 기술하기 위해서는 라그랑지 승수법을 적용할 수 있다. 구속 조건은 다음과 같이 나타낼 수 있다.

\mathbf{C}(\mathbf{q}, t) = 0

이 경우 라그랑지 승수 \lambda를 도입하여 다음과 같이 수정된 라그랑지안을 정의한다.

L' = L + \lambda^T \mathbf{C}(\mathbf{q}, t)

수정된 라그랑지 방정식은 다음과 같이 표현된다.

\frac{d}{dt} \left( \frac{\partial L'}{\partial \dot{\mathbf{q}}} \right) - \frac{\partial L'}{\partial \mathbf{q}} = \mathbf{Q}

이를 통해 구속 조건이 있는 시스템에서도 운동 방정식을 도출할 수 있다.

라그랑지 승수와 구속력

구속 조건을 만족하는 라그랑지 승수 \lambda는 구속력 \mathbf{F}_c를 결정하며, 이는 각 몸체에 작용하는 구속 조건에 따른 힘을 의미한다.

\mathbf{F}_c = \mathbf{J}^T \lambda

여기서, \mathbf{J}는 구속 조건의 야코비 행렬이다. 구속력은 시스템의 각 몸체에 작용하여 구속 조건을 유지하도록 한다.

다체의 운동 방정식 (계속)

다체의 동적 방정식 (전달 행렬)

다체 시스템에서 한 몸체에서 다른 몸체로의 운동 전달은 전달 행렬을 사용하여 표현된다. 이는 특정한 좌표계를 기준으로 다른 몸체의 운동을 기술하는 방법이다.

예를 들어, 두 몸체 ij가 연결된 경우, i-번째 몸체에서 j-번째 몸체로의 상대 운동을 다음과 같이 표현할 수 있다.

\mathbf{r}_j = \mathbf{r}_i + \mathbf{R}_i \mathbf{d}_j

여기서, - \mathbf{r}_jj-번째 몸체의 위치 벡터, - \mathbf{r}_ii-번째 몸체의 위치 벡터, - \mathbf{R}_ii-번째 몸체의 회전 행렬, - \mathbf{d}_ji-번째 몸체 기준에서 j-번째 몸체의 위치 벡터이다.

이 식은 두 몸체 사이의 상대적인 위치를 나타내는 방정식으로, 회전 및 이동을 고려한 전달 행렬로 사용할 수 있다.

일반화된 운동 방정식

다체 시스템의 일반화된 운동 방정식은 뉴턴-오일러 방정식을 기반으로 하며, 각 몸체에 대한 선운동과 각운동을 동시에 고려하여 다음과 같이 표현할 수 있다.

\mathbf{M}(\mathbf{q}) \ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}}) \dot{\mathbf{q}} + \mathbf{G}(\mathbf{q}) = \mathbf{Q}

여기서, - \mathbf{M}(\mathbf{q})는 시스템의 질량 행렬, - \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})는 코리올리 및 원심력 행렬, - \mathbf{G}(\mathbf{q})는 중력에 의한 힘을 나타내는 벡터, - \mathbf{Q}는 시스템에 가해지는 외부 힘을 나타낸다.

이 방정식은 다체 시스템의 동적 운동을 기술하며, 선운동과 각운동을 포함한 모든 시스템의 움직임을 표현한다.

운동 방정식의 수치적 해법

다체 시스템의 운동 방정식은 비선형 방정식으로, 일반적으로 수치적 방법을 통해 해를 구한다. 흔히 사용되는 방법으로는 오일러 방법, 룽게-쿠타 방법 등이 있으며, 이를 통해 시간에 따른 시스템의 운동을 계산할 수 있다.

오일러 방법

가장 간단한 수치적 방법으로 오일러 방법은 다음과 같이 시스템의 상태를 시간에 따라 갱신한다.

\mathbf{q}(t + \Delta t) = \mathbf{q}(t) + \dot{\mathbf{q}}(t) \Delta t
\dot{\mathbf{q}}(t + \Delta t) = \dot{\mathbf{q}}(t) + \ddot{\mathbf{q}}(t) \Delta t
룽게-쿠타 방법

룽게-쿠타 방법은 오일러 방법보다 높은 정확도를 가지며, 4차 룽게-쿠타 방법은 다음과 같이 정의된다.

  1. k_1 = f(t_n, \mathbf{q}_n)
  2. k_2 = f(t_n + \frac{\Delta t}{2}, \mathbf{q}_n + \frac{k_1 \Delta t}{2})
  3. k_3 = f(t_n + \frac{\Delta t}{2}, \mathbf{q}_n + \frac{k_2 \Delta t}{2})
  4. k_4 = f(t_n + \Delta t, \mathbf{q}_n + k_3 \Delta t)

최종적으로 다음과 같이 업데이트된다.

\mathbf{q}_{n+1} = \mathbf{q}_n + \frac{\Delta t}{6}(k_1 + 2k_2 + 2k_3 + k_4)

이 방법은 오일러 방법보다 더 정확하지만 계산 비용이 더 많이 들기 때문에, 시스템의 복잡도에 따라 적절한 수치적 해법을 선택해야 한다.