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 절차

  1. 전방 재귀: 운동학적 양 (속도, 가속도) 전파
  2. 후방 재귀: 동역학적 양 (힘, 토크) 전파
  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