KR20220164265A - Method, System and Program of Drone Control, Pilot Certification and Drone Identification - Google Patents

Method, System and Program of Drone Control, Pilot Certification and Drone Identification Download PDF

Info

Publication number
KR20220164265A
KR20220164265A KR1020210072814A KR20210072814A KR20220164265A KR 20220164265 A KR20220164265 A KR 20220164265A KR 1020210072814 A KR1020210072814 A KR 1020210072814A KR 20210072814 A KR20210072814 A KR 20210072814A KR 20220164265 A KR20220164265 A KR 20220164265A
Authority
KR
South Korea
Prior art keywords
code
drone
virtual
command
control
Prior art date
Application number
KR1020210072814A
Other languages
Korean (ko)
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 KR1020210072814A priority Critical patent/KR20220164265A/en
Publication of KR20220164265A publication Critical patent/KR20220164265A/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0004Transmission of traffic-related information to or from an aircraft
    • G08G5/0013Transmission of traffic-related information to or from an aircraft with a ground station
    • 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

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The present invention relates to a method, system, and program for drone control, pilot authentication, and drone identification. The present invention relates to a system including: a user authentication means for requesting user authentication by generating a one-time access code for user authentication, wherein the user authentication means includes an application or an authentication card; a controller which generates a control signal including a virtual code in a command after performing the user authentication based on the one-time access code, and transmits it to a drone; the drone driving based on the received control signal and transmitting image information and current location information to the controller; and an air traffic control center which receives the current location information of the drone, the one-time access code, and the control signal from the controller.

Description

드론 제어, 조종자 인증 및 드론 식별 방법, 시스템 및 프로그램{Method, System and Program of Drone Control, Pilot Certification and Drone Identification}Drone control, pilot certification and drone identification method, system and program {Method, System and Program of Drone Control, Pilot Certification and Drone Identification}

본 발명은 드론 제어, 조종자 인증 및 드론 식별 방법, 시스템 및 프로그램에 관한 것이다.The present invention relates to a method, system, and program for drone control, pilot authentication, and drone identification.

최근 들어, 무인비행체(드론) 기술이 발전하면서 서비스 산업에서의 무인비행체의 이용이 증가하는 실정이다.Recently, as unmanned aerial vehicle (drone) technology develops, the use of unmanned aerial vehicles in the service industry is increasing.

이러한, 무인비행체를 제어하기 위해 별도의 제어장치가 사용되며, 제어장치와 무인비행체 간의 무선통신신호를 통해 제어가 수행될 수 있다.A separate control device is used to control the unmanned air vehicle, and control may be performed through a wireless communication signal between the control device and the unmanned air vehicle.

그러나, 무인비행체를 제어하기 위한 특정 명령어를 코드로 단순히 변환하여 전송하는 경우, 타인이 제어장치에 대한 명령어 코드를 쉽게 확인할 수 있게 된다. However, when a specific command for controlling an unmanned aerial vehicle is simply converted into a code and transmitted, another person can easily check the command code for the control device.

이에 따라, 동일한 명령어를 동일한 무선통신신호(예를 들어, RF신호로 제어신호가 전송되는 경우에 동일한 주파수의 RF신호)를 이용하여 전송해서 컨트롤러를 통제할 수 있게 된다. Accordingly, it is possible to control the controller by transmitting the same command using the same wireless communication signal (eg, RF signal of the same frequency when the control signal is transmitted as an RF signal).

즉, 사용자는 제어장치에 대한 제어권을 타인에게 탈취당하는 상황이 발생하게 된다.That is, a situation arises in which the control right for the control device is stolen by another person.

한편, 항공 교통 관제 업무를 집행하는 항공 교통 관제 센터에서 비행기의 경로에 무인비행체가 있는 경우, 이를 통제할 방안이 없고, 해당 무인비행체가 허가된 무인비행체인지 아닌지를 판단할 수 없는 상황이다.On the other hand, if there is an unmanned aerial vehicle in the path of an airplane in an air traffic control center that executes air traffic control, there is no way to control it, and it is impossible to determine whether the unmanned aerial vehicle is a licensed unmanned aerial vehicle or not.

따라서, 무인비행체 제어시 허가되지 않은 타인이 무인비행체를 제어하지 못하도록 하고, 항공 교통 관제 센터에서 무인비행체의 허가여부를 판단할 수 있는 방안이 필요하다.Accordingly, there is a need for a method for preventing an unauthorized person from controlling the unmanned aerial vehicle and determining whether the unmanned aerial vehicle is permitted by an air traffic control center.

상술한 바와 같은 문제점을 해결하기 위한 본 발명은 드론을 제어하는 사용자에 대해 인증을 수행하고, 컨트롤러에서 드론을 제어하기 위한 제어신호 생성시 명령어에 가상코드를 포함하여 전송할 수 있다.In order to solve the above problems, the present invention authenticates a user who controls a drone, and when a control signal for controlling a drone is generated in a controller, a virtual code may be included in a command and transmitted.

또한, 본 발명은 컨트롤러에서 드론으로부터 GPS 데이터를 수신하고, 수신한 GPS 신호, 사용자 식별 OTAC 및 제어신호 OTAC를 항공 교통 관제 센터로 전송할 수 있다.In addition, in the present invention, the controller may receive GPS data from the drone and transmit the received GPS signal, user identification OTAC, and control signal OTAC to the air traffic control center.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.

상술한 과제를 해결하기 위한 본 발명에 따른 사용자 인증을 위한 일회성 액세스 코드를 생성하여 사용자 인증을 요청하는 사용자 인증수단-상기 사용자 인증수단은, 애플리케이션 또는 인증용카드를 포함함-, 상기 일회성 액세스 코드를 기반으로 사용자 인증을 수행후, 명령어에 가상코드를 포함한 제어신호를 생성하여 드론으로 전송하는 컨트롤러, 상기 수신한 제어신호를 기반으로 구동하고, 영상정보와 현재 위치정보를 상기 컨트롤러로 전송하는 상기 드론 및 상기 컨트롤러로부터 상기 드론의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 전송받는 항공 교통 관제 센터를 포함할 수 있다.User authentication means for requesting user authentication by generating a one-time access code for user authentication according to the present invention for solving the above problems - the user authentication means includes an application or an authentication card -, the one-time access code After performing user authentication based on, the controller generates a control signal including a virtual code in a command and transmits it to the drone, and the controller drives based on the received control signal and transmits image information and current location information to the controller and an air traffic control center that receives the current location information of the drone, the one-time access code, and a control signal from the drone and the controller.

여기서, 상기 항공 교통 관제 센터는, 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 기반으로 상기 사용자가 인증된 사용자인지를 판단하고, 상기 드론이 상기 제어신호에 맞게 구동되는지를 판단할 수 있다.Here, the air traffic control center may determine whether the user is an authenticated user based on the current location information, the one-time access code, and the control signal, and determine whether the drone is driven in accordance with the control signal. .

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer readable recording medium recording a computer program for executing the method may be further provided.

상기와 같은 본 발명에 따르면 본 발명은 드론을 제어하는 사용자에 대해 인증을 수행하고, 컨트롤러에서 드론을 제어하기 위한 제어신호 생성시 명령어에 가상코드를 포함하여 전송함으로써 상기 드론과 매칭된 상기 컨트롤러와 이외의 장치로 제어하는 것을 방지할 수 있는 효과가 있다.According to the present invention as described above, the present invention authenticates the user who controls the drone, and when the controller generates a control signal for controlling the drone, the controller includes a virtual code in the command and transmits the controller and the drone matched with the drone. There is an effect of preventing control by other devices.

또한, 본 발명은 컨트롤러에서 드론으로부터 GPS 데이터를 수신하고, 수신한 GPS 신호, 사용자 식별 OTAC 및 제어신호 OTAC를 항공 교통 관제 센터로 전송함으로써, 상기 항공 교통 관제 센터에서 무인비행체의 허가여부를 판단할 수 있고, 이를 제어할 수 있는 효과가 있다.In addition, the present invention receives GPS data from the drone in the controller and transmits the received GPS signal, user identification OTAC, and control signal OTAC to the air traffic control center, so that the air traffic control center can determine whether the unmanned aerial vehicle is permitted. It can, and there is an effect that can control it.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명에 따른 드론을 제어하기 위한 시스템(1)을 설명하는 도면이다.
도 2는 본 발명에 따른 드론을 제어하는 컨트롤러(10)를 개략적으로 나타낸 블록도이다.
도 3은 본 발명에 따른 사용자 인증수단(20) 중 사용자 단말에 설치된 애플리케이션(21)을 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 사용자 인증수단(20) 중 인증용카드(22)를 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.
도 5는 본 발명에 따른 드론(30)을 개략적으로 설명하기 위한 도면이다.
1 is a diagram illustrating a system 1 for controlling a drone according to the present invention.
2 is a schematic block diagram of a controller 10 for controlling a drone according to the present invention.
3 is a diagram for explaining that user authentication is performed through an application 21 installed in a user terminal among user authentication means 20 according to the present invention.
Figure 4 is a diagram for explaining the user authentication through the authentication card 22 of the user authentication means 20 according to the present invention.
5 is a diagram for schematically explaining the drone 30 according to the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, only these embodiments are intended to complete the disclosure of the present invention, and are common in the art to which the present invention belongs. It is provided to fully inform the person skilled in the art of the scope of the invention, and the invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprises" and/or "comprising" does not exclude the presence or addition of one or more other elements other than the recited elements. Like reference numerals throughout the specification refer to like elements, and “and/or” includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various components, these components are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first element mentioned below may also be the second element within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.Prior to the description, the meaning of the terms used in this specification will be briefly described. However, it should be noted that the description of terms is intended to help the understanding of the present specification, and is not used in the sense of limiting the technical spirit of the present invention unless explicitly described as limiting the present invention.

도 1은 본 발명에 따른 드론(30)을 제어하기 위한 시스템(1)을 설명하는 도면이다.1 is a diagram illustrating a system 1 for controlling a drone 30 according to the present invention.

도 2는 본 발명에 따른 드론(30)을 제어하는 컨트롤러(10)를 개략적으로 나타낸 블록도이다.2 is a schematic block diagram of a controller 10 controlling a drone 30 according to the present invention.

도 3은 본 발명에 따른 사용자 인증수단(20) 중 사용자 단말에 설치된 애플리케이션(21)을 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.3 is a diagram for explaining that user authentication is performed through an application 21 installed in a user terminal among user authentication means 20 according to the present invention.

도 4는 본 발명에 따른 사용자 인증수단(20) 중 인증용카드(22)를 통해 사용자 인증을 수행하는 것을 설명하기 위한 도면이다.Figure 4 is a diagram for explaining the user authentication through the authentication card 22 of the user authentication means 20 according to the present invention.

도 5는 본 발명에 따른 드론(30)을 개략적으로 설명하기 위한 도면이다.5 is a diagram for schematically explaining the drone 30 according to the present invention.

도 1 내지 도 5를 참조하여, 본 발명에 따른 3D 프린터(20)를 이용하여 태아 영상에 대한 모형을 생성하기 위한 시스템(1)에 대해서 설명하도록 한다.Referring to FIGS. 1 to 5 , a system 1 for generating a model for a fetal image using the 3D printer 20 according to the present invention will be described.

시스템(1)은 드론을 제어하는 사용자에 대해 인증을 수행하고, 컨트롤러(10)에서 드론을 제어하기 위한 제어신호 생성시 명령어에 가상코드를 포함하여 전송함으로써 상기 드론과 매칭된 상기 컨트롤러(10)와 이외의 장치로 제어하는 것을 방지할 수 있는 효과를 가질 수 있다.The system 1 authenticates the user who controls the drone, and when the controller 10 generates a control signal for controlling the drone, the controller 10 matched with the drone is transmitted by including a virtual code in a command. It may have an effect of preventing control by devices other than and.

또한, 시스템(1)은 컨트롤러(10)에서 드론(30)으로부터 GPS 데이터를 수신하고, 수신한 GPS 신호, 사용자 식별 OTAC 및 제어신호 OTAC를 항공 교통 관제 센터(40)로 전송함으로써, 상기 항공 교통 관제 센터(40)에서 무인비행체의 허가여부를 판단할 수 있고, 이를 제어할 수 있는 효과를 가질 수 있다.In addition, the system 1 receives GPS data from the drone 30 in the controller 10 and transmits the received GPS signal, user identification OTAC, and control signal OTAC to the air traffic control center 40, thereby controlling the air traffic The control center 40 can determine whether the unmanned aerial vehicle is permitted, and can have an effect of controlling it.

여기서, 도 1의 swIDch IFF 코드는, 파일럿 신원 정보, 우호적인 것으로 등록된 드론, 드론의 위치 등을 포함할 수 있다.Here, the swIDch IFF code of FIG. 1 may include pilot identity information, a drone registered as friendly, the location of the drone, and the like.

시스템(1)은 모든 선택한 시간 프레임(예 : 매초)에 대해 일회성 동적 코드로 보안 통신이 가능하고, 조종사나 드론의 보안이 훼손되면 즉시 드론의 '친화성'평가가 가능하다.System 1 enables secure communication with a one-time dynamic code for every selected time frame (e.g. every second), and an immediate 'affinity' assessment of the drone if either the pilot or the drone's security is compromised.

또한, 시스템(1)은 영공에서 비행하는 UAV를 식별하여 중요한 인프라 (공항, 공장 등)를 보호하는데 도움이될 수 있다.In addition, system 1 can help protect critical infrastructure (airports, factories, etc.) by identifying UAVs flying in airspace.

그리고, 시스템(1)은 조종기와 드론 간의 명령 (보안)을 확보하여 잠재적 인 납치 방지할 수 있으며, 공항 영공에서 날아 다니는 소형 상업용 드론의 식별 (IFF) 정보를 안전하게 공유할 수 있다.In addition, system 1 can prevent potential hijacking by securing commands (security) between the controller and the drone, and can safely share identification (IFF) information of small commercial drones flying in airport airspace.

이러한, 시스템(1)은 드론(30)을 제어하기 위한 컨트롤러(10), 사용자 인증수단(20), 드론(30), 항공 교통 관제 센터(40) 및 통신망(미도시)을 포함할 수 있다. 시스템(1)은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수도 있다.The system 1 may include a controller 10 for controlling the drone 30, a user authentication means 20, a drone 30, an air traffic control center 40, and a communication network (not shown). . System 1 may include fewer or more components than those shown in FIG. 1 .

컨트롤러(10)는 3가지 유형의 고유 코드를 생성할 수 있다. 여기서, 상기 3가지 유형의 고유 코드는, 어떤 조종사(이하, 사용자)가 드론(30)을 제어하고 있는지 식별하기 위한 사용자 정보(swIDch 파일럿 ID), 보안 드론 제어명령 통신을 위한 swIDch Command, 비행하는 드론(30)이 친숙하고 등록된 드론임을 식별하기 위한 드론 정보(swIDch IFF)일 수 있다.The controller 10 can generate three types of unique codes. Here, the three types of unique codes include user information (swIDch pilot ID) for identifying which pilot (hereinafter, user) is controlling the drone 30, swIDch Command for secure drone control command communication, and flight It may be drone information (swIDch IFF) for identifying that the drone 30 is a familiar and registered drone.

여기서, 사용자 정보와 비행 드론 정보는 항상 페어링될 수 있다. 따라서, 드론(30)이 해킹되면 사용자가 페어링을 해제할 수 있으므로 드론(30)은 더 이상 아군 드론이되지 않고 공항 레이더 시스템에 표시되게 될 수 있다.Here, user information and flying drone information can always be paired. Therefore, if the drone 30 is hacked, the user can release the pairing, so the drone 30 can be displayed on the airport radar system without becoming a friendly drone any more.

레이더에 대한 모든 통신(IFF 및 사용자 정보(파일럿 ID))은 항상 암호화되어야하며 제어명령은 무선 주파수 기반 통신을 위해 해시될 수 있다. 여기서, 제어명령은 크기가 200 바이트 미만일 수 있다.All communications to the radar (IFF and user information (pilot ID)) must always be encrypted and control commands can be hashed for radio frequency based communications. Here, the size of the control command may be less than 200 bytes.

컨트롤러(10)는 사용자 인증수단(10)을 통해 사용자(조종사)의 인증을 수행하고, 인증된 사용자가 맞다면, 드론(30)을 제어할 수 있는 권한을 부여할 수 있다.The controller 10 can authenticate the user (pilot) through the user authentication means 10 and, if the authenticated user is correct, grant authority to control the drone 30.

이후, 컨트롤러(10)는 명령어에 상기 명령어 해킹의 피해를 받지 않도록 하기 위한 가상코드를 포함한 제어신호를 생성하여 드론(30)으로 전송할 수 있다.Thereafter, the controller 10 may generate a control signal including a virtual code in the command so as not to be damaged by the hacking of the command and transmit it to the drone 30 .

드론(30)은 상기 명령어와 가상코드가 포함되는 제어신호를 수신하여 상기 명령어를 추출하고, 상기 명령어에 따라 구동될 수 있다. The drone 30 may receive a control signal including the command and virtual code, extract the command, and be driven according to the command.

이때, 드론(30)은 실시간 또는 기 설정된 주기로 현재 위치정보(GPS)와 드론식별정보를 모두 상기 컨트롤러(10)로 전송할 수 있다. 또는, 드론(30)은 현재 위치정보만을 상기 컨트롤러(10)로 전송할 수 있다. 또는 드론(30)은 드론식별정보를 상기 항공 교통 관제 센터(40)로 브로드 캐스팅할 수 있다.At this time, the drone 30 may transmit both current location information (GPS) and drone identification information to the controller 10 in real time or at a preset period. Alternatively, the drone 30 may transmit only current location information to the controller 10 . Alternatively, the drone 30 may broadcast drone identification information to the air traffic control center 40 .

먼저, 컨트롤러(10)는 상기 드론(30)으로부터 현재 위치정보(GPS)만을 수신받은 경우, 상기 드론(30)에 대한 드론식별정보를 생성하여 상기 현재 위치정보, 드론식별정보, 사용자의 식별코드와 함께 상기 항공 교통 관제 센터(40)로 전송할 수 있다.First, when the controller 10 receives only the current location information (GPS) from the drone 30, the controller 10 generates drone identification information for the drone 30, and the current location information, drone identification information, and the user's identification code. It can be transmitted to the air traffic control center 40 together with.

다음으로, 컨트롤러(10)는 상기 드론(30)으로부터 상기 현재 위치정보(GPS)와 드론식별정보를 전송받은 경우, 이를 사용자의 식별코드와 함께 항공 교통 관제 센터(40)로 전송해서 어느 위치의 드론(30)에 대한 식별코드인지 판단할 수 있도록 할 수 있다.Next, when the controller 10 receives the current location information (GPS) and drone identification information from the drone 30, the controller 10 transmits them together with the user's identification code to the air traffic control center 40 so as to determine which location. It can be determined whether it is an identification code for the drone 30.

여기서, 상기 식별코드는 사용자 인증코드(조종사 인증코드)와 제어코드 조합으로 생성될 수 있다.Here, the identification code may be generated by a combination of a user authentication code (pilot authentication code) and a control code.

이에 따라, 항공 교통 관제 센터(40)는 상기 식별코드를 수신하면 해당 코드로 어떤 사용자가 드론(30)을 제어하는지 판단할 수 있고, 해당 위치의 드론(30)의 움직임과 비교하여 검증도 가능할 수 있다.Accordingly, when the air traffic control center 40 receives the identification code, it can determine which user is controlling the drone 30 with the corresponding code, and it can be verified by comparing the movement of the drone 30 at the corresponding location. can

이하, 시스템(1)의 각 구성요소에 대해 상세히 후술하도록 한다.Hereinafter, each component of the system 1 will be described in detail.

먼저, 컨트롤러(10)는 무선통신으로 상기 드론(30)과 연결되어 상기 드론(30)을 제어할 수 있다.First, the controller 10 can control the drone 30 by being connected to the drone 30 through wireless communication.

컨트롤러(10)는 제1 제어모듈(110) 및 제1 무선통신모듈(120)을 포함할 수 있다. 상기 컨트롤러(10)는, 제1 제어모듈(110)에 해당하는 프로그램이 내장(Embeded)되거나 제1 제어모듈(110)에 해당하는 프로그램 또는 어플리케이션이 설치된 장치일 수 있다. The controller 10 may include a first control module 110 and a first wireless communication module 120 . The controller 10 may be a device in which a program corresponding to the first control module 110 is embedded or a program or application corresponding to the first control module 110 is installed.

예를 들어, 컨트롤러(10)는 제1 제어모듈(110)에 해당하는 어플리케이션이 설치된 스마트폰이나 제1 제어모듈(110)이 내장된 무선 조종기일 수 있다.For example, the controller 10 may be a smart phone in which an application corresponding to the first control module 110 is installed or a wireless controller in which the first control module 110 is embedded.

한편, 본 명세서에서 컨트롤러(10)는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 장치는 컴퓨터 및 이동 단말기 형태가 될 수 있다. 상기 컴퓨터는 클라이언트로부터 요청을 수신하여 정보처리를 수행하는 서버 형태가 될 수 있다. 상기 이동 단말기는 휴대폰, 스마트 폰(smart phone), PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 노트북 PC, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등이 포함될 수 있다.On the other hand, in this specification, the controller 10 includes all of various devices capable of providing results to users by performing calculation processing. For example, the devices may be in the form of computers and mobile terminals. The computer may be in the form of a server receiving a request from a client and processing information. The mobile terminal includes a mobile phone, a smart phone, a personal digital assistants (PDA), a portable multimedia player (PMP), a navigation device, a notebook PC, a slate PC, a tablet PC, and an ultrabook. ), a wearable device (eg, a watch type terminal (smartwatch), a glass type terminal (smart glass), a head mounted display (HMD)), and the like may be included.

도 3을 보면, 제1 제어모듈(110)은 사용자 인증수단(20) 중 사용자 단말에 설치된 애플리케이션(21)을 통해 사용자가 본인 ID와 일회성 액세스 코드를 생성하여 로그인하는 경우, 상기 ID와 일회성 액세스 코드를 기반으로 사용자 인증을 수행할 수 있다.Referring to FIG. 3, the first control module 110, among the user authentication means 20, uses the application 21 installed in the user terminal to generate and log in the user's own ID and one-time access code, the ID and one-time access User authentication can be performed based on code.

또는, 도 4를 보면, 제1 제어모듈(110)은 사용자 인증수단(20) 중 인증용카드(22)를 통해 인증용카드데이터를 획득하는 경우, 상기 인증용카드데이터를 기반으로 사용자 인증을 수행할 수 있다.Alternatively, referring to FIG. 4 , when the first control module 110 obtains authentication card data through the authentication card 22 of the user authentication means 20, user authentication is performed based on the authentication card data. can be done

일 실시예로, 인증용카드(22)는 인증용카드데이터를 포함하고 있는 공카드로서, 보안을 위해 사용자 인증이 필요한 경우에만 사용될 수 있다. 사용자 인증시, 인증용카드(22)는 컨트롤러(10)로 인증용카드데이터를 제공하여 컨트롤러(10)에 내장 또는 설치된 전용프로그램에 의해 인증용가상코드가 생성되도록 할 수 있다.In one embodiment, the card for authentication 22 is a blank card containing card data for authentication and can be used only when user authentication is required for security. Upon user authentication, the authentication card 22 provides authentication card data to the controller 10 so that a virtual code for authentication can be generated by a dedicated program built into or installed in the controller 10 .

제1 제어모듈(110)은 드론(30)이 명령어를 탐색할 수 있는 정보를 포함하는 가상코드를 생성하는 역할을 수행할 수 있다. 즉, 제1 제어모듈(110)은 가상코드생성함수에 따라 가상코드를 생성한다.The first control module 110 may serve to generate virtual code including information for the drone 30 to search for commands. That is, the first control module 110 generates a virtual code according to the virtual code generating function.

제1 제어모듈(110)은 사용자로부터 입력된 제어명령에 따라 가상코드를 생성하는 역할을 수행할 수 있다. The first control module 110 may play a role of generating a virtual code according to a control command input from a user.

일 예로, 상기 제1 제어모듈(110)은 사용자명령수신부(111), 가상코드생성부(112) 및 세부코드생성부(113)를 포함할 수 있다.For example, the first control module 110 may include a user command receiver 111, a virtual code generator 112, and a detailed code generator 113.

가상코드생성부(112)는 하나 이상의 세부코드를 조합하여 가상코드로 생성하는 역할을 수행할 수 있다. 여기서, 상기 가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것일 수 있다. The virtual code generator 112 may play a role of generating a virtual code by combining one or more detailed codes. Here, the virtual code may be generated by combining a plurality of detailed codes according to a specific rule.

가상코드생성함수는 세부코드생성함수 및 세부코드결합함수의 전부 또는 일부를 포함할 수 있다. 상기 세부코드결합함수는 복수의 세부코드를 조합하는 규칙일 수 있다. 복수의 세부코드를 결합하여 하나의 가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. The virtual code generating function may include all or part of the detailed code generating function and the detailed code combining function. The detailed code combining function may be a rule for combining a plurality of detailed codes. Various methods may be applied as a method of generating one virtual code by combining a plurality of detailed codes.

상기 세부코드결합함수의 일 예로, 가상코드생성부(112)는 N자리의 제1코드와 N자리의 제2코드를 번갈아 배치하는 방식으로 가상코드를 생성할 수 있다. As an example of the detailed code combining function, the virtual code generator 112 may generate a virtual code by alternately arranging an N-digit first code and an N-digit second code.

또한, 다른 예로, 세부코드결합함수는 제1코드 뒤에 제2코드를 결합하는 함수일 수 있다. 가상함수에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.Also, as another example, the detailed code combination function may be a function that combines a second code after the first code. As the number of detailed codes included in the virtual function increases, the detailed code combination function can also be created in various ways.

상기 세부코드생성부(113)는 하나 이상의 세부코드를 생성하는 역할을 수행한다. 가상코드생성함수는 각각의 세부코드생성함수를 포함할 수 있다. The detailed code generator 113 serves to generate one or more detailed codes. The virtual code generating function may include each detailed code generating function.

예를 들어, 가상코드생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 가상코드를 생성할 수 있다. For example, the virtual code generating function may generate a plurality of detailed codes using a plurality of detailed code generating functions, and generate a virtual code using a detailed code combining function combining the plurality of detailed codes.

일 예로, 세부코드생성부(113)는 세부코드생성함수로 제1함수와 제2함수를 포함하여, 제1코드 및 제2코드를 생성할 수 있다. For example, the detailed code generating unit 113 may generate a first code and a second code by including a first function and a second function as the detailed code generating function.

여기서, 제1코드와 제2코드는 드론(30) 내에서 명령어의 저장위치를 탐색하기 위한 상관관계를 가지나, 제어신호생성수단은 보안성을 높이기 위해 제1코드를 생성하는 제1함수와 제2코드를 생성하는 제2함수를 세부코드생성함수로 포함할 뿐, 제1코드와 제2코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다.Here, the first code and the second code have a correlation for searching the storage location of the command within the drone 30, but the control signal generating means has a first function for generating the first code and a second code for increasing security. The second function for generating two codes may be included as the detailed code generating function, and data for correlation between the first code and the second code may not be included.

또한, 일 예로, 가상코드가 제1코드 및 제2코드의 특정한 규칙에 따른 조합으로 생성되는 경우, 제1코드와 제2코드는 명령어가 저장된 저장위치를 탐색하기 위한 각각의 역할을 수행할 수 있다. Also, for example, when the virtual code is generated by combining the first code and the second code according to a specific rule, the first code and the second code may play respective roles for searching for a storage location where a command is stored. there is.

예를 들어, 제1코드는 저장위치탐색의 시작지점을 설정하고, 제2코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 저장위치로의 탐색경로를 설정할 수 있다. For example, the first code may set a starting point of the storage location search, and the second code may set a search path from the starting point to the storage location according to a specific search method.

즉, 제어신호생성수단으로부터 단위카운트마다 정상적으로 생성된 가상코드가 제공되면, 드론(30)은 제1코드에 대응하는 탐색시작지점으로부터 제2코드에 상응하는 탐색경로에 따라 이동한 지점을 명령어의 저장위치로 판단할 수 있다.That is, when the control signal generating unit provides a normally generated virtual code for each unit count, the drone 30 moves from the search start point corresponding to the first code along the search path corresponding to the second code to the command. It can be judged by the storage location.

세부코드생성부(113)가 세부코드를 생성하는 방식의 일 예로, 세부코드생성부(113)는 단위카운트마다 새로운 세부코드를 생성하고, 이에 따라 제어신호생성수단은 단위카운트마다 새로운 가상코드를 생성할 수 있다. 단위카운트마다 신규로 생성되는 가상코드는 중복되어 생성되지 않을 수 있다. As an example of how the detailed code generator 113 generates a detailed code, the detailed code generator 113 generates a new detailed code for each unit count, and accordingly, the control signal generator generates a new virtual code for each unit count. can create Virtual codes newly generated for each unit count may not be duplicated.

구체적으로, 세부코드생성부(113)는, 단위카운드마다 신규생성되는 가상코드가 특정한 사용자 또는 특정한 제어신호생성수단에게 정해진 기간동안 중복생성되지 않을 뿐만 아니라, 특정한 그룹에 속한 사용자간에도 중복생성되지 않도록 설정될 수 있다.Specifically, the detailed code generator 113 prevents the virtual code newly generated for each unit count from being duplicated for a specific user or specific control signal generating means for a predetermined period of time, and also from being duplicated among users belonging to a specific group. It can be set not to.

가상코드의 중복생성을 방지하는 구체적인 일 예로, M개 문자로 N자리의 상기 제1코드 또는 상기 제2코드를 생성하는 경우, 가상코드생성함수에 포함되는 세부코드생성함수는 MN개의 코드를 제1코드 또는 제2코드로 생성할 수 있고, 각각의 코드를 세부코드생성함수가 구동되는 초기시점으로부터 각 카운트마다 매칭할 수 있다. As a specific example of preventing duplicate virtual codes, when generating the first code or the second code of N digits with M characters, the detailed code generating function included in the virtual code generating function generates MN codes. It can be generated with the first code or the second code, and each code can be matched for each count from the initial point in time when the detailed code generation function is driven.

예를 들어, 단위카운트를 1초로 설정하는 경우, 세부코드생성함수가 최초 구동된 시점에서부터 매초에 상이한 MN개의 코드를 매칭할 수 있다. For example, when the unit count is set to 1 second, different MN codes can be matched every second from the time when the detailed code generating function is first driven.

그리고, 특정한 세부코드생성함수를 이용하는 주기를 MN 카운트에 해당하는 시간길이(예를 들어, 1카운트가 1초인 경우, MN 초)보다 짧은 시간길이로 설정하면 제1코드 또는 제2코드는 사용주기 동안에 동일한 코드가 중복 생성되지 않을 수 있다. In addition, if the period of using a specific detailed code generation function is set to a time length shorter than the time length corresponding to the MN count (eg, MN seconds when 1 count is 1 second), the first code or the second code is used During this process, the same code may not be duplicated.

즉, 시간이 흐름에 따라 카운트가 증가할 때, 사용자가 특정시점에 제어신호생성수단에 가상코드생성요청을 하는 경우, 제어신호생성수단은 특정시점에 대응되는 카운트에 매칭된 코드값을 제1코드 또는 제2코드로 생성할 수 있다.That is, when the count increases as time passes and the user requests the control signal generating unit to generate a virtual code at a specific point in time, the control signal generating unit converts the code value matched to the count corresponding to the specific point in time into the first It can be generated by code or second code.

가상코드의 중복생성을 방지하는 구체적인 다른 예로, 가상코드생성함수의 사용주기가 경과되면, 제1코드 또는 제2코드를 생성하는 함수(즉, 제1함수 또는 제2함수)를 변경하거나 제1코드와 제2코드의 매칭관계를 변경하여 이전 사용주기와 상이한 가상코드가 생성되도록 할 수 있다. As another specific example of preventing redundant virtual code generation, when the use cycle of the virtual code generating function elapses, the function generating the first code or the second code (ie, the first function or the second function) is changed or the first function is not generated. A matching relationship between the code and the second code may be changed so that a virtual code different from a previous use cycle may be generated.

가상코드가 제1함수에 의해 생성되는 제1코드와 제2함수에 의해 생성되는 제2코드가 결합되는 경우, 제1코드생성함수 또는 제2코드생성함수가 변경되면, 제어신호생성수단은 제1코드 또는 제2코드가 등장하는 순서가 이전 사용주기와 달라짐에 따라 이전주기와 상이한 가상코드를 생성하는 가상코드생성함수를 신규 사용주기에 적용할 수 있다. When the virtual code is a combination of the first code generated by the first function and the second code generated by the second function, if the first code generating function or the second code generating function is changed, the control signal generating means As the order in which the first code or the second code appears differs from the previous usage period, a virtual code generation function that generates a virtual code different from the previous period may be applied to the new usage period.

또한, 제어신호생성수단은 이전 사용주기에서 사용된 가상코드와 동일한 코드가 신규 사용주기 내 각 카운트의 가상코드로 등장하지 않도록(즉, 제1함수에 따라 생성되는 제1코드와 제2함수에 따라 생성되는 제2코드의 매칭관계가 신규 사용주기의 모든 카운트에서 이전 사용주기 내에 포함된 매칭관계 중에 포함되지 않도록) 제1함수와 제2함수를 선택할 수 있다. In addition, the control signal generating means prevents the same code as the virtual code used in the previous usage period from appearing as a virtual code of each count in a new usage period (that is, the first code and the second function generated according to the first function) The first function and the second function may be selected so that the matching relation of the second code generated according to the above is not included among the matching relations included in the previous usage period in all counts of the new usage period.

즉, MN 개의 코드를 1회씩 적용할 수 있는 사용주기를 경과한 후 가상코드생성함수 조절 또는 갱신을 통해 이전 사용주기와 겹치는 가상코드가 생성되지 않는 신규 사용주기의 가상코드생성함수를 적용할 수 있다.That is, after the usage cycle in which MN codes can be applied once has elapsed, the virtual code generating function of the new usage cycle in which no virtual code overlapping with the previous usage cycle is not generated can be applied by adjusting or updating the virtual code generating function. there is.

이 때, 제1 제어모듈(110) 및 드론(30)은 가상코드생성함수를 갱신하는 규칙을 저장할 수 있다. 즉, 제1 제어모듈(110) 및 드론(30)은 복수의 제1함수와 제2함수를 각 사용주기에 적용하는 순서 또는 규칙을 저장할 수 있다.At this time, the first control module 110 and the drone 30 may store rules for updating the virtual code generating function. That is, the first control module 110 and the drone 30 may store an order or rule for applying a plurality of first functions and second functions to each use period.

또한, 가상코드의 중복생성을 방지하는 구체적인 다른 예로, 다른 명령어에 대해 동일한 가상코드가 동일시점에 생성되지 않도록, 가상코드에 포함되는 제1코드 또는 제2코드 중 어느 하나는 적어도 명령어마다 동일시점에 항상 상이하게 존재하는 값(즉, 명령어고유값)을 반영하여 생성될 수 있다. In addition, as another specific example of preventing the duplicate creation of virtual codes, any one of the first code or the second code included in the virtual code is at least the same for each instruction so that the same virtual code is not generated at the same time for different instructions. It can be created by reflecting a value (ie, a command-specific value) that always exists differently in .

일 예로, 명령어고유값은 특정한 드론(30)과 제어신호생성수단 간의 초기설정 시에 각각의 명령어를 저장한 저장위치에 대응되는 단위카운트 또는 시점(예를 들어, 드론(30) 내에 특정한 저장위치탐색알고리즘이 구동된 최초시점으로부터 특정시간이 경과한 후 특정한 명령어를 저장하여 특정한 명령어에 대한 세부코드생성함수가 적용되기 시작한 시점)으로부터 현재까지 경과된 시간(또는 카운트수)일 수 있다. For example, the unique command value is a unit count or time point corresponding to the storage location where each command is stored during initial setting between the specific drone 30 and the control signal generating means (for example, a specific storage location within the drone 30). It may be the time (or the number of counts) that has elapsed from the time when a specific command was stored after a specific time elapsed from the initial point in time when the search algorithm was driven and the detailed code generating function for the specific command started to be applied) to the present.

하나의 드론(30)에 대해 복수의 명령어를 포함하는 경우, 각각의 명령어를 매칭시킨 카운트를 동일하지 않게 하면(즉, 저장위치탐색알고리즘 상의 동일한 위치 또는 시점에 여러 명령어를 저장하지 않으면), 명령어가 매칭된 시점(또는 카운트)으로부터 사용자로부터 명령입력이 수행된 시점까지의 경과된 시간은 각 명령어마다 상이하게 될 수 있다. In the case of including a plurality of commands for one drone 30, if the counts matching each command are not the same (ie, if several commands are not stored at the same location or time point on the storage location search algorithm), the command The elapsed time from the matched time (or count) to the time the user inputs the command may be different for each command.

따라서, 세부코드생성함수 중 적어도 어느 하나는 명령어를 저장위치탐색알고리즘에 저장한 시점(또는 카운트)으로부터 특정시점까지의 경과된 시간을 명령어고유값으로 이용하여, 각 시점마다 각각의 제어신호생성수단에서 생성되는 가상코드가 상이하도록 할 수 있다. Therefore, at least one of the detailed code generating functions uses the time elapsed from the time (or count) when the command is stored in the storage location search algorithm to a specific point in time as a command-specific value, and each control signal generating means for each point in time The virtual codes generated in may be different.

이를 통해, 드론(30)가 사용자를 구별하기 위한 데이터를 별도로 수신하지 않고 가상코드를 수신하는 것만으로 제어신호생성수단의 구별이 가능하도록 할 수 있다.Through this, it is possible for the drone 30 to distinguish the control signal generating means only by receiving the virtual code without separately receiving data for distinguishing the user.

예를 들어, 제1 제어모듈(110)에서 사용자의 조작에 의해 선택될 수 있는 명령어는 드론(30)을 조작하기 위한 상승, 하강, 전진, 후진 등을 포함할 수 있다. 드론(30)에 대한 명령어는 하나의 그룹으로 설정되고, 드론(30) 내에 포함된 하나의 저장위치탐색알고리즘에 의해 가상코드 내의 명령어 탐색이 수행될 수 있다. For example, commands that can be selected by a user's manipulation in the first control module 110 may include ascending, descending, moving forward, backward, etc. for manipulating the drone 30 . Commands for the drone 30 are set as one group, and commands in the virtual code may be searched by one storage location search algorithm included in the drone 30 .

세부코드생성함수는 각각의 명령어가 저장위치탐색알고리즘 내에 저장된 시점으로부터 경과된 시간길이를 변수로 적용함에 따라 동일시점에 동일한 가상코드가 생성되지 않도록 할 수 있다. The detailed code generation function can prevent the same virtual code from being generated at the same time point by applying the length of time that has elapsed from the point at which each command is stored in the storage location search algorithm as a variable.

또한, 드론(30)는 두개의 명령어가 동시에 수신되더라도 각각의 명령어를 정확히 인식할 수 있다. 상기 저장위치탐색알고리즘은 카운트 경과에 따라 현재 카운트와 매칭되는 저장위치가 변경되는 알고리즘일 수 있다. In addition, the drone 30 can accurately recognize each command even if two commands are simultaneously received. The storage location search algorithm may be an algorithm in which a storage location matched with a current count is changed as the count elapses.

또한, 특정한 명령어가 저장위치탐색알고리즘 내의 특정한 저장위치에 매칭된 시점으로부터 경과된 시간길이는 시간이 흐름에 따라 계속 증가하게 되므로, 특정한 명령어에 대한 세부코드(예를 들어, 제2코드)는 동일한 값이 생성되지 않고 계속 다른 값이 생성될 수 있다. In addition, since the length of time that has elapsed from the time when a specific command matches a specific storage location in the storage location search algorithm continues to increase over time, the detailed code (eg, the second code) for the specific command is the same A value may not be generated and another value may continue to be generated.

또한, 가상코드의 중복생성을 방지하는 구체적인 또 다른 예로, 전체주기에서 사용자에 무관하게 중복된 가상코드가 발생되지 않도록, 제1코드는 드론(30) 내에서 특정한 명령어에 대한 제1함수가 구동되는 초기시점(예를 들어, 드론(30)와 제어신호발생수단을 최초 연동된 시점, 드론(30) 생산 후 최초 구동 시점, 또는 초기화 시점)으로부터 각 카운트마다 매칭된 코드 중에서 가상코드 생성요청이 된 시점(또는 카운트)에 대응되는 코드값으로 설정하고, 제2코드는 명령어가 저장위치탐색알고리즘 내에 매칭된 시점으로부터 경과된 시간(즉, 명령어고유값)을 반영하여 생성되는 코드값으로 설정하고, 가상코드를 상기 제1코드와 제2코드가 결합된 코드값으로 이용할 수 있다. In addition, as another specific example of preventing the duplicate creation of virtual codes, the first code drives the first function for a specific command within the drone 30 so that duplicate virtual codes are not generated regardless of the user in the entire cycle. From the initial point in time (for example, the time when the drone 30 and the control signal generating means are first interlocked, the time when the drone 30 is first driven after production, or the time of initialization), among the codes matched for each count, the request for generating a virtual code is The second code is set to a code value generated by reflecting the time elapsed from the time when the command is matched in the storage location search algorithm (i.e., the unique value of the command), and , the virtual code can be used as a code value in which the first code and the second code are combined.

제1코드는 각 카운트마다 상이한 코드값이 되고 제2코드는 동일시점에 명령어마다 상이한 코드값을 가지게 되어서, 제1코드와 제2코드가 결합된 가상코드는 모든 제어신호생성수단과 모든 시점에 상이한 코드값이 출력되게 될 수 있다.Since the first code has a different code value for each count and the second code has a different code value for each instruction at the same time, the virtual code combining the first code and the second code is Different code values may be output.

다른 예로, 가상코드는 명령어 유형을 구별하기 위한 명령어식별코드를 포함한다. 즉, 가상코드생성부(112)는 특정한 명령어가 사용자로부터 입력되면 이에 대응되는 명령어식별코드를 추출하여 가상코드에 포함시킬 수 있다. 명령어식별코드는 드론(30)이 가상코드를 수신하면 바로 대응되는 명령어를 파악할 수 있도록 할 수 있다. As another example, the virtual code includes an instruction identification code for distinguishing instruction types. That is, when a specific command is input from the user, the virtual code generator 112 may extract a command identification code corresponding to the specific command and include it in the virtual code. When the drone 30 receives the virtual code, the command identification code can immediately identify a corresponding command.

드론(30)은 명령어식별코드를 통해 명령어를 파악한 후 가상코드 내의 세부코드를 기반으로 가상코드를 검증하여 명령어를 제어명령으로 입력할 지 여부를 판단할 수 있다.After recognizing the command through the command identification code, the drone 30 can determine whether to input the command as a control command by verifying the virtual code based on detailed codes within the virtual code.

또한, 명령어식별코드는, 상기 가상코드 내에 미리 정해진 위치에 결합될 수 있다. 각 명령어 별로 가상코드생성함수가 부여되는 경우, 드론(30)은 가상코드에서 명령어식별코드를 먼저 추출하여야 명령어 유형을 판단할 수 있어야 한다. In addition, the command identification code may be coupled to a predetermined position within the virtual code. When a virtual code generation function is given for each command, the drone 30 must first extract a command identification code from the virtual code to be able to determine the command type.

따라서, 명령어식별코드는 별도의 함수 없이 분리가능하도록 가상코드 내의 미리 정해진 위치(예를 들어, 가상코드의 제일 앞 N자리수)에 결합될 수 있다.Accordingly, the command identification code may be coupled to a predetermined position (eg, the first N digits of the virtual code) in the virtual code so as to be separable without a separate function.

가상코드가 명령어식별코드를 포함하는 경우, 일실시예로, 드론(30)은 특정한 드론(30)에 대한 각각의 명령어를 별도의 그룹으로 구분하여 각각의 명령어를 별도의 저장위치탐색알고리즘 또는 가상코드생성함수를 이용하고, 제1 제어모듈(110)은 각각의 명령어에 대응되는 명령어식별코드를 포함한 가상코드를 전송한다. If the virtual code includes a command identification code, in one embodiment, the drone 30 divides each command for a specific drone 30 into a separate group and assigns each command to a separate storage location search algorithm or virtual Using a code generation function, the first control module 110 transmits virtual codes including instruction identification codes corresponding to respective instructions.

구체적으로, 가상코드생성부(112)는 명령어식별코드에 특정한 명령어에 대응되는 OTP함수를 기반으로 생성된 가상보안코드를 추가하여 가상코드를 생성할 수 있다. Specifically, the virtual code generator 112 may generate a virtual code by adding a virtual security code generated based on an OTP function corresponding to a specific command to the command identification code.

드론(30)은 가상코드를 수신한 후에 명령어식별코드를 이용하여 명령어 유형을 판단하고, 가상보안코드를 이용하여 가상코드가 정상적으로 생성된 것인지 검증할 수 있다.After receiving the virtual code, the drone 30 may determine the command type using the command identification code and verify whether the virtual code is normally generated using the virtual security code.

또한, 가상코드생성부(112)는 특정한 명령어식별코드에 매칭된 저장위치탐색알고리즘에 부합하는 복수의 세부코드(예를 들어, 제1코드 및 제2코드)를 생성하고, 명령어식별코드와 결합하여 가상코드를 생성할 수 있다. In addition, the virtual code generator 112 generates a plurality of detailed codes (eg, first code and second code) that conform to the storage location search algorithm matched to the specific command identification code, and combines them with the command identification code. to generate virtual code.

즉, 드론(30)은 각각의 명령어에 대한 저장위치탐색알고리즘을 개별적으로 구동할 수 있다. That is, the drone 30 may individually drive the storage location search algorithm for each command.

이에 따라, 가상코드생성부(112)는 드론(30) 내의 개별 저장위치탐색알고리즘에 대응되도록 각각의 명령어에 대한 가상코드생성함수를 별도로 포함할 수 있다. Accordingly, the virtual code generating unit 112 may separately include a virtual code generating function for each command to correspond to an individual storage location search algorithm in the drone 30 .

또한, 다른 일예로, 상기 가상코드생성함수(구체적으로, 각각의 세부코드생성함수)는, M개의 문자를 오름차순으로 나열하는 다수의 나열규칙 중 어느 하나가 적용될 수 있다. 즉, 제어신호생성수단(즉, 제어신호생성모듈(100))은 각각의 드론(30) 또는 각각의 명령어에 대한 세부코드생성함수에 M개 문자를 오름차순으로 나열하는 규칙을 상이하게 적용할 수 있다. Also, as another example, any one of a plurality of listing rules for arranging M characters in ascending order may be applied to the virtual code generating function (specifically, each detailed code generating function). That is, the control signal generating means (ie, the control signal generating module 100) may differently apply the rule of listing M characters in ascending order to the detailed code generating function for each drone 30 or each command. there is.

구체적으로, 각각의 드론(30)마다(즉, 상이한 식별값을 가지는 디바이스마다) 각 디바이스의 독립적인 제어를 위해 상이한 나열규칙이 적용된 가상코드생성함수가 적용될 수 있고, 가상코드가 명령어식별코드를 포함하는 경우에 각각의 저장위치탐색알고리즘에 따라 상이한 나열규칙이 적용된 가상코드생성함수가 적용될 수 있다.Specifically, a virtual code generation function to which different enumeration rules are applied may be applied for independent control of each device for each drone 30 (ie, each device having a different identification value), and the virtual code is a command identification code. In the case of including, a virtual code generation function to which different listing rules are applied may be applied according to each storage location search algorithm.

예를 들어, 알파벳 대문자를 오름차순으로 나열하는 나열규칙은, 일반적인 순서인 A, B, C, ?? , Z 순서가 될 수 있고, A, C, B, ?? , Z 순서가 될 수도 있다. 가상코드생성함수에서 나열규칙이 달라짐에 따라 가상코드생성함수가 구동되는 초기시점부터 각 카운트에 차례대로 코드가 매칭되는 순서가 달라지게 될 수 있다. For example, a listing rule for listing the uppercase letters of the alphabet in ascending order would be A, B, C, ?? , can be in the order Z, A, C, B, ?? , may be in the Z order. As the listing rules are changed in the virtual code generating function, the order in which codes are matched sequentially to each count from the initial point in time when the virtual code generating function is driven may be different.

드론(30)은 동일한 나열규칙에 따라 생성된 코드가 각 카운트에 매칭되어 있거나, 동일한 나열규칙 자체를 가상코드생성함수에 포함하여 저장할 수 있다. The drone 30 may match the codes generated according to the same enumeration rule to each count, or include the same enumeration rule itself in the virtual code generation function and store it.

따라서, 각 디바이스별 또는 각 명령어별(가상코드가 명령어식별코드를 포함하는 경우) 가상코드생성함수가 상이한 세부코드결합함수를 포함하거나 상이한 문자 나열규칙을 포함하여, 각 그룹별로 상이한 가상코드생성함수를 가지도록 할 수 있다. Therefore, the virtual code generating function for each device or each command (when the virtual code includes the instruction identification code) includes a different detailed code combining function or a different character listing rule, so that each group has a different virtual code generating function. can be made to have

또한, 가상코드는 가상보안코드를 포함할 수 있다. 예를 들어, 가상코드는 하나 이상의 세부코드와 가상보안코드를 포함하거나 가상보안코드를 세부코드로 포함할 수 있다. 상기 보안코드는 특정한 보안코드생성함수를 기반으로 생성되는 코드로서, 정상적인 가상코드인지 여부를 검증하기 위해 이용될 수 있다. 상기 보안코드생성함수는 시간데이터와 제어신호생성수단 또는 드론(30)의 고유값을 함수값으로 사용하여 특정한 자릿수의 보안코드를 생성할 수 있다. Also, the virtual code may include a virtual security code. For example, the virtual code may include one or more detailed codes and a virtual security code, or may include a virtual security code as a detailed code. The security code is a code generated based on a specific security code generating function, and can be used to verify whether it is a normal virtual code. The security code generating function may generate a security code of a specific digit by using time data and control signal generating means or a unique value of the drone 30 as a function value.

가상보안코드를 활용하여 가상코드의 정상여부를 판단하는 과정의 일 예는 다음과 같다. 드론(30)은 초기 설정 시에 제어신호생성수단의 고유값(예를 들어, 제어용 어플리케이션이 설치된 스마트폰의 고유값 등)을 수신하여 명령어의 저장위치에 함께 저장하거나 명령어 저장위치에 연결된 별도의 저장공간에 저장할 수 있다. An example of a process of determining whether the virtual code is normal by using the virtual security code is as follows. During the initial setting, the drone 30 receives the unique value of the control signal generating means (eg, the unique value of the smart phone with the control application installed) and stores it together in the storage location of the command or in a separate storage location connected to the command storage location. can be stored in storage.

제어신호생성수단이 가상보안코드를 포함한 가상코드를 생성하여 드론(30)에 제공하면, 드론(30)는 세부코드를 기반으로 가상코드가 생성된 시간데이터를 획득하고, 내부에 저장된 특정한 제어신호생성수단의 고유값을 추출하여 시간데이터와 함께 가상보안코드생성함수(예를 들어, OTP(One-Time Password) 함수)에 적용하여 가상보안코드를 산출한다. 드론(30)는 제어신호생성수단에서 수신한 가상보안코드(즉, 수신가상보안코드)와 내부에 저장된 가상보안코드생성함수로 산출한 가상보안코드(즉, 생성가상보안코드)가 일치하는 지 판단할 수 있다. When the control signal generating unit generates a virtual code including a virtual security code and provides it to the drone 30, the drone 30 acquires time data when the virtual code was generated based on the detailed code, and a specific control signal stored therein. A unique value of the generating means is extracted and applied to a virtual security code generating function (eg, One-Time Password (OTP) function) together with time data to calculate a virtual security code. The drone 30 determines whether the virtual security code (ie, the received virtual security code) received from the control signal generating means matches the virtual security code (ie, the generated virtual security code) calculated by the virtual security code generation function stored therein. can judge

제어신호생성수단에서 가상코드를 생성하는 시점과 드론(30)(200)에서 가상코드를 수신한 시점 사이에 차이가 존재할 수 있으므로, 드론(30)(200)는 시간딜레이를 고려하여 특정시간 범위 내(예를 들어, 가상코드를 수신한 시점으로부터 특정 카운트 이전까지)의 가상보안코드(즉, OTP번호)를 계산하여, 제어신호생성수단으로부터 수신된 수신가상보안코드와 일치하는 값이 존재하는지 확인한다. 제2 제어모듈(320)은 수신가상보안코드와 생성가상보안코드가 일치하면 정상적인 가상코드로 판단하여 명령어를 제어명령으로 결정할 수 있다.Since there may be a difference between the time at which the control signal generating means generates the virtual code and the time at which the drone 30 (200) receives the virtual code, the drone 30 (200) considers the time delay within a specific time range. Calculate the virtual security code (ie, OTP number) within (for example, from the time of receiving the virtual code to before a specific count), and check whether there is a value that matches the received virtual security code received from the control signal generating means Check. If the received virtual security code and the generated virtual security code match, the second control module 320 may determine the command as a control command by determining it as a normal virtual code.

또한, 다른 예로, 가상보안코드생성함수는 각 카운트마다 다른 l자리(l은 자연수)의 코드를 생성하여 함수값으로 함께 적용할 수 있다. 즉, 가상보안코드생성함수는 l자리의 랜덤코드생성함수(예를 들어, l자리의 코드를 생성하는 OTP함수)를 포함할 수 있다. In addition, as another example, the virtual security code generation function may generate a different l-digit (l is a natural number) code for each count and apply it together as a function value. That is, the virtual security code generating function may include a 1-digit random code generating function (eg, an OTP function generating an 1-digit code).

상기 제1 무선통신모듈(120)은 상기 가상코드를 드론(30)로 전송하기 위해 무선통신신호로 출력하는 역할을 수행한다. 제1 무선통신모듈(120)은 가상코드를 외부로 제공할 수 있는 다양한 구성을 포함할 수 있다. 제1 무선통신모듈(120)은 무선인터넷모듈, 근거리통신모듈, RF신호모듈 등의 전부 또는 일부를 포함할 수 있다.The first wireless communication module 120 serves to output the virtual code as a wireless communication signal to transmit to the drone 30. The first wireless communication module 120 may include various components capable of providing virtual codes to the outside. The first wireless communication module 120 may include all or part of a wireless Internet module, a local area communication module, and an RF signal module.

제1 제어모듈(110)은 상기 드론(30)으로부터 실시간 또는 기 설정된 주기 또는 상기 제어신호 전송 후 상기 드론(30)의 현재 위치정보(GPS) 또는 영상정보를 수신할 수 있다.The first control module 110 may receive current location information (GPS) or image information of the drone 30 from the drone 30 in real time, at a preset period, or after transmitting the control signal.

제1 제어모듈(110)은 상기 수신한 상기 드론(30)의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 항공 교통 관제 센터(40)로 전송할 수 있다.The first control module 110 may transmit the received current location information of the drone 30 , the one-time access code, and a control signal to the air traffic control center 40 .

도 5를 보면, 드론(30)은, 제2 무선통신모듈(310), 제어기, 센서모듈을 포함한다.Referring to FIG. 5 , the drone 30 includes a second wireless communication module 310, a controller, and a sensor module.

상기 제2 무선통신모듈(310)은 컨트롤러(10)로부터 가상 제어명령어를 포함하는 무선통신신호를 수신하는 역할을 수행할 수 있다.The second wireless communication module 310 may serve to receive a wireless communication signal including a virtual control command from the controller 10 .

상기 센서모듈은 드론(30) 제어를 위한 센싱데이터를 획득하는 역할을 수행한다. 예를 들어, 드론(30)은 센서모듈은 자이로스코프, 가속도센서, 지자기센서, GPS수신기, 기압센서 등을 포함할 수 있다. The sensor module serves to acquire sensing data for controlling the drone 30 . For example, the sensor module of the drone 30 may include a gyroscope, an acceleration sensor, a geomagnetic sensor, a GPS receiver, an air pressure sensor, and the like.

또한, 센서모듈에 복수의 센서가 포함되는 경우, 센서모듈은 센서융합기를 더 포함한다. 센서융합기는 복수의 센서데이터를 통해 획득되는 상태측정치(예를 들어, 자이로스코프, 가속도센서 또는 지자기센서를 통해 획득되는 회전운동상태측정치, GPS수신기, 기압센서를 통해 획득되는 병진운동상태측정치)를 융합하여 드론(30)의 상태추정치를 산출하고, 이를 제어기에 전달한다.In addition, when a plurality of sensors are included in the sensor module, the sensor module further includes a sensor fusion device. The sensor fusion device uses state measurements obtained through a plurality of sensor data (eg, rotational motion state measurements obtained through a gyroscope, acceleration sensor, or geomagnetic sensor, translational motion state measurements obtained through a GPS receiver, and barometric pressure sensor). By convergence, a state estimation value of the drone 30 is calculated and transmitted to the controller.

상기 제어기는 가상 제어명령어를 기반으로 하나 이상의 구동부(예를 들어, 모터)에 제공할 제어명령을 산출하는 역할을 수행한다. 상기 제어기는 가상 제어명령어를 기반으로 실제 제어명령어를 산출하는 제2 제어모듈(320) 제2 제어모듈(320)에 시간데이터를 제공하는 시간측정모듈(340, CLOCK) 및 제2 제어모듈(320)에서 전달된 실제 제어명령어와 센서모듈에서 제공된 상태추정치를 기반으로 제어명령을 산출하는 제어명령산출모듈(330)를 포함한다.The controller serves to calculate a control command to be provided to one or more driving units (eg, a motor) based on a virtual control command. The controller includes a second control module 320 that calculates an actual control command based on a virtual control command, a time measurement module 340 (CLOCK) that provides time data to the second control module 320, and a second control module 320. ) and a control command calculation module 330 that calculates a control command based on the actual control command transmitted from the sensor module and the state estimation value provided by the sensor module.

일 예로, 상기 제2 제어모듈(320)은 가상 제어명령어에서 하나 이상의 세부코드를 추출하는 세부코드추출부, 및 세부코드를 기반으로 실제 제어명령어를 탐색하는 명령어 탐색부를 포함한다. 또한, 상기 제2 제어모듈(320)은 가상 제어명령어가 정상적으로 현시점에 생성된 것에 해당하는지 검증하는 검증부를 더 포함할 수 있다. 기 설명된 제어모듈 내의 각 구성에 대한 상세한 설명은 생략한다.For example, the second control module 320 includes a detailed code extraction unit extracting one or more detailed codes from a virtual control command and a command search unit searching for an actual control command based on the detailed codes. In addition, the second control module 320 may further include a verification unit for verifying whether the virtual control command corresponds to one normally generated at the present time. A detailed description of each component in the previously described control module will be omitted.

상기 제어명령산출모듈(330)은 제2 제어모듈(320)로부터 실제 제어명령어와 센서모듈로부터 상태추정치를 수신하여, 사용자로부터 요청된 제어명령에 따라 드론(30)이 움직이기 위한 하나 이상의 구동부(예를 들어, 모터)에 대한 개별제어명령을 산출한다. 예를 들어, 제어명령산출모듈(330)은 실제 제어명령어를 기반으로 각 구동부 제어 시에 안정적인 움직임을 위해 센서모듈에서 획득된 상태추정치를 반영한다. 또한, 복수의 구동부가 이용되는 경우, 제어명령산출모듈(330)은 제어명령 달성을 위한 개별 구동부의 움직임을 산출한 후, 이를 위한 개별 제어명령을 생성하여 구동부에 전송한다.The control command calculation module 330 receives an actual control command from the second control module 320 and a state estimate from the sensor module, and at least one driving unit for moving the drone 30 according to the control command requested from the user ( For example, an individual control command for a motor) is calculated. For example, the control command calculation module 330 reflects the state estimation obtained from the sensor module for stable movement when controlling each driving unit based on the actual control command. In addition, when a plurality of driving units are used, the control command calculation module 330 calculates the movement of individual driving units to achieve a control command, and then generates an individual control command for this purpose and transmits it to the driving units.

상기 제2 제어모듈(320)은 제2 무선통신모듈(220)과 제어명령산출모듈(330) 사이에 칩으로 삽입되어 전기적으로 연결될 수도 있고, 제어명령산출모듈(330)이 내장된 칩 내부에 함께 소프트웨어 모듈로 포함되면서 제어명령산출모듈(330) 이전에 수신한 가상 비행명령어를 전처리할 수 있다. The second control module 320 may be inserted as a chip between the second wireless communication module 220 and the control command calculation module 330 and electrically connected, or the control command calculation module 330 may be embedded inside the chip. While being included as a software module, the virtual flight command received before the control command calculation module 330 may be pre-processed.

이를 통해, 기존의 드론(30)의 기본적인 구조 및 제어 프로세스를 변경하지 않고 가상 제어명령어를 이용한 제어방식을 적용할 수 있다. 또한, 제2 제어모듈(320)이 제어명령산출모듈(330)을 포함하는 칩에 함께 소프트웨어로 포함되는 경우, 하드웨어 구성이 전혀 추가되지 않아 드론(30)의 무게 증가가 발생하지 않을 수 있다.Through this, it is possible to apply a control method using a virtual control command without changing the basic structure and control process of the existing drone 30 . In addition, when the second control module 320 is included as software together with the chip including the control command calculation module 330, the weight of the drone 30 may not increase because no hardware configuration is added.

제2 제어모듈(320)은 상기 제2 무선통신모듈(220)을 통해 상기 드론(30)의 현재 위치정보(GPS)를 상기 컨트롤러(10)로 기 설정된 주기 또는 상기 제어신호를 수신할 때 전송할 수 있다.The second control module 320 transmits the current location information (GPS) of the drone 30 to the controller 10 through the second wireless communication module 220 at a preset period or when the control signal is received. can

항공 교통 관제 센터(40)는 항공 교통 관제 업무를 집행하는 곳으로 상기 컨트롤러(10)로부터 상기 드론(30)의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 획득할 수 있다.The air traffic control center 40 executes air traffic control tasks and can obtain the current location information of the drone 30, the one-time access code, and control signals from the controller 10.

이후, 상기 항공 교통 관제 센터(40)는 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 기반으로, 상기 드론(30)의 사용자가 인증된 사용자인기, 상기 드론(30)이 상기 제어신호를 기반으로 제대로 동작하고 있는지를 판단할 수 있다.Thereafter, the air traffic control center 40 determines whether the user of the drone 30 is an authenticated user, and the drone 30 receives the control signal based on the current location information, the one-time access code, and the control signal. Based on this, you can determine if it is working properly.

도 6은 본 발명에 따른 드론을 제어하기 위한 시스템(1)을 설명하는 예시도이다.6 is an exemplary view illustrating a system 1 for controlling a drone according to the present invention.

시스템(1)은 모바일 앱 액세스 관리를 통해 드론(30)에 안전하게 액세스할 수 있다. 여기서, 시스템(1)은 네트워크 없이도 안전한 액세스를 위한 일회성 임의 코드를 생성할 수 있다.System 1 can securely access drone 30 through mobile app access management. Here, the system 1 can generate a one-time arbitrary code for secure access without a network.

또한, 시스템(1)은 컨트롤러(10)와 드론(30) 간의 소프트웨어 기반 보안 드론 명령 통신이 가능하고, 드론 명령 통신을 위해 생성된 일회성 임의 코드를 사용할 수 있다.In addition, the system 1 can perform software-based secure drone command communication between the controller 10 and the drone 30, and can use a one-time arbitrary code generated for drone command communication.

그리고, 시스템(1)은 하드웨어가 필요하지 않으므로 드론(30)의 무게와 전력 소비가 증가하지 않도록 할 수 있고, 무선 주파수 기반 전송으로 장거리 통신 범위(~20마일) 보장할 수 있다.In addition, since the system 1 does not require hardware, the weight and power consumption of the drone 30 may not increase, and a long-distance communication range (~20 miles) can be guaranteed by radio frequency-based transmission.

또한, 시스템(1)은 영공에서 아군 드론을 안정적으로 식별할 수 있으며, 조종사나 드론이 해킹당했는지 즉시 인식하여 위험도를 평가할 수 있다.In addition, the system 1 can reliably identify friendly drones in the airspace, immediately recognize whether a pilot or drone has been hacked, and evaluate the degree of risk.

도 7과 도 8은 기존의 드론의 약점과 취약점을 설명한 예시도이다.7 and 8 are exemplary diagrams explaining weaknesses and vulnerabilities of existing drones.

도 7과 도 8을 보면, 기존의 드론은 무선 통신을 통한 데이터 간섭 및 차단이될 수 있고, 암호화가 없어 보안에 취약하며, 이에 따라 조작을 통한 경로 변경이 가능하고, 악성 코드 감염에 취약하다.Referring to FIGS. 7 and 8, conventional drones can interfere with and block data through wireless communication, are vulnerable to security due to lack of encryption, and thus can change routes through manipulation, and are vulnerable to malicious code infection. .

