본문으로 건너뛰기
422 / LAGRANGE DYNAMICS LAB
먼저 알아두면 좋아요 · 절대각 질량 행렬·Lagrange 방정식·ODE 적분
단원 목록 (600) · 이중 진자의 Lagrange 동역학
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

배치의 에너지에서 가속도를 구하고 실제 운동을 적분합니다. 방정식 잔차·구속 길이·적분 오차는 서로 다른 검사입니다.

Unforced planar rigid-rod double pendulum with absolute angles from downward vertical,fixed pivot,g=10. RK4 step h and h/2 trajectories over2s are numerical approximations. Maximum energy errors and refinement gaps are sampled at201output times, not continuous maxima or certified error bounds. The angle map enforces rod lengths independently of time-integration accuracy. Rod forces are reconstructed from Cartesian Newton equations and may transmit compression. Potential zero is both rods down.

실제 시간 궤적과 조회 막대 배치 -2.367-0.88130.6044-1.7241.248x · my · m파랑 첫 궤적 · 주황 둘째 · 초록 막대t=0 s · RK4 h=0.00125 slengths=(1,1) mangles=(1.571, 0) rad아래쪽 수직 기준 절대각입니다.
녹색 막대는 조회 시각의 실제 배치입니다. 궤적은 수치 적분 결과이며 가상 변위나 상대각 사상 탐색이 아닙니다.
절대각의 실제 시간 변화 -2.731-0.34942.03202t · sa, b · rad파랑 a · 주황 ba(t)=1.571 radb(t)=0 radt=0 s시간 각도는 나머지 연산하지 않습니다.
두 각도는 아래쪽 수직 기준 절대각입니다. 상대 팔꿈치 각도를 사용하는 모델과 성분을 그대로 비교하지 않습니다.
두 질점계의 각속도 -8.051-1.2995.45302t · swa, wb · rad/s파랑 wa · 주황 wbwa(t)=0 rad/swb(t)=0 rad/sdet M=2양의 질량·길이는 가역성을 보장합니다.
질량 행렬의 양의 행렬식과 ODE 적분의 정확성은 다른 성질입니다.
완전한 Lagrange 각가속도 -38.85-3.16132.5302t · saa, ab · rad/s²파랑 aa · 주황 abfull=(-10, 0) rad/s²naive=(-10, 0)omitted-term error=0대각 M도 미분 항 c를 가질 수 있습니다.
완전한 식은 Mq̈+c+G=0입니다. 표에서 속도 관성 항을 생략한 가속도와 비교합니다.
운동·위치·전체 에너지 -2.41022.402t · sK, U, E · J파랑 운동 · 주황 위치 · 초록 전체K(t)=0 J · U(t)=20 JE(t)=20 JE(0)=20 J위치에너지 0은 두 막대가 아래인 배치
무구동·무마찰의 정확한 방정식은 에너지를 보존합니다. RK4는 수치 근사이므로 다음 오차 그래프를 별도로 확인합니다.
저장된 시점의 에너지 적분 오차 -2.98e-92.27e-97.51e-902t · sE(t)-E(0) · J파랑 선택 간격 · 주황 절반 간격h=0.00125 s · h/2=6.25e-4 ssample max |error|=6.50e-9 Jrefined sample max=4.09e-10 J연속 시간 최대나 오차 보증이 아닙니다.
에너지 오차는 출력된 201시점에서 관측합니다. 작다고 위상·시각의 정확성까지 보장하지 않으며 0으로 덮지 않습니다.
두 간격 궤적의 각도 차이 01.87e-103.75e-1002t · sangle gap norm · radsample max angle gap=3.35e-10 radh=0.00125 shalf-step h=6.25e-4 s독립 기준 해법과도 별도로 대조합니다.
각도 차이 노름이며 각속도와 단위를 섞지 않습니다. 두 근사의 차이는 정확해에 대한 보증 상한이 아닙니다.
두 간격 궤적의 각속도 차이 01.16e-92.32e-902t · srate gap norm · rad/ssample max rate gap=2.07e-9 rad/sresolution=2chosen steps=1600refined steps=3200
조회 시각은 같은 궤적의 점을 고릅니다. 해상도를 바꿀 때 내부 적분 간격이 바뀝니다.
막대의 부호 있는 장력 -19.7144.5108.702t · ssigned tension · N파랑 첫 막대 · 주황 둘째 막대rod1=0 Nrod2=0 Nconstraint power=0 W음수는 강체 막대의 압축입니다.
강체 막대는 당김과 압축을 모두 전달합니다. 줄의 비음수 장력 조건을 이 모델에 적용하지 않습니다.
직교 뉴턴 식에서 복원한 막대 힘 -0.0600.06-0.060.06Fx · NFy · N파랑 R1 · 주황 R2 · 힘 공간의 공통 원점R1=(0, 0) NR2=(0, 0) Ntangent residuals=(0, 0)constraint power=0 W
R1은 첫 막대가 첫 질점에, R2는 둘째 막대가 둘째 질점에 주는 힘입니다. 첫 질점에는 −R2도 작용합니다. 위치 m 그림과 힘 N 그림은 다른 공간입니다.
절대각 Lagrange 운동·RK4 오차·막대 반력의 수치 평가
quantitynumerical valueunit
query time0s
chosen RK4 step0.00125s
refined step6.25e-4s
chosen integration steps16001
angle a1.571rad
angle b0rad
rate wa0rad/s
rate wb0rad/s
acceleration a-10rad/s²
acceleration b0rad/s²
naive acceleration a-10rad/s²
naive acceleration b0rad/s²
mass metric112kg m²
mass metric120kg m²
mass metric221kg m²
inertial term a0N m
inertial term b0N m
gravity gradient a20N m
gravity gradient b0N m
EL residual a0N m
EL residual b0N m
kinetic energy0J
potential relative to both-down pose20J
energy20J
energy derivative0W
sampled max energy error6.50e-9J
sampled max refined energy error4.09e-10J
sampled max angle gap3.35e-10rad
sampled max rate gap2.07e-9rad/s
rod1 signed tension0N
rod2 signed tension0N
constraint power0W
rod1 length residual0m²
rod2 length residual0m²

