KR101703236B1 - Method and apparatus for recording flight data of unmanned aerial vehicle - Google Patents

Method and apparatus for recording flight data of unmanned aerial vehicle Download PDF

Info

Publication number
KR101703236B1
KR101703236B1 KR1020150190550A KR20150190550A KR101703236B1 KR 101703236 B1 KR101703236 B1 KR 101703236B1 KR 1020150190550 A KR1020150190550 A KR 1020150190550A KR 20150190550 A KR20150190550 A KR 20150190550A KR 101703236 B1 KR101703236 B1 KR 101703236B1
Authority
KR
South Korea
Prior art keywords
driver
virtual
data
sensor
unit
Prior art date
Application number
KR1020150190550A
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 KR1020150190550A priority Critical patent/KR101703236B1/en
Application granted granted Critical
Publication of KR101703236B1 publication Critical patent/KR101703236B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D47/00Equipment not otherwise provided for
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D9/00Recording measured values
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • B64D2700/62289

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)

Abstract

The present invention provides a method and an apparatus to record flight data of an unmanned aerial vehicle (UAV), generating the flight data of the UAV in order to efficiently verify whether or not the UAV is implemented to obey a safety regulation. According to the present invention, the apparatus comprises: a storage unit; a test agent receiving a control signal from an automatic test system to output the control signal; and a virtual driver unit connected to a control unit and a driver of the UAV in a communicable manner, receiving the control signal from the test agent to output the control signal to the driver, and receiving sensor data from the driver. The virtual driver unit stores the sensor data as the flight data in the storage unit. The test agent reads the flight data from the storage unit to transmit the flight data to the automatic test system.

Description

무인 항공기 비행 기록 저장 방법 및 장치{METHOD AND APPARATUS FOR RECORDING FLIGHT DATA OF UNMANNED AERIAL VEHICLE}TECHNICAL FIELD [0001] The present invention relates to a method and an apparatus for storing a flight record of an unmanned airplane,

본 발명은 무인 항공기의 제어 시스템의 검증 방법에 관한 것으로, 더 구체적으로는 무인 항공기의 비행 기록 저장 방법 및 장치에 관한 것이다.The present invention relates to a verification method for a control system of an unmanned aerial vehicle, and more particularly, to a method and an apparatus for storing a flight record of an unmanned aerial vehicle.

무인 항공기(Unmanned aerial vehicle: UAV) 또는 드론(drone)이란 조종사를 태우지 않고, 공기역학적 힘에 의해 부양하여 자율적으로 또는 원격조종으로 비행을 하며, 무기 또는 일반화물을 실을 수 있는 일회용 또는 재사용할 수 있는 동력 비행체를 의미한다. 무인 항공기는 탑재컴퓨터에 저장된 경로를 이용하여 자동/자율적으로 제어되거나 또는 지상 관제장비의 원격 제어를 통해 운영될 수 있다. 지상관제장비의 원격 제어를 통한 제어 방식은 통신 링크 결함, 시간 지연, 지상 구조물/비행물체 및 시스템 고장 등의 내·외부 환경변화에 실시간 대처가 어렵기 때문에, 결과적으로 무인 항공기의 비행 안정성 확보의 중요성이 강조되고 있으며, 이러한 문제점의 해결을 위하여 무인 항공기가 스스로 내·외부 환경변화를 인식하고, 최적 운용 방법을 결정하여 운용하는 자율화 또는 자율성에 대한 연구가 활발히 진행 중이다. An unmanned aerial vehicle (UAV) or drone is an aircraft that does not burn its pilots but which can be lifted by aerodynamic forces to fly autonomously or remotely and can be disposable or reusable Means a powered vehicle. Unmanned aerial vehicles can be controlled autonomously or autonomously using the path stored in the onboard computer or through remote control of the ground control equipment. Remote control of ground control equipment is difficult to control in real time due to changes in internal and external environment such as communication link defects, time delay, ground structures / flying objects, and system failure. As a result, In order to solve these problems, researches on autonomy or autonomy are being actively carried out in order to recognize the changes in the internal and external environment of the unmanned aerial vehicle itself and to determine and operate the optimum operation method.

더욱이, 최근 무인 항공기 산업의 빠른 성장과 함께 각종 사고 사례 또한 증가되고 있다. 국내외에서는 이러한 안전사고가 사회적 이슈가 되어, 무인 항공기의 안전 사고를 예방하기 위한 여러 방안이 논의되고 있다. 안전 사고를 예방하기 위해서는 무인 항공기가 비행금지 구역에서의 비행 회피, 배터리 잔량에 따른 출발지 회귀, 기상 악조건에서의 비행 성능 등의 안전비행 기능이 정확하게 동작하는 것 등을 보장해야 한다. 하지만, 실제로 필드 테스트를 통해 그 결과를 검증하지 않는 한 해당 기능이 정확하게 동작하는 것을 보증하는 데는 어려움이 있다. 따라서, 인명보호와 경제 손실을 예방하기 위한 안전한 무인 항공기에 탑재한 자율제어기능의 관련 법규의 준수 여부를 사전에 검증할 수 있는 시스템의 필요성이 대두되었다. Moreover, the recent rapid growth of the unmanned aerial vehicle industry and the increasing number of accidents. At home and abroad, these safety accidents are social issues, and various measures are being discussed to prevent safety accidents on UAVs. In order to prevent safety accidents, it is necessary to ensure that the unmanned aircraft operates safely, such as flight avoidance in the non-flying area, departure from the battery level, and flight performance in bad weather conditions. However, it is difficult to guarantee that the function will work correctly unless the results are actually verified through field testing. Therefore, there has been a need for a system that can verify the compliance of the autonomous control function mounted on the safe unmanned airplane in advance to protect human life and economic loss.

검증 시스템을 구축하기 위해서는 무인 항공기에 탑재한 자율제어기능의 관련 법규의 준수 여부를 검증하기 위한 무인 항공기의 비행 데이터가 필요하므로, 무인 항공기의 비행 데이터를 생성하는 방안에 대한 연구가 수행되어야 한다. In order to construct the verification system, the flight data of the unmanned airplane is required to verify compliance with the related regulations of the autonomous control function mounted on the unmanned airplane. Thus, a study on generating the flight data of the unmanned airplane should be conducted.

1. 무인항공기의 안정성 평가 비행시험 방법론, 이윤생, 석진영, 김태식 韓國航空宇宙學會 2001年度 春季學術發表會 論文集, 2001.4, 371-376 (6 pages)1. Reliability Evaluation of Unmanned Aerial Vehicle Flight Test Methodology Lee, Youn-Sung, Jin-Young Seo, Tae-Sik Kim Korea Aerospace Exploration Agency (JSME) 2001 Spring, 2001, 371-376 (6 pages) 2. 소형 무인헬리콥터 전자동비행을 위한 비행운용 프로그램 개발 및 검증, 송준범 변영섭 송우진 김정 강범수 (한국항공우주학회 학술발표회 논문집, Vol.2010 No.11, [2010])2. Development and Verification of Flight Operation Program for Full Automatic Unmanned Helicopter Operation, Jun-Sup Song, Woo-Jin Song, Kwon Bum-Jung Kang, Bum-Soo (Korea Aerospace Research Institute, Vol.2010 No.11, [2010])

본 발명의 과제는 비행 안정성 확보를 위해 자율제어 기능을 탑재한 무인 항공기가 안전규정을 준수하도록 구현되었는지를 효율적으로 검증하기 위해 필요한 무인 항공기의 비행 데이터를 생성하는 방법 및 장치를 제공하는 것이다.The present invention provides a method and an apparatus for generating flight data of an unmanned aeronautical vehicle for efficiently verifying whether an unmanned air vehicle equipped with an autonomous control function is implemented to comply with safety regulations in order to secure flight stability.

본 발명의 다른 과제는 무인 항공기의 비행 데이터를 효율적으로 기록하는 방법 및 장치를 제공하는 것이다.Another object of the present invention is to provide a method and apparatus for efficiently recording flight data of an unmanned aerial vehicle.

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

본 발명의 실시예의 일 특징에 따르면, 무인 항공기(Unmanned Aerial Vehicle: UAV)의 비행 데이터를 저장하기 위한 장치가 제공된다. 본 장치는 저장부, 테스트 자동화 시스템으로부터 제어 신호를 입력 받고 상기 제어 신호를 출력하도록 구성된 테스트 에이전트, 및 상기 무인 항공기의 제어부 및 드라이버와 통신 가능한 방식으로 접속되고 상기 테스트 에이전트로부터 상기 제어 신호를 입력 받아 상기 드라이버로 출력하고 상기 드라이버로부터 센서 데이터를 입력 받도록 구성된 가상 드라이버 유닛을 포함하고, 상기 가상 드라이버 유닛은 상기 센서 데이터를 비행 데이터로서 상기 저장부에 저장하도록 더 구성되며, 상기 테스트 에이전트는 상기 저장부로부터 상기 비행 데이터를 읽어 들여 상기 테스트 자동화 시스템으로 전송하도록 더 구성될 수 있다. According to an aspect of an embodiment of the present invention, an apparatus for storing flight data of an Unmanned Aerial Vehicle (UAV) is provided. The apparatus includes a storage unit, a test agent configured to receive a control signal from the test automation system and output the control signal, and a controller connected to the controller and driver of the unmanned airplane in a communicable manner and receiving the control signal from the test agent And a virtual driver unit configured to output the sensor data to the driver and receive sensor data from the driver, wherein the virtual driver unit is further configured to store the sensor data as flight data in the storage unit, And to send the flight data to the test automation system.

일 실시예에서, 상기 드라이버 유닛은 GPS 센서를 구동하는 GPS 센서 드라이버, 자이로 센서를 구동하는 자이로 센서 드라이버 및 가속도 센서를 구동하는 가속도 센서 드라이버 중 적어도 하나의 센서 드라이버 및 상기 무인 항공기의 복수의 회전자(rotors)의 각각에 대한 모터 PWM 제어 드라이버를 포함하며, 상기 가상 드라이버 유닛은, 상기 GPS 센서 드라이버를 구동하는 가상 GPS 센서 드라이버, 상기 자이로 센서 드라이버를 구동하는 가상 자이로 센서 드라이버 및 상기 가속도 센서 드라이버를 구동하는 가상 가속도 센서 드라이버 중 적어도 하나의 가상 드라이버 및 상기 모터 PWM 제어 드라이버를 구동하는 가상 모터 PWM 제어 드라이버를 포함할 수 있다. In one embodiment, the driver unit includes at least one sensor driver among a GPS sensor driver for driving the GPS sensor, a gyro sensor driver for driving the gyro sensor, and an acceleration sensor driver for driving the acceleration sensor, and a plurality of rotors wherein the virtual driver unit includes a virtual GPS sensor driver for driving the GPS sensor driver, a virtual gyro sensor driver for driving the gyro sensor driver, and a motor driver for driving the acceleration sensor driver At least one virtual driver among the virtual acceleration sensor drivers to be driven and a virtual motor PWM control driver for driving the motor PWM control driver.

일 실시예에서, 상기 제어 신호는 상기 적어도 하나의 가상 드라이버 및 가상 모터 PWM 제어 드라이버를 활성화하거나 비활성화하기 위한 신호를 포함할 수 있다. In one embodiment, the control signal may comprise a signal for activating or deactivating the at least one virtual driver and the virtual motor PWM control driver.

일 실시예에서, 상기 가상 드라이버 유닛은, 상기 드라이버 유닛의 드라이버들 중 상기 센서 데이터를 출력한 드라이버가 구동하는 타겟 센서 및 상기 센서 데이터를 입력 받은 시간을 나타내는 타임 스탬프(time stamp; Tick 값)를 상기 센서 데이터와 연관시켜 상기 저장부에 저장하도록 더 구성될 수 있다. In one embodiment, the virtual driver unit may include a target sensor driven by a driver that outputs the sensor data among the drivers of the driver unit, and a time stamp (Tick value) indicating a time when the sensor data is input The sensor data may be further stored in the storage unit in association with the sensor data.

일 실시예에서, 상기 가상 드라이버 유닛은 상기 센서 데이터를 상기 무인 항공기의 제어부로 출력하도록 더 구성되고, 상기 제어부는, 상기 무인 항공기의 현재 자세 값, 상기 무인 항공기의 수정된 목표 자세 값 및 상기 센서 데이터를 기초로 상기 복수의 회전자 각각에 대한 PID(Proportional Integral Differential: 비례 적분 미분) 제어량을 계산하고, 상기 복수의 회전자 각각에 대해 계산된 PID 제어량으로부터 상기 복수의 회전자 각각에 대한 모터 출력 데이터를 계산하고, 상기 복수의 회전자 각각에 대해 계산된 모터 출력 데이터를 상기 가상 모터 PWM 제어 드라이버로 출력하도록 구성될 수 있다. In one embodiment, the virtual driver unit is further configured to output the sensor data to a control unit of the unmanned air vehicle, and the control unit is configured to control the sensor unit based on the current attitude value of the unmanned air vehicle, Calculating a PID (Proportional Integral Differential) control amount for each of the plurality of rotors based on the data, and calculating a PID control amount for each of the plurality of rotors from a motor output And to output the motor output data calculated for each of the plurality of rotors to the virtual motor PWM control driver.

일 실시예에서, 상기 가상 드라이버 유닛은 상기 제어부로부터 상기 복수의 회전자 각각에 대한 모터 출력 데이터를 입력 받아 상기 비행 데이터의 일부로서 상기 저장부에 저장하도록 더 구성될 수 있다. In one embodiment, the virtual driver unit may be further configured to receive motor output data for each of the plurality of rotors from the control unit and store the received motor output data in the storage unit as a part of the flight data.

본 발명의 실시예의 다른 특징에 따르면, 무인 항공기의 비행 데이터를 저장하기 위한 방법이 제공된다. 본 방법은 테스트 에이전트에서 테스트 자동화 시스템으로부터 제어 신호를 입력 받아 상기 제어 신호를 가상 드라이버 유닛에 전송하는 단계, 상기 가상 드라이버 유닛에서 드라이버로 상기 제어 신호를 출력하고, 상기 드라이버로부터 센서 데이터를 입력 받아 상기 무인 항공기의 제어부로 전송하는 단계, 상기 가상 드라이버 유닛에서 상기 제어부로부터 모터 PWM 출력 데이터를 입력 받아 상기 모터 PWM 출력 데이터를 상기 센서 데이터와 함께 비행 데이터로서 저장부에 저장하는 단계, 및 상기 테스트 에이전트에서 상기 저장부로부터 상기 비행 데이터를 읽어 들여 상기 테스트 자동화 시스템으로 전송하는 단계를 포함할 수 있다. 여기서, 상기 모터 PWM 출력 데이터는 상기 센서 데이터, 현재 자세 값 및 목표 자세 값에 기초하여 상기 무인 항공기의 비행 제어에 필요한 연산 동작을 수행함으로써 얻어질 수 있다. According to another aspect of an embodiment of the present invention, a method for storing flight data of an unmanned aerial vehicle is provided. The method includes receiving a control signal from a test automation system in a test agent, transmitting the control signal to a virtual driver unit, outputting the control signal to a driver in the virtual driver unit, receiving sensor data from the driver, A step of receiving motor PWM output data from the control unit in the virtual driver unit and storing the motor PWM output data together with the sensor data in the storage unit as flight data, And reading the flight data from the storage unit and transmitting the flight data to the test automation system. Here, the motor PWM output data may be obtained by performing a calculation operation necessary for flight control of the UAV on the basis of the sensor data, the current attitude value, and the target attitude value.

일 실시예에서, 상기 가상 드라이버 유닛은, 가상 GPS 센서 드라이버, 가상 자이로 센서 드라이버 및 가상 가속도 센서 드라이버 중 적어도 하나의 가상 드라이버 및 상기 무인 항공기의 복수의 회전자(rotors)의 각각에 대한 가상 모터 PWM 제어 드라이버를 포함할 수 있다. In one embodiment, the virtual driver unit is configured to control at least one virtual driver of a virtual GPS sensor driver, a virtual gyro sensor driver, and a virtual acceleration sensor driver, and a virtual motor PWM for each of a plurality of rotors of the unmanned air vehicle Control drivers.

