Implementation of Agricultural Multi-UAV System with Distributed Swarm Control Algorithm into a Simulator

분산군집제어 알고리즘 기반 농업용 멀티 UAV 시스템의 시뮬레이터 구현

  • Ju, Chanyoung (Department of Rural and Biosystems Engineering, Chonnam National University) ;
  • Park, Sungjun (Department of Rural and Biosystems Engineering, Chonnam National University) ;
  • Son, Hyoung Il (Department of Rural and Biosystems Engineering, Chonnam National University)
  • 주찬영 (전남대학교 지역.바이오시스템공학과) ;
  • 박성준 (전남대학교 지역.바이오시스템공학과) ;
  • 손형일 (전남대학교 지역.바이오시스템공학과)
  • Published : 2017.04.06

Abstract

최근 방제 및 예찰과 같은 농작업에 단일 UAV(Unmanned Aerial Vehicle)시스템이 적용되고 있지만, 가반하중과 체공시간 등 기존시스템의 문제가 점차 대두되면서 작업 시간을 보다 단축시키고 작업 효율을 극대화 할 수 있는 농업용 멀티 UAV시스템의 필요성이 증대되고 있다. 본 논문에서는 작업자가 다수의 농업용 UAV를 효과적으로 제어할 수 있는 분산군집제어 알고리즘을 제안하며 알고리즘 검증 및 평가를 위한 시뮬레이터를 소개한다. 분산군집제어는 UAV 제어 계층, VP(Virtual Point) 제어 계층, 원격제어 계층으로 이루어진 3계층 제어구조를 가진다. UAV 제어 계층에서 각 UAV는 point mass로 모델링 되는 VP의 이상적인 경로를 추종하도록 제어한다. VP 제어 계층에서 각 VP는 입력 $p_i(t)=u^c_i+u^o_i+u^{co}_i+u^h_i$-(1)을 받아 제어되는데 여기서, $u^c_i{\in}{\mathbb{R}}^3$는 VP 사이의 충돌방지제어, $u^o_i{\in}{\mathbb{R}}^3$는 장애물과의 충돌방지제어, $u^{co}_i{\in}{\mathbb{R}}^3$는 UAV 상호간의 협조제어, $u^h_i{\in}{\mathbb{R}}^3$는 작업자로부터의 원격제어명령이다. (1)의 제어입력에서 충돌방지제어는 각 $u^i_c:=-{\sum\limits_{j{\in}{\eta}_i}}{\frac {{\partial}{\phi}_{ij}^c({\parallel}p_i-p_j{\parallel})^T}{{\partial}p_i}}$-(2), $u^o_c:=-{\sum\limits_{r{\in}O_i}}{\frac {{\partial}{\phi}_{ir}^o({\parallel}p_i-p^o_r{\parallel})^T}{{\partial}p_i}}$-(3)로 정의되면 ${\phi}^c_{ij}$${\phi}^o_{ir}$는 포텐셜 함수를 나타낸다. 원격제어 계층에서 작업자는 햅틱 인터페이스를 통해 VP의 속도를 제어하게 된다. 이때 스케일변수 ${\lambda}$에 대하여 VP의 원격제어명령은 $u^t_i(t)={\lambda}q(t)$로 정의한다. UAV 시뮬레이터는 리눅스 환경에서 ROS(Robot Operating Systems)를 기반한 3차원 시뮬레이터인 Gazebo상에 구축하였으며, 마스터와 슬레이브 간의 제어 명령은 TCPROS를 통해 서로 주고받는다. UAV는 PX4 기반의 3DR Solo 모델을 사용하였으며 MAVROS를 통해 MAVLink 통신 프로토콜에 접속하여 UAV의 고도, 속도 및 가속도 등의 상태정보를 받을 수 있다. 현재 멀티 드론 시스템을 Gazebo 환경에 구축하였으며, 추후 시뮬레이터 상에 분산군집제어 알고리즘을 구현하여 검증 및 평가를 진행하고자 한다.

Keywords