DOI QR코드

DOI QR Code

Quadcopter Hovering Control Using Deep Learning

딥러닝을 이용한 쿼드콥터의 호버링 제어

  • Received : 2020.02.25
  • Accepted : 2020.04.01
  • Published : 2020.04.30

Abstract

In this paper, In this paper, we describe the UAV system using image processing for autonomous quadcopters, where they can apply logistics, rescue work etc. we propose high-speed hovering height and posture control method based on state feedback control with CNN from camera because we can get image of the information only every 30ms. Finally, we show the advantages of proposed method by simulations and experiments.

Keywords

1. 서론

소형 쿼드콥터는 수직 이동 특성과 공중 정지 특성을 가지고 있기 때문에 실내 비행이 가능하고 자율 비행이 가능하다는 점에서 사람의 출입이 어려운 위험 지역에서 물류서비스, 재난 구호, 감시 임무 등과 같은 다양한 응용분야로 연구와 제품화가 진행되고 있다. 그리고 기체의 소형화로 비용을 절감하며 추락시의 위험을 줄일 수 있는 특징으로 인하여 소형 쿼드콥터의 하드웨어 및 소프트웨어 개발이 활발하며 다양한 응용분야를 갖추게 되었다[1-3].

쿼드콥터는 육상이동 로봇에서처럼 이동바퀴를 기반으로 하는 정보로부터 자기위치추정을 할 수 없는 문제점을 갖고 있다. 따라서 쿼드콥터의 환경 모니터링과 자세 제어를 위해 GPS 및 카메라 센서 등을 이용한 피드백을 이용하고 있으며 이는 중요한 의미를 가지고 있다.

본 연구에서는 입력영상 기반의 위치추정 기법에 관련 기초 연구를 수행하고자 한다. 카메라 센서를 UAV(Unmanned Aerial Vehicle)에 탑재하여 객체의 영상을 획득하고, 이 영상을 기반으로 하는 쿼드콥터의 위치제어를 구현한 실험결과를 제시하고자 한다.

외부 환경에 갑작스러운 움직임이 없이 쿼드콥터가 비행할 수 있도록 딥러닝 기술을 사용하여 훈련 데이터의 양을 줄이고 있다. 이를 위하여 CNN(Convolutional Neural Network) 기법을 사용하였으며, 출력은 카메라 위치에 투영된 좌표가 해당된다.

쿼드콥터를 사람이 직접 조정하여 위치를 제어한다는 것은 쉽지 않으며 평균 1∼2미터 흔들리게 된다. 정확한 쿼드콥터의 위치를 파악하기 위해서는 별도의 측위 기술이 필요하다. 특히 시야가 가려진 상황의 비행이나 바람이 부는 환경에서 위치를 제어하는 것은 더욱 쉽지 않다. 이런 이유로 쿼드콥터의 위치 제어는 GPS를 이용한다. 하지만 GPS가 끊어지는 상황에서 쿼드콥터는 비행불능상태에 빠지고, 제어가 불가능해 진다. 이를 해결하기 위해, 카메라, LiDAR, 비콘 등을 사용한 실내 측위, 거리 센서를 이용한 비행이 연구되고 있으며, 그림 1과 같이 딥러닝을 기반으로 쿼드콥터 비행 방법을 학습하는 기술도 개발되고 있다.

SOOOB6_2020_v23n2_2_263_f0001.png 이미지

Fig. 1 NVIDIA AI. quadcopter

선행연구에서 외부의 정지 좌표계에 장착된 모션 캡처 시스템을 이용하여 마킹된 쿼드콥터를 수백 Hz로 촬영하고 각 쿼드콥터 제어 명령을 무선 신호로 전달하여 피드백 제어를 수행하는 방법이 있다[3-7].

