Journal of Korea Robotics Society
[ ARTICLE ]
The Journal of Korea Robotics Society - Vol. 12, No. 2, pp.173-183
ISSN: 1975-6291 (Print) 2287-3961 (Online)
Print publication date May 2017
Received 27 Dec 2016 Revised 27 Feb 2017 Accepted 14 Apr 2017
DOI: https://doi.org/10.7746/jkros.2017.12.2.173

수중 측위 시스템과 SVR을 이용한 음영지역에서의 경로 추정 기법

박영식1 ; 송준우2 ; 이동혁3 ; 이장명
Path Estimation Method in Shadow Area Using Underwater Positioning System and SVR
Young Sik Park1 ; Jun Woo Song2 ; Dong Hyuk Lee3 ; Jangmyung Lee
1Electrical Engineering, Pusan National University youngsik1696@pusan.ac.kr
2Electrical Engineering, Pusan Nationalal University junwoo7379@pusan.ac.kr
3Electrical Engineering, Pusan National University ldh0917@pusan.ac.kr

Corresponding author : Electrical Engineering, Pusan National University, Jangjeon-Dong, Geumjeong-Gu, Pusan, Korea ( jmlee@pusan.ac.kr)

© Korea Robotics Society. All rights reserved.

Abstract

This paper proposes an integrated positioning system to localize a moving object in the shadow-area that exists in the water tank. The new water tank for underwater robots is constructed to evaluate the navigation performance of underwater vehicles. Several sensors are integrated in the water tank to provide the position information of the underwater vehicles. However there are some areas where the vehicle localization becomes very poor since the very limited sensors such as sonar and depth sensors are effective in underwater environment. Also there are many disturbances at sonar data. To reduce these disturbances, an extended Kalman filter has been adopted in this research. To localize the underwater vehicles under the hostile situations, a SVR (Support Vector Regression) has been systematically applied for estimating the position stochastically. To demonstrate the performance of the proposed algorithm (an extended Kalman filter + SVR analysis), a new UI (User Interface) has been developed.

Keywords:

Underwater Positioning, SONAR, SVR, Path Estimation, Shadow Area

1. 서 론

최근 생태계 조사, 해양자원 이용, 미래 개발 가치 등 의 많은 이유로 해양 관련 연구가 활발히 진행되고 있다. 연구 또는 자료수집을 위해 잠수부가 직접 바다로 투입 되는 경우에는 유속이 빠른 곳에서는 사고의 위험부담 이 있고 심해로는 들어가지 못하는 한계가 있다. 그렇기 에 많은 연구소와 실험실에서 수중 탐사 및 개발용 무인 로봇 개발에 열을 올리고 있다. 무인 수중 로봇은 크게 ROV (Remotely Operated Vehicle)와 AUV (Autonomous Underwater Vehicle)로 구분된다. ROV의 경우 유선으로 운용되므로 분실의 위험이 적고 조작자에 의해 실시간 판단이 가능하다. 하지만 케이블 길이의 제한이 있고 운 동체와 조종할 모선이 필요하며 모선의 운용 비용도 추 가로 든다는 단점이 있다. AUV의 경우 무선으로 움직이 며 스스로 위치 계산을 하여 목적에 맞게 움직인다. 하지 만 위치 인식이 정확하게 이루어지지 않으면 임무수행 에 차질이 생길뿐더러 분실의 위험도 있다. 그렇기에 개 발 단계의 수중 운동체는 분실되지 않는 환경에서 정확 한 항법 시스템을 구축한 뒤에 실험되어야 하며, 분실 위험이 없고 반복 실험에 적합한 장소로 대형 수조를 많이 이용한다. 그리고 이러한 대형 수조에서 물체의 정 확한 위치를 파악하고 개발자에게 보여주기 위해서는 수조 측위 시스템이 필요하다[1-3].

측위 시스템에 사용되는 센서의 종류는 다양하다. GPS (Global Positioning System), RF 비컨(Radio Frequency Beacon), 비전(Vision) 센서, 레이저(Laser) 센서, 초음파 (Ultrasonic) 센서, IMU (Inertial Measurement Unit) 등이 있다. 수중에서는 전자기파가 잘 전달되지 않으므로 GPS는 사용할 수 없으며, RF 비컨을 이용하여 거리를 측정하는 방법은 있으나, 범위가 한정적이라 더 많은 연 구가 필요하다[4,5]. 그리고 IMU 센서를 사용하게 될 경 우, 관성을 이용하기 때문에 운동체에 센서를 부착하여 사용해야 한다. 또한 위치 계산을 위한 가속도와 각속도 성분의 데드레커닝(Dead-reckoning) 연산이 필요하지만 내부적으로 연산을 위해 장치를 추가하는 것은 비효율 적이며 외부로 데이터를 보내주는 것이 유리하다. 그러 나 외부와 통신을 가능하게 하는 장비를 추가적으로 부 착하게 될 경우 부력중심, 질량중심 등이 바뀌게 되며, 수중운동체의 크기에 따라서 제어에도 영향을 미칠 수 있다. 그렇기에 IMU 센서 사용은 수중 측위 시스템에서 는 사용이 제한된다. 결국 매질에 영향을 받지 않는 음파 를 이용한 센서를 이용하여야 하며, 수중에서 대표적으로 사용되는 소나(Sound Navigation And Ranging, SONAR) 센서를 사용한다. 보통 소나 센서를 이용하여 운동체와 의 거리를 확인하기 위해 최소 3개의 거리 정보를 이용 하여 3차원 좌표를 계산한다[6-7]. 소나 센서의 거리 측정 에 사용되는 음파는 염도와 수온 그리고 수압에 따라 속도가 바뀌며 환경에 따른 연산 방법도 조금씩 바뀐다. 외부 소음에도 반응하여 노이즈 성분을 포함한다.

