• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (EN Technology, Korea)
  2. (EPlus, Korea)
  3. ( Dept. of Electrical and Electronic Engineering, Dankook University, Korea )



Drone, Depth camera, 3D Camera, Drone swarms, Drone control, Drone safety

1. 서론

드론 운용 방법은 드론에 대한 제어권을 기준으로 할 때, 사람에 의한 조종과 드론 스스로 경로를 찾아가는 자율주행으로 나눌 수 있다. 사람이 직접 드론을 조종하기 위해서는 드론의 위치, 자세, 내부 상태 등에 대한 정보를 획득할 수 있어야 하고 드론 제어에 대한 판단 결과를 드론에게 전달할 원격 제어 장치가 필요하다.

일반 드론 운용의 경우 드론의 위치와 자세 정보는 사람의 시각을 통해서 확인하고, 드론을 제어하기 위한 원격 제어장치는 ISM 밴드를 사용하는 무선 장치를 주로 사용하고 있다. 드론 내에 전류센서, 전압센서, 고도센서, GPS센서, 기압센서, 온습도센서 등을 장착한 경우 텔레메트리 장치를 사용하여 관련 정보를 수신할 수 있으며 드론에 실시간 영상을 송신할 수 있는 카메라가 장착된 경우 드론의 카메라를 사용하여 드론의 위치나 자세를 파악하기도 한다. 대표적인 경우로 방송 촬영용 드론, 군사목적의 드론, 고글을 장착하고 주행하는 레이싱 드론을 들 수 있다.

그림. 1 은 논문 Multicopter platform prototype for environmental monitoring (1) 에서 소개된 드론에 장착된 카메라의 영상과 비행에 필요한 관련 정보를 실시간 영상을 통해 수신하는 사례이다.

그림. 1. OSD 시스템의 사례 (1)

Fig. 1. OSD system

../../Resources/kiee/KIEE.2018.67.8.1080/fig1.png

FPV(First Person View) 방식의 제어는 비행체를 직접 식별하기 어려운 원거리의 비행체에 주로 이용되거나 1인칭 시점의 비행이 필요한 분야에서 사용되고 있다.

사람이 직접 제어하는 경우 GPS, 고도센서 등과 같은 드론의 위치나 자세를 확인하기 위한 장치가 기본사양이 아닌 반면 드론 스스로 지정한 경로로 진행하는 자동주행의 경우 드론의 위치와 자세를 판단하기 위해서 대부분 기본사양으로 장착하고 있다. 물론 사람이 직접 제어하는 경우에도 조종의 편리성 증가를 위해 GPS, 고도센서 등을 장착하여 출발지로 되돌아오기, 경로 비행과 같은 추가 기능 등을 사용하기도 한다. 드론의 자율비행에 있어 보다 정밀한 비행을 위해서 초음파센서와 비콘 등을 포함한 전파를 사용하기도 한다 (2) .

드론에 경로를 입력하여 자동으로 비행하는 경우 드론의 자세나 상태를 스스로 인식하여 사람의 개입 없이 비행이 가능하지만 비행 도중 수동으로 전환하여 제어할 수 있도록 대부분 무선 송수신 장치를 내장하고 있으며 드론의 정보를 운영자에게 전달할 수 있는 텔레메트리 기능을 지원하기도 한다. 충돌방지를 위한 초음파 센서나, 가상 펜스, 카메라 등을 내장했다고 할지라도 예외상황이 발생하면 자동 비행기능은 사용자의 선택에 따라 중지되어 출발지로 되돌아오거나 그 자리에서 선회비행을 할 것이다.

자동 비행 기능을 사용하기 위해서는 자동 비행 기능에 필요한 장치들이 비행체에 설치되어 있고 운영자는 비행 전에 자동비행에 필요한 데이터를 드론에 입력하는 방식이기 때문에 비행체에 자동비행에 필요한 기능이 없거나 운용자가 자동 비행 기능을 비활성화한 경우 해당 기능의 사용이 불가능해진다. 논문에서는 그림. 2 와 같이 Depth 카메라와 컴퓨터를 사용하여 하나 이상의 드론을 조종하고자 한다. 이것은 기존의 드론 자동 비행과는 다른 방식으로 컴퓨터가 사람과 같은 시점으로 드론을 보고 드론의 상태를 짐작하여 조종하는 방식이다.

