• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Hyundai AutoEver Company, South Korea)
  2. (Dept. of Robotics, Kwangwoon University, Korea)



Dual-arm robot, Impedance control, Relative Jacobian, Disturbance observer

1. 서 론

양팔 로봇(Dual-arm robot)은 포장, 운송 및 조립과 같은 다양한 작업을 수행할 수 있어 많은 산업 분야에서 주목을 받고 있다. 단팔 로봇(Single-arm robot) 대비 양팔 로봇이 갖는 가장 두드러진 차이는 자유도이다. 일반적으로 양팔 로봇은 단팔 로봇보다 더 많은 자유도를 가지며, 이로 인해 기존 단팔 로봇이 주변장치 등의 도움을 받아 수행하던 작업들뿐만 아니라 정밀 조립 등의 더 높은 난이도의 작업까지 수행할 수 있다. 이러한 이유로 양팔 로봇의 제어(또는 협동 로봇 제어)는 최근 많은 관심을 받는 연구 주제로서 다양한 결과들이 학계에 활발히 보고되고 있다 (1,2, 13-15).

양팔 로봇을 제어하는 기본적인 방법의 하나는 상대 자코비안(Relative Jacobian)을 이용하는 방법이다 (3). 상대 자코비안이란, 양 로봇팔의 말단장치 사이를 나타내는 상대 벡터의 변화량과 각 로봇팔의 모터 각속도의 관계를 나타내는 행렬을 의미한다. 상대 자코비안은 각 로봇팔의 개별 자코비안의 결합으로 얻을 수 있다.

논문 (4)에서, 저자들은 상대 자코비안을 사용하여 양팔 로봇의 임피던스 제어를 수행하는 방법을 제안하였고, 이를 통해 비대칭 양손 작업(Asymmetric Bimanual Task, ABT)을 수행한 결과를 발표하였다. 논문 (5)에서는 렌치 변환(wrench transformation)을 이용하여 상대 자코비안의 확장인 모듈형 상대 자코비안이 제안되었으며, 양팔 로봇을 이용하여 문을 여닫는 실험을 통해 제안된 방법을 검증한 결과가 논문 (6)에서 발표되었다. 또한, 논문 (4)에서는 외란 및 시스템 불확실성에 강인한 양팔 로봇의 제어를 위해 시간 지연 추정 기법을 사용하여 외란 및 시스템의 불확실성을 보상하는 방법을 제안하였고 이를 실험으로 검증하였다.

본 논문은 외란관측기를 사용하여 외란 및 시스템 불확실성 보상하는 양팔 로봇 제어 방법을 제안한다. 외란관측기(8)는 널리 쓰이는 강인 제어기의 하나이며 시스템 불확실성 및 외란을 효과적으로 보상한다. 따라서, 제안하는 외란관측기 기반 양팔 로봇 제어기가 시스템 불확실성에 대해 강인성을 갖는 것을 기대할 수 있다. 특히, 제안하는 제어기는 내부적으로 고이득 관측기(high-gain observer)를 포함하고 있어 수치미분을 사용하지 않는다 (8). 제안한 상대 임피던스 제어기는 물리엔진기반 수치 실험 환경에서 상용 로봇 모델을 이용하여 검증되었다.

본 논문의 구성은 2.1절에서 논문에서 사용된 상대 자코비안에 대해 소개하고 2.2절에 이를 이용한 상대 임피던스 제어 기법에 대해 설명한다. 3장에서는 외란관측기를 사용하여 시스템 불확실성, 외부 외란 토크 및 환경과의 접촉을 보상한 상대 임피던스 제어 기법을 제안한다. 3.1절은 외란관측기에 대해 간단히 소개하였으며 3.2절에서 본 논문에서 제안하는 제어기법에 대해 설명하였다. 물리 엔진 기반 시뮬레이터에서의 수치실험 결과는 4장에서 다뤄진다. 4.1절에서는 수치실험에 사용된 로봇 모델을 소개하고 4.2절에서는 시스템 불확실성이 없는 경우 상대 임피던스 제어의 수치 실험 결과를 보여주며 4.3절에서는 시스템 불확실성이 있는 경우 외란관측기를 사용한 상대 임피던스 제어의 수치 실험 결과를 보여준다. 마지막으로 5장에서 본 연구의 결론을 제시하였다.

2. 배경 이론

제안하는 제어기를 설명하기에 앞서, 본 논문에서 사용되는 상대 자코비안과 이를 이용한 상대 임피던스 제어에 대해 간단히 설명한다.

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

../../Resources/kiee/KIEE.2021.70.12.1976/fig1.png