query time s = 0

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

절대각과 직교 위치를 정한다

두 각도는 아래쪽 수직 기준입니다. 상대 팔꿈치 각도 행렬을 그대로 쓰지 않습니다.

p₂=p₁+l₂(sin b,−cos b)

실험에서 확인하기 →
이 단원 목차

배치 그림에서 움직이는 질점으로

앞의 이중 진자 단원은 위치·순간 속도·구속 접공간·질량 행렬을 계산했다. 그 계산만으로는 각속도가 앞으로 어떻게 변하는지 알 수 없었다. 이제 빠져 있던 운동방정식을 유도하고 실제 시간 2초 동안의 운동을 적분한다.

양의 두 점질량, 양의 길이를 가진 질량 없는 강체 막대 두 개, 고정된 회전축을 가정한다. 중력은 g=10 m/s²이고 마찰·구동기·움직이는 지지대는 없다. 강체 막대는 당기는 힘과 압축력을 모두 전달한다. 항상 팽팽해야 하는 줄과는 다르다. 이 가정에 따라 어느 힘이 일을 하는지, 어떤 에너지 검사가 적절한지가 결정된다.

각도의 약속과 직교 위치

a와 b를 아래쪽 수직선에서 잰 절대각으로 둔다. 어깨 각도와 상대 팔꿈치 각도의 조합이 아니다. 길이가 l₁,l₂이면

p1=l1(sin⁡a−cos⁡a),p2=p1+l2(sin⁡b−cos⁡b).\boldsymbol p_1=l_1\begin{pmatrix}\sin a\\-\cos a\end{pmatrix},\qquad \boldsymbol p_2=\boldsymbol p_1+l_2\begin{pmatrix}\sin b\\-\cos b\end{pmatrix}.

wa=adot, wb=bdot로 쓰자. 위치를 먼저 미분한 뒤 운동에너지를 구성한다. 두 번째 질점은 첫 질점의 속도에 자기 막대의 회전 속도를 더한 속도를 가진다. 여기서 운동에너지의 결합 항이 생긴다.

MIT Multi-Body Dynamics는 상대 팔꿈치 각도를 사용하는 이중 진자를 포함하여 Lagrange·매니퓰레이터 방정식을 설명한다. 아래의 절대각 성분은 위 직교 위치에서 독립적으로 유도한다. 상대각 질량 행렬을 좌표 변환 없이 복사하면 다른 모델이 된다.

에너지와 질량 행렬 구성

