🦾 로봇 동역학이란?
지금까지 우리는 로봇팔의 위치, 속도, 도달 가능한 영역에 대해 알아보았습니다.
하지만 실제로 로봇을 움직이기 위해서는,
“어떤 동작을 만들기 위해 관절에 얼마만큼의 힘(토크)을 줘야 하는가?”
가 핵심입니다.
바로 이 질문에 답하는 것이 로봇 동역학(Robot Dynamics)입니다.
🧮 로봇 동역학을 이해하는 두 가지 방법
- Newton-Euler 방식: 힘/토크의 균형을 기반으로 직접 계산
- Lagrangian 방식: 운동에너지 - 위치에너지 기반의 수식 유도
→ 더 수학적으로 깔끔하게 정리 가능
이번 글에서는 Lagrangian 방식을 기반으로, 평면상의 2자유도(2-DOF) 로봇팔의 동역학 모델이 어떤 형태로 유도되는지 결과 중심으로 소개하겠습니다.
⚙️ Lagrangian 이란?
Lagrangian은 운동 에너지와 위치 에너지의 차이를 중심으로 시스템의 운동 방정식을 유도하는 방법입니다.
로봇팔처럼 여러 관절이 연결된 복잡한 시스템에서도 힘을 직접 다루지 않고, 에너지로부터 간접적으로 토크를 계산할 수 있기 때문에 수식이 더 깔끔하고 일반적인 형태로 정리되는 장점이 있습니다.
$$
L = T - U
$$
- $T$: 운동 에너지
- $U$: 위치 에너지
- $L$: 라그랑지안
자연은 이 $L$의 전체 값을 가능한 작게(또는 일정하게) 유지하는 경로로 움직이려고 하며,
이 성질을 수학적으로 표현한 것이 바로 해밀턴의 원리입니다.
해밀턴의 원리에 따르면,
모든 가능한 경로 중에서 의 적분값이 최소가 되도록 하는 경로가 실제 운동 경로가 됩니다:
$$
\delta \int_{t_0}^{t_1} L(q, \dot{q}, t)\, dt = 0
$$
이걸 변분법(Calculus of Variations)으로 풀면 다음 수식이 등장합니다:
해밀턴의 원리나 변분법이나 뭔지 잘 모르셔도 됩니다. 그냥 이런게 있구나 해주세요.
라그랑주 방정식만 어떻게 생겼는지 알면 됩니다.
\frac{d}{dt} \left( \frac{\partial L}{\partial \dot{q}_i} \right) - \frac{\partial L}{\partial q_i} = \tau_i
$$
→ 바로 오일러-라그랑주 방정식(Euler-Lagrange Equation)이고,
→ 이걸 통해 각 관절에 필요한 토크 $\tau_{i}$를 계산할 수 있습니다.
📌 동역학 모델의 기본 변수
- 관절각: \(\theta_1\), \(\theta_2\)
- 관절각 속도: \(\dot{\theta}_1\), \(\dot{\theta}_2\)
- 관절각 가속도: \(\ddot{\theta}_1\), \(\ddot{\theta}_2\)
- 링크 길이: \(L_1\), \(L_2\)
- 링크 질량: \(m_1\), \(m_2\)
- 링크 관성모멘트 : \(I_1\), \(I_2\)
- 중력 가속도: \(g\)
✍ 최종적으로 얻어지는 운동 방정식
$$
\mathbf{M}(\theta)
\begin{bmatrix}
\ddot{\theta}_1 \\
\ddot{\theta}_2
\end{bmatrix}
+
\mathbf{C}(\theta, \dot{\theta})
\begin{bmatrix}
\dot{\theta}_1 \\
\dot{\theta}_2
\end{bmatrix}
+
\mathbf{G}(\theta)
=
\begin{bmatrix}
\tau_1 \\
\tau_2
\end{bmatrix}
$$
여기서,
- \(\mathbf{M}(\theta)\): 질량관성 행렬 (inertia matrix)
- \(\mathbf{C}(\theta, \dot{\theta})\): 코리올리 및 원심력 항
- \(\mathbf{G}(\theta)\): 중력 항
- \(\tau_1, \tau_2\): 각 관절에 가해지는 토크
🧩 이 수식으로 할 수 있는 것들
- 정적인 포즈에서 중력 보상 토크 계산
- 링크 길이·질량에 따라 동작 특성 분석
- 실제 궤적 \(\theta(t)\) 를 따라가려면, 토크가 어떻게 변해야 하는지 시뮬레이션 가능
- 제어기 설계(예: CTC, 피드포워드 등)의 기반이 되는 핵심 방정식
📘 다음 편 예고
이번 글에서는 로봇 동역학(Robot Dynamics)이 어떤 구조를 가지는지를 간단히 살펴보았습니다. 다음 글에서는 로봇 동역학을 실제로 어떻게 유도하는지, Lagrangian 방법을 이용한 유도 과정을 부록처럼 자세히 풀어보겠습니다.
'로봇공학기초' 카테고리의 다른 글
[로봇공학기초 / 2DOF] #9. 로봇 제어 Part 2 – PD 제어 + 중력 보상 (0) | 2025.05.02 |
---|---|
[로봇공학기초 / 2DOF] #6-3. Trajectory Planning (Quintic Polynomial Trajectory) (0) | 2025.04.18 |
[로봇공학기초 / 2DOF] #6-2. Trajectory Planning (Cubic Polynomial Trajectory) (0) | 2025.04.16 |
[로봇공학기초 / 2DOF] #6-1. Trajectory Planning (궤적계획) (0) | 2025.04.07 |
[로봇공학기초 / 2DOF] #5. Singularity (특이점) (0) | 2025.04.04 |