DOI QR코드

DOI QR Code

K-Means Clustering Algorithm and CPA based Collinear Multiple Static Obstacle Collision Avoidance for UAVs

K-평균 군집화 알고리즘 및 최근접점 기반 무인항공기용 공선상의 다중 정적 장애물 충돌 회피

  • Hyeji Kim (Department of Aeronautical Systems Engineering, Hanseo University) ;
  • Hyeok Kang (Department of Aeronautical Systems Engineering, Hanseo University) ;
  • Seongbong Lee (Department of Aeronautical Systems Engineering, Hanseo University) ;
  • Hyeongseok Kim (Department of Aeronautical Systems Engineering, Hanseo University) ;
  • Dongjin Lee (Department of Aeronautical Systems Engineering, Hanseo University)
  • 김혜지 (한서대학교 항공시스템공학과) ;
  • 강혁 (한서대학교 항공시스템공학과) ;
  • 이성봉 (한서대학교 항공시스템공학과) ;
  • 김형석 (한서대학교 항공시스템공학과) ;
  • 이동진 (한서대학교 항공시스템공학과)
  • Received : 2022.11.17
  • Accepted : 2022.12.26
  • Published : 2022.12.30

Abstract

Obstacle detection, collision recognition, and avoidance technologies are required the collision avoidance technology for UAVs. In this paper, considering collinear multiple static obstacle, we propose an obstacle detection algorithm using LiDAR and a collision recognition and avoidance algorithm based on CPA. Preprocessing is performed to remove the ground from the LiDAR measurement data before obstacle detection. And we detect and classify obstacles in the preprocessed data using the K-means clustering algorithm. Also, we estimate the absolute positions of detected obstacles using relative navigation and correct the estimated positions using a low-pass filter. For collision avoidance with the detected multiple static obstacle, we use a collision recognition and avoidance algorithm based on CPA. Information of obstacles to be avoided is updated using distance between each obstacle, and collision recognition and avoidance are performed through the updated obstacles information. Finally, through obstacle location estimation, collision recognition, and collision avoidance result analysis in the Gazebo simulation environment, we verified that collision avoidance is performed successfully.

무인항공기의 충돌 회피 기술은 장애물에 대한 탐지 기술과 충돌 여부 판단 및 회피 기술이 요구된다. 본 논문은 공선상에 존재하는 다중 정적 장애물에 대한 무인항공기의 충돌 회피를 수행하기 위하여, LiDAR를 활용한 장애물 탐지 알고리즘과 최근접점 기반의 충돌 인식 및 회피 알고리즘을 제안한다. 장애물 탐지를 수행하기 위하여 LiDAR의 측정 데이터 중 지면을 제거하는 전처리를 수행하고, K-평균 군집화 알고리즘을 활용하여 전처리된 데이터에서 장애물을 탐지 및 분류한다. 또한, 상대 항법을 통해 탐지한 다중 장애물의 절대 위치를 추정하며, 저주파 통과 필터를 활용하여 추정 위치를 보정한다. 탐지한 다중 정적 장애물과의 충돌 회피를 수행하기 위해 최근접점 기반의 충돌 인식 및 회피 알고리즘을 활용한다. 각 장애물 간의 거리를 활용하여 회피해야 하는 장애물 정보를 갱신하고, 갱신된 장애물 정보를 통해 충돌 인식 및 회피를 수행한다. 마지막으로 Gazebo 시뮬레이션 환경에서의 장애물 위치 추정, 충돌 인식 및 회피 결과 분석을 통해, 충돌 회피가 정상적으로 수행되는 것을 검증하였다.

Keywords

Ⅰ. 서론