노이즈 같은 경우 필터를 통해 신뢰성을 얻을 수 있으 며, 확률 기반의 방식인 칼만 필터(Kalman Filter, KF), 확장칼만 필터(Extended Kalman Filter, EKF), 파티클 필터(Particle Filter, PF) 또는 MCL방법 등을 사용해왔 다[8-10]. 칼만 필터의 경우 시스템의 확률적인 모델과 측정 값을 이용하여 시스템의 상태 변수를 찾는 최적 추정기 법이며, 선형 시스템에서는 신뢰성이 높은 결과를 나타 내지만, 비선형 시스템에서의 적용은 무리가 따른다. 무 향 칼만 필터의 경우 확률 분산 표본을 구하여 오차의 평균과 공분산을 구하는 방식으로 복잡하여 연산량이 많다. 파티클 필터의 경우 베이지안(Bayesian) 최적 추정 치를 이용하며 비선형 특성을 가진 시스템에서 시스템 의 정보를 알 수 없을 경우에 쓰인다. 그리고 비정규분포 잡음에 강한 장점이 있다.

수중 음영지역은 노이즈와 다르게 수조 벽면이나 수 면 등에서 소나 센서 데이터 난반사가 심한 지역이며, 이러한 요인들로 인해서 소나 센서를 이용한 위치 계산 이 불가능한 구역이다. 음영지역에서 위치인식을 하기 위해서는 기존의 누적된 데이터를 이용하여 위치를 예 측할 수 밖엔 없다[11].

본 논문에서는 칼만 필터(Kalman Filter, KF)를 이용 하여 소나 데이터의 노이즈를 줄이고 깊이 센서를 이용 하여 3차원 좌표 계산을 한다. 그리고 음영지역에서는 SVR (Support Vector Regression)를 이용하여 경로 추정 을 한다. 2장에서는 전체 측위 시스템의 구성 방식에 대 해 설명하고 3장에서는 센서 노이즈를 줄이기 위한 확장 칼만 필터 설계를 한다. 필터 된 데이터를 이용하여 3차 원 좌표를 구한 뒤 4장에서 SVR을 이용하여 음영지역 경로 예측한다. 5장과 6장에서 시뮬레이션과 실험을 통 하여 알고리즘을 검증한다.


2. 통합 측위 시스템

2.1. 전체 시스템 구성

수조 통합 측위 시스템은 크게 수면 측위와 수중 측위 로 나뉜다. 수면에서는 비전 센서를 이용하며 수중에서 는 소나 센서와 깊이 센서를 이용한다. Fig. 1은 전체 시스템 구성이다.

Fig. 1

Overall System

우선 통합 시스템이 있는 메인 PC에서 서버를 구성하 고 MySQL을 이용하여 데이터베이스를 구축한다. 로그 인 기능을 이용하여 사용자 별 데이터베이스를 구분 짓 고, 그 후 데이터 전송 시작 메시지를 프로토콜에 맞 춰 각 센서 제어 모듈에 전송한다. 각 센서 제어 모듈에서는 아날로그 센서 데이터를 디지털 데이터로 바꿔준 뒤 실 시간 데이터를 데이터베이스로 전송한다. 다시금 메인 PC에서는 사용자에 따른 데이터를 불러들이고 디지털 필터를 접목하고 그래프를 그린다. 그래프는 현재 위치/ 누적 위치 수면/수중으로 구분 짓는다. 수면에서는 운동 체에 부착된 마커(Marker)를 비전 센서를 이용하여 인식 후 2차원 좌표의 위치를 찾는다. 비전 센서를 이용할 경 우 수조 좌표 기준 위치 출력이 가능하며 수중과 수면의 경계에 해당하는 평면에서는 음영지역 제약이 없기에 수중 측위에 대한 방법만을 제시한다.

소나는 능동(Active)과 수동(Passive)으로 나뉘는데 능 동 소나를 이용하여 운동체의 위치를 측정할 경우, 운동 체의 크기 및 자세에 따라 거리 값이 다르게 된다. 그렇 기에 운동체 좌표의 신뢰성을 높이기 위해서 수동 소나 를 이용한다. 운동체의 한 점에서 음파를 보내 신호원이 같으며 상대적으로 정확한 거리 측정이 된다.

