J. Ocean Eng. Technol. Search

CLOSE


J. Ocean Eng. Technol. > Volume 30(5); 2016 > Article
무인수상선의 단일 카메라를 이용한 VFH+ 기반 장애물 회피 기법

Abstract

Recently, many unmanned surface vehicles (USVs) have been developed and researched for various fields such as the military, environment, and robotics. In order to perform purpose specific tasks, common autonomous navigation technologies are needed. Obstacle avoidance is important for safe autonomous navigation. This paper describes a vector field histogram+ (VFH+) based obstacle avoidance method that uses the monocular vision of an unmanned surface vehicle. After creating a polar histogram using VFH+, an open space without the histogram is selected in the moving direction. Instead of distance sensor data, monocular vision data are used for make the polar histogram, which includes obstacle information. An object on the water is recognized as an obstacle because this method is for USV. The results of a simulation with sea images showed that we can verify a change in the moving direction according to the position of objects.

1. 서 론

최근 해양 로봇은 연구가 거듭됨에 따라 해양 탐사나 특정 임무를 수행하기 위해 목적에 따라 여러 가지 형태로 제작되어 활용되고 있다. 해양 로봇 중에서도 수상 환경에서 무인수상선(Unmanned surface vehicle, USV)은 군사, 환경 보호, 탐사 등과 같은 여러 가지 목적으로 연구 및 개발되고 있다(Caccia et al., 2007; Caccia et al., 2008; Kim et al., 2012). 각 목적에 따른 임무를 수행하기 위해서는 공통적으로 자율 항법 기술이 필요하다. 자율 항법을 위해서는 자기 위치 인식부터 경로 계획, 경로 추종, 장애물 회피와 같은 요소들이 필요하다. 이 중에서 장애물 회피는 안전한 자율 항법을 위해 중요한 부분이다. 장애물을 인식하고 정지하는 간단한 알고리즘부터, 아주 정교한 알고리즘을 탑재하여 장애물을 회피하는 방법까지 다양한 연구들이 이루어지고 있다. 장애물 회피 알고리즘은 크게 두 부류로 나눌 수 있다. 과거 센서 데이터의 사용 여부에 따라 현재 들어온 데이터만을 이용하여 회피하는 반사제어(Reflective control)와 과거 데이터를 함께 사용하는 반응제어(Reactive control)로 나눌 수 있다(Borenstein and Koren, 1991). 반사제어의 경우 계산량이 적고, 외부 자극에 대한 빠른 동작을 쉽게 적용할 수 있는 반면 경로 계획이나 추종에 적용하기 어려운 단점이 있다. 이에 비하여 반응제어는 계산 량이 많고 환경지도를 저장해야 하는 단점이 있지만 이를 통해 장애물 회피뿐만 아니라 경로 생성 및 추종에도 활용할 수 있는 장점이 있다. 항법 정보 생성에 좀더 활용 가능성이 높은 반응제어 장애물 회피 방법 중에 벡터 필드 히스토그램(Vector field histogram, VFH)의 발전형인 VFH+ 방법이 있다(Ulrich and Borenstein, 1998). VFH+ 방법은 초음파 센서 및 적외선 센서와 같은 거리 감지 센서를 이용하여 장애물의 밀도를 나타내는 폴라 히스토그램을 생성하고 경계 값을 이용해 회피방향을 선정한다. 이 기법은 빠른 실시간 동작과 구현이 용이하다는 장점을 가지고 있다. 그러나 장애물 인식률을 위해 다수의 단일 거리 센서나 멀티 빔을 쏠 수 있는 고가의 거리 센서가 필요하다는 단점을 가진다. 실외 환경에서 많이 사용되는 무인수상선의 경우 많은 수의 단일 거리 센서를 주위에 장착하는 경우가 많지 않다. 그 대신 영상 정보를 활용할 수 있는 카메라 기반 시스템을 통하여 장애물 정보를 얻을 수 있다. 그러므로 본 연구에서는 무인수상선의 단일 카메라를 이용하여 얻은 영상에서 VFH+ 알고리즘을 토대로 회피 알고리즘 연구를 수행하고자 한다.

2. Vector Field Histogram+ (VFH+)

2.1 격자 지도(Grid map) 생성

