17.17 중력 토크 벡터의 계산

1. 개요

매니퓰레이터 동역학 운동 방정식에서 중력 토크 벡터 \mathbf{g}(\mathbf{q}) \in \mathbb{R}^n은 오직 자세에만 의존하는 항으로, 중력이 각 관절에 유발하는 일반화 힘을 기술한다. 중력은 모든 로봇 시스템에 지속적으로 작용하는 가장 큰 환경 힘 중 하나이며, 그 정확한 계산은 제어 설계, 궤적 계획, 매개변수 식별, 그리고 정적 평형 해석에 필수적이다. 중력 보상에 관한 개념적 측면은 이미 앞 절에서 다루어졌으며, 본 절은 중력 토크 벡터를 실제로 어떻게 산출하는지에 초점을 맞춘다.

본 절에서는 위치 에너지 기반의 해석적 유도, 재귀 알고리즘에 의한 효율적 계산, 링크 매개변수와의 관계, 그리고 수치 구현 시 고려해야 할 사항을 학술적으로 기술한다.

2. 위치 에너지 기반 정의

중력 토크 벡터는 라그랑주 역학의 위치 에너지 U(\mathbf{q})의 관절 변수에 대한 편미분으로 정의된다.

\mathbf{g}(\mathbf{q}) = \frac{\partial U(\mathbf{q})}{\partial \mathbf{q}}

위치 에너지는 각 링크의 질량과 질량 중심의 수직 좌표에 의하여 결정되며, 다음의 합으로 표현된다.

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

여기서 m_i는 링크 i의 질량, \mathbf{p}_{c,i}(\mathbf{q}) \in \mathbb{R}^3은 세계 좌표계에서 본 링크 i의 질량 중심 위치, \mathbf{g}_0 \in \mathbb{R}^3은 세계 좌표계의 중력 가속도 벡터이다. 중력 가속도 벡터는 일반적으로 \mathbf{g}_0 = [0, 0, -g]^T(수직 아래 방향)로 설정되며, g \approx 9.80665 \, \mathrm{m/s^2}의 값이 사용된다.

부호 규약에 주의가 필요하다. 위 식에서 음의 부호는 질량 중심이 중력 방향의 반대 방향(즉 위쪽)으로 이동할 때 위치 에너지가 증가해야 한다는 사실을 반영한다.

3. 자코비안을 이용한 해석적 표현

중력 토크 벡터는 각 링크 질량 중심의 자코비안을 이용하여 다음과 같이 명시적으로 표현된다.

\mathbf{g}(\mathbf{q}) = -\sum_{i=1}^{n} m_i \, \mathbf{J}_{v,i}^T(\mathbf{q}) \, \mathbf{g}_0

여기서 \mathbf{J}_{v,i}(\mathbf{q}) \in \mathbb{R}^{3 \times n}은 링크 i의 질량 중심 위치에 대한 선형 속도 자코비안이다. 이 식은 위치 에너지의 정의를 관절 변수에 대하여 미분하고, 편미분의 연쇄 규칙을 적용하면 직접 유도된다.

\frac{\partial U}{\partial \mathbf{q}} = -\sum_{i=1}^{n} m_i \, \mathbf{g}_0^T \, \frac{\partial \mathbf{p}_{c,i}}{\partial \mathbf{q}} = -\sum_{i=1}^{n} m_i \, \mathbf{g}_0^T \, \mathbf{J}_{v,i}(\mathbf{q})

전치를 취하면 위의 벡터 형식이 얻어진다. 이 표현은 중력 토크가 각 링크 질량 중심의 자코비안 전치에 링크 무게를 곱한 값의 합이라는 물리적 해석을 제공한다. 이는 자코비안 전치가 외력을 관절 토크로 변환하는 정적 관계의 일관된 확장이다.

4. 직접 계산의 절차

해석적 표현식을 실제로 계산하려면 다음 단계가 필요하다. 첫째, 매니퓰레이터의 기구학을 이용하여 각 링크의 질량 중심 위치 \mathbf{p}_{c,i}(\mathbf{q})를 계산한다. 둘째, 각 질량 중심에 대한 자코비안 \mathbf{J}_{v,i}(\mathbf{q})를 계산한다. 셋째, 각 링크의 기여 -m_i \mathbf{J}_{v,i}^T \mathbf{g}_0를 계산하여 합산한다.

이러한 절차는 명시적이고 이해하기 쉬우나, 매니퓰레이터가 커짐에 따라 계산 비용이 증가한다. 각 링크의 자코비안은 상류 관절의 자코비안을 재사용하여 점진적으로 계산할 수 있으므로, 효율적 구현에서는 중복 계산을 피하는 재귀적 절차가 채택된다.

5. 재귀 뉴턴-오일러 알고리즘에 의한 계산