그림. 2. 컴퓨터에 의한 드론 제어 구조

Fig. 2. Computer controlled drones

../../Resources/kiee/KIEE.2018.67.8.1080/fig2.png

드론의 제어권을 제어 컴퓨터가 소유함으로써 드론의 자동 비행 기능 탑재 및 활성화 여부와 상관없이 사용할 수 있으며 하나의 제어 컴퓨터에서 다수의 드론 위치정보를 관리할 수 있기 때문에 드론간의 상호간섭, 충돌 등을 예방할 수 있고, 드론의 원활한 이동 경로 설정이 가능할 것이다.

이러한 방식의 군집 드론 제어는 군집 드론 비행을 위해 특수하게 제작된 드론과 정밀하게 계산된 관측에 필요한 장치가 설치된 장소에서 활용이 가능하도록 이미 구현되었고 상업적으로도 이용되고 있다. 논문에서는 군집 드론의 제어를 위해 특수하게 제작된 드론이 아닌 일반 드론을 사용하고 자유로운 이동이 가능한 Depth 카메라를 사용함으로써 활용성을 크게 증가시키고자 한다. 드론의 제어권을 획득하는 것은 논문의 범위에 포함시키지 않았지만 드론의 제어권을 임의로 가져올 수 있을 경우 컴퓨터가 드론을 관찰하며 필요시 드론을 제어하는 방식으로 활용할 수 있을 것이다.

이를테면 실내에서 드론을 운용할 때 관람석과 같은 위험지역으로의 접근을 방어하는 기능, 드론의 기기적 결함으로 추락 발생 시 안전지대 유도추락, 드론 비행 금지지역에서의 드론 통제 등에 응용할 수 있을 것이다.

또한 논문 군집 드론의 동시제어를 위한 멀티채널 송신 시스템 구현 (3) 에서 제안한 멀티채널 송신시스템을 사용할 경우 다수의 드론을 동시에 제어할 수 있을 것이다. 아래 그림. 3 은 멀티채널 송신 시스템의 제어기 구성도로 드론별로 각각의 통신채널을 확보함으로써 드론간 통신에 대한 간섭 문제를 해결하였다.

그림. 3. 논문 군집 드론의 동시제어를 위한 멀티채널 송신 시스템 구현에서 제안한 드론 제어기의 구조 (3)

Fig. 3. Structure of multi-channel type drone controller

../../Resources/kiee/KIEE.2018.67.8.1080/fig3.png

2. 본 론

2.1 실험 조건

실험은 자세제어로 비행하는 소형드론, Depth 카메라, 제어를 위한 컴퓨터, 소형 드론과 통신하는 장치로 구성된다. 드론이 이륙하여 Depth 카메라의 촬영 가능 범위까지의 이동은 사람이 수동으로 조정하며 Depth 카메라의 촬영 범위까지 들어온 드론은 이후 컴퓨터에 의해서 제어를 받는다. 이러한 방식으로 여러대의 드론을 Depth 카메라의 촬영 가능 범위로 이동시켜 동시 비행 실험을 수행하고자 한다.

2.2 Depth 카메라

드론객체의 탐지 및 이동경로를 확인하기 위한 다양한 방법 중 논문에서는 Depth 카메라의 거리정보를 사용하여 주야간 제약 해소와 정밀성을 높이고자 한다. Depth 카메라는 RGB 영상과 더불어 픽셀별 거리 정보를 알 수 있는 Depth 프레임을 생성해 주는 것으로 크게 접촉식과 비접촉식으로 나누어진다. 드론에 활용할 수 있는 비접촉식 방식은 다시 TOF(Time of flight) 방식과 스테레오 방식 그리고 구조광 방식(stuctured light)으로 나누어진다. Depth 카메라 방식에 따라 사용가능한 거리, 해상도 등이 다르며 논문에서는 비교적 쉽게 사용할 수 있는 근거리용 Depth 카메라인 Microsoft kinect를 사용하였다.

