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

  1. (Dept. of Electrical and Computer Engineering, Ajou University, Korea.)



Dynamic characteristics, image-based visual servoing, multi-layer artificial neural network dynamics, omnidirectional mobile robot, velocity sensor

1. 서 론

전방향 이동로봇은 일반적인 이동로봇과 달리 홀로노믹한 특성을 가지고 있기 때문에 전방향으로 즉각적인 이동이 가능하므로 산업 현장에서 많이 사용되고 있다(1)-(2). 전방향 이동로봇을 정확히 제어하기 위해서는 먼저 그 로봇의 기구학과 동역학 모델을 알아야 한다. 그러나 동역학 모델은 매우 복잡한 형태를 가지고 직접 측정하기 어려운 파라미터를 포함하고 있다. 이를 해결하기 위해 동역학 모델에서 파라미터를 알아내기 위해 식별에 대한 연구가 진행되었고(3), 인공신경망 동역학에 대한 연구도 진행되고 있다(4). 동역학 모델의 개별적인 파라미터 식별과정은 시간이 지남에 따라 파라미터의 값들이 잘 맞지 않게 되고, 이는 성능의 저하를 가져올 수 있다. 따라서 본 논문에서는 인공신경망을 이용하여 동역학 모델을 얻는 방법에 주목한다. 동적 시스템에 대하여 인공신경망 동역학을 설계하는 연구는 주로 모델 예측 제어(Model Predictive Control, MPC)(5), 모델 기반 적응 제어(Model Based Adaptive Control)(6) 등에 사용되고 있다. 이러한 제어 방법들은 제어하고자 하는 로봇 시스템의 동적 특성(Dynamic characteristics)을 잘 보여주는 인공신경망을 설계하여 동역학 모델의 출력을 예측하거나 적응적으로 조정하여 제어하는 방법이다. 인공신경망 동역학 모델을 이용한 동적 로봇 시스템을 표현하는 방법은 다양하게 활용될 수 있다.

본 논문에서는 전방향 이동로봇의 동적 특성을 잘 보여주는 다층인공신경망 동역학 모델을 설계하고, 설계한 동역학 모델의 출력인 전방향 이동로봇의 속도 정보를 활용한 전방향 이동로봇의 영상기반 비주얼 서보잉(Image Based Visual Servoing, IBVS) 방법을 제안한다. 영상기반 비주얼 서보잉은 카메라 영상에서 특징점 오차를 점근적으로 수렴하기 위한 로봇 시스템의 기준 속도를 생성한다(7). 생성된 기준 속도를 정확히 추종하기 위해서는 전방향 이동로봇의 정확한 속도 값을 알아야 하지만, 구동기에 부착된 속도센서로 얻어지는 속도 정보들은 구동기의 바퀴와 지면간의 미끄러짐(8)이나 구동기의 헛도는 현상으로 인해 불확실성이 발생한다. 이러한 전방향 이동로봇의 속도 불확실성은 영상기반 비주얼 서보잉 제어기의 성능을 저하시킬 수 있다. (9)에서는 전역 비전 센서(Global Vision Sensor, GAS)로부터 속도를 계산하여 전방향 이동로봇의 속도를 얻었고, (10)에서는 다층인공신경망을 통해 속도를 생성하는 대신 직접적으로 전방향 이동로봇의 자세 지령을 생성하여 영상기반 비주얼 서보잉을 구현하였다. 본 논문에서는 속도센서의 불확실성을 직접적으로 해결하기 위한 방법을 제안한다. 불확실성을 포함한 속도센서를 사용하는 대신에, 사전에 전방향 이동로봇의 실제 입출력 데이터를 가지고 전방향 이동로봇의 동적 특성을 정확히 표현할 수 있는 다층인공신경망 동역학 모델을 학습하여 얻는다. 이 다층인공신경망 동역학을 통해 얻는 전방향 이동로봇의 속도 정보를 활용하여 속도센서가 없는 전방향 이동로봇의 영상기반 비주얼 서보잉을 구현한다.

2. 전방향 이동로봇의 기준 동역학 모델과 다층인공신경망 동역학 모델

이 장에서는 전방향 이동로봇의 기준 동역학 모델과 다층인공신경망 동역학 모델을 얻는다. 전방향 이동로봇의 기준 동역학 모델은 수학적으로 표현되는 동역학 모델로 내부에 많은 파라미터를 포함하고 있다. 다층인공신경망 동역학 모델은 실제 전방향 이동로봇의 입출력 데이터를 통해 다층인공신경망을 학습하여 얻음으로써 기준 동역학 모델을 잘 모사할 수 있는 동역학 모델이다.