(1)
$\begin{aligned}{ }^{0} r_{T} &={ }^{0} r_{A}+R_{A}^{0}{ }^{A} r_{G}-R_{A}^{0} R_{G}^{A o b j} r_{G}+R_{A}^{0} R_{G}^{A} R_{o b j}^{G}{ }^{\circ b j} r_{T} \\ &={ }^{0} r_{B}+R_{B}^{0}{ }^{B} r_{T} . \end{aligned}$

여기서 $R_{i}^{j}\in R^{3\times 3}$는 $i$ 기준 좌표계와 $j$ 기준 좌표계 간의 회전변환을 나타내는 회전행렬이다. 식 (1)을 $^{obj}r_{T}$에 대한 식으로 정리하면 다음을 얻는다.

(2)
$\begin{aligned}{ }^{o b j} r_{T}=& R_{G}^{o b j} R_{G}^{A}(\theta)^{T} R_{A}^{0 T}\left({ }^{r} r_{B}-{ }^{0} r_{A}+R_{B}^{0 B} r_{T}(q)\right) \\ &-R_{G}^{o b j} R_{G}^{A}(\theta)^{T^{A}} r_{G}(\theta)+{ }^{o b j} r_{G} . \end{aligned}$

위 식에서 $\theta ,\: q$는 각각 매니퓰레이터 A와 B의 관절 각도이다. 또한, 각 매니퓰레이터의 관절 각속도와 말단 장치의 속도($^{A}\dot r_{G}$, $^{B}\dot r_{T}$) 및 각속도($^{A}\omega_{G}$, $^{B}\omega_{T}$) 간의 관계는 다음과 같이 얻어진다.

(3)
\begin{align*} ^{A}\dot r_{G}(\theta)=J_{Ar}\dot\theta ,\:^{A}\omega_{G}=J_{A\omega}(\theta)\dot\theta \\ ^{B}\dot r_{T}(q)=J_{Br}\dot q ,\:^{B}\omega_{T}=J_{B\omega}(q)\dot q . \end{align*}

이제, 식 (2)를 미분함을 통해 $\Sigma_{obj}$에서 바라본 매니퓰레이터 B의 말단 장치 속도 벡터 $^{obj}\dot r_{T}$를 다음과 같이 얻는다.

(4)
\begin{align*} ^{obj}\dot r_{T}= &-R_{G}^{obj}[\hat R_{AB}^{A}(\theta)R_{G}^{A}(\theta)^{T}+\hat R_{T}^{A}(\theta ,\:q)R_{G}^{A}(\theta)^{T}\\ &-\hat R_{G}^{A}(\theta)R_{G}^{A}(\theta)^{T}]J_{A\omega}(\theta)\dot\theta -R_{G}^{obj}R_{G}^{A}(\theta)^{T}J_{Ar}(\theta)\dot\theta \\ &+R_{G}^{obj}R_{G}^{A}(\theta)^{T}R_{A}^{0T}R_{B}^{0}J_{Br}(q)\dot q . \end{align*}

여기서 연산자 $\hat(\bullet)$는 의 요소를 3차원 반대칭 행렬(Skew-symmetric matrix)의 공간에 매핑하는 연산자이며, 임의의 벡터 $a:=[a_{1},\:a_{2},\:a_{3}]^{T}$ $\in$에 대하여 $\hat a$는 다음과 같이 계산된다.

(5)
$\hat v =[\times a]=\begin{bmatrix}0&a_{3}&-a_{2}\\-a_{3}&0&a_{1}\\a_{2}&-a_{1}&0\end{bmatrix}.$

따라서 $\hat R^{A}_{BA}(\theta),\:\hat R^{A}_{T}(\theta ,\:q),\:\hat R^{A}_{G}(\theta)$는 다음과 같다.

(6)
$\hat{R}_{B A}^{A}(\theta)=\left[\times{ }^{A} r_{B A}\right],{ }^{A} r_{B A}=R_{G}^{A}(\theta)^{T} R_{A}^{0 T}\left({ }^{0} r_{B}-{ }^{0} r_{A}\right)$ $\hat{R}_{T}^{A}(\theta, q)=\left[\times{ }^{A} r_{T}\right],{ }^{A} r_{T}=R_{G}^{A}(\theta){ }^{T} R_{A}^{0 T} R_{B}^{0 B} r_{T}(q)$ $\hat{R}_{G}^{A}(\theta)=\left[\times{ }^{A} r_{G}\right], \quad{ }^{A} r_{G}=R_{G}^{A}(\theta)^{T A} r_{G}(\theta) .$

또한, $\Sigma_{0}$에서 바라본 매니퓰레이터 B의 말단 장치 각속도 $^{0}\omega_{T}$는 다음과 같은 관계를 만족하며