무인항공기를 활용한 비가시권 임무를 수행하는 데 있어, 무인항공기의 안전성을 위해서는 장애물에 대한 충돌 회피 기술이 필요하다. 사전에 정보를 가지고 있는 장애물의 경우, 해당 정보를 반영하여 장애물이 없는 경로 생성, 고도 분리 등의 비행 계획을 통해 회피를 수행할 수 있다. 그러나 제공된 장애물의 정보의 오차가 존재할 경우 또는 정보가 제공되지 않는 장애물의 경우에는 비행 계획을 통해 회피를 수행할 수 없으므로, 실시간으로 장애물 탐지, 장애물과의 충돌 인식 및 회피를 수행할 수 있어야 한다. 도심 환경에서의 비가시권 임무를 수행할 경우, 정보가 제공되지 않는 장애물로써 다리의 기둥, 도로 위의 가로등 등과 같은 정적 장애물을 고려할 수 있다. 이러한 장애물은 일반적으로 다수로 구성되어 있으며, 지면과 수평한 면을 기준으로 공선상에 위치한다. 이에 따라 본 논문에서는 탐지 센서가 정면 방향으로 탑재된 무인항공기의 고도 기준 평면에서의 회피를 고려하여, 공선상에 존재하는 다중 정적 장애물에 대한 장애물 탐지 및 충돌 회피 알고리즘을 구현하고자 한다.

무인항공기의 충돌 회피에 필요한 기술과 관련하여 영상 센서, LiDAR 등의 다양한 센서를 활용한 장애물 탐지 연구[1]-[4], 다중 장애물 분류를 위한 군집화 연구 [5]-[7], 장애물과의 회피를 위한 장애물 정보 추정, 충돌 인식 및 회피 연구 등이 수행되고 있다 [8]-[11]. 장애물 탐지 센서로 LiDAR를 사용할 경우 거리 정보를 통해 장애물의 위치 추정이 가능하며, point cloud 형태로 데이터를 획득할 수 있어 많은 데이터로 군집화가 가능하다는 장점이 있다. 다중 장애물 분류를 위한 군집화 알고리즘 중 K-평균 군집화 알고리즘은 알고리즘이 간단하여 많은 수의 데이터에도 비교적 계산 시간이 짧다는 장점이 있어, 실시간으로 장애물을 분류 시 활용하기에 적합하다. 또한, 충돌 인식 및 회피 기술에 기하학적 기법을 활용할 경우, 간단한 수식을 통해 결과를 도출할 수 있다는 장점이 있다.

본 논문에서는 공선상의 다중 정적 장애물에 대한 무인항공기의 충돌 회피를 수행하기 위하여, LiDAR를 활용한 장애물 탐지 알고리즘과 최근접점 기반의 충돌 인식 및 회피 알고리즘을 구현한다. 장애물 탐지를 수행하기 위하여 LiDAR 데이터 전처리를 수행하고, K-평균 군집화 알고리즘을 활용하여 전처리된 데이터에서 장애물을 탐지 및 분류한다. 또한, 탐지된 다중 장애물의 절대 위치를 추정하기 위해 상대 항법을 활용하며, 저주파 통과 필터(LPF; Low Pass Filter)를 통해 추정 위치를 보정한다. 탐지한 다중 정적 장애물 간의 거리를 활용하여 회피해야 하는 장애물 정보를 갱신하고, 갱신된 장애물 정보를 최근접점 충돌 인식 및 회피 알고리즘에 적용함으로써 회피를 수행한다. 마지막으로 Gazebo를 활용한 시뮬레이션을 통해 본 논문에서 제안한 알고리즘을 검증한다.

Ⅱ. 정적 장애물 탐지 및 위치 추정

2-1 LiDAR 데이터 전처리를 통한 장애물 탐지