Fig. 2는 소나 센서 데이터의 처리 과정을 나타낸다. 각 소나 센서는 수조 벽면의 중앙에 위치해 있으며 총 4개로 같은 높이에 구성되어 있다. 필터를 접목한 소나 데이터의 오차는 크지 않으므로 연산의 간소화를 위해 측정된 4개의 데이터 중 가장 큰 데이터를 제외한 3개의 소나 데이터만 이용하여 위치를 계산한다. 각 센서 출력 값만큼의 반지름을 가지는 원의 방정식과 교점을 이용 하여 위치를 계산한다. 결과에는 큰 영향을 미치진 않지 만 미세한 센서 오차로 생기는 좌표 계산 오류는 Fig. 3 의 우측 그림에 나와 있는 방식으로 각 원의 교점을 지나 는 직선을 구하여 위치 보정을 한다[12].

Fig. 2

SONAR Data Processing

Fig. 3

SONAR Selection and Coordinate Calculation

본 논문에서는 수조의 구조상 소나의 개수가 4개로 제한되어 있으며, 모두 같은 깊이에 설치되어 있기에 원 의 교점을 이용한 방법으로는 운동체가 소나보다 높게 있는지 낮게 있는지 구분이 불가능하다. 그렇기에 깊이 센서를 이용하여 단순 깊이는 단거리 통신을 사용하여 얻고 위치 계산을 보조한다.


3. 확장 칼만 필터

3.1. 필터 선정

본 논문에서는 소나 노이즈를 줄이기 위해 칼만 필터 를 사용한다. 칼만 필터는 대표적으로 기본 칼만 필터와 기본 필터에서 파생된 무향 칼만 필터(Unscented Kalman Filter, UKF), 확장 칼만 필터(Extended Kalman Filter, EKF)가 있으며 많이 사용된다. 이 중에서 비선형 시스템 모델과 정규 분포를 이루는 잡음에 사용 가능하고 시스 템 모델을 선형으로 변환하여 사용해 처리가 빠른 확장 칼만 필터를 사용하기로 한다. 비선형 특성이 클수록 오 차가 심하다는 단점이 있지만 본 논문에서는 시스템 모 델을 알고 있으므로 비선형 특성을 선형 특성으로 변화 시킨 후 소나 데이터 노이즈를 제거하도록 한다[13-15].

3.2. 사용 모델

칼만 필터를 적용하기 위해서는 수중 운동체의 이동 특성을 알아야 하며, 예측을 위해서는 시스템의 모델링 이 필요하다. 본 논문에서는 수중에서 이동의 제약이 적 으며 Gertler 다항식이 적용되는, 수중운동체의 일반적 인 모양인 유선형의 오딧세이(Odyssey)[16] 타입을 사용 한다. 우선 부력 중심, 관성모멘트, 중력 중심, 모멘트 계수 등을 고려한 6자유도 식을 고려하지만 롤(Roll)과 스웨이(Sway) 축의 이동이 제약된 수중 운동체를 사용 하므로 4자유도로 줄여지고 식 (1)~(4)와 같다[17].M2M3

Mxx¨=[mzgq˙+Xu|u|u|u|+Xprop+fu]+Mx(w˙ϕ sin ψ+wϕψ˙cosψ)(1) 

Mzz¨=[mxgq˙+Zw|w|w|w|+Zprop+fw]Mzu˙θ(2) 

Iqθ¨=[mxgw˙mzgu˙+Mq|q|q|q|+Mprop+fq]Iq(r˙ϕ+rϕ˙)(3) 

Irψ¨=[mxgv˙+Nr|r|r|r|+Nprop+fr]+Ir[q˙ϕ+qϕ˙](4) 

여기서 Mx=mXu˙,  Mz=mZw˙,Iq=IyMq˙,Ir=IzNr˙ 이며, 양의 상수이다. 계속해서 fu=m[qw+rvrpzg+(q2+r2)xg], fv=m[ru+pwpqxg+rqzg], fw=m[pv+quprxg+(p2+q2)zg], fp=Ixzr(IzIy)rq+m[zg(rupw)], fq=(Ix+Iz)prIxz(r2p2)m[zg(qwrv)xg(pvqu)], fr=Izxp(IyIx)pq+Ixzqrm[xg(rupw)] 을 나타낸다. x¨z¨ 는 지구 좌표계 기준 가속도 값을 나타내고 u, v, w 는 운동체 기준 각 방향 별 속도, θ¨,ψ¨ 는 운동체 기준 각가속도를 나타낸다.

3.3. 확장 칼만 필터

칼만 필터를 적용하기 위해서는 수중 운동체의 이동 특성을 알아야 하며, 예측을 위해서도 필요하다. 운동체 의 모델을 이용하여 어떻게 움직일 것인지 확률판단에 사용하고 소나 센서의 오차 확률을 추가하여 계산을 한 다. 칼만필터는 예측단계(Predict)와 보정단계(Update) 로 나누어진다. 그리고 이산화단계(Discretize)로도 나누 어지며 센서 디지털 데이터를 샘플링 시간에 맞춰 이산화 계산을 한다[18,19].

운동체의 모델링 좌표를 수조 좌표에 맞게 좌표변환 행렬을 이용한다[20].

Cbn=(cos θ cosψ-cos θ sinψ+sin ϕ sin θ cosψsin ϕ sinψ+cos ϕ sin θ cosψcos θ sinψcos ϕ cosψ+sin ϕ sinθ cosψ-sin ϕ cosψ+cos ϕ sin θ sinψsin θsin ϕ cos θcos ϕ sin θ)(5) 