(7)
$\begin{aligned}{ }^{0} \omega_{T}=&{ }^{0} \omega_{A}+R_{A}^{0}{ }^{A} \omega_{G}+R_{A}^{0} R_{G}^{A}(\theta)^{G} \omega_{o b j} \\ &+R_{A}^{0} R_{G}^{A}(\theta) R_{o b j}^{G o b j} \omega_{T} \\=&{ }^{0} \omega_{B}+R_{B}^{0}{ }^{B} \omega_{T} . \end{aligned}$

위의 식 (7)로부터 $^{obj}\omega_{T}$는 아래와 같이 얻어진다.

(8)
$^{obj}\omega_{T}=R_{G}^{obj}R_{G}^{A}(\theta)^{T}[R_{A}^{0T}R_{B}^{0}J_{B\omega}(q)\dot q -J_{A\omega}(\theta)\dot\theta].$

이제, 식 (4)식 (8)으로부터 $^{obj}\dot r_{T}$과 $^{obj}\omega_{T}$를 $\dot q$와 $\dot\theta$에 대하여 정리를 하면 다음과 같은 행렬식을 얻을 수 있다.

(9)
$\begin{bmatrix}^{obj}\dot r_{T}\\^{obj}\omega_{T}\end{bmatrix}=\begin{bmatrix}J_{11}&J_{12}\\J_{21}&J_{22}\end{bmatrix}\begin{bmatrix}\dot q \\\dot\theta\end{bmatrix}:=J_{R}\begin{bmatrix}\dot q \\\dot\theta\end{bmatrix}.$

여기서 $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)$을 사용하면 오일러각 회전속도와 관절 속도 간의 관계를 나타낼 수 있으며, 해석적 자코비안과 기하적 자코비안 사이의 관계는 다음과 같은 관계를 가진다.

(10)
$T_{\text {euler }}=\left[\begin{array}{ccc}\cos \psi \cos \phi & -\sin \psi & 0 \\ \sin \psi \cos \phi & \cos \psi & 0 \\ -\sin \phi & 0 & 1\end{array}\right] .$

여기서 $I_{3}$는 3차원 단위행렬을 나타내며, 오일러 각이 요(Yaw, $\psi $)-피치(Pitch, $\phi$)-롤(Roll, $\rho$)의 변환 순서를 따르는 경우 $T_{eu\le}r$는 다음과 같이 계산된다.

(11)
$T_{eu\le r}=\begin{bmatrix}\cos\psi\cos\phi &&-\sin\psi &&0\\\sin\psi\cos\phi &&\cos\psi &&0\\-\sin\phi &&0&&1\end{bmatrix}.$

본 논문에서는 매니퓰레이터 A의 말단 장치에서 바라본 매니퓰레이터 B의 말단 장치의 오일러 각을 지령치로 받는 상황을 고려하며, 따라서 기하적 자코비안과 해석적 자코비안 사이의 변환 행렬을 곱한 해석적 상대 자코비안을 사용한다.

2.2 상대 임피던스 제어

상대 임피던스 제어는 양팔 로봇 사이의 상대 모션이 그림 2와 같이 가상의 질량$(M_{Rd})$-댐퍼$(B_{Rd})$-스프링$(K_{Rd})$시스템이 있다고 가정하고, 필요한 접촉력을 갖도록 제어하는 것이다. 상대 임피던스 제어에서는 두 말단 장치 사이의 상대 움직임을 정의하기 위해 상대 자코비안을 사용한다. 그림 2에서처럼 가상의 질량-댐퍼-스프링을 고려하여, 매니퓰레이터 B의 말단 장치에서의 힘을 다음과 같이 얻을 수 있다.

(12)
\begin{align*} -f_{R}= & M_{Rd}(\ddot x_{Rd}-\ddot x_{R})+B_{Rd}(\dot x_{Rd}-\dot x_{R})\\ & +K_{Rd}(x_{Rd}-x_{R}). \end{align*}

여기서 $f_{R}$은 질량-댐퍼-스프링에 의한 가상의 힘 나타내며, $x_{R}$과 $x_{Rd}$는 각각 매니퓰레이터 B의 말단 장치와 질량-댐퍼-스프링 시스템의 기준 좌표계간의 상대 벡터와 그 지령치를 의미한다.

식 (12)를 말단 장치의 가속도 $\ddot x_{R}$에 대해 정리를 하면 다음과 같다.

그림. 2. 양팔 로봇의 질량-댐퍼-스프링 모델

Fig. 2. Mass-damper-spring model of the two-arm robot

../../Resources/kiee/KIEE.2021.70.12.1976/fig2.png

(13)
\begin{align*} \ddot x_{R}= &\ddot x_{Rd}+M_{Rd}^{-1}[B_{Rd}(\dot x_{Rd}-\dot x_{R})+K_{Rd}(x_{Rd}-x_{R})\\ & +f_{R}]. \end{align*}

