DOI QR코드

DOI QR Code

Prevention of Collision with Other Vessels Using Camera Sensors with Kalman Filter

칼만 필터가 적용된 카메라 센서를 이용한 타 선박과의 충돌 예방

  • Dae-il Sung (Department of Electronics and Control Engineering, Republic of Korea Naval Academy) ;
  • Sung-Joo Kim (Department of Electronics and Control Engineering, Republic of Korea Naval Academy) ;
  • Young-Min Kim (Department of Electronics and Control Engineering, Republic of Korea Naval Academy) ;
  • Yun-Sung Jung (Department of Electronics and Control Engineering, Republic of Korea Naval Academy) ;
  • Min-Seok Han (Department of Electronics and Control Engineering, Republic of Korea Naval Academy)
  • 성대일 ;
  • 김성주 ;
  • 김영민 ;
  • 정윤성 ;
  • 한민석
  • Received : 2024.05.30
  • Accepted : 2024.06.12
  • Published : 2024.06.29

Abstract

In this paper, we present a method of applying the kalman filter to control and correct errors in camera sensor recognition depending on the sea state environment. First, the specifications of the ship were described and the degree of error due to rolling was measured. After presenting the distance from the surface of the water to the sidelight required for simulation through PKMR-211, the ship selected as the model, error correction was performed using the camera error value as a variable in the feedback control system. In the experiment, the degree of rolling of the ship was expressed as variables 𝛼 and 𝛽, expressed in angles, and the angle change according to distance was compared. When comparing the error before and after applying the kalman filter in sea state 4, it decreased from +1.5556° to -1.1544° in red light regardless of distance, and the same result was confirmed in green light. Through this, calculations were performed considering the movement of the ship according to the maritime environment, and the future maneuverability of the ship was presented after error correction.

본 논문에서는 해상상태 환경에 따른 카메라 센서 인식의 오차를 제어하고 보정 하기 위해 칼만 필터를 적용한 방법을 제시한다. 먼저, 함정의 제원을 기술하여 롤링에 따른 오차 정도를 측정하였다. 모델로 선택한 함정인 PKMR-211을 통해 시뮬레이션에 필요한 수면으로부터 현등까지 거리를 제시한 후, 피드백 제어 시스템에서 카메라 오차값을 변수로 삼아 오차 보정을 수행하였다. 실험에서는 함정의 롤링 정도를 각도로 나타내는 변수인 𝛼, 𝛽로 표기하고, 거리에 따른 각도 변화를 비교하였다. 해상 상태 3의 상황에서 칼만 필터를 적용하기 전과 후의 오차를 비교했을 때, 거리와 무관하게 적색등에서는 +1.5556°에서 -1.1544°까지 줄어들었고, 녹색등에서도 동일한 결과를 확인하였다. 이를 통해, 해상 환경에 따른 함정의 움직임을 고려하여 계산을 수행하고, 오차 보정 이후 함정의 향후 기동 안정성을 제시하였다.

Keywords

1. 서론

최근 해양 환경에서 무인 시스템의 활용이 증가하고 있다. 이는 유인 작업에 비해 인명 피해를 최소화할 수 있으며, 작업자의 피로를 줄여 더 효율적인 작업을 가능하게 한다. 또한, 무인 시스템은 작은 공간에서의 작업에 적합하여 위험 지역에서의 임무에 유용하다[1]. 대한민국의 서해 연안 지역은 북한의 북방한계선(NLL) 침범, 포격, 잠수함 침투 등으로 인해 위험하고 긴장된 상태가 지속되고 있다[2]. 이러한 상황에서 신속하고 지속적인 전장 감시와 정보 수집이 필수적이다. 따라서 무인 시스템의 장점을 활용하여 효율적인 운용이 매우 중요하다.

무인 시스템은 원격 조종, 반자율화, 완전 자율화의 단계로 나눌 수 있다. 완전 자율화된 시스템은 지속적인 전장 감시와 정보 수집을 위한 가장 효과적인 방법으로 간주된다. 완전 자율화된 무인 시스템은 자율 항해 기능을 갖추어야 하며, 이를 위해서는 정확한 주변 환경을 인식하고 분석해야 한다. 특히 야간 항해 시에는 시야 제한과 환경 인식의 어려움으로 인해 다른 선박과의 충돌 위험이 증가할 수 있다. 안전한 항해를 위해서는 현등의 위치와 배열을 정확하게 파악해야 하지만, 파고로 인한 롤링 등으로 인해 현등이 겹치거나 카메라 센서가 이를 정확하게 인식하지 못하는 등의 오류가 발생할 수 있다.