식 (5)는 좌표 변환 행렬을 나타낸 것이며 아래 첨자의 b는 기체 좌표, 위 첨자 n은 수조 좌표를 뜻한다.

운동체 좌표계산에 사용 될 소나 센서는 3개이며 방향 벡터 L = [l1, l2, l3]T 로 표현한다.

시스템 행렬로 표현한 상태공간 X 에 대한 식은 식 (6) 에 나타나있다.

x˙=f(x,u)+Gw,wN(0,QC)(6) 

f 에서 상태 변수 요소는 소나의 거리 값이며 비선형 특성을 가진 함수이다. 그리고 평균이 0이고 분산이 Qc 인 Gaussian 화이트 노이즈를 더한다. Qc=diag([ql1,ql2,ql3]) 이며 스펙트럼 밀도를 의미한다.

시스템 측정 벡터 y 는 식 (7)에 나와 있으며 R은 센서 공분산 행렬이다.M8

y=h(x)+v,vN(0,R)(7) 

R=diag([σl12,σl22,σl32])(8) 

자코비안을 이용하여 상태 변이와 관측 행렬을 정의 하며 이전 추정값을 기준으로 하여 계산한다. 여기서 f, h는 미분이 가능한 조건이다.M9

Axkf(xk)Hxkh(xk)(9) 

비선형 시스템 변수 벡터에 x와 w에 대해 편미분을 하여 F, G 행렬을 구한다. 샘플링 시간에 맞춰 계산하며 예측 단계 x^ 는 식 (10)에 나타내어진다.

x^(tk)=tk1kf(x^(tk1),u(tk1),0)dt(10) 

공분산 식과 칼만 이득 는 다음과 같다.M11M12

P(tk)=A(tk1)P(tk1)AT(tk1)+Q(tk1)(11) 

K(tk)=P(tk)HT(tk)×(H(tk)P(tk)HT(tk)+R(tk))1(12) 

여기서M13M14

A(tk)=exp(Fdt)(13) 

Q(tk)=12[A(tk)GQcGTAT(tk)+GQCGT]dt(14) 


4. SVR

4.1. SVR

수중 측위에 있어서 센서 샘플링 속도와 운동체 운용 시간 등을 고려하면, 소나 데이터의 수는 상대적으로 적 다. 그리고 수조 입장에서는 모든 운동체의 모델을 알 수도 없기 때문에, 음영지역에서 위치 예측은 수평/수직 선으로 강제 분류하고 분류에 적용하기에 복잡한 의사 결정 트리를 이용하기보단, 기존의 데이터를 이용하여 패턴을 분석하고 시간과 속도에 따른 추측을 해야 한다. 벡터 성분을 이용하여 통계적으로 분석을 하는 것 중 SVM (Support Vector machine)이 있다[21-22].

SVM은 머신 러닝 기법 중 하나이며, 통계학, 컴퓨터 과학, 금융 정보 등 기타 확률 분석 용으로 많이 사용되 며, 크게 분류(Classification)와 회귀분석(Regression Analysis) 기능으로 나뉘게 된다. 분류는 여러 범주의 객 체들을 초평면(Hyperplane)을 이용하여 최적의 집단 분 리를 시키며 여백(Margin) 최대화를 이용하여 구분 짓는 다. 회귀분석은 종속변수와 독립변수 사이의 관계를 알 아보기 위해 통계적인 분석 방법 중 하나이며, 수학적인 모형을 구한 뒤 분석하여 전개를 한다. 그리고 구조적 위험도를 최소화하는 원리이기에 경험적 위험을 최소화 하고 적은 데이터를 이용하여 에러를 줄일 수 있다. 본 논문에서는 SVM의 회귀기능을 사용하므로 SVR (Support Vector Regression)로 지칭한다.

수중 로봇의 위치 측위를 할 경우 커널(Kernel) 함수를 사용하여 비선형 분석 알고리즘으로 사용한다. 본 논문 에서는 커널 함수로 K(x,y)=e|x - y|2/2σ2 을 만족하는 Gaussian 방사 기저 함수(Gaussian Radial-Basis Funciton) 을 사용하였으며 이 커널 함수는 저차원에서 고차원으 로 매핑을 할 때에 사용된다. 수조의 센서 데이터가 저차 원 공간에서 선형적으로 분류 및 분석이 되지 않을 경우 극소 구간을 커널 함수를 이용하여 고차원 확장시켜 순 간 선형화를 만들어 로봇의 위치를 추정 한다.


5. 시뮬레이션

앞서 제안한 확장 칼만 필터와 최소 제곱 SVM의 성능 을 확인한다. 임의의 위치를 목표지점으로 주고 운동체 (Plant)가 움직일 경우 측정된 소나 데이터를 이용하여 거리를 측정하는 것이 첫 번째 목표이다. 소나 데이터가 들어올 때 노이즈 및 외란이 발생하기에 확장 칼만 필터 를 이용하여 노이즈를 줄이고 신뢰가 되는 데이터를 예 측 및 보정을 한다. 그 후 각 센서에서 받은 보정 데이터 를 이용하여 운동체의 위치를 계산한다. 필터를 거치더 라도 데이터가 정확한 거리를 측정하지는 않으므로 운 동체의 크기를 고려하여 범위로 위치 계산을 한다.