이제, 말단 장치에 대한 위치 지령치와 실제 말단 장치에 대한 오차를 $e=x_{Rd}-x_{R}$로 정의하고, 계산 토크 제어 기법을 사용하면, 필요한 관절 토크 $\tau$를 다음과 같이 얻을 수 있다.

(14)
\begin{align*} \tau = & M(q)J_{R}^{+}\{\ddot x_{Rd}+M_{Rd}^{-1}[B_{Rd}(\dot x_{Rd}-\dot x_{R})\\ & +K_{Rd}(x_{Rd}-x_{R})+f_{R}]-\dot J_{R}\dot q \}\\ & +N(q,\:\dot q)-J_{R}^{T}f_{R}. \end{align*}

여기서 $J_{R}$은 상대 자코비안, $N(q,\:\dot q)$ 코리올리 힘 및 중력 벡터를 나타내며 연산자 $(\bullet)^{+}$는 무어-펜로즈 의사 역행렬(Moore-Penrose Pseudo Inverse Matrix)을 의미한다. 또한, $J_{R}^{T}f_{R}$은 환경과의 접촉력에 의해 발생하는 토크이다.

외부 외란이 없는 경우 일반적인 로봇팔의 동역학 방정식은 다음과 같이 나타낼 수 있다.

(15)
$M(q)\ddot q +N(q,\:\dot q)=\tau +\tau_{e}.$

여기서 $\tau_{e}$는 환경과의 접촉력에 의해 발생하는 토크를 나타낸다.

식 (14)식 (15)으로부터 평형점(equilibrium point)에서의 접촉력은 다음과 같이 유도된다.

(16)
$-f_{R}=K_{Rd}(x_{Rd}-x_{R}).$

식 (12)에서 말단장치의 가속도에 대한 오차 $\ddot e$가 무시할 정도로 작다고 가정하면 접촉력 $f_{R}$이 오차동역학 $B_{Rd}\dot e_{i}+K_{Rd}e_{i}$ 의 크기가 될 수 있도록 $K_{Rd}$, $B_{Rd}$ 선정할 수 있다. 또한, 식 (16)에서 $x_{Rd}$는 지령치이다. 즉, 외란 및 환경에 의한 불확실성을 효과적으로 보상할 수 있다면 적절한 지령치를 선정하여 접촉력 $f_{R}$이 임의의 값을 갖도록 제어 할 수 있다.

3. 외란관측기 기반 상대 임피던스 제어

이 장에서는 시스템 불확실성, 외부 외란 토크 및 환경과의 접촉력이 있는 경우 외란관측기를 통해 보상하는 외란관측기 기반 상대 임피던스 제어 기법을 제안한다. 이에 대해, 외란관측기에 대해 간단히 소개하고 본 논문에서 제안하는 제어기를 설명한다.

3.1 외란관측기

이 절에서는 외란 및 시스템 불확실성을 포함하는 덩어리 외란을 고려하고 이를 추정하기 위한 기본적인 형태의 외란관측기를 소개한다. 이 논문에서는 역공칭모델을 이용한 외란관측기가 사용되었으며, 상태공간(state-space)에서 설계되었다(12,16,17).

먼저, 다음과 같은 공칭 매니퓰레이터 모델을 생각하자.

(17)
$\bar{M}(q)\ddot q +\bar{N}(q,\:\dot q)=\tau_{r}.$

여기서 $\bar{M}(q)$는 공칭 모델의 질량 행렬이고, $\bar{N}(q,\:\dot q)$는 공칭 모델의 코리올리힘과 중력 항을 포함한 항이며, $\tau_{r}$은 지령 토크이다. 시스템 불확실성이 있는 실제 시스템은 공칭 시스템과 다른 거동을 보일 수 있으며 시스템 불확실성은 다음과 같이 표현할 수 있다.

(18)
\begin{align*} \triangle M(q)=M(q)-\bar{M}(q)\\ \triangle N(q,\:\dot q)=N(q,\:\dot q)-\bar{N}(q,\:\dot q). \end{align*}

이제, 시스템 불확실성, 외부 외란 토크 $\tau_{d}$, 환경과의 접촉력 $\tau_{e}$을 한데 모아, 아래와 같이 하나의 덩어리 외란 $d$를 생각하자.

(19)
$d=\tau_{d}+\tau_{e}+\triangle M(q)\ddot q +\triangle N(q,\:\dot q)\dot q .$

만약 덩어리 외란 $d$를 알 수 있다면 이를 보상함으로써 시스템 불확실성과 외란이 존재하는 실제 시스템이 공칭시스템처럼 거동하도록 할 수 있으며, 이 논문에서는 이러한 외란 보상을 위해 외란관측기를 사용한다.

