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