2.1 전방향 이동로봇 기준 동역학 모델

수학적으로 표현할 수 있는 전방향 이동로봇의 기준 동역학 모델을 설계한다. 그림 1은 전방향 이동로봇의 모델을 나타내며 설계하고자하는 동역학 모델의 시스템이다.

그림. 1. 전방향 이동로봇 모델

Fig. 1. Omnidirectional mobile robot model

../../Resources/kiee/KIEE.2020.69.4.594/fig1.png

구동기 부분은 총 3개($F_{1}$, $F_{2}$, $F_{3}$)로 구성되어 있고 각 구동기에는 전방향 휠이 장착되어 전방향 구동이 가능하게 된다. 그러나 로봇 시스템의 구동기는 DC 모터를 많이 사용하기 때문에 실제 입력은 구동기의 입력인 전압이 된다. 구동기를 고려한 동역학 모델을 얻기 위해서는 구동기 동역학을 포함하여 전체 시스템의 동역학 모델링이 필요하다. 본 논문에서는 구동기 동역학을 포함한 전방향 이동로봇의 동역학 모델을 다룬다.

전방향 이동로봇은 견인력의 방향으로의 바퀴 미끄러짐이 없고, 바퀴들이 바닥과 접촉하여 발생하는 마찰력은 각 바퀴의 견인력의 방향으로만 작용한다고 가정하여, (11)에서 유도된 구동기의 동역학을 포함한 전방향 이동로봇의 기준 동역학 식은 다음과 같다.

(1)
$$\begin{aligned} \left[\begin{array}{c} \dot{u} \\ \dot{v} \\ \dot{r} \end{array}\right]=& G^{-1}\left[\begin{array}{c} r v \\ -r u \\ 0 \end{array}\right]-G^{-1} H B B^{T}\left(\frac{k_{2} k_{3}}{R_{a}}+b_{0}\right) \frac{n^{2}}{R^{2}}\left[\begin{array}{l} u \\ v \\ r \end{array}\right] \\ &+G^{-1} H B \frac{k_{2} n}{R R_{a}}\left[\begin{array}{l} E_{1} \\ E_{2} \\ E_{3} \end{array}\right] \end{aligned}$$

여기서 $G=I+HBB^{T}\dfrac{n^{2}J_{0}}{R^{2}}$이고, 행렬 $H$와 $B$는 각각

(2)
$$H=\left[\begin{array}{ccc} 1 / m & 0 & 0 \\ 0 & 1 / m & 0 \\ 0 & 0 & 1 / I_{2} \end{array}\right]$$

(3)
$$B=\left[\begin{array}{ccc} 0 & \cos \left(30^{\circ}\right) & -\cos \left(30^{\circ}\right) \\ -1 & \sin \left(30^{\circ}\right) & \sin \left(30^{\circ}\right) \\ L & L & L \end{array}\right]$$

$u$, $v$은 각각 로봇 프레임의 $x$, $y$ 방향으로의 속도, $r$은 회전속도, $m$은 로봇의 질량, $I_{z}$는 로봇의 관성모멘트, $R$은 바퀴의 반지름이다. 또한 구동기 내부의 많은 파라미터를 포함하고 있는데, $E:=[E_{1},\: E_{2},\: E_{3}]^{T}$는 모터에 인가하는 전압, $n$는 모터의 기어비, $R_{a}$는 모터 내부의 전기자 저항, $J_{0}$는 모터와 바퀴까지의 관성모멘트, $b_{0}$는 점성 마찰계수, $k_{2}$와 $k_{3}$는 각각 모터 토크상수와 역기전력 상수이다. 식(1)의 전방향 이동로봇의 동역학 모델을 기준 동역학 모델로 선정하고 이를 다층인공신경망으로 얻은 동역학 모델과 비교한다.

기준 동역학 모델에서 로봇의 무게, 바퀴 반지름 등 실제로 측정 가능한 파라미터가 있는 반면에 직접 측정이 어려운 모터 상수, 관성모멘트 등은 모터 식별과 동역학 모델 식별을 통해 구해야 한다. 그러나 식별을 통해 얻은 파라미터는 로봇을 구동하면서 점차 실제 로봇과 맞지 않은 경우가 발생할 수 있으므로 정확한 동역학 파라미터들을 얻기 위해서는 주기적으로 동역학 파라미터들을 수정할 필요가 있고 식별과정 또한 매우 어려울 수 있다. 다음 표 1에서는 본 논문에서 다룰 기준 동역학 모델의 파라미터를 나타낸다.