그림 3은 기본적인 외란관측기의 블록도이다. 여기서 $P(s)$는 실제 시스템을 나타내며 $P_{n}(s)$는 실제 시스템에 대한 공칭 시스템이다. $Q(s)$는 $Q$-필터로써 저역 통과 필터를 의미한다. 외란관측기는 덩어리 외란 $d$를 추정하여 보상함으로써 실제 시스템과 공칭 시스템의 차이 및 외부 외란을 제거하여 실제 시스템이 공칭 시스템처럼 동작하도록 한다.

그림. 3. 외란관측기 블록도

Fig. 3. Block diagram of Disturbance Observer

../../Resources/kiee/KIEE.2021.70.12.1976/fig3.png

즉, 실제 시스템 $P(s)$의 출력을 $y(s)$라고 하면,

(20)
\begin{align*} y(s)= &\dfrac{P(s)P_{n}(s)}{P_{n}(s)+Q(s)(P(s)-P_{n}(s))}\tau_{r}(s)\\ & +\dfrac{P(s)P_{n}(s)(1-Q(s))}{P_{n}(s)+Q(s)(P(s)-P_{n}(s))}\tau_{d}(s) \end{align*}

를 얻을 수 있고, 위 식 (20)으로부터 입력 토크 $\tau_{r}(s)$과 외부 외란 토크 $\tau_{d}(s)$로부터 출력 $y(s)$까지의 전달함수를 각각 구하면 다음과 같다.

(21)
\begin{align*} H_{r}(s)=\dfrac{y(s)}{\tau_{r}(s)}=\dfrac{P(s)P_{n}(s)}{P_{n}(s)+Q(s)(P(s)-P_{n}(s))}\\ H_{d}(s)=\dfrac{y(s)}{\tau_{d}(s)}=\dfrac{P(s)P_{n}(s)(1-Q(s))}{P_{n}(s)+Q(s)(P(s)-P_{n}(s))} \end{align*}

이제, $Q$-필터를 $Q(s)=\dfrac{\alpha}{\mu s+\alpha}$와 같이 1차 저역 통과 필터의 형태로 설계했다고 하자. 이 때, 직류이득(DC-gain)은 $1$이며 ($\lim _{s \rightarrow 0} Q(s)=1$), 식 (21)으로부터 다음을 얻는다.

(22)

$\lim _{s \rightarrow 0} H_{r}(s)=\lim _{s \rightarrow 0} \frac{P(s) P_{n}(s)}{P(s)}=\lim _{s \rightarrow 0} P_{n}(s)$

$\lim _{s \rightarrow 0} H_{d}(s)=\lim _{s \rightarrow 0} \frac{P(s) P_{n}(s)(1-Q(s))}{P(s)}=0 .$

위 식으로부터 $s$가 $0$으로 수렴할수록, 시스템의 출력은 $y(s)\approx P_{n}(s)\tau_{r}(s)$이 되고 $H_{d}(s)\approx 0$이므로, 시스템은 공칭 모델처럼 동작하며 외란에 의한 영향은 출력에 나타나지 않는다.

3.2 제안하는 방법: 덩어리 외란을 보상하는 강인 제어기 설계 기법

본 논문에서 제안하는 제어기는 상대 임피던스 제어를 통해 양팔 로봇을 제어한다. 이때, 시스템의 불확실성 및 외란을 외란관측기를 통해 보상한다. 만약 외란관측기가 적절히 설계되어 외란, 시스템 불확실성, 환경과의 접촉력을 충분히 보상한다면, 실제 시스템이 공칭 시스템처럼 거동하게 됨을 기대할 수 있다.

대상 시스템이 비선형 모델이므로 상태 공간에서의 외란관측기 설계법이 적용되었다 (4,7). 그림 4는 본 논문에서 제안하는 제어기의 구조를 나타낸다. $\bar{M}$은 공칭 시스템의 질량 행렬, $\tau_{r}$은 외부 제어기 제어 입력이다. 시스템 출력으로부터 나온 $\dot q$과 시스템에 인가되는 $\tau$를 이용하여 외란관측기 루프를 통해 다음과 같은 식을 얻을 수 있다.

(23)
\begin{align*} \dot\zeta =-\dfrac{\alpha}{\mu}(\zeta -\dot q),\:\zeta(0)=\dot q(0)\\ \dot\chi =-\dfrac{\alpha}{\mu}(\chi -\bar{M}(q)^{-1}\tau),\:\chi(0)= 0. \end{align*}

여기서 $\zeta$와 $\chi$는 외란관측기의 상태변수이며 각각 $\dot q$와 $\bar{M}^{-1}\tau$를 추종하도록 설계되었고, $\alpha$, $\mu$는 1차 저역 통과 필터의 설계인자이다. 만약 $\dot\zeta$이 $\dot q$를 충분히 추종했다면, 입력외란과 시스템 불확실성이 포함된 토크의 추정치 $\hat\tau_{P}$는 다음과 같이 표현할 수 있다.