일 실시예에서, 상기 제어부는, 상기 무인 항공기의 현재 자세 값, 상기 무인 항공기의 목표 자세 값 및 상기 센서 데이터를 기초로 상기 복수의 회전자 각각에 대한 PID(Proportional Integral Differential: 비례 적분 미분) 제어량을 계산하고, 상기 복수의 회전자 각각에 대해 계산된 PID 제어량으로부터 상기 복수의 회전자 각각에 대한 모터 출력 데이터를 계산하고, 상기 복수의 회전자 각각에 대해 계산된 모터 출력 데이터를 상기 가상 모터 PWM 제어 드라이버로 출력하도록 작동될 수 있다. In one embodiment, the control unit calculates a PID (Proportional Integral Differential) control amount for each of the plurality of rotors based on the current attitude value of the UAV, the target attitude value of the UAV, Calculates motor output data for each of the plurality of rotors from the calculated PID control amount for each of the plurality of rotors, and outputs motor output data calculated for each of the plurality of rotors to the virtual motor PWM Lt; RTI ID = 0.0 > control driver. ≪ / RTI >

본 발명의 실시예들에 따른 무인 항공기의 비행 데이터 저장 방법 및 장치에 따르면, 비행 안정성 확보를 위해 자율제어 기능을 탑재한 무인 항공기가 안전규정을 준수하도록 구현되었는지를 효율적으로 검증할 수 있도록 무인 항공기의 비행 데이터를 생성할 수 있는 효과가 제공된다. According to the method and apparatus for storing flight data of an unmanned airplane according to the embodiments of the present invention, in order to ensure flight stability, an unmanned airplane equipped with an autonomous control function can be efficiently used to verify whether it is implemented to comply with safety regulations. The flight data of the aircraft can be generated.

본 발명의 실시예들에 따른 무인 항공기의 비행 데이터 저장 방법 및 장치에 따르면, 무인 항공기의 비행 데이터를 효율적으로 기록하는 효과가 있다.According to the method and apparatus for storing flight data of the UAV according to the embodiments of the present invention, there is an effect of efficiently recording the flight data of the UAV.

도 1은 무인 항공기가 테스트 자동화 시스템과 연결된 일 실시예를 개략적으로 도시한 도면이다.
도 2는 도 1의 무인 항공기의 전자부품 수용부에 포함되는 전자 모듈의 블록도의 일 실시예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따라 무인 항공기의 전자 모듈 내의 비행 데이터의 흐름을 예시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 무인 항공기의 비행 데이터의 형식(format)을 도시한 도면이다.
1 is a schematic diagram of an embodiment in which an unmanned aerial vehicle is connected to a test automation system.
FIG. 2 is a block diagram of an electronic module included in an electronic component accommodating portion of the unmanned aerial vehicle of FIG. 1;
3 is a flow chart illustrating the flow of flight data in an electronic module of an unmanned aerial vehicle according to an embodiment of the present invention.
4 is a diagram illustrating a format of flight data of an unmanned aerial vehicle according to an embodiment of the present invention.

본 발명의 이점들과 특징들 그리고 이들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해 질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 본 실시예들은 단지 본 발명의 개시가 완전하도록 하며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려 주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of attaining them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. To fully disclose the scope of the invention to a person skilled in the art, and the invention is only defined by the scope of the claims.

본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들어, 단수로 표현된 구성 요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성 요소를 포함하는 개념으로 이해되어야 한다. 또한, 본 발명의 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성이 배제되는 것은 아니다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. For example, an element expressed in singular < Desc / Clms Page number 5 > terms should be understood to include a plurality of elements unless the context clearly dictates a singular value. In addition, in the specification of the present invention, it is to be understood that terms such as "include" or "have" are intended to specify the presence of stated features, integers, steps, operations, components, The use of the term does not exclude the presence or addition of one or more other features, numbers, steps, operations, elements, parts or combinations thereof.

본 명세서에 기재된 실시예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.As used herein, the term " module " or " module " means a functional part that performs at least one function or operation, and may be implemented in hardware or software or a combination of hardware and software. In addition, a plurality of 'modules' or a plurality of 'parts' may be integrated into at least one module except for 'module' or 'module' which needs to be implemented by specific hardware, and may be implemented by at least one processor.

덧붙여, 다르게 정의되지 않는 한 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 발명의 명세서에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, all terms used herein, including technical or scientific terms, unless otherwise defined, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be construed as meaning consistent with meaning in the context of the related art and may be interpreted in an ideal or overly formal sense unless explicitly defined in the specification of the present invention It does not.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions will not be described in detail if they obscure the subject matter of the present invention.

도 1은 무인 항공기가 테스트 자동화 시스템과 연결된 일 실시예를 개략적으로 도시한 도면이다. 1 is a schematic diagram of an embodiment in which an unmanned aerial vehicle is connected to a test automation system.

본 개시에 있어서, 무인 항공기(100)는 ‘드론’이라 불리어지는, 운행자가 탑승하지 않은 무인 항공체를 지칭한다. 무인 항공기(100)는, 예컨대 고정 날개형 무인 항공체, 로버(rovers), 도보 로봇(walking robots), 호버크래프트(hovercraft) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 도 1에 도시된 무인 항공기(100)의 구성 요소들은 무인 항공기(100)에 탑재되는 모든 기계적 구성을 반영한 것이 아니고 필수적인 것도 아니어서, 무인 항공기(100)는 도시된 구성 요소들 보다 많은 구성 요소를 포함하거나 그 보다 적은 구성 요소를 포함할 수 있음을 인식하여야 한다.In the present disclosure, the UAV 100 refers to an unmanned aerial vehicle, which is called a "drones", on which no crew is boarded. The UAV 100 may include, but is not limited to, fixed wing unmanned aerial vehicles, rovers, walking robots, hovercraft, and the like. The components of the UAV 100 shown in FIG. 1 do not reflect and are not essential to all the mechanical configurations mounted on the UAV 100, so that the UAV 100 has more components than the illustrated components. And may include less or more elements.

도 1에 도시된 바와 같이, 무인 항공기(100)는 회전자들(rotors, 110), 및 전자부품 수용부(120)를 포함할 수 있다. 회전자들(110)은 무인 항공기(100)의 운항에 필요한 양력을 제공하는 역할을 할 수 있다. 도 1에는 8개의 회전자가 도시되어 있으나, 요구되는 양력과 운항 시간 요건에 따라 회전자들(110)의 개수를 다양하게 변경하여 설계할 수 있다. 전자부품 수용부(120)는 전자 부품들로 구성된 전자 모듈을 수용하기에 적합한 임의의 하우징일 수 있다. 전자부품 수용부(120) 내의 전자 부품들을 전자부품 수용부(120)에 고정시켜 접지시키는 것이 가능하다. As shown in FIG. 1, the UAV 100 may include rotors 110, and an electronic component receiving portion 120. The rotors 110 may serve to provide the lift required for the operation of the UAV 100. Although FIG. 1 shows eight rotors, the number of rotors 110 may be varied according to the required lifting and operating time requirements. The electronic component receiving portion 120 may be any suitable housing for receiving an electronic module composed of electronic components. It is possible to fix the electronic parts in the electronic part accommodating part 120 to the electronic part accommodating part 120 and ground them.

테스트 자동화 시스템(300)은 무인 항공기(100)의 비행 데이터 녹화 제어 신호를 송신하고, 녹화되 비행 데이터를 수신하는 장치이다. 테스트 자동화 시스템(300)은 무인 항공기(100)의 전자 모듈(200)의 외부에 위치하며, 무인 항공기(100)의 전자 모듈(200)의 테스트 에이전트(250)와 유무선으로 통신 가능한 방식으로 접속될 수 있다. The test automation system 300 is a device for transmitting the flight data recording control signal of the UAV 100 and receiving the recorded flight data. The test automation system 300 is located outside the electronic module 200 of the UAV 100 and is connected to the test agent 250 of the electronic module 200 of the UAV 100 in a wired / .

도 2는 도 1의 전자부품 수용부에 포함되는 전자 모듈의 블록도의 일 실시예를 도시한 도면이다.FIG. 2 is a block diagram of an electronic module included in the electronic component accommodating portion of FIG. 1; FIG.

무인 항공기의 전자 모듈(200)은 테스트 에이전트(250) 및 가상 드라이버 유닛(240)을 포함할 수 있으며, 테스트 에이전트(250) 및 가상 드라이버 유닛(240)은 제어부(210)와 통신 가능한 방식으로 접속될 수 있다. 일 실시예에서 무인 항공기의 전자 모듈(200)은 무인 항공기의 통상적인 전자 모듈에 테스트 에이전트(250) 및 가상 드라이버 유닛(240)를 포팅하여 구현될 수 있다. 즉, 전자 모듈에 테스트 에이전트(250) 및 가상 드라이버 유닛(240)를 포팅하여 실제 비행 데이터를 저장부(220)에 저장하도록 구성될 수 있다. The electronic module 200 of the unmanned aerial vehicle may include a test agent 250 and a virtual driver unit 240. The test agent 250 and the virtual driver unit 240 may be connected to the control unit 210 in a manner . In one embodiment, the electronic module 200 of the unmanned aerial vehicle may be implemented by porting the test agent 250 and the virtual driver unit 240 to a conventional electronic module of an unmanned aerial vehicle. That is, the test agent 250 and the virtual driver unit 240 may be ported to the electronic module to store the actual flight data in the storage unit 220.