VFH는 Virtual force field(VFF)의 단점을 보완하는 형태를 가지며, VFH+는 VFH에 로봇이 동역학적으로 회전할 수 있는 회전 반경을 고려하여 만들어졌다.
먼저 무인수상선을 중심으로 가상의 격자 지도를 지정하고 지도 한 칸을 하나의 셀(Cell)로 정의한다. 무인수상선이 장애물을 탐색할 범위를 활성 영역(Active window)으로 지정한 후 이 범위 내에서 각 셀의 장애물이 존재할 확률 값(Certainty value)을 장애물 벡터(Obstacle vector)로 사용한다. 활성 영역을 K개의 구역(Sector)으로 나누어 장애물 정보를 기록하는데 이것은 K개의 폴라 히스토그램(Polar histogram)을 생성한다. 각도별 구역(Angular sector)으로 나눠진 활성 영역의 예를 Fig. 1에서 볼 수 있다.
Fig. 1

Mapping of active cells onto the polar histogram

HOGHC7_2016_v30n5_426_f001.jpg

2.2 장애물 벡터 생성

활성 셀(Active cell)이 장애물 벡터로 사용되는데, 이 때 벡터의 방향(βi,j)과 크기(mi,j)는 무인수상선의 중심 위치(Vehicle center point, VCP)를 기준으로 계산된다. 각각의 값을 구하는 식은 다음과 같다.
HOGHC7_2016_v30n5_426_e901.jpg
HOGHC7_2016_v30n5_426_e902.jpg
HOGHC7_2016_v30n5_426_e903.jpg
이때 각 변수 들은 다음과 같은 의미를 가진다.
x0, y0 : current coordinates of the VCP
x1, y1 : coordinates of active cell (i, j)
a, b : positive constants
ci,j : certainty value of active cell (i, j)
여기서 벡터 크기 mi,j는 활성 영역의 가장자리에서 ci,j의 제곱과 같아야 하고, 장애물이 무인수상선에 가까울수록 mi,j는 큰 값을 갖는다. 거리 di,j는 활성 셀과 무인수상선이 가장 멀리 있을 때 최댓값을 가진다. 그러므로 a,ba-bdmax = 0을 만족하도록 설정한다.

2.3 일차 폴라 히스토그램(Primary polar histogram)

VFH+는 세가지 히스토그램을 단계별로 만들어 무인수상선의 진행 방향을 결정한다. 그 중 첫 번째가 일차 폴라 히스토그램이다. 무인수상선이 이동할 때 무인수상선 크기만큼의 공간이 확보되어야 이동 가능하다. 무인수상선 주변에서 장애물로 탐지되는 하나의 셀을 무인수상선의 크기로 확장하고 무인수상선은 하나의 점 질량으로 가정해도 같은 상황으로 볼 수 있다.
Fig. 2와 같이 하나의 장애물 셀의 크기를 키울 때 무인수상선의 반경 rr과 무인수상선과 장애물 사이의 최소 거리 ds를 더한 rr+s만큼의 크기로 키운다. 장애물의 경계를 늘렸을 때 장애물이 차지하는 각도γi,j는 다음과 같다.
Fig. 2

Enlarged obstacle cell

HOGHC7_2016_v30n5_426_f002.jpg
HOGHC7_2016_v30n5_426_e904.jpg
일차 폴라 히스토그램은 다음과 같이 각 구역의 히스토그램합으로 계산된다.
HOGHC7_2016_v30n5_426_e905.jpg
여기서 mi,j는 위에서 구한 장애물 벡터의 크기 이다. HOGHC7_2016_v30n5_426_e001.jpg는 다음과 같이 계산된다.
HOGHC7_2016_v30n5_426_e906.jpg
α는 한 구역의 각도 넓이 이며 βi,j는 장애물 벡터의 방향이다.

2.4 이진 폴라 히스토그램(Binary polar histogram)

두 번째는 일차 폴라 히스토그램을 기반으로 이진 폴라 히스토그램을 계산한다. 이진 폴라 히스토그램은 두 개의 임계값 τhigh, τlow을 사용하여 계산하는데 이것은 각 구역이 열린 공간인지 장애물로 막힌 공간인지를 결정한다. i번째에서 이진 폴라 히스토그램은 다음과 같이 계산된다.
HOGHC7_2016_v30n5_426_e907.jpg

2.5 가려진 폴라 히스토그램(Masked polar histogram)