따라서 이러한 문제를 해결하기 위해 본 논문에서는 칼만 필터를 적용하여 오류를 최소화하는 방법을 제안한다. 칼만 필터는 예측 및 관측을 통해 오차를 보정하는 기술로, 야간 항해 중 발생할 수 있는 오류를 효과적으로 줄일 수 있다. 본 논문은 칼만 필터를 적용하여 오류를 최소화하고 무인 시스템의 완전 자율화를 지원하는 방법을 제시한다. 논문의 구성은 다음과 같다. 2장에서는 야간 항해 중 발생하는 현등 겹침에 따른 오류와 그로 인한 문제점을 분석한다. 3장에서는 시뮬레이션을 위해 필요한 가정과 조건을 제시하고, 파라미터 변화에 따른 칼만 필터를 적용한 결과를 설명한다. 4장은 각각의 상황에 따른 해사법규 적용 방법을 제시하고 마지막으로 5장은 칼만 필터 적용 결과의 효용성을 바탕으로 논문의 결론을 제시한다.

2. 실험설계

2.1 전체 흐름 설명

그림 1의 순서도에 따른 본 연구의 과정은 아래와 같다. 먼저 무인 수상정이 함정을 인식하면, 함정의 제원과 함정 간의 거리에 따라 다음과 같은 변수 α, β를 설정한다.

\(\begin{align}\alpha=\tan ^{-1}\left(\frac{l}{h}\right)\end{align}\)       (1)

\(\begin{align}\beta=\tan ^{-1}\left(\frac{h}{d}\right)\end{align}\)       (2)

그림 1. 순서도

Fig. 1. Flow chart

이때, l은 \(\begin{align}l=\frac{L}{2}\end{align}\)(L은 마주치는 선박의 전폭)이고, h는 마주치는 선박의 수면과 현등 사이의 높이이며, d는 무인 수상정과 마주치는 선박 간의 거리이다. 이후, 설정된 파라미터 값을 바탕으로 칼만 필터의 변수를 입력하고 다음의 식을 바탕으로 칼만 이득을 계산 및 보정한다.

\(\begin{align}K=\frac{P_{\text {pred }}}{P_{\text {pred }}+\left(\text { std }_{\text {dev_measurement_noise }}\right)^{2}}\end{align}\)       (3)

rmsecolor_before = sqrt(mean((colorlight - colorlight_position)2))       (4)

\(\begin{align}r m s e_{\text {color }}=\operatorname{sqrt}\left(\frac{r m s e_{\text {color }}}{N}\right)\end{align}\)       (5)

최종적으로, 칼만 필터를 활용하여 오차 범위 내에서 필터링 결괏값을 조절 후 오차의 수치와 보정을 위해 RMSE 보정을 통해 그래프를 활용하여 결과를 도출하고 오차 보정률을 비교한다[3].

2.2. 배경이론