그리고 쿼드콥터에 장착된 카메라를 이용하여 자기 위치 추정하는 방법도 있다[8-12]. 쿼드롭터를 활용하여 공간정보 자료를 취득하기 위해 지상기준점과 이격 거리에 대한 관계를 정량적으로 제시하고 정확도 향상을 위해 오차를 줄이는 연구도 진행되었다[13]. 이 방법은 교차비행을 추가하여 정확도와 정밀도를 향상할 수 있지만 안정적 비행을 위한 지상기준점의 개수를 최적화하는 방법이 요구된다.

본 연구는 앞서 연구된 소형 쿼드콥터를 이용한 자율 호버링 연구를 기반으로 하고 있다[14]. 실내에서 비행 실험을 실시하고 있으며 쿼드콥터의 페이로드를 고려하여 내부에 설치된 카메라 모듈을 이용한 비주얼 서보에 따른 자율 비행제어를 이용하는 것은 동일하나 딥러닝을 사용하여 좀 더 안정적인 특징점 추출 방법을 시도하였다.

2. 자율 호버링제어 시스템

2.1 시스템의 구성

본 연구에서 실험을 위한 쿼드콥터는 소형 카메라, 영상전송을 위한 무선 송신기, 수동 조작 컨트롤러, PC, DA/AD변환기, 신호 변환 회로로 그림 2와 같이 구성하였다. 또한 비행제어를 위한 1대의 헬기와 기체에 탑재한 소형카메라 1대와 외부에서 비행관측을 통한 모니터링 및 보정을 실현하기 위하여 외부용 카메라 2대를 각각 사용한다.

SOOOB6_2020_v23n2_2_263_f0002.png 이미지

Fig. 2 Structure of system and environment

PC 제어용 및 영상처리용 카메라는 제어용 PC와 통신하도록 하였고, 화상처리용 PC가 무선 네트워크 연결되어있다. 제어용 PC는 AD변환기를 통해 수동 조작 컨트롤러가 연결시켰다. 또한 DA컨버터, 신호 변환 회로를 통해 무선 송신기가 연결되어있다.

이미지 처리 PC에는 두 개의 카메라가 연결된 이미지 처리를 한다. 제어용 PC와 화상 처리 PC는 UDP(User Datagram Protocol) 통신을 통해 상호정보를 교환할 수 있다. 수동 조작 컨트롤러는 쿼드콥터 자세 상태를 보정하기 위해 사용하도록 하였다.

유도 비행제어를 위하여 시스템 전체에 대한 신호처리에 대한 기법을 설명하도록 한다. 우선 제어용 PC는 이전 시간에 획득 및 저장된 쿼드콥터의 위치 정보로부터 특징점 추출과 이미지에서 위치 및 크기를 추정하고, 각각의 이미지 처리 PC로 전송한다. 이미지 처리 PC 카메라에서 캡처된 이미지에 대해 이미지 특징점을 계산하고 결과를 제어용 PC에 전송한다. 제어용 PC는 이미지 처리 PC에서 정보를 바탕으로 쿼드콥터의 위치를 계산한다. 위치 정보로부터 제어 입력을 결정하고, DA컨버터, 신호 변환 회로 및 무선 송신기를 통해 쿼드콥터로 제어 신호를 전송하게 된다.

2.2 딥러닝 기반 알고리즘

딥러닝 기반 탐지 알고리즘은 단일 프레임을 대상으로 객체 탐지를 수행한다. 하지만 이러한 딥러닝 기반 탐지 알고리즘은 여러 단계의 레이어를 거쳐서 나온 특징 맵을 기반으로 경계 박스를 예측하기 때문에 위치 예측이 부정확할 수 있고, 단일 프레임에서만 탐지를 수행하므로 잡음에 의한 탐지 실패 확률이 높아질 수 있다. 본 연구에서는 객체와 카메라의 움직임을 선형이라고 가정하여 쿼드콥터의 움직임을 궤적 정보로 사용한다. 탐지되지 않아도 연속 프레임 간의 객체 움직임 정보를 반영하여 쿼드콥터의 호버링 제어를 높일 방법을 제안한다.

