TLD 영상 추적 기법을 이용한 드론과 이동 로봇의 협업 시스템
초록
생산성과 인건비를 줄이기 위해 드론을 사용하는 운송 산업이 촉진되면서, 서로 다른 로봇과 함께 작업을 수행하는 협업 시스템이 발전하고 있다. 본 논문에서는 TLD(Tracking-Learning-Detection) 알고리즘을 사용하여 이동 로봇과 드론의 협업 시스템을 구현하고자 한다. TLD 알고리즘은 객체를 지정하면 동시에 물체를 추적하고, 그 모습을 학습한 다음 영상에 나타날 때마다 이를 탐지하는 알고리즘이며, 시간이 지남에 따라 실시간 추적이 향상되는 결과를 이루어낸다. 제안 된 시스템은 TLD 알고리즘을 사용한 드론이 이동 로봇이 들고 있는 물체의 크기 정보를 파악하고 광류를 이용하여 물체의 좌표를 얻어 협업할 수 있는 시스템이며, 실험을 통해 그 성능을 확인하였다.
Abstract
As the transportation industry uses drones to reduce productivity and labor costs, collaborative systems that work with different robots are evolving. In this paper we use a TLD(Tracking-Learning-Detection) algorithm to implement a collaboration system of mobile robots and drones. The TLD algorithm is an algorithm that tracks an object at the same time as it is specified, learns its appearance, and then detects it whenever it appears in a captured image. This results in improved real-time tracking over time. In the proposed system the drone using the TLD algorithm recognizes the size information of the objet held by the mobile robot and obtains the coordinates of the object by using the optical flow, and collaborates with the mobile robot. Its performance is verified through the experiments.
Keywords:
drone, mobile robot, collaboration system, TLD algorithmⅠ. 서 론
최근 드론을 활용하기 위한 연구가 증가하면서 군사용뿐 만 아니라 다양한 분야에서 활용되고 있다. 드론은 형태에 따라 고정익(Fixed-wing)과 회전익(Rotating-wing)으로 분류된다. 회전익 드론은 한 개 이상의 회전날개를 이용한 무인 항공기로 멀티로터로 불린다. 회전익 드론은 고정익 드론에 비해 안정성이 뛰어나고 제자리 비행이 가능하기 때문에 군사작전 시 사진 및 영상 촬영 및 감시 등의 정찰 임무를 수행할 목적으로 개발되었다[1]. 하지만 현재에는 농업용 드론, 서비스 드론, 여가용 드론 등으로 확대되어 드론을 이용한 물건의 배송 및 측량, 방역, 방제, 방송영상 촬영 등 다양한 분야에서 널리 활용되고 있다. 물건의 배송 분야에서 드론은 중국의 알리바바 미국의 아마존과 페덱스, DHL 등 다양한 기업들이 시도하여 성공적인 결과로 발표되었다[2]-[4]. 또한 자연재해 및 사고 현장, 화재 현장, 방사능 오염 지역 등 사람이 다가가기 힘든 장소에 접근하여 필요한 정보를 제공함으로써 신속하고 빠르게 조치할 수 있다[5][6].
다양한 분야에서 드론의 필요성에 따라 본 논문에서는 드론과 지상로봇의 협업 시스템을 구현하고자 한다. 드론이 지상로봇과 협업하기 위해선 로봇의 주변 환경을 획득 할 수 있는 비전센서가 필요하고 물체를 추적할 탐지 및 추적 알고리즘이 필요하다. 하지만 기존 탐지 및 추적 알고리즘 등은 물체를 추적 중에 물체의 정보와 주변 환경의 변화 또는 물체가 가리는 현상이 발생하면 추적을 놓치게 된다. 따라서 본 논문에서는 실시간으로 추적하고 변화에 대한 정보를 학습하는 Kalal 등이 제안한 TLD 알고리즘을 사용하여 지상로봇이 들고 있는 물체를 추적하여 협업 할 수 있는 시스템을 구현하였다[7]. 물체의 정보와 주변 환경의 변화 또는 가림현상에 강인한 TLD 알고리즘을 사용하므로 드론이 지상로봇이 들고 있는 물체를 실시간으로 추적할 수 있고 드론과 지상로봇이 물체를 주고받을 수 있는 위치 오차를 허용 오차 이내로 이동 시킬 수 있다.
Ⅱ. 본 론
2.1 전체 시스템 구성
그림 1은 전체 시스템 구성을 나타내며, 드론과 이동로봇으로 구성된다. 그림 1의 Pixhawk는 드론의 FC(Flight Controller)로 드론이 날 수 있게 제어하고, MCU는 Atmega128을 이용하며 이동로봇의 제어를 담당한다. Pi Cam은 드론에 부착된 비전 센서를 나타내고 영상을 획득할 수 있다. 본 논문에서는 320x240 크기의 영상을 획득한다. Raspberry Pi는 비전 센서를 통해 얻은 영상 데이터를 TLD 알고리즘을 이용하여 물체를 감지하고 드론에 내릴 명령을 MAVLINK 프로토콜로 전송한다. 또한 드론과 이동 로봇 간에 TCP/IP 통신을 이용하여 서로의 상태를 전송하여 협업을 한다.
그림 2는 본 논문에서 사용된 머니퓰레이터를 장착한 드론의 외형이다. 드론이 실내에서 자세를 유지할 수 있도록 옵티컬플로우 센서와 Lidar 센서가 부착되어 있고 드론에 명령을 내릴 Linux 보드인 Raspberry pi를 장착하였다. 또한 드론에 장착된 머니퓰레이터는 2 자유도를 가지며 드론의 Yaw 축제어를 통해 3 자유도처럼 이용된다. 관절 좌표형의 3축 머니퓰레이터의 형태를 가지게 되고 다양한 방향과 원하는 위치로 작업을 할 수 있다.
그림 3은 머니퓰레이터를 장착한 지상로봇의 외형이다. 이동로봇에 장착된 머니퓰레이터는 5개의 관절을 가지고 있으며 2개의 관절은 손목 움직임과 End Effector 동작을 위한 관절이다. 본 논문에서 지상로봇은 한 좌표에 고정되어 있으며 머니퓰레이터의 End Effector 또한 하나의 좌표에 고정하여 실험을 진행하였다.
2.2 영상처리를 통한 물체 추적
드론이 지상로봇이 가지고 있는 물체를 추적하기 위해서는 영상 정보가 필요하다. 추적할 물체에 대한 영상 정보를 획득하기 위해 드론의 전방부에 pi cam을 설치하였다. 영상 내 물체의 위치를 얻기 위해서 추적과 학습 및 탐지를 실시간으로 수행하여 보다 견고한 추적이 가능한 TLD 알고리즘을 사용하였다.
그림 4는 드론에 부착된 pi cam을 통해 얻은 영상 정보에서 물체를 추적하기 위해 사용 TLD 알고리즘의 블록 다이어그램이다, 영상에서 물체를 검출하기 위해 ferns 알고리즘을 사용하고 추적하기 위하여 광류(Optical Flow)를 사용한다. 입력 영상이 들어오면 추적기와 검출기를 동시에 사용하여 물체를 찾는다. 추적기가 성공할 경우에는 추적기가 찾은 물체 영역을 검출기의 학습 데이터로 활용하여 검출기의 성능을 증가 시켜주고, 검출기와 추적기가 찾은 영역 중 서로 다른 부분은 검출기를 학습시키기 위한 데이터로 활용된다. 만일 추적기가 실패 할 경우에는 검출기가 성공할 때까지 기다리고 검출기가 성공한 위치로 추적기를 초기화 시켜준다. 이와 같은 과정을 통해 학습시킴으로써 추적기와 검출기가 가지는 단점을 서로 보완할 수 있다. 따라서 주변 잡음에 강인하며 다른 물체에 의해 추적할 물체가 가려지더라도 다시 물체를 추적할 수 있는 장점이 있다[8].
본 논문에서는 Raspberry pi에서 OpenCv3.2를 통해 TLD 알고리즘을 구현하였다. 비전 센서를 통해 얻은 영상에서 TLD 알고리즘을 사용하여 찾은 물체의 단일 프레임 경계 크기와 중심점을 이용하여 드론이 지상로봇이 가지고 있는 물체를 추적할 수 있게 한다.
2.3 Dronekit을 이용한 Drone 제어
Dronekit은 Ardupilot 비행 컨트롤러에 접근 및 제어가 가능하게 해주는 API로서 Raspberry Pi에서 실행되고 MAVLINK를 통해 비행 컨트롤러와 통신하여 드론 동작에 대한 지능을 높이며 민감한 작업에 대한 자동 조종 기능을 크게 향상시켜준다[9]. Dronekit는 연결된 드론의 원격 측정, 상태 및 매개변수 정보에 대한 프로그래밍 방식 액세스를 할 수 있고, 사용자 정의 메시지를 전송하여 드론 이동 및 작동에 대한 클래스 및 함수를 제공한다. 본 논문에서는 GPS 데이터를 받을 수 없는 실내에서 드론을 제어하기 위해 Dronekit 내 함수 중 value.channels 함수를 이용한다. 채널은 총 5채널을 사용하며 각 채널은 1000 ~ 2000의 범위 값을 가지며, 1 ~ 4 채널 순서대로 Pitch, Roll, Throttle, Yaw 값을 제어할 수 있고, 5번 채널은 드론의 모드를 제어할 수 있다.
그림 5는 드론이 TLD 알고리즘을 통해 얻은 물체의 위치정보를 토대로 추적하는 알고리즘 순서도이다. 먼저 TLD 알고리즘을 이용하여 영상 내 물체의 단일 프레임 경계의 중심좌표와 영상의 중심좌표의 오차를 구한다. 영상 내 물체가 영상의 가운데에 위치하고 있지 않아 x축 오차가 발생하면 드론의 Yaw축을 제어하여 드론이 물체를 바라보도록 한다. 위의 과정이 완료되면 물체가 영상의 중심에 위치시키기 위해 드론의 Pitch, Roll 축을 제어하여 y축 오차를 보정한다. 이 과정에서 드론은 물체에 접근하게 되고 영상 내 물체가 중앙에 위치하고 지상로봇과의 전방 거리가 10cm가 될 때까지 제어 과정을 반복한다. 드론의 축에 대한 제어는 PID 제어를 사용했으며 제어 주기는 15ms 이다.
Ⅲ. 실험 및 결과
그림 6은 드론과 지상로봇이 협업을 할 환경의 구성이다. 실험 환경은 한 격자의 크기가 2.25m2이며 가로 7.5m, 세로 4.5m, 높이 3m의 실내 공간이다.
구성한 시스템의 성능을 검증하기 위해 드론의 영상 추적 알고리즘을 Mean Shift 알고리즘과 TLD 알고리즘 두 가지 경우에 대해서 실험을 진행하였다. 또한 영상 알고리즘을 통한 물체 추종 검증을 위해 지상로봇의 위치를 실험 환경의 우측의 상단, 중앙, 하단으로 변화 시켜 실험을 하였다. 실험은 드론을 실내 환경의 중앙을 향해 놓고 동작시키면 1m 높이만큼 이륙한다. 그 후 Dronekit을 이용한 물체 추적 알고리즘을 수행하고 물체를 옮겨 받는다.
그림 7은 Mean Shift 알고리즘과 TLD 알고리즘을 적용하였을 때 지상로봇의 위치에 따른 드론의 Yaw 축 각도의 변화이다. 그래프의 x축은 시간이며 단위는 초이다. 결과 (a)와 (c)에서 드론의 Yaw 축 각도가 물체를 바라보기 위해 변하는 것을 확인할 수 있고 결과 (b)와 같이 Yaw축 각도를 유지하며 물체를 추종하였다.
그림 8은 그림 7에서 드론이 물체를 향해 추종한 뒤 정상상태에서 드론의 Yaw 축 오차를 나타낸다. 세 방향에 대한 실험에서 물체의 방향과 드론의 Yaw 축 각도의 최대 오차율은 Mean Shift 알고리즘을 적용하였을 때 0.83%이고 TLD 알고리즘을 적용하였을 때 0.41%로 오차가 감소하였다.
드론이 물체를 향해 바라본 뒤 지상로봇과 협업하기 위해 이동할 때, 지상로봇의 위치와 드론 사이의 직선거리와 드론의 이동 경로를 비교하였으며, 그 결과는 그림 9와 같다. 지상로봇의 위치에 따라서 드론의 이동경로의 최대 오차는 Mean Shift 알고리즘을 적용하였을 때 상단부터 하단까지 5.23cm, 6.57cm, 4.46cm이고 TLD 알고리즘을 적용하였을 때 3.19cm, 4.56cm, 3.47cm의 위치 오차로 성능이 향상된 것을 확인하였다.
Ⅳ. 결론 및 향후 과제
본 논문은 TLD 영상 추적 기법을 이용하여 드론과 지상로봇의 협업 시스템을 제안하였다. TLD 알고리즘을 통해 지상로봇이 잡고 있는 물체를 인식하고 드론이 그 물체를 추적한 후 접근하여 전달받는 것을 확인하였다. 그리고 대표적인 추적 알고리즘인 Mena Shift 알고리즘을 사용했을 때 보다 정확도가 높아진 모습을 실험을 통해 확인하였다.
본 논문에서 제안한 시스템은 운송 산업에서 생산성과 인건비를 줄이기 위한 작업장이나 사람이 직접 작업하기 위험하거나 접근하기 힘든 곳에 적용하여 작업을 할 수 있을 것이다.
향후 보다 효율적인 시스템의 구현을 위해서는 아주 넓은 공간에서 드론과 지상로봇의 위치를 보다 정확하게 인식할 수 있는 시스템의 구축이 필요하다고 판단된다.
Acknowledgments
이 논문은 부경대학교 자율창의학술연구비(2017년)에 의하여 연구되었음
References
- J. H. Jin, and G. B. Lee, "Understanding and Trends of Unmanned Aircraft/Drone", The Journal of The Korean Institute of Communication Sciences, 33(2), p80-85, Jan), (2016.
- H. S Kim, and Y. H Han, "Implementation of Fail-Safe During Drone’s Flight", Journal of Korean Institute of Information Technology, 15(2), p33-40, Feb), (2017. [https://doi.org/10.14801/jkiit.2017.15.2.33]
- P. J. Kim, and H. J. Kim, "Design of an Image-Based Quadrotor Controller for Automatic Landing on Shipboard", The Korean Society For Aeronautical And Space Sciences, p442-446, Nov), (2013.
- D. H. Jeong, J. H. Yoon, and Y. T. Kim, "Fuzzy Visual Navigation Method for Autonomous Freight Transportation Robot", Advances in Intelligent Systems and Computing, 269, p71-81, (2013).
- J. Ore, S. Elbaum, A. Burgin, B. Zhao, and C. Detweiler, "Autonomous Aerial Water Sampling", Field and Service Robotics, 105, p137-151, May), (2015.
- K. U. Lee, and Y. H. Choi, "Dynamic Surface Control Based Tracking Control for a Drone Equipped with a Manipulator", The transactions of The Korean Institute of Electrical Engineers, 66(7), p1123-1130, Jul), (2017.
- Z. Kalal, K. Mikolajczyk, and J. Matas, "Tracking-learning-detection", IEEE Transactions on Pattern Analysis and Machine Intelligence, 34(7), p1409-1422, Jul), (2012.
- J. H. Hyun, H. Y. Lim, and D. S. Kang, "A Study on Tracking-Learning-Detection Algorithm and Learning Algorithm for Object Detection System Development", Journal of KIIT, 15(12), p139-145, Dec), (2017. [https://doi.org/10.14801/jkiit.2017.15.12.139]
- DroneKit by 3D Robotics, http://www.dronekit.io [accessed: Apr. 01, 2018].
2017년 2월 : 부경대학교 전자공학과(공학사)
2017년 2월 ~ 현재 : 부경대학교 전파공학과 석사과정
관심분야 : 로보틱스, 드론
1983년 2월 : 서울대학교 제어계측 공학과(공학사)
1985년 2월 : 한국과학기술원 전기 및전자공학과(공학석사)
1992년 2월 : 포항공과대학교 전자전기공학과(공학박사)
1993년 3월 ~ 현재 : 부경대학교 전자공학과 교수
관심분야 : 로보틱스, 임베디드 시스템