세 번째 히스토그램 Hm은 무인수상선의 기구학 적인 요소를 포함하는데 이를 가려진 폴라 히스토그램이라 한다. 어떠한 속력을 가진 채 이동중인 무인수상선은 갑작스럽게 진행 방향을 바꿀 수 없다. 따라서 회전 반경을 가지게 되고 이동하면서 방향을 바꿀 경우 Fig. 3과 같이 원을 그리면 이동하게 된다.
Fig. 3

Ideal and real changing of directions

HOGHC7_2016_v30n5_426_f003.jpg
그러므로 곡률 반경이 장애물 범위와 겹치게 되면, 장애물이 있는 위치부터 무인수상선의 뒤쪽까지 진행하지 못하는 공간이 된다. Fig. 4에서 볼 수 있듯이 주행 도중 장애물을 만나 왼쪽으로 회전하거나 오른쪽으로 회전하려고 할 때 속력에 따른 회전 반경을 고려하여 진행 불가한 방향이 생길 수 있다.
Fig. 4

Example of additional blocking of spaces

HOGHC7_2016_v30n5_426_f004.jpg
좌 · 우 곡률 반경 rl, rr에 대한 중심점의 위치는 다음과 같다.
HOGHC7_2016_v30n5_426_e908.jpg
그리고 좌 · 우 회전 반경 중심에서 장애물 셀까지의 거리는 다음과 같다.
HOGHC7_2016_v30n5_426_e909.jpg
무인수상선의 진행을 막는 범위의 좌․우 경계값을 ϕl, ϕr이라고 할 때, 장애물 셀 ci,j가 무인수상선의 왼쪽에 있고 d1 <rr + rr+s 이면 ϕl = min(ϕl, βi,j) 이고, 장애물 셀이 무인수상선의 오른쪽에 있고 dr <rr + rr+s 이면 ϕr = min(ϕr, βi,j)이다. ϕl, ϕr과 이진 폴라 히스토그램으로부터 가려진 폴라 히스토그램 Hm을 다음과 같이 계산한다.
HOGHC7_2016_v30n5_426_e910.jpg

2.6 진행 방향 결정

가려진 폴라 히스토그램을 통해 무인수상선이 지나갈 수 있는 빈 공간을 찾는다. 빈 공간이 넓은 공간인지 좁은 공간인지 판단 할 기준 값인 smax를 정한다.(구역(Sector)의 개수로 정한다.) 빈 공간의 시작과 끝 구역을 각각 kl, kr이라고 할 때, 넓이가 smax 보다 크면 후보 구역의 범위 [cl, cr]를 다음과 같이 정한다.
HOGHC7_2016_v30n5_426_e911.jpg
반대로 넓이가 smax 보다 작으면 HOGHC7_2016_v30n5_426_e002.jpg로 정한다. 진행 방향 후보 구역에 속하는 c∈[cl, cr]에 대하여 평가함수를 적용해 최솟값이 되는 방향을 진행 방향으로 결정한다. 평가함수는 다음과 같다.
HOGHC7_2016_v30n5_426_e912.jpg
θt는 목적지 방향, θi/α는 현재 진행 방향 θn,i -1은 이전 상태에서 선택된 방향을 의미하고, Δ(c1, c2)는 두 구역 사이의 구역 개수를 의미한다. 곱해지는 상수 값은 μ1 > μ2 + μ3 조건을 만족하도록 설정한다.

3. 영상에서 장애물 인식

무인수상선이 적용 대상이므로 인식해야 할 장애물은 수면위에서 인식되는 물체를 대상으로 한다. 물체를 인식하는 과정은 세 단계로 이루어진다. 먼저 인식될 물체는 항상 물위에 있을 것이기 때문에 수평선 아래를 관심영역으로 설정한다. 다음으로 어떤 특정 물체를 찾는 것이 아니기 때문에 관심영역 내에서 특징점을 추출하는 기법을 이용해 물체를 찾는다. 특징점을 추출하는 방법에는 SIFT(Scale invariant feature transform) (Lowe, 2004), SURF(Speeded-up robust features) (Bay et al., 2006), BRISK(Binary robust invariant scalable keypoints) (Leutenegger et al., 2011) 등 여러 알고리즘들이 제안된 바 있다. 본 연구에서는 높은 정확성으로 특징점을 추출하고 반복적인 동작에서 비교적 빠른 연산속도를 보이는 SURF 알고리즘을 활용한다. 마지막으로 인식할 물체에서 찾아진 여러개의 특징점들을 DBSCAN(Density-based spatial clustering of applications with noise) 알고리즘(Ester et al., 1996)을 이용해 하나로 클러스터링하여 하나의 물체로 인식한다. 이때 물체의 좌우 길이를 클러스터의 좌우 길이로 설정하여, 영상 내에서 물체가 가로축으로 차지하는 길이만큼을 장애물로 설정한다. 이렇게 정해진 장애물 정보를 VFH+ 알고리즘에 입력시켜 폴라 히스토그램을 생성한다.