Kinect 센서는 RGB 영상, IR 영상과 함께 픽셀별 Depth 정보가 들어 있는 Depth stream을 사용할 수 있으며 논문에서는 Depth stream을 사용하여 드론의 움직임을 식별하고자 한다. Kinect 센서 외에 유사한 Depth 카메라가 다양한 제조사에서 생산되고 있기 때문에 사용 용도에 따라 제품을 선택할 수 있으며 스테레오 방식의 Depth 카메라를 사용할 경우 보다 원거리의 드론을 제어할 수 있다.

2.3 Depth 카메라를 사용한 전방 정보 획득

Depth frame은 IR 송광부와 IR 카메라를 통하여 측정된 픽셀별 거리정보가 포함되어 있으며 IR 카메라의 특성으로 인해 주간, 야간에 상관없이 사용할 수 있다. 수집된 Depth frame에서 주기적으로 발생하는 노이즈를 제거하기 위해서 픽셀별 측정값의 변화량을 사용한 주파수 필터를 적용하였다.

그림 5는 논문 Detection of Moving objects using Depth frame data of 3D Sensor[4]에서 제시된 방법으로 물체가 현실에서 움직일 수 있는 최고 속도를 사전에 정의하고 그 이상의 변화량이 발생된 경우 노이즈로 간주하는 방식이다. 특히 IR 센서를 사용한 Depth frame 특성상 물체의 경계면 등에서 지속적으로 발생하는 노이즈의 경우 이와 같은 필터를 적용하여 상당 부분 제거할 수 있다.

그림 4 실험에 사용된 Kinect Sensor

Fig. 4 The Kinect Sensor used in the experiment

../../Resources/kiee/KIEE.2018.67.8.1080/fig4.png

그림 5 Depth frame에서의 주파수 필터 적용 사례 [4]

Fig. 5 Example of application of frequency filter in depth frame

../../Resources/kiee/KIEE.2018.67.8.1080/fig5.png

2.4 드론의 탐지를 위한 배경필터 적용

드론을 사람이 직접 조종할 때 GPS, 고도센서, 초음파센서 등의 도움을 받으며 조종하는 위치제어 방식과 위치관련한 센서 없이 드론의 자세를 조종하여 원하는 위치로 움직이게 하는 자세제어방법으로 구분할 수 있다.

비교적 고가의 드론이 조종하기 쉬운 이유는 별도의 조종자 조작이 없을 경우 위치 관련한 센서들을 사용하여 자기 자리를 크게 벗어나지 않기 때문이다. GPS를 수신할 수 없는 경우에는 카메라 모듈을 사용하여 사용자의 조작 없이 드론이 스스로 흘러가는 것을 방지하기도 한다. 사용자의 조종에 의해 자세 제어로 비행하는 드론의 경우에는 드론의 자세에 따라 끊임없이 제어 명령을 전송해서 정지비행을 하거나 원하는 위치로 이동하게 하는 것이다.

컴퓨터가 카메라를 통하여 드론을 제어할 때 위치 제어보다는 자세 제어 방법을 적용할 경우 활용성을 크게 높일 수 있지만 드론의 움직임 변화를 빠른 시간에 분석하고 그에 따른 제어 신호를 실시간으로 전송해야 한다. 컴퓨터가 드론의 움직임 변화와 그에 따른 제어신호를 실시간으로 분석하고 전송하기 위해 배경필터를 사용함으로써 컴퓨터의 연산량을 감소시킬 수 있을 것이다. 일반 RGB 카메라나 Depth 카메라를 사용한 배경탐지 기법은 다양한 논문[5][6]에서 제시되고 있다. 본 논문에서는 빠르게 움직이고 변화하는 드론을 탐지하기 위하여 일정량의 Depth frame을 수집 후 가공한 데이터를 사용하여 배경을 구분하는 방법을 사용하고자 한다.

그림 6은 Depth 카메라 관점에서 배경을 1차원으로 촬영했을 때의 예로써 카메라가 Depth frame 정보를 1차원으로 제공한다고 했을 때 '11, 10.5 10.5 11, 11, 11, 8, 8,2, 11'와 같은 방식으로 데이터가 전달된다. 이러한 Depth 데이터를 프레임 단위로 수집해서 프레임간의 변화량을 근거로 배경여부를 판단하는 것으로써 노이즈에 의한 데이터의 오류를 사전에 제거하고 수집된 프레임을 분석해서 배경을 도출하는 방식이다.