도 9는 AES 암호화를 위해 드론에 별도로 설치되는 하드웨어를 나타낸 도면이다.9 is a diagram showing hardware separately installed in a drone for AES encryption.

기존의 드론은 암호화 기술이 없고, 군용 드론의 경우도 AES 암호화를 사용하는데, 이를 위해 드론에 별도로 설치되는 추가 하드웨어가 필요하다. Existing drones do not have encryption technology, and military drones also use AES encryption, which requires additional hardware separately installed on the drone.

여기서, AES 암호화는 다른 추가 하드웨어 (이미지 권한)가 필요한 CMVP로 검증될 수 있다.Here, AES encryption can be verified with CMVP which requires other additional hardware (image rights).

또한, 상기 하드웨어는 스마트폰과 비슷한 크기로, 드론의 무게가 증가되고, 전력 소비 또한 증가되며, 배터리 수명이 감소될 수 있으며, 소형, 상업용 드론에 맞추기에는 너무 클 수 있다.Additionally, the hardware is similar in size to a smartphone, which increases the weight of the drone, increases power consumption, may reduce battery life, and may be too large to fit into small, commercial drones.

도 10은 본 발명에 따른 드론의 장점을 설명하기 위한 도면이다.10 is a diagram for explaining the advantages of a drone according to the present invention.

본 발명에 따른 드론(30)의 장점은, 보안 명령은 무선 주파수 통신을 사용하여 데이터가 200 바이트 미만이어야 하고, 1 초에 최소 20 개의 명령 코드 전송할 수 있다.An advantage of the drone 30 according to the present invention is that the data for security commands must be less than 200 bytes using radio frequency communication, and at least 20 command codes can be transmitted per second.

또한, 동적 보안 통신이 가능하고, 드론 무게의 증가 없으며, 추가 하드웨어가 필요하지 않다.In addition, dynamic secure communication is possible, there is no increase in drone weight, and no additional hardware is required.

또한, 군용 드론 용 CMVP 프로토콜을 기반으로 작업이 가능하다.In addition, it is possible to work based on the CMVP protocol for military drones.

도 11은 본 발명에 따른 시스템(1)을 위한 필요한 통신방식을 설명하기 위한 도면이다.11 is a diagram for explaining a necessary communication method for the system 1 according to the present invention.

본 발명에 따른 시스템(1)은 암호화된 데이터는 너무 커서(> 200 바이트) 무선 주파수 (RF)를 통해 전송할 수 없으며 5G를 통해서만 전송할 수 있다. 그러나, 5G의 전송 거리는 너무 짧다(<0.6 마일). In the system 1 according to the present invention, the encrypted data is too large (>200 bytes) to be transmitted via radio frequency (RF) and can only be transmitted via 5G. However, the transmission distance of 5G is too short (<0.6 miles).

여기서, swIDch는 훨씬 더 넓은 영역(> 20 마일)을 포괄하는 무선 주파수를 통해 동적 보안 명령을 보낼 수 있다.Here, swIDch can send dynamic security commands over radio frequencies covering a much larger area (>20 miles).

도 12는 기존의 항공기 식별 방법을 설명하기 위한 도면이다.12 is a diagram for explaining a conventional aircraft identification method.

먼저, 항공 교통 관제 센터가 아군인지 적군인지 자동을 식별(IFF)하기 위해 레이더를 통해 항공기에 심문 신호를 보낼 수 있다. 다음으로, 항공기의 응답기가 비행 전 식별 코드 세트에 응답할 수 있다. 이후, 항공 교통 관제 센터가 레이더에 표시된 위치로 항공기가 기 입력된 항공기정보에 매칭되는 우호적 상태인지 확인할 수 있다.First, the air traffic control center can send an interrogation signal to the aircraft via radar to automatically identify friend or foe (IFF). Next, the aircraft's transponder may respond with a set of pre-flight identification codes. Thereafter, the air traffic control center can confirm whether the aircraft is in a friendly state matching the pre-entered aircraft information to the location indicated on the radar.

도 13은 기존의 아군인지 적군인지 자동을 식별(IFF)하는 것의 제한사항을 설명하기 위한 도면이다.FIG. 13 is a diagram for explaining limitations of conventional automatic identification (IFF) of friend or foe.

UAV에 대한 아군인지 적군인지 자동을 식별(IFF)하는 것의 제한사항은 현재 IFF 방법은 항공기에 트랜스 폰더 (하드웨어)가 필요하다. 그런데 소형 상업용 드론은 추가 하드웨어를 설치하기위한 물리적 공간이 제한되어 있다. 또한, 드론의 효과는 무게와 전력 소비에 따라 달라진다. 그리고, 응답기를 위한 공간이 없다. 그러므로 이러한 위의 요인으로 인해 IFF 기능이 없을 수밖에 없다.A limitation of friendly or hostile automatic identification (IFF) for UAVs is that current IFF methods require a transponder (hardware) on the aircraft. However, small commercial drones have limited physical space to install additional hardware. Also, the effectiveness of a drone depends on its weight and power consumption. And, there is no space for a transponder. Therefore, due to the above factors, there is no choice but to have an IFF function.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features of the present invention. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (2)

사용자 인증을 위한 일회성 액세스 코드를 생성하여 사용자 인증을 요청하는 사용자 인증수단-상기 사용자 인증수단은, 애플리케이션 또는 인증용카드를 포함함-;
상기 일회성 액세스 코드를 기반으로 사용자 인증을 수행후, 명령어에 가상코드를 포함한 제어신호를 생성하여 드론으로 전송하는 컨트롤러;
상기 수신한 제어신호를 기반으로 구동하고, 영상정보와 현재 위치정보를 상기 컨트롤러로 전송하는 상기 드론; 및
상기 컨트롤러로부터 상기 드론의 상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 전송받는 항공 교통 관제 센터;
를 포함하는, 시스템.
User authentication means for requesting user authentication by generating a one-time access code for user authentication, wherein the user authentication means includes an application or an authentication card;
After performing user authentication based on the one-time access code, a controller generates a control signal including a virtual code in a command and transmits it to the drone;
the drone driving based on the received control signal and transmitting image information and current location information to the controller; and
an air traffic control center that receives the current location information of the drone, the one-time access code, and a control signal from the controller;
Including, system.
제1항에 있어서,
상기 항공 교통 관제 센터는,
상기 현재 위치정보, 상기 일회성 액세스 코드 및 제어신호를 기반으로 상기 사용자가 인증된 사용자인지를 판단하고,
상기 드론이 상기 제어신호에 맞게 구동되는지를 판단하는, 시스템.
According to claim 1,
The air traffic control center,
Determine whether the user is an authenticated user based on the current location information, the one-time access code, and the control signal;
A system for determining whether the drone is driven according to the control signal.
KR1020210072814A 2021-06-04 2021-06-04 Method, System and Program of Drone Control, Pilot Certification and Drone Identification KR20220164265A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210072814A KR20220164265A (en) 2021-06-04 2021-06-04 Method, System and Program of Drone Control, Pilot Certification and Drone Identification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210072814A KR20220164265A (en) 2021-06-04 2021-06-04 Method, System and Program of Drone Control, Pilot Certification and Drone Identification

Publications (1)

Publication Number Publication Date
KR20220164265A true KR20220164265A (en) 2022-12-13

Family

ID=84439238

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210072814A KR20220164265A (en) 2021-06-04 2021-06-04 Method, System and Program of Drone Control, Pilot Certification and Drone Identification

Country Status (1)

Country Link
KR (1) KR20220164265A (en)

Similar Documents

Publication Publication Date Title
US11250417B2 (en) Virtual code-based control system, method, and program, control device, and control signal generating means
US11117664B2 (en) Authentication of users for securing remote controlled devices
US10713959B2 (en) Low altitude aircraft identification system
US9651944B2 (en) Unmanned aerial vehicle piloting authorization
CN112687122B (en) Information transmission method, vehicle, cloud terminal and cockpit in automatic driving process
US11209815B2 (en) Drone control registration
US10135624B2 (en) Wireless sensor architecture
KR102269913B1 (en) System, method and program for controlling device by virtual code, controlled device, and the means for making control signal
US10172171B2 (en) System for connecting a mobile device to a wireless network of an aircraft
WO2018209683A1 (en) Identify authentication method and device, machine readable storage medium, and system
US8495722B1 (en) Method and system for controlling access to an aircraft-based wireless network
EP3680793B1 (en) System, method, and program for providing virtual code, virtual code generating device, and virtual code verifying device
CN110337390A (en) For system of defense from the passive vehicle access control system of bluetooth low energy (BLE) and its method of relay attack
US20190149322A1 (en) Verifying identity identifier transmitted by an aerial vehicle
JP6708958B2 (en) Information processing terminal, information processing system, program, and control method
Samanth et al. Security in internet of drones: A comprehensive review
KR20180066872A (en) A drone controlled through communication network and control method of the drone
KR20220164265A (en) Method, System and Program of Drone Control, Pilot Certification and Drone Identification
Kwon Vulnerability analysis of the Mavlink protocol for Unmanned Aerial Vehicles
KR20220057074A (en) System for rental a drone
KR102575304B1 (en) System and method for authenticating drone and apparatus for executing the system
US20220109985A1 (en) Virtual code-based control system, method and program, control device and control signal generating means for unmanned moving object
KR102401920B1 (en) System for authenticating a user of drone
KR102522599B1 (en) Electronic device for providing location-based bidirectional key exchange protocol and operating method thereof
WO2022209040A1 (en) Moving body authentication device, moving body authentication system, moving body authentication method, and non-transitory computer-readable medium