속도 기구학 (Velocity Kinematics)
속도 수준에서 관절 공간과 작업 공간의 관계를 표현합니다.
사실 kinematics/inverse kinematics 는 비선형 관계입니다.
Forward kinematics는 task space로의 해가 나오지만, 그 역은 exact한 해가 결정되지 않기 때문입니다.
따라서 선형 관계가 성립하는 미소 움직임에서의 표현 방법($\dot{q} \to \dot{p}$)을 알아야 합니다.
자코비안 (Jacobian) 1
$m$ 차원 벡터 $p=[p_1, p_2, ... , p_m]^T$ 가 $n$ 차원 벡터 $q=[q_1, q_2, ... , q_n]^T$ 의 함수로 정의 된다고 할 때, Jacobian은 다음과 같이 정의 할 수 있다.
이와 같이 매니퓰레이터의 말단의 자세 $p$ 와 관절각 $q$ 를 단위 시간 $t$ 의 함수로 표현한다면, 각각 $\dot{p}$ 와 $\dot{q}$ 로 표현이 가능하며, 위 jacobian을 활용하여 다음과 같은 관계가 성립하는 것을 할 수 있다.
결국, Jacobian은 입력과 출력의 비율을 나타내는 factor라고 볼 수 있습니다.
좀 더 어렵게 말하자면, 여기에서는, $\dot{q}$ (입력 성분), $\dot{p}$ (출력 성분) 간의 선형 사상이 가능하도록 하는 matrix인 것입니다.
특히나 매니퓰레이터에서 자코비안은 $\dot{p}$ 와 $\dot{q}$ 의 선형 사상이라는 점을 이용하면 미분을 수행하지 않고도 구할 수 있다.
말단 자세의 속도 ($\dot{p}$)는 각각의 관절 축 벡터를 $z_i$라고 하면, 관절 축의 속도$\dot{q}$와 관절에서 말단까지 벡터에 의해서 다음과 같이 결정 될 수 있다. 2
그러나 식 (1.89)와 식 (1.91)은 각속도 측면에서 서로 다른 값을 가진다.
식 (1.90)을 적분하면 말단 자세를 알아낼 수 있으나, 다음을 주의해야 한다.
- Analytic jacobian을 이용하여 적분한 경우 : 각속도를 적분하면 오일러 각 등과 같은 물리적으로 의미가 있는 값이다.
- Geometric jacobian을 이용하여 적분한 경우: 각속도는 말단의 순간 속도 벡터를 적분한 것이므로 물리적으로 의미가 있지 않다 ($\because$ 기준좌표계에 대한 속도 '벡터'의 형태를 띄고 있기 때문).
매니퓰레이터에서 자주 쓰는 Geometric jacobian에 대해서 좀 더 알아보자(아래 내용은 다음과 같은 자료를 참고했다.) 3
Task space에서 6자유도를 가지는 매니퓰레이터의 geometric jacobian은 다음과 같이 translation 성분과 orientation 성분으로 나눠진다.
결국 geometric jacobian에서 orientation 성분은 속도 벡터의 형태이므로, 다음과 같이 서로 다른 축으로 분해가 가능하다: $\omega_e = \omega_x\hat{i}+\omega_y\hat{j}+\omega_z\hat{k}=\hat{\phi}+\hat{\theta}+\hat{\psi}$
보통 말단 장치의 궤적을 플래닝을 할 때 오일러 자세각이 편리하므로 말단부 자세에 대한 역기구학을 풀기 위해서는 조인트 회전속도의 관계를 나타내는 Analytic jacobian의 변환이 필요하다.
오일러 각이 ZYX의 변환 순서를 따르는 경우(RPY), 기준좌표계에 대한 각속도 성분 $(𝜔_𝑥, 𝜔_𝑦, 𝜔_𝑧)$와 오일러 자세각의 회전속도 성분 사이에는 다음과 같은 관계가 성립한다.
참고 그림:
오일러 각을 ZYZ로 표현한 경우 $𝑅_𝑧 (\phi) 𝑅_𝑦 (\theta) 𝑅_𝑧 (\psi)$ 로 회전된 좌표계로 속도를 사상하는 과정:
이상입니다.
* 본 글은 "실험로보틱스 교재 I(매니퓰래이션 및 비젼), 한국로봇학회, 제어로봇시스템학회, 한국로봇산업진흥원 "의 내용을 공부하면서 정리한 내용을 포스팅 한 것 입니다.
- https://angeloyeo.github.io/2020/07/24/Jacobian.html [본문으로]
- 결국 rotation matrix에서 $z$성분인 것이다. [본문으로]
- https://blog.daum.net/pg365/96?category=12987 [본문으로]
'Robot Theory > Manipulator Theory' 카테고리의 다른 글
동역학 - 라그랑주 운동방정식 1 (0) | 2022.05.16 |
---|---|
동역학 - Introduction (0) | 2022.05.13 |
기구학 - 여유자유도(Redundancy) (0) | 2022.05.09 |
기구학 - Kinematics (0) | 2022.04.25 |
기구학 - 강체의 수학적 표현 1 (0) | 2022.04.21 |