KR20170123041A - 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법 - Google Patents

오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20170123041A
KR20170123041A KR1020160052176A KR20160052176A KR20170123041A KR 20170123041 A KR20170123041 A KR 20170123041A KR 1020160052176 A KR1020160052176 A KR 1020160052176A KR 20160052176 A KR20160052176 A KR 20160052176A KR 20170123041 A KR20170123041 A KR 20170123041A
Authority
KR
South Korea
Prior art keywords
web
information
mobile
command
user
Prior art date
Application number
KR1020160052176A
Other languages
English (en)
Inventor
김형우
최철웅
이양원
Original Assignee
부경대학교 산학협력단
주식회사 고산자
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 부경대학교 산학협력단, 주식회사 고산자 filed Critical 부경대학교 산학협력단
Priority to KR1020160052176A priority Critical patent/KR20170123041A/ko
Publication of KR20170123041A publication Critical patent/KR20170123041A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • H04N5/2257
    • H04N5/232
    • H04W4/008
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • B64C2201/146
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 모바일과 연결된 드론 하드웨어에 대한 명령을 생산하고 촬영을 수행하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법에 관한 것으로, 사용자가 웹 브라우저를 활용해 웹 인터페이스에 접속해 기기를 선택하고 명령 정보를 생산하여 드론(Drone) 제어를 수행할 수 있도록 제작된 오픈소스 드론 하드웨어;명령 정보를 수신해 모바일 시간에 맞춰 이동과 사진 촬영을 동기화하고 관리하는 모바일 앱;원격지에서 고유한 주소로 접속할 수 있고, 소켓 통신을 통해 웹 및 모바일 클라이언트를 접속시키고 관리하고 모바일 앱과 웹 사용자를 중개하기 위한 서버;사용자가 인터페이스를 통해 명령을 입력할 수 있는 과정을 포함하는 웹기반 인터페이스;를 포함하는 것이다.

Description