본 논문에서는 쿼드콥터의 호버링 정확도를 높이기 위해 객체 탐지에 주로 활용되는 CNN 기반 탐지 네트워크인 YOLO v2를 사용하였다. 시스템의 전체 구성도는 그림 3과 같다. 입력 영상과 사전에 학습된 데이터를 입력받고, 이는 쿼드콥터의 객체 탐지를 위해 YOLO v2 시스템에 입력으로 들어간다. 원하는 대상 객체가 성공적으로 탐지된다면 출력 값으로 탐지 결과의 좌표 값이 나오게 된다. 그 후, 그림 3과 같이 객체 중심을 계산하여 다시 특징점을 추출하게 된다.

SOOOB6_2020_v23n2_2_263_f0003.png 이미지

Fig. 3 Feature point extraction algorithms

본 연구에서는 HSV(Hue, Saturation, Value) 표색계의 색상 값을 이용하여 특징점을 검출한다. 색상 값은 조명 변화에 강건한 매개 변수이며, 색의 색조를 나타내고 있다. 쿼드콥터에 설치된 카메라에서 입력된 색상 값을 조사한 결과, 붉은색의 출현 빈도가 낮기 때문에 실내 환경을 붉은색으로 설정하였다.

특징점 탐색 영역 내의 특징점의 중심 위치를 계산하고 다음 프레임에서 특징점 탐색 영역의 중심 위치로 함으로써 특징점을 검출 계속한다. 만약 탐지단계에서 실패한다면 이전에 성공했던 탐지 결과 값을 기반으로 예측을 통해 나온 궤적 정보를 받아와 이전의 탐지 결과와 더해져 최종 추적 결과를 출력한다. 탐지 성공은 YOLO v2 네트워크에서 나온 결과인 confidence 값이 Th값보다 더 크면 탐지가 성공했다고 판단한다. Th값은 실험을 통해 0.4로 설정했다.

2.2.1 채도 기반 배경 차영상

취득 이미지와 배경 이미지를 HSV 표색계의 채도 정보에서 배경 차영상을 실시한다. 채도는 색의 채도와 부피를 나타내는 파라미터이다. 채도를 이용한 배경과 차분배경에서 비슷한 색상을 가진 영역을 특징점으로 오인하는 것을 완화하기 위해 실시한다. 취득 이미지와 배경 이미지의 특징점 탐색영역에서 각 화소의 채도의 차이를 구한다. 그 차이가 사전에 설정한 차등 Th값 이상의 화소 정보를 유지하고 다른 화소는 특징점가 아니라고 결정한다. 그림 4에서 채도기반 배경 차영상 방법에 따른 이미지의 진행상황을 나타내고 있다.

SOOOB6_2020_v23n2_2_263_f0004.png 이미지

Fig. 4 Process of feature image processing

2.2.2 색상에 의한 이진화 및 노이즈제거

색상에 의한 이진화는 채도를 이용한 배경의 차분을 마치고 정보가 유지되는 화소에 대하여 색상에 의한 이진화를 수행한다. 특징점 탐색영역의 다른 픽셀은 모두 검은색으로 변환한다. 사전에 특징점의 색상이 취할 수 있는 범위를 결정해 두고, 그 범위의 색상을 갖는 화소를 특징점으로 인식한다. 특징점으로 인식된 픽셀은 흰색으로 다른 픽셀은 검정으로 이진화한다. 그림 4의 ③이 이진화 한 후 노이즈 제거 이미지이다.

이진화에 의해서 발생되는 노이즈를 제거에 있어서, 본 실험에서 특징점으로 인식되고 있는 픽셀을 붉은색으로 하고 일부 붉은색 노이즈가 포함되고 있다. 이것을 제거하기 위해 클로징 노이즈 제거 방법을 사용하였다. 클로징은 우선 붉은 화소를 팽창시켜 백색 노이즈를 축소한 다음 붉은 화소를 원래 크기로 수축하는 방법이다.