(24)
$\hat\tau_{P}=\bar{M}(q)\dot\zeta +\bar{N}(q,\:dotq)$

그림. 4. 제안하는 제어기의 구조

Fig. 4. Structure of the proposed controller

../../Resources/kiee/KIEE.2021.70.12.1976/fig4.png

이제, 입력 외란 및 환경에 의한 외란, 시스템 불확실성이 포함된 토크 추정치 $\hat\tau_{P}$에 시스템에 인가한 토크 $\tau$를 빼서 덩어리 외란의 추정치 $\hat d$를 구할 수 있다. 즉,

(25)
\begin{align*} \hat d = &\hat\tau_{P}-\bar{M}(q)\chi ,\: \\ =&\bar{M}(q)\dot\zeta +\bar{N}(q,\:\dot q)-\bar{M}(q)\chi ,\: \\ =&\bar{M}(q)(-\dfrac{\alpha}{\mu}(\zeta -\dot q)-\chi)+\bar{N}(q,\:\dot q) \end{align*}

따라서 시스템에 인가되는 제어 입력 토크를 다음과 같이 설계할 수 있다.

(26)
\begin{align*} \tau = -\hat d +\tau_{r},\:\\ =\bar{M}(q)(\dfrac{\alpha}{\mu}(\zeta -\dot q)+\chi)-\bar{N}(q,\:\dot q)+\tau_{r} \end{align*}

4. 수치실험

4.1 양팔 로봇 모델

그림 5는 수치 실험에 사용된 양팔 로봇 모델을 보여준다. 수치 실험은 물리 엔진 기반 가상 환경 시뮬레이터인 Gazebo (9)에서 수행되었다. 물리 엔진으로는 Open Dynamics Engine(ODE) (10)가 사용되었다. 힘/토크 센서는 사각 판이 부착되어 있는 매니퓰레이터 A의 말단 장치에 부착하였으며 각 축마다 그림 5에서 표현된 임피던스 모델로 제어하였다. 이때, 매니퓰레이터 B의 말단장치의 지령 궤적은 매니퓰레이터 A의 말단장치에 부착되어있는 사각 판에 원을 그리는 작업을 수행하도록 설계되었다. 사용한 매니퓰레이터 모델은 Universal Robots사의 UR10 (11)이며,

그림. 5. 두 개의 UR10으로 구성된 양팔 로봇

Fig. 5. Two-arm robot model consisting of two UR10s

../../Resources/kiee/KIEE.2021.70.12.1976/fig5.png

각 링크와 관절의 물성치 및 연결관계가 표현된 Unified Robot Description Format(URDF)을 사용하여 Gazebo에서 모델을 로드하였다. 또한, 강체 동역학 라이브러리로 Rigid Body Dynamics Library(RBDL)을 사용하여 로봇의 순/역 운동학 (Forward/Inverse Kinematics) 및 코리올리 힘 등을 계산하였다.

4.2 시스템 불확실성이 없는 경우 수치 실험 결과

시스템 불확실성이 없는 경우에 대해, 매니퓰레이터 B의 말단 장치 궤적이 매니퓰레이터 A의 말단장치에 부착되어있는 판에 원을 그릴 수 있도록 지령 궤적을 주었다. 이때 사용한 상대 임피던스 매개변수 $M_{Rd}$, $B_{Rd}$와 $K_{Rd}$는 각각 1 kg, 20 Ns/m, 100 N/m이다.

시스템 불확실성이 없는 경우 상대 임피던스 제어기의 지령 궤적 추종 성능은 그림 6에 나와 있다. 그림 6(a)의 $X_{Rx,\:z}$와 $X_{Rdx,\:z}$는 각각 매니퓰레이터A의 말단장치에 부착된 판의 좌표계에서 매니퓰레이터 B의 말단장치가 지나가는 X, Z 성분의 궤적과 지령 궤적을 의미한다. 원점에서부터 원까지 상대 임피던스 게인을 설정한 대로 감쇠비 1의 거동을 보였다.

그림 6(b)의 $X_{Ry}$와 $X_{Rdy}$는 접촉이 발생하는 Y축에서 매니퓰레이터 B의 말단장치의 Y 성분의 궤적과 지령 궤적을 의미한다. 시스템의 불확실성이 없는 경우에 상대 임피던스 제어를 사용하면 0.02보다 작은 오차를 갖으며 지령 궤적을 추종하는 것을 볼 수 있다.

그림. 6. 시스템 불확실성이 없는 경우 상대 임피던스 제어기의 성능 확인

Fig. 6. Experiment results of the proposed controller under the absence of system uncertainty

../../Resources/kiee/KIEE.2021.70.12.1976/fig6.png