기존의 무인 체계에서 카메라 센서가 본체와 피사체의 움직임을 상쇄하고 피사체의 상을 정확하게 구하기 위한 방식으로는 주로 gimbal 시스템이 이용되고 있다. 이러한 카메라 센서의 하드웨어적 구조를 바꾸는 것에 더해 본 논문에서는 소프트웨어적 측면에서의 개선방안을 강구하였다. 소프트웨어적인 개선 방안이 적용된 사례로는 손의 위치를 비교적 정확하게 추적할 수 있게 해리스코너를 추출하려 손의 위치를 추정하는 과정 중 오차값을 줄이기 위해 칼만 필터를 적용한 기법이 있다[4]. 이에 본 논문에서도 칼만 필터를 사용하고자 한다. 칼만 필터는 잡음이 포함되어있는 측정치를 바탕으로 선형 역학계의 상태를 추정하는 재귀 필터로 현재 상태 변수의 값과 정확도를 예측하며 예측한 측정치와 실제 측정치의 차이를 반영하며 현재의 상태 변수를 업데이트한다. 본 논문에서는 앞선 방식을 측정된 상대 선박 현등 위치의 오차를 제어하여 비교적 정확하게 파악하는 용도로 사용하였다. 주간에 항해하는 선박의 경우 쉽게 운동 방향을 파악할 수 있지만, 야간 항해하는 선박의 경우 운동 방향의 파악이 난해하다. 이러한 문제점을 해결하기 위해 야간에 항해하는 모든 선박은 일몰부터 일출까지 법으로 정해놓은 등화를 점등해야 한다. 그림2와 같이 야간에 항해 중인 모든 선박은 우현에는 적색등을, 좌현에는 녹색등을 등화해야 한다. 이때 배의 우현, 좌현을 나타내어 주는 현등을 인식하여 상대 선박이 자함에 접근하는지, 멀어지는지를 파악할 수 있다. 그림 2의 3가지 상황과 같이 상대 선박이 자함에서 멀어지는 방향으로 항해할 때 좌현에는 적색등, 우현에는 녹색등이 켜져야 하며 반대의 경우 마주 보고 항해하는 상황이다. 마주 보고 오는 상황의 경우 일반적으로 좌현끼리 마주보고 통과한다[5].

그림 2. 3가지 상황 : 좌현, 정면, 우현

Fig. 2. Three situations : port, front, Dead ahead

2.3. 함정의 제원

표 1. PKMR의 제원[6]

Table 1. Specifications of PKMR[6]

본 논문에서 칼만 필터를 적용하고자 하는 대상은 무인 수상정이며, 해상에서 함정과 같이 크기가 큰 선박뿐만 아니라 어선과 같은 작은 선박을 회피하는 것 또한 목표로 설정하였다. 상대 선박으로 함정 중 크기가 작은 PKMR을 모델로 선정하였다. PKMR은 전폭 7m, 해수면에서 현등까지의 높이가 약 8m이다.

앞선 제원을 통해 각각의 현등과 해수면이 접하는 함선 중심 간의 각도를 계산하면 약 47°라는 것을 확인할 수 있다.

2.4. 해상 상태에 따른 롤링 정도

해상 상태에 따른 롤링의 정도에 의해 그림 3과 같이 적색 등과 녹색 등이 겹쳐 보이는 현상이 발생하는 경우가 있으며, 이는 무인 수상정의 롤링까지 고려할 시 더 심해질 것이다. 이는 선박과의 충돌을 예방하기 위한 첫 번째 단계인 운동 방향 파악에 주된 문제이다. 이러한 문제를 최소화하고 상대 선박의 운동 방향을 파악하기 위해 칼만 필터의 변숫값을 롤링의 정도, 즉 각도의 변화로 두었으며 그 변숫값을 각각 α, β라고 지정하였다.

그림 3. 아두이노로 실험한 현등의 사진

Fig. 3. Photograph of string light experimented with Arduino

2.5. 파라미터 설정

본 논문에서 상대 선박으로 지정한 PKMR의 경우 전폭 약 7m, 해수면에서 현등까지의 높이가 8m 정도된다. 선박이 수면에 접하고 있는 부분 중 중심에서부터 현등까지 이루는 각도가 α일 때 삼각함수를 활용하여 계산하면 다음과 같이 구해진다.

\(\begin{align}\alpha=\tan ^{-1}\left(\frac{3.5}{8}\right)=23.5^{\circ}\end{align}\)       (6)

이때 롤링이 발생하지 않는 상황에서 초기 각도가 23.5° 이며 롤링이 발생할 시 이 각도에서 얼마나 변화하는지에 따른 변숫값이 α인 것이다. α를 구할 때 적용될 각도의 기준으로 그림 4와 같이 해수면이 중심선으로 되고 선박의 중심점들이 중심선까지 이어진 선분이 90°가 된다.

그림 4. 파라미터 α 설정

Fig. 4. Parameter α setting