표 1. 기준 동역학 모델의 파라미터들

Table 1. Parameters of reference dynamics

전방향 이동로봇 기준 동역학 모델의 파라미터 [단위]

$m = 0.85[kg]$, $I_{z}= 0.4138[kgm^{2}]$, $L = 0.225[m]$, $n = 20$, $R_{a}= 0.74[\Omega]$, $k_{3}= 0.02[Vs/rad]$, $k_{2}= 0.02[Nm/A]$, $J_{0}= 9.38\times 10^{-6}[kgm^{2}]$, $b_{0}= 1.10\times 10^{-6}[kg^{2}/s]$, $R = 0.03[m]$

2.2 전방향 이동로봇 다층인공신경망 동역학 모델

다층인공신경망은 노드라고 표현하는 인공 뉴런이 층을 쌓아 구성하게 되고 이러한 층들이 모여 신경망을 구성하는 형태를 가진다. 하나의 인공 뉴런에 대하여 수학적으로 표현하면 다음과 같다.

(4)
$Y=f(W^{T}U+bias)$

여기서 $U$와 $Y$는 각각 입력과 출력 벡터이고, $W^{T}$는 가중치 벡터, $bias$는 노드에 붙어있는 상수이다. 이 과정을 그림으로 표현하면 그림 2와 같다.

그림. 2. 인공 뉴런의 수학적 모델

Fig. 2. athematical model of artificial neurons

../../Resources/kiee/KIEE.2020.69.4.594/fig2.png

(12)에서는 다층인공신경망이 가지는 3가지 특성을 다음과 같이 설명한다. 첫 번째는 비선형적인 입력과 출력에 대해 매핑할 수 있다. 비선형 시스템의 경우 그 시스템이 복잡하여 입출력 관계를 표현하기 어려울 수 있지만, 다층인공신경망으로 입출력 관계를 비교적 정확히 표현가능하다. 두 번째는 적응적 학습능력이 있다. 입출력 정보를 가지고 초기에는 부정확한 관계를 얻지만 점차 학습을 통해 적응적으로 입출력 관계를 형성해준다. 세 번째는 일반화 능력을 가진다. 학습 데이터를 가지고 학습을 시킨 후 학습 데이터 이외의 입력정보에 대해서도 보다 정확한 출력 값을 얻을 수 있다. 따라서 이러한 특성을 바탕으로 복잡한 전방향 이동로봇의 동역학 모델에 대해서도 다층인공신경망을 통해 동역학 모델을 구할 수 있게 된다.

2.2.1 다층인공신경망 동역학 모델 구조

본 논문에서 구성한 다층인공신경망 동역학 모델은 그림 3과 같다. 각 은닉층에는 노드 10개를 가지고 활성 함수는 쌍곡탄젠트 시그모이드(tansig) 함수를 사용한다. 이 다층인공신경망의 입력과 출력은 각각 3개이며, 식(1)에서의 입력 $E_{1}$, $E_{2}$, $E_{3}$와 출력 $u$, $v$, $r$이다.

2.2.2 다층인공신경망 동역학 모델 학습

다층인공신경망 동역학 모델을 학습하기 위해서 매트랩(MATLAB) 인공신경망 툴박스(nntraintool)를 사용한다. 입력 데이터는 무작위하게 나눠서 검증에 사용한다. 학습에 사용되는 입력 데이터를 학습하고자 하는 신경망에 입력으로 넣었을 때의 출력 값과 사전에 얻은 출력 값을 비교하여 평균 제곱 오차(Mean Squared Error, MSE)를 얻고, 이 오차를 줄이는 방향으로 Levenberg-Marquardt(LM) 알고리즘(13)을 사용하여 가중치를 조정하여 학습한다. LM 알고리즘은 경사하강법(Gradient descent)과 가우스-뉴턴법(Gauss-Newton method)을 모두 사용하여 최적의 해를 찾는 기법으로, 수많은 가중치를 가지는 신경망을 학습시킬 때 매우 효율적인 방법이다(14). 학습 데이터는 사전에 실제 전방향 이동로봇으로부터 입출력 데이터를 취득하여 얻고 오프라인으로 학습을 수행한다. 그림 4는 전방향 이동로봇 입출력 데이터 취득 과정을 보여준다. 전방향 이동로봇의 구동부는 DC 모터(Maxon DCX26L-GB-KL- 24V)와 전방향 휠(Swedish wheels)을 사용하고, 제어기로는 마이크로 컨트롤러(TMS320C28346)가 탑재되어 있다. 전방향 이동로봇 상단에 마커(Markers)를 부착하여 모션 캡처 장치(VICON bonita cameras)로부터 전방향 이동로봇의 속도 $u$, $v$, $r$를 얻는다. 그림 5는 전방향 이동로봇에 인가하는 입력 전압들을 나타내고, 그림 6은 모션 캡쳐 장치로부터 얻은 전방향 이동로봇의 출력 속도를 나타낸다.