5.1. 확장 칼만 필터 시뮬레이션

MATLAB Simulink를 이용하여 시뮬레이션 한다. 소 나 센서는 각 벽면에 한 개씩 장착하여 총 4개를 사용하 여 x 축과 y 축 위치를 인식하며, z 축은 소나 센서가 아닌 수압 센서를 사용하기로 하여 따로 측정 하지 않기 로 한다. Fig. 4~6은 시뮬레이션 결과이다. 목표 좌표를 (7 m, 0 m, -3 m)를 주었으며 수심 3 m는 호버링 (Hovering)을 이루는 수심을 임의로 잡았기에 z 축 이동 은 하지 않는다. 샘플링 시간은 핑어와 소나의 데이터 송수신 속도 기준으로 500 ms에 한 번씩 데이터가 들어 오게 된다. 제어기로는 PD 제어기를 사용하였다. 제어기 의 출력에 따라 운동체가 목적지로 이동하고 이때 측정 되는 센서의 데이터와 필터의 결합을 보여 제안한 필터 의 성능을 검증한다.F5

Fig. 4

X-Position Graph

Fig. 5

Y-Position Graph

Fig. 6

x-axis Velocity Graph

그래프에서 빨간 선은 운동체에 명령을 내려준 경로 를 보여주고, 파란색 점선은 센서의 노이즈가 경로 측위 에 방해를 준 데이터를 보여준다.

그리고 녹색 선은 설계한 확장 칼만 필터 블록을 통과 한 데이터들의 그래프이다. x 축으로 7 m 이동명령을 주 었고 제어기에 따라 x 축 속도가 변하는 모습이 보인다.

y 축으로 이동은 없지만 센서 노이즈만으로도 데이터 오차가 보이는데 지속적인 제어기 동작과 필터 동작으 로 목표지점 0 m 근처에서 위치 오차를 보인다.수치적으 로 노이즈가 포함된 데이터와 필터 된 데이터의 오차의 평균은 약 51% 개선 됨을 확인하였다.

5.2. SVR 시뮬레이션

소나 센서의 특성상 벽면과 수면 근처에서 난반사가 일어나고 데이터의 신뢰도가 떨어지게 된다. 일반적으 로 음파의 속도는 수온과 밀도, 수압에 따라 변하게 되는 데 실험할 수조의 깊이가 깊은 편도 아니고 실내이기 때문에 계절에 의한 온도 차가 아니면 큰 차이가 없다. 하지만 이 외에도 생각하지 못한 영향을 미칠 수 있는 요소가 여러 있다고 간주하여 직관적으로 음영지역을 정하게 되었다. 소나 센서 실험 시 대략 3 m에서 데이터 가 정확하지 않은 경향과 Vision 카메라의 범위와 소나 센서의 정확성을 비교하였을 시 1.5 m 정도에서 정확하 지 않아 각 벽면에서의 3 m 이내 범위와 수면 1.5 m 이내의 범위를 음영지역으로 지칭한다.

입력 값은 센서를 통해 계산된 운동체의 위치이며 음 영지역에 들어가게 되면 데이터를 무시하고 기존의 데 이터들을 이용하여 이동 경로 추정을 한다.

운동체에 목적 좌표를 입력하면 제어기에 의해 통제 되면서 이동을 한다. 이때 소나 센서의 오차를 감안하여 Gaussian 화이트 노이즈를 추가로 입력하여 주행을 시킨 다. 그리고 음영지역이라고 판단되는 벽면 3 m 범위 안 에 들어올 경우 위치 데이터를 무시한다. Fig. 7~8은 비 선형 경로 입력을 주었을 때, 최소 제곱 SVM을 이용한 추정 결과를 나타낸다.

Fig. 7

Result of Nonlinear Path 1

Fig. 8

Result of Nonlinear Path 2

그래프에서 검은색 선은 Reference이며 음영지역을 구분 짓는 선이다. 벽면의 Y 좌표를 0이라고 했을 때, 좌표가 3이 되는 지점이 음영지역이 시작되는 부분을 뜻한다. 갈색 선이 비선형 경로를 보여주기 위한 목적 좌표이며 비선형성이 심하다. 그렇기에 경로가 급격히 바뀌는 구역에서는 잠시 멈추게 하였다. 그리고 빨간색 점은 필터 된 데이터들을 이용하여 좌표를 구한 값이다. 노이즈를 줄였다고 하더라도 약간의 오차가 생긴 모습 이 보인다. 그리고 파란색 선은 최소 제곱 SVM을 통한 추정 결과이다. 모니터링 시스템에서는 실시간으로 표 시해야 되므로 음영지역에 들어가기 전 데이터를 이용 하여 추정에 이용한다. 그렇기에 발산할 수 있는데 이러 한 경우 벽면까지 거리인 3 m를 고려하여 1 m거리를 두고 벽면을 따라 이동하는 것으로 한다. 그리고 음영지 역을 벗어나는 데이터가 출력되면 이전 측정 데이터와 동시에 회귀 분석을 하여 새로이 갱신을 한다. 시간에 따라 출력 데이터 개수도 다르기에 운동체의 속도와 음 영지역에 머무른 시간을 체크하여 예측 경로를 보강한 다. 그리고 추정 그래프의 차수가 높아질수록 민감한 반 응을 보이지만 음영지역을 넘나드는 결과를 보여주기도 한다. 그렇기에 Reference를 넘는 감도를 보일 경우 감도 를 조절하는 판단 알고리즘도 추가한다. 그리고 오랜 시 간 음영지역을 벗어나지 못할 경우 음영경계에 가상의 위치를 넣어주어 곡선의 선형성을 유지하며 측위한다.


