동역학 - 뉴턴 오일러 운동방정식 2
전진 순차
우선 전진 순차에 대해서 알아보도록 합시다.
global 좌표계를 기준으로 할 때, 0번 좌표계를 원점으로 하고 초기 속도/가속도 정보를 가지고 링크 1부터 링크 $n$까지 전진하면서 모든 링크에 부착된 각 좌표계 원점들의 속도와 가속도를 순차적으로 계산하는 것입니다.
일단 다음 그림과 같이 하나의 링크를 세우고, 일반화하여 따져봅니다.
위 그림과 같이 $i-1$번째 링크의 앞/뒤 관절에 붙어 있는 $i-1$번째 좌표계 원점을 $O_{i-1}$로, $i$번째 좌표계 원점을 $O_i$라고 표시합니다.
그러면 $i$번째 좌표계 원점의 직진속도 및 회전속도는 다음 수식과 같이 표현됩니다.
찬찬히 살펴보자면, $i-1$번째 좌표계 원점의 직진속도와 회전속도 + $i$ 번째 관절 변수의 기여도를 합하여 얻는 것을 알 수 있습니다.
위 식에서 사용하는 $a_i$와 $\zeta_i$는 다음과 같습니다.
- $a_i$는 $i$번째 관절 운동이 가능한 방향 벡터. 일반적으로 관절 운동 방향을 $z$축으로 설정하기 때문에 $a_i=[0, 0, 1]^T$입니다. - $\zeta_i$는 $i$번째 관절의 구동형태에 따라서 다음과 같이 정의됩니다. |
직진속도 및 회전속도를 구했으니 가속도도 유도해보자면,
$i$번째 좌표계 원점의 직진가속도 및 회전가속도를 $\dot{p_i}$ 와 $\omega_i$ 를 시간에 대한 미분을 하여 다음과 같이 얻을 수 있습니다.
이와 같이, 초기에 글로벌 기준좌표계($0$번째 좌표계)에 설정된 초기조건으로 부터 다음 $1$번 좌표계 원점의 속도/가속도를 얻고, 다시 다음 $2$번 좌표계의 원점의 속도/가속도를 얻고... 이렇게 순차적으로 $n$번 좌표계 원점의 속도/가속도까지 얻을 수 있습니다.
후진 역차
전진 순차는 링크 $1~n$까지 전진하면서 모든 링크에 부착된 좌표계 원점들의 직진 속도, 회전 속도 그리고 직진 가속도, 회전 가속도를 순차적으로 계산하는 것입니다.
후진 역차는 뉴턴 운동방정식을 적용하여 힘과 직진운동 사이의 관계식을 유도하고, 오일러의 회전 운동방정식을 적용하여 모멘트와 회전운동 사이의 관계식을 얻는 것입니다.
후진 역차는 전진 순차를 통해 얻은 모든 기구학 정보들(속도/가속도)을 활용하고,
로봇 말단에 인가되는 힘/모멘트 정도를 말단 조건으로 하여 $i=n$번 좌표계 원점의 힘/모멘트 정보를 얻고,
이를 기반으로 $i=n-1$번 좌표계의 힘/모멘트를 구하고,
또 이를 이용하여 $i=n-2, i=n-3, ... , i=1$좌표계의 힘/모멘트까지 얻는 과정입니다.
$i$번째 링크 무게 중심에서 직진속도는, 전진 순차에서 얻은 $i$번째 좌표계 원점의 직진속도를 활용하여 얻을 수 있습니다.
그리고, $i$번째 링크 무게중심의 직진 가속도는 직진속도를 시간에 대해 미분을 하여 유도할 수 있습니다.
뉴턴 2법칙을 적용하면 다음과 같은 힘의 균형 방정식을 얻을 수 있습니다.
* $외력(F)=관성(m)\cdot가속도(a)$
이때 식 (2.33)에서 $-f_{i+1}$은 $i+1$번째 링크에서 $i$ 번째 링크에 전달해 주는 반작용 힘벡터를 나타내는 것입니다.
식 (2.32)를 식 (2.33)에 적용한 후 정리하면, $i$번째 링크의 직진 운동방정식이 다음과 같이 얻어집니다.
식 (2.34)에서 중력($m_i \hat{g}$)에 의한 효과가 사라지는 이유는 전진 순차에서 초기 가속도로 중력가속도 벡터를 선정함에 의해 자동적으로 포함되기 때문입니다.
따라서 $\ddot{p_0}=-\hat{g}$로 취급하여 모든 링크에 중력의 효과를 부여할 수 있게 됩니다.
다시 $i$번째 링크의 무게중심을 기준으로 작용하는 모든 모멘트를 계산하고 이들의 합으로 모멘트 균형 방정식을 얻을 수 있습니다.
모멘트 균형방정식을 얻을 때 오일러의 회전 운동방정식을 적용합니다.
* 오일러의 회전 운동방정식: 외부 모멘트의 합이 관성 모멘트와 같다. 1
무게중심에 대해서 표현된 링크 관성행렬을 관절 좌표계로 평행이동하여 이용하는 것이 보다 편리합니다.
이를 위해서 Steiner's theorem (혹은 평행 축 정리)을 적용하면 $i$번째 좌표계 원점에 대한 링크 관성 행렬을 다음과 같이 얻을 수 있습니다.
이제 식 (2.36)을 식 (2.35)에 대입하여 정리하면 다음과 같은 회전운동 방정식을 얻을 수 있게 됩니다.
최종 단계로,
관절을 구동하는 힘/토크는 위에서 얻은 힘/모멘트 ($f_i$ / $\mu_i$)벡터를 관절 구동이 가능한 $a_i$ 벡터로 projection 시키고 난 후에,
관절 구동기 자체의 관성력, 구동 관절의 정지/운동 마찰력 등을 포함하여 다음과 같이 얻을 수 있습니다.
이상입니다.
* 본 글은 "실험로보틱스 교재 I(매니퓰래이션 및 비젼), 한국로봇학회, 제어로봇시스템학회, 한국로봇산업진흥원 "의 내용을 공부하면서 정리한 내용을 포스팅 한 것 입니다.
- https://ko.wikipedia.org/wiki/%EC%98%A4%EC%9D%BC%EB%9F%AC_%EC%9A%B4%EB%8F%99_%EB%B0%A9%EC%A0%95%EC%8B%9D [본문으로]
'Robot Theory > Manipulator Theory' 카테고리의 다른 글
Dynamics and Inverse dynamics (0) | 2022.07.25 |
---|---|
동역학 - 뉴턴 오일러 운동방정식 3 (0) | 2022.07.12 |
동역학 - 뉴턴 오일러 운동방정식 1 (0) | 2022.06.16 |
C(q, /dot{q})과 크리스토펠 심볼 식 활용 (0) | 2022.06.16 |
동역학 - 라그랑주 운동방정식 2 (0) | 2022.06.02 |