표 1. 공칭 로봇 모델의 링크 질량과 실제 로봇의 링크 질량.

Table 1. Link masses of nominal robot and actual robot.

공칭 로봇 모델의 링크 질량 [kg]

실제 로봇의 링크 질량 [kg]

Link 1

7.78

5.78

Link 2

12.93

10.93

Link 3

3.87

2.87

Link 4

1.96

1

Link 5

1.96

1

Link 6

0.2

0.1

표 2. 궤적 추종에 대한 평균 제곱근 오차

Table 2. Root Mean Square error for reference tracking.

외란관측기를 사용하지 않는 경우

외란관측기를 사용할 경우

X [m]

7.11e-2

2.61e-2

Y [m]

0.32

9.62e-2

Z [m]

4.66e-2

1.92e-2

4.3 시스템 불확실성이 있는 경우 수치 실험 결과

표 1과 같이 각 링크의 질량을 변경하여 시스템의 불확실성을 주었다. 그림 7은 시스템의 불확실성이 있는 상황에서 상대 임피던스 제어기를 적용한 결과를 보여준다. 시스템의 불확실성이 있는 상황에서 외란관측기를 사용한 상대 임피던스 제어기를 적용한 결과는 그림 8에 나와 있다. 상대 임피던스 매개변수 $M_{Rd}$, $B_{Rd}$와 $K_{Rd}$는 각각 1 kg, 20 Ns/m, 100 N/m이며 외란관측기 매개변수 $\alpha$와 $\mu$는 1과 0.001으로 설정하였다.

표 2는 각각 시스템의 불확실성이 있는 경우 외란관측기를 사용한 경우와 사용하지 않은 경우에 대한 위치에 대한 평균 제곱근(Root Mean Square, RMS) 오차를 보여준다. 외란관측기를 사용할 경우 평균제곱근 오차에 대해 두 배 이상 줄어드는 결과를 얻었다. 이 결과를 통해 모델을 아는 경우 외란관측기를 사용한 상대 임피던스 제어를 적용하면 시스템 불확실성에 대해 강인한 것을 볼 수 있다.

그림. 7. 시스템 불확실성이 있는 경우 상대 임피던스 제어 성능 확인

Fig. 7. Experiment results Relative Impedance Control under the presence of system uncertainty

../../Resources/kiee/KIEE.2021.70.12.1976/fig7.png

그림. 8. 시스템 불확실성이 있는 경우 외란관측기를 사용한 상대 임피던스 제어 성능 확인

Fig. 8. Experiment results of the proposed controller under the presence of system uncertainty

../../Resources/kiee/KIEE.2021.70.12.1976/fig8.png

5. 결 론

본 논문에서는 쌍방향 작업을 수행하는 로봇에 적용되는 외란에 대해 강인한 제어기를 제안한다. 제안하는 제어기는 외란관측기를 사용해 시스템 불확실성과 외부 외란, 환경과의 접촉력을 보상할 수 있다. 두 말단장치 사이의 관계를 상대 임피던스로 표현하여 단일 제어기로 제어 입력을 설계했으며, 외란관측기을 통해 실제 시스템을 공칭 시스템처럼 동작 하도록 하였다. 물리학 엔진 기반 가상 환경 시뮬레이터인 Gazebo에서 외란관측기를 사용한 상대 임피던스 제어기의 성능을 확인하였다. 양팔 로봇의 한쪽 로봇의 말단장치에 다른 쪽 로봇의 말단장치를 움직여 사각 판 위에서 원을 그리며 상대 임피던스 제어를 하였다. 로봇의 각 링크의 질량을 변경하여 시스템 불확실성을 주었으며 외란관측기를 사용하여 시스템 불확실성과 접촉력을 보상하도록 하였다. 그 결과, 제안하는 제어기를 사용하였을 때 외부 외란과 시스템 불확실성의 영향을 보상하며 지령궤적을 추종하는 것을 확인하였다.

Acknowledgements

This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (No. NRF-2018R1D1A1B07042833, No. NRF-2019R1A4A1029003).

References

