KR20220100768A - 이미지 학습 기반의 착륙 제어 장치 및 방법 - Google Patents

이미지 학습 기반의 착륙 제어 장치 및 방법 Download PDF

Info

Publication number
KR20220100768A
KR20220100768A KR1020210002698A KR20210002698A KR20220100768A KR 20220100768 A KR20220100768 A KR 20220100768A KR 1020210002698 A KR1020210002698 A KR 1020210002698A KR 20210002698 A KR20210002698 A KR 20210002698A KR 20220100768 A KR20220100768 A KR 20220100768A
Authority
KR
South Korea
Prior art keywords
landing
drone
point
candidate point
image
Prior art date
Application number
KR1020210002698A
Other languages
English (en)
Other versions
KR102441563B1 (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 KR1020210002698A priority Critical patent/KR102441563B1/ko
Publication of KR20220100768A publication Critical patent/KR20220100768A/ko
Application granted granted Critical
Publication of KR102441563B1 publication Critical patent/KR102441563B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/04Control of altitude or depth
    • G05D1/06Rate of change of altitude or depth
    • G05D1/0607Rate of change of altitude or depth specially adapted for aircraft
    • G05D1/0653Rate of change of altitude or depth specially adapted for aircraft during a phase of take-off or landing
    • G05D1/0676Rate of change of altitude or depth specially adapted for aircraft during a phase of take-off or landing specially adapted for landing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • 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
    • B64D45/00Aircraft indicators or protectors not otherwise provided for
    • B64D45/04Landing aids; Safety measures to prevent collision with earth's surface
    • B64D45/08Landing aids; Safety measures to prevent collision with earth's surface optical
    • 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
    • B64D47/08Arrangements of cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U70/00Launching, take-off or landing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6815Motion detection by distinguishing pan or tilt from motion
    • H04N5/23261
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/10UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Feedback Control In General (AREA)

Abstract

드론의 착륙 제어 방법 및 이를 수행하기 위한 장치가 개시된다. 일 실시예에 따른 퓨 샷 학습 방법은 비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득하는 단계를 포함하고, 사전 학습된 제1 모델을 이용하여 이미지에서 드론의 착륙 후보 지점을 식별하는 단계를 포함하고, 이미지에 기초하여 착륙 후보 지점의 위치 및 크기를 결정하는 단계를 포함하고, 착륙 후보 지점의 크기에 기초하여 착륙 후보 지점에 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 착륙 후보 지점을 착륙 지점으로 결정하는 단계를 포함하고, 드론이 착륙 후보 지점의 상공으로 이동하도록 드론을 제어하는 단계를 포함하고, 카메라가 착륙 지점을 지속적으로 촬영하도록 드론의 이동 거리 및 착륙 후보 지점의 위치에 기초하여 카메라의 틸트 각도를 조정하는 단계 및 드론이 착륙 지점의 상공에 도달한 경우, 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 착륙 지점에서 착륙 가능한 영역을 식별하는 단계를 포함한다.

Description

이미지 학습 기반의 착륙 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING LANDING BASED ON IMAGE LEARNING}
본 발명의 실시예들은 드론의 착륙 제어를 위한 착륙 지점 식별 기술에 관한 것으로서, 더욱 상세하게는 이미지 학습 기반의 착륙 지점 식별 기술에 관한 것이다.
무인 비행체는 조종사 없이 무선 전파의 유도에 의해서 비행 및 조종이 가능한 비행기, 헬리콥터 모양의 무인항공기(UAV, Unmanned aerial vehicle/Uninhabited aerial vehicle)를 총칭한다. 최근 무인 비행체는 기술 발달로정찰, 공격 등의 군사적 용도 이외에 영상 촬영, 무인 택배 서비스, 재해 관측 등 다양한 민간·상업 분야에도 활용이 증가되고 있다.
이에 따라, 무인 비행체의 빈번한 활용으로 인한 안전상의 문제에 대한 우려도 함께 증가하고 있다. 특히, 이륙 및 착륙 시 안전상의 문제를 해결하기 위한 제어 기술이 활발하게 개발되고 있다. 착륙 지점에 별도의 제어 보조 장치에 기초하여 통신하거나, 별도의 영상 정보의 이용과 같은 다양한 시도가 있다.
그러나, 별도의 보조 장치를 설치하기 위한 공간 확보 및 설치에 필요한 비용이 들거나 별도의 영상 정보를 획득하는 데 소용되는 시간에 의해 예측할 수 없는 사고가 발생하는 문제점이 있다.
대한민국 공개특허공보 제10-2020-0126348호 (2020.11.06. 공개)
본 발명의 실시예들은 이미지를 학습하여 착륙 지점 및 장애물을 식별하여 안전한 착륙을 유도하기 위한 것이다.
개시되는 일 실시예에 따른 드론의 착륙 제어 방법, 비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득하는 단계를 포함하고, 사전 학습된 제1 모델을 이용하여 이미지에서 드론의 착륙 후보 지점을 식별하는 단계를 포함하고, 이미지에 기초하여 착륙 후보 지점의 위치 및 크기를 결정하는 단계를 포함하고, 착륙 후보 지점의 크기에 기초하여 착륙 후보 지점에 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 착륙 후보 지점을 착륙 지점으로 결정하는 단계를 포함하고, 드론이 착륙 후보 지점의 상공으로 이동하도록 드론을 제어하는 단계를 포함하고, 카메라가 착륙 지점을 지속적으로 촬영하도록 드론의 이동 거리 및 착륙 후보 지점의 위치에 기초하여 카메라의 틸트 각도를 조정하는 단계 및 드론이 착륙 지점의 상공에 도달한 경우, 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 착륙 지점에서 착륙 가능한 영역을 식별하는 단계를 포함한다.
제1 모델은, 제1 모델로 입력된 이미지에서 착륙 후보 지점을 식별하고, 착륙 후보 지점이 식별된 경우, 입력된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성하도록 사전 학습되며, 드론의 착륙 후보 지점을 식별하는 단계는, 제1 모델을 이용하여 획득된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성할 수 있다.
착륙 후보 지점의 위치 및 크기를 결정하는 단계는, 바운딩 박스의 좌표 데이터 셋을 획득하고, 착륙 후보 지점의 위치를 결정하기 위해 바운딩 박스에 포함된 좌표 데이터 셋을 지면으로 정사영하는 단계를 포함할 수 있다.
좌표 데이터 셋은, 바운딩 박스의 좌표 및 바운딩 박스의 좌표에 대응하는 지면 상의 좌표를 포함할 수 있다.
조정하는 단계는, 기 설정된 주기 마다 드론의 이동 거리에 기초하여 카메라의 틸트 각도를 조정할 수 있다.
착륙 가능한 영역을 식별하는 단계는, 카메라의 틸트 각도가 기 설정된 임계각과 동일한 경우, 드론이 착륙 후보 지점의 상공에 도달한 것으로 판단할 수 있다.
착륙 가능한 영역을 식별하는 단계는, 사전 학습된 제2 모델을 이용하여 착륙 지점에서 장애물을 식별하는 단계를 포함하고, 하나 이상의 장애물이 식별된 경우, 하나 이상의 장애물 각각의 위치 및 크기를 결정하는 단계를 포함하고, 결정된 하나 이상의 장애물 각각의 위치 및 크기에 기초하여 착륙 가능한 하나 이상의 착륙 후보 영역을 결정하는 단계를 포함하고, 하나 이상의 착륙 후보 영역 중 하나를 착륙 가능한 영역으로 결정하는 단계를 더 포함할 수 있다.
제2 모델은, 제2 모델로 입력된 이미지에서 착륙 지점의 하나 이상의 장애물을 식별하고, 입력된 이미지에서 식별된 하나 이상의 장애물 각각에 대응하는 바운딩 박스를 생성하도록 사전 학습되며, 착륙 가능한 영역을 식별하는 단계는, 제2 모델을 이용하여 획득된 이미지에서 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스를 생성하고, 하나 이상의 장애물 각각의 위치 및 크기를 결정하는 단계는, 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스의 좌표 데이터 셋을 획득하고, 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스에 포함된 좌표 데이터 셋 각각을 지면으로 정사영하여 장애물의 위치를 결정하는 단계를 포함할 수 있다.
착륙 가능한 영역으로 결정하는 단계는, 지면에 정사영 된 좌표 데이터 셋 각각에 기초하여 하나 이상의 장애물의 크기를 계산하고, 계산된 하나 이상의 장애물에 기초하여 하나 이상의 착륙 후보 영역을 결정하고, 하나 이상의 착륙 후보 영역 각각의 크기를 드론의 크기와 비교하여 착륙 영역을 결정할 수 있다.
다른 실시예에 따른 드론의 착륙 제어 장치는, 비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득하는 이미지 획득부, 사전 학습된 제1 모델을 이용하여 이미지에서 드론의 착륙 후보 지점을 식별하고, 이미지에 기초하여 착륙 후보 지점의 위치 및 크기를 결정하는 착륙 후보 지점 식별부, 착륙 후보 지점의 크기에 기초하여 착륙 후보 지점에 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 착륙 후보 지점을 착륙 지점으로 결정하는 착륙 지점 결정부, 드론이 착륙 후보 지점의 상공으로 이동하도록 드론을 제어하는 비행 제어부, 카메라가 착륙 지점을 지속적으로 촬영하도록 드론의 이동 거리 및 착륙 후보 지점의 위치에 기초하여 카메라의 틸트 각도를 조정하는 카메라 제어부, 및 드론이 착륙 지점의 상공에 도달한 경우, 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 착륙 지점에서 착륙 가능한 영역을 식별하는 착륙 영역 식별부를 포함할 수 있다.
제1 모델은, 착륙 지점 식별 모델로 입력된 이미지에서 착륙 후보 지점을 식별하고, 착륙 후보 지점이 식별된 경우, 입력된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성하도록 사전 학습되며, 착륙 후보 지점 식별부는, 제1 모델을 이용하여 획득된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성할 수 있다.
착륙 후보 지점 식별부는, 바운딩 박스의 좌표 데이터 셋을 획득하고, 착륙 후보 지점의 위치를 결정하기 위해 바운딩 박스에 포함된 좌표 데이터 셋을 지면으로 정사영할 수 있다.
좌표 데이터 셋은, 바운딩 박스의 좌표 및 바운딩 박스의 좌표에 대응하는 지면 상의 좌표를 포함할 수 있다.
카메라 제어부는, 기 설정된 주기 마다 드론의 이동 거리에 기초하여 카메라의 틸트 각도를 조정할 수 있다.
착륙 영역 식별부는, 카메라의 틸트 각도가 기 설정된 임계각과 동일한 경우, 드론이 착륙 후보 지점의 상공에 도달한 것으로 판단할 수 있다.
착륙 영역 식별부는, 사전 학습된 제2 모델을 이용하여 착륙 지점에서 장애물을 식별하고, 하나 이상의 장애물이 식별된 경우, 하나 이상의 장애물 각각의 위치 및 크기를 결정하고, 결정된 하나 이상의 장애물 각각의 위치 및 크기에 기초하여 착륙 가능한 하나 이상의 착륙 후보 영역을 결정하고, 하나 이상의 착륙 후보 영역 중 하나를 착륙 가능한 영역으로 결정할 수 있다.
제2 모델은, 제2 모델로 입력된 이미지에서 착륙 지점의 하나 이상의 장애물을 식별하고, 입력된 이미지에서 식별된 하나 이상의 장애물 각각에 대응하는 바운딩 박스를 생성하도록 사전 학습되며, 착륙 영역 식별부는, 제2 모델을 이용하여 획득된 이미지에서 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스를 생성하고, 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스의 좌표 데이터 셋을 획득하고, 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스에 포함된 좌표 데이터 셋 각각을 지면으로 정사영하여 장애물의 위치를 결정할 수 있다.
착륙 영역 식별부는, 지면에 정사영 된 좌표 데이터 셋 각각에 기초하여 하나 이상의 장애물의 크기를 계산하고, 계산된 하나 이상의 장애물에 기초하여 하나 이상의 착륙 후보 영역을 결정하고, 하나 이상의 착륙 후보 영역 각각의 크기를 드론의 크기와 비교하여 착륙 영역을 결정할 수 있다.
다른 실시예에 따른 드론의 착륙 제어 방법은, 비일시적 컴퓨터 판독 가능한 저장매체(non-transitory computer readable storage medium)에 저장된 컴퓨터 프로그램으로서, 컴퓨터 프로그램은 하나 이상의 명령어들을 포함하고, 명령어들은 하나 이상의 프로세서들을 갖는 컴퓨팅 장치에 의해 실행될 때, 컴퓨팅 장치로 하여금, 비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득하는 이미지 획득하고, 사전 학습된 제1 모델을 이용하여 이미지에서 드론의 착륙 후보 지점을 식별하고, 이미지에 기초하여 착륙 후보 지점의 위치 및 크기를 결정하고, 착륙 후보 지점의 크기에 기초하여 착륙 후보 지점에 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 착륙 후보 지점을 착륙 지점으로 결정하고, 드론이 착륙 후보 지점의 상공으로 이동하도록 드론을 제어하고, 카메라가 착륙 지점을 지속적으로 촬영하도록 드론의 이동 거리 및 착륙 후보 지점의 위치에 기초하여 카메라의 틸트 각도를 조정하고, 드론이 착륙 지점의 상공에 도달한 경우, 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 착륙 지점에서 착륙 가능한 영역을 식별할 수 있다.
개시되는 실시예들에 따르면, 비행체에서 가장 사고 확률이 높은 착륙 구간에서 비행제어 안전성을 높이고 좁은 착륙공간이나 장애물 등 주변 환경에 제한되지 않고 스스로 방해물을 회피하고 착륙을 판단할 수 있다.
도 1은 일 실시예에 따른 착륙 제어 장치를 설명하기 위한 블록도
도 2는 일 실시예에 따른 착륙 제어 방법을 설명하기 위한 흐름도
도 3은 일 실시예에 따른 착륙 후보 영역을 결정하는 방법을 설명하기 위한 흐름도
도 4a는 일 실시예에 따른 착륙 후보 지점을 식별하기 위해 착륙 후보 지점의 위치를 예시하여 설명하기 위한 도면
도 4b는 착륙 후보 지점의 위치 및 크기를 계산하는 과정을 예시하여 설명하기 위한 도면
도 4c는 일 실시예에 따른 착륙 지점 식별을 위한 카메라 틸트 각도 조절을 예시하여 설명하기 위한 도면
도 5는 일 실시예에 따른 장애물의 위치 및 크기 결정을 예시하여 설명하기 위한 예시도
도 6a 내지 도 6d는 일 실시예에 따른 착륙 영역을 결정을 예시하여 설명하기 위한 예시도
도 7는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 구체적인 실시 형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 개시되는 실시예들은 이에 제한되지 않는다.
실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 개시되는 실시예들의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 개시되는 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 착륙 제어 장치(100)를 설명하기 위한 블록도이다. 일 실시예에 따른 착륙 제어 장치(100)는 드론의 카메라를 통해 획득한 이미지를 이용하여 드론이 착륙 지점을 식별하고 드론이 식별된 착륙 지점으로 이동하여 착륙하도록 제어하기 위한 장치를 의미한다.
도시된 바와 같이, 본 발명의 일 실시예에 따른 착륙 제어 장치(100)는 이미지 획득부(101), 착륙 후보 지점 식별부(102), 착륙 지점 결정부(103), 카메라 틸트 각도 조정부(104), 비행 제어부(105) 및 착륙 영역 식별부(106)를 포함한다.
이미지 획득부(101)는 비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득한다.
착륙 후보 지점 식별부(102)는 사전 학습된 착륙 후보 지점 식별 모델을 이용하여 상기 이미지에서 상기 드론의 착륙 후보 지점을 식별한다.
일 실시예에 따르면, 착륙 후보 지점 식별 모델은, 착륙 후보 지점 식별 모델로 입력된 이미지에서 착륙 후보 지점을 식별하고, 착륙 후보 지점이 식별된 경우, 입력된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성하도록 사전 학습할 수 있다.
일 실시예에 따르면, 착륙 후보 지점 식별 모델은 이미지를 학습하기 위해 콘볼루션 신경망(CNN; Convolutional Neural Network)을 포함하는 모델일 수 있으며, 구체적으로, 실시간 탐지를 위해 단일 단계 방식(Single-Stage Methods)의 객체 탐지 알고리즘인 YOLO(You Only Look Once) 알고리즘을 사용할 수 있다. YOLO 알고리즘은 획득한 원본 이미지를 동일하고 고정된 크기의 그리드로 나누고 각 그리드에 대해 그리드 중앙을 중심으로 미리 정의된 형태(predefined shape)인 드론의 착륙 지점 판단에 사용되는 패턴을 포함하는 경계 박스(Bounding Box)의 개수를 예측하고 이를 기반으로 신뢰도를 계산하여 패턴을 식별할 수 있다.
일 실시예에 따르면, 착륙 후보 지점 식별부(102)는 획득된 이미지에 기초하여 착륙 후보 지점의 위치 및 크기를 결정할 수 있다.
구체적으로, 바운딩 박스의 좌표 데이터 셋을 획득하고, 바운딩 박스에 포함된 좌표 데이터 셋을 지면으로 정사영(orthogonal projection)하여 착륙 후보 지점의 위치를 결정할 수 있고, 지면에 정사영된 바운딩 박스에 포함된 좌표 데이터 셋에 기초하여 착륙 후보 지점의 크기를 결정할 수 있다. 이 때, 착륙 후보 지점의 크기는 넓이, 가로 길이, 세로 길이 정보를 포함하는 것을 의미할 수 있다.
착륙 지점 결정부(103)는 착륙 후보 지점의 크기에 기초하여 착륙 후보 지점에 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 착륙 후보 지점을 착륙 지점으로 결정한다.
일 실시예에 따라, 착륙 후보 지점에 드론이 착륙 가능한지 여부는 착륙 지점의 넓이를 계산하고, 드론과 착륙 후보 지점의 넓이를 비교하여 착륙 가능한지 여부를 결정할 수 있다.
카메라 틸트 각도 조정부(104)는 카메라가 착륙 지점을 지속적으로 촬영하도록 드론의 이동 거리 및 착륙 후보 지점의 위치에 기초하여 카메라의 틸트 각도를 조정한다.
비행 제어부(105)는 드론이 착륙 후보 지점의 상공으로 이동하도록 드론을 제어한다.
착륙 영역 식별부(106)는 사전 학습된 착륙 영역 식별 모델을 이용하여 이미지에서 드론의 착륙 후보 지점을 식별하기 위해 이미지 획득부(101)가 획득한 이미지를 학습한다.
일 실시예에 따르면, 착륙 영역 식별 모델은 입력된 이미지에서 착륙 지점의 하나 이상의 장애물을 식별하고, 입력된 이미지에서 식별된 하나 이상의 장애물 각각에 대응하는 바운딩 박스를 생성하도록 사전 학습할 수 있다.
일 실시예에 따르면, 착륙 영역 식별부(106)는 착륙 영역 식별 모델을 이용하여 획득된 이미지에서 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스를 생성하고, 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스의 좌표 데이터 셋을 획득하고, 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스에 포함된 좌표 데이터 셋 각각을 지면으로 정사영하여 장애물의 위치를 결정할 수 있다.
이후, 착륙 영역 식별부(106)는 지면에 정사영 된 좌표 데이터 셋 각각에 기초하여 하나 이상의 장애물의 크기를 계산하고, 계산된 하나 이상의 장애물에 기초하여 하나 이상의 착륙 후보 영역을 결정하고, 하나 이상의 착륙 후보 영역 각각의 크기를 드론의 크기와 비교하여 착륙 영역을 결정할 수 있다.
도 2는 일 실시예에 따른 착륙 지점 측정 방법을 설명하기 위한 흐름도이다.
도 2를 참조하여, 드론을 이용한 착륙 지점으로 복귀하기 위해 드론의 제어가 이루어지는 과정을 설명하면 아래와 같다.
도 2를 참조하면, 도 2에 도시된 방법은 예를 들어, 전술한 착륙 제어 장치(100)에 의해 수행될 수 있다.
210 단계에서, 착륙 제어 장치(100)는 카메라를 통해 지면을 촬영한 이미지를 획득할 수 있다.
220 단계에서, 착륙 제어 장치(100)는 사전 학습된 착륙 지점 식별 모델을 이용하여 이미지에서 드론의 착륙 후보 지점을 식별할 수 있고, 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성할 수 있다.
일 실시예에 따르면, 착륙 지점 식별 모델은 착륙 지점에 대응되는 복수의 이미지를 수집하고, 수집된 각 이미지에서 착륙 지점에 대응되는 영역에 대한 바운딩 박스를 라벨링(labeling)한 데이터를 사전 학습하여 추출한 모델일 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 착륙 후보 지점의 위치 및 크기를 계산하기 위한 바운딩 박스의 좌표 데이터 셋을 획득 할 수 있다.
230 단계에서, 착륙 제어 장치(100)는 착륙 후보 지점의 위치를 결정하기 위해 바운딩 박스에 포함된 좌표 데이터 셋을 지면으로 정사영할 수 있다. 이때, 일 실시예에 따르면, 좌표 데이터 셋은 바운딩 박스의 좌표 및 이에 대응하는 지면 상의 좌표를 포함할 수 있다.
240 단계에서, 착륙 제어 장치(100)는 착륙 후보 지점의 크기에 기초하여 착륙 후보 지점에 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 착륙 후보 지점을 착륙 지점으로 결정할 수 있다.
일 실시예에 따라, 착륙 후보 지점에 드론이 착륙 가능한지 여부는 착륙 지점의 넓이를 계산하고, 드론과 착륙 후보 지점의 넓이를 비교하여 착륙 가능한지 여부를 결정할 수 있다.
일 실시예에 따르면, 착륙이 불가능한 경우, 드론이 이동하면서 카메라를 통해 새로운 지면을 촬영한 이미지를 획득하고, 사전 학습된 착륙 지점 식별 모델을 이용하여 새로 획득된 이미지에서 드론의 착륙 후보 지점을 재식별 할 수 있다.
250 단계에서, 착륙 제어 장치(100)는 착륙 지점으로 드론이 이동하도록 제어할 수 있다. 이 때, 일 실시예에 따르면 드론은 지면으로부터 일정한 높이를 유지하며 이동할 수 있다.
260 단계에서, 착륙 제어 장치(100)는 카메라가 착륙 지점을 지속적으로 촬영하도록 드론의 이동 거리 및 착륙 후보 지점의 위치에 기초하여 카메라의 틸트 각도를 조정할 수 있다.
일 실시예에 따르면, 착륙 지점의 위치를 이용하여 드론에서 착륙 지점까지의 최단 수평 거리를 결정하고, 역삼각함수법을 이용하여 기 설정된 주기 마다 드론의 이동 거리에 기초하여 카메라의 틸트 각도를 조정할 수 있다.
270 단계에서, 착륙 제어 장치(100)는 조절된 카메라의 틸트 각도(θ)가 기 설정된 임계각(θ', 예를 들어 θ'= -90˚)인 경우, 드론이 착륙 지점의 상공에 있는 것으로 판단할 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 틸트 각도(θ)가 기 설정된 임계각(θ', 예를 들어 θ'= -90˚)에 도달하지 않은 경우, 드론을 이동시켜 드론의 이동 거리에 기초하여 카메라의 틸트 각도(θ)를 조정할 수 있다.
280 단계에서, 착륙 제어 장치(100)는 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 착륙 지점에서 착륙 가능한 영역을 식별할 수 있다.
도 3은 일 실시예에 따른 착륙 후보 영역을 결정하는 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 도 3에 도시된 방법은 예를 들어, 전술한 착륙 제어 장치(100)에 의해 수행될 수 있다.
착륙 후보 영역 중에서 착륙 가능 영역을 결정하기 위해 드론의 제어가 이루어지는 과정을 설명하면 아래와 같다.
310 단계에서, 착륙 제어 장치(100)는 착륙 지점의 상공에서 촬영한 착륙 지점 이미지를 획득할 수 있다.
구체적으로, 착륙 제어 장치(100)는 카메라가 착륙 지점을 지속적으로 촬영하도록 드론의 이동 거리 및 착륙 후보 지점의 위치에 기초하여 카메라의 틸트 각도를 조정할 수 있고, 카메라의 틸트 각도가 기 설정된 임계각(예를 들어, -90˚)인 경우, 드론이 착륙 후보 지점의 상공에 도달한 것으로 판단할 수 있다.
320 단계에서, 착륙 제어 장치(100)는 착륙 가능 영역 식별 모델을 이용하여 상기 착륙 지점에서 장애물을 식별할 수 있다.
일 실시예에 따르면, 착륙 가능 영역 식별 모델은 입력된 이미지에서 착륙 지점의 하나 이상의 장애물을 식별하고, 식별된 하나 이상의 장애물 각각에 대응하는 바운딩 박스를 생성하도록 사전 학습될 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 착륙 가능 영역 식별 모델 이용하여 착륙 지점에서 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스를 생성할 수 있다.
330 단계에서, 착륙 제어 장치(100)는 하나 이상의 식별된 장애물의 위치 및 크기를 결정할 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스의 좌표 데이터 셋을 획득하고, 장애물의 위치를 결정하기 위해 바운딩 박스에 포함된 좌표 데이터 셋을 지면으로 정사영할 수 있다.
일 실시예에 따르면, 좌표 데이터 셋은 좌표 데이터 셋은, 바운딩 박스의 좌표 및 이에 대응하는 지면상의 좌표를 포함할 수 있다.
340 단계에서, 착륙 제어 장치(100)는 장애물의 넓이 계산하여 착륙 후보 영역 결정할 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스의 좌표 데이터 셋에 기초하여 지면으로 정사영하여 장애물의 넓이를 계산할 수 있다.
350 단계에서, 착륙 제어 장치(100)는 착륙 후보 영역에 드론이 착륙 가능한지 판단할 수 있다.
360 단계에서, 착륙 제어 장치(100)는 지면에 정사영 된 좌표 데이터 셋에 기초하여 장애물의 넓이, 가로 길이 및 세로 길이를 계산하고, 계산된 장애물의 넓이, 가로 길이 및 세로 길이 각각을 드론의 넓이, 가로 길이 및 세로 길이와 비교하여 착륙 영역을 결정할 수 있다.
도 4a는 일 실시예에 따른 착륙 후보 지점의 위치를 예시하여 설명하기 위한 도면이다.
도 4a에 도시된 방법은 예를 들어, 전술한 착륙 제어 장치(100)에 의해 수행될 수 있다.
도 4a를 참조하면, 착륙 제어 장치(100)는 카메라의 틸트 각도(θ), 드론의 지면으로부터의 수직 거리(h), 착륙 후보 지점을 식별에 사용되는 패턴까지의 최단 수평 거리(G'), 지면 패턴의 중심점(G)을 확인할 수 있다. 이 때, 틸트 각도(θ)는 지면과 수평인 경우 0˚, 수평보다 아래인 경우 음의 값, 수평보다 위인 경우 양의 값을 가질 수 있다.
도 4b는 착륙 후보 지점의 위치를 계산하는 과정을 예시하여 설명하기 위한 도면이다.
도 4b에 도시된 방법은 예를 들어, 전술한 착륙 제어 장치(100)에 의해 수행될 수 있다.
도 4b를 참조하면, 착륙 후보 지점의 위치 및 크기를 계산하는 과정을 확인할 수 있다.
구제척으로, 착륙 제어 장치(100)는 드론의 카메라를 통해 획득한 이미지와 정규 이미지 평면을 계산하고, 정규 이미지 평면을 이용하여 지면의 실제 거리를 계산하기 위한 좌표를 계산할 수 있다. 획득한 이미지 평면에 포함된 착륙 후보 지점은 중심 좌표 Ic(cx,cy), 지면 착륙 후보 지점의 중심점(G)에 대응하는 Ig(x, y) 좌표로 구성될 수 있다. 이 때, 초점 거리가 (fx, fy)인 경우, 수학식 1의 정규 좌표 변환 식에 의해 Ig(x, y) 및 Ic(cx, cy) 각각에 대응하는 g(u, v), g'(0, v)의 좌표를 포함하는 착륙 후보 지점에 대응하는 정규 이미지 평면을 획득할 수 있다.
Figure pat00001
드론의 지면으로부터의 수직 거리가
Figure pat00002
일 때, 변환된 정규 좌표 데이터를 이용하여 드론에서 착륙 후보 지점까지의 최단 수평 거리는 수학식 2에 의해 구할 수 있다.
Figure pat00003
드론에서 착륙 후보 지점까지의 직선 거리는 수학식 3에 의해 구할 수 있다.
Figure pat00004
구체적으로, 착륙 제어 장치(100)는 착륙 제어 장치(100)는 착륙 지점을 포함한 이미지 평면 상의 바운딩 박스가 너비(W), 높이(H), 바운딩 박스의 중심점 O(x, y)일 때,
Figure pat00005
는 착륙 지점의 왼쪽 위 꼭지점의 좌표,
Figure pat00006
는 착륙 지점의 오른쪽 아래 꼭지점의 좌표를 포함하는 좌표 데이터 셋을 획득할 수 있다.
일 실시예에 따르면, 좌표 데이터 셋은 지면에 투영한 각각의 꼭지점 좌표
Figure pat00007
를 더 포함할 수 있다.
구체적으로, 착륙 제어 장치(100)는 아래의 수학식 4를 이용하여 장애물의 넓이를 구할 수 있다.
Figure pat00008
도 4c는 일 실시예에 따른 착륙 지점 식별을 위한 카메라 틸트 각도 조정을 예시하여 설명하기 위한 도면이다.
도 4c에 도시된 방법은 예를 들어, 전술한 착륙 제어 장치(100)에 의해 수행될 수 있다.
도 4c를 참조하면, 착륙 제어 장치(100)는 착륙 후보 지점으로 최단 수평 길이를 따라 일정한 높이로 드론이 이동할 때, 드론의 이동 거리 l만큼 착륙 후보 지점에 가깝게 비행한 경우, 이동 거리 l에 따른 드론의 변경된 카메라의 틸트 각도 θ'는 아래의 수학식 5의 역삼각함수를 통해 계산할 수 있다.
Figure pat00009
도 5는 일 실시예에 따른 장애물의 위치 및 크기를 측정을 예시하여 설명하기 위한 예시도이다.
도 5에 도시된 방법은 예를 들어, 전술한 착륙 제어 장치(100)에 의해 수행될 수 있다.
도 5를 참고하면, 착륙 제어 장치(100)는 착륙 후보 지점의 위치 및 크기를 계산하기 위한 바운딩 박스의 좌표 데이터 셋을 획득할 수 있고, 좌표 데이터 셋은, 바운딩 박스의 좌표 및 이에 대응하는 지면 상의 좌표를 포함할 수 있다.
구제척으로, 착륙 제어 장치(100)는 드론의 카메라를 통해 획득한 착륙 지점 이미지와 장애물의 정규 이미지 평면을 이용하여 지면의 실제 거리를 계산하기 위한 좌표를 확인할 수 있다. 획득한 착륙 지점 이미지 평면은 중심 좌표 Lc(cx,cy), 지면 패턴의 중심점(G)에 대응하는 Ig(x, y) 좌표를 포함할 수 있다. 이 때, 초점 거리가 (fx, fy)인 경우, 수학식 6의 정규 좌표 변환 식에 의해 Lg(x, y) 및 Lc(cx, cy) 각각에 대응하는 g1(u, v), g1'(0, v) 의 좌표를 포함하는 장애물의 정규 이미지 평면을 획득할 수 있다.
Figure pat00010
드론의 지면으로부터의 수직 거리가
Figure pat00011
일 때, 변환된 정규 좌표 데이터에 의해 드론에서 장애물까지의 최단 수평 거리는 수학식 7에 의해 구할 수 있다.
Figure pat00012
드론에서 장애물까지의 직선 거리는 수학식 8에 의해 구할 수 있다.
Figure pat00013
구체적으로, 착륙 제어 장치(100)는 장애물을 포함한 이미지 평면 상의 바운딩 박스가 너비(W), 높이(H), 바운딩 박스의 중심점 O(x, y)일 때,
Figure pat00014
는 장해물의 왼쪽 위 꼭지점의 좌표,
Figure pat00015
는 장애물의 오른쪽 아래 꼭지점의 좌표를 포함하는 좌표 데이터 셋을 획득할 수 있다.
일 실시예에 따르면, 좌표 데이터 셋은 지면에 투영한 각각의 꼭지점 좌표는
Figure pat00016
를 더 포함할 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 획득한 좌표 데이터 셋에 기초하여 착륙 후보 지점의 위치 및 크기를 계산할 수 있다.
구체적으로, 착륙 제어 장치(100)는 아래의 수학식 9를 이용하여 장애물의 넓이를 구할 수 있다.
Figure pat00017
도 6a 내지 도 6d는 일 실시예에 따른 착륙 후보 영역 중에서 착륙 가능한 영역을 예시하여 설명하기 위한 예시도이다.
도 6a 내지 도 6d를 참고하면, 도 6a에서 제1 착륙 후보 영역의 가로 길이 및 착륙 공간의 세로 길이가 도시된 것을 확인할 수 있다.
일 실시예에 따르면, 착륙 후보 영역은 착륙 지점의 상공에서 획득한 이미지를 장애물의 넓이에 기초하여 착륙 지점을 구획하여 획득할 수 있다. 제1 착륙 후보 영역은 세로 방향에는 장애물이 없고, 가로 방향에 장애물이 존재하므로, 장애물의 가로 길이에 기초하여 구획될 수 있다. 다시 말해, 착륙 지점의 기준점(0,0)에서 장애물까지의 거리가 제1 착륙 후보 영역의 가로 길이이다. 그러므로, 제1로 후보 영역의 세로 길이는 착륙 지점의 길이와 같고, 가로 길이는 장애물까지의 거리와 동일하게 결정될 수 있다.
도 6b에서는 제2 착륙 후보 영역의 가로 길이 및 착륙 공간의 세로 길이가 도시된 것을 확인할 수 있다.
일 실시예에 따르면, 착륙 후보 영역은 착륙 지점의 상공에서 획득한 이미지를 장애물의 넓이에 기초하여 착륙 지점을 구획하여 획득할 수 있다. 제2 착륙 후보 영역은 가로 방향에는 장애물이 없고, 세로 방향에 장애물이 존재하므로, 장애물의 세로 길이에 기초하여 구획될 수 있다. 다시 말해, 장애물에서 착륙 지점의 세로 길이까지의 거리가 제2 착륙 후보 영역의 세로 길이이다. 그러므로, 제2 착륙 후보 영역의 가로 길이는 착륙 지점의 길이와 같고, 세로 길이는 장애물에서 착륙 지점의 세로 길이까지의 거리와 동일하게 결정될 수 있다.
도 6c에서는 제3 착륙 후보 영역의 가로 길이 및 착륙 공간의 세로 길이가 도시된 것을 확인할 수 있다.
일 실시예에 따르면, 착륙 후보 영역은 착륙 지점의 상공에서 획득한 이미지를 장애물의 넓이에 기초하여 착륙 지점을 구획하여 획득할 수 있다. 제3 착륙 후보 영역은 세로 방향에는 장애물이 없고, 가로 방향에 장애물이 존재하므로, 장애물의 가로 길이에 기초하여 구획될 수 있다. 다시 말해, 장애물에서 착륙 지점의 가로 길이까지의 거리가 제3 착륙 후보 영역의 가로 길이이다. 그러므로, 제3 착륙 후보 영역의 세로 길이는 착륙 지점의 길이와 같고, 가로 길이는 장애물에서 착륙 지점의 가로 길이까지의 거리와 동일하게 결정될 수 있다.
도 6d에서는 제4 착륙 후보 영역의 가로 길이 및 착륙 공간의 세로 길이가 도시된 것을 확인할 수 있다.
일 실시예에 따르면, 착륙 후보 영역은 착륙 지점의 상공에서 획득한 이미지를 장애물의 넓이에 기초하여 착륙 지점을 구획하여 획득할 수 있다. 제4 착륙 후보 영역은 가로 방향에는 장애물이 없고, 세로 방향에 장애물이 존재하므로, 장애물의 세로 길이에 기초하여 구획될 수 있다. 다시 말해, 착륙 지점의 기준점(0,0)에서 장애물까지의 거리가 제4 착륙 후보 영역의 세로 길이이다. 그러므로, 제4 착륙 후보 영역의 가로 길이는 착륙 지점의 길이와 같고, 세로 길이는 장애물까지의 거리와 동일하게 결정될 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 장애물보다 드론의 크기가 큰 경우, 도 6a 내지 도 6d에 포함된 제1 내지 제4 착륙 후보 영역 중에서 착륙 가능한 영역을 결정하기 위해 착륙 안전 거리를 포함한 드론의 크기와 비교하여 착륙 가능한 영역을 비교할 수 있다.
후보 영역의 넓이, 가로 길이 및 세로 길이 각각을 드론의 넓에, 가로 길이, 세로 길이 각각과 비교하여, 후보 영역이 드론보다 큰 값인 경우에는 ○, 작은 값인 경우에는 X로 표시할 수 있다. 이에 기초하여, 제1 내지 제4 착륙 후보 영역의 크기를 드론의 크기와 비교하여 표 1과 같이 나타낼 수 있다.
드론의 크기 비교 착륙 후보 영역
영역 넓이 가로 길이 세로 길이
1
2
3 X X
4 X X X
일 실시예에 따르면, 표 1을 참조하면, 착륙 제어 장치(100)는 드론의 넓이, 가로 길이 및 세로 길이보다 착륙 후보 영역의 넓이, 가로 길이 및 세로 길이 각각이 더 큰 제1 및 제2 착륙 후보 영역을 착륙 가능한 영역으로 결정할 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 제1 및 제2 착륙 후보 영역에 드론이 착륙 가능한 것으로 판단 된 경우, 착륙 가능한 영역을 선택하는 방법은 표 2 의 제1 및 제2 착륙 후보 영역 넓이, 가로 길이 및 세로 길이 비교를 통해 결정할 수 있다.
일 실시예에 따르면, 제 1 착륙 후보 영역과 제2 착륙 후보 영역의 비교 결과, 더 큰 값을 갖는 착륙 후보 영역의 번호를 기재하면 아래 표 2와 같다.
착륙 후보 영역 선택 방법 착륙 가능한 영역
넓이 가로 길이 세로 길이
1 1 1 1
1 2 1 1
1 1 2 1
2 2 2 2
2 2 1 2
2 1 2 2
표 2를 참조하면, 착륙 제어 장치(100)는 제 1 착륙 후보 영역보다 제2 착륙 후보 영역의 가로 길이 또는 세로 길이 중 하나가 더 크다 하더라도, 제 1 착륙 후보 영역의 넓이가 제2 착륙 후보 영역의 넓이가 큰 경우, 더 안전한 착륙 후보 지점으로 판단할 수 있다.
일 실시예에 따르면, 착륙 제어 장치(100)는 더 안전한 착륙 후보 지점으로 판단된 제 1 착륙 후보 영역을 착륙 가능한 영역으로 결정할 수 있다.
도 7은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 데이터 증강 장치(200 또는 300)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 자동 착륙 장치
101: 이미지 획득부
102: 착륙 후보 지점 식별부
103: 착륙 지점 결정부
104: 카메라 틸트 각도 조정부
105: 비행 제어부
106: 착륙 영역 식별부

Claims (19)

  1. 비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득하는 단계;
    사전 학습된 제1 모델을 이용하여 상기 이미지에서 상기 드론의 착륙 후보 지점을 식별하는 단계;
    상기 이미지에 기초하여 상기 착륙 후보 지점의 위치 및 크기를 결정하는 단계;
    상기 착륙 후보 지점의 크기에 기초하여 상기 착륙 후보 지점에 상기 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 상기 착륙 후보 지점을 착륙 지점으로 결정하는 단계;
    상기 드론이 상기 착륙 후보 지점의 상공으로 이동하도록 상기 드론을 제어하는 단계;
    상기 카메라가 상기 착륙 지점을 지속적으로 촬영하도록 상기 드론의 이동 거리 및 상기 착륙 후보 지점의 위치에 기초하여 상기 카메라의 틸트 각도를 조정하는 단계; 및
    상기 드론이 상기 착륙 지점의 상공에 도달한 경우, 상기 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 상기 착륙 지점에서 착륙 가능한 영역을 식별하는 단계를 포함하는, 드론의 착륙 제어 방법.
  2. 청구항 1에 있어서,
    상기 제1 모델은, 상기 제1 모델로 입력된 이미지에서 착륙 후보 지점을 식별하고, 착륙 후보 지점이 식별된 경우, 상기 입력된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성하도록 사전 학습되며,
    상기 드론의 착륙 후보 지점을 식별하는 단계는, 상기 제1 모델을 이용하여 상기 획득된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성하는, 드론의 착륙 제어방법.
  3. 청구항 2에 있어서,
    상기 착륙 후보 지점의 위치 및 크기를 결정하는 단계는, 상기 바운딩 박스의 좌표 데이터 셋을 획득하고, 상기 착륙 후보 지점의 위치를 결정하기 위해 바운딩 박스에 포함된 상기 좌표 데이터 셋을 상기 지면으로 정사영하는 단계를 포함하는, 드론의 착륙 제어 방법.
  4. 청구항 2에 있어서,
    상기 좌표 데이터 셋은, 상기 바운딩 박스의 좌표 및 상기 바운딩 박스의 좌표에 대응하는 상기 지면 상의 좌표를 포함하는, 드론의 착륙 제어방법.
  5. 청구항 1에 있어서,
    상기 조정하는 단계는, 기 설정된 주기 마다 상기 드론의 이동 거리에 기초하여 상기 카메라의 틸트 각도를 조정하는, 드론의 착륙 제어 방법.
  6. 청구항 1에 있어서,
    상기 착륙 가능한 영역을 식별하는 단계는, 상기 카메라의 틸트 각도가 기 설정된 임계각과 동일한 경우, 상기 드론이 상기 착륙 후보 지점의 상공에 도달한 것으로 판단하는, 드론의 착륙 제어방법.
  7. 청구항 1에 있어서,
    상기 착륙 가능한 영역을 식별하는 단계는, 사전 학습된 제2 모델을 이용하여 상기 착륙 지점에서 장애물을 식별하는 단계;
    하나 이상의 장애물이 식별된 경우, 상기 하나 이상의 장애물 각각의 위치 및 크기를 결정하는 단계;
    상기 결정된 하나 이상의 장애물 각각의 위치 및 크기에 기초하여 착륙 가능한 하나 이상의 착륙 후보 영역을 결정하는 단계;
    상기 하나 이상의 착륙 후보 영역 중 하나를 상기 착륙 가능한 영역으로 결정하는 단계를 더 포함하는, 드론의 착륙 제어방법.
  8. 청구항 7에 있어서,
    상기 제2 모델은, 상기 제2 모델로 입력된 이미지에서 착륙 지점의 하나 이상의 장애물을 식별하고, 상기 입력된 이미지에서 식별된 하나 이상의 장애물 각각에 대응하는 바운딩 박스를 생성하도록 사전 학습되며,
    상기 착륙 가능한 영역을 식별하는 단계는, 상기 제2 모델을 이용하여 상기 획득된 이미지에서 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스를 생성하고,
    상기 하나 이상의 장애물 각각의 위치 및 크기를 결정하는 단계는, 상기 하나 이상의 식별된 장애물 각각에 대응하는 상기 바운딩 박스의 좌표 데이터 셋을 획득하고, 상기 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스에 포함된 상기 좌표 데이터 셋 각각을 상기 지면으로 정사영하여 상기 장애물의 위치를 결정하는 단계를 포함하는, 드론의 착륙 제어방법.
  9. 청구항 8에 있어서,
    상기 착륙 가능한 영역으로 결정하는 단계는, 상기 지면에 정사영 된 상기 좌표 데이터 셋 각각에 기초하여 상기 하나 이상의 장애물의 크기를 계산하는 단계;
    계산된 하나 이상의 장애물에 기초하여 상기 하나 이상의 착륙 후보 영역을 결정하는 단계; 및
    상기 하나 이상의 착륙 후보 영역 각각의 크기를 상기 드론의 크기와 비교하여 착륙 영역을 결정하는 단계를 포함하는, 드론의 착륙 제어방법.
  10. 비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득하는 이미지 획득부;
    사전 학습된 제1 모델을 이용하여 상기 이미지에서 상기 드론의 착륙 후보 지점을 식별하고, 상기 이미지에 기초하여 상기 착륙 후보 지점의 위치 및 크기를 결정하는 착륙 후보 지점 식별부;
    상기 착륙 후보 지점의 크기에 기초하여 상기 착륙 후보 지점에 상기 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 상기 착륙 후보 지점을 착륙 지점으로 결정하는 착륙 지점 결정부;
    상기 드론이 상기 착륙 후보 지점의 상공으로 이동하도록 상기 드론을 제어하는 비행 제어부;
    상기 카메라가 상기 착륙 지점을 지속적으로 촬영하도록 상기 드론의 이동 거리 및 상기 착륙 후보 지점의 위치에 기초하여 상기 카메라의 틸트 각도를 조정하는 카메라 틸트 각도 조정부; 및
    상기 드론이 상기 착륙 지점의 상공에 도달한 경우, 상기 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 상기 착륙 지점에서 착륙 가능한 영역을 식별하는 착륙 영역 식별부를 포함하는, 드론의 착륙 제어 장치.
  11. 청구항 10에 있어서,
    상기 제1 모델은, 상기 착륙 지점 식별 모델로 입력된 이미지에서 착륙 후보 지점을 식별하고, 착륙 후보 지점이 식별된 경우, 상기 입력된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성하도록 사전 학습되며,
    상기 착륙 후보 지점 식별부는, 상기 제1 모델을 이용하여 상기 획득된 이미지에서 식별된 착륙 후보 지점에 대응하는 바운딩 박스를 생성하는, 드론의 착륙 제어장치.
  12. 청구항 11에 있어서,
    상기 착륙 후보 지점 식별부는, 상기 바운딩 박스의 좌표 데이터 셋을 획득하고, 상기 착륙 후보 지점의 위치를 결정하기 위해 바운딩 박스에 포함된 상기 좌표 데이터 셋을 상기 지면으로 정사영하는, 드론의 착륙 제어 장치.
  13. 청구항 11에 있어서,
    상기 좌표 데이터 셋은, 상기 바운딩 박스의 좌표 및 상기 바운딩 박스의 좌표에 대응하는 상기 지면 상의 좌표를 포함하고, 드론의 착륙 제어 장치.
  14. 청구항 10에 있어서,
    상기 틸트 각도 조정부는, 기 설정된 주기 마다 상기 드론의 이동 거리에 기초하여 상기 카메라의 틸트 각도를 조정하는, 드론의 착륙 제어 장치.
  15. 청구항 10에 있어서,
    상기 착륙 영역 식별부는, 상기 카메라의 틸트 각도가 기 설정된 임계각과 동일한 경우, 상기 드론이 상기 착륙 후보 지점의 상공에 도달한 것으로 판단하는, 드론의 착륙 제어 장치.
  16. 청구항 9에 있어서,
    상기 착륙 영역 식별부는, 사전 학습된 제2 모델을 이용하여 상기 착륙 지점에서 장애물을 식별하고, 하나 이상의 장애물이 식별된 경우, 상기 하나 이상의 장애물 각각의 위치 및 크기를 결정하고, 상기 결정된 하나 이상의 장애물 각각의 위치 및 크기에 기초하여 착륙 가능한 하나 이상의 착륙 후보 영역을 결정하고, 상기 하나 이상의 착륙 후보 영역 중 하나를 상기 착륙 가능한 영역으로 결정하는, 드론의 착륙 제어 장치.
  17. 청구항 16에 있어서,
    상기 제2 모델은, 상기 제2 모델로 입력된 이미지에서 착륙 지점의 하나 이상의 장애물을 식별하고, 상기 입력된 이미지에서 식별된 하나 이상의 장애물 각각에 대응하는 바운딩 박스를 생성하도록 사전 학습되며,
    상기 착륙 영역 식별부는, 상기 제2 모델을 이용하여 상기 획득된 이미지에서 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스를 생성하고,
    상기 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스의 좌표 데이터 셋을 획득하고, 상기 하나 이상의 식별된 장애물 각각에 대응하는 바운딩 박스에 포함된 상기 좌표 데이터 셋 각각을 상기 지면으로 정사영하여 장애물의 위치를 결정하는, 드론의 착륙 제어 장치.
  18. 청구항 17에 있어서,
    상기 착륙 영역 식별부는, 상기 지면에 정사영 된 상기 좌표 데이터 셋 각각에 기초하여 상기 하나 이상의 장애물의 크기를 계산하고, 계산된 하나 이상의 장애물에 기초하여 상기 하나 이상의 착륙 후보 영역을 결정하고, 상기 하나 이상의 착륙 후보 영역 각각의 크기를 상기 드론의 크기와 비교하여 착륙 영역을 결정하는, 드론의 착륙 제어 장치.
  19. 비일시적 컴퓨터 판독 가능한 저장매체(non-transitory computer readable storage medium)에 저장된 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은 하나 이상의 명령어들을 포함하고, 상기 명령어들은 하나 이상의 프로세서들을 갖는 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금,
    비행 중인 드론에 구비된 카메라를 통해 지면을 촬영한 이미지를 획득하는 이미지 획득하고,
    사전 학습된 제1 모델을 이용하여 상기 이미지에서 상기 드론의 착륙 후보 지점을 식별하고, 상기 이미지에 기초하여 상기 착륙 후보 지점의 위치 및 크기를 결정하고,
    상기 착륙 후보 지점의 크기에 기초하여 상기 착륙 후보 지점에 상기 드론이 착륙 가능한지 여부를 결정하고, 착륙 가능한 경우, 상기 착륙 후보 지점을 착륙 지점으로 결정하고,
    상기 드론이 상기 착륙 후보 지점의 상공으로 이동하도록 상기 드론을 제어하고,
    상기 카메라가 상기 착륙 지점을 지속적으로 촬영하도록 상기 드론의 이동 거리 및 상기 착륙 후보 지점의 위치에 기초하여 상기 카메라의 틸트 각도를 조정하고,
    상기 드론이 상기 착륙 지점의 상공에 도달한 경우, 상기 착륙 지점의 상공에서 카메라에 의해 획득된 이미지에 기초하여 상기 착륙 지점에서 착륙 가능한 영역을 식별하는, 컴퓨터 프로그램.
KR1020210002698A 2021-01-08 2021-01-08 이미지 학습 기반의 착륙 제어 장치 및 방법 KR102441563B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210002698A KR102441563B1 (ko) 2021-01-08 2021-01-08 이미지 학습 기반의 착륙 제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210002698A KR102441563B1 (ko) 2021-01-08 2021-01-08 이미지 학습 기반의 착륙 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220100768A true KR20220100768A (ko) 2022-07-18
KR102441563B1 KR102441563B1 (ko) 2022-09-07

Family

ID=82700859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210002698A KR102441563B1 (ko) 2021-01-08 2021-01-08 이미지 학습 기반의 착륙 제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102441563B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102593390B1 (ko) * 2023-03-29 2023-10-25 (주)마이크로드론코리아 드론 착륙 제어 장치 및 그 방법
WO2024043459A1 (ko) * 2022-08-26 2024-02-29 금오공과대학교 산학협력단 객체인식과 카메라 각도 제어를 사용한 드론의 자율착륙방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190065016A (ko) * 2017-12-01 2019-06-11 에어버스 헬리콥터스 회전익기의 조종 보조 장치, 연관된 디스플레이, 및 대응하는 조종 보조 방법
JP2020149640A (ja) * 2019-03-15 2020-09-17 株式会社テクノアクセルネットワークス 飛行システム及び着陸制御方法
KR20200126348A (ko) 2019-04-29 2020-11-06 주식회사 에프엠웍스 드론을 이용한 실시간 위치 추적 방법 및 장치, 이를 포함하는 위치 추적 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190065016A (ko) * 2017-12-01 2019-06-11 에어버스 헬리콥터스 회전익기의 조종 보조 장치, 연관된 디스플레이, 및 대응하는 조종 보조 방법
JP2020149640A (ja) * 2019-03-15 2020-09-17 株式会社テクノアクセルネットワークス 飛行システム及び着陸制御方法
KR20200126348A (ko) 2019-04-29 2020-11-06 주식회사 에프엠웍스 드론을 이용한 실시간 위치 추적 방법 및 장치, 이를 포함하는 위치 추적 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024043459A1 (ko) * 2022-08-26 2024-02-29 금오공과대학교 산학협력단 객체인식과 카메라 각도 제어를 사용한 드론의 자율착륙방법
KR102593390B1 (ko) * 2023-03-29 2023-10-25 (주)마이크로드론코리아 드론 착륙 제어 장치 및 그 방법

Also Published As

Publication number Publication date
KR102441563B1 (ko) 2022-09-07

Similar Documents

Publication Publication Date Title
US11835561B2 (en) Unmanned aerial vehicle electromagnetic avoidance and utilization system
KR102441563B1 (ko) 이미지 학습 기반의 착륙 제어 장치 및 방법
CN110825101B (zh) 一种基于深度卷积神经网络的无人机自主降落方法
US7826666B2 (en) Methods and apparatus for runway segmentation using sensor analysis
US11319086B2 (en) Method and system for aligning a taxi-assist camera
JP6601554B2 (ja) 無人航空機、無人航空機制御システム、飛行制御方法およびコンピュータプログラム
KR100842104B1 (ko) Ads―b와 영상정보를 이용한 무인항공기의 자동 착륙유도 제어 방법
KR101684293B1 (ko) 무인 비행체의 비상 착륙 지점 검출 시스템 및 그 방법
WO2019127023A1 (zh) 一种飞行器降落保护方法、装置及飞行器
US20200401163A1 (en) Moving body guidance apparatus, moving body guidance method, and computer-readable recording medium
CA3082511A1 (en) System and method for mission planning, flight automation, and capturing of high-resolution images by unmanned aircraft
KR101303774B1 (ko) 항공 장해물 추출 장치, 항공 장해물 추출 방법 및 기록 매체
KR20170114348A (ko) 무인항공기의 위치인식 방법 및 시스템
CN107576329B (zh) 基于机器视觉的固定翼无人机着降引导合作信标设计方法
US20220148200A1 (en) Estimating the movement of an image position
WO2021056139A1 (zh) 获取降落位置的方法、设备、无人机、系统及存储介质
KR20160102844A (ko) 멀티콥터 착륙 가이드 시스템 및 방법
KR102462230B1 (ko) 무인 비행장치 및 그의 동작 방법
JPWO2019030820A1 (ja) 飛行体、飛行体制御装置、飛行体制御方法および飛行体制御プログラム
US20190236989A1 (en) Interactive Projection System
KR101935969B1 (ko) 히스토그램을 이용한 객체 추적 실패 감지 및 재추적 방법 및 장치
KR102379866B1 (ko) 무인 비행체 및 무인 비행체의 제어 방법
KR102668775B1 (ko) 표적영역의 변위정보 확인 방법 및 장치, 이를 이용한 대기운동정보 확인방법 및 장치
CN116772803B (zh) 一种无人机探测方法及装置
KR102674877B1 (ko) 탑승교 데이타 융합처리 장치 및 그 방법

Legal Events

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