6. 실험 및 결과

실험에 이용한 센서는 소나 센서와 깊이 센서, 핑어이 다. 소나 센서는 NEPTUNE SONAR LIMITED 사의 D/70 모델이다. 구형 트랜스듀서이며 전방향 응답을 받 을 수 있는 특징을 가졌다. 통합 측위 시스템을 구현할 프로그램으로는 C++기반의 MFC를 이용하였다.

6.1. 실험 환경

실험은 부산광역시 기장군에 위치한 한국생산기술연 구원 해양로봇센터에서 진행한다. 해양로봇을 위한 전 용 수조로서 구축은 완료되었으며, 수중 및 수면 측위 시스템을 본 논문을 통해 개발한다.

수조의 크기는 가로 20 m, 세로 45 m, 깊이 8.5 m 이며 각 면의 중앙에 소나가 설치되어 있다. 총 4개의 센서를 사용하며 Fig. 10에 각 센서의 좌표 값이 나타나 있다. 핑어는 33 kHz 신호를 500 ms 주기로 패시브 소나 에 신호를 흩뿌린다.T1F9

Fig. 9

Used Sensor Model, D/70

Specification of D/70

Fig. 10

Coordinate System of Water Tank and Sensor Location

정확한 측위 비교를 위해서 엔코더(Encoder) 오차율 이 5 cm 이하인 수조용 이동식 전차를 사용한다. 실험은 직선으로 움직이는 경우와 곡선으로 움직이는 경우를 모두 표현하기 위해 선정한 경로를 이용하며, 시뮬레이 션에서 고려하지 못한 상황에 대비를 하기 위한 코드 상 알고리즘을 추가로 접목을 하고 확인한다.

측위 시스템의 UI는 Fig. 11에 나타나 있다. 소켓 통신 으로 서버를 생성하고 클라이언트 입력을 받는다. 그리 고 로그인 창을 이용하여 데이터베이스와 연동을 하고 센서 측정 시작 메시지를 보냄과 동시에 데이터를 그래 프로 표현한다.

Fig. 11

Positioning System UI

음영지역에 들어간 후 계산은 가상의 데이터를 두는 방법으로 한다. 운동체의 속도 값과 방향을 계산하여 (n, 1)의 위치에 가상의 데이터를 둔다. 실험에서 n의 값은 전차의 속도를 감안하여 0.5로 설정하였다. Fig. 12에서 처럼 과거의 오래된 데이터가 연산에 영향을 미치지 않도 록 음영지역에 들어가기 전 3개의 데이터만을 이용한다.

Fig. 12

Result 1

Fig. 13에서는 가상의 좌표가 2개가 설정되었으며 추 정 위치 데이터가 음영지역 내 유지할 정도로 변수의 감도가 조절 되었다. Fig. 14에서의 표현처럼 음영지역 밖의 데이터가 3개 이상 나오게 되면 이전의 가상의 좌 표 데이터를 지우고 새로이 업데이트를 하며 기존의 좌 표와 연결하고 음영지역을 벗어나지 않는 범위에서 계 산에 필요한 변수의 감도를 조절하여 최종적으로 음영 지역을 표현한다.

Fig. 13

Result 2

Fig. 14

Result 3

Fig. 15에서는 Y축 방향의 음영지역으로 들어가게 되 는데 이전의 추정 방식 연산에서 X, Y를 서로 치환하여 계산을 한다. 그리고 음영지역에 들어가기 전 3개의 데 이터와 나온 후 3개의 데이터를 주로 이용하므로 기존의 추정 위치는 생략하고 새로 보인다.

Fig. 15

Result 4


7. 결 론