그림 6 Depth camera의 배경탐지 예시

Fig. 6 Depth camera background detection example

../../Resources/kiee/KIEE.2018.67.8.1080/fig6.png

그림 7은 배경정보를 수집하는 단계로 Depth frame들을 수집하고 노이즈 필터를 사용해 현실상에서 발생할 수 없는 변화를 사전에 제거하고 픽셀의 변화율 등을 고려해 배경 데이터를 생성한다. 생성된 배경데이터를 근거로 배경에 해당되지 않는 픽셀들에 대해서만 객체를 탐지함으로써 CPU 연산량을 감소시킬 수 있다. 기존 RGB 영상에서의 배경처리 방법과는 달리 Depth 카메라는 모든 픽셀에 거리정보가 포함되어 있으므로 거리정보를 근거로 한 배경데이터를 생성해야 한다. 배경데이터 수집은 여러 프레임을 조합해야 하기 때문에 다소 시간이 소요되나 배경데이터가 생성된 후에는 배경 값 보다 큰 값을 제거하는 방식으로 필터를 적용하기 때문에 필터를 적용하는데 소모되는 시간과 연산량이 감소된다.

그림 7 배경정보 생성

Fig. 7 Generate background data

../../Resources/kiee/KIEE.2018.67.8.1080/fig7.png

아래 그림 8그림 6에서 수집된 자료를 근거로 그림 7의 절차를 거쳐 생성된 배경데이터의 예이다. Depth 카메라에서의 배경은 픽셀별 거리 정보로 정의되기 때문에 그림 8과 같이 가상의 최대값을 생성하고 측정된 거리정보가 최대값을 벗어날 경우 데이터를 무시하는 방식이다. 드론이 크게 움직이지 않고 정지하고 있는 경우 프레임간의 차이만으로는 객체를 쉽게 추출할 수 없는 반면 배경 필터를 적용할 경우 해당 배경을 제거한 후 남아 있는 픽셀에 대한 군집 알고리즘을 수행하여 객체를 구분할 수 있을 것이다. 아래 그림 9는 배경필터가 적용된 상태에서 드론이 출현했을 때의 사례로 배경을 제외한 픽셀들만을 처리하기 때문에 연산량을 크게 감소시킬 수 있을 것으로 예상한다.

그림 8 배경 데이터 적용 예

Fig. 8 Background data application example

../../Resources/kiee/KIEE.2018.67.8.1080/fig8.png

그림 9 배경필터를 적용한 상태에서의 드론 출현

Fig. 9 Drone appearance with background filter applied

../../Resources/kiee/KIEE.2018.67.8.1080/fig9.png

2.5 드론 탐지와 추적

노이즈 필터들과 배경필터를 통과한 후보 픽셀들에서 객체를 탐지한다. 객체 탐지에는 Depth 카메라 특성상 X, Y 좌표와 함께 카메라를 기준으로 Depth 정보가 들어있는 Z좌표를 함께 연산한다. 일반적인 군집 알고리즘에 드론의 최소 크기를 적용하여 분석 대상을 감소시킴으로써 연산속도를 증가시킬 수 있으며 탐지된 객체를 지속적으로 추적하기 위해서 감지된 드론에 고유 번호를 부여해야 한다. 새로운 프레임에서 탐지된 객체를 이미 탐지된 드론 객체와 맵핑시키기 위해서 드론 객체의 과거 이력을 사용할 수 있다.

2.6 드론 제어 연산