도 2에 도시된 바와 같이, 전자 모듈(200)은 제어부(210)를 포함할 수 있다. As shown in FIG. 2, the electronic module 200 may include a control unit 210.

제어부(210)는 무인 항공기(100)의 운항을 제어하기 위한 연산을 수행할 수 있다. 제어부(210)은 애플리케이션 소프트웨어(도시되지 않음), 운영체제(도시되지 않음) 및 마이크로 제어 유닛(도시되지 않음)을 포함할 수 있다. 일 실시예에서, 제어부(210)은 무인 항공기의 목표 자세 값을 수정하고, 현재 자세 값, 수정된 목표 자세 값 및 센서 데이터를 기초로 복수의 회전자 각각에 대한 PID(Proportional Integral Differential: 비례 적분 미분) 제어량이 계산된 결과로 출력되도록 구성될 수 있다. 일 실시예에서, 제어부(210)은 복수의 회전자 각각에 대한 모터 출력 데이터를 가지고 해당 가상 모터 출력 PWM 제어 드라이버로 출력하도록 구성될 수 있다. The control unit 210 may perform an operation for controlling the operation of the UAV 100. The control unit 210 may include application software (not shown), an operating system (not shown), and a micro control unit (not shown). In one embodiment, the control unit 210 corrects the target posture value of the UAV, and calculates a Proportional Integral Differential (PID) for each of the plurality of rotors based on the current posture value, the corrected target posture value, Differential) control amount is output as the calculated result. In one embodiment, the controller 210 may be configured to output motor output data for each of the plurality of rotors to the corresponding virtual motor output PWM control driver.

일 실시예에서, 제어부(210)는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers) 및 마이크로 프로세서 (microprocessors) 중 적어도 하나를 이용하여 구현될 수 있다.In one embodiment, the control unit 210 may be implemented as an integrated circuit, such as application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays microprocessors, microprocessors, microprocessors, microprocessors, microprocessors, and the like.

일 실시예에서, 제어부(210)는 적어도 하나의 기능 또는 동작을 수행하게 하는, 하드웨어 플랫폼(hardware platform) 상에서 실행 가능한 펌웨어 (firmware)/소프트웨어 코드(software codes)로 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 애플리케이션(software applications)에 의해 구현될 수 있다. 소프트웨어 코드는 제어부(210)의 자체 메모리에 저장되거나 저장부(220)에 저장한 후 호출되어 실행될 수 있다.In one embodiment, the control unit 210 may be implemented with firmware / software codes that are executable on a hardware platform that allows performing at least one function or operation. The software code may be implemented by software applications written in a suitable programming language. The software codes may be stored in the memory of the control unit 210 or may be stored in the storage unit 220 and then called and executed.

전자 모듈(200)은 저장부(220)를 더 포함할 수 있다. The electronic module 200 may further include a storage unit 220.

저장부(220)는 무인 항공기(100)의 비행에 필요한 데이터를 저장하거나, 무인 항공기(100)의 비행 데이터를 저장할 수 있다. 일 실시예에서, 저장부(220)는 SD 카드를 포함할 수 있다. 일 실시예에서, 저장부(220)는 자기 또는 광 디스크, 테이프, 플래시, 스마트 카드 또는 그들의 조합을 포함하지만 이에 제한되지는 않는 추가적인 저장장치(이동식 저장장치 및/또는 비이동식 저장장치)를 포함할 수 있다. 메모리와 같은 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법이나 기술로 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. The storage unit 220 may store data necessary for the flight of the UAV 100 or may store flight data of the UAV 100. [ In one embodiment, the storage unit 220 may include an SD card. In one embodiment, the storage 220 includes additional storage devices (removable and / or non-removable storage devices), including, but not limited to, magnetic or optical disks, tape, flash, can do. Computer storage media, such as memory, include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전자 모듈(200)은 드라이버 유닛(230)을 더 포함할 수 있다. The electronic module 200 may further include a driver unit 230.

드라이버는 특정 하드웨어나 장치를 제어하기 위해 동작하는 프로그램이다. 드라이버는 흔히 컴퓨터 버스, 또는 하드웨어와 이어진 통신 하위 시스템을 통해 장치와 통신한다. 요청하는 프로그램이 드라이버의 명령어를 호출하면, 드라이버는 장치에 명령어를 전달한다. 장치가 드라이버에게 데이터를 되돌려 주면, 드라이버는 원래 요청한 프로그램의 명령어로 데이터를 다시 전달한다. 드라이버는 하드웨어에 의존하며 특정한 운영 체제를 따른다. 드라이버 유닛(230)는 복수의 센서의 각각에 관련된 드라이버(도시되지 않음) 및 회전자를 구동하는 드라이버를 포함할 수 있다. A driver is a program that operates to control a specific hardware or device. A driver often communicates with a device via a computer bus, or a communications subsystem that is in communication with the hardware. When the requesting program calls the driver's command, the driver passes the command to the device. When the device returns data to the driver, the driver passes the data back to the command of the originally requested program. Drivers are hardware dependent and follow a specific operating system. The driver unit 230 may include a driver (not shown) associated with each of the plurality of sensors and a driver for driving the rotor.

일 실시예에서, 드라이버 유닛은 GPS 센서를 구동하는 GPS 센서 드라이버, 자이로 센서를 구동하는 자이로 센서 드라이버 및 가속도 센서를 구동하는 가속도 센서 드라이버 중 적어도 하나의 센서 드라이버 및 무인 항공기의 복수의 회전자(rotors)의 각각에 대한 모터 PWM 제어 드라이버를 포함할 수 있다. In one embodiment, the driver unit includes at least one sensor driver among a GPS sensor driver for driving the GPS sensor, a gyro sensor driver for driving the gyro sensor, and an acceleration sensor driver for driving the acceleration sensor, and a plurality of rotors , ≪ / RTI > and a motor PWM control driver for each of the PWM control drivers.

GPS 센서 드라이버는 GPS 센서를 구동하는 프로그램이다. GPS 센서 드라이버는 GPS 위성으로부터 GPS 위치 신호를 수신하는 GPS 수신기로부터 데이터를 받아 원래 요청한 프로그램에 전달할 수 있다. 이러한 위치 프로그램은 GPS 수신기로 수신한 GPS 위치 신호에 기초하여 무인 항공기(100)의 현재 위치를 결정할 수 있다.The GPS sensor driver is a program for driving the GPS sensor. The GPS sensor driver can receive data from a GPS receiver that receives GPS position signals from the GPS satellites and deliver them to the originally requested program. This location program can determine the current location of the UAV 100 based on the GPS location signal received by the GPS receiver.

자이로 센서 드라이버는 자이로 센서를 구동하는 프로그램이다. 자이로 센서는 지구의 회전과 관계없이 높은 정확도로 항상 처음에 설정한 일정 방향을 유지하는 성질을 이용하여 물체의 방위 변화를 측정하는 센서이며, 항공기, 함정, 유도 무기, 차량 등 다양한 분야에서 항법용, 자세 제어용 등으로 사용되고 있다. The gyro sensor driver is a program for driving the gyro sensor. The gyro sensor is a sensor that measures the azimuth change of an object by using the property that maintains the constant direction set at the first time with high accuracy regardless of the rotation of the earth. It is a sensor which is used for navigation, And for posture control.

가속도 센서 드라이버는 가속도 센서를 구동하는 프로그램이다. 가속도 센서는 무인 항공기(100)의 가속도, 진동, 충격 등의 동적 힘을 측정하여 무인 항공기(100)의 운동상태를 감지한다. 자이로 센서와 가속도 센서로부터 수집된 데이터를 분석하면 무인 항공기(100)의 움직임을 파악할 수 있다. The acceleration sensor driver is a program for driving the acceleration sensor. The acceleration sensor senses the motion state of the UAV 100 by measuring dynamic forces such as acceleration, vibration, and impact of the UAV 100. By analyzing the data collected from the gyro sensor and the acceleration sensor, the movement of the UAV 100 can be grasped.

모터 PWM 제어 드라이버는 무인 항공기(100)의 회전자들(rotors)을 구동하는 프로그램이다. 모터 PWM 제어 드라이버는 복수의 회전자들(rotors)의 각각을 제어하여 무인 항공기(100)의 방향, 높이, 속도 등을 제어할 수 있다. The motor PWM control driver is a program for driving the rotors of the UAV 100. The motor PWM control driver can control each of a plurality of rotors to control the direction, height, speed, etc. of the UAV 100.

전자 모듈(200)은 가상 드라이버 유닛(240)을 더 포함할 수 있다. 가상 드라이버 유닛(240)은 특정 하드웨어나 장치를 가상으로 제어하는 프로그램이다. 가상 드라이버 유닛(240)은 컴퓨터 버스, 또는 하드웨어와 이어진 통신 하위 시스템을 통해 장치와 통신하지 않고, 테스트 에이전트(250)로부터 명령을 받아 제어부(210) 로 명령을 전달하거나, 애플리케이션 프로그램이 드라이버 장치의 명령어를 호출하면, 가상 드라이버 유닛(240)은 해당 하드웨어 장치에 명령어를 전달하는 대신 테스트 에이전트(250)에 명령어를 전달할 수 있다. The electronic module 200 may further include a virtual driver unit 240. The virtual driver unit 240 is a program for virtually controlling a specific hardware or device. The virtual driver unit 240 may receive commands from the test agent 250 and communicate commands to the controller 210 without communicating with the devices via a computer bus or a communication subsystem connected to the hardware, The virtual driver unit 240 can pass an instruction to the test agent 250 instead of passing the instruction to the corresponding hardware device.

일 실시예에서, 가상 드라이버 유닛(240)은 GPS 센서 드라이버를 구동하는 가상 GPS 센서 드라이버, 자이로 센서 드라이버를 구동하는 가상 자이로 센서 드라이버 및 가속도 센서 드라이버를 구동하는 가상 가속도 센서 드라이버 중 적어도 하나의 가상 드라이버 및 모터 PWM 제어 드라이버를 구동하는 가상 모터 PWM 제어 드라이버를 포함할 수 있다. In one embodiment, the virtual driver unit 240 includes a virtual GPS sensor driver for driving the GPS sensor driver, a virtual gyro sensor driver for driving the gyro sensor driver, and a virtual acceleration sensor driver for driving the acceleration sensor driver. And a virtual motor PWM control driver that drives a motor PWM control driver.

일 실시예에서, 가상 드라이버 유닛(240)은 드라이버 유닛의 드라이버들 중 센서 데이터를 출력한 드라이버가 구동하는 타겟 센서 및 센서 데이터를 입력 받은 시간을 나타내는 타임 스탬프(time stamp; Tick 값)를 센서 데이터와 연관시켜 저장부(220)에 저장하도록 구성될 수 있다. 일 실시예에서, 가상 드라이버 유닛(240)은 제어부(201)로부터 복수의 회전자 각각에 대한 모터 출력 데이터를 입력 받아 비행 데이터의 일부로서 저장부(220)에 저장하도록 구성될 수 있다. In one embodiment, the virtual driver unit 240 outputs a time stamp (Tick value) indicating the time when the target sensor and the sensor data, which are driven by the driver, which outputs the sensor data among the drivers of the driver unit, And store it in the storage unit 220 in association with each other. In one embodiment, the virtual driver unit 240 may be configured to receive motor output data for each of a plurality of rotors from the control unit 201 and store the received motor output data in the storage unit 220 as part of the flight data.

전자 모듈(200)은 테스트 에이전트(250)를 더 포함할 수 있다. The electronic module 200 may further include a test agent 250.

테스트 에이전트(250)는 무인 항공기(100)의 비행 데이터를 저장하는 기능을 수행한다. 일 실시예에서, 테스트 에이전트(250)는 저장부(220) 및 가상 드라이버 유닛(240)와 전자 모듈(200)의 내부에서 통신 가능한 방식으로 접속될 수 있다. 테스트 에이전트(250)는 무인 항공기(100) 외부의 테스트 자동화 시스템으로부터 비행 데이터의 녹화 제어 신호를 입력 받고, 녹화된 비행 데이터를 테스트 자동화 시스템(300)으로 전송하도록 구성될 수 있다. 일 실시예에서, 테스트 에이전트(250)는 테스트 자동화 시스템(300)으로부터 제어 신호를 입력 받고 제어 신호를 출력하도록 구성될 수 있다. 일 실시예에서, 테스트 에이전트(250)는 저장부로부터 저장된 비행 데이터를 읽어 들여 테스트 자동화 시스템(300)으로 전송하도록 구성될 수 있다. The test agent 250 performs a function of storing flight data of the UAV 100. In one embodiment, the test agent 250 may be connected in a manner communicable with the storage unit 220 and the virtual driver unit 240 within the electronic module 200. The test agent 250 may be configured to receive the recording control signal of the flight data from the test automation system outside the UAV 100 and to transmit the recorded flight data to the test automation system 300. In one embodiment, test agent 250 may be configured to receive control signals from test automation system 300 and output control signals. In one embodiment, the test agent 250 may be configured to read the stored flight data from the storage and send it to the test automation system 300.

전자 모듈은(200)은 통신모듈(도시되지 않음)을 더 포함할 수 있다. The electronic module 200 may further include a communication module (not shown).

통신 모듈은 무인 항공기(100)와 외부 시스템, 가령 테스트 자동화 시스템 간의 통신을 할 수 있도록 구성될 수 있다. 통신 모듈은 유무선 네트워크 프로토콜을 이용하는 유무선 통신 장치일 수 있다. 통신 모듈에서 소모되는 전력을 고려하여 특정한 프로토콜을 선택할 수 있다. 다양한 실시예에서, USB Serial Port, Ethernet, LTE-A, WiFi, 블루투스, RFID, ZigBee 프로토콜을 사용할 수 있으나, 다른 프로토콜도 사용 가능하다. The communication module may be configured to allow communication between the UAV 100 and an external system, e.g., a test automation system. The communication module may be a wired / wireless communication device using a wired / wireless network protocol. A specific protocol can be selected in consideration of the power consumed by the communication module. In various embodiments, USB Serial Port, Ethernet, LTE-A, WiFi, Bluetooth, RFID, ZigBee protocols may be used, but other protocols may be used.

도 2에 도시된 구성요소들은 본 발명에 따른 전자 모듈(200)의 모든 기능부를 반영한 것이 아니고 필수적인 것도 아니다. 따라서, 본 발명에 따른 전자 모듈(200)는 도시된 구성요소들 보다 많은 구성요소를 포함하거나 그 보다 적은 구성요소를 포함할 수 있음을 인식하여야 한다.The components shown in FIG. 2 do not necessarily reflect all functions of the electronic module 200 according to the present invention, and are not essential. Accordingly, it should be appreciated that the electronic module 200 according to the present invention may include more or fewer components than the illustrated components.

도 3은 본 발명의 일 실시예에 따라 무인 항공기의 전자 모듈 내의 비행 데이터의 흐름을 예시한 흐름도이다.3 is a flow chart illustrating the flow of flight data in an electronic module of an unmanned aerial vehicle according to an embodiment of the present invention.

테스트 에이전트(250)가 외부의 테스트 자동화 시스템(300)으로부터 녹화 제어 신호를 수신하는 단계로부터 시작된다(S301). 테스트 에이전트(250)는 테스트 자동화 시스템(300)으로부터 녹화 제어 신호를 수신하고, 가상 센서 드라이버의 녹화 모드를 활성화하기 위해 녹화 제어 신호를 가상 드라이버 유닛(240)으로 전송할 수 있다(S303). 가상 드라이버 유닛(240)은 복수의 가상 센서 드라이버 각각으로 해당 신호를 전송할 수 있다(S305). 여기서 가상 드라이버 유닛은 GPS 센서 드라이버를 구동하는 가상 GPS 센서 드라이버(240a), 자이로 센서 드라이버를 구동하는 가상 자이로 센서 드라이버(240b) 및 가속도 센서 드라이버를 구동하는 가상 가속도 센서 드라이버(240c) 중 적어도 하나의 가상 드라이버 및 모터 PWM 제어 드라이버를 구동하는 가상 모터 PWM 제어 드라이버(240d)를 포함할 수 있다. 일 실시예에서, 녹화 제어 신호는 적어도 하나의 가상 드라이버 및 가상 모터 PWM 제어 드라이버를 활성화하거나 비활성화하기 위한 신호를 포함할 수 있다.The test agent 250 starts from receiving a recording control signal from an external test automation system 300 (S301). The test agent 250 receives the recording control signal from the test automation system 300 and may transmit the recording control signal to the virtual driver unit 240 to activate the recording mode of the virtual sensor driver (S303). The virtual driver unit 240 can transmit the corresponding signal to each of the plurality of virtual sensor drivers (S305). Here, the virtual driver unit includes at least one of a virtual GPS sensor driver 240a for driving the GPS sensor driver, a virtual gyro sensor driver 240b for driving the gyro sensor driver, and a virtual acceleration sensor driver 240c for driving the acceleration sensor driver And a virtual motor PWM control driver 240d that drives the virtual driver and the motor PWM control driver. In one embodiment, the recording control signal may comprise a signal for activating or deactivating at least one virtual driver and a virtual motor PWM control driver.

복수의 가상 센서 드라이버의 각각은 테스트 에이전트(250)로부터 녹화 제어 신호를 수신에 응답하여, 가상 센서 드라이버의 녹화 모드를 활성화할 수 있다. 복수의 가상 센서 드라이버의 각각은 대응하는 센서 드라이버에서 센싱한 센서 데이터를 수신할 수 있다(S307). 복수의 가상 센서 드라이버의 각각은 제어부(210)로부터 센서 데이터 요청 메시지의 수신에 응답하여(S309), 센서가 센싱한 센서 데이터를 해당 드라이버로부터 수신하여 제어부(210)로 전송할 수 있다(S311). 일 실시예에서, 복수의 가상 센서 드라이버의 각각은 저장부(220)로 센서 데이터를 전송할 수 있다(S313). 일 실시예에서 저장부(220)는 SD 카드일 수 있다. Each of the plurality of virtual sensor drivers may activate the recording mode of the virtual sensor driver in response to receiving the recording control signal from the test agent 250. Each of the plurality of virtual sensor drivers can receive the sensor data sensed by the corresponding sensor driver (S307). Each of the plurality of virtual sensor drivers may receive the sensor data sensed by the sensor in response to reception of the sensor data request message from the controller 210 in step S309 and may transmit the sensed sensor data to the controller 210 in step S311. In one embodiment, each of the plurality of virtual sensor drivers may transmit sensor data to the storage unit 220 (S313). In one embodiment, the storage unit 220 may be an SD card.

제어부(210)는 무인 항공기(100)의 현재 자세 값, 목표 자세 값 및 가상 센서 드라이버의 각각으로부터 수신한 센서 데이터를 기초로 복수의 회전자 각각에 대한 PID(Proportional Integral Differential: 비례 적분 미분) 제어량을 계산하고, 복수의 회전자 각각에 대한 모터 출력 데이터를 가지고 해당 가상 모터 출력 PWM 제어 드라이버로 출력할 수 있다(S315). The control unit 210 calculates a PID (Proportional Integral Differential) control amount for each of the plurality of rotors based on the current attitude value, the target attitude value of the UAV 100, and the sensor data received from each of the virtual sensor drivers And outputs the motor output data for each of the plurality of rotors to the corresponding virtual motor output PWM control driver (S315).

테스트 에이전트(250)에서 저장부(220)로부터 비행 데이터를 읽어 들여(S317) 테스트 자동화 시스템으로 전송할 수 있다(S319). The test agent 250 reads the flight data from the storage unit 220 (S317) and transmits the flight data to the test automation system (S319).

도 4는 본 발명의 일 실시예에 따른 무인 항공기의 비행 데이터의 형식(format)을 도시한 도면이다.4 is a diagram illustrating a format of flight data of an unmanned aerial vehicle according to an embodiment of the present invention.

비행 데이터의 형식은 타임 스탬프(time stamp; Tick 값), 타겟 센서 및 센서 데이터를 포함할 수 있다. 타임 스탬프(Tick 값)는 어느 시점에 데이터가 존재했다는 사실을 증명하기 위하여 특정 위치에 표시하는 시각으로, 공통적으로 참고하는 시각에 대해 시간의 기점을 표시하는 시간 변위 매개 변수일 수 있다. 타겟 센서는 센서의 종류를 나타내는 값으로, GPS, 자이로, 가속도 및 모터 출력 PWM 일 수 있다. 센서 데이터는 타겟 센서의 센서 데이터를 의미한다. The format of the flight data may include a time stamp (Tick value), a target sensor and sensor data. The time stamp (Tick value) may be a time displacement parameter that indicates the starting point of time with respect to a commonly referred time, which is a time to display at a specific position to prove the fact that data existed at a certain point in time. The target sensor is a value indicating the type of the sensor, and may be GPS, gyro, acceleration, and motor output PWM. The sensor data means sensor data of the target sensor.

도 4의 제1 레코드(410)는 타임 스탬프(Tick 값)가 "635853888000000000"이고, 타겟 센서가 "GPS" 이며, 센서 데이터가 "$GPGGA,141113.999,3730.0308,N,12655.2369,E,1,06,1.7,98.9,M,,,,0000,*3E"인 비행 데이터를 의미한다. 제2 레코드(420)는 타임 스탬프(Tick 값)가 "635853888000000015"이고, 타겟 센서가 "자이로" 이며, 센서 데이터가 "+1500"인 비행 데이터를 의미한다.The first record 410 of FIG. 4 shows that the time stamp (Tick value) is "635853888000000000", the target sensor is "GPS" and the sensor data is "$ GPGGA, 141113.999, 3730.0308, N, 12655.2369, , 1.7, 98.9, M ,,,, 0000, * 3E ". The second record 420 means flight data having a time stamp (Tick value) of "635853888000000015", a target sensor of "gyro" and sensor data of "+1500".

본원에 개시된 실시예들에 있어서, 도시된 구성 요소들의 배치는 발명이 구현되는 환경 또는 요구 사항에 따라 달라질 수 있다. 예컨대, 일부 구성 요소가 생략되거나 몇몇 구성 요소들이 통합되어 하나로 실시될 수 있다. 또한 일부 구성 요소들의 배치 순서 및 연결이 변경될 수 있다.In the embodiments disclosed herein, the arrangement of the components shown may vary depending on the environment or requirements in which the invention is implemented. For example, some components may be omitted or some components may be integrated into one. In addition, the arrangement order and connection of some components may be changed.

본 발명 및 그 다양한 기능적 구성 요소들은 특정 실시예들로 설명되었으나, 본 발명은 하드웨어, 소프트웨어, 펌웨어, 미들웨어 또는 이들의 조합으로 구현될 수 있으며, 시스템, 서브시스템, 구성 요소들 또는 이들의 서브 구성 요소들로 활용될 수 있음을 이해하여야 한다. 소프트웨어로 구현되는 경우, 본 발명의 요소들은 필요한 작업들을 수행하기 위한 명령어들/코드 세그먼트들이 될 수 있다. 프로그램 또는 코드 세그먼트들은 프로세서 판독가능 매체와 같은 머신 판독가능 매체, 컴퓨터 프로그램 제품 내에 저장될 수 있다. 머신 판독가능 매체 또는 프로세서 판독가능 매체는 머신(예컨대, 프로세서, 컴퓨터 등)에 의해 판독되고 실행 가능한 형태로 정보를 저장 또는 전송할 수 있는 임의의 매체를 포함할 수 있다.Although the present invention and its various functional elements have been described in terms of specific embodiments, it is to be understood that the invention may be implemented in hardware, software, firmware, middleware, or a combination thereof and may be implemented as a system, subsystem, It should be understood that the invention may be utilized in various other embodiments. When implemented in software, the elements of the present invention may be instructions / code segments for performing necessary tasks. The program or code segments may be stored in a machine-readable medium, such as a processor-readable medium, or a computer program product. A machine-readable medium or a processor-readable medium may include any medium that can be read by a machine (e.g., processor, computer, etc.) and capable of storing or transmitting information in an executable form.

이상에서는 본 발명의 다양한 실시예들에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예들에 한정되지 아니하며, 상술한 실시예들은 첨부하는 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양하게 변형 실시될 수 있음은 물론이고, 이러한 변형 실시예들이 본 발명의 기술적 사상이나 범위와 별개로 이해되어져서는 아니 될 것이다. 따라서, 본 발명의 기술적 범위는 오직 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention. Accordingly, the technical scope of the present invention should be determined only by the appended claims.

100: 무인 항공기
200: 전자 모듈
210: 제어부
220: 저장부
230: 드라이버 유닛
240: 가상 드라이버 유닛
250: 테스트 에이전트
300: 테스트 자동화 시스템
100: Unmanned aircraft
200: electronic module
210:
220:
230: Driver Unit
240: virtual driver unit
250: Test Agent
300: Test automation system

Claims (11)

무인 항공기(Unmanned Aerial Vehicle: UAV)의 비행 데이터를 저장하기 위한 장치로서,
저장부,
테스트 자동화 시스템으로부터 제어 신호를 입력 받고 상기 제어 신호를 출력하도록 구성된 테스트 에이전트, 및
상기 무인 항공기의 제어부 및 드라이버 유닛과 통신 가능한 방식으로 접속되고 상기 테스트 에이전트로부터 상기 제어 신호를 입력 받아 상기 드라이버 유닛으로 출력하고 상기 드라이버 유닛으로부터 센서 데이터를 입력 받도록 구성된 가상 드라이버 유닛
을 포함하고,
상기 가상 드라이버 유닛은 상기 센서 데이터를 비행 데이터로서 상기 저장부에 저장하도록 더 구성되며,
상기 테스트 에이전트는 상기 저장부로부터 상기 비행 데이터를 읽어 들여 상기 테스트 자동화 시스템으로 전송하도록 더 구성되는, 비행 데이터 저장 장치.
An apparatus for storing flight data of an unmanned aerial vehicle (UAV)
The storage unit,
A test agent configured to receive a control signal from a test automation system and output the control signal;
A virtual driver unit connected to the control unit and the driver unit of the unmanned airplane in a communicable manner and configured to receive the control signal from the test agent and output the received control signal to the driver unit and receive sensor data from the driver unit;
/ RTI >
Wherein the virtual driver unit is further configured to store the sensor data in the storage as flight data,
Wherein the test agent is further configured to read the flight data from the storage and send it to the test automation system.
제1항에 있어서,
상기 드라이버 유닛은 GPS 센서를 구동하는 GPS 센서 드라이버, 자이로 센서를 구동하는 자이로 센서 드라이버 및 가속도 센서를 구동하는 가속도 센서 드라이버 중 적어도 하나의 센서 드라이버 및 상기 무인 항공기의 복수의 회전자(rotors)의 각각에 대한 모터 PWM 제어 드라이버를 포함하며,
상기 가상 드라이버 유닛은, 상기 GPS 센서 드라이버를 구동하는 가상 GPS 센서 드라이버, 상기 자이로 센서 드라이버를 구동하는 가상 자이로 센서 드라이버 및 상기 가속도 센서 드라이버를 구동하는 가상 가속도 센서 드라이버 중 적어도 하나의 가상 드라이버 및 상기 모터 PWM 제어 드라이버를 구동하는 가상 모터 PWM 제어 드라이버를 포함하는, 비행 데이터 저장 장치.
The method according to claim 1,
Wherein the driver unit includes at least one sensor driver among a GPS sensor driver for driving a GPS sensor, a gyro sensor driver for driving a gyro sensor, and an acceleration sensor driver for driving an acceleration sensor, and at least one of a plurality of rotors of the unmanned air vehicle A motor PWM control driver for the motor,
Wherein the virtual driver unit includes at least one virtual driver among a virtual GPS sensor driver for driving the GPS sensor driver, a virtual gyro sensor driver for driving the gyro sensor driver, and a virtual acceleration sensor driver for driving the acceleration sensor driver, And a virtual motor PWM control driver for driving the PWM control driver.
제2항에 있어서,
상기 제어 신호는 상기 적어도 하나의 가상 드라이버 및 가상 모터 PWM 제어 드라이버를 활성화하거나 비활성화하기 위한 신호를 포함하는, 비행 데이터 저장 장치.
3. The method of claim 2,
Wherein the control signal comprises a signal for activating or deactivating the at least one virtual driver and the virtual motor PWM control driver.
제2항에 있어서,
상기 가상 드라이버 유닛은, 상기 드라이버 유닛의 드라이버들 중 상기 센서 데이터를 출력한 드라이버가 구동하는 타겟 센서 및 상기 센서 데이터를 입력 받은 시간을 나타내는 타임 스탬프(time stamp; Tick 값)를 상기 센서 데이터와 연관시켜 상기 저장부에 저장하도록 더 구성되는, 비행 데이터 저장 장치.
3. The method of claim 2,
Wherein the virtual driver unit is configured to associate a time stamp (Tick value) indicating a time when the driver of the driver unit, which has output the sensor data, And store the data in the storage unit.
제4항에 있어서,
상기 가상 드라이버 유닛은 상기 센서 데이터를 상기 무인 항공기의 제어부로 출력하도록 더 구성되고,
상기 제어부는, 상기 무인 항공기의 현재 자세 값, 상기 무인 항공기의 수정된 목표 자세 값 및 상기 센서 데이터를 기초로 상기 복수의 회전자 각각에 대한 PID(Proportional Integral Differential: 비례 적분 미분) 제어량을 계산하고,
상기 복수의 회전자 각각에 대해 계산된 PID 제어량으로부터 상기 복수의 회전자 각각에 대한 모터 출력 데이터를 계산하고,
상기 복수의 회전자 각각에 대해 계산된 모터 출력 데이터를 상기 가상 모터 PWM 제어 드라이버로 출력하도록 구성되는, 비행 데이터 저장 장치.
5. The method of claim 4,
Wherein the virtual driver unit is further configured to output the sensor data to a control unit of the unmanned air vehicle,
The control unit calculates a PID (Proportional Integral Differential) control amount for each of the plurality of rotors based on the current attitude value of the UAV, the modified attitude value of the UAV, and the sensor data ,
Calculates motor output data for each of the plurality of rotors from the calculated PID control amount for each of the plurality of rotors,
And output the calculated motor output data for each of the plurality of rotors to the virtual motor PWM control driver.
제5항에 있어서,
상기 가상 드라이버 유닛은 상기 제어부로부터 상기 복수의 회전자 각각에 대한 모터 출력 데이터를 입력 받아 상기 비행 데이터의 일부로서 상기 저장부에 저장하도록 더 구성되는, 비행 데이터 저장 장치.
6. The method of claim 5,
Wherein the virtual driver unit is further configured to receive motor output data for each of the plurality of rotors from the control unit and store the received motor output data in the storage unit as a part of the flight data.
무인 항공기의 비행 데이터를 저장하기 위한 방법으로서,
테스트 에이전트에서 테스트 자동화 시스템으로부터 제어 신호를 입력 받아 상기 제어 신호를 가상 드라이버 유닛에 전송하는 단계,
상기 가상 드라이버 유닛에서 드라이버 유닛으로 상기 제어 신호를 출력하고, 상기 드라이버 유닛으로부터 센서 데이터를 입력 받아 상기 무인 항공기의 제어부로 전송하는 단계,
상기 가상 드라이버 유닛에서 상기 제어부로부터 모터 출력 데이터 - 상기 모터 출력 데이터는 상기 센서 데이터, 상기 무인 항공기의 현재 자세 값 및 상기 무인 항공기의 목표 자세 값에 기초하여 상기 무인 항공기의 비행 제어에 필요한 연산 동작을 수행함으로써 얻어짐 - 를 입력 받아 상기 모터 출력 데이터를 상기 센서 데이터와 함께 비행 데이터로서 저장부에 저장하는 단계, 및
상기 테스트 에이전트에서 상기 저장부로부터 상기 비행 데이터를 읽어 들여 상기 테스트 자동화 시스템으로 전송하는 단계
를 포함하는 무인 항공기의 비행 데이터 저장 방법.
A method for storing flight data of an unmanned aerial vehicle,
Receiving a control signal from a test automation system in a test agent and transmitting the control signal to a virtual driver unit,
Outputting the control signal to the driver unit in the virtual driver unit, receiving sensor data from the driver unit and transmitting the sensor data to the control unit of the unmanned air vehicle,
Wherein the motor output data from the control unit in the virtual driver unit, the motor output data, is calculated based on the sensor data, the current attitude value of the unmanned airplane, and the target attitude value of the unmanned airplane, And storing the motor output data together with the sensor data in a storage unit as flight data; and
Reading the flight data from the storage unit in the test agent and transmitting the read flight data to the test automation system
Wherein the flight data of the unmanned airplane is stored.
제7항에 있어서,
상기 모터 출력 데이터를 상기 센서 데이터와 함께 비행 데이터로서 저장부에 저장하는 단계는
상기 가상 드라이버 유닛에서, 상기 드라이버 유닛의 드라이버들 중 상기 센서 데이터를 출력한 드라이버가 구동하는 타겟 센서 및 상기 센서 데이터를 입력 받은 시간을 나타내는 타임 스탬프를 상기 센서 데이터와 연관시켜 상기 저장부에 저장하는 단계를 포함하는 무인 항공기의 비행 데이터 저장 방법.
8. The method of claim 7,
Storing the motor output data together with the sensor data as flight data in a storage unit
In the virtual driver unit, a target sensor driven by a driver that outputs the sensor data among the drivers of the driver unit and a time stamp indicating a time when the sensor data is input are stored in the storage unit in association with the sensor data And storing the flight data of the unmanned airplane.
제8항에 있어서,
상기 가상 드라이버 유닛은, 가상 GPS 센서 드라이버, 가상 자이로 센서 드라이버 및 가상 가속도 센서 드라이버 중 적어도 하나의 가상 드라이버 및 상기 무인 항공기의 복수의 회전자(rotors)의 각각에 대한 가상 모터 PWM 제어 드라이버를 포함하는, 무인 항공기의 비행 데이터 저장 방법.
9. The method of claim 8,
Wherein the virtual driver unit comprises a virtual driver for at least one of a virtual GPS sensor driver, a virtual gyro sensor driver, and a virtual acceleration sensor driver, and a virtual motor PWM control driver for each of a plurality of rotors of the unmanned air vehicle , A method for storing flight data of a UAV.
제9항에 있어서,
상기 제어부는,
상기 무인 항공기의 현재 자세 값, 상기 무인 항공기의 목표 자세 값 및 상기 센서 데이터를 기초로 상기 복수의 회전자 각각에 대한 PID(Proportional Integral Differential: 비례 적분 미분) 제어량을 계산하고,
상기 복수의 회전자 각각에 대해 계산된 PID 제어량으로부터 상기 복수의 회전자 각각에 대한 모터 출력 데이터를 계산하고,
상기 복수의 회전자 각각에 대해 계산된 모터 출력 데이터를 상기 가상 모터 PWM 제어 드라이버로 출력하도록 작동되는, 무인 항공기의 비행 데이터 저장 방법.
10. The method of claim 9,
Wherein,
Calculating a PID (Proportional Integral Differential) control amount for each of the plurality of rotors based on the current attitude value of the UAV, the target attitude value of the UAV, and the sensor data,
Calculates motor output data for each of the plurality of rotors from the calculated PID control amount for each of the plurality of rotors,
And outputting the calculated motor output data for each of the plurality of rotors to the virtual motor PWM control driver.
프로그램을 기록한 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 명령어들을 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때 제7항 내지 제10항 중 어느 한항에 따른 방법을 수행하는, 컴퓨터 판독가능 기록매체.11. A computer-readable medium having recorded thereon a program, the program comprising instructions, and wherein the instructions, when executed by a computer, perform the method according to any one of claims 7 to 10.
KR1020150190550A 2015-12-31 2015-12-31 Method and apparatus for recording flight data of unmanned aerial vehicle KR101703236B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150190550A KR101703236B1 (en) 2015-12-31 2015-12-31 Method and apparatus for recording flight data of unmanned aerial vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150190550A KR101703236B1 (en) 2015-12-31 2015-12-31 Method and apparatus for recording flight data of unmanned aerial vehicle

Publications (1)

Publication Number Publication Date
KR101703236B1 true KR101703236B1 (en) 2017-02-13

Family

ID=58155991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150190550A KR101703236B1 (en) 2015-12-31 2015-12-31 Method and apparatus for recording flight data of unmanned aerial vehicle

Country Status (1)

Country Link
KR (1) KR101703236B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190068955A (en) 2017-12-11 2019-06-19 숭실대학교산학협력단 Device for flight simulating of unmanned aerial vehicle, and system for flight simulating of unmanned aerial vehicle using thereof
KR20210136325A (en) 2020-05-07 2021-11-17 주식회사 케이디에이 Method and apparatus for gathering flight information
KR20220068319A (en) * 2020-11-18 2022-05-26 에스퓨얼셀(주) Unmanned Vehicle

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842105B1 (en) * 2007-06-15 2008-06-30 주식회사 대한항공 Virtual flight test method for securing durability of uav
KR20110014375A (en) * 2009-08-05 2011-02-11 (주)시뮬레이션연구소 Integrated control system for real and virtual robot
KR20130096443A (en) * 2012-02-22 2013-08-30 전북대학교산학협력단 Flight simulation system for evaluation of unmanned aerial vehicle based on solar energy
KR20140123835A (en) * 2013-04-15 2014-10-23 재단법인대구경북과학기술원 Apparatus for controlling unmanned aerial vehicle and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842105B1 (en) * 2007-06-15 2008-06-30 주식회사 대한항공 Virtual flight test method for securing durability of uav
KR20110014375A (en) * 2009-08-05 2011-02-11 (주)시뮬레이션연구소 Integrated control system for real and virtual robot
KR20130096443A (en) * 2012-02-22 2013-08-30 전북대학교산학협력단 Flight simulation system for evaluation of unmanned aerial vehicle based on solar energy
KR20140123835A (en) * 2013-04-15 2014-10-23 재단법인대구경북과학기술원 Apparatus for controlling unmanned aerial vehicle and method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
1. 무인항공기의 안정성 평가 비행시험 방법론, 이윤생, 석진영, 김태식 韓國航空宇宙學會 2001年度 春季學術發表會 論文集, 2001.4, 371-376 (6 pages)
2. 소형 무인헬리콥터 전자동비행을 위한 비행운용 프로그램 개발 및 검증, 송준범 변영섭 송우진 김정 강범수 (한국항공우주학회 학술발표회 논문집, Vol.2010 No.11, [2010])

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190068955A (en) 2017-12-11 2019-06-19 숭실대학교산학협력단 Device for flight simulating of unmanned aerial vehicle, and system for flight simulating of unmanned aerial vehicle using thereof
KR20210136325A (en) 2020-05-07 2021-11-17 주식회사 케이디에이 Method and apparatus for gathering flight information
KR20220068319A (en) * 2020-11-18 2022-05-26 에스퓨얼셀(주) Unmanned Vehicle
KR102478049B1 (en) * 2020-11-18 2022-12-19 에스퓨얼셀(주) Unmanned Vehicle

Similar Documents

Publication Publication Date Title
US9753355B2 (en) Flying camera with string assembly for localization and interaction
US20240113980A1 (en) Distributed Unmanned Aerial Vehicle Architecture
CN203786564U (en) Dual-redundancy flight control system
CN107132851B (en) Unmanned aerial vehicle flight navigation control system
KR101769281B1 (en) Method and apparatus for testing autonomic flight control of unmanned aerial vehicle
CN105807779A (en) Flight control system and method for unmanned aerial vehicle
CN104914872A (en) Sensor dual-redundancy flight control computer system suitable for small civilian unmanned aerial vehicle
US11760486B2 (en) Hoist system and process for sway control
KR101703236B1 (en) Method and apparatus for recording flight data of unmanned aerial vehicle
JP7496217B2 (en) Multi-rotor vehicle with edge calculation system
Murch et al. A low cost small UAV flight research facility
EP3521175B1 (en) Methods and systems for controlling thrust produced by a plurality of engines on an aircraft for assisting with certain flight conditions
Nonami Research and development of drone and roadmap to evolution
CN112947525B (en) Flight control system and flight control method of electric manned aircraft
CN112513763A (en) Controlling a robotic vehicle after loss of flight controller signal
Gu et al. Avionics design for a sub-scale fault-tolerant flight control test-bed
US20210343170A1 (en) System and method for software-defined drones
Sadeghzadeh et al. Actuator fault-tolerant control based on Gain-Scheduled PID with application to fixed-wing Unmanned Aerial Vehicle
KR20190042367A (en) Method and Apparatus of automatic battery replacement for Unmanned Aerial Vehicles
Bryant et al. Autonomous UAS controlled by onboard smartphone
Qi et al. The new evolution for SIA rotorcraft UAV project
Guerra et al. Mobile ground control station development for fault tolerant UAV research
CN215494712U (en) Flight control system of electric manned aircraft
Quan et al. Failsafe Logic Design Experiment
Quan et al. Health Evaluation and Failsafe

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 4