KR102259920B1 - Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment - Google Patents
Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment Download PDFInfo
- Publication number
- KR102259920B1 KR102259920B1 KR1020200171022A KR20200171022A KR102259920B1 KR 102259920 B1 KR102259920 B1 KR 102259920B1 KR 1020200171022 A KR1020200171022 A KR 1020200171022A KR 20200171022 A KR20200171022 A KR 20200171022A KR 102259920 B1 KR102259920 B1 KR 102259920B1
- Authority
- KR
- South Korea
- Prior art keywords
- azimuth
- error compensation
- uav
- image
- compensation value
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENTS OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D45/00—Aircraft indicators or protectors not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/02—Magnetic compasses
- G01C17/28—Electromagnetic compasses
- G01C17/30—Earth-inductor compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/38—Testing, calibrating, or compensating of compasses
Abstract
Description
본 개시는 실내 환경에서 운행하는 무인 비행체(Unmanned Aerial Vehicle: UAV)의 방위각의 추정에 관한 것이다.The present disclosure relates to estimation of an azimuth of an unmanned aerial vehicle (UAV) operating in an indoor environment.
다양한 환경에서 무인 이동체, 특히 드론(drone)과 같은 무인 비행체(Unmanned Aerial Vehicle: UAV)를 활용하려는 연구가 활발하다. 실제로 UAV가 동작할 어떤 환경에서는 UAV의 자세를 정확히 추정하는 데에 난제가 있을 수 있다. 예를 들어, 글로벌 포지셔닝 시스템(Global Positioning System: GPS)과 같은 위성 항법 시스템을 이용하기가 쉽지 않은 실내 환경에서 무인 이동체를 운행할 경우에, 무인 이동체의 항법 시스템은 지자기 센서(geomagnetic sensor)(이는 자력계(magnetometer)로도 지칭됨)에 의해 제공되는 자기장 측정 데이터를 이용하여 무인 이동체의 방위각을 추정할 수 있다. 그런데, 여러 관성 항법 시스템에서 흔히 사용되는 다른 센서, 예컨대, 자이로스코프(gyroscope)나 가속도계(accelerometer)에 비해, 지자기 센서는 주변 환경의 영향을 크게 받는다. 예를 들어, 지자기 센서로부터 출력된 자기장 측정 데이터에는 지구 자력 외에 다른 자력을 야기하는 주변 물체 또는 기존의 자력의 방향을 바꾸는 주변 물체로 인해 왜곡(distortion)이 생길 수 있다.Research on the use of unmanned vehicles, particularly unmanned aerial vehicles (UAVs) such as drones, is active in various environments. In fact, in some environments in which the UAV will operate, it may be difficult to accurately estimate the posture of the UAV. For example, when an unmanned mobile vehicle is operated in an indoor environment where it is not easy to use a satellite navigation system such as a global positioning system (GPS), the navigation system of the unmanned mobile object is a geomagnetic sensor (which The azimuth of the unmanned moving object may be estimated using magnetic field measurement data provided by a magnetometer (also referred to as a magnetometer). However, compared to other sensors commonly used in various inertial navigation systems, for example, a gyroscope or an accelerometer, the geomagnetic sensor is greatly affected by the surrounding environment. For example, distortion may occur in magnetic field measurement data output from the geomagnetic sensor due to a surrounding object that causes a magnetic force other than the Earth's magnetic force or a surrounding object that changes the direction of an existing magnetic force.
실내 환경에서 운행하는 UAV의 방위각의 추정이 본 문서에 개시된다.Estimation of the azimuth of a UAV operating in an indoor environment is disclosed herein.
예 1에서, 실내 환경에서 운행하는 무인 비행체(Unmanned Aerial Vehicle: UAV)의 방위각을 추정하는 방법은 다음을 포함한다: 상기 UAV의 지자기 센서(geomagnetic sensor)로부터 수신된 자기장 측정 데이터를 기반으로 상기 방위각을 계산하는 단계; 상기 계산된 방위각 및 사전설정된 오차 보상 값으로부터 센서 기반 방위각을 판정하는 단계; 상기 UAV의 촬상 유닛(imaging unit)으로부터 수신된 영상 데이터를 기반으로 상기 실내 환경의 사전결정된 특징을 검출하는 단계; 상기 검출된 사전결정된 특징으로부터 영상 기반 방위각을 판정하는 단계; 및 상기 센서 기반 방위각 및 상기 영상 기반 방위각을 기반으로 상기 오차 보상 값을 갱신하는 단계.In Example 1, a method for estimating an azimuth of an unmanned aerial vehicle (UAV) operating in an indoor environment includes: the azimuth angle based on magnetic field measurement data received from a geomagnetic sensor of the UAV calculating ; determining a sensor-based azimuth from the calculated azimuth and a preset error compensation value; detecting a predetermined characteristic of the indoor environment based on image data received from an imaging unit of the UAV; determining an image-based azimuth from the detected predetermined feature; and updating the error compensation value based on the sensor-based azimuth and the image-based azimuth.
예 2는 예 1의 주제(subject matter)를 포함하는데, 상기 사전결정된 특징은 사전결정된 절대 방위각을 갖는 직선 부분을 포함하고, 상기 영상 기반 방위각을 판정하는 단계는 상기 UAV에 대한 상기 직선 부분의 상대 각도 및 상기 절대 방위각으로부터 상기 영상 기반 방위각을 계산하는 단계를 포함한다.Example 2 includes the subject matter of Example 1, wherein the predetermined characteristic includes a straight-line portion having a predetermined absolute azimuth, and wherein determining the image-based azimuth includes a relative of the straight-line portion to the UAV. and calculating the image-based azimuth from the angle and the absolute azimuth.
예 3은 예 1 또는 예 2의 주제를 포함하는데, 상기 오차 보상 값을 갱신하는 단계는 상기 센서 기반 방위각 및 상기 영상 기반 방위각을 상보 필터(complementary filter)로써 필터링하여 필터링된 방위각을 산출하는 단계와, 상기 센서 기반 방위각 및 상기 필터링된 방위각 간의 차이에 상기 오차 보상 값이 누적된 값으로 상기 오차 보상 값을 설정하는 단계를 포함한다.Example 3 includes the subject matter of Example 1 or Example 2, wherein updating the error compensation value includes: filtering the sensor-based azimuth and the image-based azimuth with a complementary filter to calculate a filtered azimuth; , setting the error compensation value as a value in which the error compensation value is accumulated in a difference between the sensor-based azimuth and the filtered azimuth.
예 4는 예 1 내지 예 3 중 임의의 것의 주제를 포함하는데, 상기 오차 보상 값을 갱신하는 단계는 상기 센서 기반 방위각 및 상기 영상 기반 방위각 간의 차이가 임계 값 이상인지를 기반으로, 상기 오차 보상 값을 초기 값으로 또는 상기 차이에 상기 오차 보상 값이 누적된 값으로 설정하는 단계를 포함한다.Example 4 includes the subject matter of any of Examples 1-3, wherein updating the error compensation value is based on whether a difference between the sensor-based azimuth and the image-based azimuth is greater than or equal to a threshold value; and setting as an initial value or a value in which the error compensation value is accumulated in the difference.
예 5는 예 1 내지 예 4 중 임의의 것의 주제를 포함하는데, 상기 영상 데이터가 상기 촬상 유닛으로부터 임계 시간 이상 수신되지 않는 경우에 상기 오차 보상 값을 초기 값으로 설정하는 단계를 더 포함한다.Example 5 includes the subject matter of any of Examples 1-4, further comprising setting the error compensation value to an initial value when the image data is not received from the imaging unit for more than a threshold time.
예 6은 예 1 내지 예 5 중 임의의 것의 주제를 포함하는데, 상기 방법은 상기 지자기 센서의 2차원 평면상 회전으로부터 수집된 데이터를 기반으로 상기 지자기 센서의 캘리브레이션(calibration)을 수행하는 단계를 더 포함하고, 상기 방위각을 계산하는 단계는 상기 캘리브레이션이 적용된 상기 자기장 측정 데이터를 기반으로 상기 방위각을 계산하는 단계를 포함한다.Example 6 includes the subject matter of any of Examples 1-5, wherein the method further comprises performing a calibration of the geomagnetic sensor based on data collected from a two-dimensional in-plane rotation of the geomagnetic sensor. and calculating the azimuth includes calculating the azimuth based on the magnetic field measurement data to which the calibration is applied.
예 7은 예 1 내지 예 6 중 임의의 것의 주제를 포함하는데, 상기 방위각을 계산하는 단계는 상기 UAV의 자이로스코프(gyroscope)로부터 수신된 각속도 측정 데이터를 기반으로 상기 방위각을 자이로스코프 기반 방위각으로서 계산하는 단계와, 상기 자기장 측정 데이터를 기반으로 상기 방위각을 지자기 센서 기반 방위각으로서 계산하는 단계와, 상기 자이로스코프 기반 방위각 및 상기 지자기 센서 기반 방위각을 상보 필터로써 필터링하여 상기 방위각을 계산하는 단계를 포함한다.Example 7 includes the subject matter of any of Examples 1-6, wherein calculating the azimuth comprises calculating the azimuth as a gyroscope based azimuth based on angular velocity measurement data received from a gyroscope of the UAV. calculating the azimuth as a geomagnetic sensor-based azimuth based on the magnetic field measurement data, and calculating the azimuth by filtering the gyroscope-based azimuth and the geomagnetic sensor-based azimuth with a complementary filter. .
예 8에서, 컴퓨터 프로세서에 의해 실행되는 경우 상기 컴퓨터 프로세서로 하여금 예 1 내지 예 7 중 임의의 것에 기재된 방법을 수행하게 하는 컴퓨터 실행가능 명령어가 저장된 컴퓨터 판독가능 저장 매체가 제공된다.In Example 8, there is provided a computer-readable storage medium having stored thereon computer-executable instructions that, when executed by a computer processor, cause the computer processor to perform the method described in any of Examples 1-7.
예 9에서, 컴퓨팅 장치는 프로세서와, 메모리를 포함하되, 상기 메모리는 실내 환경에서 운행하는 무인 비행체(Unmanned Aerial Vehicle: UAV)의 방위각을 추정하기 위해 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령어의 세트로써 인코딩되고, 상기 세트는 다음을 포함한다: 상기 UAV의 지자기 센서로부터 수신된 자기장 측정 데이터를 기반으로 상기 UAV의 방위각을 계산하는 명령어; 상기 계산된 방위각 및 사전설정된 오차 보상 값으로부터 센서 기반 방위각을 판정하는 명령어; 상기 UAV의 촬상 유닛으로부터 수신된 영상 데이터를 기반으로 상기 실내 환경의 사전결정된 특징을 검출하는 명령어; 상기 검출된 사전결정된 특징으로부터 영상 기반 방위각을 판정하는 명령어; 및 상기 센서 기반 방위각 및 상기 영상 기반 방위각을 기반으로 상기 오차 보상 값을 갱신하는 명령어.In Example 9, a computing device includes a processor and a memory, wherein the memory comprises a set of computer program instructions executable by the processor to estimate an azimuth of an unmanned aerial vehicle (UAV) operating in an indoor environment. encoded, the set comprising: instructions for calculating an azimuth of the UAV based on magnetic field measurement data received from a geomagnetic sensor of the UAV; instructions for determining a sensor-based azimuth from the calculated azimuth and a preset error compensation value; instructions for detecting a predetermined characteristic of the indoor environment based on image data received from the imaging unit of the UAV; instructions for determining an image-based azimuth from the detected predetermined feature; and a command for updating the error compensation value based on the sensor-based azimuth and the image-based azimuth.
예 10은 예 9의 주제를 포함하는데, 상기 사전결정된 특징은 사전결정된 절대 방위각을 갖는 직선 부분을 포함하고, 상기 영상 기반 방위각을 판정하는 명령어는 상기 UAV에 대한 상기 직선 부분의 상대 각도 및 상기 절대 방위각으로부터 상기 영상 기반 방위각을 계산하는 명령어를 포함한다.Example 10 includes the subject matter of Example 9, wherein the predetermined characteristic comprises a straight-line portion having a predetermined absolute azimuth, and wherein the instructions to determine the image-based azimuth include: a relative angle of the straight-line portion to the UAV and the absolute and instructions for calculating the image-based azimuth from the azimuth.
예 11은 예 9 또는 예 10의 주제를 포함하는데, 상기 오차 보상 값을 갱신하는 명령어는 상기 센서 기반 방위각 및 상기 영상 기반 방위각을 상보 필터로써 필터링하여 필터링된 방위각을 산출하는 명령어와, 상기 오차 보상 값을 상기 센서 기반 방위각 및 상기 필터링된 방위각 간의 차이에 상기 오차 보상 값이 누적된 값으로 설정하는 명령어를 포함한다.Example 11 includes the subject matter of Examples 9 or 10, wherein the command for updating the error compensation value includes: a command for filtering the sensor-based azimuth and the image-based azimuth with a complementary filter to calculate a filtered azimuth; and a command for setting a value as a value in which the error compensation value is accumulated in a difference between the sensor-based azimuth and the filtered azimuth.
예 12는 예 9 내지 예 11 중 임의의 것의 주제를 포함하는데, 상기 오차 보상 값을 갱신하는 명령어는 상기 센서 기반 방위각 및 상기 영상 기반 방위각 간의 차이가 임계 값 이상인지를 기반으로, 상기 오차 보상 값을 초기 값으로 또는 상기 차이에 상기 오차 보상 값이 누적된 값으로 설정하는 명령어를 포함한다.Example 12 includes the subject matter of any of Examples 9-11, wherein the instruction to update the error compensation value is based on whether a difference between the sensor-based azimuth and the image-based azimuth is greater than or equal to a threshold value: and a command for setting α as an initial value or a value in which the error compensation value is accumulated in the difference.
예 13은 예 9 내지 예 12 중 임의의 것의 주제를 포함하는데, 상기 세트는, 상기 영상 데이터가 상기 촬상 유닛으로부터 임계 시간 이상 수신되지 않는 경우에 상기 오차 보상 값을 초기 값으로 설정하는 명령어를 더 포함한다.Example 13 includes the subject matter of any of Examples 9-12, wherein the set further includes instructions to set the error compensation value to an initial value when the image data is not received from the imaging unit for more than a threshold time. include
예 14는 예 9 내지 예 13 중 임의의 것의 주제를 포함하는데, 상기 세트는, 상기 지자기 센서의 2차원 평면상 회전으로부터 수집된 데이터를 기반으로 상기 지자기 센서의 캘리브레이션을 수행하는 명령어를 더 포함하고, 상기 방위각을 계산하는 명령어는 상기 캘리브레이션이 적용된 상기 자기장 측정 데이터를 기반으로 상기 방위각을 계산하는 명령어를 포함한다.Example 14 includes the subject matter of any of Examples 9-13, wherein the set further comprises instructions to perform a calibration of the geomagnetic sensor based on data collected from a two-dimensional in-plane rotation of the geomagnetic sensor; , The command for calculating the azimuth includes a command for calculating the azimuth based on the magnetic field measurement data to which the calibration is applied.
예 15는 예 9 내지 예 14 중 임의의 것의 주제를 포함하는데, 상기 방위각을 계산하는 명령어는 상기 UAV의 자이로스코프로부터 수신된 각속도 측정 데이터를 기반으로 상기 방위각을 자이로스코프 기반 방위각으로서 계산하는 단계와, 상기 자기장 측정 데이터를 기반으로 상기 방위각을 지자기 센서 기반 방위각으로서 계산하는 단계와, 상기 자이로스코프 기반 방위각 및 상기 지자기 센서 기반 방위각을 상보 필터로써 필터링하여 상기 방위각을 계산하는 명령어를 포함한다.Example 15 includes the subject matter of any of Examples 9-14, wherein the instructions for calculating the azimuth include: calculating the azimuth as a gyroscope based azimuth based on angular velocity measurement data received from a gyroscope of the UAV; , calculating the azimuth as a geomagnetic sensor-based azimuth based on the magnetic field measurement data, and filtering the gyroscope-based azimuth and the geomagnetic sensor-based azimuth with a complementary filter to calculate the azimuth.
예 16에서, 예 9 내지 예 15 중 임의의 것에 기재된 지자기 센서, 촬상 유닛 및 컴퓨팅 장치를 포함하는 무인 비행체가 제공된다.In Example 16, an unmanned aerial vehicle comprising the geomagnetic sensor, imaging unit, and computing device described in any of Examples 9-15 is provided.
전술된 개요는 상세한 설명에서 추가로 후술되는 몇몇 양상을 단순화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 중요 특징 또는 필수적 특징을 식별하도록 의도되지 않고, 청구된 주제의 범위를 정하는 데 사용되도록 의도되지도 않는다. 나아가, 청구된 주제는 본 명세서에서 논의되는 임의의 또는 모든 이점을 제공하는 구현에 한정되지 않는다.The previous summary is provided to introduce in a simplified form some aspects that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to delineate the scope of the claimed subject matter. Furthermore, claimed subject matter is not limited to implementations that provide any or all advantages discussed herein.
본 개시에 따르면, 실내 환경에서 운행하는 UAV의 방위각을 추정하는 데에서 지자기 센서에 의해 측정된 자기장뿐만 아니라 실내 환경 내의 사전결정된 특징이 포착된 영상도 활용함으로써 추정의 정확도를 향상시킬 수 있다.According to the present disclosure, in estimating the azimuth of a UAV operating in an indoor environment, it is possible to improve the accuracy of estimation by utilizing not only the magnetic field measured by the geomagnetic sensor but also an image in which predetermined features in the indoor environment are captured.
도 1은 실내 환경에서의 운행을 위한 예시적인 무인 비행체(Unmanned Aerial Vehicle: UAV)의 항법 시스템의 예를 보여주는 블록도이다.
도 2는 도 1의 UAV의 자세 추정의 예시적인 흐름을 보여준다.
도 3은 도 1의 UAV의 방위각을 계산하기 위한 영상 처리의 예시적인 흐름을 보여준다.
도 4a 및 도 4b는 각각 도 3의 영상 처리에서의 에지 검출 및 직선 검출을 설명하기 위한 도면이다.
도 5는 도 1의 UAV의 방위각을 설명하기 위한 도식이다.
도 6은 도 1의 UAV의 방위각을 계산하는 데에 사용되는 지자기 센서의 출력 데이터에 대해 지자기 센서의 캘리브레이션이 적용되기 전과 후를 비교하기 위한 도면이다.
도 7은 도 1의 UAV의 방위각 추정에서의 오차에 대한 보상의 예시적인 흐름을 보여준다.
도 8은 도 1의 UAV의 방위각 추정에서의 오차에 대한 보상의 다른 예시적인 흐름을 보여준다.
도 9는 도 1의 UAV의 방위각을 추정하는 프로세스의 예를 보여주는 흐름도이다.1 is a block diagram showing an example of a navigation system of an exemplary Unmanned Aerial Vehicle (UAV) for operation in an indoor environment.
FIG. 2 shows an exemplary flow of posture estimation of the UAV of FIG. 1 .
FIG. 3 shows an exemplary flow of image processing for calculating the azimuth of the UAV of FIG. 1 .
4A and 4B are diagrams for explaining edge detection and straight line detection in the image processing of FIG. 3 , respectively.
FIG. 5 is a diagram for explaining an azimuth of the UAV of FIG. 1 .
FIG. 6 is a diagram for comparing the output data of the geomagnetic sensor used to calculate the azimuth of the UAV of FIG. 1 before and after calibration of the geomagnetic sensor is applied.
7 shows an exemplary flow of compensation for an error in azimuth estimation of the UAV of FIG. 1 .
8 shows another exemplary flow of compensation for an error in azimuth estimation of the UAV of FIG. 1 .
9 is a flowchart illustrating an example of a process for estimating an azimuth of the UAV of FIG. 1 .
본 개시에서 사용되는 다양한 용어는 본 문서에서의 기능을 고려하여 상용 용어의 용어법으로부터 선택되는데, 이는 당업자의 의도, 준례, 또는 새로운 기술의 출현에 따라서 달리 인식될 수 있다. 특정한 사례에서, 몇몇 용어에는 상세한 설명에서 개진된 바와 같이 의미가 주어질 수 있다. 따라서, 본 문서에서 사용되는 용어는, 단순히 그 명칭에 의해서가 아니라, 본 개시의 맥락에서 그 용어가 갖는 의미와 일관되게 정의되어야 한다.Various terms used in the present disclosure are selected from the terminology of common terms in consideration of their functions in this document, which may be differently recognized according to the intention of those skilled in the art, practice, or emergence of new technology. In certain instances, some terms may be given meanings as set forth in the Detailed Description. Accordingly, terms used in this document should be defined consistent with their meaning in the context of the present disclosure and not simply by their names.
본 문서에서 용어 "포함하다", "가지다" 등은 이후에 열거된 요소, 예컨대, 어떤 특징, 숫자, 단계, 동작, 구성요소, 정보 또는 이들의 조합의 존재를 명시하는 경우에 사용된다. 달리 표시되지 않는 한, 이런 용어 및 이의 변형은 다른 요소의 존재 또는 추가를 배제하도록 의도되지 않는다.In this document, the terms "comprise", "have" and the like are used when specifying the presence of an element listed hereinafter, such as a certain feature, number, step, operation, element, information, or combination thereof. Unless otherwise indicated, these terms and variations thereof are not intended to exclude the presence or addition of other elements.
본 문서에서 사용되는 바와 같이, 용어 "제1", "제2" 등은 몇 개의 서로 닮은 요소를 식별하도록 의도된다. 달리 기재되지 않는 한, 그러한 용어는 이들 요소의 또는 이들의 사용의 특정한 순서와 같은 한정을 부과하도록 의도된 것이 아니라, 단지 여러 요소를 따로따로 지칭하기 위해 사용된다. 예를 들면, 어떤 요소가 일례에서 용어 "제1"로써 참조될 수 있는 한편 동일한 요소가 다른 예에서 "제2" 또는 "제3"과 같은 상이한 서수로써 참조될 수 있다. 그러한 예에서, 이들 용어는 본 개시의 범위를 한정하지 않는 것이다. 또한, 여러 요소의 리스트에서 용어 "및/또는"을 사용하는 것은 열거된 항목 중 임의의 하나 또는 복수 개를 비롯하여 이들 항목의 모든 가능한 조합을 포함한다. 나아가, 단수 형태의 표현은 명확하게 달리 사용되지 않는 한, 복수 형태의 의미를 포함한다.As used herein, the terms “first,” “second,” and the like are intended to identify several elements that resemble each other. Unless otherwise stated, such terms are not intended to impose limitations, such as the specific order of these elements or their use, but are merely used to refer to the various elements separately. For example, an element may be referenced in one example by the term "first" while the same element may be referenced in another example by a different ordinal number, such as "second" or "third." In such instances, these terms do not limit the scope of the present disclosure. Also, use of the term "and/or" in a list of multiple elements includes all possible combinations of those listed, including any one or multiple of those listed. Furthermore, expressions in the singular form include the meaning of the plural unless clearly used otherwise.
첨부된 도면을 참조하여 본 개시의 소정의 예가 이제 상세히 기술될 것이다. 다만, 본 개시는 많은 상이한 형태로 체현될 수 있으며, 본 문서에 개진된 예에 한정되는 것으로 해석되어서는 안 된다. 오히려, 이들 예는 본 개시의 범위의 더 나은 이해를 제공하기 위해서 주어지는 것이다.Certain examples of the present disclosure will now be described in detail with reference to the accompanying drawings. However, the present disclosure may be embodied in many different forms and should not be construed as being limited to the examples presented in this document. Rather, these examples are given to provide a better understanding of the scope of the present disclosure.
도 1은 실내 환경에서의 운행을 위한 예시적인 UAV(10)의 항법 시스템(100)의 예를 보여주는 블록도이다. UAV(10)의 예는 하나 이상의 로터(rotor)(또는 회전익(rotor blade))를 가진 드론(drone), 고정익(fixed wing)을 가진 드론 및 가변 로터(tilt-rotor) 메커니즘을 가진 드론을 포함한다.1 is a block diagram illustrating an example of a
도 1의 예시적인 항법 시스템(100)은 현재의 항법 정보(이는, 예컨대, UAV(10)의 위치, 속도 및 자세를 나타냄)를 UAV(10)에 장착된 센서로부터의 측정 정보 및 이전의 항법 정보에 기반하여 산출한다. 몇몇 예에서, 항법 시스템(100)은 외부의 항법 시스템(가령, GPS)으로부터 보조 정보를 수신하고 이를 사용하는 메커니즘을 갖지 않을 수 있다.The
도 1의 예에서, 항법 시스템(100)은 자이로스코프(110), 가속도계(120), 지자기 센서(130), 촬상 유닛(imaging unit)(140) 및 처리 유닛(processing unit)(150)을 포함한다. 항법 시스템(100)의 다른 예시적인 구현이 또한 고려된다. 예를 들어, 항법 시스템(100)은 도시되지 않은 추가적인 컴포넌트를 또한 포함할 수 있고/거나, 도 1에 도시된 컴포넌트 중 일부를 포함하나 전부를 포함하지는 않을 수 있다.In the example of FIG. 1 , the
도시된 예에서, 자이로스코프(110)는 각속도 측정 데이터를 제공한다. 예시적인 구현에서, 자이로스코프(110)는 각속도 측정 데이터가 UAV(10)의 동체 좌표계의 x축, y축 및 z축에 대해 각각 측정된 각속도 , 및 를 나타내도록 UAV에 장착될 수 있다. 예를 들어, 자이로스코프(140)는 3축 자이로스코프일 수 있다.In the example shown,
도시된 예에서, 가속도계(120)는 가속도 측정 데이터를 제공한다. 예시적인 구현에서, 가속도계(120)는 가속도 측정 데이터가 x축, y축 및 z축에 대해 각각 측정된 가속도 , 및 를 나타내도록 UAV(10)에 장착될 수 있다. 예를 들어, 가속도계(150)는 3축 가속도계일 수 있다.In the illustrated example,
도시된 예에서, 지자기 센서(130)는 자기장 측정 데이터를 제공한다. 예시적인 구현에서, 지자기 센서(110)는 자기장 측정 데이터가 x축, y축 및 z축 방향에서 각각 측정된 자기장 , 및 을 나타내도록 UAV(10)에 장착될 수 있다. 예를 들어, 지자기 센서(110)는 3축 자력계일 수 있다.In the illustrated example, the
도시된 예에서, 촬상 유닛(140)은 영상 데이터를 제공한다. 예시적인 구현에서, 촬상 유닛(120)은 사전결정된 주기로 UAV(10)의 전진 방향(가령, x축 방향)을 따라 포착된 M×N 픽셀의 영상 데이터를 제공하도록 UAV(10)에 장착될 수 있다. 예를 들어, 촬상 유닛(120)은 CMOS 이미지 센서, 카메라 모듈, 또는 다른 타입의 촬상 유닛일 수 있다.In the illustrated example, the
도시된 예에서, 처리 유닛(150)은 UAV(10)의 자세를 추정한다. 그러한 자세 추정의 예시적인 흐름이 도 2에 도시된다.In the illustrated example, the
몇몇 예시적인 구현에서, 블록(210 및 215)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 자이로스코프(110)로부터 수신된 각속도 측정 데이터를 기반으로 UAV(10)의 롤(roll) 각, 피치(pitch) 각 및 요(yaw) 각(즉, 방위각)을 다음 수학식에 따라 각각 , 및 으로서 계산할 수 있다.In some example implementations, as represented by
위 수학식에서 알 수 있는 바와 같이, 자이로스코프(110)의 각속도 측정 데이터로써 UAV(10)의 자세를 계산하는 것은 오차의 누적을 야기하는 적분을 수반한다. 그러한 드리프트(drift)로 인한 계산된 값의 발산은, 예컨대, 다음에서 기술되는 바와 같이, 억제될 수 있다.As can be seen from the above equation, calculating the posture of the
몇몇 예시적인 구현에서, 블록(220)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 가속도계(120)로부터 수신된 가속도 측정 데이터를 기반으로 UAV(10)의 롤 각 및 피치 각을 다음 수학식에 따라 각각 및 으로서 계산할 수 있다.In some example implementations, as represented by
그러면, 블록(225)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 각속도 측정 데이터를 기반으로 계산된 롤 각 및 피치 각 을 가속도 측정 데이터를 기반으로 계산된 롤 각 및 피치 각 과 각각 융합하여 UAV(10)의 센서 기반 롤 각 및 센서 기반 피치 각 을 산출할 수 있다. 특정한 예에서, 그러한 융합은 상보 필터(complementary filter)의 사용, 예컨대, 자이로스코프 기반 각도 값 및 에 고대역 통과 필터(High Pass Filter: HPF)를 적용하는 것 및 가속도계 기반 각도 값 및 에 저대역 통과 필터(Low Pass Filter: LPF)를 적용하는 것을 포함할 수 있다.Then, as represented by
또한, 몇몇 예시적인 구현에서, 블록(230)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 지자기 센서(130)로부터 수신된 자기장 측정 데이터를 기반으로, 그리고 UAV(10)의 롤 각 및 피치 각, 예컨대, 센서 기반 롤 각 및 센서 기반 피치 각 에 또한 기반하여, UAV(10)의 방위각을 다음 수학식에 따라 으로서 계산할 수 있다.Further, in some example implementations, as represented by
그러면, 블록(235)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 각속도 측정 데이터를 기반으로 계산된 방위각 을 자기장 측정 데이터를 기반으로 계산된 방위각 과 융합할 수 있다. 특정한 예에서, 그러한 융합은 상보 필터의 사용, 예컨대, 자이로스코프 기반 각도 값 에 HPF를 적용하는 것 및 지자기 센서 기반 각도 값 에 LPF를 적용하는 것을 포함할 수 있다.Then, as represented by
나아가, 몇몇 예시적인 구현에서, 방위각 및 방위각 의 융합은 사전설정된 오차 보상 값 으로써 오차 보상이 될 수 있다. 예를 들어, 블록(250)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 융합으로부터 초래된 값에서 오차 보상 값 을 감산함으로써 UAV(10)의 방위각의 최종적인 추정치로서 센서 기반 방위각 을 산출할 수 있다. 특정한 예에서, 처리 유닛(150)은 UAV의 초기화 동안에 오차 보상 값 을 초기 값(가령, 0)으로 초기화할 수 있고, 블록(245)에 의해 나타내어진 바와 같이, 오차 보상 값 을 UAV(10)의 센서 기반 방위각 및 영상 기반 방위각 에 기반하여 갱신할 수 있다. 영상 기반 방위각 은, 블록(240)에 의해 나타내어진 바와 같이, 촬상 유닛(140)으로부터 수신된 영상 데이터에 대해 처리 유닛(150)에 의해 수행된 영상 처리의 출력일 수 있다.Further, in some example implementations, azimuth and azimuth fusion of the preset error compensation value This can be error compensation. For example, as represented by
몇몇 예에서, 처리 유닛(150)은 지자기 센서(130)로부터 자기장 측정 데이터를 제1 주기로 수신할 수 있고, 촬상 유닛(140)으로부터 영상 데이터를 제2 주기로 수신할 수 있는데, 제2 주기(가령, 0.5초)가 제1 주기(가령, 0.01초)보다 더 클 수 있다. 이들 예에서, 영상 데이터가 새로 수신될 때까지, 결국 영상 기반 방위각 이 새로 출력될 때까지, 위와 같이 계산된 오차 보상 값 이 센서 기반 방위각 의 산출에 사용될 수 있다.In some examples, the
전술된 오차 보상은 자기장 측정 데이터에 발생할 수 있는 왜곡이 방위각 추정에 미칠 영향을 억제할 수 있다. 이와 같이, 실내에서 UAV(10)를 운행하면서 상당한 지자기 외란을 겪을 경우에도, 자이로스코프 기반 각도 값 및 지자기 센서 기반 각도 값 의 융합에 오차 보상을 적용하는 것은 보다 신뢰성 있는 방위각 추정을 가능하게 한다.The above-described error compensation may suppress the influence of distortion that may occur in the magnetic field measurement data on the azimuth estimation. As such, even when experiencing significant geomagnetic disturbance while driving the
다음은 도 2에 예시된 자세 추정에 관한 추가의 세부사항을 제공한다.The following provides additional details regarding the pose estimation illustrated in FIG. 2 .
우선, 도 3을 참조하여, UAV(10)의 방위각을 계산하기 위한 영상 처리의 예시적인 흐름이 논의된다. 도 3의 블록(310 내지 360)은 도 2의 블록(240)에 포함될 수 있다.First, referring to FIG. 3 , an exemplary flow of image processing for calculating the azimuth of the
몇몇 예시적인 구현에서, 블록(310)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 UAV(10)가 실내 환경에서 운행하는 동안에 촬상 유닛(140)에 의해 포착된 영상 데이터를 촬상 유닛(140)으로부터 수신할 수 있다. 실내 환경 내에는, 예컨대, 실내 환경의 바닥에, 가시적으로든 또는 다른 식으로 인식가능(가령, 적외선 카메라로써 감지가능)하게든 표시된 직선 부분(가령, 직선 인공물)을 포함하는 사전결정된 특징이 있을 수 있다.In some example implementations, as represented by
몇몇 예시적인 구현에서, 수신된 영상 데이터는 RGB 색상 포맷으로 된 영상 데이터일 수 있다. 그러면, 블록(320)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 수신된 영상 데이터의 RGB 색상을 그레이스케일(grayscale)로 변환할 수 있다.In some example implementations, the received image data may be image data in RGB color format. Then, as represented by
몇몇 예시적인 구현에서, 블록(330)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 그레이스케일 영상 데이터를 에지(edge) 보존 필터로써 처리할 수 있다. 예를 들어, 에지 보존 필터는 영상의 선명도를 증가시키고 영상의 노이즈를 감소시키는 데에 적합한 양방향 필터(bilateral filter)일 수 있다.In some example implementations, as represented by
몇몇 예시적인 구현에서, 블록(340)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 필터링된 영상 데이터로부터 에지를 검출할 수 있다. 예를 들어, 그러한 에지 검출을 위해 캐니 에지 검출(Canny edge detection) 알고리즘이 사용될 수 있다. 도 4a는 에지 검출의 결과를 나타낸다.In some example implementations, as represented by
몇몇 예시적인 구현에서, 블록(350)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 검출된 에지를 기반으로 실내 환경 내의 표시된 직선 부분을 검출할 수 있다. 예를 들어, 그러한 직선 검출을 위해 허프 라인 검출(Hough line detection) 알고리즘이 사용될 수 있다. 도 4b는 직선 검출의 결과를 나타낸다.In some example implementations, as represented by
몇몇 예시적인 구현에서, 블록(360)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 검출된 직선 부분을 기반으로 UAV(10)의 영상 기반 방위각 을 산출할 수 있다. 예를 들어, 도 5를 참조하면, 직선 부분이 검출된 경우에, 처리 유닛(150)은 UAV(10)의 전진 방향, 예컨대, 영상 데이터의 수직 해상도가 정의되는 수직 영상 방향(가령, 도 4b의 영상의 위쪽 방향)에 대한 직선 부분의 상대 각도 를 판정할 수 있다. 한편, 직선 부분의 자북 기준 절대 방위각 은 사전결정된 값으로서 처리 유닛(150)에 주어질 수 있다. 그러면, 처리 유닛(150)은 직선 부분의 절대 방위각 및 상대 각도 를 기반으로 영상 기반 방위각 을 산출할 수 있다. 예를 들어, 도 5의 예에서, UAV(10)의 영상 기반 방위각은 로 주어진다.In some example implementations, as represented by
다음으로, 지자기 센서(130)의 캘리브레이션(calibration)의 예가 논의된다. 지자기 센서(130)에 의해 제공되는 자기장 측정 데이터는 지구 자기장의 측정치 외에 동작 환경 내의 주변 물체로 인해 왜곡될 수 있다. 자기장 측정 데이터에서의 왜곡을 보정하는 것은 결국 지구의 자력이 아닌 자력의 영향을 자기장 측정 데이터에서 제거하는 것으로서, 특히 UAV(10)의 초기 방위각 추정에 유용하다. 지자기 센서의 캘리브레이션은 그러한 보정에 사용될 파라미터를 정하는 프로세스이다.Next, an example of calibration of the
몇몇 예시적인 구현에서, 처리 유닛(150)은 지자기 센서(130)의 2차원 평면상 회전(two-dimensional planar rotation)으로부터 자기장 측정 데이터를 수집할 수 있다. 특히, UAV(10)는 호버링(hovering) 동안에 롤 각 및 피치 각을 가능한 한 0도로 유지할 수 있다는 점을 고려하면, 그러한 2차원 캘리브레이션은 보다 복잡한 3차원 캘리브레이션에 비해 별다른 열화 없이 방위각 추정에 도움이 될 수 있다.In some example implementations, the
예를 들어, 처리 유닛(150)은 UAV(10)(의 지자기 센서(130))로 하여금 초기화 동안에 x-y 평면 상에서 360도 회전하도록 제어할 수 있다. 그러한 회전으로부터 수집된 데이터는 x축 및 y축 방향의 자력을 나타내는 수평 자기 벡터의 세트를 포함할 수 있다. 그러면, 처리 유닛(150)은 수집된 데이터를 기반으로 파라미터를 결정하고 향후 자기장 측정 데이터에서의 왜곡을 보정하는 데에 파라미터를 사용할 수 있다. 도 6은 지자기 센서(130)로부터 출력된 자기장 측정 데이터에 대해 그러한 캘리브레이션이 적용되기 전과 후를 보여준다. 지자기 센서(130)의 2차원 평면상 회전으로부터 수집된 데이터는, 왜곡의 보정이 정확할수록, 원점을 중심으로 하는 원에 가까운 그래프로 묘사된다. 왜곡의 보정이 부정확하면, 강성 왜곡(hard iron distortion)으로 인해 원 그래프의 중심이 원점을 벗어난 채로 그리고/또는 약성 왜곡(soft iron distortion)으로 인해 원 그래프가 찌그러져 타원 형태로 된 채로 남아 있다.For example, processing
몇몇 예시적인 구현에서, 전술된 2차원 캘리브레이션은 수집된 자기장 측정 데이터의 타원 방정식 행렬 표현을 사용한다. 그러한 타원 방정식의 계수는 지자기 센서(130)의 오차 파라미터에 달려 있다. 따라서, 그러한 캘리브레이션은 표현된 행렬에 대해 고유 분해(eigen-decomposition)(대각화 분해로도 지칭됨)를 수행하는 것과, 선형 최소 자승법(least square method)으로써 타원 방정식의 계수를, 그리고 결국 지자기 센서(130)의 오차 파라미터를 결정하는 것을 수반한다.In some example implementations, the two-dimensional calibration described above uses an elliptic equation matrix representation of the collected magnetic field measurement data. The coefficients of such an elliptic equation depend on the error parameter of the
나아가, 도 7을 참조하여, UAV(10)의 방위각 추정에서의 오차에 대한 보상의 예시적인 흐름이 논의된다. 도 7의 블록(710 내지 730)은 도 2의 블록(245)에 포함될 수 있다.Further, with reference to FIG. 7 , an exemplary flow of compensation for errors in azimuth estimation of the
몇몇 예시적인 구현에서, 블록(710)에 의해 나타내어진 바와 같이, 처리 유닛(150)은 센서 기반 방위각 및 영상 기반 방위각 을 융합하여 필터링된 방위각 을 산출할 수 있다. 특정한 예에서, 그러한 융합은 상보 필터의 사용, 예컨대, 센서 기반 방위각 에 HPF를 적용하는 것 및 영상 기반 방위각 에 LPF를 적용하는 것을 포함할 수 있다.In some example implementations, as represented by
몇몇 예시적인 구현에서, 블록(720)에 의해 나타내어지는 바와 같이, 처리 유닛(150)은 센서 기반 방위각 및 필터링된 방위각 의 차이 를 계산할 수 있다.In some example implementations, as represented by
몇몇 예시적인 구현에서, 블록(730)에 의해 나타내어지는 바와 같이, 처리 유닛(150)은 계산된 차이 에 오차 보상 값 을 누적하는 방식으로 오차 보상 값 을 갱신할 수 있다. 예를 들어, 갱신된 오차 보상 값 은 UAV(10)의 차후 영상 기반 방위각 이 산출될 때까지 UAV(10)의 오차 보상된 센서 기반 방위각 을 산출하는 데에 사용될 수 있고, 그러한 경우에 만약 오차 보상 값 이 누적되지 않는다면 이전에 보상된 오차만큼 오차가 존재할 것임을 감안하여, 오차 보상 값 은 누적식으로 갱신될 수 있다.In some example implementations, as represented by
또한, 도 8을 참조하여, UAV(10)의 방위각 추정에서의 오차에 대한 보상의 다른 예시적인 흐름이 논의된다. 도 8의 블록(810 내지 840)은 도 2의 블록(245)에 포함될 수 있다.Also with reference to FIG. 8 , another exemplary flow of compensation for errors in azimuth estimation of the
몇몇 예시적인 구현에서, 블록(810)에 의해 나타내어지는 바와 같이, 처리 유닛(150)은 센서 기반 방위각 및 영상 기반 방위각 의 차이 를 계산할 수 있다.In some example implementations, as represented by
몇몇 예시적인 구현에서, 블록(820)에 의해 나타내어지는 바와 같이, 처리 유닛(150)은 계산된 차이 가 임계 값(가령, 30도) 이상인지를 판정할 수 있다.In some example implementations, as represented by
블록(830)에 의해 나타내어지는 바와 같이, 만일 차이 가 임계 값 미만인 경우, 처리 유닛(150)은 계산된 차이 에 오차 보상 값 을 누적하는 방식으로 오차 보상 값 을 갱신할 수 있다. 예를 들어, 갱신된 오차 보상 값 은 UAV(10)의 차후 영상 기반 방위각 이 산출될 때까지 UAV(10)의 오차 보상된 센서 기반 방위각 을 산출하는 데에 사용될 수 있고, 그러한 경우에 만약 오차 보상 값 이 누적되지 않는다면 이전에 보상된 오차만큼 오차가 존재할 것임을 감안하여, 오차 보상 값 은 누적식으로 갱신될 수 있다.As indicated by
블록(840)에 의해 나타내어지는 바와 같이, 만일 차이 가 임계 값 이상인 경우, 처리 유닛(150)은 오차 보상 값 을 초기 값으로 초기화할 수 있다. 환언하면, 전술된 바와 같이 누적식으로 오차 보상 값 을 갱신하는 것은 차이 가 어느 정도 한도 내에 있을 때에 유용하다. 만일 차이 에 갑작스런 큰 변화가 있다면, 이 변화는 지자기 외란보다는 실내 환경 내의 사전결정된 특징에 포함된 인접한 부분들 간의 상당한 특징 차이(가령, 두 인접한 직선 부분의 절대 방위각 간의 큰 차이)에 기인할 공산이 높다. 이에 따라, 몇몇 예에서, 처리 유닛(150)은 그러한 경우에, 오차 보상 값 을 계속해서 누적시키는 것 대신에, 오차 보상 값 을 초기화할 수 있다.As indicated by
추가적으로, 도 7의 오차 보상에서든 또는 도 8의 오차 보상에서든, 촬상 유닛(140)으로부터 영상 데이터가 (그리고 따라서 영상 처리(240)의 결과로서 영상 기반 방위각 이) 임계 시간(가령, 3초) 이상 수신되지 않는 경우에, 처리 유닛(150)은 오차 보상 값 을 초기 값으로 초기화할 수 있다. 이 경우에도, 실내 환경의 이전에 검출된 특징을 기반으로 설정된 오차 보상 값 을 계속해서 누적시키는 것은 오히려 센서 기반 방위각 의 오차를 늘릴 수 있으므로, 처리 유닛(150)은 이를 방지하기 위해 오차 보상 값 을 초기화할 수 있다.Additionally, whether in the error compensation of FIG. 7 or the error compensation of FIG. 8 , the image data from the imaging unit 140 (and thus the image-based azimuth as a result of the image processing 240 ) If this) is not received for more than a threshold time (eg, 3 seconds), the
도 9는 UAV(10)의 방위각을 추정하는 프로세스(900)의 예를 보여주는 흐름도이다. 전술된 바와 같이, UAV(10)는 사전결정된 특징(가령, 인공물)을 포함하는 실내 환경에서 운행할 수 있다. 예를 들어, 도 9의 프로세스(900)는 UAV(10)의 항법 시스템(100)(특히, 처리 유닛(150))에 의해 수행될 수 있다. 또한, 예로서, 도 9의 프로세스(900)는 외부의 항법 시스템으로부터의 보조 정보의 사용 없이 수행될 수 있다. 프로세스(900)의 다른 예시적인 흐름이 또한 고려된다. 예를 들어, 프로세스(900)는 도시되지 않은 추가적인 동작을 또한 포함할 수 있고/거나, 도 9에 도시된 동작 중 일부를 포함하나 전부를 포함하지는 않을 수 있다.9 is a flow diagram illustrating an example of a
동작(910)에서, UAV(10)의 지자기 센서(130)로부터 수신된 자기장 측정 데이터를 기반으로 UAV(10)의 방위각이 계산된다. 전술된 바와 같이, 자기장 측정 데이터는 자이로스코프(110)로부터 수신된 측정 데이터를 기반으로 방위각을 계산하는 데에서 발생하는 발산 오차를 보정하기 위해 사용될 수 있다. 몇몇 예에서, UAV(10)의 초기화 동안에 지자기 센서(130)의 2차원 평면상 회전으로부터 데이터가 수집될 수 있고, 수집된 데이터를 기반으로 지자기 센서(130)의 캘리브레이션이 수행될 수 있다. 그러면, UAV(10)의 방위각은 그러한 캘리브레이션이 적용된 자기장 측정 데이터를 기반으로 계산될 수 있다.In
동작(920)에서, UAV(10)의 계산된 방위각 및 사전설정된 오차 보상 값으로부터 센서 기반 방위각이 판정된다. 예를 들어, 오차 보상 값은 초기화된 후에 후술되는 바와 같이 갱신될 수 있다.At
동작(930)에서, UAV(10)의 촬상 유닛(140)으로부터 수신된 영상 데이터를 기반으로 실내 환경의 사전결정된 특징이 검출된다. 촬상 유닛(140)으로부터 영상 데이터가 수신되는 주기는 지자기 센서(130)로부터 자기장 측정 데이터가 수신되는 주기보다 더 클 수 있다. 특정한 예에서, 사전결정된 특징은 (가령, 자북을 기준으로 한) 사전결정된 절대 방위각을 갖는 직선 부분을 포함할 수 있다.In
동작(940)에서, 검출된 사전결정된 특징으로부터 영상 기반 방위각이 판정된다. 특정한 예에서, UAV(10)에 대한 사전결정된 특징의 직선 부분의 상대 각도 및 이 직선 부분의 사전결정된 절대 방위각으로부터 영상 기반 방위각이 계산될 수 있다.At
동작(950)에서, 센서 기반 방위각 및 영상 기반 방위각을 기반으로 오차 보상 값이 갱신된다. 예를 들어, 센서 기반 방위각 및 영상 기반 방위각이 필터링된 방위각으로 처리될 수 있다. 그러한 처리는 센서 기반 방위각 및 영상 기반 방위각을 상보 필터로써 필터링하여 필터링된 방위각을 산출하는 것을 포함할 수 있다. 그러면, 센서 기반 방위각 및 필터링된 방위각 간의 차이에 오차 보상 값이 누적된 값으로 오차 보상 값이 설정될 수 있다. 다른 예에서, 센서 기반 방위각 및 영상 기반 방위각 간의 차이가 임계 값 이상인지를 기반으로, 상기 오차 보상 값은 초기 값으로 또는 상기 오차 보상 값에 상기 차이가 누적된 값으로 설정될 수 있다. 또한, 어느 예에서든, 영상 데이터가 촬상 유닛(140)으로부터 임계 시간 이상 수신되지 않는 경우에, 오차 보상 값은 초기 값으로 설정될 수 있다.In
도 9의 프로세스(900)의 추가적인 세부사항에 대해, UAV(10)의 항법 시스템(100)에 관해 전술된 설명이 참조될 수 있다.For further details of the
특정한 예에서, 본 문서에서 언급된 장치, 디바이스, 시스템, 머신 등은 임의의 적합한 유형은 컴퓨팅 장치이거나, 이를 포함하거나, 이에 구현될 수 있다. 컴퓨팅 장치는 프로세서 및 프로세서에 의해 판독가능한 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 프로세서는 컴퓨터 판독가능 저장 매체 내에 저장된 하나 이상의 명령어를 실행할 수 있다. 프로세서는 또한 컴퓨터 판독가능 저장 매체 내에 저장된 다른 정보를 판독할 수 있다. 추가로, 프로세서는 컴퓨터 판독가능 저장 매체 내에 새로운 정보를 저장할 수 있고 컴퓨터 판독가능 저장 매체 내에 저장된 어떤 정보를 갱신할 수 있다. 프로세서는, 예컨대, 중앙 처리 유닛(Central Processing Unit: CPU), 디지털 신호 프로세서(Digital Signal Processor: DSP), 그래픽 처리 유닛(Graphics Processing Unit: GPU), 프로세서 코어(processor core), 마이크로프로세서(microprocessor), 마이크로제어기(microcontroller), 필드 프로그램가능 게이트 어레이(Field-Programmable Gate Array: FPGA), 애플리케이션 특정 집적 회로(Application Specific Integrated Circuit: ASIC), 다른 하드웨어 및 로직 회로, 또는 이의 임의의 적합한 조합을 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 다양한 정보, 예컨대, 프로세서에 의해 수행될 수 있는 프로세서 실행가능(processor executable) 명령어의 세트 및/또는 다른 정보로써 인코딩된다. 예를 들어, 컴퓨터 판독가능 저장 매체는 프로세서에 의해 실행되는 경우 컴퓨팅 장치(가령, 프로세서)로 하여금 본 문서에 개시된 몇몇 동작을 수행하게 하는 컴퓨터 프로그램 명령어 및/또는 그러한 동작에서 사용되는 정보, 데이터, 변수, 상수, 데이터 구조, 기타 등등이 내부에 저장될 수 있다. 컴퓨터 판독가능 저장 매체는, 예컨대, 판독 전용 메모리(Read-Only Memory: ROM), 랜덤 액세스 메모리(Random-Access Memory: RAM), 휘발성(volatile) 메모리, 비휘발성(non-volatile) 메모리, 착탈가능(removable) 메모리, 비착탈가능(non-removable) 메모리, 플래시(flash) 메모리, 솔리드 스테이트(solid-state) 메모리, 다른 타입의 메모리 디바이스, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 다른 타입의 저장 디바이스 및 저장 매체, 또는 이의 임의의 적합한 조합을 포함할 수 있다.In certain instances, any suitable type of apparatus, device, system, machine, etc. referred to herein may be, include, or be embodied in a computing device. A computing device may include a processor and a computer-readable storage medium readable by the processor. The processor may execute one or more instructions stored in a computer-readable storage medium. The processor may also read other information stored within the computer readable storage medium. Additionally, the processor may store new information in the computer-readable storage medium and update any information stored in the computer-readable storage medium. The processor is, for example, a central processing unit (CPU), a digital signal processor (DSP), a graphics processing unit (GPU), a processor core, a microprocessor. , a microcontroller, a Field-Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), other hardware and logic circuitry, or any suitable combination thereof. can A computer-readable storage medium is encoded with various information, such as a set of processor executable instructions and/or other information that can be executed by a processor. For example, a computer-readable storage medium may include computer program instructions that, when executed by a processor, cause a computing device (eg, a processor) to perform some operations disclosed herein and/or information, data, and/or information used in those operations; Variables, constants, data structures, etc. can be stored inside. Computer-readable storage media include, for example, read-only memory (ROM), random-access memory (RAM), volatile memory, non-volatile memory, removable Removable memory, non-removable memory, flash memory, solid-state memory, other types of memory devices, magnetic media such as hard disks, floppy disks and magnetic tapes, CDs - optical recording media such as ROM, DVD, magneto-optical media such as floppy disks, other types of storage devices and storage media, or any suitable combination thereof.
특정한 예에서, 본 문서에 기술된 동작, 기법, 프로세스, 또는 이의 어떤 양상이나 부분은 컴퓨터 프로그램 제품 내에 체현될 수 있다. 그러한 컴퓨터 프로그램은 컴퓨터에 의해 실행될 수 있는 어떤 유형의 (가령, 컴파일형(compiled) 또는 해석형(interpreted)) 프로그래밍 언어, 예컨대, 어셈블리(assembly), 기계어(machine language), 프로시저형(procedural) 언어, 객체지향(object-oriented) 언어 등등으로 구현될 수 있고, 하드웨어 구현과 조합될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 저장 매체의 형태로 배포될 수 있거나 온라인으로 배포될 수 있다. 온라인 배포를 위해, 컴퓨터 프로그램 제품의 일부 또는 전부가 서버(가령, 서버의 컴퓨터 판독가능 저장 매체) 내에 일시적으로 저장되거나 일시적으로 생성될 수 있다.In certain instances, the acts, techniques, processes, or any aspect or portion thereof described herein may be embodied in a computer program product. Such computer programs can be implemented in any type (eg, compiled or interpreted) programming language that can be executed by a computer, such as assembly, machine language, procedural. It may be implemented in a language, an object-oriented language, etc., and may be combined with a hardware implementation. The computer program product may be distributed in the form of a computer-readable storage medium or may be distributed online. For online distribution, some or all of the computer program product may be temporarily stored or temporarily created in a server (eg, a computer-readable storage medium of the server).
이상의 설명은 상세하게 몇몇 예를 예시하고 기술하기 위해 제시되었다. 본 개시의 범주에서 벗어나지 않고서 위의 교시에 비추어 많은 수정 및 변형이 가능함을 당업자는 응당 이해할 것이다. 다양한 예에서, 전술된 기법이 상이한 순서로 수행되고/거나, 전술된 시스템, 아키텍처, 디바이스, 회로 및 유사한 것의 컴포넌트 중 일부가 상이한 방식으로 결합 또는 조합되거나, 다른 컴포넌트 또는 이의 균등물에 의해 대치 또는 치환되더라도 적절한 결과가 달성될 수 있다.The above description has been presented to illustrate and describe some examples in detail. It will be appreciated by those skilled in the art that many modifications and variations are possible in light of the above teachings without departing from the scope of the present disclosure. In various instances, the techniques described above are performed in a different order, and/or some of the components of the systems, architectures, devices, circuits and the like described above are combined or combined in different ways, replaced by other components or equivalents thereof, or Even with substitution, appropriate results can be achieved.
그러므로, 본 개시의 범주는 개시된 그 형태에 한정되어서는 안 되며, 후술하는 청구항 및 이의 균등물에 의해 정해져야 한다.Therefore, the scope of the present disclosure should not be limited to the form disclosed, but should be defined by the following claims and their equivalents.
10: 무인 비행체
100: 항법 시스템
110: 자이로스코프
120: 가속도계
130: 지자기 센서
140: 촬상 유닛
150: 처리 유닛10: unmanned aerial vehicle
100: navigation system
110: gyroscope
120: accelerometer
130: geomagnetic sensor
140: imaging unit
150: processing unit
Claims (16)
상기 UAV의 지자기 센서(geomagnetic sensor)로부터 수신된 자기장 측정 데이터를 기반으로 상기 방위각을 계산하는 단계와,
상기 계산된 방위각 및 사전설정된 오차 보상 값으로부터 센서 기반 방위각을 판정하는 단계와,
상기 UAV의 촬상 유닛(imaging unit)으로부터 수신된 영상 데이터를 기반으로 상기 실내 환경의 사전결정된 특징을 검출하는 단계와,
상기 검출된 사전결정된 특징으로부터 영상 기반 방위각을 판정하는 단계와,
상기 센서 기반 방위각 및 상기 영상 기반 방위각을 기반으로 상기 오차 보상 값을 갱신하는 단계를 포함하되,
상기 사전결정된 특징은 사전결정된 절대 방위각을 갖는 직선 부분을 포함하고, 상기 영상 기반 방위각을 판정하는 단계는 상기 UAV에 대한 상기 직선 부분의 상대 각도 및 상기 절대 방위각으로부터 상기 영상 기반 방위각을 계산하는 단계를 포함하는,
방법.As a method of estimating the azimuth of an unmanned aerial vehicle (UAV) operating in an indoor environment,
calculating the azimuth based on magnetic field measurement data received from a geomagnetic sensor of the UAV;
determining a sensor-based azimuth from the calculated azimuth and a preset error compensation value;
detecting a predetermined characteristic of the indoor environment based on image data received from an imaging unit of the UAV;
determining an image-based azimuth from the detected predetermined feature;
updating the error compensation value based on the sensor-based azimuth and the image-based azimuth,
wherein the predetermined feature comprises a straight-line portion having a predetermined absolute azimuth, and wherein determining the image-based azimuth includes calculating the image-based azimuth from the absolute azimuth and a relative angle of the straight-line portion with respect to the UAV. containing,
Way.
상기 오차 보상 값을 갱신하는 단계는 상기 센서 기반 방위각 및 상기 영상 기반 방위각을 상보 필터(complementary filter)로써 필터링하여 필터링된 방위각을 산출하는 단계와, 상기 센서 기반 방위각 및 상기 필터링된 방위각 간의 차이에 상기 오차 보상 값이 누적된 값으로 상기 오차 보상 값을 설정하는 단계를 포함하는,
방법.The method of claim 1,
The updating of the error compensation value includes calculating a filtered azimuth by filtering the sensor-based azimuth and the image-based azimuth with a complementary filter, and adding the difference between the sensor-based azimuth and the filtered azimuth. Comprising the step of setting the error compensation value to the accumulated value of the error compensation value,
Way.
상기 오차 보상 값을 갱신하는 단계는 상기 센서 기반 방위각 및 상기 영상 기반 방위각 간의 차이가 임계 값 이상인지를 기반으로, 상기 오차 보상 값을 초기 값으로 또는 상기 차이에 상기 오차 보상 값이 누적된 값으로 설정하는 단계를 포함하는,
방법.The method of claim 1,
The updating of the error compensation value includes using the error compensation value as an initial value or an accumulated value of the error compensation value based on whether the difference between the sensor-based azimuth and the image-based azimuth is equal to or greater than a threshold value. comprising the steps of setting
Way.
상기 영상 데이터가 상기 촬상 유닛으로부터 임계 시간 이상 수신되지 않는 경우에 상기 오차 보상 값을 초기 값으로 설정하는 단계를 더 포함하는,
방법.The method of claim 1,
Setting the error compensation value to an initial value when the image data is not received from the imaging unit for more than a threshold time,
Way.
상기 지자기 센서의 2차원 평면상 회전으로부터 수집된 데이터를 기반으로 상기 지자기 센서의 캘리브레이션(calibration)을 수행하는 단계를 더 포함하고, 상기 방위각을 계산하는 단계는 상기 캘리브레이션이 적용된 상기 자기장 측정 데이터를 기반으로 상기 방위각을 계산하는 단계를 포함하는,
방법.The method of claim 1,
Further comprising the step of performing calibration (calibration) of the geomagnetic sensor based on data collected from the two-dimensional plane rotation of the geomagnetic sensor, and calculating the azimuth is based on the magnetic field measurement data to which the calibration is applied Comprising the step of calculating the azimuth with
Way.
상기 방위각을 계산하는 단계는 상기 UAV의 자이로스코프(gyroscope)로부터 수신된 각속도 측정 데이터를 기반으로 상기 방위각을 자이로스코프 기반 방위각으로서 계산하는 단계와, 상기 자기장 측정 데이터를 기반으로 상기 방위각을 지자기 센서 기반 방위각으로서 계산하는 단계와, 상기 자이로스코프 기반 방위각 및 상기 지자기 센서 기반 방위각을 상보 필터로써 필터링하여 상기 방위각을 계산하는 단계를 포함하는,
방법.The method of claim 1,
Calculating the azimuth includes calculating the azimuth as a gyroscope-based azimuth based on angular velocity measurement data received from a gyroscope of the UAV, and determining the azimuth based on the magnetic field measurement data based on a geomagnetic sensor Comprising the steps of calculating as an azimuth, and calculating the azimuth by filtering the gyroscope-based azimuth and the geomagnetic sensor-based azimuth with a complementary filter,
Way.
프로세서와,
메모리를 포함하되, 상기 메모리는 실내 환경에서 운행하는 무인 비행체(Unmanned Aerial Vehicle: UAV)의 방위각을 추정하기 위해 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램 명령어의 세트로써 인코딩되되, 상기 세트는,
상기 UAV의 지자기 센서로부터 수신된 자기장 측정 데이터를 기반으로 상기 UAV의 방위각을 계산하는 명령어와,
상기 계산된 방위각 및 사전설정된 오차 보상 값으로부터 센서 기반 방위각을 판정하는 명령어와,
상기 UAV의 촬상 유닛으로부터 수신된 영상 데이터를 기반으로 상기 실내 환경의 사전결정된 특징을 검출하는 명령어와,
상기 검출된 사전결정된 특징으로부터 영상 기반 방위각을 판정하는 명령어와,
상기 센서 기반 방위각 및 상기 영상 기반 방위각을 기반으로 상기 오차 보상 값을 갱신하는 명령어를 포함하되,
상기 사전결정된 특징은 사전결정된 절대 방위각을 갖는 직선 부분을 포함하고, 상기 영상 기반 방위각을 판정하는 명령어는 상기 UAV에 대한 상기 직선 부분의 상대 각도 및 상기 절대 방위각으로부터 상기 영상 기반 방위각을 계산하는 명령어를 포함하는,
컴퓨팅 장치.A computing device comprising:
processor and
A memory comprising: a memory encoded as a set of computer program instructions executable by the processor for estimating an azimuth of an Unmanned Aerial Vehicle (UAV) operating in an indoor environment, the set comprising:
a command for calculating the azimuth of the UAV based on the magnetic field measurement data received from the geomagnetic sensor of the UAV;
instructions for determining a sensor-based azimuth from the calculated azimuth and a preset error compensation value;
instructions for detecting a predetermined characteristic of the indoor environment based on image data received from the imaging unit of the UAV;
instructions for determining an image-based azimuth from the detected predetermined feature;
a command for updating the error compensation value based on the sensor-based azimuth and the image-based azimuth,
The predetermined feature includes a straight line portion having a predetermined absolute azimuth, and the instructions for determining the image-based azimuth include instructions for calculating the image-based azimuth from the absolute azimuth and a relative angle of the linear portion with respect to the UAV. containing,
computing device.
상기 오차 보상 값을 갱신하는 명령어는 상기 센서 기반 방위각 및 상기 영상 기반 방위각을 상보 필터로써 필터링하여 필터링된 방위각을 산출하는 명령어와, 상기 오차 보상 값을 상기 센서 기반 방위각 및 상기 필터링된 방위각 간의 차이에 상기 오차 보상 값이 누적된 값으로 설정하는 명령어를 포함하는,
컴퓨팅 장치.The method of claim 9,
The command for updating the error compensation value includes a command for calculating a filtered azimuth by filtering the sensor-based azimuth and the image-based azimuth with a complementary filter, and adding the error compensation value to the difference between the sensor-based azimuth and the filtered azimuth. including a command for setting the error compensation value to an accumulated value,
computing device.
상기 오차 보상 값을 갱신하는 명령어는 상기 센서 기반 방위각 및 상기 영상 기반 방위각 간의 차이가 임계 값 이상인지를 기반으로, 상기 오차 보상 값을 초기 값으로 또는 상기 차이에 상기 오차 보상 값이 누적된 값으로 설정하는 명령어를 포함하는,
컴퓨팅 장치.The method of claim 9,
The command for updating the error compensation value is based on whether the difference between the sensor-based azimuth and the image-based azimuth is equal to or greater than a threshold value, and sets the error compensation value as an initial value or a value obtained by adding the error compensation value to the difference. containing the command to set,
computing device.
상기 세트는, 상기 영상 데이터가 상기 촬상 유닛으로부터 임계 시간 이상 수신되지 않는 경우에 상기 오차 보상 값을 초기 값으로 설정하는 명령어를 더 포함하는,
컴퓨팅 장치.The method of claim 9,
The set further includes instructions for setting the error compensation value to an initial value when the image data is not received from the imaging unit for more than a threshold time,
computing device.
상기 세트는, 상기 지자기 센서의 2차원 평면상 회전으로부터 수집된 데이터를 기반으로 상기 지자기 센서의 캘리브레이션을 수행하는 명령어를 더 포함하고, 상기 방위각을 계산하는 명령어는 상기 캘리브레이션이 적용된 상기 자기장 측정 데이터를 기반으로 상기 방위각을 계산하는 명령어를 포함하는,
컴퓨팅 장치.The method of claim 9,
The set further includes instructions for performing calibration of the geomagnetic sensor based on data collected from the two-dimensional rotation of the geomagnetic sensor, and the instruction for calculating the azimuth is the magnetic field measurement data to which the calibration is applied. Comprising a command to calculate the azimuth based on,
computing device.
상기 방위각을 계산하는 명령어는 상기 UAV의 자이로스코프로부터 수신된 각속도 측정 데이터를 기반으로 상기 방위각을 자이로스코프 기반 방위각으로서 계산하는 명령어와, 상기 자기장 측정 데이터를 기반으로 상기 방위각을 지자기 센서 기반 방위각으로서 계산하는 명령어와, 상기 자이로스코프 기반 방위각 및 상기 지자기 센서 기반 방위각을 상보 필터로써 필터링하여 상기 방위각을 계산하는 명령어를 포함하는,
컴퓨팅 장치.The method of claim 9,
The command for calculating the azimuth is a command for calculating the azimuth as a gyroscope-based azimuth based on angular velocity measurement data received from the gyroscope of the UAV, and calculating the azimuth as a geomagnetic sensor-based azimuth based on the magnetic field measurement data and a command for calculating the azimuth by filtering the gyroscope-based azimuth and the geomagnetic sensor-based azimuth with a complementary filter.
computing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200171022A KR102259920B1 (en) | 2020-12-09 | 2020-12-09 | Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200171022A KR102259920B1 (en) | 2020-12-09 | 2020-12-09 | Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102259920B1 true KR102259920B1 (en) | 2021-06-01 |
Family
ID=76376145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200171022A KR102259920B1 (en) | 2020-12-09 | 2020-12-09 | Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102259920B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113551663A (en) * | 2021-06-21 | 2021-10-26 | 北京理工大学 | Image and geomagnetism combined aircraft attitude calculation system and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080094618A (en) * | 2007-04-19 | 2008-10-23 | (주)에스엠엘전자 | System and method for position estimation using enconders and accelerometers |
KR20180051996A (en) * | 2016-11-09 | 2018-05-17 | 삼성전자주식회사 | An unmanned aerialvehicles and method for pthotographing a subject using the same |
-
2020
- 2020-12-09 KR KR1020200171022A patent/KR102259920B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080094618A (en) * | 2007-04-19 | 2008-10-23 | (주)에스엠엘전자 | System and method for position estimation using enconders and accelerometers |
KR20180051996A (en) * | 2016-11-09 | 2018-05-17 | 삼성전자주식회사 | An unmanned aerialvehicles and method for pthotographing a subject using the same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113551663A (en) * | 2021-06-21 | 2021-10-26 | 北京理工大学 | Image and geomagnetism combined aircraft attitude calculation system and method |
CN113551663B (en) * | 2021-06-21 | 2024-03-19 | 北京理工大学 | System and method for resolving aircraft attitude by combining images and geomagnetism |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102483649B1 (en) | Vehicle localization method and vehicle localization apparatus | |
US20210027641A1 (en) | Systems and methods for vehicle guidance | |
CN107111879B (en) | Method and apparatus for estimating vehicle's own motion by panoramic looking-around image | |
US10788830B2 (en) | Systems and methods for determining a vehicle position | |
EP4290878A2 (en) | Techniques for co-optimization of motion and sensory control | |
CN106873619B (en) | Processing method of flight path of unmanned aerial vehicle | |
CN112230242B (en) | Pose estimation system and method | |
KR101738750B1 (en) | Method and apparatus for robust localization in outdoor environments | |
KR20200044420A (en) | Method and device to estimate position | |
US11814056B2 (en) | Travel amount estimation apparatus | |
WO2018182524A1 (en) | Real time robust localization via visual inertial odometry | |
CN111145251A (en) | Robot, synchronous positioning and mapping method thereof and computer storage device | |
Svacha et al. | Inertial yaw-independent velocity and attitude estimation for high-speed quadrotor flight | |
CN110793526A (en) | Pedestrian navigation method and system based on fusion of wearable monocular vision and inertial sensor | |
KR102259920B1 (en) | Estimation of azimuth angle of unmanned aerial vehicle that operates in indoor environment | |
CN115436917A (en) | Synergistic estimation and correction of LIDAR boresight alignment error and host vehicle positioning error | |
EP4001844A1 (en) | Method and apparatus with localization | |
CN114777768A (en) | High-precision positioning method and system for satellite rejection environment and electronic equipment | |
CN107270904B (en) | Unmanned aerial vehicle auxiliary guide control system and method based on image registration | |
Lee et al. | Measuring vehicle velocity in real time using modulated motion blur of camera image data | |
EP3872692A1 (en) | Compensation for vertical road curvature in road geometry estimation | |
KR101340158B1 (en) | Method and computer-readable recording medium for calibrating position of a target using a fixed target for unmanned aerial vehicle | |
CN115456898A (en) | Method and device for building image of parking lot, vehicle and storage medium | |
CN115560744A (en) | Robot, multi-sensor-based three-dimensional mapping method and storage medium | |
KR102304662B1 (en) | Navigation filtering for reproduction of accident of unmanned vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |