KR102494926B1 - Apparatus and method for generating dynamic local map for operation of uav - Google Patents

Apparatus and method for generating dynamic local map for operation of uav Download PDF

Info

Publication number
KR102494926B1
KR102494926B1 KR1020210114616A KR20210114616A KR102494926B1 KR 102494926 B1 KR102494926 B1 KR 102494926B1 KR 1020210114616 A KR1020210114616 A KR 1020210114616A KR 20210114616 A KR20210114616 A KR 20210114616A KR 102494926 B1 KR102494926 B1 KR 102494926B1
Authority
KR
South Korea
Prior art keywords
time
uav
particles
dynamic map
local dynamic
Prior art date
Application number
KR1020210114616A
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 KR1020210114616A priority Critical patent/KR102494926B1/en
Application granted granted Critical
Publication of KR102494926B1 publication Critical patent/KR102494926B1/en

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/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
    • 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/02Control of position or course in two dimensions
    • G05D1/0202Control of position or course in two dimensions specially adapted to aircraft
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Geometry (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The present invention relates to a technique for generating a local dynamic map (LDM) for safe operation of an unmanned aerial vehicle (UAV). According to one aspect of the present invention, the unmanned aerial vehicle comprises: a sensor part scanning an environment around an unmanned aerial vehicle to generate scan data, and sensing the speed of the unmanned aerial vehicle; an LDM management part generating a local dynamic map expressing the environment around the unmanned aerial vehicle in a three-dimensional grid consisting of a plurality of voxels each representing an occupying probability and speed; and an operation control part controlling the operation of the unmanned aerial vehicle in accordance with the generated local dynamic map.

Description

무인기 운행을 위한 로컬 동적 맵 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING DYNAMIC LOCAL MAP FOR OPERATION OF UAV}APPARATUS AND METHOD FOR GENERATING DYNAMIC LOCAL MAP FOR OPERATION OF UAV

본 발명은 무인기(Unmanned Aerial Vehicle, UAV)의 안전한 운행을 위한 로컬 동적 맵(Local Dynamic Map, LDM)을 생성하는 기술에 관한 것이다. The present invention relates to a technique for generating a local dynamic map (LDM) for the safe operation of an unmanned aerial vehicle (UAV).

무인기의 안전한 운행을 위해는 무인기 주변의 장애물에 대한 정확한 인식이 요구된다. 이를 위해 종래에는 점유 그리드 맵(Occupancy Grid map, OGM)으로 무인기의 주변 환경을 표현하는 기술이 제안되고 있으나, 이는 점유 유무만 확인할 수 있고 장애물의 형체나 장애물의 속도를 인지할 수 없는 한계가 있다. Accurate recognition of obstacles around the UAV is required for safe operation of the UAV. To this end, a technique for expressing the surrounding environment of the UAV with an Occupancy Grid map (OGM) has been conventionally proposed, but this has limitations in that it can only check occupancy and cannot recognize the shape of the obstacle or the speed of the obstacle. .

한국공개특허 제10-2015-0136209호, "다중 영상 기반 장애물 회피 시스템 및 방법"Korean Patent Publication No. 10-2015-0136209, "Multiple image-based obstacle avoidance system and method" 한국공개특허 제 10-2021-0065837호, " 점유 격자 지도 생성 장치 및 방법"Korean Patent Publication No. 10-2021-0065837, "Occupancy   Grid   Map   Generating Apparatus and Method"

본 발명의 목적은 점유 그리드 및 파티클 필터에 기반한 로컬 동적 맵을 생성하는 기술을 제공하는 것이다. It is an object of the present invention to provide techniques for generating local dynamic maps based on occupancy grids and particle filters.

또한, 본 발명의 목적은 장애물의 형상 및 이동을 인지할 수 있는 동적 로컬 맵을 생성하는 기술을 제공하는 것이다. Another object of the present invention is to provide a technique for generating a dynamic local map capable of recognizing the shape and movement of an obstacle.

또한, 본 발명의 목적은 무인기 하드웨어 자원의 사용량을 줄일 수 있는 동적 로컬 맵을 생성하는 기술에 제공하는 것이다. It is also an object of the present invention to provide a technique for generating a dynamic local map that can reduce the usage of UAV hardware resources.

본 발명의 일 측면에 따르면, 무인기 주변 환경을 각각 점유 확률 및 속도를 나타내는 복수의 복셀로 구성되는 3차원 그리드로 표현하는 로컬 동적 맵을 생성하는 방법에 있어서, 복수의 복셀 중 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터의 시간 k-1에서의 속도를 기반으로, 시간 k에서 로컬 동적 맵 상에서의 위치를 예측하는 단계; 적어도 하나의 장애물 클러스터의 예측된 위치를 기반으로, 시간 k에서 복수의 복셀 각각의 점유 확률을 예측하는 단계; 로컬 동적 맵 상에 분포된 파티클들의 시간 k-1에서의 속도를 기반으로, 시간 k에서의 속도를 예측하는 단계; 예측된 파티클들의 속도를 기반으로, 시간 k에서 파티클들의 로컬 동적 맵 상에서 위치를 예측하는 단계; 시간 k에서 무인기 주변 환경을 스캔하여 스캔 데이터를 생성하는 단계; 생성된 스캔 데이터를 기반으로 시간 k에서의 복수의 복셀 각각의 예측된 점유 확률을 업데이트하는 단계; 업데이트된 점유 확률을 기반으로 파티클들의 시간 k에서의 가중치를 업데이트 하는 단계; 파티클들의 예측된 속도 및 업데이트된 가중치를 기반으로 결정되는 복수의 복셀 각각의 속도를 이용하여, 시간 k에서 파티클들의 속도를 업데이트 하는 단계; 및 시간 k에서 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터를 재생성하는 단계를 포함하는. 방법이 제공된다. According to one aspect of the present invention, in a method for generating a local dynamic map that expresses a UAV surrounding environment as a three-dimensional grid composed of a plurality of voxels each representing an occupancy probability and a speed, a probability of occupancy greater than or equal to a reference value among a plurality of voxels is determined. predicting a position on a local dynamic map at time k, based on the velocity at time k-1 of at least one obstacle cluster composed of adjacent voxels having predicting an occupancy probability of each of the plurality of voxels at time k based on the predicted position of the at least one obstacle cluster; predicting the velocity at time k based on the velocity at time k-1 of the particles distributed on the local dynamic map; based on the predicted velocity of the particles, predicting the location on the local dynamic map of the particles at time k; generating scan data by scanning an environment around the UAV at time k; updating a predicted occupation probability of each of the plurality of voxels at time k based on the generated scan data; updating weights of particles at time k based on the updated occupancy probabilities; updating velocities of particles at time k using velocities of each of a plurality of voxels determined based on the predicted velocities of the particles and the updated weights; and regenerating at least one obstacle cluster composed of adjacent voxels having an occupancy probability greater than or equal to a reference value at time k. A method is provided.