β=m₂l₁l₂, δ=a−b로 두고 두 질점의 운동에너지를 더하면

K=12(m1+m2)l12wa2+12m2l22wb2+βcos⁡δ wawb=12q˙TM(q)q˙,K=\frac12(m_1+m_2)l_1^2w_a^2+\frac12m_2l_2^2w_b^2 +\beta\cos\delta\,w_aw_b =\frac12\dot{\boldsymbol q}^{T}M(\boldsymbol q)\dot{\boldsymbol q}, M=((m1+m2)l12βcos⁡δβcos⁡δm2l22),q=(a,b)T.M=\begin{pmatrix}(m_1+m_2)l_1^2&\beta\cos\delta\\ \beta\cos\delta&m_2l_2^2\end{pmatrix},\qquad \boldsymbol q=(a,b)^T.

행렬 성분의 단위는 kg m²이다. 전개한 결합 항은 음수일 수 있지만 총 운동에너지는 음수가 아니다. 직교 질점 속도로 운동에너지를 따로 계산하여 같은 물리량인지 검사한다.

이번에는 두 막대가 아래를 향할 때 위치에너지가 0이 되도록 정한다.

U=g[(m1+m2)l1(1−cos⁡a)+m2l2(1−cos⁡b)].U=g\left[(m_1+m_2)l_1(1-\cos a)+m_2l_2(1-\cos b)\right].

높이로 정의한 위치에너지와는 상수만큼 다르다. 절대 에너지 숫자는 바뀌지만 힘·가속도·에너지 차이는 바뀌지 않는다. 앞의 순간 좌표 단원과 숫자를 비교할 때는 위치에너지 영점을 먼저 확인하자.

편미분과 시간 미분을 구분하기

L=K−U를 사용하고 외부 일반화 힘이 없으므로 d/dt(∂L/∂wa)−∂L/∂a=0을 적용한다. b에 대해서도 같은 절차를 따른다. 예를 들어

∂K∂wa=M11wa+βcos⁡δ wb.\frac{\partial K}{\partial w_a}=M_{11}w_a+\beta\cos\delta\,w_b.

시간에 대한 전미분은 속도뿐 아니라 각도에 따라 바뀌는 cosδ도 미분한다. 한편 ∂K/∂a=−β sinδ wa wb이다. 좌표 편미분을 빼고 정리하면 첫 방정식의 속도 항은 +β sinδ wb²가 된다. 두 번째 방정식에서는 −β sinδ wa²가 남는다.

따라서 일반적으로 M qddot=−∇U라고만 쓰면 틀린다. 배치에 의존하는 질량 행렬에는 추가 속도 의존 관성 항이 있다. 어떤 한 배치에서 비대각 성분이 0이어도 그 성분의 미분까지 0인 것은 아니다.

결합 방정식과 가속도 해

다음 벡터를 정의하자.

c=(βsin⁡δ wb2−βsin⁡δ wa2),G=((m1+m2)gl1sin⁡am2gl2sin⁡b).\boldsymbol c=\begin{pmatrix}\beta\sin\delta\,w_b^2\\-\beta\sin\delta\,w_a^2\end{pmatrix},\qquad \boldsymbol G=\begin{pmatrix}(m_1+m_2)gl_1\sin a\\m_2gl_2\sin b\end{pmatrix}.

운동방정식은

Mq¨+c+G=0.M\ddot{\boldsymbol q}+\boldsymbol c+\boldsymbol G=0.

각 행은 토크 N m 단위다. G는 위치에너지 기울기이므로 중력의 일반화 힘은 −G이다. c는 이번 좌표에서의 속도 의존 관성 항이며 추가 구동력이나 마찰력이 아니다.

행렬식은

det⁡M=m2l12l22(m1+m2sin⁡2δ)>0.\det M=m_2l_1^2l_2^2\left(m_1+m_2\sin^2\delta\right)>0.

질량과 길이가 양수이면 모든 각도 배치에서 역을 구할 수 있다. h=−c−G라 두면 aa=(M₂₂h₁−M₁₂h₂)/det M, ab=(M₁₁h₂−M₁₂h₁)/det M이다. 이것은 순간 가속도를 푼 결과다. 전체 시간 궤적을 얻으려면 별도의 ODE 적분이 필요하다.

방정식 수준의 에너지 검사