현등 간의 겹침을 발생시키는 이유로 분해능의 문제도 제시할 수 있다. 거리가 멀어짐에 따라 분해능은 필연적으로 감소하며 현등끼리 겹쳐 보이는 현상이 심하게 발생한다[8]. 이에 본 논문에서는 비교적 작은 선박인 무인 수상정과 어선, PKMR 간의 기동성을 고려하여 함정 간의 거리에 대해서 100m, 500m를 기준으로 설정하고 칼만 필터를 적용하였다. 이러한 거리에 따라 무인 수상정과 상대 선박의 현등 간의 각도는 변화하며 이를 변숫값 β로 정하였다. 거리를 나타내는 변수를 h라고 설정할 때 다음과 같은 수식 (7)로 표현할 수 있다.

\(\begin{align}\beta=\tan ^{-1}\left(\frac{3.5 m}{h}\right)\end{align}\)       (7)

그림 5. 파라미터 β 설정

Fig. 5. parameter β setting

3. 파라미터에 따른 실험 결과

3.1. 파라미터가 α일 때

우선, 무인 수상정이 인식해야하는 선박의 종류가 다양하나 함정마다의 제원을 본 논문에서 사용하는 방법으로 적용 시 동일하게 파라미터 값을 구할 수 있다. 본 논문에서는 무인 수상정이 정면으로 타 선박을 보았을 때 하나의 사례로 PKMR을 가정하였다. PKMR에서 현등의 위치에 따른 각도를 구한다. 이때 해상 상태에 따라 롤링이 발생하면 선박과 함께 현등이 흔들려서 좌측의 적색 빛과 우측의 녹색 빛이 카메라 센서 입장에서는 겹쳐 보일 수 있다. 그림3와 같이 겹치는 현상이 일어난다. 그림3은 아두이노로 간단한 회로를 만들어 롤링의 정도를 생각하여 작동시켰을 때 적색과 녹색의 빛이 겹쳐 보이는 현상을 사진으로 찍어서 나타낸 것이다.

이러한 상황에서 카메라 센서에 칼만 필터를 적용해서 좌측의 적색 빛과 우측의 녹색 빛의 흔들림을 MATLAB을 이용하여 보정하도록 한다[9]. 이때 파라미터값은 각도 α를 이용한다.

\(\begin{align}\alpha=\tan ^{-1}\left(\frac{3.5}{8}\right)=23.5^{\circ}\end{align}\)       (8)

MATLAB을 이용해서 칼만 필터를 카메라센서에 적용한 코드를 구성하였다. 칼만 필터 알고리즘을 이용하여 설정된 오차를 실시간으로 보정하도록 하였다. 이때 표2에서 해상상태에 따른 롤링의 정도에 영향을 주는 변수들인 파도의 주기와 높이를 대입하여 파라미터값에 적용하였다.

표 2. 롤링의 정도[7]

Table 2. degree of rolling[7]

표4는 파라미터 α를 이용하여서 적용한 코드이다. 파도 높이를 0.88m일 때의 요동 각도 및 요동 주파수를 설정하였고, 이를 통해 요동 각도를 사인함수로 생성하여 각도를 계산하였다.

표 3. 칼만 필터 적용 코드

Table 3. Kalman filter application code

표 4. 파라미터 α의 변수설정

Table 4. Setting the Variable for Parameter α

해상 상태에 따라 롤링의 정도가 달라지므로 현등의 각도 변화율의 값을 표현한 것이 다음의 그래프이다. 그래프에서 알 수 있듯이 칼만 필터를 적용하기 전과 후의 흔들림의 각도 오차가 적색등에서는 +4.303° ~ -4.302°에서 +1.109° ~ -1.023°로 줄어들고, 녹색등에서는 +4.3026° ~ -4.3025°에서 +1.1095° ~ -1.023°로 줄어든다. 그림6에서는 중간 기준인 90도를 넘지는 않지만 현등의 흔들림 오차를 비교했을 때, 적색등에서는 +3.284° ~ -3.279만큼 줄어들고, 녹색등에서는 +3.2831°~ -3.2795°로 줄어들어 카메라 센서가 인식하기에 유의미한 결과를 내었다.

그림 6. 정면 상황의 그래프

Fig. 6. Graph of the Dead ahead situation

그림 7. 100m 상황의 그래프

Fig. 7. Graph of the 100m situation

그림 8. 500m 상황의 그래프

Fig. 8. Graph of the 500m situation

3.2. 100m, 500m 떨어진 거리에서 파라미터가 β일 때

카메라 센서가 마스트에 달려있다 가정하여 정면에서 타 함정을 보았을 때, PKMR에서 현등의 위치와 무인 수상정의 카메라 센서로 삼각형을 만들고, PKMR의 중심점을 기준으로 했을 때 생기는 각도를 구하고, 이후에 기존의 코드에 파라미터만 수정하여 적용하였다. 이때 파라미터값은 각도 β1을 이용한다.

\(\begin{align}\beta_{1}=\tan ^{-1}\left(\frac{3.5 m}{100 m}\right)\end{align}\)       (9)

\(\begin{align}\beta_{2}=\tan ^{-1}\left(\frac{3.5 m}{500 m}\right)\end{align}\)       (10)

표 5. β1의 코드

Table 5. code of β1

표 6. β2의 코드

Table 6. code of β2

4. 칼만 필터를 적용한 실험 결과 비교

표7에서는 본 논문에서 사용된 칼만 필터와 더불어 색상 간의 채도 차이를 이용해 빛의 겹침 현상을 줄이는 방법을 제안하였다. 녹색 현등과 적색 현등 각각에 대해 채도 및 명도가 낮아지는 부분을 제거하도록 코드를 짰으며 이를 통해 움직임에 의한 흔들린 범위를 최소화하고 칼만 필터를 적용하여 오차값 수정 및 세부적인 범위를 더 줄여나갔다. 위 코드를 사용하여 그림 3에 칼만 필터만 적용된 그림과 채도 및 명도에 따른 필터링 과정이 적용된 그림 간의 차이가 그림9와 같이 나타났으며 칼만 필터만 적용하였을 때와 비교하면 확연히 뚜렷해진 모습을 볼 수 있다.

그림 9. 그림3에 칼만 필터를 실제 적용 결과 비교

Fig. 9. comparison between Fig. 3 and result th at shows Kalman filter in action.

표 7. 칼만 필터 알고리즘 & Fig. 3.에 적용한 코드

Table 7. Kalman filter algorithm & Code applied to Fig. 3.

5. 각 상황에 따른 해사법규의 적용

5.1. 타 선박이 정면에서 마주쳤을 때

그림2처럼 타 선박이 정면에서 마주쳤을 때는 해사 법규 제 72조를 따른다. 각 동력선은 서로 다른 선박의 좌현 쪽을 지나갈 수 있도록 침로를 우현 쪽으로 변경해야 한다. 이때 정면으로 오고 있는지에 판단 근거로는 현등의 위치 배열을 통해 확인할 수 있다. 만약 두 현등이 모두 보이고 왼쪽에 적색등, 오른쪽에 녹색등이 있을 시 상대 선박은 멀어지는 방향으로 항해하고 있으며 반대로 위치할 시 정면에서 다가오는 방향으로 항해 중인 상태이다.

5.2. 타 선박이 횡단하고 있을 때

그림2의 나머지 그림들처럼 두 현등이 모두 보이지 아니하고 한 색깔의 현등만 보일 시 이는 횡단하는 상태이며 이러한 경우 해사법규 제 73조를 따른다. 상대 선박을 우현 쪽에 두고 있는 선박이 그 다른 선박의 진로를 피하여야 한다. 이 경우 다른 선박의 진로를 피해야 하는 선박은 부득이한 경우 외에는 그 다른 선박의 선수 방향을 횡단하여서는 아니 된다. 만약 상대 선박의 현등이 파악되지 않는 경우 정면에서 오고 있는 것으로 간주하여 기동을 실시해야 한다.

6. 결론

본 논문에서는 카메라 센서의 빛 흔들림 각도를 최소화하기 위해 칼만 필터를 적용하는 방식을 제시하였다. 기존에 칼만 필터가 적용되지 않았을 때와 비교하여, 칼만 필터를 적용한 후의 카메라 센서에서 인식되는 빛 흔들림 오차가 현저하게 줄어든 것을 확인할 수 있었다. 이를 통해 무인 수상정이 야간 항해 시 카메라 센서를 통해 다른 선박의 현등 위치를 정확히 파악하고, 그들의 움직임을 결정하는 데 효과적인 도움이 되었다.