4. 시뮬레이션 실험 및 결과

영상에서 얻은 장애물 정보와 VFH+ 알고리즘을 기반으로 장애물을 회피하기 위한 진행 방향의 변경을 검증하기 위하여 시뮬레이션을 수행하였다. 무인수상선이 적용 대상이기 때문에 무인수상선에 장착된 카메라로부터 얻은 해상 이미지를 이용하였다. 카메라는 삼성 SDZ-370을 이용하여 해상 이미지를 얻었다. 장애물로 설정할 물체로는 고무보트를 이용하였다. 시뮬레이션에서 무인수상선은 정지 상태로 고정하고, 카메라가 보는 시야 내에서 고무보트가 좌우로 이동을 하였다. 장애물이 없을 경우 무인수상선은 영상의 정면 방향을 진행하는 것으로 가정하였다.
Fig. 5는 영상 내 장애물로 인해 진행 방향이 수정된 것을 보여준다. 붉은 선은 검출한 수평선을 의미한다. 일반적으로 수평선은 하나의 직선으로 검출되지만 Fig. 5와 같이 시야 내에 잔교 같은 대상이 있을 경우 여러 수평선이 검출 될 수 있다. 가장 아래 선을 기준으로 그 아래 영역을 물이 있는 관심영역으로 구분한다. 초록색 원은 물체에서 검출된 특징점 들이며 이 점들을 클러스터링 하여 검은색 네모로 표시 하였다. 왼쪽 가운데 파란색 원이 무인수상선을 의미하며 붉은색 원은 VFH+에서의 활성 영역을 의미한다. 붉은색 원 내부에 있는 빨간 점들이 무인수상선을 기준으로 한 장애물의 위치를 나타낸다. 초록색 막대가 장애물이 없을 경우 진행하는 방향이 이미지 내에서의 중앙 방향, 즉 0도를 의미한다. (+x축 방향이 0도이며, 반시계 방향으로 각도가 증가한다.) 영상 내에서 장애물 범위가 가운데부터 오른쪽으로 위치해 있는데 이것을 폴라 히스토그램으로 나타냈을 때 약 +6도에서 -50도에 해당하는 범위로 검출되었다. 파란색 막대가 수정된 무인수상선의 진행방향을 의미하는데 장애물이 없는 열린 공간인 왼쪽으로 변경된 것을 확인할 수 있다.
Fig. 5

Modified moving direction of USV to the left-side

HOGHC7_2016_v30n5_426_f005.jpg
Fig. 6은 장애물이 영상 내에서 왼쪽으로 치우친 중앙에 위치하여 진행 방향이 오른쪽으로 수정된 것을 볼 수 있다. 시뮬레이션에서 설정한 조건과 Fig. 5Fig. 6에서 보이는 결과는 Table 1과 같다.
Fig. 6

Modified moving direction of USV to the right-side

HOGHC7_2016_v30n5_426_f006.jpg
Table 1

Conditions of the simulation and result of figures

HOGHC7_2016_v30n5_426_t001.jpg
100msec 주기로 시뮬레이션을 수행하였고, 실시간으로 장애물 위치에 따라 진행 각도가 변화하거나 장애물이 기존 진행 방향에 영향을 주지 않는 위치에 있을 때는 다시 복귀하는 결과를 확인할 수 있었다. 차후 실제 무인수상선이 이동하며 이동 경로 상에 장애물이 탐지 되었을 경우 회피하는 평가를 할 예정이다.

5. 결 론