그림. 3. 다층인공신경망 동역학 모델의 구조

Fig. 3. Multi-layer neural network dynamics structure

../../Resources/kiee/KIEE.2020.69.4.594/fig3.png

2.2.3 학습 결과 및 기준 동역학 모델과 비교

그림 7은 다층인공신경망 동역학 모델의 학습 성능을 보여준다. 평균 제곱 오차로 표현되는 검증 성능이 79번째 세대(Epoch)에서 0.0031546이며 매우 작은 학습 오차로 학습이 이뤄짐을 확인할 수 있다. 그림 8-10은 기준 동역학 모델과 다층인공신경망 동역학 모델의 각 출력 속도 $u$, $v$, $r$을 비교한 그림이다. 그림 5그림 6에서 학습 데이터가 전방향 이동로봇의 가동 범위의 모든 영역을 잘 표현해주기 때문에 학습된 동역학 모델이 기준 동역학 모델과 매우 유사한 응답을 보인다.

그림. 4. 전방향 이동로봇의 입출력 데이터 취득

Fig. 4. Input/Output data acquisition of omnidirectional mobile robot

../../Resources/kiee/KIEE.2020.69.4.594/fig4.png

그림. 5. 실제 전방향 이동로봇의 입력 전압 데이터

Fig. 5. Input voltage data of actual omnidirectional mobile robot

../../Resources/kiee/KIEE.2020.69.4.594/fig5.png

그림. 6. 실제 전방향 이동로봇의 출력 속도 데이터

Fig. 6. Output velocity data of actual omnidirectional mobile robot

../../Resources/kiee/KIEE.2020.69.4.594/fig6.png

그림. 7. 다층인공신경망 동역학 모델의 학습 성능

Fig. 7. Learning performance of Multi-layer neural network dynamics

../../Resources/kiee/KIEE.2020.69.4.594/fig7.png

3. 속도센서가 없는 전방향 이동로봇의 영상기반 비주얼 서보잉

이 장에서는 전방향 이동로봇의 영상기반 비주얼 서보잉 제어기를 설계한다. 전방향 이동로봇에 부착된 카메라로 목표물의 특징점 정보를 얻고, 기준 특징점과의 오차를 정의하여 그 오차가 0으로 수렴하도록 하는 전방향 이동로봇의 기준 속도를 생성한다. 생성한 기준속도를 전방향 이동로봇이 추종하기 위해서는 외부 속도 제어기를 설계해야 하고, 이 속도 제어기에서는 전뱡향 이동로봇의 속도센서로부터 속도를 피드백 받아야 한다.

그림. 8. 기준 동역학과 다층인공신경망 동역학의 출력 속도 $u$ 비교

Fig. 8. Comparison of output velocity $u$ between reference dynamics and neural network dynamics

../../Resources/kiee/KIEE.2020.69.4.594/fig8.png

그림. 9. 기준 동역학과 다층인공신경망 동역학의 출력 속도 $v$ 비교

Fig. 9. Comparison of output velocity $v$ between reference dynamics and neural network dynamics

../../Resources/kiee/KIEE.2020.69.4.594/fig9.png

그림. 10. 기준 동역학과 다층인공신경망 동역학의 출력 속도 $r$ 비교

Fig. 10. Comparison of output velocity $r$ between reference dynamics and neural network dynamics

../../Resources/kiee/KIEE.2020.69.4.594/fig10.png