칼만 필터는 선형 역학계에서 예측과 관측을 통해 상태 변수를 지속적으로 업데이트하는 재귀 필터이다. 특히, 잡음이나 불확실성이 존재하는 상황에서 상태 변수를 추정하고 오차를 보정하는 기능이 탁월하다. 본 연구에서는 칼만 필터를 통해 카메라 센서에서 발생하는 빛 흔들림의 각도를 최소화하는 방법을 적용하였으며, 이를 통해 야간 항해 시 카메라 센서의 성능을 향상시킬 수 있었다. 실험 결과에 따르면, 칼만 필터를 적용한 경우, 카메라 센서에서 인식하는 빛 흔들림 각도가 절반 정도로 줄어드는 효과가 있었다. 이는 무인 수상정의 야간 항해에서 안전성을 크게 향상시키는 중요한 요소이다. 카메라 센서의 성능 향상은 타 선박의 현등을 더 정확하게 인식할 수 있게 함으로써, 충돌 위험을 줄이고 안전한 항해 경로를 결정하는 데 도움이 되었다.

이러한 결과는 칼만 필터가 비선형적인 상황에서도 효과적으로 오차를 줄일 수 있다는 것을 보여준다. 본 연구에서 제시한 방식은 카메라 센서에서 발생할 수 있는 잡음과 흔들림을 효과적으로 보정하여, 야간 항해 중 발생할 수 있는 충돌 위험을 최소화할 수 있다. 또한, 이를 통해 무인 수상정의 자율 항해 능력을 향상시켜, 유인 전력 대비 안전하고 효율적인 작전 수행을 가능하게 한다.

향후 연구에서는 칼만 필터를 더욱 정교하게 적용하여, 다양한 해양 환경과 조건에서의 성능을 평가할 필요가 있다. 또한, 다른 필터링 기술과의 비교를 통해 가장 효과적인 오차 보정 방식을 찾아내는 것도 중요하다. 이러한 연구를 통해 무인 수상정의 자율 항해 기술이 더욱 발전하고, 해양 작전에서의 안전성과 효율성이 증대될 것으로 기대된다.

References

  1. Boo Sung Youn, "A Study on the Conceptual Design of an Unmanned Surface Vehicle(USV) for the Korean Navy", Journal of the KIMST, Vol.7, No.3, pp. 59-60, 2004 
  2. Soo Ho Choi, "A Study on the Inter-Korean Conflict Over the Northern Limit Line", Law Journal, Vol 32, pp. 567-569, 2010 
  3. Ha Seok Wun, Quiroz Paul, Yong Ho Moon "Improvement of UAV Attitude Information Estimation Performance Using Image Processing and Kalman Filter", Journal of Convergence for Information Technology, Vol.8, No.6, pp. 136-141, 2017 Ha Seok Wun, Quiroz Paul, Yong Ho Moon 
  4. Bokyung Seo, Janghee Lee, Suk I.Yoo, "Robust Hand Tracking Using Kalman Filter and Feature Point", Korean Institute of Information Scientists and Engineers, Vol 37. No.1, pp 520, 2010 
  5. Ministry of Oceans and Fisheries(Maritime Safety Police Division), "Maritime Safety Act", 2023. 1. 5, https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%ED%95%B4%EC%82%AC%EC%95%88%EC%A0%84%EB%B2%95/%2818702,20220104%29 
  6. HJ Shipbuilding & Construction, https://www.hjsc.co.kr/ship/lph_highspeed.asp, 2024. 5.12. 
  7. Edward V. Lewis, "Principles of Naval Architecture (Second Revision): Volume III . Motions in Waves and Controllability", Jersey City, NJ, The Society of Naval Architects and Marine Engineers, pp. 129-176, 1989. 
  8. Kwang-Hoon Lee, Dong-Wook Kim, Yong-Moo Kwon, Eun-Young Chang, Sung-Kyu Kim "Analysis on the cause inducing an uncorrected disparity and distorted depth information by the image distance in stereo camera system", The Journal of the KICS, Vol.34, No.11b, pp. 1321, 2009 
  9. Nam Hyeok Kim, Chi Ho Park, Chung Hee Lee, Young Chul Lim, Jong Hwan Kim, Method for estimating location based on object recognition using kalman filter, Patent Number 10-1364047, 2012.11. 5., 2014. 2.11.