$m$ 차원 벡터 $p=[p_1, p_2, ... , p_m]^T$ 가 $n$ 차원 벡터 $q=[q_1, q_2, ... , q_n]^T$ 의 함수로 정의 된다고 할 때, Jacobian은 다음과 같이 정의 할 수 있다.
Analytic Jacobian
이와 같이 매니퓰레이터의 말단의 자세 $p$ 와 관절각 $q$ 를 단위 시간 $t$ 의 함수로 표현한다면, 각각 $\dot{p}$ 와 $\dot{q}$ 로 표현이 가능하며, 위 jacobian을 활용하여 다음과 같은 관계가 성립하는 것을 할 수 있다.
결국, Jacobian은 입력과 출력의 비율을 나타내는 factor라고 볼 수 있습니다. 좀 더 어렵게 말하자면, 여기에서는, $\dot{q}$ (입력 성분), $\dot{p}$ (출력 성분) 간의 선형 사상이 가능하도록 하는 matrix인 것입니다.
특히나 매니퓰레이터에서 자코비안은 $\dot{p}$ 와 $\dot{q}$ 의 선형 사상이라는 점을 이용하면 미분을 수행하지 않고도 구할 수 있다.
말단 자세의 속도 ($\dot{p}$)는 각각의 관절 축 벡터를 $z_i$[각주:2]라고 하면, 관절 축의 속도$\dot{q}$와 관절에서 말단까지 벡터에 의해서 다음과 같이 결정 될 수 있다.
Geometric Jacobian
그러나 식 (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), 기준좌표계에 대한 각속도 성분 $(𝜔_𝑥, 𝜔_𝑦, 𝜔_𝑧)$와 오일러 자세각의 회전속도 성분 사이에는 다음과 같은 관계가 성립한다.
$T_{RPY}$: Representation transformation matrix
참고 그림:
오일러 각을 ZYZ로 표현한 경우 $𝑅_𝑧 (\phi) 𝑅_𝑦 (\theta) 𝑅_𝑧 (\psi)$ 로 회전된 좌표계로 속도를 사상하는 과정: