14.19 역동역학 문제의 정의와 해법
1. 개요
역동역학 문제(inverse dynamics problem)는 주어진 매니퓰레이터의 운동(관절 변수, 속도, 가속도)에 필요한 관절 토크를 계산하는 문제이다. 이는 제어 알고리즘과 매개변수 식별에 핵심적이다. 본 절에서는 역동역학 문제의 정의와 해법을 다룬다.
2. 역동역학 문제의 정의
2.1 입력과 출력
- 입력: 관절 변수 \mathbf{q}, 관절 속도 \dot{\mathbf{q}}, 관절 가속도 \ddot{\mathbf{q}}
- 출력: 관절 토크 \boldsymbol{\tau}
2.2 운동 방정식
매니퓰레이터의 운동 방정식은 다음과 같다.
\boldsymbol{\tau} = \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q})
역동역학은 이 식을 직접 평가한다.
3. 해법
3.1 직접 평가
가장 단순한 방법은 운동 방정식을 직접 평가하는 것이다. 그러나 이는 비효율적이다.
3.2 뉴턴-오일러 재귀
뉴턴-오일러 재귀 알고리즘이 가장 효율적이다. 시간 복잡도는 O(n)이다.
3.3 절차
- 전방 재귀: 운동학적 양 (속도, 가속도) 전파
- 후방 재귀: 동역학적 양 (힘, 토크) 전파
- 관절 토크 추출
이 알고리즘은 이미 자세히 다루었다.
4. 응용
4.1 계산 토크 제어
계산 토크 제어(computed torque control)는 역동역학을 사용하여 동역학을 보상한다.
\boldsymbol{\tau} = \mathbf{M}(\mathbf{q})(\ddot{\mathbf{q}}_d + \mathbf{u}) + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q})
여기서 \ddot{\mathbf{q}}_d는 목표 가속도, \mathbf{u}는 보정 항이다.
4.2 매개변수 식별
매개변수 식별 실험에서 측정된 운동에 대한 예상 토크가 역동역학으로 계산된다. 측정 토크와의 비교로 매개변수를 추정한다.
4.3 액추에이터 선정
매니퓰레이터의 액추에이터 선정에서 운동에 필요한 토크가 역동역학으로 계산된다.
5. 본 절의 의의
본 절은 역동역학 문제의 정의와 해법을 다루었다. 역동역학은 제어와 매개변수 식별의 핵심이며, 뉴턴-오일러 재귀 알고리즘이 효율적인 해법을 제공한다.
6. 참고 문헌
- Luh, J. Y. S., Walker, M. W., & Paul, R. P. (1980). “On-line computational scheme for mechanical manipulators.” Journal of Dynamic Systems, Measurement, and Control, 102(2), 69–76.
- Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.
- Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
version: 1.0