무인 항공기의 이동체 상부로의 영상 기반 자동 착륙 시스템
© Korea Robotics Society. All rights reserved.
Abstract
Flight of an autonomous unmanned aerial vehicle (UAV) generally consists of four steps; take-off, ascent, descent, and finally landing. Among them, autonomous landing is a challenging task due to high risks and reliability problem. In case the landing site where the UAV is supposed to land is moving or oscillating, the situation becomes more unpredictable and it is far more difficult than landing on a stationary site. For these reasons, the accurate and precise control is required for an autonomous landing system of a UAV on top of a moving vehicle which is rolling or oscillating while moving. In this paper, a vision-only based landing algorithm using dynamic gimbal control is proposed. The conventional camera systems which are applied to the previous studies are fixed as downward facing or forward facing. The main disadvantage of these system is a narrow field of view (FOV). By controlling the gimbal to track the target dynamically, this problem can be ameliorated. Furthermore, the system helps the UAV follow the target faster than using only a fixed camera. With the artificial tag on a landing pad, the relative position and orientation of the UAV are acquired, and those estimated poses are used for gimbal control and UAV control for safe and stable landing on a moving vehicle. The outdoor experimental results show that this vision-based algorithm performs fairly well and can be applied to real situations.
Keywords:
Unmanned Aerial Vehicle, Finite Element Analysis, Autonomous Landing, Gimbal, Autonomous system1. 서 론
최근 무인 항공기는 연구, 감시, 농업, 군사 등 다양한 목적으로 더욱 활발히 이용되고 있다. 그 형태로는 크게 고정익 무인기와 회전익 무인기로 나눌 수 있는데, 회전익 무인기의 경우 에너지 효율성 면에서는 고정익 무인기에 비해 다소 떨어지지만 활주로 없이 이륙과 착륙이 가능하며 특정 지역 위에 호버링이 가능해 모니터링의 용도로 유용하 다. 이러한 장점으로 인해 현재 회전익 무인기의 어플리케 이션 연구들이 활발히 진행되고 있다.
무인 항공기의 비행은 보통 이륙, 상승, 하강, 그리 고 착륙과 같이 4단계로 이루어져 있다. 대부분의 상업용 무인 항공기들은 높은 위험성과 낮은 신뢰도로 인해 자동 착륙이 제한되어 있는 경우가 많다. 자동 착륙을 위해 높은 정확성 과 정밀성이 요구되는데 그렇지 않으면 무인 항공기는 추락 할 수도 있다. 그 예로 미 육군에 의해 운용되는 무인 항공기 의 사고 중 50%가 착륙 과정 중에 일어난다고 한다[1]. Fig. 1은 실제 무인 항공기의 착륙 과정 중 일어난 사고를 보여준 다. 착륙은 아주 제한된 시간과 공간 내에서 진행이 되어야 한다. 특히, 해양 환경에서의 시나리오에서는 무인 항공기 가 자동 착륙하여야 하는 선박 갑판의 움직임이 예측 불가 능하고, 파도와 조류 그리고 다른 외란들 때문에 단순히 평지에 착륙하는 것보다 대단히 어렵다. 갑작스런 선박의 움직임이나 흔들리는 선박의 움직임 때문에 무인 항공기가 착륙하기에 착륙 지점의 자세가 적절하지 않게 된다. 선박 위로의 착륙뿐만 아니라 움직이는 이동체 위로의 착륙도 비슷한 어려움을 가지고 있다. 이러한 이유들 때문에 정확 하고 정밀한 착륙 제어가 요구된다.
영상 기반 착륙은 움직이는 이동체나 선박 같이 착륙 지 점을 정확하게 알 수 없거나 일정한 장소에 정지하여 있지 않은 지점에 착륙하기 위한 방법으로 적합하다. 회전익 무 인기의 자동 착륙에 관해 많은 연구가 진행되었다[2]. 착륙 지점의 발견(detection)과 추적(tracking) 그리고 착륙을 위 한 영상 기반 제어 기술 또한 많은 연구가 진행되고 있다. 움직이는 이동체 위로의 영상 기반 착륙에 관한 초기 연구 로 착륙 지점을 실시간으로 추종하는 기술이 개발되었다[3]. 또한 [4]에서는 다중 시점 기하학(multiple view geometry) 에 기반한 영상 처리 알고리즘을 개발하여 사전에 알고 있 는 타겟의 발견과 타겟과의 상대적인 위치(position)와 자세 (orientation)를 계산하였다. [5]에서는 H 모양의 착륙 지점 에 자동 착륙하는 기술을 개발하였는데, 이미지 모멘트 기 반 알고리즘을 사용하여 착륙 지점을 발견하고 무인기의 자세를 추정하였다. 또한 추가적인 이미지 처리를 통하여 바이너리(binary) 이미지로부터 착륙 지점의 위치를 추출하 였다. 전방향 카메라(omni-directional camera)를 사용하여 회전익 항공기를 착륙시킨 연구도 진행되었다[6]. 최근엔 [7] 과 같이 AprilTags[8] 기반 착륙 시스템에 관해 연구가 진행 되었는데 정확한 상대적인 자세 추정을 위해 다양한 외란들을 고려하여 제어기를 구성하였지만, 아래를 보는(downward facing) 카메라 하나만을 장착하여 무인기가 타겟 가까이에 접근을 하면 타겟 추종 제어가 어려워지고 또 빠르게 이동하 는 이동체 위로 착륙하는 데에도 어려움이 있다.
본 논문은 Fig. 2과 같이 흔들리고 진동이 있는 이동체 위로의 무인 항공기의 영상 기반 자동 착륙 알고리즘을 제 안하고자 한다(예: 해파리퇴치로봇[9]의 해파리 인식 드론 시스템). 짐벌 시스템을 다이나믹하게 제어함으로써 기존 영상 기반 무인기 시스템이 가지고 있던 시야각(field of view, FOV) 의 한계를 해결할 수 있고, 또 무인 항공기의 타겟을 추종하는 속도 역시 고정된 카메라를 사용하는 것보 다 빠르며, 타겟을 놓치는 상황도 줄일 수 있다. 본 논문에서 는 인공 마커인 AprilTag를 사용하여 무인기가 착륙 과정 중에 상대적인 위치와 자세를 피드백 받아 제어를 하도록 하였다. 최종적으로 짐벌을 컨트롤하여 영상 기반 착륙 시 스템을 이전의 연구들보다 더 안정적이고 안전할 뿐만 아니 라 더 빠르게 하는 것에 목표를 두었다.
2절에서는 짐벌을 컨트롤 하기 위한 좌표계 설정과 타겟 추적, 그리고 추종 컨트롤에 대해 설명하였고, 3절에서는 짐벌 컨트롤 결과와 움직이는 이동체 추종, 정지된 마커 위로의 착륙, 그리고 움직이는 마커 위로의 착륙 실험을 통해 검증하였다.
2. 짐벌 컨트롤(Gimbal Control)
2.1 AprilTag
영상 기반 시스템에서 많이 사용되는 인공 마커(artificial marker)는 쉽게 인식이 되어야 하고, 인덱스(index)가 서로 다른 마커끼리 쉽게 구별이 되어야 한다. QR 코드, ARTag, 그리고 AprilTag 등 다양한 인공 마커들이 있지만, 본 논문 에서는 빠르고 강인한 직선 검출(line detection)이 가능하 고 이미지 겹침과 왜곡에 강인한 AprilTag를 사용하였다. 카메라 캘리브레이션이 되어 있고, AprilTag의 크기와 종류 를 알고 있다면, 카메라와 태그 사이의 좌표 변환을 통해 상대적인 위치와 자세를 알 수 있다. 본 논문에서는 리눅스 에서 ROS (Robot Operating System)를 이용하여 자체 개 발한 소스 package를 통해 쿼드로터 무인기를 제어하고, 또 AprilTag ROS package[10]를 영상 처리에 사용하였다. 실제 실험에서 39 cm × 39cm크기의 36h11 AprilTag와 6 cm × 6 cm크기의 16h5 AprilTag 7개를 Fig. 3과 같이 착륙 패드에 부착하여 사용하였다. 36h11의 Tag를 사용하여 최대 5 m에서 최소 0.7 m 높이에서 인식할 수 있음을 확인하였고, 0.7 m 이하부터는 16h5의 AprilTag를 사용하여 정확한 착륙 을 할 수 있도록 착륙 패드를 제작하였다. 7개의 작은 AprilTag를 사용하여 낮은 고도에서도 타겟의 빠른 움직임 을 추종할 수 있도록 하였다.
2.2 좌표계 설정 및 변환
본 연구에서 사용된 좌표계는 Fig. 4와 같이 동체 좌표계, 짐벌 좌표계, 카메라 좌표계, 마커 좌표계가 있다. 각각에서 의 변환을 통해 구한 방향 코사인 행렬(Direction Cosine Matrice)을 사용하여 동체로부터의 타겟 마커까지의 스케 일링된 방향 벡터를 식 (1)과 같이 쓸 수 있다.
(1) |
2.3 타겟 추적(Target tracking)
짐벌은 무인기가 흔들려도 카메라를 안정적으로 만들어 주어 깨끗하고 정확한 이미지를 획득할 수 있게 해주므로 무인기 시스템에 필수적인 장치이다. 본 연구에 사용된 짐 벌 카메라 시스템은 DJI 사의 X3 제품으로 3축으로 움직임 으로써 시야각이 더 넓어져 고정된 카메라로 볼 수 없었던 사각지대도 Fig. 5와 같이 줄어들게 된다.
식 (1)에서 구한 타겟 마커의 방향 벡터로 목표물을 이미지 중심으로 옮기기 위한 짐벌의 피치(pitch)각과 요(yaw)각을 계산할 수 있다. Fig. 5와 같이 이미지 중심과 타겟 마커의 중심 간의 차이를 dx, dy라 하고, dz 를 카메라로부터 마커까지 의 거리라고 하였을 때, 삼각 함수의 관계를 통해 식 (2)와 같이 짐벌의 각도가 계산되게 된다. 최종적으론 PID (Proportional- Integral-Derivative) 제어기를 통해 짐벌을 컨트롤하게 된다.
(2) |
이 때 와 로 정의하고 k는 각각 게인(gain)값이라 한다면 PID 제어기는 다음 식 (3)과 같이 쓸 수 있다.
(3) |
여기서 ωθ와 ωΨ는 짐벌의 pitch와 yaw각으로의 각속도 이다.
2.4 타겟 추종(Target following)
무인기가 움직이면서 타겟을 정확하고 빠르게 추종하기 위해서는 Fig. 7과 같이 동체가 마커로부터 실제 떨어진 거리를 알아야 한다. 동체의 x축 방향으로 떨어진 거리를 dxt, y축 방향으로 떨어진 거리를 dyt라 하였을 때 각각을 식 (4)와 같이 구할 수 있다.
(4) |
여기서 l 은 카메라가 장착된 위치와 무인기 동체의 중심 사이의 거리로 정의하였다. 이 때, 무인기와 지면은 항상 평행하다고 가정한다.
AprilTag로부터 구해진 6-자유도를 가지고, 타겟을 추 종하기 위한 제어기를 구성할 수 있다. 우선 선형변위 (translation)와 회전(rotation) 오차를 다음과 같이 정의할 수 있다.
위 오차를 가지고 속도 제어를 위한 PID 제어기를 아래 식 (5)와 같이 구성할 수 있다.
(5) |
υx 와 υϕ의 합이 동체 좌표계에서의 x축으로의 속도 입력 값이 되고, υy와 υθ 의 합이 y축으로의 속도 입력 값이 된다. 선형(translation)과 회전(rotation) 속도의 가중치를 상황에 따라 설정하여 동체 속도 입력 값으로 한다. 빠른 추종을 위해선 선형 속도에 가중치를 더 크게 두고, 느리지만 정확 하고 정밀한 추종을 위해선 회전 속도에 가중치를 크게 두 어 제어할 수 있다.
3. 실험 및 결과(Experiments and Results)
3절의 결과는 다이나믹 짐벌 컨트롤, 타겟 추종 컨트롤, 그리고 마지막으로 움직이는 타겟 위로의 착륙 이렇게 세 개의 파트로 나누어져 있다. 테스트는 DJI사의 Matrice100 쿼드로터(Fig. 8)를 사용하여 진행되었다. 영상 처리와 수식 계산들은 DJI사의 Manifold PC에서 처리하였다.
3.1 다이나믹 짐벌 컨트롤
2.3절에서 설명한 짐벌 제어기로 카메라로부터 3 m 떨어 진 곳에서 아래 Fig. 9와 같은 테스트를 진행하였다.
Fig. 10에서 AprilTag의 움직임에 따라 짐벌은 약 10 ms정 도의 delay를 갖고 추적함을 알 수 있다.
3.2 타겟 추종(target following)
움직이는 차량의 추종 실험을 위해 Fig. 11처럼 차량을 10~15 km/h의 속도로 주행하였다. 무인기의 높이는 마커 로부터 5 m로 유지하게끔 하였고, 직선 및 곡선 구간을 추종함을 보였다. Fig. 12의 (a)와 (b)에서 동체의 y축으로 의 속도와 AprilTag의 x축으로의 translation, pitch 각과의 경향성을 볼 수 있고, (c)와 (d)에서는 동체의 x축으로의 속도와 AprilTag의 y축으로의 translation, roll 각과의 경향 성을 볼 수 있다.
4. 결 론
본 연구에서는 쿼드로터 형태의 무인 항공기의 움직이는 이동체 위로의 착륙을 위한 영상 기반의 제어 기법들을 다루었 다. 고정된 카메라가 가지고 있던 단점이던 시야각과 부정확 한 영상 데이터 등의 문제를 다이나믹하게 움직이는 짐벌을 사용하여 해결하였다. 짐벌에 달린 카메라를 타겟을 추적하는 데 효과적으로 사용하고, 또 타겟을 추종하는 데에 있어서도 더 빠르고 정확하게 추정함을 확인할 수 있었고 또한 추종에 이은 착륙 과정도 검증하였다. 무인기 속도 제어의 두 개의 입력 값의 가중치를 상황에 따라 바꿔가며 알맞은 착륙을 유도 할 수 있었다. 그러나 2 m/s 이상의 속력으로 빠르게 움직이는 이동체 위에 착륙시 랜딩 기어 부분이 충격을 받아 동체가 착륙 마커 위에서 튕겨져 나오는 경우가 발생하였다. 추후 연 구에서는 착륙시 충격량 감소를 위해 랜딩 기어 부분에 스프링 -댐퍼와 같은 시스템을 추가적으로 장착하여 부드럽게 착륙할 수 있도록 개선할 것이다.
Acknowledgments
This work was supported in part by the National Research Foundation of Korea grant funded by the Korea government(MSIP) (NRF-2015R1A2A1A15056262), and in part by the Robot Industrial Cluster Construction Program through the Ministry of Trade, Industry and Energy and Korea Institute for Advancement of Technology. The students are financially supported by Korea Minister of Ministry of Land, Infrastructure and Transport (MOLIT) under U-City Master and Doctor Course Grant Program.
References
- S. D. Manning C. E. Rash, P. A. LeDuc, R. K. Noback, and J. McKeon, “The role of human causal factors in us army unmanned aerial vehicle accidents,” DTIC Document, Tech. Rep., 2004 [https://doi.org/10.21236/ADA421592]
- V. Kumar and N. Michael, “Opportunities and challenge with autonomous micro aerial vehicles,” The International Journal of Robotics Research, vol.31, no.11, pp.1279-1291, 2012. [https://doi.org/10.1177/0278364912455954]
- C.S. Sharp, O. Shakernia, and S.S. Sastry, “A vision system for landing an unmanned aerial vehicle,” in Proc. IEEE International Conference on Robotics and Automation (ICRA), vol.2, pp.1720-1727, 2001.
- O. Shakernia, R. Vidal, C.S. Sharp, Y. Ma, and S. Sastry, “Multiple view motion estimation and control for landing an unmanned aerial vehicle,” in Proc. IEEE International Conference on Robotics and Automation (ICRA), vol.3, pp.2793-2798, 2002.
- S. Saripalli, J.E. Montgomery, and G.S. Sukhatme, “Vision-based autonomous landing of an unmanned aerial vehicle,” in Proc. IEEE International Conference on Robotics and Automation (ICRA), vol.3, pp.2799-2804, 2002.
- J. Kim, Y. Jung, D. Lee, and D.H. Shim, “Outdoor autonomous landing on a moving platform for quadrotors using an omnidirectional camera,” in Proc. IEEE International Conference on Unmanned Aircraft Systems (ICUAS), pp.1243-1252, 2014. [https://doi.org/10.1109/ICUAS.2014.6842381]
- K. Ling, D. Chow, A. Das, and S.L. Waslander, “Autonomous maritime landing for low-cost vtol aerial vehicle,” in Proc. IEEE Canadian Conference on Computer and Robot Vision (CRV), pp.32-39, 2014. [https://doi.org/10.1109/CRV.2014.13]
- E. Olson, “AprilTag: A robust and flexible visual fiducial system,” in Proc. IEEE International Conference on Robotics and Automation (ICRA), pp.3400-3407, 2011. [https://doi.org/10.1109/ICRA.2011.5979561]
- D. Kim, J. Shin, H. Kim, H. Kim, D. Lee, S.-M. Lee, and H. Myung, “Design and Implementation of Unmanned Surface Vehicle JEROS for Jellyfish Removal,” Journal of KROS (Korea Robotics Society) (in Korean), vol.8, no.1, pp.51-57, March, 2013. [https://doi.org/10.7746/jkros.2013.8.1.051]
- AprilTags_ros, 2014. [Online]. Available: http://wiki.ros.org/apriltags_ros, Accessed on: Nov. 1, 2016.
2014 충남대학교 메카트로닉스공학과
2016 KAIST 로봇공학학제 전공 석사
2016~현재 KAIST 건설 및 환경공학과 박사 과정
관심분야: 비행 로봇 및 수상 로봇
2012 경희대학교 전자공학과
2014 KAIST 건설 및 환경공학과 석사
2014~현재 KAIST 건설 및 환경공학과 박사 과정
관심분야: 로봇 네비게이션 및 로봇 비전