일반적으로 전방향 이동로봇의 속도센서로는 구동기에 결합된 엔코더 센서를 이용한다. 하지만 이러한 속도센서는 바퀴의 미끄러짐과 헛도는 현상으로 불확실성을 가진다. 속도 정보를 정확히 얻기 위해서 (9)에서는 전역 비전 센서를 사용하여 속도를 계산하지만, 카메라 영상으로부터 계산하기 때문에 연산량이 많아 실시간성을 보장하기 어렵고, 카메라 내부 고유 변수들의 불확실성이 발생하여 속도 정보의 불확실성에 기인할 수 있다. (10)에서는 속도를 얻지 않고 다층인공신경망을 통해 직접적으로 전방향 이동로봇의 자세 지령을 생성하지만, 지령에 따른 전방향 이동로봇의 실제 속도가 수렴함을 보이지 않아 정확한 제어를 기대하기 어렵다. 본 장에서는 속도센서의 불확실성을 직접적으로 해결하기 위한 방법을 제안한다. 2장에서 설계한 다층인공신경망 동역학 모델은 실제 전방향 이동로봇을 구동하면서 얻는 실험 데이터를 바탕으로 설계되었고, 구동기의 입력하는 전압과 모션 캡처 장치로부터 얻는 정확한 실제 속도의 관계를 표현한다. 따라서 다층인공신경망 동역학을 통해 불확실성을 포함한 속도센서가 없는 전방향 이동로봇의 영상기반 비주얼 서보잉을 구현한다.

카메라 좌표계에서 3차원 목표물의 좌표 $p:=[x,\: y,\: z]^{T}$를 2차원 이미지 평면으로 투영한 좌표 $s:=[f_{x},\: f_{y}]^{T}$는 다음과 같이 표현할 수 있다(15).

(5)
$$s=\left[\begin{array}{l} \frac{x}{z} \\ \frac{y}{z} \end{array}\right]=\left[\begin{array}{c} \frac{u_{p}-c_{u}}{f \alpha} \\ \frac{v_{p}-c_{v}}{f} \end{array}\right]$$

여기서 $u_{p}$와 $v_{p}$는 이미지 공간에서 픽셀 단위로 표현되는 점의 좌표이고, $c_{u}$, $c_{v}$, $f$, $\alpha$는 카메라 내부의 고유 변수들이다. 이때 $s$와 카메라의 선속도와 각속도를 포함한 속도변수 $v_{c}:=[\dot p_{c},\: w_{c}]$와의 관계를 다음과 같이 나타낼 수 있다.

(6)
$\dot s =L_{o}v_{c}$

여기서 상호관계 행렬 $L_{o}$는

(7)
$$L_{o}=\left[\begin{array}{cccccc} -\frac{1}{z} & 0 & \frac{f_{x}}{z} & f_{x} f_{y} & -\left(1+f_{x}^{2}\right) & f_{y} \\ 0 & -\frac{1}{z} & \frac{f_{y}}{z} & 1+f_{y}^{2} & -f_{x} f_{y} & -f_{x} \end{array}\right]$$

이다. 자유롭게 움직이는 카메라는 여섯 개의 자유도를 갖지만 전방향 이동로봇에 부착된 카메라는 세 개의 자유도로 제한되고, 카메라가 전방향 이동로봇 중심에 부착되어 있다고 가정하면

(8)
$$\left[\begin{array}{l} u \\ v \\ r \end{array}\right]=\left[\begin{array}{c} \dot p_{c x} \\ \dot p_{c z} \\ -w_{c y} \end{array}\right]$$

와 같은 관계를 얻을 수 있다. 따라서 식(6)을 간략하게 정리하면 다음과 같다.

(9)
$$\dot s=L_{c}\left[\begin{array}{l} u \\ v \\ r \end{array}\right]$$

여기서 간략화한 상호관계 행렬 $L_{c}$는

(10)
$$L_{c}=\left[\begin{array}{ccc} -\frac{1}{z} & \frac{f_{x}}{z} & 1+f_{x}^{2} \\ 0 & \frac{f_{y}}{z} & f_{x} f_{y} \end{array}\right]$$

이다. 네 개의 목표물의 특징점 $s_{c}:=[s_{1},\: s_{2},\: s_{3,\:},\: s_{4}]^{T}$을 영상에서 검출하고 목표물의 원하는 특징점 $s_{d}:=[s_{d1},\: s_{d2},\: s_{d3},\: s_{d4}]^{T}$에 대하여 영상 특징점 오차 $e$$\in ℝ^{8}$를

(11)
$e=s_{d}-s_{c}$