본 논문은 해양로봇 특화 수조에 들어갈 측위 시스템 을 구성하는데 필요한 음영지역 위치 추정을 목적으로 한다. 수중 측위에서 사용 가능한 센서는 극히 제한적이 기에 불가피하게 음영지역이 생기는데, 이 음영 지역에 서의 위치 추정을 위한 알고리즘을 제안하였다. 우선 신 뢰성이 높은 데이터를 얻기 위해 확률 기반으로 예측을 하는 칼만 필터를 접목해서 노이즈를 줄였다. 필터 설계 과정으로 비선형 시스템에 접목을 하기 위해 자코비안 을 이용하였으며, 제안한 운동체의 모델링을 통하여 다 음 동작을 예상하였다. 그리고 시스템 행렬에 접목하여 필터 설계를 완료하였고 시뮬레이션을 통해 약 51%의 노이즈 보정 효과를 확인하였다. 필터를 통해 신뢰성이 높은 위치 데이터를 얻었으며, 이를 MFC로 구성된 UI를 통해 사용자에게 보여준다. 음영지역에서 경로 예측을 하기 위해서 SVM을 이용하였다. 소나 센서의 특성과 운용시간 문제로 데이터를 많이 얻지 못하므로 구조적 인 접근으로 경로를 예상한다. 정확히는 SVM 중 회귀 성능을 이용하였기에 SVR로 부른다. 그리고 기존 SVR 에서 조건 범위를 일정하게 고정하여 전개하였다. 선형 시스템에서 전개되는 SVR를 비선형 시스템에도 접목하 기 위해 커널 함수를 이용하여 고차원 매핑하였으며, 이 때 커널 함수에 따라 민감하게 반응을 하는데 이를 알고 리즘 적으로 보정을 하였다. 이러한 시스템의 장점으로 는 적은 센서 데이터를 이용하여 수중 로봇의 위치가 추정가능하며 SVR을 사용하기에 따로 학습구조를 설계 할 필요가 없다. 하지만 커널함수 및 차수에 따라 정밀도 가 변할 수 있지만, 본 실험에서는 음영지역 구간이 크지 않아 오차는 적다고 판단된다.