2.2.3 객체중심 계산

노이즈 제거를 거친 2진화 영상에서 특징점으로 인식되고, 탐지 성공은 YOLO v2 네트워크에서 나온 결과가 Th값보다 더 크면 탐지가 성공했다고 계산하여 특징점의 중심 위치를 구하게 된다.

3. 실험환경

3.1 영상입력 장치

본 실험에 적용된 무선카메라RC-12 및 환격은 아래의 그림 5와 같다. 해상도 320x240[pixel]의 8bit 컬러 스케일 이미지를 최대 30[fps] 프레임의 처리속도가 가능한 CMOS 카메라이다. 무선카메라는 수신기 AT-2620AVS 사이에서 무선 통신을 수행함으로써 이미지를 수신하게 된다.

SOOOB6_2020_v23n2_2_263_f0005.png 이미지

Fig. 5 Camera system

수신기의 비디오 입출력 단자를 통해서 탑재된 카메라용 PC에 출력하게 된다. 제어용 PC와 UDP통신은 그림 5와 같은 형태로 구성하였다.

3.2 카메라 좌표계

본 실험에서 외부 카메라의 모니터링에 의해 매 시간별로 쿼드콥터의 3차원 위치 (x, y, z)와 자세 𝜃(yaw축)을 구하게 된다.

아래의 그림 6에서 x축의 양의 방향을 정면(𝜃=0)으로 했을 때, 중심위치 (x, y)로 부터 음의 y방향으로 5[cm]의 위치의 기체의 바로 밑부분에 카메라를 장착하고 있다. 따라서 실제 환경에서 특정한 자세 𝜃에 대한 장착 카메라의 3차원 위치 (x0, y0, z0)는 식(1)∼(3)과 같이 구할 수 있다.

x0 = x - 0.05sin𝜃        (1)

y0 = y - 0.05cos𝜃       (2)

z0 = z      (3)

SOOOB6_2020_v23n2_2_263_f0006.png 이미지

Fig. 6 Coordinate position of camera and quadcopter

쿼드콥터는 수평 안정화 장치에 의해 거의 수평으로 유지되고 하였다. 따라서 장착 카메라에서 취득하는 이미지는 실제 환경에서 (x0, y0, 0)을 중심으로 하여 투영되게 하였다.

쿼드콥터의 비행 높이 z가 높아짐에 따라서 투영 이미지의 스케일은 비례적으로 작아지게 된다. 따라서 장착 카메라의 높이 z0를 알면 이미지의 스케일을 아래와 같이 결정할 수 있다.

Scale Image = 400.00z0 + 640.00       (4)

이 식은 실험적으로 구한 식이다. 자세가 𝜃의 값일 때 이미지는 𝜃로 기울어 져 있는 것을 착안할 수 있으므로 이미지 내의 임의의 (X, Y) 위치로 표시되는 실제 환경상의 좌표 (Xw,Yw)는 카메라의 3차원 위치 (x0, y0)을 이용하여 (5)∼(6)과 같이 구할 수 있다.

Xw = (X - 160) / Scale Image + x0,       (5)

Yw = (Y - 120) / Scale Image + y0       (6)

4. 실험

본 실험에서 사용된 쿼드콥터의 제원을 표 1에 나타내었다. 카메라에서 얻은 이미지에 특징점을 시각화한 예를 그림 7과 같이 나타내었다.

표 1. Basic Specification

SOOOB6_2020_v23n2_2_263_t0001.png 이미지

SOOOB6_2020_v23n2_2_263_f0007.png 이미지

Fig. 7 Captured image and feature points