1 
Y. Jiang, Y. Wang, Z. Miao, J. Na, Z. Zhao, C. Yang, 2020, Composite learning-based adaptive neural control for dual-arm robots with relative motion, IEEE Trans. Neural Netw. Learn. Syst. early accessDOI
2 
X. Liu, X. Xu, Z. Zhu, Y. Jiang, 2021, Dual-arm coordinated control strategy based on modified sliding mode impedance controller, Sensors, Vol. 21, No. 14, pp. 4653DOI
3 
R. S. Jamisola Jr, P. S. Kormushev, R. G. Roberts, D. G. Caldwell, 2016, Task-Space Modular Dynamics for Dual-Arms Expressed through a Relative Jacobian, J. of Intell. & Robot Syst., pp. 205-218DOI
4 
J. Lee, P. H. Chang, R. S. Jamisola, 2013, Relative impedance control for dual-arm robots performing asymmetric bimanual tasks, IEEE Trans. on Ind. Electron., Vol. 61, No. 7, pp. 3786-3796DOI
5 
R. S. Jamisola Jr, R. G. Roberts, 2015, A more compact expression of relative jacobian based on individual manipulator jacobians, Rob. and Auton. Syst., Vol. 63, pp. 158-164DOI
6 
R. S. Jamisola Jr, P. Kormushev, D. G. Caldwell, F. Ibikunle, 2015, Modular relative jacobian for dualarms and the wrench transformation matrix, IEEE 7th Int. Conf. on Cyber. and Intell. Syst. (CIS) and IEEE Conf. on Robot Aut. and Mech. (RAM), pp. 181-186DOI
7 
W. Ha, 2018, A Disturbance Observer-based Robust Tracking Controller for Uncertain Robot Manipulators, Int. J. Control. Autom. and Syst., Vol. 2, pp. 417-425DOI
8 
K. Ohishi, 1994, Collision and force control for robot manipulator without force sensor, 20th Annual Conf, of IEEE Ind. Electron., Vol. 2, pp. 766-771DOI
9 
N. Koenig, A. Howard, 2004, Design and use paradigms for gazebo, an open-source multi-robot simulator, in IEEE/RSJ Int. Conf. on Intell. Robots and Syst., pp. 2149-2154DOI
10 
R. Smith, 2005, Open dynamics engine, [online]. Avaliable: http://www.ode.orgGoogle Search
11 
Universal Robots Korea, UR10 Specification, [online]. Available at: http://www.urkorea.co.kr/ur/CBseries3.aspGoogle Search
12 
K. Lee, W. Ha, J. Back, 2016, Overview of Disturbance Observation Technique for Linear and Nonlinear Systems, J. of Inst. of Cont., Robotics and Syst., Vol. 22, No. 5, pp. 332-338DOI
13 
J. Krüger, G. Schreck, D. Surdilovic, 2011, Dual arm robot for flexible and cooperative assembly, CIRP annals-Manufact. Tech., Vol. 60, No. 1, pp. 5-8DOI
14 
S. Makris, P. Tsarouchi, A-S. Matthaiakis, A. Athanasatos, X. Chatzigeorgiou, M. Stefos, K. Giavridis, S. Aivaliotis, 2017, Dual arm robot in cooperation with humans for flexible assembly, CIRP annals-Manufact. Tech., Vol. 66, No. 1, pp. 13-16DOI
15 
S. Makris, P. Tsarouchi, D. Surdilovic, J. Krüger, 2014, Intuitive dual arm robot programming for assembly operations, CIRP Annals-Manufact. Tech., Vol. 63, No. 1, pp. 13-16DOI
16 
J. Back, H. Shim, 2008, Adding robustness to nominal output-feedback controllers for uncertain nonlinear systems: a nonlinear version of disturbance observer, Automatica, Vol. 44, No. 10, pp. 2528-2537DOI
17 
J. Back, H. Shim, 2009, An inner-loop controller guaranteeing robust transient performance for uncertain MIMO nonlinear systems, IEEE Trans. on Autom. Cont., Vol. 54, No. 7, pp. 1601-1607DOI

저자소개

강현업(Hyunup Kang)
../../Resources/kiee/KIEE.2021.70.12.1976/au1.png

2020년 광운대학교 로봇학부 대학원(석사),

2021년~현재 현대오토에버(주) 근무,

관심분야는 강인제어 및 협업제어 등

유제휘(Jehwi Yoo)
../../Resources/kiee/KIEE.2021.70.12.1976/au2.png

2018년 광운대학교 로봇학부(학사),

2018년~현재 광운대학교 로봇학부 대학원 박사과정,

관심분야는 휴머노이드 제어 및 우선순위 기반 최적화 등

류건희(Kunhee Ryu)
../../Resources/kiee/KIEE.2021.70.12.1976/au3.png

2012년, 2014년 광운대학교 로봇학부(학사, 석사),

2015년~현재 광운대학교 로봇학부 대학원 박사과정,

관심분야는 로봇학 및 분산 시스템 등

백주훈(Juhoon Back)
../../Resources/kiee/KIEE.2021.70.12.1976/au4.png

1997년, 1999년 서울대학교 기계 설계 및 생산 공학(학사, 석사),

2004년 서울대학교 전기 공학 및 컴퓨터 과학(박사),

2005년~2006년 Imperial College London, UK에서 연구원으로 근무,

2008년~현재 광운대학교 로봇학부 교수,

관심분야는 제어시스템 이론 및 설계, 재생 에너지 시스템 및 멀티 에이전트 시스템 등