일 실시예에서, 시간 k-1에서 무인기의 속도 정보를 기반으로 시간 k-1 무인기의 위치를 업데이트 하는 단계; 및 로컬 동적 맵 상에서 무인기의 위치를 나태내는 시간 k에서의 좌표가 시간 k-1의 좌표와 동일하도록 로컬 동적 맵을 재 생성하는 단계를 더 포함하되, 스캔 데이터를 생성하는 단계는 로컬 동적 맵이 재 생성된 후에 수행될 수 있다. In one embodiment, updating the position of the UAV at time k-1 based on the speed information of the UAV at time k-1; and regenerating the local dynamic map so that the coordinates at time k indicating the position of the UAV on the local dynamic map are the same as the coordinates at time k−1, wherein generating the scan data is such that the local dynamic map is Can be performed after regeneration.

일 실시예에서, 시간 k에서 재 생성되는 로컬 동적 맵의 사이즈는 시간 k-1에서 로컬 동적 맵의 사이즈와 동일할 수 있다.In one embodiment, the size of the local dynamic map regenerated at time k may be the same as the size of the local dynamic map at time k-1.

일 실시예에서, 무인기의 시간 k와 시간 k-1의 위치 차이는 복셀 사이즈의 정수배일 수 있다. In one embodiment, the positional difference between time k and time k−1 of the UAV may be an integer multiple of a voxel size.

일 실시예에서, 시간 k-1에서 파티클들의 개수는 미리 설정된 개수이며, 시간 k에서의 파티클들의 개수가 미리 설정된 개수 미만이면 미리 설정된 개수가 되도록 파티클들의 가중치를 기반으로 리샘플링을 수행하는 단계를 더 포함할 수 있다. In one embodiment, the number of particles at time k-1 is a preset number, and if the number of particles at time k is less than the preset number, performing resampling based on the weight of the particles to reach the preset number is further performed. can include

또한, 본 발명의 다른 측면에 따르면, 무인기 주변 환경을 스캔하여 스캔 데이터를 생성하고, 무인기의 속도를 센싱하는 센서부; 무인기의 주변 환경을 각각 점유 확률 및 속도를 나타내는 복수의 복셀로 구성되는 3차원 그리드로 표현하는 로컬 동적 맵을 생성하는 LDM 관리부; 및 생성된 로컬 동적 맵에 따라 무인기의 운행을 제어하는 운행 제어부를 포함하되, LDM 관리부는, 복수의 복셀 중 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터의 시간 k-1에서의 속도를 기반으로, 시간 k에서 로컬 동적 맵 상에서의 위치를 예측하고, 적어도 하나의 장애물 클러스터의 예측된 위치를 기반으로, 시간 k에서 복수의 복셀 각각의 점유 확률을 예측하고, 로컬 동적 맵 상에 분포된 파티클들의 시간 k-1에서의 속도를 기반으로, 시간 k에서의 속도를 예측하고, 예측된 파티클들의 속도를 기반으로, 시간 k에서 파티클들의 로컬 동적 맵 상에서 위치를 예측하고, 시간 k에서 무인기 주변 환경을 스캔하여 스캔 데이터를 생성하며, 생성된 스캔 데이터를 기반으로 시간 k에서의 복수의 복셀 각각의 예측된 점유 확률을 업데이트하고, 업데이트된 점유 확률을 기반으로 파티클들의 시간 k에서의 가중치를 업데이트 하며, 파티클들의 예측된 속도 및 업데이트된 가중치를 기반으로 결정되는 복수의 복셀 각각의 속도를 이용하여, 시간 k에서 파티클들의 속도를 업데이트 하여, 시간 k에서 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터를 재생성하는, 무인기가 제공된다. In addition, according to another aspect of the present invention, the sensor unit for generating scan data by scanning the environment around the UAV, and sensing the speed of the UAV; an LDM management unit that generates a local dynamic map expressing the surrounding environment of the UAV as a three-dimensional grid composed of a plurality of voxels each representing an occupancy probability and speed; and a navigation control unit controlling the operation of the UAV according to the generated local dynamic map, wherein the LDM management unit includes a time k-of at least one obstacle cluster composed of adjacent voxels having an occupancy probability equal to or greater than a reference value among a plurality of voxels. Based on the velocity at 1, predicting a position on the local dynamic map at time k, predicting an occupancy probability of each of a plurality of voxels at time k based on a predicted position of at least one obstacle cluster, and Based on the velocity at time k-1 of the particles distributed on the map, predicting the velocity at time k, predicting the location on the local dynamic map of the particles at time k based on the predicted velocity of the particles, At time k, the environment around the drone is scanned to generate scan data, and based on the generated scan data, a predicted occupancy probability of each of a plurality of voxels at time k is updated, and based on the updated occupancy probability, particles are generated at time k. update the weights in , and update the velocities of the particles at time k using the velocities of each of the plurality of voxels determined based on the predicted velocities of the particles and the updated weights, and have an occupancy probability equal to or greater than the reference value at time k An unmanned aerial vehicle regenerates at least one obstacle cluster composed of adjacent voxels.

본 발명의 실시예에 따르면, 점유 그리드 및 파티클 필터에 기반한 로컬 동적 맵을 생성하는 것이 가능하게 된다.According to an embodiment of the present invention, it is possible to create a local dynamic map based on the occupancy grid and particle filter.

또한, 본 발명의 다른 실시예에 따르면, 장애물의 형상 및 이동을 인지할 수 있는 동적 로컬 맵을 생성하는 것이 가능하게 된다.In addition, according to another embodiment of the present invention, it is possible to create a dynamic local map capable of recognizing the shape and movement of an obstacle.

또한, 본 발명의 다른 실시예에 따르면, 무인기 하드웨어 자원의 사용량을 줄일 수 있는 동적 로컬 맵을 생성하는 것이 가능하게 된다.In addition, according to another embodiment of the present invention, it is possible to create a dynamic local map capable of reducing the usage of UAV hardware resources.

도 1은 본 발명의 일 실시예에 따른 무인기의 블록도.
도 2는 본 발명의 일 실시예에 따른 로컬 동적 맵의 생성 방법의 흐름도.
도 3은 본 발명의 일 실시예에 다른 장애물 클러스터의 이동을 설명하기 위한 도면.
도 4는 본 발명의 일 실시예에 따른 무인기 이동에 따른 로컬 동적 맵을 재생성을 설명하기 위한 도면.
도 5는 본 발명의 일 실시예에 따른 로컬 동적 맵을 생성하는 방법의 블록도.
도 6은 본 발명의 다른 실시예에 다른 무인기의 블록도.
1 is a block diagram of an unmanned aerial vehicle according to an embodiment of the present invention;
2 is a flow diagram of a method for generating a local dynamic map according to an embodiment of the present invention;
3 is a diagram for explaining movement of an obstacle cluster according to an embodiment of the present invention;
4 is a diagram for explaining regeneration of a local dynamic map according to movement of an UAV according to an embodiment of the present invention;
5 is a block diagram of a method for generating a local dynamic map according to one embodiment of the present invention;
6 is a block diagram of a UAV according to another embodiment of the present invention;

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only illustrated for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention These may be embodied in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the concept of the present invention can apply various changes and can have various forms, so the embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosures, and includes modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component, for example, without departing from the scope of rights according to the concept of the present invention, a first component may be named a second component, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle. Expressions describing the relationship between components, such as "between" and "directly between" or "directly adjacent to" should be interpreted similarly.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers, It should be understood that the presence or addition of steps, operations, components, parts, or combinations thereof is not precluded.

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

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these examples. Like reference numerals in each figure indicate like elements.

도 1은 본 발명의 일 실시예에 따른 무인기의 블록도이다. 1 is a block diagram of an unmanned aerial vehicle according to an embodiment of the present invention.

도 1을 참조하면, 무인기(1000)는 센서부(1100), LDM 관리부(1200) 및 운행 제어부(1300)를 포함할 수 있다. Referring to FIG. 1 , an unmanned aerial vehicle 1000 may include a sensor unit 1100, an LDM management unit 1200, and a driving control unit 1300.

센서부(1100)는 무인기(1000) 주변 환경을 센싱하여 센싱 데이터를 생성할 수 있다. 구체적으로, 센서부(1100)는 무인기(1000)의 주변 환경을 스캔하여 무인기(1000)의 주변에 장애물의 존부에 대한 스캔 데이터를 생성할 수 있다. The sensor unit 1100 may generate sensing data by sensing the surrounding environment of the UAV 1000 . In detail, the sensor unit 1100 may scan the surrounding environment of the UAV 1000 to generate scan data about the presence or absence of obstacles around the UAV 1000 .

일 실시예에서, 센서부(1100)는 라이다 센서, 레이더 센서 등일 수 있다. In one embodiment, the sensor unit 1100 may be a LiDAR sensor, a radar sensor, or the like.

또한, 센서부(1100)는 무인기(1000)의 속도, 이동 방향 등의 센싱하여 무인기(1000) 이동 데이터를 생성할 수 있다. In addition, the sensor unit 1100 may generate movement data of the UAV 1000 by sensing the speed and direction of movement of the UAV 1000 .

일 실시예에서, 센서부(1100)는 자이로 센서, 가속도 센서 등일 수 있다. In one embodiment, the sensor unit 1100 may be a gyro sensor or an acceleration sensor.

LMD 관리부는 점유 그리드 및 파티클 필터를 기반으로 장애물 존재를 인식할 수 있는 무인기(1000)의 주변 환경에 대한 로컬 동적 맵을 생성할 수 있다. The LMD management unit may create a local dynamic map of the surrounding environment of the UAV 1000 capable of recognizing the presence of an obstacle based on the occupancy grid and particle filter.

로컬 동적 맵은 복수의 복셀(voxel)로 구성되는 3차원 그리드로 표현될 수 있다. 각 복셀은 큐브 형태로 점유 확률 및 속도를 표현하며 로컬 동적 맵 상에서 특정 좌표에 대응할 수 있다. 여기서, 속도는 로컬 동적 맵 상에서의 위치, 속도 및 방향을 포함하는 벡터일 수 있다. The local dynamic map may be expressed as a 3D grid composed of a plurality of voxels. Each voxel expresses the occupancy probability and speed in the form of a cube and may correspond to specific coordinates on a local dynamic map. Here, the velocity may be a vector including position, velocity, and direction on the local dynamic map.

일 실시예에서, 로컬 동적 맵은 2 이상의 복셀에 대한 클러스터링이 수행된 장애물 클러스터를 표현할 수 있다. 장애물 클러스터는 무인기(1000)의 주변 환경에 존재하는 장애물로 인식될 수 있다. 장애물 클러스터는 위치가 고정된 장애물 또는 고유의 속도로 이동하는 장애물일 수 있다.In one embodiment, the local dynamic map may represent an obstacle cluster for which clustering of two or more voxels has been performed. The obstacle cluster may be recognized as an obstacle existing in the surrounding environment of the UAV 1000 . The obstacle cluster may be a fixed position obstacle or an obstacle moving at a specific speed.

일 실시예에서, 장애물 클러스터는 미리 설정된 기준값 이상의 점유 확률을 갖는 2 이상의 복셀로 구성될 수 있으며, 장애물 클러스터를 구성하는 복셀들은 미리 설정된 인전하는 거리에 있는 복셀들로 구성될 수 있고, 클러스터를 구성하는 복셀들의 수는 미리 설정된 개수일 수 있다. 즉, 장애물 클러스터는 기준값 이상의 정유 확률을 갖는 서로 인접하는 미리 설정된 개수의 복셀로 구성될 수 있다. In one embodiment, an obstacle cluster may be composed of two or more voxels having an occupancy probability equal to or greater than a preset reference value, and voxels constituting the obstacle cluster may be composed of voxels at a preset distance from each other, constituting a cluster. The number of voxels used may be a preset number. That is, the obstacle cluster may be composed of a preset number of voxels adjacent to each other having a refining probability equal to or greater than a reference value.

이하, LDM에 생성에 대한 상세한 설명은 도 2 내지 도 5를 참조하여 후술한다. Hereinafter, a detailed description of LDM generation will be given with reference to FIGS. 2 to 5 .

운행 제어부(1300)는 생성된 로컬 동적 맵을 기반으로 장애물을 회피하는 등의 무인기(1000)의 운행을 제어할 수 있다. The driving controller 1300 may control the driving of the UAV 1000 such as avoiding an obstacle based on the generated local dynamic map.

도 2는 본 발명의 일 실시예에 따른 로컬 동적 맵을 생성하는 방법의 흐름도이다. 2 is a flowchart of a method for generating a local dynamic map according to an embodiment of the present invention.

이하, 도 2에 도시된 방법은 도 1에 도시된 무인기(1000)에 의해 수행되는 것을 예시로 이하 설명한다. Hereinafter, the method shown in FIG. 2 will be described below with an example of being performed by the UAV 1000 shown in FIG.