오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법{System and Method for Interchanging Messages between Open Source Drone Hardwares and Web Users and Mobile Application}
본 발명은 드론 정보 및 명령 정보 교환을 위한 시스템에 관한 것으로, 구체적으로 모바일과 연결된 드론 하드웨어에 대한 명령을 생산하고 촬영을 수행하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법에 관한 것이다.
최근 무인항공기를 지칭하는 드론 관련 산업이 미래를 이끌 신산업으로 부상하고 있다. 드론은 20세기 초에 군사용으로 개발되어 정찰·감시 및 폭격과 같은 군사임무를 수행하여 왔으나 최근 들어 독일 DHL, 아마존, 구글 등과 같은 다국적 기업들이 상업적 용도로 활용을 선언하며 연구 개발에 뛰어 들면서 그 시장이 예상보다 빨리 커지고 있다.
이와 같은 무인기는 비행체 자체로 임무를 수행할 수 없기 때문에 도 1에서와 같은 요소로 구성된다.
항공전자장비와 통신장비를 탑재하여 비행임무를 수행하는 비행체(Flight Vehicle)와, 원격제어 및 임무통제를 위한 지상통제장비(Ground Control Station)와, 지상통제장비와 통신을 위한 데이터링크(Data Link) 장비와, 임무수행을 위해 필요한 임무장비와 지상지원장비로 이루어지는 지원체계(Support System)를 포함한다.
이와 같은 무인기 핵심기술은 항법, 제어 및 하드웨어 설계/제작 기술을 기반으로 하는 것으로, 항법 시스템은 무인기의 위치, 속도 및 자세를 내장된 관성 센서 및 GPS등을 통해 알아내며 다양한 센서 융합 기술이 사용되는 부분이다.
그리고 제어 시스템은 무인기의 위치, 속도 및 자세를 사용자의 요구에 따라 동작할 수 있게 하는 부분으로 비행체에 따라 다르며 항법 시스템의 피드백을 통해 작동된다.
특히, 군용 무인기의 경우 신뢰성이 높고 정밀한 시스템을 만들기 위해 재밍(Jamming)을 비롯한 외부 위협 등에 대해 강인한 기술 개발이 필요하다.
그리고 민간 무인기의 경우 다양한 응용으로의 적용을 위한 가격, 성능 등의 특성에 대한 유연한 알고리즘 개발이 필요하고, 장애물 회피 및 충돌방지, 통신 등의 시스템 연계 기술개발이 필요하다.
일반적으로 오픈소스 기반 드론 하드웨어(Pixhawk, Ardupilot Mega) 등은 Mission Planner 등의 상용 프로그램을 통해 명령을 전달하거나 상태정보를 확인할 수 있다.
이를 위해서는 드론-GCS(Ground Control System) 간의 1:1 접속을 통해 UAV를 관제할 수 있으며 MAVLINK를 통해 드론의 이동 경로에 대한 입력 및 수정이 가능하다.
하지만 이러한 사용환경은 데스크톱 OS에 종속적이며 드론 하드웨어에서 개별적으로 제공하는 통신용 하드웨어(RF 모뎀 등)을 활용하여야 한다.
이에 따라 모바일 개발 환경(Android, iOS), 서버 개발환경(JAVA, Spring Framework, Apache Tomcat)과 HTML5 관련 기술을 활용하여 모바일과 연결된 드론 하드웨어에 대한 명령을 생산하고 촬영을 수행하는 시스템의 개발이 요구되고 있다.
특히, 종래 기술들은 지상 서버가 UAV 접속을 위한 송신 전용의 단말기를 가지며 데이터 교환을 위한 프로토콜 및 통신 제어 방법론에 대한 구체적인 항이 설정되어 있지 않다.
대한민국 공개특허 제10-2011-0101602호 대한민국 공개특허 제10-2015-0129601호 대한민국 공개특허 제10-2015-0129602호
본 발명은 이와 같은 종래 기술의 드론 제어 시스템의 문제를 해결하기 위한 것으로, 모바일과 연결된 드론 하드웨어에 대한 명령을 생산하고 촬영을 수행하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법을 제공하는데 그 목적이 있다.
본 발명은 UAV를 제어하기 위해 접속하는 방식이 클라이언트에서 서버로 통신하는 방향성을 가지며 이를 위해 모바일 앱을 포함하여 모바일에 탑재된 카메라와 이동 명령을 함께 수행하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법을 제공하는데 그 목적이 있다.
본 발명은 오픈 소스 드론 하드웨어와 결합하여 시간을 기준으로 드론의 움직임 및 모바일 촬영 시간을 동기화할 수 있는 모바일 앱과 지도상에 사용자가 특정 드론을 선택하여 촬영 명령을 생성할 수 있는 웹 기반 인터페이스, LTE 등 장거리 무선 네트워크를 활용해 소켓 연결이 가능한 지상 서버를 이용해 각 모바일 애플리케이션과 웹 클라이언트간의 데이터를 교환 할 수 있는 시스템 제시하는데 그목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템은 사용자가 웹 브라우저를 활용해 웹 인터페이스에 접속해 기기를 선택하고 명령 정보를 생산하여 드론(Drone) 제어를 수행할 수 있도록 제작된 오픈소스 드론 하드웨어;명령 정보를 수신해 모바일 시간에 맞춰 이동과 사진 촬영을 동기화하고 관리하는 모바일 앱;원격지에서 고유한 주소로 접속할 수 있고, 소켓 통신을 통해 웹 및 모바일 클라이언트를 접속시키고 관리하고 모바일 앱과 웹 사용자를 중개하기 위한 서버;사용자가 인터페이스를 통해 명령을 입력할 수 있는 과정을 포함하는 웹 기반의 사용자 인터페이스;를 포함하는 것을 특징으로 한다.
여기서, 데스크톱 환경에서 사용자가 활용 가능한 모바일 API와 오픈 소스인 JAVA 기반 MAVLink 라이브러리, 웹 브라우저 상에서 개별 스레드를 동작하고 실시간 통신을 지원하는 HTML5, 위치 및 지리 정보를 제공하고 다양한 개체를 오버레이 할 수 있는 웹 기반 지도 서비스를 포함하여, 웹 사용자가 실시간으로 접속하여 모바일 드론에 대해 명령을 생성하고 원격의 드론이 이를 수행할 수 있도록 하는 것을 특징으로 한다.
그리고 상기 모바일 앱은 개발된 애플리케이션을 동작시키는 기기로서 iOS 혹은 안드로이드 애플리케이션 등 기기 및 개발 환경을 제공하는 모든 디바이스이고, 블루투스 혹은 USB 연결을 가능케 하고 카메라 촬영이 가능한 하드웨어 및 소프트웨어가 포함되는 것을 특징으로 한다.
그리고 모바일 기기의 메인 스레드와 별도로 동작하는 스레드로 구성된 모바일 앱의 하드웨어 연결부가 오픈소스 드론 하드웨어와의 연결을 담당하며, 서로의 통신은 개발 환경에서 제공하는 USB 및 블루투스 관련 API를 통해 수행되는 것을 특징으로 한다.
그리고 상기 모바일 앱은 별도의 스레드로 구성된 명령 관리부를 포함하고,웹 사용자로부터 수신된 명령 정보를 드론 명령체계인 MAVLINK로 변환하고 시간과 좌표를 일정 시간 간격으로 반복 확인하여 해당 MAVLINK 정보를 오픈소스 드론 하드웨어에 전달하여 카메라 촬영을 수행하는 것을 특징으로 한다.
그리고 상기 모바일 앱은, 드론으로부터 수신된 상태 정보 및 웹 사용자로부터 수신된 명령을 휘발성 메모리 상에 저장하는 데이터 저장부를 포함하고,데이터 저장부는 명령 관리부와 서버 연결부에 의해 접근 가능한 것을 특징으로 한다.
그리고 상기 모바일 앱은, 드론의 귀환 좌표(경,위도), 임무 시작시간, 다수의 촬영 좌표(경,위도)를 포함하는 바이너리 명령으로 구성되는 서버로부터 전송되어 오는 명령을 관리하는 명령 관리부를 포함하고, 명령 관리부는 임무 시간이 되면 각 이동 지점의 좌표를 오픈소스 드론 하드웨어로 전송하는 것을 특징으로 한다.
그리고 각 이동 지점의 좌표를 오픈소스 드론 하드웨어로 전송하고, 이후 드론으로부터 수신되는 좌표를 확인하여 촬영 좌표와 동일한 위치일 경우 카메라 촬영을 실시하고 촬영이 완료되면 다음 장소로 이동 명령을 전달하고, 이 과정을 반복하여 마지막 촬영을 수행했을 경우, 귀환 좌표로 이동 후 착지 명령을 전송하는 것을 특징으로 한다.
그리고 상기 모바일 앱은, 고정된 주소를 이용해 서버에 소켓 통신이 가능한 별도의 스레드로 구성되며 데이터 저장부에 저장된 드론 상태 정보를 서버에 전달하는 역할을 수행하는 서버 연결부를 포함하는 것을 특징으로 한다.
그리고 서버는, 모바일 앱이 접속했을 경우, 각 모바일의 명령을 관리하는 명령 관리부와, 모바일로부터 정보를 일정 간격으로 수신하는 디바이스 정보 수신부로 구성된 디바이스 클라이언트를 생성하는 것을 특징으로 한다.
그리고 상기 명령 관리부는, 전원이 꺼질 경우 메모리가 사라지는 문제, 다수의 웹 사용자가 명령을 내릴 경우 중복된 명령에 의해 오류를 막기 위하여 DBMS(Database Management System)로 구성된 명령 저장소와 연동되는 것을 특징으로 한다.
그리고 명령 관리부는, 모바일 앱이 서버에 접속한 시간을 기점으로 명령 저장소에서 해당 드론에 해당하는 명령을 로딩 다수의 웹 사용자에서 수신되는 명령을 순차적으로 저장 및 수정하고, 명령 저장소에는 웹에서 생성되어 전달된 명령의 고유 ID, 귀환 좌표, 촬영 좌표, 명령 수행 시간을 저장할 수 있는 테이블 기반 데이터베이스가 저장되는 것을 특징으로 한다.
그리고 상기 디바이스 정보 수신부는, 별도 스레드로 구성되고 모바일 앱으로부터 전송되는 드론 상태 정보를 임시로 저장하고 웹 사용자로 전달하는 역할을 수행하는 것을 특징으로 한다.
그리고 서버는, 별도의 스레드로 구성되어 소켓 통신을 통해 접속하는 각 모바일 앱을 담당하는 개별 디바이스 클라이언트를 생성하는 모바일 앱 연결부를 포함하고, 웹 사용자가 소켓 통신을 통해 서버로 접속했을 경우, 드론과 유사하게 개별 스레드로 동작하는 웹 클라이언트를 생성하고, 웹 클라이언트는 디바이스 정보 및 웹 명령 송수신부를 통하여 드론으로부터 수신된 상태정보를 사용자 인터페이스로 전달하거나, 사용자 인터페이스로부터 수신된 명령 정보를 디바이스 클라이언트의 명령 관리부로 전달하는 것을 특징으로 한다.
그리고 사용자 인터페이스는, 상용화되거나 오픈소스로 공개된 지도 기반 웹서비스(Web Map Service)를 포함하고, 사용자가 클릭을 통해 드론의 경로를 생성하거나, 키보드 입력을 통해 드론의 고도, 임무 시작 시간을 입력한 후 중개 서버로 전달하는 역할을 수행 가능한 양방향 통신 라이브러리(WebSocket, HTML)를 포함하는 것을 특징으로 한다.
그리고 사용자 인터페이스는 실시간 통신으로 인해 발생하는 부하를 분산하기 위해 양방향 통신 라이브러리는 HTML5 표준에서 제공하는 웹 워커(Web Worker)상에서 활용되고, 웹 워커 상에서는 각 메시지에 따라 명령을 달리 수행하는 핸들러가 포함되며 메시지 전송 방향을 판별한 후 드론 위치, 드론 아이콘 제거, 드론 자세 정보, 미션 정보, 미션 제거 정보의 메시지 타입을 판별하여 중개 서버로 전달하거나 웹 인터페이스를 업데이트 하는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 방법은 사용자가 웹 브라우저를 활용해 웹 인터페이스에 접속해 기기를 선택하고 명령 정보를 생산하는 단계;모바일 앱과 웹 사용자를 중개하기 위한 서버에서 소켓 통신을 통해 웹 및 모바일 클라이언트를 접속시키고 관리하는 단계;모바일 앱에서 명령 정보를 수신해 모바일 시간에 맞춰 이동과 사진 촬영을 동기화하고 관리하는 단계;를 포함하는 것을 특징으로 한다.
이와 같은 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법은 다음과 같은 효과를 갖는다.
첫째, 모바일과 연결된 드론 하드웨어에 대한 명령을 생산하고 촬영을 수행하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템을 제공한다.
둘째, UAV를 제어하기 위해 접속하는 방식이 클라이언트에서 서버로 통신하는 방향성을 가지며 이를 위해 모바일 앱을 포함하여 모바일에 탑재된 카메라와 이동 명령을 함께 수행할 수 있다.
셋째, 오픈 소스 드론 하드웨어의 채택으로 바이트 단위의 명령을 보드에 전송하여 동작시키므로 일반 사용자가 접근하여 명령하기 까다로운 단점을 보완할 수 있다.
넷째, 다양한 드론에 대해 실시간으로 명령을 전달하고 모바일의 시간과 드론의 상태 정보를 동기화하여 모바일 카메라를 통해 고해상도 영상을 원격지에서 획득하는 것이 가능하다.
도 1은 일반적인 무인항공기의 구성도
도 2는 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템의 구성도
도 3은 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환 과정을 나타낸 구성도
이하, 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 2는 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템의 구성도이다.
그리고 도 3은 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환 과정을 나타낸 구성도이다.
최근 들어 다양한 학계 및 산업 분야에서 운용이 편리한 드론을 활용해 원격탐사를 수행한 사례가 급증하고 있다.
국외에서는 오픈소스를 기반으로 한 단일 보드 마이크로 컨트롤러인 아두이노(Arduino)를 활용해 다양한 종류의 드론(회전익, 고정익 등)을 제작할 수 있는 제품 등장하고, 그 외 현재 모바일 앱 환경은 iOS, 안드로이드 등 다양한 OS를 기반으로 출시되고 있으며 이들은 고해상도 카메라, GPS 등 관측에 활용될 수 있는 센서를 탑재하고 있을 뿐만 아니라 전국에 걸쳐 구축된 통신 인프라를 활용 가능이다.
본 발명은 이와 같이 새롭게 등장한 각 기술의 장점(오픈 소스 기반 드론의 활용성, 모바일 하드웨어의 장거리 통신 및 고해상도 카메라)을 엮어 산업 기술에 활용할 수 있는 기술 확보를 위한 것이다.
이를 위한 본 발명은 사용자가 웹 브라우저를 활용해 웹 인터페이스에 접속해 기기를 선택하고 명령 정보를 생산하는 구성, 모바일 앱과 웹 사용자를 중개하기 위한 서버에서 소켓 통신을 통해 웹 및 모바일 클라이언트를 접속시키고 관리하는 구성, 모바일 앱에서 명령 정보를 수신해 모바일 시간에 맞춰 이동과 사진 촬영을 동기화하고 관리하는 구성을 포함한다.
이와 같은 본 발명은 원격지의 사용자가 웹 기반 인터페이스를 이용한 명령을 생성-전달하는 단계 및 모바일 앱과 웹 사용자가 각각 서버에 접속해서 데이터를 교환하는 단계, 드론(Drone) 제어를 위해 제작된 오픈소스 드론 보드(픽스호크(Pixhawk), APM(ArduPilot Mega) 등)와 모바일 앱이 다양한 연결 방법(USB, 블루투스 등)을 활용해 동기화하는 단계를 포함하여 모바일용으로 제작된 UAV(Unmanned Autopilot Vehicle) 관측 앱을 서버에 접속시켜 모니터링하고 웹 사용자가 제어할 수 있도록 한 것이다.
본 발명은 전체적으로 데스크톱 환경에서 사용자가 활용 가능한 모바일 API와 오픈 소스인 JAVA 기반 MAVLink 라이브러리, 웹 브라우저 상에서 개별 스레드를 동작하고 실시간 통신을 지원하는 HTML5, 위치 및 지리 정보를 제공하고 다양한 개체(이미지, 점, 폴리곤 등)을 오버레이 할 수 있는 웹 기반 지도 서비스등을 포함하여 웹 사용자가 실시간으로 접속하여 모바일 드론에 대해 명령을 생성하고 원격의 드론이 이를 수행할 수 있도록 한다.
구체적으로 도 2는 오픈소스 하드웨어, 모바일 앱과 중개 서버, 웹 기반 GUI 구성을 나타낸 것이다.
본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템은 도 2에서와 같이, 블루투스 통신 혹은 USB 연결이 가능한 오픈소스 드론 하드웨어(20)와, 블루투스 통신 및 USB 연결이 가능한 모바일 앱(30)과, 원격지에서 고유한 주소로 접속할 수 있는 서버(40)와, 사용자가 인터페이스(키보드, 마우스 등)을 통해 명령을 입력할 수 있는 과정을 포함하는 웹기반 인터페이스(50)를 포함한다.
여기서, 모바일 앱(30)은 개발된 애플리케이션을 동작시키는 기기로서 iOS 혹은 안드로이드 애플리케이션 등 기기 및 개발 환경을 제공하는 모든 디바이스를 의미하며, 블루투스 혹은 USB 연결을 가능케 하고 카메라 촬영이 가능한 하드웨어 및 소프트웨어가 포함되어 있다.
그리고 오픈소스 드론 하드웨어(20)는 모바일 기기의 메인 스레드와 별도로 동작하는 스레드로 구성된 모바일 앱(30)의 하드웨어 연결부(31)가 연결을 담당하며 서로의 통신은 개발 환경에서 제공하는 USB 및 블루투스 관련 API를 통해 수행한다.
별도의 스레드로 구성된 명령 관리부(32)는 웹 사용자로부터 수신된 명령 정보를 드론 명령체계인 MAVLINK로 변환하고 시간과 좌표를 일정 시간 간격으로 반복 확인하여 해당 MAVLINK 정보를 오픈소스 드론 하드웨어(20)에 전달하며 카메라 촬영을 수행한다.
데이터 저장부(33)는 드론으로부터 수신된 상태 정보 및 웹 사용자로부터 수신된 명령을 휘발성 메모리 상에 저장할 수 있으며 명령 관리부(32)와 서버 연결부(34)에 의해 접근 가능하다.
서버(40)로부터 전송되어 오는 명령은 드론의 귀환 좌표(경,위도), 임무 시작시간, 다수의 촬영 좌표(경,위도)를 포함하는 바이너리 명령으로 구성되며 명령 관리부(32)가 임무 시간이 되면 각 이동 지점의 좌표를 오픈소스 드론 하드웨어(20)로 전달한다.
이후 드론으로부터 수신되는 좌표를 확인하여 촬영 좌표와 동일한 위치일 경우 카메라 촬영을 실시하고 촬영이 완료되면 다음 장소로 이동 명령을 전달하고, 이 과정을 반복하여 마지막 촬영을 수행했을 경우, 귀환 좌표로 이동 후 착지 명령을 전송한다.
드론 명령의 경우, 오픈소스로 공개된 MAVLINK 규칙을 따르고, 모바일 앱(30)에 포함된 서버 연결부(34)는 고정된 주소를 이용해 서버에 소켓 통신이 가능한 별도의 스레드로 구성되며 데이터 저장부(33)에 저장된 드론 상태 정보를 서버(40)에 전달하는 역할을 수행한다.
그리고 데스크톱 환경에 위치하는 중개 서버(40)는 모바일 앱(30)이 접속했을 경우, 각 모바일의 명령을 관리하는 명령 관리부(41)와 모바일로부터 정보를 일정 간격으로 수신하는 디바이스 정보 수신부(42)로 구성된 디바이스 클라이언트를 생성한다.
여기서, 명령 관리부(41)는 전원이 꺼질 경우 메모리가 사라지는 서버(40)의 단점과 다수의 웹 사용자가 명령을 내릴 경우 중복된 명령에 의해 오류가 발생하는 단점을 보완하기 위해 DBMS(Database Management System)로 구성된 명령 저장소(60)와 연동된다.
그리고 별도 스레드로 구성되는 명령 관리부(41)는 모바일 앱(30)이 서버(40)에 접속한 시간을 기점으로 명령 저장소(60)에서 해당 드론에 해당하는 명령을 로딩 다수의 웹 사용자에서 수신되는 명령을 순차적으로 저장 및 수정한다.
명령 저장소(60)에는 웹에서 생성되어 전달된 명령의 고유 ID, 귀환 좌표, 촬영 좌표, 명령 수행 시간을 저장할 수 있는 테이블 기반 데이터베이스가 저장된다.
그리고 별도 스레드로 구성되는 디바이스 정보 수신부(42)는 모바일 앱(30)으로부터 전송되는 드론 상태 정보를 임시로 저장하고 웹 사용자로 전달하는 역할을 수행한다.
그리고 모바일 앱 연결부(43)는 별도의 스레드로 구성되어 소켓 통신을 통해 접속하는 각 모바일 앱(30)을 담당하는 개별 디바이스 클라이언트를 생성한다.
그리고 웹 사용자가 소켓 통신을 통해 서버(40)로 접속했을 경우, 드론과 유사하게 개별 스레드로 동작하는 웹 클라이언트를 생성하고 웹 클라이언트는 디바이스 정보 및 웹 명령 송수신부(44)를 통하여 드론으로부터 수신된 상태정보를 사용자 인터페이스(50)로 전달하거나 사용자 인터페이스(50)로부터 수신된 명령 정보를 디바이스 클라이언트의 명령 관리부(41)로 전달한다.
그리고 사용자 인터페이스(50)는 상용화되거나 오픈소스로 공개된 지도 기반 웹서비스(Web Map Service)를 포함하며 사용자가 클릭을 통해 드론의 경로를 생성하거나, 키보드 입력을 통해 드론의 고도, 임무 시작 시간을 입력한 후 중개 서버로 전달하는 역할을 수행 가능한 양방향 통신 라이브러리(WebSocket, HTML)를 포함한다.
그리고 사용자 인터페이스(50)는 실시간 통신으로 인해 발생하는 부하를 분산하기 위해 양방향 통신 라이브러리는 HTML5 표준에서 제공하는 웹 워커(Web Worker)상에서 활용한다.
웹 워커 상에서는 각 메시지에 따라 명령을 달리 수행하는 핸들러가 포함되며 메시지 전송 방향(사용자 혹은 서버)를 판별한 후 메시지 타입(드론 위치, 드론 아이콘 제거, 드론 자세 정보, 미션 정보, 미션 제거 정보)을 판별하여 중개서버로 전달하거나 웹 인터페이스를 업데이트 한다.
그리고 도 3은 모바일 앱과 서버 및 웹 기반 인터페이스 사이의 동작 과정을 나타낸 것이다.
서버(40)를 실행할 경우 모바일 및 웹 사용자로부터 접속을 허가할 수 있고 모바일 앱(30)은 사용자가 우선 오픈소스 드론 하드웨어(20)에 연결을 수행한 후 주소값을 이용해 서버(40)에 접속한다.
그리고 모바일 앱(30)과 중개 서버(40)의 접속이 완료됐을 경우 모바일 앱(30)은 주기적으로 드론, 중개 서버와 정보를 송수신하여 명령 정보가 수신되었을 경우 명령을 저장한 뒤 명령을 변환하고 비행 및 촬영을 수행한다.
그리고 웹 사용자는 웹 인터페이스를 실행하였을 경우, 지정된 중개 서버에 웹 소켓을 이용해 접속하고 접속이 완료된 이후 현재 접속중인 드론에 대한 상태정보(위치, 자세)를 수신 가능하다.
우선 드론을 선택한 후 웹 지도 서비스 및 입력 인터페이스(Input, Button 등)을 이용해 폴리곤, 폴리라인 등 좌표 정보를 포함하는 형태의 명령을 생성하고 중개 서버로 전달한다.
이상에서 설명한 본 발명에 따른 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법은 원격지의 사용자가 웹 기반 인터페이스를 이용한 명령을 생성-전달하는 단계 및 모바일 앱과 웹 사용자가 각각 서버에 접속해서 데이터를 교환하는 단계, 드론(Drone) 제어를 위해 제작된 오픈소스 드론 보드(픽스호크(Pixhawk), APM(ArduPilot Mega) 등)와 모바일 앱이 다양한 연결 방법(USB, 블루투스 등)을 활용해 동기화하는 단계를 포함하여 모바일용으로 제작된 UAV(Unmanned Autopilot Vehicle) 관측 앱을 서버에 접속시켜 모니터링하고 웹 사용자가 제어할 수 있도록 한 것이다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
20. 오픈소스 드론 하드웨어
30. 모바일 앱
40. 서버
50. 사용자 인터페이스
60. 명령 저장소

Claims (17)

  1. 사용자가 웹 브라우저를 활용해 웹 인터페이스에 접속해 기기를 선택하고 명령 정보를 생산하여 드론(Drone) 제어를 수행할 수 있도록 제작된 오픈소스 드론 하드웨어;
    명령 정보를 수신해 모바일 시간에 맞춰 이동과 사진 촬영을 동기화하고 관리하는 모바일 앱;
    원격지에서 고유한 주소로 접속할 수 있고, 소켓 통신을 통해 웹 및 모바일 클라이언트를 접속시키고 관리하고 모바일 앱과 웹 사용자를 중개하기 위한 서버;
    사용자가 인터페이스를 통해 명령을 입력할 수 있는 과정을 포함하는 웹 기반의 사용자 인터페이스;를 포함하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  2. 제 1 항에 있어서, 데스크톱 환경에서 사용자가 활용 가능한 모바일 API와 오픈 소스인 JAVA 기반 MAVLink 라이브러리, 웹 브라우저 상에서 개별 스레드를 동작하고 실시간 통신을 지원하는 HTML5, 위치 및 지리 정보를 제공하고 다양한 개체를 오버레이 할 수 있는 웹 기반 지도 서비스를 포함하여,
    웹 사용자가 실시간으로 접속하여 모바일 드론에 대해 명령을 생성하고 원격의 드론이 이를 수행할 수 있도록 하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  3. 제 1 항에 있어서, 상기 모바일 앱은 개발된 애플리케이션을 동작시키는 기기로서 iOS 혹은 안드로이드 애플리케이션 등 기기 및 개발 환경을 제공하는 모든 디바이스이고,
    블루투스 혹은 USB 연결을 가능케 하고 카메라 촬영이 가능한 하드웨어 및 소프트웨어가 포함되는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  4. 제 1 항에 있어서, 모바일 기기의 메인 스레드와 별도로 동작하는 스레드로 구성된 모바일 앱의 하드웨어 연결부가 오픈소스 드론 하드웨어와의 연결을 담당하며,
    서로의 통신은 개발 환경에서 제공하는 USB 및 블루투스 관련 API를 통해 수행되는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  5. 제 1 항에 있어서, 상기 모바일 앱은 별도의 스레드로 구성된 명령 관리부를 포함하고,
    웹 사용자로부터 수신된 명령 정보를 드론 명령체계인 MAVLINK로 변환하고 시간과 좌표를 일정 시간 간격으로 반복 확인하여 해당 MAVLINK 정보를 오픈소스 드론 하드웨어에 전달하여 카메라 촬영을 수행하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  6. 제 1 항에 있어서, 상기 모바일 앱은,
    드론으로부터 수신된 상태 정보 및 웹 사용자로부터 수신된 명령을 휘발성 메모리 상에 저장하는 데이터 저장부를 포함하고,
    데이터 저장부는 명령 관리부와 서버 연결부에 의해 접근 가능한 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  7. 제 1 항에 있어서, 상기 모바일 앱은,
    드론의 귀환 좌표(경,위도), 임무 시작시간, 다수의 촬영 좌표(경,위도)를 포함하는 바이너리 명령으로 구성되는 서버로부터 전송되어 오는 명령을 관리하는 명령 관리부를 포함하고,
    명령 관리부는 임무 시간이 되면 각 이동 지점의 좌표를 오픈소스 드론 하드웨어로 전송하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  8. 제 7 항에 있어서, 각 이동 지점의 좌표를 오픈소스 드론 하드웨어로 전송하고,
    이후 드론으로부터 수신되는 좌표를 확인하여 촬영 좌표와 동일한 위치일 경우 카메라 촬영을 실시하고 촬영이 완료되면 다음 장소로 이동 명령을 전달하고, 이 과정을 반복하여 마지막 촬영을 수행했을 경우, 귀환 좌표로 이동 후 착지 명령을 전송하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  9. 제 1 항에 있어서, 상기 모바일 앱은,
    고정된 주소를 이용해 서버에 소켓 통신이 가능한 별도의 스레드로 구성되며 데이터 저장부에 저장된 드론 상태 정보를 서버에 전달하는 역할을 수행하는 서버 연결부를 포함하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  10. 제 1 항에 있어서, 서버는,
    모바일 앱이 접속했을 경우, 각 모바일의 명령을 관리하는 명령 관리부와, 모바일로부터 정보를 일정 간격으로 수신하는 디바이스 정보 수신부로 구성된 디바이스 클라이언트를 생성하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  11. 제 10 항에 있어서, 상기 명령 관리부는,
    전원이 꺼질 경우 메모리가 사라지는 문제, 다수의 웹 사용자가 명령을 내릴 경우 중복된 명령에 의해 오류를 막기 위하여 DBMS(Database Management System)로 구성된 명령 저장소와 연동되는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  12. 제 11 항에 있어서, 명령 관리부는,
    모바일 앱이 서버에 접속한 시간을 기점으로 명령 저장소에서 해당 드론에 해당하는 명령을 로딩 다수의 웹 사용자에서 수신되는 명령을 순차적으로 저장 및 수정하고,
    명령 저장소에는 웹에서 생성되어 전달된 명령의 고유 ID, 귀환 좌표, 촬영 좌표, 명령 수행 시간을 저장할 수 있는 테이블 기반 데이터베이스가 저장되는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  13. 제 10 항에 있어서, 상기 디바이스 정보 수신부는,
    별도 스레드로 구성되고 모바일 앱으로부터 전송되는 드론 상태 정보를 임시로 저장하고 웹 사용자로 전달하는 역할을 수행하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  14. 제 1 항에 있어서, 서버는,
    별도의 스레드로 구성되어 소켓 통신을 통해 접속하는 각 모바일 앱을 담당하는 개별 디바이스 클라이언트를 생성하는 모바일 앱 연결부를 포함하고,
    웹 사용자가 소켓 통신을 통해 서버로 접속했을 경우, 드론과 유사하게 개별 스레드로 동작하는 웹 클라이언트를 생성하고,
    웹 클라이언트는 디바이스 정보 및 웹 명령 송수신부를 통하여 드론으로부터 수신된 상태정보를 사용자 인터페이스로 전달하거나, 사용자 인터페이스로부터 수신된 명령 정보를 디바이스 클라이언트의 명령 관리부로 전달하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  15. 제 1 항에 있어서, 사용자 인터페이스는,
    상용화되거나 오픈소스로 공개된 지도 기반 웹서비스(Web Map Service)를 포함하고, 사용자가 클릭을 통해 드론의 경로를 생성하거나, 키보드 입력을 통해 드론의 고도, 임무 시작 시간을 입력한 후 중개 서버로 전달하는 역할을 수행 가능한 양방향 통신 라이브러리(WebSocket, HTML)를 포함하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  16. 제 15 항에 있어서, 사용자 인터페이스는 실시간 통신으로 인해 발생하는 부하를 분산하기 위해 양방향 통신 라이브러리는 HTML5 표준에서 제공하는 웹 워커(Web Worker)상에서 활용되고,
    웹 워커 상에서는 각 메시지에 따라 명령을 달리 수행하는 핸들러가 포함되며 메시지 전송 방향을 판별한 후 드론 위치, 드론 아이콘 제거, 드론 자세 정보, 미션 정보, 미션 제거 정보의 메시지 타입을 판별하여 중개 서버로 전달하거나 웹 인터페이스를 업데이트 하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템.
  17. 사용자가 웹 브라우저를 활용해 웹 인터페이스에 접속해 기기를 선택하고 명령 정보를 생산하는 단계;
    모바일 앱과 웹 사용자를 중개하기 위한 서버에서 소켓 통신을 통해 웹 및 모바일 클라이언트를 접속시키고 관리하는 단계;
    모바일 앱에서 명령 정보를 수신해 모바일 시간에 맞춰 이동과 사진 촬영을 동기화하고 관리하는 단계;를 포함하는 것을 특징으로 하는 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 방법.
