15.25 직렬 매니퓰레이터의 라그랑주 동역학 모델링

15.25 직렬 매니퓰레이터의 라그랑주 동역학 모델링

1. 개요

직렬 매니퓰레이터의 라그랑주 동역학 모델링은 운동 에너지와 위치 에너지를 일반화 좌표의 함수로 표현한 후 라그랑주 방정식을 적용하여 동역학 방정식을 유도하는 절차이다. 본 절에서는 직렬 매니퓰레이터의 라그랑주 동역학 모델링 절차를 자세히 다룬다.

2. 모델링 절차

2.1 단계 요약

직렬 매니퓰레이터의 라그랑주 동역학 모델링은 다음의 단계로 진행된다.

  1. 운동학 모형의 정의 (좌표계, 디나비트-하르텐베르크 매개 변수)
  2. 각 링크의 질량 중심 위치와 방향의 계산
  3. 자코비안의 계산 (선속도와 각속도)
  4. 운동 에너지의 계산
  5. 위치 에너지의 계산
  6. 라그랑지언의 형성
  7. 라그랑주 방정식의 적용

3. 운동학 모형

3.1 좌표계

각 링크에 대해 좌표계 \{i\}가 정의된다. 디나비트-하르텐베르크(DH) 표기법이 일반적으로 사용된다.

3.2 동차 변환

좌표계 \{i-1\}에서 \{i\}로의 변환은 다음의 동차 변환으로 표현된다.

{}^{i-1}\mathbf{T}_i = \begin{bmatrix} {}^{i-1}\mathbf{R}_i & {}^{i-1}\mathbf{p}_i \\ \mathbf{0}^T & 1 \end{bmatrix}

3.3 누적 변환

기저 좌표계 \{0\}에서 좌표계 \{i\}로의 누적 변환은

{}^{0}\mathbf{T}_i = {}^{0}\mathbf{T}_1 {}^{1}\mathbf{T}_2 \cdots {}^{i-1}\mathbf{T}_i

4. 질량 중심의 위치

4.1 정의

각 링크의 질량 중심 위치는 그 링크의 좌표계에서 정의되고 기저 좌표계로 변환된다.

{}^{0}\mathbf{r}_{c,i} = {}^{0}\mathbf{T}_i \cdot {}^{i}\mathbf{r}_{c,i}

여기서 {}^{i}\mathbf{r}_{c,i}는 링크 i의 좌표계에서의 질량 중심 위치이다.

4.2 자세

각 링크의 자세는 회전 행렬 {}^{0}\mathbf{R}_i로 표현된다.

5. 자코비안의 계산

5.1 선속도 자코비안

링크 i의 질량 중심의 선속도 자코비안은 다음과 같이 계산된다.

\mathbf{J}_{v,i}(\mathbf{q}) = \frac{\partial {}^{0}\mathbf{r}_{c,i}}{\partial \mathbf{q}}

또는 운동학적 사슬을 따라 계산할 수 있다.

회전 관절 j의 경우 (j \leq i)

\mathbf{J}_{v,i}^{(j)} = {}^{0}\mathbf{z}_{j-1} \times ({}^{0}\mathbf{r}_{c,i} - {}^{0}\mathbf{r}_{j-1})

직선 관절 j의 경우

\mathbf{J}_{v,i}^{(j)} = {}^{0}\mathbf{z}_{j-1}

5.2 각속도 자코비안

링크 i의 각속도 자코비안은 다음과 같다.

회전 관절 j의 경우

\mathbf{J}_{\omega,i}^{(j)} = {}^{0}\mathbf{z}_{j-1}

직선 관절 j의 경우

\mathbf{J}_{\omega,i}^{(j)} = \mathbf{0}

5.3 영향 범위

관절 j > i는 링크 i에 영향을 주지 않으므로 그에 대응하는 자코비안 열은 0이다.

6. 운동 에너지의 계산

6.1 링크별 운동 에너지

각 링크의 운동 에너지는 병진 운동 에너지와 회전 운동 에너지의 합이다.

T_i = \frac{1}{2}m_i (\mathbf{J}_{v,i}\dot{\mathbf{q}})^T(\mathbf{J}_{v,i}\dot{\mathbf{q}}) + \frac{1}{2}(\mathbf{J}_{\omega,i}\dot{\mathbf{q}})^T \bar{\mathbf{I}}_i (\mathbf{J}_{\omega,i}\dot{\mathbf{q}})

여기서 \bar{\mathbf{I}}_i = \mathbf{R}_i\mathbf{I}_i\mathbf{R}_i^T는 기저 좌표계에서 표현된 관성 텐서이다.

6.2 총 운동 에너지

T = \sum_{i=1}^{n}T_i = \frac{1}{2}\dot{\mathbf{q}}^T\mathbf{M}(\mathbf{q})\dot{\mathbf{q}}

여기서

\mathbf{M}(\mathbf{q}) = \sum_{i=1}^{n}(m_i\mathbf{J}_{v,i}^T\mathbf{J}_{v,i} + \mathbf{J}_{\omega,i}^T\bar{\mathbf{I}}_i\mathbf{J}_{\omega,i})

7. 위치 에너지의 계산

7.1 중력 위치 에너지

매니퓰레이터의 위치 에너지는 일반적으로 중력 위치 에너지가 지배적이다.

U(\mathbf{q}) = -\sum_{i=1}^{n}m_i \mathbf{g}_0^T {}^{0}\mathbf{r}_{c,i}(\mathbf{q})

여기서 \mathbf{g}_0는 중력 가속도 벡터이다.

8. 라그랑지언과 운동 방정식

8.1 라그랑지언

L(\mathbf{q}, \dot{\mathbf{q}}) = T(\mathbf{q}, \dot{\mathbf{q}}) - U(\mathbf{q})

8.2 라그랑주 방정식의 적용

각 일반화 좌표에 대해 라그랑주 방정식을 적용하면 동역학 방정식이 얻어진다.

\frac{d}{dt}\frac{\partial L}{\partial \dot{q}_i} - \frac{\partial L}{\partial q_i} = \tau_i

8.3 표준 형식

결과는 다음의 표준 형식이다.

\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q}, \dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}

9. 모델링의 검증

9.1 대칭성

관성 행렬이 대칭임을 확인한다.

9.2 양정치성

관성 행렬이 양정행렬임을 확인한다.

9.3 차원

각 항의 차원이 일관됨을 확인한다.

9.4 단위 시험

특수한 경우(예: 정지 상태, 단순 운동)에서 결과가 예상과 일치하는지 확인한다.

10. 자동화 도구

10.1 기호 계산

기호 계산 도구(SymPy, Mathematica, Maple)를 사용하여 라그랑지언과 운동 방정식을 자동으로 유도할 수 있다.

10.2 코드 생성

자동 생성된 운동 방정식을 효율적인 코드로 변환할 수 있다.

10.3 라이브러리

매니퓰레이터 동역학 라이브러리(Pinocchio, RBDL, KDL 등)는 라그랑주 동역학을 효율적으로 계산한다.

11. 본 절의 의의

본 절은 직렬 매니퓰레이터의 라그랑주 동역학 모델링 절차를 다루었다. 이 절차는 매니퓰레이터의 정확한 동역학 모형 도출의 표준 방법이다.

12. 참고 문헌

  • 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.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2010). Robotics: Modelling, Planning and Control. Springer.
  • Featherstone, R. (2008). Rigid Body Dynamics Algorithms. Springer.

version: 1.0