드론 제어는 PID 제어를 기본으로 하고 있으며 영상처리 과정과 드론을 제어하기 위한 모터의 RPM 변화 속도를 고려하여 PID 결과값의 최대값과 최소값을 드론의 상태에 따라 유동적으로 적용시켜야 한다. 드론의 상하좌우 및 이동 속도를 담당하는 Throttle, 좌우로 이동할 수 있는 Roll, 앞뒤로 이동하는 Pitch, 드론의 회전을 담당하는 Yaw에 각각 소프트웨어로 구성된 PID 제어기 모듈을 적용한다. 드론 한 대에 소프트웨어로 구현된 PID 제어모듈 4개가 적용되며 각각의 PID 제어 모듈은 독립적으로 동작한다. 또한, 모든 PID 제어 모듈은 최대값과 최소값을 부여해서 드론의 급격한 기동으로 인하여 Depth 카메라 시야를 벗어나는 오류를 방지해야 한다. 최대값과 최소값은 운영자에 의해 사전에 설정하는 방법과 제어명령에 따른 드론의 반응에 따라 유동적으로 변화시키는 방법을 사용할 수 있다. 드론의 배터리, 모터의 상태, 기상 및 주변 환경에 따라 제어하는 PID 관련 최적값이 상시 변할 수 있으므로 주기적 최적화가 필요하다.

그림 10 PID 제어기에서의 최대값, 최소값 적용

Fig. 10 Apply the maximum and minimum values in the PID controller

../../Resources/kiee/KIEE.2018.67.8.1080/fig10.png

그림 10은 소프트웨어로 구현된 PID 제어기에 최대값과 최소값을 적용한 코드 사례로써 PID 연산이 완료된 후 MaxOUTValue와 MinOUTValue에 의해서 출력값이 제어됨을 확인할 수 있다. MaxOUTValue와 MinOUTValue는 다른 쓰레드에서 드론의 상태에 따라 지속적으로 관리되어야 한다. 또한 제어 프로그램에서는 탐지된 Drone과 PID 컨트롤러는 Class로 구현하여 Drone별 개별 객체로 관리됨으로써 하나 이상의 드론이 탐지되더라도 유연하게 대처할 수 있도록 해야 한다.

3. 결 론

3.1 배경 필터 및 객체 검출실험

그림 11은 실험을 위한 사용자 화면으로써 좌측의 영상은 Depth 카메라 SDK에서 제공된 데이터를 근거로 화면에 출력한 RGB 영상이고, 우측은 Depth Frame 데이터를 측정된 거리에 따라 컬러를 다르게 하여 시각적으로 표현한 것이다.

그림 11 구현된 사용자 인터페이스 화면

Fig. 11 Implemented GUI Program

../../Resources/kiee/KIEE.2018.67.8.1080/fig11.png

그림 12 배경필터 적용 전(상)과 적용 후(하)

Fig. 12 Before and after applying the background filter

../../Resources/kiee/KIEE.2018.67.8.1080/fig12.png

그림 13 배경필터 적용상태에서의 객체 출현

Fig. 13The object that appears after applying the back- ground filter

../../Resources/kiee/KIEE.2018.67.8.1080/fig13.png

그림 12는 배경 필터를 적용하기 전과 후의 Depth frame 영상으로 처리해야 할 픽셀의 수를 대폭 감소시킴으로써 처리 속도를 높일 수 있었다.

그림 13은 배경 필터 적용 후 컵을 등장시킨 것으로써 등장한 컵만이 영상처리 대상으로 나타남을 확인할 수 있다. 실험에 사용한 컵은 컵의 중간을 기준으로 했을 때 지름이 약 74mm로 실험에 사용하고자 하는 드론과 유사한 크기를 나타낸다. 배경필터의 배경 기준값을 비교적 높게 설정한 경우 물체가 배경에 근접했을 때 배경으로 인식하는 오류를 범할 수 있고, 배경 필터의 배경 기준값을 측정된 배경과 유사하게 설정했을 경우 Depth frame 측정 오차에 따라 배경필터가 적용되지 못한 부분이 발생할 수 있다.

그림 13은 측정된 배경으로부터 약12mm까지를 배경의 범위로 지정하고 컵을 벽면에 밀착한 것으로 12mm를 초과하는 두께에서는 배경과 구분되어짐을 확인할 수 있었다.

3.2 배경 필터 및 객체 검출실험

아래 그림 14는 Depth frame에서 드론을 검출한 것으로 검출 순번에 따라 객체 고유 번호를 0번으로 부여하였다. 필터를 통과한 픽셀들에서 일정한 밀도 이상으로 이뤄진 군을 객체 후보로 선정하고 객체의 크기를 계산하였다. 이미 인지된 드론 객체의 위치, 새로 검출된 객체의 위치, 크기, 비율 등을 사용해서 이전 드론과의 맵핑정보를 생성하고 만약 이전 드론에 없던 객체의 출현이라면 새로운 객체 고유 번호를 부여하는 방식이다.