LiDAR 측정 데이터를 활용하여 장애물을 탐지하기 위해서는 지면 제거, 잡음 제거 등의 전처리 과정이 필요하다. 본 논문에서는 point cloud 형태의 LiDAR 데이터를 활용하며, 각 point의 위치(m)를 통해 지면 제거 및 탐지 영역 제한의 전처리를 수행하고자 한다. LiDAR는 무인항공기에 탑재되므로 좌표계의 원점은 무인항공기의 위치로 정의하며, 무인항공기 지면 고도값(h)과 비교하여 지면 제거를 수행한다. 식 1과 같이 FLU 좌표계 값인 LiDAR 데이터의 각 point 위치를 NED 좌표계 값으로 변환하며, 변환된 각 point의 위치에 대해 식 2를 만족하는 데이터는 지면으로 판단하여 제거한다. 식 1의 RNEDLiDAR은 FLU 좌표계 값을 NED 좌표계 값으로 변환해주는 좌표 변환 행렬을 나타내며, 식 2의 bD는 무인항공기의 항법 오차를 고려하여 설정한 값을 의미한다. 본 논문에서 다중 정적 장애물 분류 시 사용되는 K-평균 군집화 알고리즘은 설정한 군집 개수(K)대로 군집화를 수행하므로, 탐지 영역이 넓을수록 많은 장애물에 대해 제한된 군집 개수로 군집화를 수행하게 되어 정확도가 저하될 수 있다. 이를 방지하기 위하여 무인항공기와의 상대 거리를 기준으로 탐지 영역을 제한하고자 하며, 식 3을 만족할 경우 탐지 영역 외의 데이터로 판단하여 제거한다. 식 3의 Rmax과 Rmin은 탐지 영역 제한 범위의 최대 거리와 최소 거리를 의미한다. 이와 같이 지면 제거 및 탐지 영역 제한의 전처리 과정을 수행한 결과는 그림 1과 같으며, 도출된 전처리 데이터는 장애물 탐지 결과로 정의할 수 있다.

HHHHBI_2022_v26n6_427_f0001.png 이미지

그림 1. LiDAR 데이터 전처리를 통한 장애물 탐지 결과

Fig. 1. Obstacle detection result through LiDAR data preprocessing.

[mNmEmD] = RNEDLiDAR[mFmLmU]       (1)

MD > h - bD (h ≥ 0, bD > 0)       (2)

Rmin ≤ |m| ≤ Rmax       (3)

2-2 K-평균 군집화 알고리즘 기반 정적 장애물 분류

K-평균 군집화 알고리즘은 그림 2와 같이 각 데이터와 설정된 군집 개수대로 임의로 정의한 중심점(centroid, c) 간의 거리를 비교하여, 거리가 가장 짧은 군집(C)에 배정한다 [12]. 모든 데이터에 대해 배정이 완료되면 해당 군집 데이터의 평균 위치를 중심점으로 갱신하며, 중심점이 변하지 않을 때까지 해당 과정을 반복하여 군집화를 수행한다. LiDAR 데이터 전처리를 통해 탐지된 장애물 데이터는 식 4와 같이 나타내며, 각 point의 위치는 NED 좌표계 기준의 값으로 설정한다. 식 5와 같은 군집화 과정을 통해 도출된 군집들은 각각 하나의 장애물로 정의하여 분류한다.

HHHHBI_2022_v26n6_427_f0002.png 이미지

그림 2. K-평균 군집화 알고리즘 기반 다중 장애물 분류

Fig. 2. Multiple obstacle classification based on K-means clustering algorithm.

M = {m1, …, mN}       (4)

\(\begin{aligned}\operatorname{argmin} \sum_{k=1}^{K} \sum_{\boldsymbol{m}_{i} \in \boldsymbol{C}_{k}}\left\|\boldsymbol{m}_{i}-\boldsymbol{c}_{k}\right\|^{2}\end{aligned}\)       (5)

2-3 정적 장애물 위치 추정