KR1020160052176A 2016-04-28 2016-04-28 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법 KR20170123041A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160052176A KR20170123041A (ko) 2016-04-28 2016-04-28 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160052176A KR20170123041A (ko) 2016-04-28 2016-04-28 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20170123041A true KR20170123041A (ko) 2017-11-07

Family

ID=60384786

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160052176A KR20170123041A (ko) 2016-04-28 2016-04-28 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20170123041A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200032984A (ko) * 2018-09-19 2020-03-27 인하대학교 산학협력단 드론을 이용한 청소년 프로그래밍 교육용 어플리케이션 시스템
WO2021025320A1 (ko) * 2019-08-08 2021-02-11 (주)메타파스 무인 항공기의 무선 영상 전송 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200032984A (ko) * 2018-09-19 2020-03-27 인하대학교 산학협력단 드론을 이용한 청소년 프로그래밍 교육용 어플리케이션 시스템
WO2021025320A1 (ko) * 2019-08-08 2021-02-11 (주)메타파스 무인 항공기의 무선 영상 전송 시스템 및 방법

Similar Documents

Publication Publication Date Title
Bupe et al. Relief and emergency communication network based on an autonomous decentralized UAV clustering network
Koubâa et al. Dronetrack: Cloud-based real-time object tracking using unmanned aerial vehicles over the internet
WO2022247498A1 (zh) 无人机监控
US10565783B2 (en) Federated system mission management
CN103676957A (zh) 一种远程航拍飞行器的控制方法
CN104935634A (zh) 基于分布共享存储的移动设备数据共享方法
KR102384543B1 (ko) 드론 기반 재난상황 관제 방법 및 시스템
CN113243088A (zh) 卫星运行服务管理系统、卫星运行服务管理装置及卫星运行服务管理方法
JP6481121B1 (ja) 飛行体の制御に関する情報表示方法
JP2023057120A (ja) 飛行体の制御に関する情報表示方法
KR20170123041A (ko) 오픈 소스 기반 드론 보드, 모바일 앱 및 웹 사용자 간 드론 정보 및 명령 정보 교환을 위한 시스템 및 방법
CN104724295A (zh) 一种无人机载荷通用接口系统
JP2023521610A (ja) 無人航空システム通信
US11620913B2 (en) Movable object application framework
JP2023157917A (ja) 撮影方法
KR20190102666A (ko) 임무 프로파일을 이용한 무인 항공기 운용 시스템 및 그 운용 방법
JP6684012B1 (ja) 情報処理装置および情報処理方法
WO2021130980A1 (ja) 飛行体の飛行経路表示方法及び情報処理装置
WO2020154996A1 (zh) 无人机的负载的任务管理方法及设备
KR20210066042A (ko) 드론 기반의 항공 사진 측량 장치 및 방법
Itkin et al. H. Sø/1SOPS widel
Esteves Distributed Simulation and Exploration of a Game Environment
JP6582258B1 (ja) 飛行体の制御に関する情報表示方法
JP6582265B1 (ja) 飛行体の制御に関する情報表示方法
JP6582268B1 (ja) 飛行体の制御に関する情報表示方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application