그림 14 드론 검출 실험

Fig. 14 Drone detection experiment

../../Resources/kiee/KIEE.2018.67.8.1080/fig14.png

드론이 화면 밖으로 사라진 후 유사한 위치에서 지정 시간 내에 돌아오지 않으면 드론 객체에 부여된 고유 번호를 삭제하고 밖으로 사라져 고유번호가 삭제된 드론이 다시 카메라 시야내로 진입할 경우 새로운 드론 객체번호가 부여된다. 그림 15는 드론의 X, Y 좌표를 빠른 속도로 이동시킨 것으로 이미 인식되어 부여된 드론 고유 번호 0번이 새로운 프레임에서 탐지된 드론객체에 동일하게 부여되어 드론별 객체번호가 유지되고 있음을 확인할 수 있다.

그림 15 드론의 좌표 이동

Fig. 15 Movement of X,Y-coordinate of drones

../../Resources/kiee/KIEE.2018.67.8.1080/fig15.png

그림 16은 드론의 Z 좌표를 빠르게 변화시킨 것으로 이미 검출된 드론 0에 대해서 X, Y 좌표가 크게 변하지 않았고 Z 좌표의 값이 연속적으로 작아지고 있으므로 빠른 변화가 있더라도 예측된 좌표와 크게 다르지 않아 정상적으로 객체 추적이 이루어진 경우이다.

그림 16 드론의 Z좌표 대한 이동

Fig. 16 Movement of Z-coordinate of drones

../../Resources/kiee/KIEE.2018.67.8.1080/fig16.png

아래 그림 17은 좌측 일부가 유리면, 전방에 모서리, 상단에 환풍구가 있어 Depth 카메라 특성상 노이즈가 발생할 수 있는 공간으로 노이즈 발생을 유도한 상태에서 드론을 검출한 실험이다. 노이즈의 두께가 미리 설정한 드론보다 커진 경우 문제가 발생하였으나 배경 필터의 범위를 조절해서 문제를 해결할 수 있었다.

그림 17 노이즈발생 상태에서의 드론 검출

Fig. 17 Drone detection in the presence of noise

../../Resources/kiee/KIEE.2018.67.8.1080/fig17.png

3.3 드론 자동 정지비행 실험

그림 18은 컴퓨터에 의해 자동 정지비행을 실험하고 있는 것으로 Kinect 센서 시점에서 촬영된 화면(우측)을 볼 때 파티션 모서리측에서 발생하는 노이즈에도 정상적으로 드론 객체를 추적함을 확인할 수 있다.

준비된 실험용 기체 4대를 기준으로 측정한 결과 아래 표 1과 같은 PID 표준 값 을 도출할 수 있었다.

기체의 종류에 따라 PID 값은 상이할 것으로 예상하고 동일한 기체라도 시스템 운영환경에 따라 최적의 PID값을 찾아야 한다.

그림 18 컴퓨터에 의한 자동 정지비행

Fig. 18 Computer-controlled drone flight

../../Resources/kiee/KIEE.2018.67.8.1080/fig18.png

3.4 드론 경로 비행 실험

아래 그림 19의 좌측 하단에 보이는 컴퓨터 화면은 마우스 클릭만으로 드론에게 이동 명령을 전달할 수 있도록 구현한 것으로써 드론의 경로 비행 실험에 사용하였다.

그림 19 드론의 이동 명령 대기상태

Fig. 19 Before the drones are moved by the computer

../../Resources/kiee/KIEE.2018.67.8.1080/fig19.png

화면 우측상단에 비행하고 있는 드론을 좌측 컴퓨터 화면에서 확인할 수 있으며 마우스 포지션은 + 로 표시된 부분으로(화면 하단 좌측 C.Mouse Curosr 표시) 마우스를 클릭해서 이동명령을 전달하기 이전 상태이다.