재귀 뉴턴-오일러 알고리즘(recursive Newton-Euler algorithm, RNEA)은 임의의 관절 속도와 가속도에서 필요한 관절 토크를 O(n)의 계산 복잡도로 산출한다. 이 알고리즘을 이용하여 중력 토크만을 계산하려면 속도와 가속도를 모두 영으로 설정하고 외력을 영으로 둔 상태에서 알고리즘을 실행하면 된다. 그 결과로 얻어지는 관절 토크 벡터는 정확히 중력 토크 \mathbf{g}(\mathbf{q})에 해당한다.

재귀 뉴턴-오일러 알고리즘의 전진 재귀에서는 베이스로부터 말단 방향으로 각 링크의 속도, 가속도, 그리고 질량 중심의 선형 가속도가 계산된다. 중력 토크만을 구할 때에는 베이스의 초기 가속도를 -\mathbf{g}_0로 설정함으로써 중력의 효과를 관성 가속도의 형태로 주입한다. 이러한 트릭을 사용하면 중력 기여가 자연스럽게 재귀 계산에 포함된다. 후진 재귀에서는 말단으로부터 베이스 방향으로 각 링크의 내부 반력과 모멘트가 계산되며, 각 관절의 축 방향 성분이 중력 토크의 해당 원소로 제공된다.

이 방법은 명시적 자코비안 계산 없이 중력 토크를 산출할 수 있다는 장점을 지니며, 실시간 제어에 적합하다. 또한 알고리즘의 구조상 매니퓰레이터의 일반적 형태(분기 구조, 폐쇄 체인, 여유 자유도)로 자연스럽게 확장된다.

6. 말단 페이로드와 공구의 처리

매니퓰레이터의 말단 효과기에 공구나 페이로드가 부착된 경우, 이들의 질량과 질량 중심도 중력 토크에 기여한다. 이를 반영하려면 해당 질량을 말단 링크의 질량에 추가하고, 질량 중심 위치를 말단 링크와 공구를 포함한 복합 강체의 질량 중심으로 갱신한다. 또는 별도의 가상 링크로 공구를 모델링하여 표준 알고리즘에 추가할 수도 있다.

페이로드가 작업 중에 교환되는 경우, 중력 토크 계산에 사용되는 질량과 질량 중심 정보가 실시간으로 갱신되어야 한다. 특히 파지와 놓기가 반복되는 작업에서는 이러한 갱신이 누락되면 제어 오차가 발생하며, 센서를 통한 페이로드 동정이 결합되는 경우가 많다.

7. 베이스 자세가 변하는 경우

고정된 베이스 로봇에서는 중력 가속도 벡터 \mathbf{g}_0가 베이스 좌표계에 대하여 일정하다. 반면 이동 베이스 로봇, 선박이나 항공기에 탑재된 로봇, 경사면에서 작동하는 로봇의 경우에는 베이스의 기울기가 변함에 따라 베이스 좌표계에서 본 중력 방향이 달라진다.

이러한 경우 중력 토크 계산은 베이스 좌표계에서 본 중력 벡터 \mathbf{g}^{\text{base}}를 실시간으로 갱신하여 수행한다. 베이스의 기울기는 관성 측정 장치(IMU)의 가속도계로부터 추정되거나, 베이스의 자세 추정 시스템으로부터 제공된다. 중력 보상이 올바르게 수행되려면 이 추정의 정확도가 보장되어야 하며, 추정 오차는 중력 토크 계산에 직접적인 영향을 미친다.

8. 매개변수와의 선형 관계

중력 토크 벡터는 링크의 질량과 질량 중심 위치에 대하여 선형이다. 구체적으로 링크 i의 기여는 m_i에 비례하며, 또한 질량 중심의 좌표 성분에 대해서도 선형이다. 이러한 선형성은 매개변수 식별에서 중요하게 활용된다.

전체 중력 토크를 기저 매개변수(base parameters) 벡터 \boldsymbol{\theta}_g와 그에 대응하는 회귀 행렬 \mathbf{Y}_g(\mathbf{q})의 곱으로 표현할 수 있다.

\mathbf{g}(\mathbf{q}) = \mathbf{Y}_g(\mathbf{q}) \boldsymbol{\theta}_g

이 선형 형식을 이용하여, 여러 자세에서 측정된 정적 관절 토크를 기반으로 중력 매개변수를 최소자승법으로 식별할 수 있다. 이는 본 장의 매개변수 식별 절에서 다루어지는 더 일반적인 동역학 매개변수 식별의 특수 경우에 해당하며, 관성 매개변수 식별 없이도 중력 관련 매개변수만을 독립적으로 식별할 수 있다는 실무적 장점을 가진다.

수치 구현의 고려 사항