정확한 무구동계는 E=K+U를 보존한다. 직교 에너지를 미분하거나 행렬식을 전개하면

dEdt=q˙T(Mq¨+c+G)=0.\frac{dE}{dt}=\dot{\boldsymbol q}^{T} \left(M\ddot{\boldsymbol q}+\boldsymbol c+\boldsymbol G\right)=0.

속도 의존 항은 이 상쇄에 필요하다. 구현은 순간 에너지 미분과 수치 시간 궤적의 에너지 차이를 따로 계산한다. 순간 운동방정식 잔차가 작다고 유한 간격 적분기가 에너지를 정확히 보존하는 것은 아니다.

나중에 구동기를 추가하면 오른쪽에 외부 일률이 생긴다. 그때는 에너지가 물리적으로 변할 수 있으므로 에너지 변화와 공급된 일을 비교해야 한다. 이번 단원에는 그런 입력이 없다는 가정이 명시되어 있다.

직교 가속도와 막대 힘 복원

위치 사상을 두 번 미분한다. 첫 질점의 가속도는

a1=l1a¨(cos⁡asin⁡a)−l1wa2(sin⁡a−cos⁡a).\boldsymbol a_1=l_1\ddot a\begin{pmatrix}\cos a\\\sin a\end{pmatrix} -l_1w_a^2\begin{pmatrix}\sin a\\-\cos a\end{pmatrix}.

둘째 질점에는 둘째 막대의 같은 형태 항을 더한다. 중력 가속도를 gvec=(0,−g)라 하면 둘째 막대가 둘째 질점에 주는 힘은 R₂=m₂(a₂−gvec)이고 첫 막대가 첫 질점에 주는 힘은 R₁=m₁(a₁−gvec)+R₂다. 둘째 막대는 첫 질점에 −R₂를 준다.

이상적인 막대에서 각 힘의 자기 막대 접선 성분은 0이다. 총 구속 일률도 (R₁−R₂)·v₁+R₂·v₂=0이다. 힘이 비영이어도 일을 하지 않고 운동 방향을 바꿀 수 있다. 표시하는 부호 있는 장력은 바깥 방향 막대 단위벡터에 대한 힘의 투영에 음수를 붙인 값이다. 음수는 압축이며 이번 강체 막대에서는 허용된다.

예제: 대각 행렬에도 관성 결합이 남는다

m₁=m₂=l₁=l₂=1, a=π/2, b=0, wa=1, wb=−1로 두자. 질량 행렬은 diag(2,1)이지만 c=(1,−1) N m이고 G=(20,0) N m이다. 따라서 aa=−10.5 rad/s², ab=1 rad/s²다.

c를 생략하면 (−10,0)을 얻어 물리적으로 다른 가속도를 예측한다. K=1.5 J, U=20 J, E=21.5 J이며 순간 운동에너지 변화율은 −20 W, 위치에너지 변화율은 +20 W다. 힘은 R₁=(−1,0) N, R₂=(0,0.5) N이고 구속 일률은 0이다.

같은 배치에서 두 각속도를 0으로 두면 c=0이고 가속도는 (−10,0)이다. 두 질점은 처음 순간에 중력 가속도로 아래로 떨어지고 막대 힘은 0이다. 이후에도 막대 힘이 계속 0이라는 뜻은 아니다.

운동방정식을 시간 ODE로 바꾸기

상태를 z=(a,b,wa,wb)로 둔다. 그 미분은 (wa,wb,aa,ab)이고 각 시점의 가속도는 질량 행렬 연립방정식으로 구한다. 구현은 고전적인 명시적 4차 Runge–Kutta 방법을 사용한다. 한 걸음 안에서도 네 중간 상태의 질량 행렬과 속도 항을 각각 다시 평가한다.

기본 간격은 0.0025초를 2의 resolution−1제곱으로 나눈 값이며 해상도는 네 가지다. 다른 궤적은 그 간격의 절반으로 계산한다. 출력 곡선은 2초 동안 0.01초마다 샘플링한다. 조회 시각은 저장된 물리 상태를 선택하며 초기 상태나 내부 적분 간격을 바꾸지 않는다.

