제안하는 제어기를 설명하기에 앞서, 본 논문에서 사용되는 상대 자코비안과 이를 이용한 상대 임피던스 제어에 대해 간단히 설명한다.
2.1 상대 자코비안
그림 1과 같이, 양팔 로봇의 두 말단장치 사이에 강체를 두고 상호작용하는 상황을 고려하자. 이 때, 강체는 양팔 로봇의 한쪽 매니퓰레이터의 말단장치에 고정
되어있다고 가정한다. 그림 1에서, $\Sigma_{0}$는 전역 기준 좌표계(global inertial frame)의 원점(origin), $\Sigma_{A}$, $\Sigma_{B}$는
각각 매니퓰레이터A와 B의 기준 좌표계의 원점, $\Sigma_{G}$, $\Sigma_{T}$, $\Sigma_{obj}$는 각각 매니퓰레이터 A와
B의 말단장치와 강체의 질량중심에 고정된 좌표계이다. $^{i}r_{j}$가 $i$ 기준 좌표계에서 $j$ 기준 좌표계까지의 상대 벡터를 나타낸다고
하면, $\Sigma_{0}$에서 $\Sigma_{T}$ 까지의 상대 벡터 $^{0}r_{T}$는 다음과 같이 얻을 수 있다.
그림. 1. 강체가 부착된 매니퓰레이터 A와 B
Fig. 1. Robot A with rigid body attached and Robot B
여기서 $R_{i}^{j}\in R^{3\times 3}$는 $i$ 기준 좌표계와 $j$ 기준 좌표계 간의 회전변환을 나타내는 회전행렬이다. 식 (1)을 $^{obj}r_{T}$에 대한 식으로 정리하면 다음을 얻는다.
위 식에서 $\theta ,\: q$는 각각 매니퓰레이터 A와 B의 관절 각도이다. 또한, 각 매니퓰레이터의 관절 각속도와 말단 장치의 속도($^{A}\dot
r_{G}$, $^{B}\dot r_{T}$) 및 각속도($^{A}\omega_{G}$, $^{B}\omega_{T}$) 간의 관계는 다음과 같이
얻어진다.
이제, 식 (2)를 미분함을 통해 $\Sigma_{obj}$에서 바라본 매니퓰레이터 B의 말단 장치 속도 벡터 $^{obj}\dot r_{T}$를 다음과 같이 얻는다.
여기서 연산자 $\hat(\bullet)$는 의 요소를 3차원 반대칭 행렬(Skew-symmetric matrix)의 공간에 매핑하는 연산자이며,
임의의 벡터 $a:=[a_{1},\:a_{2},\:a_{3}]^{T}$ $\in$에 대하여 $\hat a$는 다음과 같이 계산된다.
따라서 $\hat R^{A}_{BA}(\theta),\:\hat R^{A}_{T}(\theta ,\:q),\:\hat R^{A}_{G}(\theta)$는
다음과 같다.
또한, $\Sigma_{0}$에서 바라본 매니퓰레이터 B의 말단 장치 각속도 $^{0}\omega_{T}$는 다음과 같은 관계를 만족하며
위의 식 (7)로부터 $^{obj}\omega_{T}$는 아래와 같이 얻어진다.
이제, 식 (4)와 식 (8)으로부터 $^{obj}\dot r_{T}$과 $^{obj}\omega_{T}$를 $\dot q$와 $\dot\theta$에 대하여 정리를 하면 다음과
같은 행렬식을 얻을 수 있다.
여기서 $J_{R}$은 상대 자코비안이고, 이것의 각 요소들은 다음과 같다.
\begin{align*}
J_{11}=
& R_{G}^{obj}R_{G}^{A}(\theta)^{T}R_{0}^{A}R_{B}^{0}J_{Br}(q)\\
J_{12}= &-R_{G}^{obj}[R_{G}^{A}(\theta)^{T}J_{Ar}(\theta)+\hat R_{BA}^{A}(\theta)^{T}R_{G}^{A}(\theta)^{T}J_{A\omega}(\theta)\\
& +\hat R_{T}^{A}(\theta ,\:q)R_{G}^{A}(\theta)^{T}J_{A\omega}(\theta)-\hat R_{G}^{A}(\theta)R_{G}^{A}(\theta)^{T}J_{A\omega}(\theta)]\\
J_{21}= &R_{G}^{obj}R_{G}^{A}(\theta)^{T}R_{0}^{A}R_{B}^{0}J_{B\omega}(q)\\
J_{22}= &-R_{G}^{obj}R_{G}^{A}(\theta)^{T}J_{A\omega}(\theta).
\end{align*}
추가적으로, 해석적 자코비안(Analytic Jacobian)$J_{A}(q)$을 사용하면 오일러각 회전속도와 관절 속도 간의 관계를 나타낼 수 있으며,
해석적 자코비안과 기하적 자코비안 사이의 관계는 다음과 같은 관계를 가진다.
여기서 $I_{3}$는 3차원 단위행렬을 나타내며, 오일러 각이 요(Yaw, $\psi $)-피치(Pitch, $\phi$)-롤(Roll, $\rho$)의
변환 순서를 따르는 경우 $T_{eu\le}r$는 다음과 같이 계산된다.
본 논문에서는 매니퓰레이터 A의 말단 장치에서 바라본 매니퓰레이터 B의 말단 장치의 오일러 각을 지령치로 받는 상황을 고려하며, 따라서 기하적 자코비안과
해석적 자코비안 사이의 변환 행렬을 곱한 해석적 상대 자코비안을 사용한다.
2.2 상대 임피던스 제어
상대 임피던스 제어는 양팔 로봇 사이의 상대 모션이 그림 2와 같이 가상의 질량$(M_{Rd})$-댐퍼$(B_{Rd})$-스프링$(K_{Rd})$시스템이 있다고 가정하고, 필요한 접촉력을 갖도록 제어하는 것이다.
상대 임피던스 제어에서는 두 말단 장치 사이의 상대 움직임을 정의하기 위해 상대 자코비안을 사용한다. 그림 2에서처럼 가상의 질량-댐퍼-스프링을 고려하여, 매니퓰레이터 B의 말단 장치에서의 힘을 다음과 같이 얻을 수 있다.
여기서 $f_{R}$은 질량-댐퍼-스프링에 의한 가상의 힘 나타내며, $x_{R}$과 $x_{Rd}$는 각각 매니퓰레이터 B의 말단 장치와 질량-댐퍼-스프링
시스템의 기준 좌표계간의 상대 벡터와 그 지령치를 의미한다.
식 (12)를 말단 장치의 가속도 $\ddot x_{R}$에 대해 정리를 하면 다음과 같다.
그림. 2. 양팔 로봇의 질량-댐퍼-스프링 모델
Fig. 2. Mass-damper-spring model of the two-arm robot
이제, 말단 장치에 대한 위치 지령치와 실제 말단 장치에 대한 오차를 $e=x_{Rd}-x_{R}$로 정의하고, 계산 토크 제어 기법을 사용하면,
필요한 관절 토크 $\tau$를 다음과 같이 얻을 수 있다.
여기서 $J_{R}$은 상대 자코비안, $N(q,\:\dot q)$ 코리올리 힘 및 중력 벡터를 나타내며 연산자 $(\bullet)^{+}$는 무어-펜로즈
의사 역행렬(Moore-Penrose Pseudo Inverse Matrix)을 의미한다. 또한, $J_{R}^{T}f_{R}$은 환경과의 접촉력에
의해 발생하는 토크이다.
외부 외란이 없는 경우 일반적인 로봇팔의 동역학 방정식은 다음과 같이 나타낼 수 있다.
여기서 $\tau_{e}$는 환경과의 접촉력에 의해 발생하는 토크를 나타낸다.
식 (14)와 식 (15)으로부터 평형점(equilibrium point)에서의 접촉력은 다음과 같이 유도된다.
식 (12)에서 말단장치의 가속도에 대한 오차 $\ddot e$가 무시할 정도로 작다고 가정하면 접촉력 $f_{R}$이 오차동역학 $B_{Rd}\dot e_{i}+K_{Rd}e_{i}$
의 크기가 될 수 있도록 $K_{Rd}$, $B_{Rd}$ 선정할 수 있다. 또한, 식 (16)에서 $x_{Rd}$는 지령치이다. 즉, 외란 및 환경에 의한 불확실성을 효과적으로 보상할 수 있다면 적절한 지령치를 선정하여 접촉력 $f_{R}$이
임의의 값을 갖도록 제어 할 수 있다.