본 논문에서는 무인수상선의 단일 카메라를 이용하여 실시간 장애물 회피에 용이한 VFH+ 알고리즘을 통해 무인수상선의 장애물 회피에 대한 연구를 수행하였다. 일반적으로 VFH+ 회피 알고리즘은 장애물 인식을 위해 다수의 단일 거리 센서나 넓은 범위에 멀티 빔을 쏠 수 있는 고가의 거리 센서를 필요로 하는데, 무인수상선의 환경에서 동일한 환경을 조성하기엔 어려움이 있다. 본 논문에서 제시한 방법은 영상을 통해 얻는 정보로 거리 센서 정보를 대체함으로써 VFH+ 알고리즘을 활용한 실시간 회피 정보 생성을 가능하도록 하였다. 이미지 상에서 장애물로 인식하고자 하는 물체를 특징점을 통하여 찾았고, 인식한 장애물 정보를 이용하여 VFH+ 알고리즘을 통해 폴라 히스토그램 생성하였다. 생성된 히스토그램 정보를 이용하여 장애물을 회피하기 위해 진행 방향을 변경하는 것을 확인하였다.
추후 연구 내용으로는 실제 무인수상선에 알고리즘을 적용하여 피드백을 통해 진행 경로를 수정하는 연구도 계획하고 있다.

NOTES

It is noted that this paper is revised edition based on proceedings of KUUV spring conference 2016 in Busan.

감사의 글

연구는 한국해양과학기술원 부설 선박해양플랜트연구소의 ‘자율 수중 로봇을 위한 SLAM 기초 기술과 MOOS-IvP 환경 구축’ 과제의 지원을 받아 수행 하였습니다.

References

Bay, H., Ess, A., Tuytelaars, T., Van Gool, L.. (Speeded-up Robust Features (SURF), Computer Vision and Image Understandin, 2008). 110(3):346-359 10.1016/j.cviu.2007.09.014.
crossref
Borenstein, J., Koren, Y.. (The Vector Field Histogram-Fast Obstacle Avoidance for Mobile Robots, IEEE Journal of Robotics and Automation, 1991). 7(3):278-288 10.1109/70.88137.
crossref
Caccia, M., Bibuli, M., Bono, R., Bruzzone, Ga., Bruzzone, Gi., Spirandelli, E.. (Unmanned Surface Vehicle for Coastal and Protected Waters Applications: the Charlie Project, Marine Technology Society Journal, 2007). 41(2):62-71.
crossref
Caccia, M., Bibuli, M., Bono, R., Bruzzone, G.. (Basic Navigationm Guidance and Control of an Unmanned Surface Vehicle, Autonomous Robots, 2008). 25(4):349-365 10.1007/s10514-008-9100-0.
crossref
Ester, M., Kriegel, H. P., Sander, J., Xu, X.. (A Densitybased Algorithm for Discovering Clusters in Large Spatial Databases with Noise Proceedings of the second International Conference on Kowledge Discoery and Data Mining (KDD) 1996). 96(34):226-231.

Kim, D., Shin, J.U., Kim, H., Lee, D., Lee, S.M., Myung, H.. (Development of Jellyfish Removal Robot System JEROS Proceedings of Ubiquitous Robots and Ambient Intelligence (URAI), 2012 9th International Conference on IEEE Daejeon Korea: 2012). 599-600.

Leutenegger, S., Chli, M., Siegwart, R.Y.. (BRISK: Binary Robust Invariant Scalable Keypoints Proceedings of International Conference on Computer Vision Barcelona Spain: 2011). 2548-2555.

Lowe, D.G.. (Distinctive Image Features from Scale- Invariant Keypoints, International Journal of Computer Vision, 2004). 60(2):91-110 10.1023/B:VISI.0000029664.99615.94.
crossref
Ulrich, I., Borenstein, J.. (VFH+: Reliable Obstacle Avoidance for Fast Mobile Robots Proceedings of International Conference on Robotics and Automation IEEE Leuven Belgium: 1998). 1572-1577.



ABOUT
BROWSE ARTICLES
ARTICLE CATEGORY

Browse all articles >

PUBLICATION ETHICS
FOR CONTRIBUTORS
Editorial Office
President Office BD Rm. 1302, 13 Jungang-daero 180beon-gil, Dong-gu, Busan 48821, Republic of Korea
Tel: +82-51-759-0656    Fax: +82-51-759-0656    E-mail: ksoehj@ksoe.or.kr                

Copyright © 2024 by The Korean Society of Ocean Engineers.

Developed in M2PI

Close layer
prev next