아래 그림 20그림 19 상태에서 드론의 목표 위치를 설정하고 드론에게 이동을 명령한 것으로써 그림 하단 A부분에서 보이는 것과 같이 드론의 목표 지점을 좌측으로 설정했다. 그림 20에서 B로 표시된 부분은 드론의 향후 예상 경로로써 드론의 상태 또는 설정된 PID 파라미터에 따라 목표지점으로 이동하는데 속도차이가 다소 발생하였다.

그림 21그림 20에서 설정한 사용자의 좌표 이동 명령에 따라 드론이 이동하는 화면과 이동 후 정지비행 모드로 돌입한 것으로 컴퓨터에 의해 정밀 제어가 가능함을 확인 할 수 있다. 또한 이와 같은 방법으로 Depth 카메라 중앙으로 이동, Circle 비행, 8자 선회비행기능을 구현할 수 있었다.

그림 20 드론의 좌표 이동 명령 설정

Fig. 20 Set the dron's coordinate move command

../../Resources/kiee/KIEE.2018.67.8.1080/fig20.png

그림 21 드론의 이동명령에 따른 좌표 이동

Fig. 21Coordinate movement of dron according to move command

../../Resources/kiee/KIEE.2018.67.8.1080/fig21.png

3.5 군집 드론 실험

실험을 위해 구현된 프로그램은 드론 개별마다 Class 객체가 생성되어 관리되기 때문에 S/W시스템 상으로는 드론이 증가해도 사용되는 컴퓨터 자원의 증가는 미비하다.

특히 논리적으로 구성된 드론 객체별로 PID 제어를 수행하기 때문에 증가된 드론 간의 논리적 간섭은 없지만 실험에 사용한 Depth 카메라의 범위 내에 동시에 비행할 수 있는 드론의 수가 한정되어 있어 최대 3대의 드론으로 실험하였다.

그림 22는 드론 2대를 하나의 컴퓨터에서 동시에 제어하는 것으로 좌측 A.Drone1과 B.Drone2이 서로 교차 했을 때 드론을 확인하기 위해서 B.Drone에 컬러띠를 적용시켜 실험하였다.

그림 22 드론 2대의 동시 비행

Fig. 22 2 drones flying at the same time

../../Resources/kiee/KIEE.2018.67.8.1080/fig22.png

그림 23은 드론 1과 드론 2에 대해 각각 좌표 이동 명령을 전달해서 서로 교차되어 비행되도록 명령한 것으로 교차 비행을 하더라도 지속적으로 드론을 추적함을 알 수 있다.

드론의 현재위치, 예측위치를 근거로 비교함으로써 RGB카메라를 사용하지 않고 드론 객체 추적을 할 수 있었으며 동시에 여러 대의 드론 비행이 가능하였다.

아래 그림 24는 Depth 카메라에서 노이즈를 유발할 수 있는 상황을 재현한 상태에서 예비기체 포함 4대의 드론을 기준으로 실험한 사례이다.

그림 23 드론 2대의 교차비행 제어화면

Fig. 23 2 drones cross control by computer

../../Resources/kiee/KIEE.2018.67.8.1080/fig23.png

그림 24 노이즈 공간에서의 드론 동시 비행

Fig. 24 Simultaneous flight of drone in noise space

../../Resources/kiee/KIEE.2018.67.8.1080/fig24.png

배경필터의 간격을 조절해서 노이즈를 감소시켰으며 Depth 카메라의 시야 범위 내에서는 드론의 수와 상관없이 비행이 가능함을 확인하였지만 드론 간의 충돌 가능성으로 인해 보다 넓은 비행 공역을 필요로 했다.

특히, 두 대 이상의 드론이 동일 X, Y 좌표에서 정지비행을 하며 Depth 카메라의 시야를 가릴 경우 뒤에 위치한 드론의 움직임을 파악할 수 없었다. 뒤에 위치한 드론이 좌우나 상하로 움직일 경우에는 객체 추적이 다시 이루어져 컴퓨터에 의한 제어가 가능했으나 Z 좌표로 이동하는 경우 앞에 위치한 드론과의 충돌이나 뒤에 위치한 벽면과의 충돌이 발생하였다. 장애물에 의해 Depth 카메라의 시야를 가리는 상태가 지속될 때 가려진 드론을 자동으로 이동하게 하면 이와 같은 문제를 다소 해결할 수 있을 것으로 예상한다.