쿼드콥터를 이용하여 자율 모드에서의 특징점을 주시한 상태에서의 호버링 성능을 평가를 실시하였다. 우선, 3차원 공간상에서 실내 0.6m x 0.6m의 영역을 만들고 벽면에는 붉은색 정보를 가진 박스를 마련했다.

하나는 붉은색 특징점이 명확히 존재하는 환경으로 붉은 박스를 겹쳐놓은 경우와 다른 하나는 붉은색 특징점이 적은 환경으로 책장에 꽂혀 있는 서적의 색상으로 인식할 수 있도록 했다. 실제로 쿼드콥터를 호버링했을 때의 이미지 센서에서 이미지를 그림 8과 같다. 각각의 환경에서 특징점 검출 수를 평균하면 왼쪽은 76개, 오른쪽은 24개의 특징 마크가 검출되었다.

SOOOB6_2020_v23n2_2_263_f0008.png 이미지

Fig. 8 Captured images in the environment

다음은 자율 비행모드의 호버링 상태에 들어가기 전에 일정한 고도를 유지하기까지 수동모드로 조종하여 기체를 30초 자율비행모드로 유지했다. 해당 영역에서 지속적인 호버링이 유지되면 성공으로 간주하였고, 그렇지 않은 경우는 실패로 처리하여 각각 10회씩의 실험을 반복하였다.

또한 쿼드콥터의 자기위치 추정은 제어기 및 CPU의 성능에 따라 차이를 보였다. 앞에서 제시한 2개의 환경과 자율비행모드에 들어간 순간에 얻은 이미지 3장에서의 특징점 대응관계를 이용하여 계산한 결과는 표 2와 같다. 여기서 두 환경의 대응 관계에 성공했을 때를 (sen=1)으로, 자율비행모드에 들어간 순간에 획득한 이미지에 대한 성공했을 때를 (se0=1)로 하였다. 실험 결과에 따른 쿼드콥터의 위치는 그림 9와 같다.

표 2. Repeatability Performance

SOOOB6_2020_v23n2_2_263_t0002.png 이미지

SOOOB6_2020_v23n2_2_263_f0009.png 이미지

Fig. 9 Estimated position

표 2에서 제시한 실험결과로부터 특징점이 많은 환경에서는 90%로 안정된 수평 피드백 제어가 이루어지고 있는 반면, 특징점이 적은 환경에서는 성공률이 40%인 것을 알 수 있다. 이러한 원인은 특징점이 적은 환경에서 자율비행모드로 들어간 순간에 얻은 이미지의 대응관계 성공률이 낮아 추정 오차를 보정하는 효과가 거의 없기 때문이다. 자기 위치 추정오차가 시간 경과에 따라 증가함으로써 안정성이 낮아짐을 알 수 있다.

이러한 문제의 개선을 위해서는 대응관계의 계산을 입력영상 프레임 기반으로 하기보다 많은 특징점을 기반으로 할 필요가 있다. 즉, 하드웨어적인 성능기반으로 영상정보 처리능력을 향상시키거나 환경의 특징점을 명확히 구분할 필요가 있다.

5. 결론

본 연구에서는 안정적인 호버링을 위하여 소형 쿼드콥터 기체에서 구현한 하드웨어 및 소프트웨어의 개요 및 지상 제어장치를 중심으로 특징점 인식에 따른 호버링에 대한 실험결과와 성능평가를 제시하였다. 또한 딥러닝을 통한 이미지 특징점 추출을 위해 YOLO v2 네트워크에서 나온 결과를 활용하였다.

이러한 성능 측정 실험을 통해 CNN을 통한 특징점을 기반으로 호버링 제어 알고리즘이 유효함을 알 수 있었다. 향후 이진화를 하지 않고 입력 영상 기반의 특징점 추출 및 자율비행에 관한 연구가 계속될 예정이다.