중력 토크 벡터의 수치 구현에서는 다음의 사항이 고려되어야 한다. 첫째, 중력 가속도 벡터는 물리 법칙이 정의된 기준 좌표계(일반적으로 월드 좌표계)에서 명시되어야 하며, 좌표 변환 과정에서 부호와 방향의 오류가 없어야 한다. 둘째, 각 링크의 질량과 질량 중심 정보는 일관된 단위와 좌표계로 표현되어야 한다.

셋째, 재귀 계산을 사용할 때 베이스 가속도에 -\mathbf{g}_0를 주입하는 방식은 부호에 주의를 요한다. 이 부호가 잘못되면 중력 토크가 반대 방향으로 계산되어 시스템이 불안정해질 수 있다. 넷째, 말단 공구의 갱신이 제어 주기마다 동기화되어야 한다. 작업 중 공구나 페이로드가 바뀌는 순간에는 갱신 지연이 발생하지 않도록 구현되어야 한다.

다섯째, 수치적 검증을 위하여 동일한 문제에 대하여 자코비안 기반 직접 계산과 재귀 알고리즘의 결과를 비교하는 단위 테스트가 권장된다. 두 방법의 결과는 수치 오차 범위 내에서 일치해야 하며, 불일치가 발생하면 구현 오류를 시사한다.

특수 형태의 매니퓰레이터에서의 단순화

특수한 매니퓰레이터 구조에서는 중력 토크 벡터가 상당히 단순한 형태를 가진다. 예를 들어 수직축을 중심으로 회전하는 관절은 중력 토크 기여가 영이며, 이는 회전 운동이 위치 에너지를 변화시키지 않기 때문이다. 구체적으로 직교 좌표에서 수직축(보통 z축)을 중심으로 한 회전은 어느 하류 링크의 수직 위치도 변경하지 않으므로, 해당 관절의 중력 토크는 정확히 영이다.

이러한 대칭성은 기본적인 4자유도 SCARA 매니퓰레이터, 수직 기둥 주위의 회전 관절을 가진 로봇, 그리고 델타 로봇의 기부 관절 등에서 나타나며, 중력 토크 계산과 제어 설계를 단순화한다.

상수 매니퓰레이터 예시

간단한 2자유도 평면 매니퓰레이터가 중력이 있는 수직 평면 내에서 운동하는 경우, 중력 토크 벡터는 다음과 같이 표현된다.

\mathbf{g}(\mathbf{q}) = \begin{bmatrix} (m_1 \ell_{c,1} + m_2 \ell_1) g \cos q_1 + m_2 \ell_{c,2} g \cos(q_1 + q_2) \\ m_2 \ell_{c,2} g \cos(q_1 + q_2) \end{bmatrix}

여기서 \ell_i는 링크 i의 길이, \ell_{c,i}는 링크 i의 질량 중심까지의 거리이다. 이 간단한 예는 중력 토크가 삼각 함수의 합으로 표현되며, 관절 각의 함수로서 명확한 변화 양상을 보인다는 사실을 드러낸다.

6자유도 산업용 매니퓰레이터의 경우 중력 토크의 각 원소는 여러 삼각 함수의 곱의 합으로 표현되며, 수식은 복잡하지만 원리는 동일하다.

9. 본 절의 의의

본 절에서 기술한 중력 토크 벡터의 계산은 매니퓰레이터 동역학 구현의 기본 요소이며, 정적 평형 해석, 중력 보상 제어, 그리고 매개변수 식별 모두에서 반복적으로 사용된다. 해석적 자코비안 기반 표현과 재귀 알고리즘 기반 계산은 각각의 장단점을 가지며, 구현 맥락에 따라 선택된다.

본 절의 결과는 이후 동역학 기반 제어기 설계, 준정적 궤적 해석, 그리고 시뮬레이션 검증에서 지속적으로 참조된다. 중력 토크의 정확한 계산 능력은 로봇 동역학 구현의 기본 신뢰성을 결정한다.

10. 학습 권장사항

본 절의 내용을 충분히 이해하기 위하여 라그랑주 역학의 위치 에너지 개념, 매니퓰레이터 기구학, 그리고 자코비안의 정의와 계산에 대한 선행 학습이 권장된다. 본 절의 내용을 심화 학습하기 위해서는 재귀 뉴턴-오일러 알고리즘의 구체적 유도, 공간 벡터 대수, 그리고 동역학 매개변수 식별 이론에 대한 추가 학습이 권장된다.

11. 참고 문헌

  • Luh, J. Y. S., Walker, M. W., and Paul, R. P. C. (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., and Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.
  • Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Craig, J. J. (2018). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
  • Murray, R. M., Li, Z., and Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
  • Khalil, W., and Dombre, E. (2002). Modeling, Identification and Control of Robots. Hermes Penton.

version: 1.0