와 같이 정의한다. 이때 네 개의 특징점에 대한 상호관계 행렬들을 모두 포함한 상호관계 행렬 $L_{s}:=[L_{c1},\: L_{c2},\: L_{c3},\: L_{c4}]^{T}$$\in ℝ^{8\times 3}$에 대하여 영상 특징점 오차를 0으로 수렴하기 위한 전방향 이동로봇의 원하는 속도는 다음과 같이 설계된다.

(12)
$$\left[\begin{array}{l} u_{d} \\ v_{d} \\ r_{d} \end{array}\right]=\widehat{L_{s}^{+}} K_{e}$$

여기서 $\widehat{L_{s}^{+}}:=\left(\widehat{L_{s}^{T}} \widehat{L}_{s}\right)^{-1} L_{s}^{T} \in \mathbb{R}^{3 \times 8}$는 무어-펜로즈 의사 역행렬이고(16), $K$$\in ℝ^{8\times 8}$는 영상 특징점 오차의 수렴속도를 결정하는 양의 정부호 행렬(Positive definite matrix)이다. 전방향 이동로봇의 속도가 식(12)의 속도를 따라가기 위하여 속도 추종 오차

(13)
$$e_{v}=\left[\begin{array}{l} u_{d} \\ v_{d} \\ r_{d} \end{array}\right]-\left[\begin{array}{l} u \\ v \\ r \end{array}\right]$$

에 대하여 식(1)에서 다음과 같은 전방향 이동로봇의 제어 입력을 생성한다.

(14)
$$\left[\begin{array}{l} E_{1} \\ E_{2} \\ E_{3} \end{array}\right]=\frac{R R_{a}}{k_{2} n}\left(G^{-1} H B\right)^{-1}\left(-G^{-1}\left[\begin{array}{c} r v \\ -r u \\ 0 \end{array}\right]+G^{-1} H B B^{T} \times\left(\frac{k_{2} k_{3}}{R_{a}}+b_{0}\right) \frac{n^{2}}{R^{2}}\left[\begin{array}{l} u \\ v \\ r \end{array}\right]+\left[\begin{array}{c} \dot u_{d} \\ \dot v_{d} \\ \dot r_{d} \end{array}\right]+v\right)$$

위 식에 의해 식(1)은 다음과 같이 정리된다.

(15)
$\dot e_{v}=-\upsilon$

여기서 유사 입력 $\upsilon$를 PI(Proportional-Integral) 제어기 형태로 설계하면 다음과 같다.

(16)
$\upsilon =k_{p}e_{v}+\dfrac{k_{i}}{s}e_{v}$

여기서 $k_{p}:=2\zeta w_{n}$와 $k_{i}:=w_{n}^{2}$는 양의 상수(Positive constant)이다. $\zeta$와 $w_{n}$을 적절히 설계하면 속도 추종 오차는

(17)
$\ddot e_{v}+2\zeta w_{n}\dot e_{v}+w_{n}^{2}e_{v}=0$

와 같은 이차 미분 방정식 형태이므로 $e_{v}$는 점근적으로 0에 수렴하게 된다. 따라서 전방향 이동로봇의 속도 $u$, $v$, $r$은 각각 $u_{d}$, $v_{d}$, $r_{d}$로 수렴하고, 정적 목표물 특징점들에 대하여 식(12)식(9)에 대입하면 다음과 같다.

(18)
$\dot e =-L_{s}\hat L_{s}^{+}Ke$

여기서 카메라와 목표물 사이의 깊이(Depth) $z$를 $e$가 0일 때의 값인 상수로 설정하면 $L_{s}\hat L_{s}^{+}$는 항상 양의 준정부호 행렬(Positive semidefinite matrix)을 만족한다(15). 따라서 영상 특징점 오차는 (15)에서와 같이 점근적인 안정성을 보장한다.

4. 모의실험

다층인공신경망 동역학 모델을 통해 얻은 속도 정보들로 전방향 이동로봇의 비주얼 서보잉 모의실험을 구현함으로써 본 논문에서 제안한 기법의 타당성을 검증한다. 식(12)(16)에서 제어기 설계 파라미터는 표 2와 같이 설계한다.

표 2. 제어기 설계 파라미터

Table 2. Controller design parameters

$K=\left[\begin{array}{ccc}0.20 & 0 & 0 \\ 0 & \ddots & 0 \\ 0 & 0 & 0.20\end{array}\right], \zeta=0.90, w_{n}=4.85$