단계 S2100에서, 장애물 클러스터의 위치가 예측된다. 구체적으로 무인기(1000)는 시간 k-1에서의 LDM을 기반으로 시간 k에서 장애물 클러스터의 위치를 예측할 수 있다. 여기서, 장애물 클러스터는 시간 k-1에서 LDM에 포함된 장애물 클러스터의 위치 및 속도를 기반으로 상기 장애물 클러스터의 시간 k에서의 위치를 예측할 수 있다. 이때, 장애물 클러스터의 속도는 장애물 클러스터를 구성하는 복셀들의 평균 속도로 결정될 수 있다. In step S2100, the position of the obstacle cluster is predicted. Specifically, the UAV 1000 may predict the position of the obstacle cluster at time k based on the LDM at time k-1. Here, the position of the obstacle cluster at time k can be predicted based on the position and speed of the obstacle cluster included in the LDM at time k-1. In this case, the speed of the obstacle cluster may be determined as an average speed of voxels constituting the obstacle cluster.

일 실시예에서, 도 3을 참조하면, 무인기(1000)의 위치를 중심 좌표로 하는 로컬 동적 맵 상에서 장애물 클러스터의 이동 예시가 도시되어 있다. 설명의 명확성을 위해 로컬 동적 맵이 2차원 맵인 경우를 예시로 설명하나 이는 3차원 맵인 경우에도 동일하게 적용됨은 자명하다. 시간 k-1에서 로컬 동적 맵의 좌측 상단은 5개의 복셀로 구성되고 우측 상단 방향으로 속도를 가지는 장애물 클러스터 1이 도시되어 있으며, 우측 하단에는 3개의 복셀로 구성되며 속도를 가지지 않는 장애물 클러스터 2가 도시되어 있다. 장애물 클러스터 1은 t-1에서 우측 상단을 향하는 속도를 가지고 있으므로 t-1과 t 사이의 시간 간격 및 t-1에서 장애물 클러스터의 속도를 기반으로 t에서 장애물 클러스터의 위치가 우측 상단으로 이동할 것을 예측하는 것이 가능하게 된다. 또한, 장애물 클러스터 2는 시간 k-1에서 속도를 가지지 않으므로 시간 k에서도 동일한 위치를 유지할 것임을 예측하는 것이 가능하게 된다. 여기서, 각 장애물 클러스터의 속도는 각 장애물 클러스터를 구성하는 복셀들의 평균 속도를 의미할 수 있다.In one embodiment, referring to FIG. 3 , an example of movement of an obstacle cluster on a local dynamic map with the location of the UAV 1000 as the center coordinate is shown. For clarity of explanation, a case where the local dynamic map is a 2D map is described as an example, but it is obvious that the same applies to a 3D map as well. At time k-1, obstacle cluster 1 consisting of 5 voxels and having speed in the upper right direction is shown in the upper left corner of the local dynamic map at time k-1, and obstacle cluster 2 consisting of 3 voxels and having no speed is shown in the lower right corner. is shown Obstacle cluster 1 has a velocity toward the upper right at t-1, so based on the time interval between t-1 and t and the velocity of the obstacle cluster at t-1, we predict that the position of the obstacle cluster will move to the upper right at t it becomes possible to do In addition, since the obstacle cluster 2 does not have a velocity at time k-1, it is possible to predict that it will maintain the same position at time k. Here, the speed of each obstacle cluster may mean the average speed of voxels constituting each obstacle cluster.

단계 S2200에서, 시간 k에서 LDM의 점유 확률이 예측된다. 구체적으로, 무인기(1000)는 장애물 클러스터의 예측된 위치를 기반으로 시간 k에서의 점유 확률을 예측할 수 있다. In step S2200, the occupation probability of the LDM at time k is predicted. Specifically, the UAV 1000 may predict the occupancy probability at time k based on the predicted position of the obstacle cluster.

일 실시예에서, 도 3에 도시된 바와 같이, 장애물 클러스터 1은 우측 상단으로 이동하고 장애물 클러스터 2는 이동이 없었으므로, 시간 k-1에서 장애물 클러스터 1을 구성하는 복셀들에 대응하는 좌표들의 점유 확률을 시간 k에서 장애물 클러스터 1을 구성하는 복셀들에 대응하는 좌표들의 점유 확률로 반명함으로써, 시간 k에서의 LDM을 구성하는 복수의 복셀들 각각의 점유 확률을 예측할 수 있다. In one embodiment, as shown in FIG. 3, since obstacle cluster 1 moves to the upper right corner and obstacle cluster 2 does not move, coordinates corresponding to voxels constituting obstacle cluster 1 are occupied at time k-1. By reflecting the probability as the occupation probability of coordinates corresponding to the voxels constituting the obstacle cluster 1 at time k, the occupation probability of each of a plurality of voxels constituting the LDM at time k can be predicted.

단계 S2300에서, 파티클들이 예측된다. 구체적으로, 무인기(1000)는 시간 k-1에서 LDM을 기반으로 시간 k에서의 파티클들의 속도 및 위치를 예측할 수 있다. 여기서, 파티클들은 LDM에 분산되어 있으므로, 하나의 복셀안에 복수의 파티클이 존재할 수 있으며, 각 파티클들의 속도 및 위치는 상이할 수 있다.In step S2300, particles are predicted. Specifically, the UAV 1000 may predict the velocity and location of particles at time k-1 based on the LDM at time k-1. Here, since the particles are distributed in the LDM, a plurality of particles may exist in one voxel, and the speed and position of each particle may be different.

일 실시예에서, 파티클들의 예측은 논문 “Hybrid sampling bayesian occupancy filter. 2014 IEEE Intelligent Vehicles Symposium Proceedings. IEEE, 2014”에 설명된 예측 모델이 사용될 수 있다. In one embodiment, the prediction of particles is performed in the paper “Hybrid sampling bayesian occupancy filter. 2014 IEEE Intelligent Vehicles Symposium Proceedings. IEEE, 2014” can be used.

일 실시예에서, 파티클의 속도는 수학식 1에 따라 예측될 수 있다. In one embodiment, the velocity of a particle can be predicted according to Equation 1.

Figure 112021099894321-pat00001
Figure 112021099894321-pat00001

즉, i 번째 파티클의 시간 k에서 속도