References

  1. E. H. Sun, T. H. Luat, D. Y. KIm, and Y. T. KIm, "A Study on the Image-based Automatic Flight Control of Mini Drone," Korea Institute of Intelligent Systems, vol. 25, no. 6, pp. 536-541, (2015). https://doi.org/10.5391/JKIIS.2015.25.6.536
  2. D. Mellinger and V. Kumar, "Minimum snap trajectory generation and control for quadrotors," in IEEE International Conference on Robotics and Automation, pp. 2520-2525, (2011).
  3. M. Hehn and R. D 'Andrea, "A Flying inverted pendulum," in Proceedings of the IEEE International Conference on Robotics and Automation, (2011).
  4. P. Bouard, A. Aswani, and C. Tomlin, "Learning based model predictive control on a quadrotor: Onboard implementation and experimental results," IEEE International Conference in Robotics and Automation (ICRA), pp. 279-284, (2012).
  5. J. O. Park, J. H. Sul, S. C. Kim, and Y. D. Lim, "Flight Attitude Control of using a Fuzzy Controller, "Korea Institute of Intelligent Systems, vol. 13, no. 1, pp. 91-96, (2003). https://doi.org/10.5391/JKIIS.2003.13.1.091
  6. D. R. Kim, D. M. Kim, and J. Y. Suk, "Vision Processing for Precision Autonomous Landing Approach of an Unmanned Helicopter," Journal of Institute of Control, Robotics and Systems, vol.15, no.1, pp. 54-60, (2009). https://doi.org/10.5302/J.ICROS.2009.15.1.054
  7. H. J. Han, T. S. Jin, "Dynamic Modeling based Flight Cont rol of Hexa-Rot or Helicopt er S ystem," Korea Institute of Intelligent Systems, vol. 25, no. 4, pp. 398-404, (2015). https://doi.org/10.5391/JKIIS.2015.25.4.398
  8. M. G. Yoo, and S. K. Hong, "Target Tracking Control of a Quadrotor UAV using Vision Sensor," Journal of the Korean Society for Aeronautical and Space Sciences, vol.40, no.2, pp. 118-128, (2012) https://doi.org/10.5139/JKSAS.2012.40.2.118
  9. D. Y. Yun, and S. H. Kim, "A Design of Fire Monitoring System Based On Unmaned Helicopter and Sensor Network, "Korea Institute of Intelligent Systems, vol. 17, no. 2, pp. 173-178, (2007). https://doi.org/10.5391/JKIIS.2007.17.2.173
  10. S. Y. Kang, and T. S. Jin, "Performance Enhancement of the Attitude Estimation using Small Quadrotor by Vision-based Marker Tracking," Korea Institute of Intelligent Systems, vol. 25, no. 10, pp. 445-450, (2015).
  11. T. S. Jin, "Fuzzy Inference Based Collision Free Navigation of a Mobile Robot using Sensor Fusion," Journal of the Korean Society of Industry Convergence, v.ol.21 no.2, pp.95- 101, (2018)
  12. S. C. Jang, C.M. Seo, M.S. Kwen, J.P. Eom, H.C. Jung, "Design and Basic Performance Test of 4 Inch QC/DC Bellows for LNG Bunkering," Journal of the Korean Society of Industry Convergence, vol.22 no.2, pp.81-86, (2019) https://doi.org/10.21289/KSIC.2019.22.2.81
  13. B. Y. Yun, W. S. Y, "A Study on the Improvement of Orthophoto Accuracy According to the Flight Photographing Technique and GCP Location Distance in Orthophoto Generation Using UAV," Journal of the Korean Society of Industry Convergence, vol.21 no.6, pp.345-354, (2018) https://doi.org/10.21289/KSIC.2018.21.6.345
  14. T. S. Jin, "Onboard Active Vision Based Hovering Control for Quadcopter in Indoor Environments," Journal of the Korean Society of Industry Convergence, vol.20 no.1, pp.19- 26, (2017) https://doi.org/10.21289/KSIC.2017.20.1.019