그림 11은 3 차원 그래프로 전방향 이동로봇의 모션을 보여준다. 카메라 좌표계에서 $z$축 방향으로 초기 2.5m 떨어진 목표물의 위치에서 시작하여, 전방향 이동로봇이 목표점으로부터 거리가 0.35m일 때 얻어지는 특징점들을 기준 특징점들로 설정했다. 홀로노믹한 전방향 이동로봇의 특징으로 이동궤적이 일직선으로 나타남을 확인할 수 있다. 그림 12는 카메라 영상에서의 특징점들의 이동을 보여준다. 카메라 영상은 640⨯480 크기를 가진다고 가정하고 시작점(Initial)에서 종료점(Final)까지 매끄럽게 이동함을 확인할 수 있다. 그림 13은 속도 추종 오차 $e_{v}$의 변화를 보여주며, 각 속도 추종 오차가 점근적으로 0에 수렴을 확인할 수 있다. 그림 14-17은 네 개의 정규화(Normalized)된 특징점 오차들을 보여주며, 각각의 그림에서 $x$축과 $y$축 특징점 오차들이 0으로 수렴함을 확인할 수 있다. 이러한 모의실험 결과를 통해 전방향 이동로봇의 다층인공신경망 동역학을 이용한 영상기반 비주얼 서보잉 제어기가 잘 동작함을 확인할 수 있다.

그림. 11. 전방향 이동로봇의 3 차원 모션

Fig. 11. 3D motion of omnidirectional mobile robot

../../Resources/kiee/KIEE.2020.69.4.594/fig11.png

그림. 12. 카메라 영상에서의 네 개의 특징점들

Fig. 12. Four feature points in camera view

../../Resources/kiee/KIEE.2020.69.4.594/fig12.png

그림. 13. 속도 추종 오차

Fig. 13. Velocity tracking errors

../../Resources/kiee/KIEE.2020.69.4.594/fig13.png

그림. 14. 첫 번째 특징점의 각 축별 오차들

Fig. 14. Errors of the first feature point

../../Resources/kiee/KIEE.2020.69.4.594/fig14.png

그림. 15. 두 번째 특징점의 각 축별 오차

Fig. 15. Errors of the second feature point

../../Resources/kiee/KIEE.2020.69.4.594/fig15.png

그림. 16. 세 번째 특징점의 각 축별 오차

Fig. 16. Errors of the third feature point

../../Resources/kiee/KIEE.2020.69.4.594/fig16.png

그림. 17. 네 번째 특징점의 각 축별 오차

Fig. 17. Errors of the fourth feature point

../../Resources/kiee/KIEE.2020.69.4.594/fig17.png

5. 결 론

본 논문에서는 다층인공신경망을 이용한 전방향 이동로봇의 속도센서가 없는 영상기반 비주얼 서보잉을 제안한다. 전방향 이동로봇의 동역학을 다층인공신경망 모델로 학습함으로써 기준 동역학 모델의 동특성을 비교적 정확히 묘사하는 동역학 모델을 얻었다. 이러한 다층인공신경망 동역학 모델을 응용하는 방법 중의 하나로, 전방향 이동로봇의 영상기반 비주얼 서보잉 제어기를 설계할 때 필요한 전방향 이동로봇의 속도 정보를 다층인공신경망 동역학 모델로부터 얻었다. 다층인공신경망 동역학 모델은 복잡한 전방향 이동로봇 동역학에 포함된 파라미터들을 개별적으로 식별하지 않고, 전방향 이동로봇의 입출력 데이터만을 가지고 학습하기 때문에 쉽게 전방향 이동로봇 동역학 모델의 성능을 유지 할 수 있다. 더욱이 모션 캡쳐 장치로 얻은 실제 속도 값을 대상으로 학습하기 때문에 학습 결과로 얻은 속도는 비교적 정확한 값을 얻을 수 있다. 본 논문에서 제안한 방법을 검증하기 위해 모의실험을 수행하였고, 모의실험 결과를 통해 본 논문에서 제안한 방법으로 전방향 이동로봇의 영상기반 비주얼 서보잉에 활용할 수 있음을 확인하였다.

Acknowledgements

본 연구는 한국전력공사의 사외공모 기초연구(개별)에 의해 지원되었음(과제번호: R19XO01-21)

References