Figure 112021099894321-pat00002
는 시간 k-1에서 속도
Figure 112021099894321-pat00003
Figure 112021099894321-pat00004
(zero mean normal distribution noise with covariance Σ를 더한 값으로 예측될 수 있다. That is, the velocity at time k of the ith particle
Figure 112021099894321-pat00002
is the velocity at time k-1
Figure 112021099894321-pat00003
to
Figure 112021099894321-pat00004
(It can be predicted by adding zero mean normal distribution noise with covariance Σ.

일 실시예에서, 파티클의 위치는 수학식 2에 따라 예측될 수 있다. In one embodiment, the position of the particle may be predicted according to Equation 2.

Figure 112021099894321-pat00005
Figure 112021099894321-pat00005

즉, I 번째 파티클의 시간 k에서 위치는

Figure 112021099894321-pat00006
는 시간 k-1에서 위치
Figure 112021099894321-pat00007
에다가 파티클의 예측된 시간 k에서 속도와 시간 k-1과 시간 k간의 차이를 곱한 값을 더함으로써 예측될 수 있다. That is, the position at time k of the I-th particle is
Figure 112021099894321-pat00006
is the position at time k-1
Figure 112021099894321-pat00007
It can be predicted by adding the product of the velocity at the predicted time k of the particle and the difference between time k - 1 and time k.

단계 S2400에서, 무인기(1000)의 위치가 업데이트 된다. 구체적으로, 무인기(1000)는 시간 k-1에서 무인기(1000)의 로컬 동적 맵 상에서 위치 및 속도를 기반으로 시간 k에서 로컬 동적 맵 상에서 위치 및 속도를 업데이트할 수 있다. 다만, 이때, 무인기(1000)는 시간 k에서와 시간 k-1에서 무인기(1000)의 위치가 로컬 동적 맵 상에서 동일한 좌표를 갖도록 로컬 동적 맵을 재 생성할 수 있다. In step S2400, the location of the UAV 1000 is updated. Specifically, the UAV 1000 may update the location and speed on the local dynamic map at time k based on the location and speed on the local dynamic map of the UAV 1000 at time k−1. However, at this time, the UAV 1000 may regenerate the local dynamic map so that the position of the UAV 1000 at time k and at time k−1 has the same coordinates on the local dynamic map.

예를 들어, 도 4를 참조하면, 시간 k-1에서 무인기(1000)가 로컬 동적 맵 상에서 중심 좌표인 0번 복셀의 좌표에 위치했으나 시간 k에서 무인기(1000)가 6번 복셀로 이동된 경우에, 무인기(1000)는 6번 복셀이 다시 로컬 동적 맵의 중심 좌표가 되도록 로컬 동적 맵을 재생성할 수 있다. 이때, k-1에서 로컬 동적 맵에 포함되어 있던 13, 8, 3, 23, 18, 19, 15, 16 및 17번 복셀의 정보는 사라지고 시간 k에서 새로 추가된 무인기(1000) 주변 영역에 대한 복셀로 재구성될 수 있다. 이때, 무인기(1000)는 메모리 사용량을 줄이고 빠른 데이터 처리를 위해, 링 버퍼(circular buffer) 어레이를 사용할 수 있다.For example, referring to FIG. 4 , when the UAV 1000 is located at the coordinates of voxel 0, which is the center coordinate, on the local dynamic map at time k-1, but moves to voxel 6 at time k. For example, the UAV 1000 may regenerate the local dynamic map so that voxel 6 becomes the center coordinate of the local dynamic map again. At this time, the information of voxels 13, 8, 3, 23, 18, 19, 15, 16, and 17 included in the local dynamic map at k-1 disappears and information about the area around the newly added drone 1000 at time k disappears. It can be reconstructed into voxels. At this time, the UAV 1000 may use a circular buffer array to reduce memory usage and speed data processing.

또한, 무인기(1000)의 이동은 무인기(1000)의 회전은 고려되지 않으며, 로컬 동적 맵을 구성하는 복셀의 단위의 정수배로 결정될 수 있다. Also, the movement of the UAV 1000 may be determined as an integer multiple of a unit of voxels constituting the local dynamic map, without considering the rotation of the UAV 1000 .

단계 S2500에서, LDM의 점유 확률이 업데이트된다. 구체적으로, 무인기(1000)는 시간 k에서 주변 환경에 대한 스캔을 수행하여 스캔 데이터를 생성하고, 생성된 스캔 데이터를 기반으로 LDM을 구성하는 복수의 복셀들 각각에 대한 점유 확률을 업데이트 할 수 있다. In step S2500, the occupation probability of the LDM is updated. Specifically, the UAV 1000 may scan the surrounding environment at time k to generate scan data, and update the occupancy probability for each of a plurality of voxels constituting the LDM based on the generated scan data. .

단계 S2600에서, 파티클들이 업데이트된다. 구체적으로, 무인기(1000)는 시간 k에서 업데이트된 점유 확률을 기반으로 파티클들을 업데이트할 수 있다. In step S2600, particles are updated. Specifically, the UAV 1000 may update particles based on the updated occupancy probability at time k.

일 실시예에서, 각 파티클들이 분포된 위치에 대응하는 복셀의 업데이트된 점유 확률을 시간 k-1에서 파티클들의 가중치에 더함으로써, 시간 k에서의 파티클들의 가중치를 업데이트할 수 있다. In an embodiment, the weights of the particles at time k may be updated by adding the updated occupancy probability of the voxel corresponding to the location where each particle is distributed to the weights of the particles at time k−1.

일 실시예에서, 각 파티클들이 분포된 위치에 대응하는 복셀의 속도를 기반으로 각 파티클들의 속도를 수학식3에 따라 업데이트할 수 있다. In an embodiment, the velocity of each particle may be updated according to Equation 3 based on the velocity of the voxel corresponding to the location where each particle is distributed.

Figure 112021099894321-pat00008
Figure 112021099894321-pat00008

즉, 업데이트된 i 번째 파티클의 속도

Figure 112021099894321-pat00009
는 시간 k에서 j 번째 복셀의 속도
Figure 112021099894321-pat00010
Figure 112021099894321-pat00011
(zero mean normal distribution noise with covariance Σ을 더함으로써 산출될 수 있다. i.e. the velocity of the updated ith particle
Figure 112021099894321-pat00009
is the velocity of the jth voxel at time k
Figure 112021099894321-pat00010
to
Figure 112021099894321-pat00011
(It can be calculated by adding zero mean normal distribution noise with covariance Σ.

여기서, 시간 k에서 j 번째 복셀의 속도

Figure 112021099894321-pat00012
는 수학식 4에 따라 산출될 수 있다. where, the velocity of the jth voxel at time k
Figure 112021099894321-pat00012
Can be calculated according to Equation 4.

Figure 112021099894321-pat00013
Figure 112021099894321-pat00013

즉, 시간 k에서 j 번째 복셀의 속도

Figure 112021099894321-pat00014
는 각 복셀에 대응하는 각 파티클들의 시간 k에서 예측된 속도와 업데이트된 가중치의 곱들의 합을, 각 복셀에 대응하는 각 파티클들의 가중치들의 합으로 나눔으로써 산출될 수 있다.That is, the velocity of the jth voxel at time k
Figure 112021099894321-pat00014
may be calculated by dividing the sum of products of the predicted velocity and the updated weight at time k of each particle corresponding to each voxel by the sum of the weights of each particle corresponding to each voxel.

단계 S2700에서, 장애물 클러스터가 재생성된다. 구체적으로, 무인기(1000)는 시간 k에서 각 복셀들의 점유 확률을 기반으로, 기준값 이상의 점유 확률을 갖는 인접하는 복셀들을 클러스터링하여 장애물 클러스터를 생성할 수 있다. In step S2700, an obstacle cluster is regenerated. Specifically, the UAV 1000 may generate an obstacle cluster by clustering adjacent voxels having an occupation probability equal to or greater than a reference value based on the occupation probability of each voxel at time k.

단계 S2700에서, 파티클들을 리샘플링된다. 구체적으로, 무인기(1000)는 파티클들의 개수를 미리 설정된 개수로 유지하기 위해 무인기(1000)의 이동 또는 장애물의 이동에 따라 파티클들의 개수가 감소한 경우, 시간 k에서 업데이트된 가중치를 기반으로 리샘플링함으로써, 파티클들의 개수를 미리 설정된 개수로 유지할 수 있다. In step S2700, the particles are resampled. Specifically, in order to maintain the number of particles at a preset number, the UAV 1000 performs resampling based on the updated weight at time k when the number of particles decreases according to the movement of the UAV 1000 or the movement of an obstacle, The number of particles may be maintained at a preset number.

또한, 동적 로컬 맵을 생성하는 초기에는 각 복셀의 점유 확률은 0.5로 설정되고, 파티클들은 동적 로컬 맵 상에 균등하게 분배되고 속도는 랜덤분포, 가중치는 동일하게 설정될 수 있다. Also, in the initial stage of generating the dynamic local map, the occupancy probability of each voxel is set to 0.5, the particles are evenly distributed on the dynamic local map, the velocities are randomly distributed, and the weights are equally set.

도 5는 본 발명의 일 실시예에 따른 로컬 맵 생성 방법을 설명하기 위한 블록도이다. 5 is a block diagram for explaining a method for generating a local map according to an embodiment of the present invention.

도 5를 참조하면, 시간 k-1에서 로컬 동적 맵은 k-1에서 점유 확률을 기반으로 2이상의 복셀들을 클러터링하여 장애물 클러스터를 생성하고, 클러스터의 속도는 리 샘플링된 파티클들의 속도를 기반으로 결정된다. 시간 k에서 장애물 클러스터의 이동에 따라 로컬 동적 맵을 구성하는 복수의 복셀의 점유 확률을 예측하고, 파티클들의 위치 및 속도가 예측된다. 이후 무인기(1000)가 이동하게 되면 무인기(1000)에 이동에 따라 로컬 동적 맵이 재생성된다. 무인기(1000)는 시간 k에서 주변 환경을 스캔하고 스캔 데이터를 기반으로 로컬 동적 맵을 구성하는 복수의 복셀들의 점유 확률을 업데이트한다. 업데이트된 점유 확률을 기반으로 파티클들의 속도 및 가중치를 업데이트할 수 있다. 파티클들의 개수를 유지하기 위해 업데이트된 가중치를 기반으로 파티클들을 리샘플링할 수 있다. 시간 k에서 복셀들의 점유 확률을 기반으로 2이상의 복셀들을 클러스터링하여 장애물 클러스터를 생성할 수 있다. 시간 k에서의 클러스터의 위치 및 속도, 파티클들의 위치, 속도, 가중치를 기반으로 다시 반복하여 시간 k+1에서 장애물 클러스터의 위치 및 속도를 결정할 수 있다. Referring to FIG. 5, the local dynamic map at time k-1 generates an obstacle cluster by cluttering two or more voxels based on the occupancy probability at k-1, and the velocity of the cluster is based on the velocity of resampled particles. It is decided. According to the movement of the obstacle cluster at time k, occupancy probabilities of a plurality of voxels constituting the local dynamic map are predicted, and the positions and velocities of the particles are predicted. Then, when the UAV 1000 moves, a local dynamic map is regenerated according to the movement of the UAV 1000. The UAV 1000 scans the surrounding environment at time k and updates occupancy probabilities of a plurality of voxels constituting a local dynamic map based on the scan data. Based on the updated occupancy probability, the velocity and weight of the particles may be updated. Particles may be resampled based on the updated weight to maintain the number of particles. An obstacle cluster may be generated by clustering two or more voxels based on the occupancy probability of the voxels at time k. Based on the position and speed of the cluster at time k and the position, speed, and weight of the particles, the position and speed of the obstacle cluster may be determined at time k+1 by iterating again.

도 6은 본 발명의 다른 실시예에 따른 무인기의 블록도이다.6 is a block diagram of a UAV according to another embodiment of the present invention.

도 6에 도시된 바와 같이, 무인기(1000)는 프로세서(6100), 메모리(6200), 저장부(6300), 사용자 인터페이스 입력부(6400) 및 사용자 인터페이스 출력부(6500) 중 적어도 하나 이상의 요소를 포함할 수 있으며, 이들은 버스(6600)를 통해 서로 통신할 수 있다. 또한, 무인기(1000)는 네트워크에 접속하기 위한 네트워크 인터페이스(6700)를 또한 포함할 수 있다. 프로세서(6100)는 메모리(6200) 및/또는 저장소(6300)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다. 메모리(6200) 및 저장부(6300)는 다양한 유형의 휘발성/비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(6240) 및 RAM(6250)을 포함할 수 있다. As shown in FIG. 6, the UAV 1000 includes at least one element of a processor 6100, a memory 6200, a storage unit 6300, a user interface input unit 6400, and a user interface output unit 6500. and they can communicate with each other through the bus 6600. In addition, the UAV 1000 may also include a network interface 6700 for accessing a network. Processor 6100 may be a CPU or semiconductor device that executes processing instructions stored in memory 6200 and/or storage 6300 . The memory 6200 and the storage unit 6300 may include various types of volatile/nonvolatile storage media. For example, the memory may include ROM 6240 and RAM 6250.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

1000: 무인기 1100: 센서부
1200: LDM 관리부 1300: 운행 제어부
1000: drone 1100: sensor unit
1200: LDM management unit 1300: operation control unit

Claims (10)

무인기 주변 환경을 각각 점유 확률 및 속도를 나타내는 복수의 복셀로 구성되는 3차원 그리드로 표현하는 로컬 동적 맵을 생성하는 방법에 있어서,
상기 복수의 복셀 중 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터의 시간 k-1에서의 속도를 기반으로, 시간 k에서 상기 로컬 동적 맵 상에서의 위치를 예측하는 단계;
상기 적어도 하나의 장애물 클러스터의 예측된 위치를 기반으로, 상기 시간 k에서 상기 복수의 복셀 각각의 점유 확률을 예측하는 단계;
상기 로컬 동적 맵 상에 분포된 파티클들의 상기 시간 k-1에서의 속도를 기반으로, 상기 시간 k에서의 속도를 예측하는 단계;
예측된 상기 파티클들의 속도를 기반으로, 상기 시간 k에서 상기 파티클들의 상기 로컬 동적 맵 상에서 위치를 예측하는 단계;
상기 시간 k에서 상기 무인기 주변 환경을 스캔하여 스캔 데이터를 생성하는 단계;
생성된 스캔 데이터를 기반으로 상기 시간 k에서의 상기 복수의 복셀 각각의 예측된 점유 확률을 업데이트하는 단계;
업데이트된 점유 확률을 기반으로 상기 파티클들의 상기 시간 k에서의 가중치를 업데이트 하는 단계;
상기 파티클들의 예측된 속도 및 업데이트된 가중치를 기반으로 결정되는 상기 복수의 복셀 각각의 속도를 이용하여, 상기 시간 k에서 상기 파티클들의 속도를 업데이트 하는 단계; 및
상기 시간 k에서 상기 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터를 재생성하는 단계;
를 포함하는. 방법.
A method for generating a local dynamic map expressing a UAV surrounding environment as a three-dimensional grid composed of a plurality of voxels each representing an occupancy probability and speed, the method comprising:
predicting a location on the local dynamic map at time k, based on a velocity at time k-1 of at least one obstacle cluster composed of adjacent voxels having an occupancy probability equal to or greater than a reference value among the plurality of voxels;
predicting an occupation probability of each of the plurality of voxels at the time k based on the predicted position of the at least one obstacle cluster;
predicting velocities at time k based on the velocities of particles distributed on the local dynamic map at time k-1;
based on the predicted velocity of the particles, predicting the location on the local dynamic map of the particles at the time k;
generating scan data by scanning an environment around the UAV at the time k;
updating a predicted occupation probability of each of the plurality of voxels at the time k based on generated scan data;
updating weights of the particles at the time k based on the updated occupancy probabilities;
updating the velocities of the particles at the time k using the velocities of each of the plurality of voxels determined based on the predicted velocities of the particles and the updated weights; and
regenerating at least one obstacle cluster composed of adjacent voxels having an occupancy probability greater than or equal to the reference value at the time k;
Including. method.
제1항에 있어서,
상기 시간 k-1에서 상기 무인기의 속도 정보를 기반으로 상기 시간 k-1 상기 무인기의 위치를 업데이트 하는 단계; 및
상기 로컬 동적 맵 상에서 상기 무인기의 위치를 나태내는 상기 시간 k에서의 좌표가 상기 시간 k-1의 좌표와 동일하도록 상기 로컬 동적 맵을 재 생성하는 단계를 더 포함하되,
상기 스캔 데이터를 생성하는 단계는 상기 로컬 동적 맵이 재 생성된 후에 수행되는 것을 특징으로 하는, 방법.
According to claim 1,
updating the location of the UAV at the time k-1 based on the speed information of the UAV at the time k-1; and
Regenerating the local dynamic map so that the coordinates at the time k representing the location of the UAV on the local dynamic map are the same as the coordinates at the time k-1,
Characterized in that the generating of the scan data is performed after the local dynamic map is regenerated.
제2항에 있어서,
상기 시간 k에서 재 생성되는 로컬 동적 맵의 사이즈는 상기 시간 k-1에서 로컬 동적 맵의 사이즈와 동일한 것을 특징으로 하는, 방법.
According to claim 2,
characterized in that the size of the local dynamic map regenerated at the time k is the same as the size of the local dynamic map at the time k-1.
제2항에 있어서,
상기 무인기의 상기 시간 k와 상기 시간 k-1의 위치 차이는 복셀 사이즈의 정수배인 것을 특징으로 하는, 방법.
According to claim 2,
Characterized in that the position difference between the time k and the time k-1 of the UAV is an integer multiple of a voxel size.
제2항에 있어서,
상기 시간 k-1에서 파티클들의 개수는 미리 설정된 개수이며, 상기 시간 k에서의 파티클들의 개수가 상기 미리 설정된 개수 미만이면 상기 미리 설정된 개수가 되도록 상기 파티클들의 가중치를 기반으로 리샘플링을 수행하는 단계를 더 포함하는, 방법.
According to claim 2,
The step of performing resampling based on the weight of the particles so that the number of particles at the time k−1 is a preset number and the number of particles at the time k is less than the preset number reaches the preset number; Including, how.
무인기 주변 환경을 스캔하여 스캔 데이터를 생성하고, 무인기의 속도를 센싱하는 센서부;
무인기의 주변 환경을 각각 점유 확률 및 속도를 나타내는 복수의 복셀로 구성되는 3차원 그리드로 표현하는 로컬 동적 맵을 생성하는 LDM 관리부; 및
생성된 로컬 동적 맵에 따라 무인기의 운행을 제어하는 운행 제어부를 포함하되,
상기 LDM 관리부는,
상기 복수의 복셀 중 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터의 시간 k-1에서의 속도를 기반으로, 시간 k에서 상기 로컬 동적 맵 상에서의 위치를 예측하고,
상기 적어도 하나의 장애물 클러스터의 예측된 위치를 기반으로, 상기 시간 k에서 상기 복수의 복셀 각각의 점유 확률을 예측하고,
상기 로컬 동적 맵 상에 분포된 파티클들의 상기 시간 k-1에서의 속도를 기반으로, 상기 시간 k에서의 속도를 예측하고,
예측된 상기 파티클들의 속도를 기반으로, 상기 시간 k에서 상기 파티클들의 상기 로컬 동적 맵 상에서 위치를 예측하고,
상기 시간 k에서 상기 무인기 주변 환경을 스캔하여 스캔 데이터를 생성하며,
생성된 스캔 데이터를 기반으로 상기 시간 k에서의 상기 복수의 복셀 각각의 예측된 점유 확률을 업데이트하고,
업데이트된 점유 확률을 기반으로 상기 파티클들의 상기 시간 k에서의 가중치를 업데이트 하며,
상기 파티클들의 예측된 속도 및 업데이트된 가중치를 기반으로 결정되는 상기 복수의 복셀 각각의 속도를 이용하여, 상기 시간 k에서 상기 파티클들의 속도를 업데이트 하여,
상기 시간 k에서 상기 기준값 이상의 점유 확률을 갖는 인접하는 복셀들로 구성되는 적어도 하나의 장애물 클러스터를 재생성하는, 무인기.
a sensor unit that scans the environment around the UAV to generate scan data and senses the speed of the UAV;
an LDM management unit that generates a local dynamic map expressing the surrounding environment of the UAV as a three-dimensional grid composed of a plurality of voxels each representing an occupancy probability and speed; and
Including a driving control unit that controls the operation of the UAV according to the generated local dynamic map,
The LDM management unit,
Based on the velocity at time k-1 of at least one obstacle cluster composed of adjacent voxels having an occupancy probability equal to or greater than a reference value among the plurality of voxels, predicting a position on the local dynamic map at time k;
predicting an occupation probability of each of the plurality of voxels at the time k based on the predicted position of the at least one obstacle cluster;
Based on the velocities of the particles distributed on the local dynamic map at the time k-1, predicting the velocities at the time k;
Based on the predicted velocity of the particles, predict the location on the local dynamic map of the particles at the time k;
At the time k, the environment around the UAV is scanned to generate scan data;
Updating a predicted occupation probability of each of the plurality of voxels at the time k based on the generated scan data;
Update weights of the particles at the time k based on the updated occupancy probability;
The velocity of the particles is updated at the time k using the velocity of each of the plurality of voxels determined based on the predicted velocity of the particles and the updated weight,
At the time k, the UAV regenerates at least one obstacle cluster composed of adjacent voxels having an occupancy probability greater than or equal to the reference value.
제6항에 있어서,
상기 LDM 관리부는,
상기 시간 k-1에서 상기 무인기의 속도 정보를 기반으로 상기 시간 k-1 상기 무인기의 위치를 업데이트 하고, 상기 로컬 동적 맵 상에서 상기 무인기의 위치를 나태내는 상기 시간 k에서의 좌표가 상기 시간 k-1의 좌표와 동일하도록 상기 로컬 동적 맵을 재 생성하되,
상기 스캔 데이터는 상기 로컬 동적 맵이 재 생성된 후에 생성되는 것을 특징으로 하는, 무인기.
According to claim 6,
The LDM management unit,
At the time k-1, the location of the UAV is updated based on the speed information of the UAV at the time k-1, and the coordinates at the time k representing the location of the UAV on the local dynamic map are the coordinates at the time k-1. Regenerate the local dynamic map to be the same as the coordinates of 1,
Characterized in that the scan data is generated after the local dynamic map is regenerated.
제7항에 있어서,
상기 시간 k에서 재 생성되는 로컬 동적 맵의 사이즈는 상기 시간 k-1에서 로컬 동적 맵의 사이즈와 동일한 것을 특징으로 하는, 무인기.
According to claim 7,
Characterized in that the size of the local dynamic map regenerated at the time k is the same as the size of the local dynamic map at the time k-1.
제6항에 있어서,
상기 무인기의 상기 시간 k와 상기 시간 k-1의 위치 차이는 복셀 사이즈의 정수배인 것을 특징으로 하는, 무인기
According to claim 6,
Characterized in that the position difference between the time k and the time k-1 of the UAV is an integer multiple of a voxel size.
제6항에 있어서,
상기 LDM 관리부는,
상기 시간 k-1에서 파티클들의 개수는 미리 설정된 개수이며, 상기 시간 k에서의 파티클들의 개수가 상기 미리 설정된 개수 미만이면 상기 미리 설정된 개수가 되도록 상기 파티클들의 가중치를 기반으로 리샘플링을 수행하는, 무인기.
According to claim 6,
The LDM management unit,
The number of particles at the time k-1 is a preset number, and if the number of particles at the time k is less than the preset number, resampling is performed based on the weight of the particles to reach the preset number. UAV.
KR1020210114616A 2021-08-30 2021-08-30 Apparatus and method for generating dynamic local map for operation of uav KR102494926B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210114616A KR102494926B1 (en) 2021-08-30 2021-08-30 Apparatus and method for generating dynamic local map for operation of uav

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210114616A KR102494926B1 (en) 2021-08-30 2021-08-30 Apparatus and method for generating dynamic local map for operation of uav

Publications (1)

Publication Number Publication Date
KR102494926B1 true KR102494926B1 (en) 2023-02-06

Family

ID=85224307

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210114616A KR102494926B1 (en) 2021-08-30 2021-08-30 Apparatus and method for generating dynamic local map for operation of uav

Country Status (1)

Country Link
KR (1) KR102494926B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015041203A (en) * 2013-08-21 2015-03-02 シャープ株式会社 Autonomous moving body
KR20150136209A (en) 2014-05-26 2015-12-07 서울대학교산학협력단 Obstacle avoidance system and method based on multiple images
KR20180047572A (en) * 2016-10-31 2018-05-10 고려대학교 산학협력단 Method for building a grid map with mobile robot unit
KR20210065837A (en) 2019-11-27 2021-06-04 한국전자통신연구원 Apparatus and method for generating occupancy grid map

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015041203A (en) * 2013-08-21 2015-03-02 シャープ株式会社 Autonomous moving body
KR20150136209A (en) 2014-05-26 2015-12-07 서울대학교산학협력단 Obstacle avoidance system and method based on multiple images
KR20180047572A (en) * 2016-10-31 2018-05-10 고려대학교 산학협력단 Method for building a grid map with mobile robot unit
KR20210065837A (en) 2019-11-27 2021-06-04 한국전자통신연구원 Apparatus and method for generating occupancy grid map

Similar Documents

Publication Publication Date Title
KR102138979B1 (en) Lane-based Probabilistic Surrounding Vehicle Motion Prediction and its Application for Longitudinal Control
CN110383340B (en) Path planning using sparse volume data
Homm et al. Efficient occupancy grid computation on the GPU with lidar and radar for road boundary detection
CN108509820B (en) Obstacle segmentation method and device, computer equipment and readable medium
US10620634B2 (en) Vehicle interface for autonomous vehicle
CN106772434B (en) A kind of unmanned vehicle obstacle detection method based on TegraX1 radar data
KR102624587B1 (en) Compression of semantic information for task and motion planning
CN111752276A (en) Local path planning method and device, computer readable storage medium and robot
CN110470308B (en) Obstacle avoidance system and method
CN111338360A (en) Method and device for planning vehicle driving state
WO2022241149A1 (en) Sensor simulation with unified multi-sensor views
CN112166446A (en) Method, system, device and computer readable storage medium for identifying trafficability
US20220274594A1 (en) Control system and control method
CN115406457A (en) Driving region detection method, system, equipment and storage medium
CN114387462A (en) Dynamic environment sensing method based on binocular camera
JP2023024276A (en) Action planning for autonomous vehicle in yielding scenario
CN112987762B (en) Trajectory planning method and device, storage medium and electronic equipment
KR102494926B1 (en) Apparatus and method for generating dynamic local map for operation of uav
US11745747B2 (en) System and method of adaptive distribution of autonomous driving computations
KR102179835B1 (en) Method and system for path prediction considering vehicle travel intention and object selection algorithm based on vehicle sensor including wireless communication
US11673577B2 (en) System and methods of adaptive relevancy prediction for autonomous driving
CN116070903A (en) Risk determination method and device for passing through obstacle region and electronic equipment
US11904905B2 (en) Dynamic adjustment of autonomous vehicle system based on deep learning optimizations
CN109657628B (en) Method and device for determining a drivable region of a vehicle
KR102682215B1 (en) Object detection method utilizing radar point cloud

Legal Events

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