적절한 매끄러움과 고정 유한 구간에서 RK4의 전역 정확도는 4차다. 그렇다고 관측한 모든 끝점 오차가 간격을 절반으로 할 때 정확히 16분의 1이 되는 것은 아니다. 상쇄·누적 동역학·반올림의 영향이 있다. 이번 2초는 수치 실험 범위이며 교육과정의 전체 분량을 제한하는 규칙이 아니다.

오차 그래프를 정직하게 읽기

선택 간격과 절반 간격의 에너지 오차 E(t)−E(0)를 비교한다. 두 궤적의 각도 차이는 rad, 각속도 차이는 rad/s로 별도 축에 표시한다. 간격을 줄인 두 계산의 차이는 유용한 진단값이지만 알려지지 않은 정확한 해에 대한 보증된 오차 상한은 아니다. 에너지가 잘 보존된다는 사실만으로 위상이나 도착 시각의 정확성도 보장되지 않는다. 직교 위치를 각도에서 다시 생성하므로 시간 적분이 부정확해도 막대 길이는 구성상 유지된다. 작은 길이 잔차만으로 시간 운동의 정확성을 입증할 수 없다.

독립 기준값 생성기는 직교 에너지를 기호적으로 미분하고 DOP853으로 적분한다. 더 엄격한 허용오차와 더 작은 최대 간격으로 기준 계산의 일관성도 대조한다. 실행 모델과 기준 생성기는 서로의 가속도 공식을 읽어 쓰지 않는다.

아래쪽 정지와 정확한 위쪽 정지는 평형 검사다. 알려진 사분면 항등식으로 표현된 평형을 정지 상태로 유지한다. 위쪽 평형은 섭동에 불안정하므로 정확히 지정한 상태의 미분이 0이라는 사실을 강건성으로 해석하지 않는다. 짧은 복잡한 그림이나 수치 에너지 변화만으로 혼돈을 주장하지 않는다.

해설이 있는 연습 문제

  1. M이 대각인데 c가 비영일 수 있는 이유는? 해설: 한 각도에서 cos 결합 항이 0이어도 sin으로 나타나는 미분은 0이 아닐 수 있다. δ=π/2에서는 비대각 항이 0이지만 속도 관성 항은 남는다.
  2. 예제의 초기 가속도를 계산하자. 해설: 오른쪽은 −c−G=(−21,1)이다. 대각 성분 2,1로 나누면 (−10.5,1) rad/s²다. c를 생략하면 다른 결과가 된다.
  3. m₁=2,m₂=3인 아래쪽 정지에서 막대 힘은? 해설: R₂=(0,30) N이 둘째 질점을, R₁=(0,50) N이 두 질점을 지지한다. 속도가 0이므로 일률은 0이다.
  4. 위치에너지에 상수를 빼면 운동이 달라지는가? 해설: 상수의 좌표 기울기가 0이어서 운동은 같다. 절대 에너지 숫자는 바뀌지만 가속도·에너지 차이·에너지 오차는 같다.
  5. 적분 간격을 절반으로 줄이면 더 정확한 궤적이 곧 정확한 해인가? 해설: 둘 다 수치 근사다. 간격 차이, 독립 기준 궤적, 에너지 진단을 함께 비교하며 일치를 정확해의 증명으로 보지 않는다.
  6. 부호 있는 장력이 음수이면 시뮬레이션을 버려야 하는가? 해설: 이번 강체 막대는 압축을 전달할 수 있어 그렇지 않다. 팽팽한 줄 모델에는 다른 허용 힘 조건과 물리적 정식화가 필요하다.

AI 모델과 후속 주제 연결

배치에 의존하는 질량 행렬을 학습하면서 대응하는 관성 항을 빠뜨리면 국소 에너지는 그럴듯해도 실제 시간 운동은 틀릴 수 있다. 전체 방정식, 직교 힘 해석, 궤적 정확성을 각각 검사하자. 학습 모델이나 데이터를 비교할 때 좌표 약속과 위치에너지 영점을 명시한다.

이후에는 Hamiltonian 변수·Poisson 괄호·Noether 정리·구조 보존 적분법을 전개한다. 여기의 짧은 RK4 실험과 직접 에너지 항등식만으로 그 주제 전체를 완료했다고 보지 않는다. 이후의 정식화와 비교할 구체적인 동역학 예제를 마련한 것이다.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. 질량 행렬이 한 배치에서 대각이면 속도 관성 항도 0인가요?
2. 막대 길이 잔차가 작으면 시간 궤적도 정확한가요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.