1 
S. Guo, Q. Diao, F. Xi, Jan 2017, Vision based navigation for omni-directional mobile industrial robot, Procedia Comput. Sci., Vol. 105, pp. 20-26Google Search
2 
J. Qian, B. Zi, D. Wang, Y. Ma, D. Zhang, Sep 2017, The design and development of an omni-directional mobile robot oriented to an intelligent manufacturing system, Sensors, Vol. 17, No. 9DOI
3 
A. S. Conceicao, A. P. Moreira, P. J. Costa, 2006, Model identification of a four wheeled omni-directional mobile robot, in Proc. 7th Portuguese Conf. Autom. Control, pp. 1-2Google Search
4 
S. Chen, S. A. Billings, Aug 1992, Neural networks for nonlinear dynamic system modelling and identification, Int. J. Control, Vol. 56, pp. 319-346DOI
5 
S. Piche, J. Keeler, G. Martin, G. Boe, D. Johnson, M. Gerules, 1999, Neural network based model predictive control, in NIPS, pp. 1029-1035Google Search
6 
F. Nardi, 2000, Neural network based adaptive algorithms for nonlinear control, Ph.D. dissertation, School Aerosp. Eng., Geogia Inst. Technol., Atlanta, GA, USAGoogle Search
7 
C.-L. Li, M.-Y. Cheng, W.-C. Chang, Jan 2018, Dynamic performance improvement of direct image-based visual servoing in contour following, Int. J. Adv. Robot. Syst., Vol. 15, No. 1, pp. 486-505DOI
8 
R. L. Williams, B. E. Carter, P. Gallina, G. Rosati, Jan 2002, Dynamic model with slip for wheeled omnidirectional robots, IEEE Trans. Robot. Autom., Vol. 18, No. 3, pp. 285-293DOI
9 
A. Saenz, V. Santibanez, E. Bugarin, Apr 2018, Image based visual servoing for omnidirectional wheeled mobile robots in voltage mode, Int. J. Eng. Res., Vol. 4, No. 4, pp. 48-53Google Search
10 
J. E. C. Ortiz, 2012, Visual servoing for an omnidirectional mobile robot using the neural network - multilayer perceptron, 2012 WEA, Vol. bogota, pp. 1-6DOI
11 
Y. Liu, J. J. Zhu, R. L. Williams, J. Wu, May 2008, Omni- directional mobile robot controller based on trajectory linearization, Robot. Autom. Syst., Vol. 56, No. 5, pp. 461-479DOI
12 
Byung-ryong Lee, 2012, Focusing on the fuzzy neural network control Matlab/Simulink, Ulsan University Press, Vol. , pp. 157-170Google Search
13 
E. W. Weistein, , Levenberg-marquardt method, From MathWorld -A Wolfram Web Resource. [Online]. Available: http://mathworld. wolfarm.com/Levenberg-MarquardtMethod.htmlGoogle Search
14 
M. T. Hagan, M. B. Menhaj, Nov 1994, Training feedforward networks with the marquardt algorithm, IEEE Trans. Neural Netw., Vol. 5, No. 6, pp. 989-993DOI
15 
F. Chaumette, S. Hutchinson, Dec 2006, Visual servo control, part 1: basic approaches, IEEE Robot. Automat. Mag., Vol. 13, No. 4, pp. 82-90DOI
16 
R. Macausland, 2014, The moore-penrose inverse and least squares, Math 420: Advanced Topics in Linear Algebra, Univ. Puget Sound, Tacoma, WA, USA, pp. 1-10Google Search

저자소개

부준석 (Junseok Boo)
../../Resources/kiee/KIEE.2020.69.4.594/au1.png

Junseok Boo received the B.S. and M.S. degrees in electrical and computer engineering from Ajou University, Suwon, Korea, in 2018 and 2020, respectively, where he is currently working toward the Ph.D. degree.

Tel : 031-219-2489

Fax : 031-212-9531

E-mail : tghn01@ajou.ac.kr

좌동경 (Dongkyoung Chwa)
../../Resources/kiee/KIEE.2020.69.4.594/au2.png

Dongkyoung Chwa received the B.S. and M.S. degrees in control and instrumentation engineering and the Ph.D. degree in electrical and computer engineering from Seoul National University, Seoul, Korea, in 1995, 1997, and 2001, respectively.

Since 2005, he has been with the Department of Electrical and Computer Engineering, Ajou University, Suwon, Korea, where he is currently a Professor.

Tel : 031-219-1815

Fax : 031-212-9531

E-mail : dkchwa@ajou.ac.kr