3.6 향후 실험방향

구현과 실험을 통해서 Depth 카메라를 사용한 드론의 제어가 가능함을 확인할 수 있었다. 컴퓨터가 사람을 대신해 드론을 제어하기 위해서는 논문에 기술된 부분들 외에 필터적용방법, 드론의 위치에 따른 PID 파라미터 도출, 드론의 Yaw가 변경되는 상태에서의 드론 방향 예측 등과 같은 다양한 기술적 요소들을 필요로 했다.

특히 Depth 카메라 특성상 촬영할 수 있는 영역에 제약이 있어 동시 비행하는 드론의 수가 5대를 넘는 경우 비행공역의 문제로 원활한 비행이 어려웠다. 두 대의 Depth 카메라 활용, 스테레오 방식의 3D 카메라 활용, Depth 카메라와 RGB카메라의 활용, Depth 카메라와 무선비콘의 활용과 같은 다양한 방법을 적용한다면 보다 넓은 공간에 적용할 수 있을 것이며 다른 드론에 의해 Depth 카메라의 시야가 가려지는 문제도 해결될 수 있다.

References

1 
S. Anweiler, D. Piwowarski, "Multicopter platform prototype for environmental monitoring", Journal of Cleaner Production, Vol. 155, pp. 204-211, 2017DOI
2 
D. Hoeller, A. Ledergerber, M. Hamer, R. D'Andrea, "Augmenting Ultra-Wideband Localization with Computer Vision for Accurate Flight", IFAC-PapersOnLine, Vol. 50, No. 1, pp. 12734-12740, 2017DOI
3 
S. H. Lee, K. H. Han, "Implementation of multi-channel communication system for drone swarms control", Transactions of the Korean Institute of Electrical Engineers, Vol. 66, No. 1, pp. 179-185, 2017DOI
4 
S.H. Lee, K.H. Han, "Detection of moving objects using depth frame data of 3D sensor", The Journal of the Institute of Internet, Broadcasting and Communication, Vol. 14, No. 5, pp. 243-248, 2014Google Search
5 
H. Lin, C. Lin, Y. Zhao, A. Wang, "3D saliency detection based on background detection", Journal of Visual Communication and Image Representation, Vol. 48, pp. 238-253, 2017DOI
6 
D. Zamalieva, A. Yilmaz, "Background subtraction for the moving camera: A geometric approach", Computer Vision and Image Understanding, Vol. 127, pp. 73-85, 2014DOI

저자소개

한 경 호 (Kyong-Ho Han)
../../Resources/kiee/KIEE.2018.67.8.1080/au1.png

1984년 서울대학교 대학원 전자공학과 (석사)

1992년 미국 Texas A & M University, College Station (Ph.D.)

1984~1985년 삼성휴렛팩커드 연구원

1985~1987년 한국통신 전임연구원

1989~1992년 Texas A & M University, Unix System Administrator & Network Analysist

1992~1993년 한국전자통신연구원 이동통신 연구단 CDMA 개발 선임 연구원

1993~현재 단국대학교 전자전기공학부 교수

관심분야:마이크로프로세서 및 Arm 기반 Application, ITS, F/A System, 네트워크 통신

이 성 호 (Seong-Ho Lee)
../../Resources/kiee/KIEE.2018.67.8.1080/au2.png

2012년 단국대학교 정보통신 학과 (공학석사)

2015년 단국대학교 전자전기공학과 (공학박사)

현재 (주)이엔테크놀러지 대표

관심분야:소프트웨어 및 하드웨어 보안, Arm 기반 Application, IoT Device 및 통신 프로토콜, IoT Gateway, 중계서버

김 동 한 (Dong-Han Kim)
../../Resources/kiee/KIEE.2018.67.8.1080/au3.png

2015년 단국대학교 정보통신 대학원(석사)

2017년 단국대학교 전자전기공학과 박사과정 수료

현재 이플러스(주) 대표

관심분야 : 모터제어, 인버터제어, 전력제어, Sputter Pluse Power. IoT Device