GPS 기반 UAV의 자율 비행 제어 GPS는 UAV의 상용화의 핵심 기술이다. 카메라를 장착한 UAV는 GPS기반으로 조종사 없이 자동으로 비행이 가능하며, 이는 감시와 관찰에 이용될 수 있다. 하지만 UAV가 다양한 지점을 자동으로 모니터링 하기 위해서는 비행경로가 계획되고 만들어져야 한다. 해당 논문에서는 조종자에 의해 모아진 UAV 비행 데이터를 분석 후, 그래프 기반(graph-based) 길을 만드는 UAV 비행조종방식을 제안하는 내용이다. UAV의 다수의 감시지점에서 촬영한 이미지를 바탕으로 그래프 기반으로 만든 길들을 A* 알고리즘을 이용하여 비행한다. |
|
|
UAV의 비행 경로를 만들기 위한 방법은 크게 3가지가 존재한다.
1. Way point 기반 비행 경로 : 조종자가 GPS 기반 위치와 UAV 높이 정보를 직접 입력하여 길을 하나하나 계획하는 방법이다. 해당 방법은 위치측정 장치가 필요 없다는 점이 장점이지만, 장애물이 미리 인지가 안될 경우 경로 변경이 어려워 각각의 UGSs(Unattended Ground Sensors)의 높이를 정해야 하고, 비행경로의 구체화가 어렵다는 단점을 가지고 있다.
2. 시뮬레이션 기반 비행 경로
2-1. Rapid-exploring random trees(RRTS) 알고리즘과 B-spline 알고리즘을 결합한 방식이 존재한다. 해당 방식은 장애물 발견 시 대응 가능하다. 하지만 3D 환경 구축이 필수적이다.
2-2. Laguerre graph를 이용한 방식이 있다. 해당 방식은 길을 찾기 위한 시간 소요를 최적화가 가능하고 조사한 지도 사이즈에 따라서도 길을 찾기 위한 시간 소요를 최적화할 수 있지만 장애물 정보가 없을 시 사용이 불가능 하고, 실제 값을 적용하기 위한 비용 발생이 증가한다는 단점을 가지고 있다.
3. 조종사 비행 데이터 기반 비행경로를 설정하는 방법이 있다. 해당 방법은 조종사가 UAV를 운행하면서 찍은 사진정보를 기반으로 길을 계획하는 방법이다. 비용이 적게 요수되며 다수의 비행정보를 통해 최적화가 가능하다는 장점을 가지고 있다. 하지만 조종자가 잘못된 경로로 비행 시 얻은 정보로 경로가 설정될 가능성이 존재하는 단점을 가지고 있다.
해당 선행 연구들은 경로가 다양해질 경우 최적화의 어려움, 3D 시뮬레이션 환경 구축의 어려움, 조종사의 오류와 같은 단점을 가지고 있어 해당 논문에서는 가능한 모든 경로를 고려하고, 조종사 없이 이루어진 비행데이터를 기반으로 최적화된 그래프를 통해 길을 생성하는 새로운 접근 방식을 제안하고자 한다. |
|
|
그림1은 조종자가 하나의 UAV를 통해 다수의 비행 가능한 경로를 훈련하고 최적의 비행 경로를 도출하는 과정을 보여준다.
Record Phase : 조종사는 이륙지점(B)에서 조종을 마치는 착륙지점(L)까지 생성된 비행 데이터가 기록단계(Record Phase)에서 기록된다. 조종사가 비행 중 UAV가 촬영하고 감시할 여러 감시 지점을 지정한다. UAV는 조종사가 지정한 지점에서 감시할 장소를 포함한 이미지를 캡쳐하고 GPS및 기타 정보를 수집한다.
Graph Generation Phase : 기록단계에서 수집된 대량의 데이터를 분석하여 가중 경로로 Graph G를 생성한다. UAV가 비행 중에 통과하는 비영상 지점들은 K-mean 알고리즘을 통해 클러스터링 된다. 영상 지점들은 제한된 K-mean 알고리즘으로 클러스터링 된다. 이를 통해 비영상 점들과 영상 점들에 해당하는 node들이 생성되게 된다. 해당 점들 사이의 비행을 결정함으로써 node들을 연결하는 edge들이 생성된다. 그러면 node들을 기반으로 비행경로들이 Graph G로 생성된다.
Path Planning Phase : Gragh G의 이륙지점에서 이미지 지점에 해당하는 노드를통해 착륙지점 까지의 최적 비행 경로를 설정한다. 각 이미지 지점 노드 사이의 최단 거리는 A* 알고리즘을 사용하여 구해낸다. |
|
|
그림1의 Record Phase의 상세 설명에 해당하는 과정이다. |
|
|
Record Phase에서는 조종사가 특정 지점들을 지정하면 UAV는 해당 지점들을 이미지 지점과 비이미지 지점들의 정보를 제공한다. 이미지 지점의 정보는 감시카메라, GPS 및 그외 데이터들을 포함하고 있다. 비이미지 정보는 오직 GPS정보와 그 외 데이터만을 가지고 있다. |
|
|
그림 2. 비행중 이미지 지점 및 비이미지 지점에서의 정보수집 |
|
|
그림 2는 단일 비행기록을 어떻게 처리하였는지에 대한 내용이다. I는 이미지 지점에 대한 데이터를, N은 비이미지 지점에 대한 데이터를 나타낸다. 그리고 I는 [순서, 비행지점순서, 기체위치, 각도], N은 [순서, 비행지점순서, 비행기위치]로 구성된다. 처음 비행에서 얻은 데이터가 다음 비행을 통해 얻은 데이터로 순차적으로 업데이트 되는 과정을 겪는다. |
|
|
2. Graph Generation Phase |
|
|
그림1의 Graph Generation Phase의 상세 설명에 해당하는 과정이다. |
|
|
그림 3. 비행 기록에 따른 생성된 node와 edge |
|
|
그림 3은 4번의 비행을 통해 얻은 비행기록들을 통해 얻은 이미지지점과 비이미지지점을 착륙노드부터 이륙노드까지 연결한 것을 보여준다. |
|
|
표 1. 지점들의 최대 최소값 표 2. 각도의 최대 최소값 |
|
|
Graph Generation Phase에서는 Record Phase에서 얻은 데이터를 가지고 분석하고 여러가지 경로를 Graph G로 구현한다. 이때 Record Phase 에서 얻어진 비이미지 지점 정보는 K-mean 알고리즘을 통해 모아지고 이미지 지점 정보는 제한된 K-mean 알고리즘을 통해 구해진다. 해당 과정을 통해 비이미지 지점 정보와 이미지 지점 정보를 연결한 node들이 생성된다. 그리고 이를 통해 node 기반 비행경로가 Graph G를 통해 만들어진다. 표 1. 표 2.는 Graph G에서 생성된 데이터의 최대 최소값들을 의미한다.
점과 각도는 이전에 계산된 최대 최소값을 고려하여 0에서 1사이의 값으로 정규화 된다. 정규화된 이미지와 비이미지 지점은 정규화된 각도와 점을 포함한다.
만일 클러스터링 진행 중 허용 오차범위보다 작은 경우 새로운 클로스터를 생성되고 기존 정규화된 이미지 지점에서 새로운 클러스터를 통해 정규화된 지점으로 이동하게 된다.
이러한 과정 중 클러스터가 더 이상 변화하지 않는다면, 클러스터의 중심점은 정규화되어 node집합에 포함된다.
그리고 선정된 node들의 집합들 중에서 이미지 지점, 비이미지지점, 이륙지점, 착륙 지점 각각에서의 연결이 확인된다면 edge로 추가하여 edge집합 E가 생성된다. |
|
|
그림1의 Path Planning Phase의 상세 설명에 해당하는 과정이다. |
|
|
그림 4. Graph G에서 생성된 감시 경로 |
|
|
경로설정은 A*알고리즘을 사용하여 경로를 탐색한다. A*알고리즘은 그래프 기반 경로 탐색에 많이 사용되는데 휴리스틱함수를 사용하여 경로를 탐색하여 미래의 비용을 고려하여 비행경로를 효율적으로 탐색하는데 도움이 된다.
경로 계획단계에서는 Graph G를 기반으로 경로 설정하는데 이때 A* 알고리즘을 두번 적용한다. 먼저 A*알고리즘을 통해 이미지 node 간의 비용을 계산한다. 그리고 두번째고 이륙node에서 이미지 node를 거쳐 착륙node까지 비행경로를 A*알고리즘으로 탐색한다.
그림 4.는 Graph G를 사용하여 이륙 node에서 착륙node까지 네 개의 감시 위치를 촬영하면서 비행 경로를 계획한 결과를 나타내는 그림이다. 저비용 비행경로는 이륙node에서 착륙node 까지 네 개의 이미지 node와 10개의 비이미지 node를 통과하는 루트이다. |
|
|
실험은 계명대학교의 침입자를 모니터링하기 위해 UAV의 비행경로를 계획하는 상황으로 진행했다. DJI에서 제작한 Inspire를 사용하였고, Inspire를 통해 수집된 데이터는 스마트폰으로 연결되었다. Record Phase에서는 조종사가 대학 시설과 지면 주변 울타리를 촬영하여 비행 데이터를 수집했다. Graph Generation Phase는 비행 관련 대용량 데이터를 분석하여 가능한 UAV 비행경로를 도출한다. Path Planning Phase에서는 UAV가 침입자를 감시하기 위한 비행경로를 계획하였다. |
|
|
그림 5. 침입자를 모니터링 하기 위한 데이터 수집 |
|
|
계명대학교 침입자를 감시하기 위해 17개의 감시 지점이 선택한다. 이 지점들은 농구 골대 2개, 축구장 골대 2개, 관람석 5개 지역(2회), Club room 입구 2개, 울타리 3개로 구성된다. 조종사는 Record Phase에서 대학시설과 운동장의 울타리등을 이미지화한다. UAV를 6회 비행을 실시하여 8115개의 UAV 비행 데이터를 수집한다. 그림 5.는 농구장과 울타리, Club room, 관람석을 촬영한 비행 기록을 보여준다. 그림 6.은 농구장과 축구장, Club room, 관람석을 촬영하면서 수집된 비행 경로의 길이는 1364.32m이다. |
|
|
2. Graph Generation Phase |
|
|
그림 7. 침입자를 모니터링 하기 위한 데이터 수집 |
|
|
그림 7.은 감시 지점을 위해 생성된 이미지 node를 보여준다. 같은 농구장을 촬영하기 위해 두개의 이미지 node가 생성된 것을 확인 할 수 있다. 그림 8.은 생성된 비이미지 node를 보여준다. Club room과 관람석 주변을 비행하는 UAV에 의해 더 많은 비이미지 node가 생성되었으며, 울타리 주변을 비행하는 것보다 많을 것을 확인할 수 있다. |
|
|
그림 9. 이미지 노드와 비이미지 노드를 통해 생성된 경로 |
|
|
그림 9.는 그림 7.과 그림 8.에 표시된 이미지 및 비이미지 node를 사용하여 생성된 Graph G를 보여준다. Club room과 관람석, 축구장, 농구장, 그리고 울타리를 촬영하기 위한 비행 경로가 생성된 것을 확인할 수 있다. 8115개의 비행 데이터를 수집하여 이륙node, 착륙node, 이미지 node 및 비이미지 node를 포함한 109개의 node로 축소하였다. 이는 비행 경로 계획 및 감시 지점 촬영을 위한 데이터 처리의 효율성을 높이기 위한 것이다. |
|
|
그림 10. A* 알고리즘을 통한 최적 경로 선정 |
|
|
Path Planning Phase에서는 A*알고리즘을 사용하여 17개의 이미지 node, 이륙node, 착륙node를 연결하는 비용을 계산하여 경로를 설정하였다. 그림 10.은 이륙node에서 울타리까지의 비행하는 비용이 높기 때문에 Club room, 관람석 및 농구장 근처의 이미지 node를 탐색한 후 울타리 근처의 이미지 node를 지나간 것을 확인할 수 있다.
해당 결과는 100개의 이미지 및 비이미지 node를 통과하였고 계획된 비행 경로는 764.27m이다. |
|
|
해당 논문은 비행경로를 감시지점 촬영 및 자동비행을 통해 수집된 비행관련 데이터를 분석을 함으로써 비행경로를 설계하는 방식을 제안한다. 이전의 방식들이 가진 문제점들을 보완하여 UAV가 하드웨어 교체없이 수집된 데이터 분석을 통해 향상된 소프트웨어로 자동비행이 가능한 부분이 인상적이다. |
|
|
오늘의 뉴스레터는 여기까지! 뉴스레터는 어땠나요?
더 읽어보기
[1] Kwak, J., & Sung, Y. (2018). Autonomous UAV flight control for GPS-based navigation. IEEE Access, 6, 37947-37955.
|
|
|
발행 KUTAM 작성 김호주
검수 AAM Open Space |
|
|
|
|