K-평균 군집화 알고리즘은 군집화 수행 시 초기 중심점을 임의로 정의하므로, 동일한 데이터에 대해서 군집화를 수행하여도 군집화 수행 시마다 군집의 순서는 동일하지 않게 도출된다. 이에 따라 탐지된 장애물에 대해 지속적으로 동일한 분류를 수행하기 위해서는 이전에 분류된 장애물 정보를 활용하여 군집화를 통해 분류된 군집의 순서를 정렬하여야 한다. 본 논문에서는 군집화를 통해 분류된 장애물의 절대 위치를 추정하고, 이전 장애물의 절대 위치와 군집화를 통해 분류된 장애물의 절대 위치를 비교하여 순서를 정렬하고자 한다. 군집화를 통해 도출된 각 군집의 중심점 위치를 장애물의 위치로 정의하며, 식 6과 같이 무인항공기 위치를 활용하여 장애물의 절대 위치를 계산한다. 식 6의 αLat와 αLon은 degree 단위의 위도, 경도 차이를 m 단위의 차이로 변환 시 사용되는 값이며, cN과 cE는 중심점의 북쪽과 동쪽 축 기준의 값이다. 식 7과 같이 새로 도출된 절대 위치(pobs, i)와 이전에 분류된 각 장애물의 절대 위치(pobs, j) 간의 차이를 계산하여 비교를 수행하며, 가장 적은 차이를 가지는 경우부터 매칭하며 순서를 정렬한다. 또한, LiDAR의 측정 정확도, 이전 과정에서의 오차 등을 고려하여, 식 8과 같이 LPF를 통해 각 장애물의 절대 위치를 보정한다. 탐지된 다중 정적 장애물에 대해 위치 추정 및 보정 결과는 그림 3과 같으며, LPF 적용 전과 후의 평균 제곱근 오차(RMSE; Root Mean Square Error)는 각각 표 1과 같이 1m 이내의 오차를 가지며 LPF 적용 후의 오차가 적용 전의 오차보다 작은 것을 확인하였다.

HHHHBI_2022_v26n6_427_f0003.png 이미지

그림 3. K-평균 군집화 알고리즘 기반 다중 정적 장애물 위치 추정 결과

Fig. 3. Multiple static obstacle position estimation result based on K-means clustering algorithm.

표 1. LPF 적용 전과 후의 다중 정적 장애물 위치 추정 오차

Table 1. Multiple static obstacle position estimation errors before and after applying LPF.

HHHHBI_2022_v26n6_427_t0001.png 이미지

\(\begin{aligned}p_{\text {Lat }}^{o b s}=p_{\text {Lat }}^{U A V}+\frac{c_{N}}{\alpha_{\text {Lat }}}, \quad p_{\text {Lon }}^{o b s}=p_{\text {Lon }}^{U A V}+\frac{c_{E}}{\alpha_{\text {Lon }}}\end{aligned}\)       (6)

eij = ∥pobs, i - pobs, j∥ (i = 1, …, K, j = 1, …, K)       (7)

pobsn = αpobsn - 1 + (1 - α)pobsn       (8)

Ⅲ. 정적 장애물 충돌 인식 및 회피

3-1 최근접점 기반 장애물 충돌 인식 및 회피

본 논문에서는 무인항공기와 장애물 사이의 최근접점을 활용하여 장애물과의 충돌 여부를 인식한다 [10]. 최근접점 기반 충돌 인식 알고리즘은 무인항공기와 장애물의 속도가 일정하다고 가정하여, 그림 4와 같이 투영된 위치를 사용하여 최근접점을 계산할 수 있다. 충돌 인식을 위해 무인항공기와 장애물 간의 상대 위치(\(\begin{aligned}\tilde{p}\end{aligned}\))와 상대 속도(\(\begin{aligned}\tilde{v}\end{aligned}\))를 활용하며, 본 논문에서는 정적 장애물을 고려하고 있으므로 상대 속도는 식 9와 같이 나타낼 수 있다. 최근접점을 기반으로 식 10, 식 11과 같이 계산된 \(\begin{aligned}\tilde{p}_{CPA}\end{aligned}\)와 tCPA를 활용하여, 식 12의 조건을 만족하면 충돌이 발생한다고 판단한다. 식 10~12에서 tCPA는 최근접점에 도달할 때까지의 시간, \(\begin{aligned}\tilde{p}_{CPA}\end{aligned}\)는 최근접점에서의 상대 위치, d는 무인항공기와 장애물 사이의 거리, rsafe는 충돌 상황을 정의하기 위한 안전 반경을 나타낸다.

