14.12 전방 재귀: 각속도와 각가속도 전파

14.12 전방 재귀: 각속도와 각가속도 전파

1. 개요

전방 재귀에서 각속도와 각가속도가 베이스에서 말단으로 전파된다. 이는 후속의 동역학 계산의 기초이다. 본 절에서는 각속도와 각가속도의 전파를 다룬다.

2. 각속도의 전파

2.1 회전 관절

회전 관절 i의 경우, 링크 i의 각속도는 다음과 같다.

\boldsymbol{\omega}_i = \mathbf{R}_i^{i-1, T}\boldsymbol{\omega}_{i-1} + \dot q_i\hat{\mathbf{z}}_i

여기서 \hat{\mathbf{z}}_i는 관절 i의 회전 축의 단위 벡터(좌표계 i에서 표현)이다.

2.2 직선 관절

직선 관절의 경우 각속도가 변하지 않는다.

\boldsymbol{\omega}_i = \mathbf{R}_i^{i-1, T}\boldsymbol{\omega}_{i-1}

2.3 의미

회전 관절은 그 축 주위의 추가 각속도를 더한다. 직선 관절은 각속도를 보존한다.

3. 각가속도의 전파

3.1 회전 관절

회전 관절의 경우 각가속도는 다음과 같이 전파된다.

\dot{\boldsymbol{\omega}}_i = \mathbf{R}_i^{i-1, T}\dot{\boldsymbol{\omega}}_{i-1} + \ddot q_i\hat{\mathbf{z}}_i + \mathbf{R}_i^{i-1, T}\boldsymbol{\omega}_{i-1} \times \dot q_i\hat{\mathbf{z}}_i

마지막 항은 회전 좌표계의 효과로 등장한다.

3.2 직선 관절

직선 관절의 경우 각가속도가 단순히 전파된다.

\dot{\boldsymbol{\omega}}_i = \mathbf{R}_i^{i-1, T}\dot{\boldsymbol{\omega}}_{i-1}

4. 시작 조건

4.1 베이스

베이스(고정된 경우)의 각속도와 각가속도는 0이다.

\boldsymbol{\omega}_0 = \mathbf{0}

\dot{\boldsymbol{\omega}}_0 = \mathbf{0}

부유 베이스 시스템에서는 별도로 주어진다.

5. 알고리즘

ω_0 = 0
ω_dot_0 = 0

for i = 1 to n:
    if 회전 관절:
        ω_i = R^{i-1}_i^T ω_{i-1} + q_dot_i * z_i
        ω_dot_i = R^{i-1}_i^T ω_dot_{i-1} + q_ddot_i * z_i 
                  + (R^{i-1}_i^T ω_{i-1}) × (q_dot_i * z_i)
    else if 직선 관절:
        ω_i = R^{i-1}_i^T ω_{i-1}
        ω_dot_i = R^{i-1}_i^T ω_dot_{i-1}

6. 본 절의 의의

본 절은 전방 재귀의 각속도와 각가속도 전파를 다루었다. 이는 동역학 계산의 핵심 단계이며, 회전 관성력의 계산에 사용된다.

7. 참고 문헌

  • 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