닥터 쥰
긁어모으고. 기록하고. 고민하고.
닥터 쥰
전체 방문자
오늘
어제
  • 분류 전체보기
    • Robot Theory
      • Manipulator Theory
    • Project notes
      • Robot Operating System
      • Arduino
      • CAD program
    • 도전, 코딩테스트
      • Python version
    • Tutorial
    • Hobby Life
      • 짬짬이 독서!
      • 출퇴근 독서!
      • 레고
    • etc.

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • robot
  • 뉴턴 오일러 운동방정식
  • python
  • 라그랑지안
  • 출퇴근 독서
  • 로봇 동역학
  • 튜토리얼
  • theory
  • ros
  • UR3
  • 출퇴근독서
  • SWEA
  • Tutorial
  • control
  • 코딩테스트
  • 독서
  • 기구학
  • 수학
  • manipulator
  • control theory
  • Universal robot
  • Robot arm
  • kinematics
  • speed champions
  • 로봇 제어
  • 동역학
  • manipulator robot
  • 로봇
  • 매니퓰레이터
  • 짬짬이 독서

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
닥터 쥰

긁어모으고. 기록하고. 고민하고.

Dynamics and Inverse dynamics
Robot Theory/Manipulator Theory

Dynamics and Inverse dynamics

2022. 7. 25. 22:19

Dynamics and Inverse dynamics

로봇 동역학은 매니퓰레이터에 작용하는 힘/토크들과 관절 가속도 간의 관계를 기술 한 것입니다.

용도에 따라서 다음과 같이 2가지로 구분됩니다.

  • 순동역학 (forward dynamics or direct dynamics) : 주어진 입력 힘/토크에 대해서 로봇 운동 관절의 가속도를 산출하는 것.
    부가적으로 수치적분 알고리즘을 적용하여 로봇 운동관절의 속도/위치 정도까지도 확정하여 얻는 과정을 포함하여 forward dynamics라고 한다.
  • 역동역학 (inverse dynamics) : 주어진 운동 관절의 가속도 정보로 부터 로봇의 힘/토크를 산출하는 것.
    이를 확장하여 로봇 운동관절의 위치/속도/가속도가 주어져 있을 때, 상응하는 로봇 힘/토크를 대수적으로 계산하는 과정을 inverse dynamics이라 한다.

즉,
Forward dynamics는 torque/force $\rightarrow$ joint pos/vel ($q, \dot{q}$)정보를 얻는 과정이므로, 일반적으로 로봇 시뮬레이션을 구현할 때 주로 활용됩니다.
 Inverse dynamics는 로봇 위치제어, 힘 제어, 궤적 생성 및 최적화 등과 같은 다양한 목적으로 사용 되고 있습니다.

 


Inverse dynamics

실제 로봇 제어를 할 때, 많이 쓰이는 알고리즘이 Inverse dynamics 이기 때문에 Forward dynamics 보다 먼저 살펴보고자 합니다.

로봇 동역학 식을 다시 살펴 보겠습니다.

* 이때,
  $J(q)$는 매니퓰레이터 자코비안 입니다. 
  $f_{ext}$는 외부에서 로봇의 말단에 인가되는 힘/모멘트 벡터입니다.

이러한 inverse dynamics의 핵심은 관성행렬($M(q)$)과 비선형 토크벡터($\eta(q, \dot{q}, f_{ext})$)를 찾는 것입니다.

본 과정은 뉴턴-오일러 방식으로 접근할 경우, 식 (2.40) - (2.45)을 통해 산출되는 알고리즘 출력 $\tau_i$를 통해서 입력 조건들을 바꾸어가면서 얻을 수 있다.

 로봇 동역학 모델 식 (2.57)에서 가속도 정보는 관성행렬의 역행렬을 이용하여 얻을 수 있습니다.

식 (2.58)을 2n차원의 상태변수로 확장하여 정의하면 ($x\triangleq[q^T, \dot{q}^T\in\Re^{2n}]$)[각주:1] 다음과 같은 비선형 상미분 방정식을 구할 수 있습니다.

 외력을 측정하여 이미 알고 있다고 가정하고, 제어입력을 상태변수의 함수로 가정하면, 식 (2.59)를 $\dot{x}=f(x)$로 정리할 수 있습니다.

하지만 식 (2.59)를 해석적으로 풀어서 해를 구하는 것은 거의 불가능에 가까우므로, 수치 적분을 활용하여 근사해를 얻는 방법을 쓰게 됩니다. 결국 아래와 같은 오일러 적분을 적용하면,

 식 (2.60)에서 살펴보면, $\triangle T$는 sampling time을 의미하며 결국 시간 $t$에서 $\triangle T$시간 후의 상태변수의 근사 값을 얻게 되는 것입니다.

 물론, 식의 결과 값에 표기된 바와 같이 오차가 존재할 수 있지만 실제 제어할 때 최대한 $\triangle T$를 작게 가져가도록 노력해야 함을 알 수 있습니다.

 이러한 오일러 적분 법의 단점을 보완 한 것이 룬게-쿠타(Runge-Kutta) 적분법입니다.

 이를 통해 매우 정확하게 미분방정식의 근사 해를 얻을 수 있습니다.

 본 알고리즘을 이용하는 방법에 대한 구체적인 예가 아래에 제시되어 있습니다.

 이러한 Runge-Kutta법의 해는 $O(\triangle T^3)$에 비례하여 정확성을 가지는 것으로 알려져 있습니다.

즉, sampling time을 줄일수록 오차는 급격하게 줄어드는 것 입니다.

 

 

이상입니다.


* 본 글은 "실험로보틱스 교재 I(매니퓰래이션 및 비젼), 한국로봇학회, 제어로봇시스템학회, 한국로봇산업진흥원 "의 내용을 공부하면서 정리한 내용을 포스팅 한 것 입니다.
 
  1. $\triangleq$ : 정의하다, $\Re$: 실수 부 [본문으로]
저작자표시 비영리 동일조건 (새창열림)

'Robot Theory > Manipulator Theory' 카테고리의 다른 글

궤적 생성 방법  (0) 2022.08.29
동역학 파라미터들에 관한 선형 동역학  (0) 2022.08.14
동역학 - 뉴턴 오일러 운동방정식 3  (0) 2022.07.12
동역학 - 뉴턴 오일러 운동방정식 2  (0) 2022.07.04
동역학 - 뉴턴 오일러 운동방정식 1  (0) 2022.06.16
    'Robot Theory/Manipulator Theory' 카테고리의 다른 글
    • 궤적 생성 방법
    • 동역학 파라미터들에 관한 선형 동역학
    • 동역학 - 뉴턴 오일러 운동방정식 3
    • 동역학 - 뉴턴 오일러 운동방정식 2
    닥터 쥰
    닥터 쥰
    로봇 공학, 개인관심사를 기록하려구요.

    티스토리툴바