14.10 전방 재귀: 링크 속도 전파

1. 개요

뉴턴-오일러 재귀 알고리즘의 전방 재귀(forward recursion) 첫 번째 단계는 링크의 선속도를 베이스에서 말단으로 전파하는 것이다. 본 절에서는 링크 속도의 전파를 다룬다.

2. 링크의 선속도

2.1 정의

링크 i의 선속도는 일반적으로 그 링크의 좌표계 원점의 속도이다. 본체 좌표계에서 표현된다.

2.2 베이스의 속도

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

\mathbf{v}_0 = \mathbf{0}

부유 베이스 시스템(드론, 우주선)의 경우 베이스의 속도가 별도로 주어진다.

3. 속도의 전파

3.1 회전 관절

회전 관절의 경우 링크 i의 원점의 속도는 다음과 같이 전파된다.

\mathbf{v}_i = \mathbf{R}_i^{i-1, T}(\mathbf{v}_{i-1} + \boldsymbol{\omega}_{i-1} \times \mathbf{r}_{i-1, i})

여기서

  • \mathbf{R}_i^{i-1, T}: 좌표계 변환
  • \mathbf{r}_{i-1, i}: 좌표계 i - 1의 원점에서 좌표계 i의 원점으로의 벡터

3.2 직선 관절

직선 관절의 경우 추가 항이 등장한다.

\mathbf{v}_i = \mathbf{R}_i^{i-1, T}(\mathbf{v}_{i-1} + \boldsymbol{\omega}_{i-1} \times \mathbf{r}_{i-1, i}) + \dot d_i\hat{\mathbf{z}}_i

여기서 \dot d_i는 직선 관절의 변위의 시간 미분이다.

4. 의미

4.1 회전 효과

회전 좌표계의 효과로 \boldsymbol{\omega}_{i-1} \times \mathbf{r}_{i-1, i} 항이 등장한다. 이는 회전하는 좌표계의 한 점이 가지는 속도이다.

4.2 좌표계 변환

회전 행렬 \mathbf{R}_i^{i-1, T}이 속도 벡터를 좌표계 i - 1에서 좌표계 i로 변환한다.

5. 질량 중심의 속도

5.1 계산

링크 i의 질량 중심의 속도는 좌표계 i의 원점의 속도와 회전 효과로부터 계산된다.

\mathbf{v}_{c,i} = \mathbf{v}_i + \boldsymbol{\omega}_i \times \mathbf{r}_{c,i}

여기서 \mathbf{r}_{c,i}는 좌표계 i의 원점에서 질량 중심으로의 벡터이다.

5.2 응용

질량 중심의 속도는 운동 에너지 계산과 동역학 분석에 사용된다.

6. 알고리즘

v_0 = 0
for i = 1 to n:
    if 회전 관절:
        v_i = R^{i-1}_i^T (v_{i-1} + ω_{i-1} × r_{i-1,i})
    else if 직선 관절:
        v_i = R^{i-1}_i^T (v_{i-1} + ω_{i-1} × r_{i-1,i}) + d_dot_i * z_i
    
    v_{c,i} = v_i + ω_i × r_{c,i}

7. 본 절의 의의

본 절은 전방 재귀의 링크 속도 전파를 다루었다. 이는 뉴턴-오일러 재귀 알고리즘의 첫 단계이며, 이후의 가속도 전파와 동역학 계산의 기초이다.

8. 참고 문헌

  • 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.
  • Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.

version: 1.0