HHHHBI_2022_v26n6_427_f0004.png 이미지

그림 4. 무인항공기와 정적 장애물 간의 기하학 관계

Fig. 4. Geometry between UAV and static obstacle.

\(\begin{aligned}\tilde{\boldsymbol{v}}=\boldsymbol{v}^{o b s}-\boldsymbol{v}^{U A V}=\mathbf{0}-\boldsymbol{v}^{U A V}\end{aligned}\)       (9)

\(\begin{aligned}t_{C P A}=\frac{\tilde{\boldsymbol{p}}^{T \sim} \boldsymbol{v}}{\tilde{\boldsymbol{v}}^{T \tilde{v}}}\end{aligned}\)       (10)

\(\begin{aligned}\left\|\tilde{\boldsymbol{p}}_{C P A}\right\|^{2}=d^{2}-\left\|\tilde{\boldsymbol{v}} t_{C P A}\right\|^{2}\end{aligned}\)       (11)

\(\begin{aligned}\left\{\begin{array}{l}\left\|\tilde{\boldsymbol{p}}_{C P A}\right\|^{2}<r_{\text {safe }}^{2} \\ t_{C P A} \geq 0\end{array}\right.\end{aligned}\)       (12)

그림 4와 같이 목표 지점을 향해 비행하는 무인항공기는 실시간으로 충돌 인식을 수행하며, 충돌 인식 결과에 따라 회피를 수행한다. 충돌이 발생하지 않을 것으로 판단되면 속도 명령은 목표 지점을 향하는 속도(νUAVgoal)로 설정하며, 충돌이 발생할 것으로 판단되면 속도 명령은 장애물을 회피하는 속도(νUAVCA)로 설정한다. 회피 속도는 장애물 위치 기준으로 안전 반경에 접하는 방향으로 생성하며, 생성되는 두 방향의 속도 중 현재 속도와의 차이가 적은 방향의 속도로 설정한다. 회피를 수행하던 중 식 12를 더 이상 만족하지 않을 경우, 충돌 회피를 완료한 것으로 정의한다. 다만, 위치 추정 또는 제어 오차로 인한 순간적인 충돌 인식 오류가 발생하거나, 회피 완료 후 목표 지점을 향하는 속도 명령에 따라 비행 시 안전 반경을 침입하는 경우가 발생할 수 있다. 이를 고려하여 충돌 회피가 완료된 것으로 판단되는 순간, 해당 위치에서 목표 지점을 향하는 속도로 비행할 경우의 안전 반경 침입 여부를 판단한다. 안전 반경에 침입할 것으로 판단되는 경우 속도 명령을 기존 회피 속도로 설정하며[11], 침입하지 않는 것으로 판단되는 경우 충돌 회피를 완료한 것으로 정의한다.

3-2 최근접점 기반 다중 정적 장애물 충돌 인식 및 회피

기존의 최근접점 기반 충돌 인식 빛 회피 알고리즘을 활용하여 다중 장애물 회피를 수행할 경우, 각 장애물에 대한 회피 속도 명령 중 하나를 선정하여 회피를 수행할 수 있다. 다만, 해당 회피 속도에 수렴할 경우 다른 장애물과의 충돌 인식 결과가 달라져 회피 명령 속도가 변경될 수 있으며, 이로 인해 회피 수행시 무인항공기의 안정성이 저하될 수 있다. 본 논문에서는 이를 개선하며 다중 정적 장애물 회피를 수행하기 위하여, 우선 각 장애물 간의 거리가 식 13을 만족하는지 확인한다. 각 장애물간의 거리가 식 13을 만족할 경우, 각 장애물 사이를 통과할 수 없음이 명확하므로 해당 장애물들을 포함하는 가상의 장애물을 설정한다. 예를 들어, 1번 장애물과 2번 장애물, 3번 장애물과 4번 장애물, 2번 장애물과 5번 장애물이 각각 식 13을 만족한다면, 1번, 2번, 5번 장애물을 포함하는 가상 장애물과 3번, 4번 장애물을 포함하는 가상 장애물을 설정한다. 가상 장애물의 위치(pobstemp)와 안전 반경(rsafe, temp)은 식 14, 식 15와 같이 계산하며, 식 14에서 Rk은 k번째 가상 장애물을 설정하는데 포함된 장애물의 수를, 식 15에서 dobsmax, k는 포함된 장애물 간의 거리 중 최댓값을 나타낸다. 탐지된 장애물 및 가상 장애물의 정보를 활용하여 3-1절과 같은 방식으로 각각 충돌 인식 및 회피를 수행한다.

dobsij < 2rsafe (i ≠ j)       (13)

\(\begin{aligned}\boldsymbol{p}_{\text {temp }, k}^{o b s}=\frac{\sum_{i=1}^{R} \boldsymbol{p}_{k}^{o b s, i}}{R_{k}}\end{aligned}\)       (14)

\(\begin{aligned}r_{\text {safe,temp }}=r_{\text {safe }}+\frac{d_{\mathrm{max}, k}^{\text {obs }}}{2}\end{aligned}\)       (15)

이와 같이 구현한 최근접점 기반 다중 정적 장애물 충돌 인식 및 회피 알고리즘을 검증하기 위해, MATLAB 환경에서의 시뮬레이션을 수행하였다. 장애물 2개에 대해 총 4가지 case의 시뮬레이션을 수행하였으며, 그림 5는 충돌 회피 수행 중의 각 장애물에 대한 충돌 인식 결과와 충돌 회피 수행 결과를 나타낸다. 그림 5-(a)는 두 장애물 간의 거리가 안전 반경 크기보다 작은 상황으로, 가상 장애물 정보를 생성하여 정상적으로 충돌 인식 및 회피가 수행됨을 확인하였다. 그림 5-(b), 그림 5-(c), 그림 5-(d)의 경우 두 장애물 간의 거리가 안전 반경 크기보다 큰 상황으로, 각 장애물에 대한 충돌 가능성에 따라 case를 분류하였다. 그림 5-(b)는 각 장애물과의 충돌 가능성이 없는 상황으로, 정상적으로 충돌 인식을 수행하여 기존 비행 경로를 유지함을 확인하였다. 그림 5-(c)는 하나의 장애물만 충돌 가능성이 있는 상황으로, 충돌 인식을 통해 하나의 장애물에 대한 회피가 수행됨을 확인하였다. 마지막으로 그림 5-(d)는 두 장애물에 대해 각각 충돌 가능성이 있는 상황으로, 각 장애물에 대해 충돌 인식 및 회피가 정상적으로 수행됨을 확인하였다. 그림 6은 비행 중 무인항공기와 각 장애물 간의 거리를 나타내며, 그림 6과 같이 수행한 모든 case에 대해 안전 반경을 침범하지 않으며 정상적으로 회피를 수행하였음을 확인할 수 있다.

HHHHBI_2022_v26n6_427_f0005.png 이미지

그림 5. 최근접점 기반 다중 정적 장애물 충돌 인식 및 회피 결과

Fig. 5. Collision recognition and avoidance result based on CPA about multiple static obstacle.

HHHHBI_2022_v26n6_427_f0006.png 이미지

그림 6. 무인항공기와 각 장애물 간의 거리

Fig. 6. Distance between UAV and each obstacle.

Ⅳ. 시뮬레이션을 통한 알고리즘 검증

본 연구에서 구현한 알고리즘을 검증하기 위해 그림 7과 같이 Gazebo를 활용하여 시뮬레이션 환경을 구성하였다. 알고리즘을 검증하기 위하여 기둥 형태의 장애물 모델을 구현하였으며, 장애물을 탐지하기 위한 LiDAR는 Livox 社의 Avia 모델 및 SDK를 활용하였다. LiDAR 성능의 경우 표 2와 같이 설정하였으며, 표 3과 같은 시뮬레이션 수행 조건을 기반으로 다중 정적 장애물의 위치를 변경하며 시뮬레이션을 수행하였다. 목표 지점을 향해 비행하는 무인항공기는 표 3과 같이 설정한 탐지 지속 시간 동안 장애물이 탐지될 경우, 해당 시간 동안의 탐지 및 위치 추정 결과를 기반으로 다중 정적 장애물에 대한 충돌 인식 및 회피를 수행한다. 탐지된 장애물과의 충돌 회피를 수행하게 될 경우 회피를 완료하기 전까지 새로운 장애물에 대한 탐지는 수행하지 않으며, 회피 완료 후 장애물 탐지를 다시 수행하도록 설정하였다. 또한, 위치 추정 또는 제어 오차로 인해 장애물과 충돌할 경우를 고려하여, 표 3과 같이 여유값을 설정하여 충돌 인식 및 회피에 사용되는 안전 반경에 적용하였다. 이와 같이 구성한 시뮬레이션 환경에서 수행한 장애물 탐지 및 충돌 회피 결과는 그림 8과 같다. 충돌 회피 시 반영된 장애물 위치 추정 결과의 경우, 각각 0.4493 m, 0.5187 m의 오차를 가지는 것을 확인하였으며, 설정한 안전 반경과 여유값에 따라 회피를 수행함으로써 장애물과의 충돌이 발생하지 않고 목표 지점에 도달하는 것을 확인하였다.

HHHHBI_2022_v26n6_427_f0007.png 이미지

그림 7. Gazebo를 활용한 시뮬레이션 환경 구성

Fig. 7. Simulation environment using Gazebo.

표 2. Gazebo 시뮬레이션 환경에서의 LiDAR 모델 사양

Table 2. LiDAR model specification in the Gazebo simulation environment.

HHHHBI_2022_v26n6_427_t0002.png 이미지

표 3. Gazebo 시뮬레이션 수행 조건

Table 3. Simulation condition in Gazebo simulation.

HHHHBI_2022_v26n6_427_t0003.png 이미지

HHHHBI_2022_v26n6_427_f0008.png 이미지

그림 8. Gazebo 시뮬레이션 환경에서의 다중 정적 장애물 위치 추정 및 충돌 회피 결과

Fig. 8. Position estimation and collision avoidance result about multiple static obstacle in Gazebo simulation environment.

Ⅴ. 결론

본 논문에서는 공선상의 다중 정적 장애물에 대한 무인항공기의 충돌 회피를 수행하기 위하여, LiDAR를 활용한 장애물 탐지 알고리즘과 기하학적 기반의 충돌 인식 및 회피 알고리즘을 제안하였다. 장애물 탐지를 수행하기 위하여 LiDAR의 측정 데이터를 NED 좌표계 값으로 변환하여 지면 제거의 전처리를 수행하였으며, K-평균 군집화 알고리즘을 활용하여 전처리된 데이터에서 다중 장애물을 탐지 및 분류하였다. 또한, 상대 항법을 통해 탐지한 다중 장애물의 절대 위치를 추정 후 저주파 통과 필터를 활용하여 추정 위치를 보정하였다. 탐지한 다중 정적 장애물과의 충돌 회피를 수행하기 위해 장애물 간의 거리와 안전 반경을 활용한 조건에 따라 가상 장애물을 정의하였으며, 탐지된 장애물 및 가상 장애물의 정보를 활용하여 최근접점 기반의 충돌 인식 및 회피를 수행하였다. 마지막으로 Gazebo 환경에서의 시뮬레이션을 통해, 본 논문에서 제안한 알고리즘을 검증하였다. 추후 비행 시험을 통해 본 논문에서 제안한 알고리즘을 검증하고자 한다.

Acknowledgments

본 연구는 2022년도 산업통상자원부 및 산업기술평가관리원(KEIT) 연구비 지원에 의하여 이루어진 연구(20005015)로써, 관계부처에 감사드립니다.

References

  1. L. Zheng, P. Zhang, J. Tan and F. Li, "The Obstacle Detection Method of UAV Based on 2D Lidar," IEEE Access, Vol. 7, pp. 163437-163448, Nov. 2019.
  2. A. Asvadi, C. Premebida, P. Peixoto, and U. Nunes, "3D Lidar-based Static and Moving Obstacle Detection in Driving Environments: An Approach based on Voxels and Multi-Region Ground Planes," Robotics and Autonomous Systems, Vol. 83, pp. 299-311, Sep. 2016. https://doi.org/10.1016/j.robot.2016.06.007
  3. T. Hachaj, "Potential Obstacle Detection Using RGB to Depth Image Encoder.Decoder Network: Application to Unmanned Aerial Vehicles," Sensors 2022, Vol. 22, No. 17, pp. 6703-6717, Sep. 2022. https://doi.org/10.3390/s22176703
  4. M. J. Lee and I. P. Lee, "Fast Detection of Power Lines Using LiDAR for Flight Obstacle Avoidance and Its Applicability Analysis," Journal of Korea Spatial Information Society, Vol. 22, No. 1, pp. 75-84, Feb. 2014. https://doi.org/10.12672/ksis.2014.22.1.075
  5. J. Y. Liu, Z.M. Tang, A.D. Wang, and Z.X. Shi, "Negative Obstacle Detection in Unstructured Environment based on Multiple LiDARs and Compositional Features," Jiqiren/ Robot, Vol. 39, No. 5, pp. 638-651, Sep. 2017.
  6. K. Cao, G. Wang, D. Han, Y. Yuan, Y. Hu, and B. Qi, "Clustering Algorithm of Uncertain Data in Obstacle," Journal of Frontiers of Computer Science and Technology, Vol. 6, No. 12, pp. 1087-1097, Dec. 2012.
  7. Y. J. Choi, H. Jimenez, and D. N. Mavris, "Two-layer Obstacle Collision Avoidance with Machine Learning for More Energy-efficient Unmanned Aircraft Trajectories," Robotics and Autonomous Systems, Vol. 98, pp. 158-173, Dec. 2017. https://doi.org/10.1016/j.robot.2017.09.004
  8. J. Saunders, R. Beard, and J. Byrne, "Vision-based Reactive Multiple Obstacle Avoidance for Micro Air Vehicles," in 2009 American Control Conference, St. Louis, pp. 5253-5258, Jun. 2009.
  9. L. O. Rojas-Perez and J. Martinez-Carranza, "Metric Monocular SLAM and Colour Segmentation for Multiple Obstacle Avoidance in Autonomous Flight," in 2017 Workshop on Research, Education and Development of Unmanned Aerial Systems (RED-UAS), Linkoping, pp. 234-239, Oct. 2017.
  10. H. J. Choi, Reactive Collision Avoidance of Unmanned Aerial Vehicles Using Vision Sensors, Ph.D. dissertation, Seoul National University, Seoul, Jul. 2014.
  11. H. J. Kim, C. M. Park, S. B. Lee, and D. J. Lee, "Collision Avoidance based on CPA algorithm using Relative Distance and Azimuth of Radar for Unmanned Aerial Vehicles," in Proceeding of the 21st International Conference on Control, Automation and Systems, Jeju, pp. 534-538, Oct. 2021.
  12. S. Lloyd, "Least squares quantization in PCM," IEEE Transactions on Information Theory, Vol. 28, No. 2, pp. 129-137, Mar. 1982. https://doi.org/10.1109/TIT.1982.1056489