References

  • Shin, D.H, Bae, S.B, Baek, W.K, Joo, M.G, Waypoint tracking of AUV using fuzzy PD controller, Journal of Korean Institute Of Information Technology, (2013, May), 11(5), p1-7. [https://doi.org/10.14801/kiitr.2013.11.5.1]
  • Choi, Y.H, Kim, K. J, Robust Path Tracking Control for Autonomous Underwater Vehicle with Variable Speed, The Korea Intelligent Information System Society, (2010, Aug), 20(4), p476-482. [https://doi.org/10.5391/jkiis.2010.20.4.476]
  • Lee, P.Y, Park, S.K, Kwon, S.T, Park, S.W, Jung, H.S, Park, M.S, Lee, P.M, Dynamic modeling of autonomous underwater vehicle for underwater surveillance and parameter tuning with experiments, The Korea Intelligent Information System Society, (2015, Dec), 29(6), p488-498. [https://doi.org/10.5574/ksoe.2015.29.6.488]
  • Park, D. G, Kwak, K. M, Chung, W. K, Kim, J. H, Development of Underwater Short-Range Sensor Using Electrimagnetic Wave Attenuation, IEEE Journal of Oceanic Engineering, (2016, Apr), 41(2), p318-325. [https://doi.org/10.1109/JOE.2015.2433851]
  • Lee, C. E, Sung, T. K, TWR based Cooperative Localization of Multiple Mobile Robots for Search and Rescue Application, Journal of Korea Robotics Society, (2016, Aug), 11(3), p127-132. [https://doi.org/10.7746/jkros.2016.11.3.127]
  • Ahn, H.B, Kim, D.U, Hong, J.P, Localization based on Multiple-powered beacons in wireless sensor networks with random-deployed anchors, Journal of The Korea Information Science, (2012, Mar), 18(3), p229-233.
  • Jung, H.G, Suhr, J.K, Sensor fusion-based precise localization system for automotive applications, Auto Journal, (2015, Jun), 37(6), p29-34.
  • Julier, S, Uhlmann, J, Durrant-Whyte, H.F, A New Method for the Nonlinear Transformation of Means and Covariances in Filters and Estimators, IEEE Trans. on Automatic Control, (2000, March), 45(3), p477-482. [https://doi.org/10.1109/9.847726]
  • van der Merwe, R, Sigma-point Kalman Filters for Probabilistic Inference in Dynamic State-Space Models, Ph.D. thesis, Oregon Health & Science University, (2004, April).
  • Gordon, N, Salmond, D, Smith, A, Novel Approach to Nonlinear/Non-Gaussian Bayesian State Estimation, IEEE Proc. Radar and Signal Processing, (1993), 140(2), p107-113. [https://doi.org/10.1049/ip-f-2.1993.0015]
  • Lee, Y.J, Lee, J.H, Choi, H.T, A framework of recognition and tracking for underwater objects based on sonar images : part1. Design and recognition of artificial landmark considering characteristics of sonar images, Journal of The Institute of Electronics and Information Engineers, (2014, Feb), 51(2), p182-189. [https://doi.org/10.5573/ieie.2014.51.2.182]
  • Kim, K.Y, Lee, M.W, Cha, J.S, Analysis of indoor localization technology for exhibition services and application method of VLS/RF converged localization, Journal of Korean Institute of Communications and Information Sciences, (2015, Jan), 40(1), p217-225. [https://doi.org/10.7840/kics.2015.40.1.217]
  • Noh, S.W, Ko, N.Y, Kim, T.G, Implementation of Bayesian filter method and range measurement analysis for underwater robot localization, Journal of Korea Robotics Society, (2014, Mar), 9(1), p28-38. [https://doi.org/10.7746/jkros.2014.9.1.028]
  • Noh, S.W, Ko, N.Y, Choi, H.T, Implementation and Performance Comparison for an Underwater Robot Localization Methods Using Seabed Terrain Information, Journal of Korean Institute of Intelligent Systems, (2015), 25(1), p70-77. [https://doi.org/10.5391/jkiis.2015.25.1.070]
  • Yoo, H.D, Lee, I.U, Choi, W.S, Lee, J.M, Localization of the surface vehicles using DWT and GPS/INS fusion algorithm, Journal of Korea Robotics Society, (2015, Mar), 10(1), p1-8. [https://doi.org/10.7746/jkros.2015.10.1.001]
  • Rentschler, M.E, Hover, F.S, Chryssostimidis, Chryssostomos, System Identification of Open-Loop Maneuvers Leads to Improved AUV Flight Performance, IEEE Journal of Oceanic Engineering, (2006, Jan), 31(1), p200-208. [https://doi.org/10.1109/joe.2005.858369]
  • Han, S.I, Jung, J.H, Park, Y.S, Integrated Navigation and Control for a HAUV System Using Adaptive Super-Twisting Sliding Mode Control and Indirect Kalman Filtering Estimation, 15th International Conference on control, Automation and Systems, Busan, Korea, (2015, October, 13-16).
  • Yoo, T.S, Kim, M.H, Hwang, J.H, Yoon, S.I, Development of navigation HILS system for integrated navigation performance analysis of large diameter unmanned underwater vehicle(LDUUV), Journal of Ocean Engineering and Technology, (2016, Oct), 30(5), p367-373. [https://doi.org/10.5574/ksoe.2016.30.5.367]
  • Kim, S.Y, Lee, J.H, EKF based mobile robot indoor localization using pattern matching, Journal of Korea Robotics Society, (2012, Mar), 7(1), p45-56. [https://doi.org/10.7746/jkros.2012.7.1.045]
  • Jeong, S.K, Ko, N.Y, Choi, H.T, Comparison of attitude estimation methods for DVL navigation of a UUV, Journal of Korea Robotics Society, (2014, Sep), 9(4), p216-224. [https://doi.org/10.7746/jkros.2014.9.4.216]
  • Shim, J.H, Choi, J.W, Indoor environment recognition of mobile robot using SVR, Journal of the Korean Institute of Illuminating and Electrical Installation Engineers, (2010, Aug), 24(8), p119-125. [https://doi.org/10.5207/JIEIE.2010.24.8.119]
  • Ahn, B.T, Kim, E.H, Sohn, J.H, Kweon, I.S, Robust Real-time Tracking of Facial Features with Application to Emotion Recognition, Journal of Korea Robotics Society, (2013, Dec), 8(4), p266-272. [https://doi.org/10.7746/jkros.2013.8.4.266]
박 영 식

2015 부산대학교 전자전기공학부 졸업(공학사)

2017 부산대학교 전기전자컴퓨터공학과 전

자전공 석사졸업(공학석사)

관심분야: 로봇제어, 센서응용, 프로그래밍

송 준 우

2017 인제대학교 전자지능로봇공학과 졸업 (공학사)

2017~현재 부산대학교 전기전자컴퓨터공학과 전자전공 석사과정

관심분야: 시스템 제어, 위치인식

이 동 혁

2011 경남과학기술대학교 메카트로닉스공 학부 졸업(공학사)

2013 부산대학교 로봇관련협동 석사졸업 (공학석사)

2013~현재 부산대학교 전자전기공학부 박사 과정

관심분야: 지능로봇제어, 센서 융합, 원격제어

이 장 명

1980 서울대학교 전자공학과 졸업(공학사)

1982 동 대학원(공학석사)

1990 남가주대학교(공학박사)

1992~현재 부산대학교 전자공학과 교수

관심분야: 지능로봇시스템 설계 및 제어, 마이크로프로세서응용, 특 수환경 Navigation and Localization

Fig. 1

Fig. 1
Overall System

Fig. 2

Fig. 2
SONAR Data Processing

Fig. 3

Fig. 3
SONAR Selection and Coordinate Calculation

Fig. 4

Fig. 4
X-Position Graph

Fig. 5

Fig. 5
Y-Position Graph

Fig. 6

Fig. 6
x-axis Velocity Graph

Fig. 7

Fig. 7
Result of Nonlinear Path 1

Fig. 8

Fig. 8
Result of Nonlinear Path 2

Fig. 9

Fig. 9
Used Sensor Model, D/70

Fig. 10

Fig. 10
Coordinate System of Water Tank and Sensor Location

Fig. 11

Fig. 11
Positioning System UI

Fig. 12

Fig. 12
Result 1

Fig. 13

Fig. 13
Result 2

Fig. 14

Fig. 14
Result 3

Fig. 15

Fig. 15
Result 4

Table 1

Specification of D/70

Category Performance
Resonant Frequency 70 kHz
Beam Pattern Omni ± 1dB up to 80 kHz
Receive Sensitivity -197 dB re 1V/uPa up to 15 kHz
-195 dB re 1V/uPa @ 70 kHz
Transmit Sensitivity 146 dB re 1uPa/V @ 1 m, 70 kHz
Operating Depth Maximum 1600 Meters