KR20200093477A - Method for position estimation of vehicle based on graph structure and vehicld using the same - Google Patents

Method for position estimation of vehicle based on graph structure and vehicld using the same Download PDF

Info

Publication number
KR20200093477A
KR20200093477A KR1020200084035A KR20200084035A KR20200093477A KR 20200093477 A KR20200093477 A KR 20200093477A KR 1020200084035 A KR1020200084035 A KR 1020200084035A KR 20200084035 A KR20200084035 A KR 20200084035A KR 20200093477 A KR20200093477 A KR 20200093477A
Authority
KR
South Korea
Prior art keywords
graph structure
node
sensing data
moving object
data
Prior art date
Application number
KR1020200084035A
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 KR1020200084035A priority Critical patent/KR20200093477A/en
Publication of KR20200093477A publication Critical patent/KR20200093477A/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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • 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/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • 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/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • 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/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0278Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

The present application relates to a method for tracking a position of a moving body based on a graph structure and a moving object using the same. According to one embodiment of the present invention, the method for tracking a position of a moving body based on a graph structure may comprise: a sensing step of generating sensing data according to movement of a moving body using a plurality of sensors; a graph structure generation step of generating nodes according to a reference period and generating a graph structure by setting a constraint between the nodes with sensing data synchronized with the reference period; a graph structure correction step of correcting the graph structure by using the synchronized sensing data when sensing data not synchronized with the reference period is inputted of the sensing data; and a position estimation step of generating position information of the moving body when using the graph structure.

Description

그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체 {Method for position estimation of vehicle based on graph structure and vehicld using the same}Method for position estimation of vehicle based on graph structure and vehicld using the same}

본 출원은 그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체에 관한 것으로서, 특히 비동기 센싱 데이터를 그래프 구조에 정합시킬 수 있는 그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체에 관한 것이다. The present application relates to a method for tracking a position of a moving object based on a graph structure and a moving object using the same, and more particularly, to a method for tracking a position of a moving object based on a graph structure capable of matching asynchronous sensing data to a graph structure and a moving object using the same.

주행 위치 탐색을 통해 자율주행을 수행하는 자율주행 시스템은 주로 선박, 항공기 등에 적용되고 있는데, 최근들어 도로를 주행하는 차량에도 적용되고 있다.An autonomous driving system that performs autonomous driving through navigation of a driving position is mainly applied to ships, aircraft, and the like, and has recently been applied to vehicles driving on roads.

자율주행 시스템은 주행 차량 및 주변 차량 등의 위치를 기반으로 주행 행동 및 주행 궤적을 결정한다. 예를 들면, 자율주행 시스템은 주행 경로, 도로 혼잡도 등과 같은 다양한 정보를 모니터를 통해 사용자에게 알려주거나, 스스로 차량을 운전하거나 주행 상태를 제어한다.The autonomous driving system determines driving behavior and driving trajectory based on the positions of the driving vehicle and surrounding vehicles. For example, the autonomous driving system notifies the user of various information such as a driving route, road congestion, etc. through a monitor, drives a vehicle by itself, or controls a driving state.

자율주행 시스템에서 위치 인식의 정확성은 주행의 안전성에 직결되는 중요한 요소기술이며, 기존의 자율주행 시스템은 자차에 장착된 로컬 센서를 이용하여 확률적으로 자차의 위치 및 주변 차량의 위치를 인식하였다.The accuracy of position recognition in an autonomous driving system is an important element technology directly related to the safety of driving, and the existing autonomous driving system stochastically recognized the location of the host vehicle and the location of surrounding vehicles using a local sensor mounted on the host vehicle.

예를 들면, 차량 내에 스캐닝 장치, 카메라, 레이더 등과 같은 모든 센서 장비와, 컴퓨팅 장치와, 차량 제어 및 자율주행용 소프트웨어를 탑재하여 기 설정된 조건에 따라 차량이 자동으로 주행할 수 있었다.For example, in the vehicle, all the sensor equipment such as a scanning device, a camera, and a radar, a computing device, and a vehicle control and autonomous driving software are installed, so that the vehicle can automatically drive according to preset conditions.

본 출원은, 그래프 구조의 노드 생성시간과 센서의 센싱 데이터의 생성시간이 상이한 경우, 그래프 구조를 수정하여 센싱 데이터를 그래프 구조 내에 정합시킬 수 있는, 그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체를 제공하고자 한다. In the present application, when the node generation time of the graph structure and the generation time of the sensor's sensing data are different, the graph structure-based moving object position tracking method and a moving object using the same, which can correct the sensing data in the graph structure by modifying the graph structure Want to provide.

본 출원은, 센서 데이터 보간법(sensor data interpolation)과 그래프 노드 보간법(graph node interpolation)을 선택적으로 적용하여, 그래프 구조에 추가되는 노드 개수를 최소화할 수 있는, 그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체를 제공하고자 한다. In the present application, the sensor data interpolation method and the graph node interpolation method are selectively applied to minimize the number of nodes added to the graph structure, and the method for tracking the location of moving objects based on the graph structure It is intended to provide a moving object to use.

본 발명의 일 실시예에 의한 그래프 구조 기반의 이동체 위치 추적방법은, 복수의 센서를 이용하여, 이동체의 이동에 따른 센싱 데이터를 생성하는 센싱단계; 기준주기에 따라 노드(node)를 생성하고, 상기 기준주기와 동기화된 센싱 데이터로 상기 노드들 사이의 구속조건(constraint)를 설정하여 그래프 구조(graph structure)를 생성하는 그래프 구조 생성단계; 상기 센싱 데이터 중에서, 상기 기준주기와 동기화되지 않은 비동기 센싱 데이터가 입력되면, 상기 비동기 센싱 데이터를 이용하여 상기 그래프 구조를 수정하는 그래프 구조 수정단계; 및 상기 그래프 구조를 이용하여, 상기 이동체의 위치정보를 생성하는 위치추정단계를 포함할 수 있다. A method for tracking a position of a moving object based on a graph structure according to an embodiment of the present invention includes: a sensing step of generating sensing data according to the movement of the moving object using a plurality of sensors; A graph structure generation step of generating a node according to a reference cycle and setting a constraint between the nodes with sensing data synchronized with the reference cycle to generate a graph structure; A graph structure modification step of modifying the graph structure using the asynchronous sensing data when asynchronous sensing data not synchronized with the reference period is input from the sensing data; And a location estimating step of generating location information of the moving object using the graph structure.

본 발명의 일 실시예에 의한 이동체는, 복수의 센서를 이용하여, 이동체의 이동에 따른 각각의 센싱 데이터를 생성하는 센서부; 기준주기에 따라 노드(node)를 생성하고, 상기 기준주기와 동기화된 센싱 데이터로 상기 노드들 사이의 구속조건(constraint)를 설정하여 그래프 구조(graph structure)를 생성하는 그래프 구조 구축부; 상기 센싱 데이터 중에서, 상기 기준주기와 동기화되지 않은 비동기 센싱 데이터가 입력되면, 상기 비동기 센싱 데이터를 이용하여 상기 그래프 구조를 수정하는 그래프 구조 수정부; 및 상기 그래프 구조를 이용하여, 상기 이동체의 위치정보를 생성하는 위치 추정부를 포함할 수 있다. The moving object according to an embodiment of the present invention, using a plurality of sensors, the sensor unit for generating each sensing data according to the movement of the moving object; A graph structure constructing unit that generates a node according to a reference period and sets a constraint between the nodes with sensing data synchronized with the reference period to generate a graph structure; A graph structure correction unit for modifying the graph structure by using the asynchronous sensing data when asynchronous sensing data not synchronized with the reference period is input from the sensing data; And a location estimator generating location information of the moving object using the graph structure.

덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.In addition, the solution means of the above-mentioned subject does not list all the characteristics of this invention. Various features of the present invention and advantages and effects thereof may be understood in more detail with reference to specific embodiments below.

본 발명의 일 실시예에 의한 그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체에 의하면, 그래프 구조의 노드 생성시간과 센서의 센싱 데이터의 생성시간이 상이한 경우, 그래프 구조를 수정하여 센싱 데이터를 그래프 구조 내에 정합시킬 수 있다. 즉, 비동기 센싱 데이터를 그래프 구조에 반영할 수 있으므로, 이동체의 위치를 정확하게 추정할 수 있다.According to the method for tracking the position of a moving object based on the graph structure and the moving object using the graph structure according to an embodiment of the present invention, when the node generation time of the graph structure and the generation time of the sensor's sensing data are different, the graph structure is modified to graph the sensing data It can be matched within the structure. That is, since the asynchronous sensing data can be reflected in the graph structure, the position of the moving object can be accurately estimated.

본 발명의 일 실시예에 의한 그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체에 의하면, 센서 데이터 보간법(sensor data interpolation)과 그래프 노드 보간법(graph node interpolation)을 선택적으로 적용하여 그래프 구조를 수정할 수 있다. 이 경우, 그래프 구조에 추가되는 노드 개수를 최소화할 수 있으므로, 그래프 구조 최적화시 소요되는 시간이나 연산량 등을 감소시킬 수 있으며, 위치추정의 실시간성을 유지할 수 있다. According to a method for tracking a location of a moving object based on a graph structure and a moving object using the graph structure according to an embodiment of the present invention, the graph structure can be modified by selectively applying sensor data interpolation and graph node interpolation. have. In this case, since the number of nodes added to the graph structure can be minimized, it is possible to reduce the time and computation amount required when optimizing the graph structure, and to maintain real-time position estimation.

다만, 본 발명의 실시예들에 따른 그래프 구조 기반의 이동체 위치 추적방법 및 이를 이용하는 이동체가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the method for tracking the position of a moving object based on the graph structure according to embodiments of the present invention and the effect that the moving object using the same can achieve are not limited to those mentioned above, and other effects not mentioned are described below. It will be clearly understood by those skilled in the art to which the present invention pertains.

도1은 본 발명의 일 실시예에 의한 이동체를 나타내는 블록도이다.
도2 내지 도7은 본 발명의 일 실시예에 의한 그래프 구조 생성을 나타내는 예시도이다.
도8은 본 발명의 일 실시예에 의한 그래프 구조 기반의 이동체 위치추정방법을 나타내는 순서도이다.
1 is a block diagram showing a moving object according to an embodiment of the present invention.
2 to 7 are exemplary views showing graph structure generation according to an embodiment of the present invention.
8 is a flow chart showing a method for estimating a position of a moving object based on a graph structure according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.Hereinafter, exemplary embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but the same or similar elements are assigned the same reference numbers regardless of the reference numerals, and overlapping descriptions thereof will be omitted. The suffixes "modules" and "parts" for components used in the following description are given or mixed only considering the ease of writing the specification, and do not have meanings or roles distinguished from each other in themselves. That is, the term'unit' used in the present invention means a hardware component such as software, FPGA or ASIC, and'unit' performs certain roles. However,'wealth' is not limited to software or hardware. The'unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example,'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and variables. The functionality provided within components and'parts' may be combined into a smaller number of components and'parts' or further separated into additional components and'parts'.

또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In addition, in the description of the embodiments disclosed herein, when it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed herein, detailed descriptions thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, and the technical spirit disclosed in the specification is not limited by the accompanying drawings, and all modifications included in the spirit and technical scope of the present invention , It should be understood to include equivalents or substitutes.

이동체는 자율주행하는 차량이나 로봇(robot), 드론(drone) 등일 수 있다. 이동체는 현재 위치를 인식하기 위한 위치추정(localization)을 수행할 수 있으며, 위치추정을 통해 현재 이동체의 위치정보와 포즈 정보 등을 확인한 후, 이를 바탕으로 자율주행을 위한 제어 등을 수행할 수 있다. The moving object may be an autonomous vehicle, a robot, or a drone. The moving object can perform localization to recognize the current location, and after checking the location information and pose information of the current moving object through the location estimation, it can perform control for autonomous driving based on this. .

이동체는 위치추정을 위하여, 복수의 센서로부터 센싱 데이터들을 수집할 수 있으며, 입력받은 센싱 데이터들을 이용하여 그래프 구조(Graph Structure)를 생성할 수 있다. 여기서, 그래프 구조는 복수의 센싱 데이터를 통합하여 나타내는 것으로, 그래프 구조를 활용하면 이동체의 위치정보를 신속하고 정확하게 추출하는 것이 가능하다. The mobile body may collect sensing data from a plurality of sensors for location estimation, and generate a graph structure using the received sensing data. Here, the graph structure is a combination of a plurality of sensing data, and by using the graph structure, it is possible to quickly and accurately extract location information of a moving object.

위치추정을 통해 추출하는 이동체의 위치정보에는, 이동체의 회전정보(rotation), 이동정보(translation) 및 속도정보(velocity)를 포함할 수 있다. 회전정보에는 피치(pitch), 롤(roll), 요(yaw)의 3축 회전량을 포함할 수 있으며, 이동정보는 이동체가 위치하는 지도상의 좌표일 수 있다. 또한, 속도정보는 이동체의 이동방향과 속력을 나타내는 속도벡터일 수 있다. 즉, 위치정보의 회전정보(rotation), 이동정보(translation) 및 속도정보(velocity) 이용하여, 이동체의 현재 위치와 포즈를 용이하게 파악하는 것이 가능하다. The location information of the moving object extracted through the position estimation may include rotation information, translation information, and velocity information of the moving object. The rotation information may include a 3-axis rotation amount of a pitch, roll, and yaw, and the movement information may be coordinates on a map on which the moving object is located. Further, the speed information may be a speed vector representing a moving direction and speed of the moving object. That is, it is possible to easily grasp the current position and pose of the moving object by using rotation information, translation information, and velocity information of the location information.

다만, 이동체의 센서들이 측정하는 센싱 데이터들은 각각의 생성주기가 상이할 수 있으며, 비동기 센싱 데이터가 입력되는 경우 이들에 대한 처리가 문제될 수 있다. 즉, 그래프 구조 생성시 비동기 센싱 데이터를 제외하는 경우에는 정확도에 문제가 발생할 수 있으며, 비동기 센싱 데이터를 적용하는 경우에는, 그래프 구조의 수정 등에 따른 지연에 의하여 위치정보의 실시간성에 문제가 발생할 수 있다. However, each generation cycle of sensing data measured by the sensors of the moving object may be different, and when asynchronous sensing data is input, processing of them may be problematic. That is, when excluding the asynchronous sensing data when generating the graph structure, a problem may occur in accuracy, and when applying the asynchronous sensing data, a problem may occur in real-time location information due to a delay due to modification of the graph structure. .

한편, 본 발명의 일 실시예에 의한 이동체에 의하면, 비동기 센싱 데이터를 반영하여 그래프 구조를 수정하는 것이 가능하며, 이를 통하여 신속하면서도 정확하게 이동체의 위치추정을 수행하는 것이 가능하다. 이하, 도1을 참조하여 본 발명의 일 실시예에 의한 이동체를 설명한다. On the other hand, according to the moving object according to an embodiment of the present invention, it is possible to modify the graph structure by reflecting the asynchronous sensing data, through which it is possible to quickly and accurately perform the positioning of the moving object. Hereinafter, a moving body according to an embodiment of the present invention will be described with reference to FIG. 1.

도1은 본 발명의 일 실시예에 의한 이동체를 나타내는 블록도이다. 1 is a block diagram showing a moving object according to an embodiment of the present invention.

도1을 참조하면 본 발명의 일 실시예에 의한 이동체(100)는 센서부(110), 그래프 구조 구축부(120), 그래프 구조 수정부(130) 및 위치추정부(140)를 포함할 수 있다.Referring to FIG. 1, the moving object 100 according to an embodiment of the present invention may include a sensor unit 110, a graph structure construction unit 120, a graph structure correction unit 130, and a location estimation unit 140. have.

센서부(110)는 복수의 센서들을 포함할 수 있으며, 복수의 센서를 이용하여 이동체(100)의 이동에 따른 각각의 센싱 데이터를 생성할 수 있다. 구체적으로, 도1에 도시한 바와 같이, 센서부(110)에는 IMU 센서(111), GPS 센서(112), 휠 인코더 센서(113), 라이다 센서(114) 등이 포함될 수 있다. 다만, 센서부(110)에 포함되는 센서는 이에 한정되지 않으며, 이외에도 다양한 종류의 센서들이 센서부(110)에 포함될 수 있다. 또한, 센서부(110)에 포함되는 센서들은 이동체(100)의 내부 또는 외부에 위치할 수 있으며, 이동체(100)에 위치하는 센서의 종류 및 개수는 한정되지 않는다.The sensor unit 110 may include a plurality of sensors, and may generate respective sensing data according to the movement of the moving object 100 using a plurality of sensors. Specifically, as illustrated in FIG. 1, the sensor unit 110 may include an IMU sensor 111, a GPS sensor 112, a wheel encoder sensor 113, a lidar sensor 114, and the like. However, the sensors included in the sensor unit 110 are not limited thereto, and various types of sensors may be included in the sensor unit 110. In addition, the sensors included in the sensor unit 110 may be located inside or outside the moving object 100, and the type and number of sensors located in the moving object 100 are not limited.

IMU(Inertial Measurement Unit) 센서(111)는 관성 측정 수단으로 가속도 센서 및 자이로 센서(자이로스코프)를 포함할 수 있다. 예를들어, IMU 센서(111)는 이동체(100)의 회전각으로서 전진방향(Roll 축 방향), 전진방향의 우측방향(pitch 축 방향), 중력방향(yaw 축 방향) 각각의 각속도 증분치와 이동체(100)의 속도 증분치 등의 센싱 데이터를 생성할 수 있다. 또한, IMU 센서(111)는 센싱 데이터를 이용하여, IMU 오도메트리(Odometry)를 생성할 수 있다. 즉, 초기조건으로부터 가속도와 각속도의 변화량을 측정하여, 이동체(100)의 이동방향 및 이동거리 등을 IMU 오도메트리를 제공하는 것도 가능하다. The IMU (Inertial Measurement Unit) sensor 111 may include an acceleration sensor and a gyroscope sensor (a gyroscope) as an inertial measurement means. For example, the IMU sensor 111 is the rotational angle of the moving body 100 and the angular velocity increments of each of the forward direction (Roll axis direction), the right direction of the forward direction (pitch axis direction), and the gravity direction (yaw axis direction). Sensing data such as an incremental speed of the moving object 100 may be generated. In addition, the IMU sensor 111 may generate IMU Odometry using sensing data. That is, it is also possible to measure the amount of change in acceleration and angular velocity from the initial conditions, and provide the IMU odometry for the moving direction and moving distance of the moving body 100.

GPS 센서(112)는 위성과 통신하여 이동체(100)의 지표상 좌표를 센싱 데이터로 제공할 수 있다. 예를들어, GPS 센서(112)는 WGS84 좌표계의 측지좌표로서, 위도, 경도 및 타원 체고 등을 제공할 수 있다.The GPS sensor 112 may communicate with a satellite to provide coordinates on the surface of the mobile body 100 as sensing data. For example, the GPS sensor 112 is a geodetic coordinate of the WGS84 coordinate system, and may provide latitude, longitude, ellipse height, and the like.

휠 인코더 센서(113)는 이동체(100)에 구비된 휠(wheel)의 회전수를 측정하여 제공하는 것으로, 휠 인코더 센서(113)를 이용하면, 이동체(100)의 이동거리와 이동속도 등을 측정할 수 있다. The wheel encoder sensor 113 measures and provides the number of revolutions of a wheel provided in the moving object 100. When the wheel encoder sensor 113 is used, the moving distance and moving speed of the moving object 100 are measured. Can be measured.

라이다 센서(LiDAR, 114)는 레이저 펄스 등을 주변으로 방사한 후, 반사되어 돌아오는 시간을 측정하여, 이동체(100) 주변에 대한 3차원 깊이정보를 생성할 수 있다. 여기서, 라이다 센서(114)를 이용하여 이동체(100)의 회전량을 측정하거나 비주얼 오도메트리(Visual Odometry)를 생성할 수 있다. 따라서, 라이다 센서(114)를 이용하면, 이동체(100)의 이동방향, 이동거리 등을 측정할 수 있다. 실시예에 따라서는, 라이다 센서(114)로 Velodyne VLP-16의 3D LiDAR를 이용할 수 있으나, 이에 한정되는 것은 아니다. The LiDAR sensor 114 may generate a 3D depth information about the moving object 100 by measuring a return time after emitting a laser pulse or the like to the surroundings. Here, the rotation amount of the moving object 100 may be measured using the lidar sensor 114 or a visual odometry may be generated. Therefore, when the lidar sensor 114 is used, a moving direction, a moving distance, and the like of the moving body 100 can be measured. Depending on the embodiment, the 3D LiDAR of Velodyne VLP-16 may be used as the lidar sensor 114, but is not limited thereto.

추가적으로, 센서부(110)에 카메라 등을 더 포함할 수 있으며, 카메라를 이용하여 이동체(100)의 이동에 대응하는 영상을 촬영하는 것도 가능하다. 이 경우, 카메라로부터 이동체(100)의 비주얼 오도메트리를 생성할 수 있다. Additionally, a camera or the like may be further included in the sensor unit 110, and it is also possible to take an image corresponding to the movement of the moving object 100 using the camera. In this case, a visual odometry of the moving object 100 may be generated from the camera.

한편, 센서부(110)가 생성하는 센싱 데이터는 단항 데이터(unary data)와 이항 데이터(binary data)로 구별할 수 있다. 여기서 단항데이터는 센싱 데이터의 생성시점에서의 측정결과를 나타내는 것으로, GPS 센서(112)에서 측정한 좌표값 등이 해당한다. 즉, GPS 센서(112)에 의하면 특정시점에 이동체(100)의 위치에 대응하는 위도 및 경도 좌표값이 생성되므로, 단항 데이터에 해당한다. Meanwhile, the sensing data generated by the sensor unit 110 may be divided into unary data and binary data. Here, the unary data represents the measurement result at the time of generation of the sensing data, and corresponds to coordinate values measured by the GPS sensor 112. That is, since the GPS sensor 112 generates latitude and longitude coordinate values corresponding to the position of the moving object 100 at a specific point in time, it corresponds to unary data.

반면에, 이항 데이터는 센싱 데이터의 측정시작시점과 측정종료시점 사이의 관계정보를 측정결과로 나타내는 것으로, IMU 센서(111)의 IMU 오도메트리 등이 해당한다. 즉, 특정 시점에서의 가속도 값이 아니라, 측정시작시점과 측정종료시점 사이의 가속도 변화량을 이용한 이동방향과 이동거리 등의 정보를 추출하는 것이므로, IMU 오도메트리는 이항 데이터에 해당한다. On the other hand, the binomial data represents the relationship between the measurement start point and the measurement end point of the sensing data as a measurement result, and corresponds to the IMU odometry of the IMU sensor 111. That is, since information such as a moving direction and a moving distance using an acceleration change amount between a measurement start point and a measurement end point is extracted, not an acceleration value at a specific time point, the IMU odometry corresponds to binomial data.

센서부(110)에서 생성한 센싱 데이터는 대기열(Queque)에 입력될 수 있으며, 입력된 센싱 데이터는 순차적으로 그래프 구조 구축부(120)로 입력될 수 있다. 다만, 센서부(110)에 포함된 센서들의 생성주기는 상이할 수 있으며, 센싱 데이터의 생성 후 대기열에 입력되는 시점도 각각 상이할 수 있다. The sensing data generated by the sensor unit 110 may be input to a queue, and the input sensing data may be sequentially input to the graph structure building unit 120. However, the generation cycle of the sensors included in the sensor unit 110 may be different, and the time points input to the queue after generation of the sensing data may also be different.

그래프 구조 구축부(120)는 기준주기에 따라 노드(node)를 생성할 수 있으며, 기준주기와 동기화된 센싱 데이터로 노드들 사이의 구속조건(constraint)를 설정하여, 그래프 구조(graph structure)를 생성할 수 있다. 여기서, 그래프 구조 구축부(120)는 센싱 데이터 중 어느 하나를 기준 데이터로 설정할 수 있으며, 기준 데이터의 생성주기를 기준주기로 설정할 수 있다. 즉, 기준 데이터의 생성주기에 따라, 노드를 생성하여 그래프 구조를 생성할 수 있다. 이때, 기준주기와 동기화된 센싱 데이터들이 함께 입력될 수 있으며, 입력된 센싱 데이터들을 해당 노드의 구속조건으로 설정할 수 있다. 실시예에 따라서는, IMU 센서(111)의 IMU 오도메트리(Odometry)를 기준 데이터로 설정할 수 있다. The graph structure construction unit 120 may generate a node according to a reference period, and establishes a graph structure by setting constraints between nodes with sensing data synchronized with the reference period. Can be created. Here, the graph structure construction unit 120 may set any one of the sensing data as reference data, and may set a generation cycle of the reference data as a reference cycle. That is, a graph structure may be generated by generating a node according to a generation cycle of reference data. At this time, the sensing data synchronized with the reference period may be input together, and the input sensing data may be set as constraints of the corresponding node. Depending on the embodiment, the IMU Odometry of the IMU sensor 111 may be set as reference data.

구체적으로, 도2(a)에 도시한 바와 같이, 그래프 구조 구축부(120)는 t=0의 시점에 최초로 제1 노드를 생성할 수 있으며, 제1 노드의 초기조건(i1)을 구속조건으로 설정할 수 있다. 이후, t=5의 시점에 제2 노드를 생성할 수 있으며, 제1 노드와 제2 노드 사이를 연결하는 구속조건(a1)을 설정할 수 있다. 즉, 기준주기는 5일 수 있으며, t=0과 t=5사이의 IMU 오도메트리를 구속조건(a1)으로 설정할 수 있다. 이와 같이, 기준주기마다 이동체(100)의 위치에 대응하는 노드를 신규 생성하고, 각각의 노드에 센싱 데이터에 대응하는 구속조건을 설정하여, 이동체(100)의 그래프 구조를 생성할 수 있다. Specifically, as shown in FIG. 2(a), the graph structure construction unit 120 may first generate the first node at the time t=0, and the initial condition (i1) of the first node is constrained. Can be set to Thereafter, a second node may be generated at a time t=5, and a constraint a1 connecting the first node and the second node may be set. That is, the reference period may be 5, and an IMU odometry between t=0 and t=5 may be set as a constraint (a1). In this way, a node corresponding to the position of the moving object 100 is newly generated for each reference period, and a constraint structure corresponding to sensing data is set at each node to generate a graph structure of the moving object 100.

그래프 구조 수정부(130)는 센싱 데이터 중에서, 기준주기와 동기화되지 않은 비동기 센싱 데이터가 입력되면, 비동기 센싱 데이터를 이용하여 그래프 구조를 수정할 수 있다. The graph structure correction unit 130 may modify a graph structure using asynchronous sensing data when asynchronous sensing data that is not synchronized with a reference period is input from among sensing data.

도1에 도시한 바와 같이, 센서부(110)에서 생성한 센싱 데이터는 대기열(Queue)을 통하여 그래프 구조 구축부(120)로 순차적으로 입력될 수 있다. 이때, 각각의 센싱 데이터는 생성된 순서에 따라 순차적으로 입력될 수 있으나, 실시예에 따라서는 센서들이 센싱 데이터를 생성하는 주기가 일치하지 않을 수 있다. 또한, 각각의 센서들마다 센싱 데이터를 생성하는데 소요되는 시간이 상이하여, 동일한 시점에 대한 센싱 데이터임에 불구하고 상대적으로 늦게 대기열에 입력되는 경우도 발생할 수 있다.As illustrated in FIG. 1, the sensing data generated by the sensor unit 110 may be sequentially input to the graph structure building unit 120 through a queue. At this time, each of the sensing data may be sequentially input according to the generated order, but depending on the embodiment, the periods in which the sensors generate the sensing data may not match. In addition, the time required to generate the sensing data for each sensor is different, and it may occur that the data is input to the queue relatively late despite sensing data for the same time point.

즉, 센서부(110)의 센서들이 생성하는 센싱 데이터들은 각각의 생성주기가 상이할 수 있으며, 노드의 생성주기와 동기화되지 않은 비동기 센싱 데이터가 입력될 수 있다. 이때, 단순히 비동기 센싱 데이터를 제외하는 경우에는 위치추정 등의 정확도가 문제될 수 있으므로, 비동기 센싱 데이터를 그래프 구조에 정합하도록 그래프 구조를 수정할 필요가 있다. 따라서, 그래프 구조 수정부(130)에서는 그래프 구조를 수정하여 비동기 센싱 데이터를 그래프 구조 내에 정합시킬 수 있다. That is, the sensing data generated by the sensors of the sensor unit 110 may be different in each generation cycle, and asynchronous sensing data not synchronized with the generation cycle of the node may be input. At this time, when simply excluding the asynchronous sensing data, accuracy such as position estimation may be a problem, so it is necessary to modify the graph structure to match the asynchronous sensing data to the graph structure. Accordingly, the graph structure correction unit 130 may modify the graph structure to match asynchronous sensing data within the graph structure.

구체적으로, 그래프 구조 수정부(130)는, 먼저 수신한 비동기 센싱 데이터의 생성시점을 확인할 수 있다. 즉, 비동기 센싱 데이터의 생성시점과 그래프 구조 중에서 최근 생성된 제1 노드의 생성시점을 비교할 수 있다. Specifically, the graph structure correction unit 130 may check the generation time point of the asynchronous sensing data received first. That is, it is possible to compare the generation time of the asynchronous sensing data and the generation time of the recently generated first node among the graph structures.

여기서, 비동기 센싱데이터가 제1 노드의 생성시점 이후에 생성된 경우에는, 비동기 센싱 데이터의 생성시점에 대응하는 제2 노드를 신규 생성하여 그래프 구조에 추가할 수 있다. 즉, 기준주기가 도래하기 전에 비동기 센싱 데이터가 먼저 입력된 경우에 해당하므로, 해당 비동기 센싱 데이터의 생성시점에 대응하는 노드를 추가하여, 비동기 센싱 데이터를 그래프 구조 상에 반영할 수 있다. 이 경우, 제2 노드에 비동기 센싱 데이터에 대응하는 제1 구속조건을 설정하고, 제1 노드와 제2 노드 사이의 제2 구속조건은 기준 데이터를 이용하여 설정할 수 있다. Here, when the asynchronous sensing data is generated after the generation time of the first node, a second node corresponding to the generation time of the asynchronous sensing data may be newly generated and added to the graph structure. That is, since the asynchronous sensing data is first input before the reference period arrives, a node corresponding to the generation time of the asynchronous sensing data can be added to reflect the asynchronous sensing data on the graph structure. In this case, the first constraint corresponding to the asynchronous sensing data is set in the second node, and the second constraint between the first node and the second node can be set using reference data.

구체적으로, 도4(a)에 도시한 바와 같이, 기존의 그래프 구조는 t=0과 t=5에 각각 노드를 생성한 후, 초기조건(i1)을 t=0의 구속조건으로 설정하고, t=0과 t=5의 노드 사이에 IMU 오도메트리에 따른 구속조건(a1)을 설정한 것일 수 있다. 여기서, t=5까지 노드가 생성되었으므로, 이후 기준주기에 따라 t=10에서 노드가 생성될 예정이나, 현재 t=7의 시점에 비동기 센싱 데이터가 입력된 경우에 해당한다. Specifically, as shown in FIG. 4(a), in the existing graph structure, after generating nodes at t=0 and t=5, respectively, the initial condition (i1) is set to the constraint of t=0, It may be that a constraint a1 according to the IMU odometry is set between the nodes t=0 and t=5. Here, since nodes were created up to t=5, nodes will be created at t=10 according to the reference period, but this is the case when asynchronous sensing data is input at the time of t=7.

이 경우, 도4(b)에 도시한 바와 같이, t=7은 현재 그래프 구조와 비교할 때 미래 데이터에 해당하므로, t=7에 해당하는 노드를 추가할 수 있다. 이후, 가장 근접하는 t=5의 노드와 기준 데이터를 이용하여 구속조건(a2)을 설정할 수 있으며, 이후 t=7에 대응하는 비동기 센싱 데이터를 적용하여 t=7에서의 구속조건(u1)을 설정할 수 있다. 즉, 그래프 구조를 기준으로, 아직 생성되지 않은 미래 데이터가 입력되는 경우에는, 해당 비동기 센싱 데이터에 대응하는 노드를 추가하도록 그래프 구조를 수정할 수 있다.In this case, as shown in FIG. 4(b), since t=7 corresponds to future data when compared with the current graph structure, a node corresponding to t=7 can be added. Subsequently, a constraint (a2) can be set using the nearest t=5 node and reference data, and then asynchronous sensing data corresponding to t=7 is applied to set the constraint (u1) at t=7. Can be set. That is, when future data that has not yet been generated is input based on the graph structure, the graph structure may be modified to add a node corresponding to the asynchronous sensing data.

한편, 그래프 구조에서 가장 최근 생성된 제1 노드의 생성시점을 기준으로, 비동기 센싱 데이터가 제1 노드의 생성시점 이전에 생성된 경우에는, 그래프 노드 보간법(Graph node interpolation) 또는 센서 데이터 보간법(Sensor data interpolation)을 이용하여 그래프 구조를 수정할 수 있다.On the other hand, when asynchronous sensing data is generated prior to the creation time of the first node, based on the creation time of the first node most recently generated in the graph structure, the graph node interpolation or the sensor data interpolation (Sensor) data interpolation) to modify the graph structure.

구체적으로, 비동기 센싱 데이터가 단항 데이터(unary data)이고, 비동기 센싱 데이터의 생성시점이 그래프 구조 내에 포함된 전체 노드들의 생성시점과 설정시간간격 이상 차이나는 경우에는, 그래프 노드 보간법을 이용할 수 있다. 즉, 비동기 센싱 데이터의 생성시점이 그래프 구조내 포함된 노드의 생성시점과 근접하지 않는 경우에는, 그래프 구조 내에 추가적인 노드를 더 포함하는 방식으로 비동기 센싱 데이터를 정합시킬 수 있다. Specifically, when the asynchronous sensing data is unary data, and the generation time of the asynchronous sensing data differs from the generation time of all nodes included in the graph structure by a set time interval or more, a graph node interpolation method may be used. That is, when the generation time of the asynchronous sensing data is not close to the generation time of the node included in the graph structure, the asynchronous sensing data may be matched by further including additional nodes in the graph structure.

그래프 노드 보간법을 이용하는 경우에는, 그래프 구조 수정부(130)가 비동기 센싱 데이터의 생성시점에 제2 노드를 신규 생성할 수 있으며, 제2 노드에 비동기 센싱 데이터에 대응하는 제1 구속조건을 설정할 수 있다. 또한, 제2 노드와 기존 노드 사이에는 연계요소(between factor)를 이용하여 제2 구속조건을 설정할 수 있다. In the case of using the graph node interpolation method, the graph structure correction unit 130 may newly generate a second node at the time of generation of the asynchronous sensing data, and may set a first constraint corresponding to the asynchronous sensing data in the second node. have. In addition, a second constraint may be established between a second node and an existing node using abetween factor.

구체적으로, 도2에 도시한 바와 같이, t=0과 t=5에 대응하는 노드를 각각 생성한 이후에, t=4의 시점에 대응하는 비동기 센싱 데이터가 입력되는 경우가 존재할 수 있다. 여기서, 그래프 구조는 이미 t=5의 시점까지 생성된 상태이므로, t=4의 시점에 대응하는 비동기 센싱 데이터를 반영하기 위해서는 그래프 구조를 수정할 필요가 있다. 여기서, 비동기 센싱 데이터는 t=4의 시점에 생성된 것으로, 기존의 그래프 구조에 포함된 노드들과는 설정시간간격이상(예를들어, t=1) 차이가 난다. 따라서, 도2의 경우에는 그래프 노드 보간법을 적용할 수 있다. Specifically, as illustrated in FIG. 2, after generating nodes corresponding to t=0 and t=5, asynchronous sensing data corresponding to a time point of t=4 may be input. Here, since the graph structure has already been generated until t=5, it is necessary to modify the graph structure to reflect the asynchronous sensing data corresponding to t=4. Here, the asynchronous sensing data is generated at a time of t=4, and is different from the nodes included in the existing graph structure over a set time interval (for example, t=1). Therefore, in the case of FIG. 2, the graph node interpolation method can be applied.

이 경우, 도2(b)에 도시한 바와 같이, 비동기 센싱 데이터가 생성된 t=4에 대응하는 노드를 신규 생성할 수 있으며, t=4에 대응하는 노드에 비동기 센싱 데이터에 대응하는 구속조건(u1)을 설정할 수 있다. 여기서, t=4의 노드와, t=5의 노드 사이를 연결하는 구속조건을 추가할 필요가 있으며, 이를 위하여 추가적으로 연계요소를 설정하여 구속조건(b1)을 설정할 수 있다. 예를들어, t=4에 생성된 비동기 센싱 데이터가 GPS 좌표값인 경우, t=4의 GPS 좌표값과, t=5 에서의 위치정보를 비교한 후, t=4의 GPS 좌표에서 t=5의 위치까지 진행하기 위한 휠 인코더값 등으로 설정할 수 있다. 다만, 연계요소는 이에 한정되는 것은 아니며, 실시예에 따라 다양하게 설정가능하다. In this case, as shown in FIG. 2(b), a node corresponding to t=4 in which asynchronous sensing data is generated may be newly generated, and a constraint corresponding to asynchronous sensing data in a node corresponding to t=4 may be generated. (u1) can be set. Here, it is necessary to add a constraint that connects a node of t=4 and a node of t=5, and for this, additionally, a linkage element can be set to set the constraint (b1). For example, if the asynchronous sensing data generated at t=4 is a GPS coordinate value, after comparing the GPS coordinate value at t=4 with the location information at t=5, t= at the GPS coordinate at t=4 It can be set to the wheel encoder value to advance to the position of 5. However, the linkage element is not limited to this, and may be variously set according to embodiments.

또한, 비동기 센싱 데이터가 단항 데이터이고, 그래프 구조 내에 포함된 전체 노드 중에서, 비동기 센싱 데이터의 생성시점과 설정시간간격(예를들어, t=1) 미만인 대상 노드가 존재하는 경우에는, 센서 데이터 보간법을 이용할 수 있다. 즉, 도3(a)에 도시한 바와 같이, 비동기 센싱 데이터의 생성시점이 t=4.9이고, 기존의 그래프 구조 내에 생성시점이 t=5인 대상노드가 존재하는 경우에는, 설정시간간격 미만인 대상 노드가 존재하는 경우에 해당한다. 따라서, 도3(b)에 도시한 바와 같이, 비동기 센싱 데이터에 대응하는 노드를 별도로 생성하지 않고, 기존 그래프 구조에 포함된 대상 노드(t=5)에 비동기 센싱 데이터에 대응하는 구속조건(u1)을 추가하도록 그래프 구조를 수정할 수 있다.In addition, if the asynchronous sensing data is unary data, and among the total nodes included in the graph structure, there is a target node that is less than a time point (for example, t=1) at which the asynchronous sensing data is generated and set, the sensor data interpolation method Can be used. That is, as shown in Fig. 3(a), when the target node with the creation time t=4.9 and the generation time t=5 in the existing graph structure exists, the target is less than the set time interval. This corresponds to the case where a node exists. Accordingly, as shown in FIG. 3(b), without separately generating a node corresponding to asynchronous sensing data, a constraint (u1) corresponding to asynchronous sensing data is applied to a target node (t=5) included in the existing graph structure. You can modify the graph structure to add ).

즉, 그래프 구조 수정부(130)는 비동기 센싱 데이터의 생성시점이 기존 그래프 구조의 노드와 설정시간 간격 미만으로 차이나는 경우에는, 센서 데이터 보간법을 적용하여, 신속하게 비동기 센싱 데이터를 그래프 구조 상에 반영하도록 할 수 있으며, 설정시간 간격 이상으로 차이나는 경우에는, 그래프 노드 보간법을 적용하여 비동기 센싱 데이터를 정확하게 그래프 구조 상에 반영하도록 할 수 있다. 따라서, 본 발명의 일 실시예에 의하면, 비동기 센싱 데이터를 그래프 구조 상에 신속하게 반영하는 동시에 정확하게 반영하는 것이 가능하다. That is, when the generation time of the asynchronous sensing data differs from the node of the existing graph structure by less than a set time interval, the graph structure correction unit 130 applies sensor data interpolation to quickly asynchronous sensing data on the graph structure. It can be reflected, and if it differs by more than the set time interval, graph node interpolation can be applied to accurately reflect asynchronous sensing data on the graph structure. Therefore, according to an embodiment of the present invention, it is possible to quickly and accurately reflect asynchronous sensing data on a graph structure.

추가적으로, 그래프 구조 수정부(130)는 입력되는 비동기 센싱 데이터가 이항 데이터인 경우에도, 그래프 구조를 수정하여 반영하도록 할 수 있다. 구체적으로, 비동기 센싱 데이터가 이항 데이터인 경우에는, 그래프 노드 보간법을 이용할 수 있다. Additionally, the graph structure correction unit 130 may modify and reflect the graph structure even when the input asynchronous sensing data is binary data. Specifically, when the asynchronous sensing data is binary data, a graph node interpolation method may be used.

즉, 비동기 센싱 데이터의 측정시작시점 및 측정종료시점이 각각 제1 노드의 생성시점 이전이면, 비동기 센싱 데이터의 측정시작시점과 측정종료시점에 각각 제2 노드 및 제3 노드를 생성하고, 비동기 센싱 데이터를 이용하여 제2 노드 및 제3 노드 사이의 제1 구속조건을 설정할 수 있다. 또한, 제2 노드 및 제3 노드에 가장 인접하는 대상 노드와의 사이에는 각각 연계요소를 이용하여 제2 구속조건 및 제3 구속조건으로 설정할 수 있다. That is, if the measurement start point and the measurement end point of the asynchronous sensing data are before the generation time of the first node, respectively, the second node and the third node are generated at the measurement start point and the measurement end point of the asynchronous sensing data, respectively. The first constraint between the second node and the third node can be established using the data. In addition, between the second node and the target node closest to the third node, a second constraint and a third constraint may be set using a linkage element, respectively.

예를들어, 도5에 도시한 바와 같이, t=0, t=5, t=10의 시점에 각각 노드를 생성하여 그래프 구조를 구축한 상태에서, 측정시작시점이 t=4이고 측정종료시점이 t=7인 이항 데이터가 입력될 수 있다. 이 경우, t=4와 t=7에 대응하는 노드를 각각 생성할 수 있으며, 비동기 센싱 데이터를 이용하여 각 노드를 연결하는 구속조건(v1)을 설정할 수 있다. 또한, t=4와 t=7와 인접하는 t=5의 노드 사이에 각각 연계요소를 이용하여 구속조건(b1, b2)들을 설정할 수 있다. 여기서, 연계요소는 실시예에 따라 다양하게 설정가능하다. For example, as shown in FIG. 5, in a state where a graph structure is constructed by generating nodes at t=0, t=5, and t=10, respectively, the measurement start point is t=4 and the measurement end point. Binary data with t=7 can be input. In this case, nodes corresponding to t=4 and t=7 may be respectively generated, and a constraint v1 connecting each node may be set using asynchronous sensing data. In addition, constraints b1 and b2 may be set by using a linkage element between t=4 and t=7 and adjacent t=5 nodes, respectively. Here, the linking element can be variously set according to an embodiment.

또한, 실시예에 따라서는 비동기 센싱 데이터의 측정시작시점이 제1 노드의 생성시점 이전이고, 비동기 센싱 데이터의 측정종료시점은 제1 노드의 생성시점 이후인 경우도 존재할 수 있다. 이때, 비동기 센싱 데이터의 측정시작시점과 측정종료시점에 각각 제2 노드 및 제3 노드를 생성하고, 비동기 센싱 데이터를 이용하여 제2 노드 및 제3 노드 사이의 제1 구속조건을 설정할 수 있다. 여기서, 제2 노드와 제1 노드의 사이의 제1 구속조건은 연계요소를 이용하여 설정하고, 제3 노드와 제1 노드 사이의 제2 구속조건은 기준 데이터를 이용하여 설정할 수 있다. Also, depending on the embodiment, the measurement start time of the asynchronous sensing data may be before the generation time of the first node, and the measurement end time of the asynchronous sensing data may be after the generation time of the first node. At this time, a second node and a third node may be generated at the measurement start point and the measurement end point of the asynchronous sensing data, respectively, and the first constraint between the second node and the third node may be set using the asynchronous sensing data. Here, the first constraint between the second node and the first node may be set by using an association element, and the second constraint between the third node and the first node may be set by using reference data.

즉, 도6에 도시한 바와 같이, t=0, t=5의 시점에 각각 노드를 생성하여 그래프 구조를 구축한 상태에서, 측정시작시점이 t=4이고 측정종료시점이 t=7인 이항 데이터가 입력될 수 있다. 이 경우, t=4와 t=7에 대응하는 노드를 각각 생성할 수 있으며, 비동기 센싱 데이터를 이용하여 각 노드를 연결하는 구속조건(v1)을 설정할 수 있다. 또한, t=4와 t=7와 인접하는 t=5의 노드에 대하여, 각각 연계요소와 기준 데이터를 이용하여 구속조건(b1, a2)들을 설정할 수 있다. That is, as illustrated in FIG. 6, in the state where a graph structure is constructed by generating nodes at the time points t=0 and t=5, the binomial with a measurement start time t=4 and a measurement end time t=7 Data can be entered. In this case, nodes corresponding to t=4 and t=7 may be respectively generated, and a constraint v1 connecting each node may be set using asynchronous sensing data. In addition, for the nodes of t=5 adjacent to t=4 and t=7, constraints b1 and a2 can be set using the linkage element and reference data, respectively.

추가적으로, 도7에 도시한 바와 같이, 비동기 센싱 데이터의 측정시작시점(t=7)과 측정종료시점(t=13)이 제1 노드의 생성시점(t=5) 이후인 경우도 존재할 수 있다. 이때, 그래프 구조 수정부(130)는 비동기 센싱 데이터의 측정시작시점(t=7)과 측정종료시점(t=13)에 각각 제2 노드 및 제3 노드를 생성하고, 비동기 센싱 데이터를 이용하여 제2 노드 및 제3 노드 사이의 구속조건(v1)을 설정할 수 있다. 이후, 제2 노드(t=7)와 제1 노드(t=5)의 사이의 구속조건(a2)과, 제2 노드(t=7)와 제3 노드(t=13) 사이의 구속조건(a3)을 각각 기준 데이터를 이용하여 설정할 수 있다. Additionally, as illustrated in FIG. 7, there may be a case where the measurement start time (t=7) and the measurement end time (t=13) of the asynchronous sensing data are after the first node creation time (t=5). . At this time, the graph structure correction unit 130 generates the second node and the third node at the measurement start point (t=7) and the measurement end point (t=13), respectively, of the asynchronous sensing data, and uses the asynchronous sensing data. A constraint v1 between the second node and the third node may be set. Thereafter, the constraint (a2) between the second node (t=7) and the first node (t=5) and the constraint between the second node (t=7) and the third node (t=13) (a3) can be set using reference data, respectively.

위치 추정부(140)는 그래프 구조를 이용하여 이동체(100)의 위치정보를 생성할 수 있다. 구체적으로, 위치 추정부(140)는 구축된 그래프 구조를 기반으로 그래프 최적화 기법(Graph optimization)을 적용할 수 있으며, 최적화된 그래프 구조를 이용하여, 이동체(100)의 이동 경로 및 시간에 따른 최종 위치를 추정할 수 있다. 즉, 위치 추정부(140)는 그래프 구조로부터, 이동체(100)의 회전정보, 이동정보 및 속도정보 등을 포함하는 위치정보를 최종적으로 추출할 수 있다. 이후 위치 추정부(140)에서 추출한 위치정보를 기반으로, 자율주행을 위한 이동체(100)의 제어를 수행하도록 할 수 있다. The location estimator 140 may generate location information of the moving object 100 using a graph structure. Specifically, the position estimator 140 may apply a graph optimization technique based on the constructed graph structure, and the finalized according to the movement path and time of the moving object 100 using the optimized graph structure The location can be estimated. That is, the location estimator 140 may finally extract location information including rotation information, movement information, and velocity information of the moving object 100 from the graph structure. Then, based on the location information extracted by the location estimator 140, it is possible to perform control of the moving object 100 for autonomous driving.

도8은 본 발명의 일 실시예에 의한 그래프 구조 기반의 이동체 위치 추정방법을 나타내는 순서도이다. 8 is a flowchart illustrating a method for estimating a position of a moving object based on a graph structure according to an embodiment of the present invention.

도8을 참조하면, 본 발명의 일 실시예에 의한 그래프 구조 기반의 이동체 위치 추정방법은, 센싱단계(S110), 그래프 구조 생성단계(S120), 그래프 구조 수정단계(S130) 및 위치추정단계(S140)를 포함할 수 있다. 여기서, 각 단계들은 이동체에 의하여 수행될 수 있다. Referring to FIG. 8, a method for estimating a position of a moving object based on a graph structure according to an embodiment of the present invention includes a sensing step (S110), a graph structure generation step (S120), a graph structure modification step (S130), and a location estimation step ( S140). Here, each step can be performed by a moving object.

이하 도8을 참조하여 본 발명의 일 실시예에 의한 그래프 구조 기반의 이동체 위치 추정방법을 설명한다. Hereinafter, a method for estimating a position of a moving object based on a graph structure according to an embodiment of the present invention will be described with reference to FIG. 8.

센싱단계(S110)에서는, 복수의 센서를 이용하여 이동체의 이동에 따른 센싱 데이터를 생성할 수 있다. 구체적으로, 이동체에 장착되는 IMU(Inertial Measurement Unit) 센서, GPS(Global Positioning System) 센서, 휠 인코더(Wheel Encoder) 센서, 라이더(LiDAR) 센서 등을 이용하여 이동체의 이동에 따른 센싱 데이터를 생성할 수 있다. 다만, 이동체에 포함되는 센서들은 이에 한정되지 않으며, 이외에도 다양한 종류의 센서들을 이용하여 센싱 데이터를 생성할 수 있다. In the sensing step (S110 ), sensing data according to movement of the moving object may be generated using a plurality of sensors. Specifically, using the IMU (Inertial Measurement Unit) sensor, GPS (Global Positioning System) sensor, wheel encoder (Wheel Encoder) sensor, rider (LiDAR) sensor, etc. mounted on the moving object to generate sensing data according to the movement of the moving object Can. However, the sensors included in the mobile body are not limited thereto, and sensing data may be generated using various types of sensors.

한편, 센서들이 생성하는 센싱 데이터는, 단항 데이터(unary data)와 이항 데이터(binary data)로 구별할 수 있다. 즉, 센싱 데이터의 생성시점에서의 측정결과를 나타내는 단항 데이터와, 센싱 데이터의 측정시작시점과 측정종료시점 사이의 관계정보를 측정결과로 나타내는 이항 데이터로 각각 구별가능하다. On the other hand, the sensing data generated by the sensors can be divided into unary data (unary data) and binary data (binary data). That is, it is possible to distinguish between single data representing the measurement result at the time of generating the sensing data and binary data representing the relationship between the measurement start time and the measurement end time of the sensing data as measurement results.

그래프 구조 생성단계(S120)에서는, 기준주기에 따라 노드(node)를 생성하고, 기준주기와 동기화된 센싱 데이터로 노드들 사이의 구속조건(constraint)를 설정하여 그래프 구조(graph structure)를 생성할 수 있다. 여기서, 센싱 데이터 중 어느 하나를 기준 데이터로 설정할 수 있으며, 기준 데이터의 생성주기를 기준주기로 설정할 수 있다. 즉, 기준 데이터의 생성주기에 따라, 노드를 생성하여 그래프 구조를 생성할 수 있다. 이때, 기준주기와 동기화된 다른 센싱 데이터들이 함께 입력될 수 있으며, 입력된 센싱 데이터들은 해당 노드의 구속조건으로 설정할 수 있다. 실시예에 따라서는, IMU 센서의 IMU 오도메트리(Odometry)를 기준 데이터로 설정할 수 있다. In the graph structure generation step (S120), a node is generated according to a reference period, and a graph structure is generated by setting a constraint between nodes with sensing data synchronized with the reference period. Can. Here, any one of the sensing data may be set as the reference data, and the generation cycle of the reference data may be set as the reference cycle. That is, a graph structure may be generated by generating a node according to a generation cycle of reference data. At this time, other sensing data synchronized with the reference period may be input together, and the input sensing data may be set as constraints of a corresponding node. Depending on the embodiment, the IMU Odometry of the IMU sensor may be set as reference data.

그래프 구조 수정단계(S130)에서는, 센싱 데이터 중에서, 기준주기와 동기화되지 않은 비동기 센싱 데이터가 입력되면, 비동기 센싱 데이터를 이용하여 그래프 구조를 수정할 수 있다. In the graph structure modification step (S130), if asynchronous sensing data that is not synchronized with the reference period is input from the sensing data, the graph structure may be corrected using the asynchronous sensing data.

각각의 센서들이 생성한 센싱 데이터는 대기열(Queue)을 통하여 순차적으로 입력될 수 있다. 이때, 각각의 센싱 데이터는 생성된 순서에 따라 순차적으로 입력될 수 있으나, 실시예에 따라서는 센서들이 센싱 데이터를 생성하는 주기가 일치하지 않을 수 있다. 또한, 각각의 센서들마다 센싱 데이터를 생성하는데 소요되는 시간이 상이하여, 동일한 시점에 대한 센싱 데이터임에 불구하고 상대적으로 늦게 대기열에 입력되는 경우도 발생할 수 있다.The sensing data generated by each sensor may be sequentially input through a queue. At this time, each of the sensing data may be sequentially input according to the generated order, but depending on the embodiment, the periods in which the sensors generate the sensing data may not match. In addition, the time required to generate the sensing data for each sensor is different, and it may occur that the data is input to the queue relatively late despite sensing data for the same time point.

즉, 센싱 데이터들은 각각의 생성주기가 상이할 수 있으며, 노드의 생성주기와 동기화되지 않은 비동기 센싱 데이터가 입력될 수 있다. 이때, 단순히 비동기 센싱 데이터를 제외하는 경우에는 위치추정 등의 정확도가 문제될 수 있으므로, 비동기 센싱 데이터를 그래프 구조에 정합하도록 그래프 구조를 수정할 필요가 있다. 따라서, 그래프 구조 수정단계(S130)에서는, 그래프 구조를 수정하여 비동기 센싱 데이터를 그래프 구조 내에 정합시킬 수 있다. That is, each generation cycle of sensing data may be different, and asynchronous sensing data that is not synchronized with the generation cycle of a node may be input. At this time, when simply excluding the asynchronous sensing data, accuracy such as position estimation may be a problem, so it is necessary to modify the graph structure to match the asynchronous sensing data to the graph structure. Therefore, in the graph structure modification step S130, the graph structure may be modified to match asynchronous sensing data within the graph structure.

이 경우, 먼저 수신한 비동기 센싱 데이터의 생성시점을 확인할 수 있다. 즉, 비동기 센싱 데이터의 생성시점과 그래프 구조 중에서 최근 생성된 제1 노드의 생성시점을 비교할 수 있다. In this case, it is possible to check the generation time of the asynchronous sensing data received first. That is, it is possible to compare the generation time of the asynchronous sensing data and the generation time of the recently generated first node among the graph structures.

여기서, 비동기 센싱데이터가 제1 노드의 생성시점 이후에 생성된 경우에는, 비동기 센싱 데이터의 생성시점에 대응하는 제2 노드를 신규 생성하여 그래프 구조에 추가할 수 있다. 즉, 기준주기가 도래하기 전에 비동기 센싱 데이터가 먼저 입력된 경우에 해당하므로, 해당 비동기 센싱 데이터의 생성시점에 대응하는 노드를 추가하여, 비동기 센싱 데이터를 그래프 구조 상에 반영할 수 있다. 이 경우, 제2 노드에 비동기 센싱 데이터에 대응하는 제1 구속조건을 설정하고, 제1 노드와 제2 노드 사이의 제2 구속조건은 기준 데이터를 이용하여 설정할 수 있다. 즉, 그래프 구조를 기준으로, 아직 생성되지 않은 미래 데이터가 입력되는 경우에는, 해당 비동기 센싱 데이터에 대응하는 노드를 추가하도록 그래프 구조를 수정할 수 있다.Here, when the asynchronous sensing data is generated after the generation time of the first node, a second node corresponding to the generation time of the asynchronous sensing data may be newly generated and added to the graph structure. That is, since the asynchronous sensing data is first input before the reference period arrives, a node corresponding to the generation time of the asynchronous sensing data can be added to reflect the asynchronous sensing data on the graph structure. In this case, the first constraint corresponding to the asynchronous sensing data is set in the second node, and the second constraint between the first node and the second node can be set using reference data. That is, when future data that has not yet been generated is input based on the graph structure, the graph structure may be modified to add a node corresponding to the asynchronous sensing data.

한편, 그래프 구조에서 가장 최근 생성된 제1 노드의 생성시점을 기준으로, 비동기 센싱 데이터가 제1 노드의 생성시점 이전에 생성된 경우에는, 그래프 노드 보간법(Graph node interpolation) 또는 센서 데이터 보간법(Sensor data interpolation)을 이용하여 그래프 구조를 수정할 수 있다.On the other hand, when asynchronous sensing data is generated before the creation time of the first node, based on the creation time of the first node that is most recently generated in the graph structure, Graph node interpolation or sensor data interpolation (Sensor) data interpolation) to modify the graph structure.

구체적으로, 비동기 센싱 데이터가 단항 데이터(unary data)이고, 비동기 센싱 데이터의 생성시점이 그래프 구조 내에 포함된 전체 노드들의 생성시점과 설정시간간격 이상 차이나는 경우에는, 그래프 노드 보간법을 이용할 수 있다. Specifically, when the asynchronous sensing data is unary data, and the generation time of the asynchronous sensing data differs from the generation time of all nodes included in the graph structure by a set time interval or more, a graph node interpolation method may be used.

그래프 노드 보간법을 이용하는 경우에는, 비동기 센싱 데이터의 생성시점에 제2 노드를 신규 생성할 수 있으며, 제2 노드에 비동기 센싱 데이터에 대응하는 제1 구속조건을 설정할 수 있다. 또한, 제2 노드와 기존 노드 사이에는 연계요소(between factor)를 이용하여 제2 구속조건을 설정할 수 있다. In the case of using the graph node interpolation method, a second node may be newly generated at the time of generation of the asynchronous sensing data, and a first constraint corresponding to the asynchronous sensing data may be set in the second node. In addition, a second constraint may be established between a second node and an existing node using abetween factor.

또한, 비동기 센싱 데이터가 단항 데이터이고, 그래프 구조 내에 포함된 전체 노드 중에서, 비동기 센싱 데이터의 생성시점과 설정시간간격(예를들어, t=1) 미만인 대상 노드가 존재하는 경우에는, 센서 데이터 보간법을 이용할 수 있다. 즉, 비동기 센싱 데이터에 대응하는 노드를 별도로 생성하지 않고, 기존 그래프 구조에 포함된 대상 노드에 비동기 센싱 데이터에 대응하는 구속조건을 추가하도록 그래프 구조를 수정할 수 있다In addition, when the asynchronous sensing data is unary data, and among the total nodes included in the graph structure, there is a target node that is less than the creation time and the set time interval (for example, t=1) of the asynchronous sensing data, the sensor data interpolation method Can be used. That is, the graph structure can be modified to add a constraint corresponding to the asynchronous sensing data to the target node included in the existing graph structure, without separately creating a node corresponding to the asynchronous sensing data.

추가적으로, 입력되는 비동기 센싱 데이터가 이항 데이터인 경우에도, 그래프 구조를 수정하여 반영하도록 할 수 있다. 구체적으로, 비동기 센싱 데이터가 이항 데이터인 경우에는, 그래프 노드 보간법을 이용할 수 있다. Additionally, even when the input asynchronous sensing data is binomial data, the graph structure may be modified and reflected. Specifically, when the asynchronous sensing data is binary data, a graph node interpolation method can be used.

즉, 비동기 센싱 데이터의 측정시작시점 및 측정종료시점이 각각 제1 노드의 생성시점 이전이면, 비동기 센싱 데이터의 측정시작시점과 측정종료시점에 각각 제2 노드 및 제3 노드를 생성하고, 비동기 센싱 데이터를 이용하여 제2 노드 및 제3 노드 사이의 제1 구속조건을 설정할 수 있다. 또한, 제2 노드 및 제3 노드에 가장 인접하는 대상 노드와의 사이에는 각각 연계요소를 이용하여 제2 구속조건 및 제3 구속조건으로 설정할 수 있다. That is, if the measurement start point and the measurement end point of the asynchronous sensing data are before the generation time of the first node, respectively, the second node and the third node are generated at the measurement start point and the measurement end point of the asynchronous sensing data, respectively. The first constraint between the second node and the third node can be established using the data. In addition, between the second node and the target node closest to the third node, a second constraint and a third constraint may be set using a linkage element, respectively.

또한, 실시예에 따라서는 비동기 센싱 데이터의 측정시작시점이 제1 노드의 생성시점 이전이고, 비동기 센싱 데이터의 측정종료시점은 제1 노드의 생성시점 이후인 경우도 존재할 수 있다. 이때, 비동기 센싱 데이터의 측정시작시점과 측정종료시점에 각각 제2 노드 및 제3 노드를 생성하고, 비동기 센싱 데이터를 이용하여 제2 노드 및 제3 노드 사이의 제1 구속조건을 설정할 수 있다. 여기서, 제2 노드와 제1 노드의 사이의 제1 구속조건은 연계요소를 이용하여 설정하고, 제3 노드와 제1 노드 사이의 제2 구속조건은 기준 데이터를 이용하여 설정할 수 있다. Also, depending on the embodiment, the measurement start time of the asynchronous sensing data may be before the generation time of the first node, and the measurement end time of the asynchronous sensing data may be after the generation time of the first node. At this time, a second node and a third node may be generated at the measurement start point and the measurement end point of the asynchronous sensing data, respectively, and the first constraint between the second node and the third node may be set using the asynchronous sensing data. Here, the first constraint between the second node and the first node may be set by using an association element, and the second constraint between the third node and the first node may be set by using reference data.

이외에도, 비동기 센싱 데이터의 측정시작시점과 측정종료시점이 제1 노드의 생성시점 이후인 경우도 존재할 수 있다. 이 경우, 비동기 센싱 데이터의 측정시작시점과 측정종료시점에 각각 제2 노드 및 제3 노드를 생성하고, 비동기 센싱 데이터를 이용하여 제2 노드 및 제3 노드 사이의 구속조건을 설정할 수 있다. 이후, 제2 노드와 제1 노드의 사이의 구속조건과, 제2 노드와 제3 노드 사이의 구속조건을 각각 기준 데이터를 이용하여 설정할 수 있다. In addition, there may be a case in which measurement start time and measurement end time of the asynchronous sensing data are after the first node creation time. In this case, a second node and a third node may be generated at the measurement start point and the measurement end point of the asynchronous sensing data, respectively, and constraints between the second node and the third node may be set using the asynchronous sensing data. Thereafter, constraints between the second node and the first node and constraints between the second node and the third node may be set using reference data, respectively.

위치추정단계(S140)에서는, 그래프 구조를 이용하여, 이동체의 위치정보를 생성할 수 있다. 구체적으로, 구축된 그래프 구조를 기반으로 그래프 최적화 기법(Graph optimization)을 적용할 수 있으며, 최적화된 그래프 구조를 이용하여, 이동체의 이동 경로 및 시간에 따른 최종 위치를 추정할 수 있다. 즉, 수정된 그래프 구조로부터, 이동체의 회전정보, 이동정보 및 속도정보 등을 포함하는 위치정보를 최종적으로 추출할 수 있다. 이후 추출한 위치정보를 기반으로, 자율주행을 위한 이동체의 제어를 수행하도록 할 수 있다. In the location estimation step (S140 ), the location information of the moving object may be generated using a graph structure. Specifically, a graph optimization technique may be applied based on the constructed graph structure, and a final position according to a moving path and time of a moving object may be estimated using the optimized graph structure. That is, from the modified graph structure, location information including rotation information, movement information, and velocity information of the moving object can be finally extracted. After that, it is possible to perform control of the moving object for autonomous driving based on the extracted location information.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The above-described present invention can be embodied as computer readable codes on a medium on which a program is recorded. The computer-readable medium may be one that continuously stores an executable program on a computer or temporarily stores it for execution or download. In addition, the medium may be various recording means or storage means in the form of a combination of single or several hardware, and is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks, And program instructions including ROM, RAM, flash memory, and the like. Also, examples of other media include an application store for distributing applications, a site for distributing or distributing various software, and a recording medium or storage medium managed by a server. Accordingly, the above detailed description should not be construed as limiting in all respects, but should be considered illustrative. The scope of the invention should be determined by rational interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.The present invention is not limited by the above-described embodiments and the accompanying drawings. For those skilled in the art to which the present invention pertains, it will be apparent that components according to the present invention can be substituted, modified and changed without departing from the technical spirit of the present invention.

100: 이동체 110: 센서부
111: IMU 센서 112: GPS tpstj
113: 휠 인코더 센서 114: LiDAR 센서
120: 그래프 구조 구축부 130: 그래프 구조 수정부
140: 위치 추정부
S110: 센싱단계 S120: 그래프 구조 생성단계
S130: 그래프 구조 수정단계 S140: 위치추정단계
100: moving object 110: sensor unit
111: IMU sensor 112: GPS tpstj
113: wheel encoder sensor 114: LiDAR sensor
120: graph structure construction unit 130: graph structure modification
140: position estimation unit
S110: Sensing step S120: Graph structure generation step
S130: Graph structure modification step S140: Position estimation step

Claims (17)

복수의 센서를 이용하여, 이동체의 이동에 따른 센싱 데이터를 생성하는 센싱단계;
기준주기에 따라 노드(node)를 생성하고, 상기 기준주기와 동기화된 센싱 데이터로 상기 노드들 사이의 구속조건(constraint)를 설정하여 그래프 구조(graph structure)를 생성하는 그래프 구조 생성단계;
상기 센싱 데이터 중에서, 상기 기준주기와 동기화되지 않은 비동기 센싱 데이터가 입력되면, 상기 비동기 센싱 데이터를 이용하여 상기 그래프 구조를 수정하는 그래프 구조 수정단계; 및
상기 그래프 구조를 이용하여, 상기 이동체의 위치정보를 생성하는 위치추정단계를 포함하는 것으로,
상기 그래프 구조 수정단계는
상기 그래프 구조 중에서 최근 생성된 제1 노드의 생성시점을 기준으로, 상기 비동기 센싱데이터가 상기 제1 노드의 생성시점 이후에 생성된 것이면, 상기 비동기 센싱 데이터의 생성시점에 대응하는 제2 노드를 신규 생성하여 상기 그래프 구조에 추가하는 것을 특징으로 하는, 그래프 구조 기반의 이동체 위치추정방법.
A sensing step of generating sensing data according to the movement of the moving object using a plurality of sensors;
A graph structure generation step of generating a node according to a reference cycle and setting a constraint between the nodes with sensing data synchronized with the reference cycle to generate a graph structure;
A graph structure modification step of modifying the graph structure using the asynchronous sensing data when asynchronous sensing data not synchronized with the reference period is input from the sensing data; And
Using the graph structure, including a location estimation step for generating the location information of the moving object,
The graph structure modification step
If the asynchronous sensing data is generated after the creation time of the first node, based on the creation time of the first node newly generated among the graph structures, a second node corresponding to the generation time of the asynchronous sensing data is newly created. Create and add to the graph structure, the moving object location estimation method based on the graph structure.
제1항에 있어서, 상기 센싱단계는
상기 이동체에 장착되는 IMU(Inertial Measurement Unit) 센서, GPS(Global Positioning System) 센서, 휠 인코더(Wheel Encoder) 센서, 라이더(LiDAR) 센서 중 적어도 어느 하나를 이용하여, 상기 이동체의 이동에 따른 센싱 데이터를 생성하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 1, wherein the sensing step
Sensing data according to the movement of the moving object using at least one of an IMU (Inertial Measurement Unit) sensor, a GPS (Global Positioning System) sensor, a wheel encoder (Wheel Encoder) sensor, and a rider (LiDAR) sensor mounted on the moving object Method for estimating the location of a moving object based on a graph structure, characterized in that it generates.
제1항에 있어서, 상기 센싱 데이터는
상기 센싱 데이터의 생성시점에서의 측정결과를 나타내는 단항 데이터(unary data) 또는, 상기 센싱 데이터의 측정시작시점과 측정종료시점 사이의 관계정보를 측정결과로 나타내는 이항 데이터(binary data)인 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 1, wherein the sensing data
Characterized in that it is unary data (unary data) indicating the measurement result at the time of generation of the sensing data, or binary data (binary data) indicating the relationship between the measurement start time and end time of the sensing data as the measurement result A method of estimating the location of a moving object based on the graph structure.
제1항에 있어서, 상기 그래프 구조 생성단계는
상기 센싱 데이터 중 어느 하나를 기준 데이터로 설정하고, 상기 기준 데이터의 생성주기를 상기 기준주기로 설정하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 1, wherein the step of generating the graph structure
A method for estimating a position of a moving object based on a graph structure, wherein any one of the sensing data is set as reference data, and a generation cycle of the reference data is set as the reference cycle.
제4항에 있어서, 상기 그래프 구조 생성단계는
상기 이동체에 장착되는 IMU 센서에서 측정한 IMU 오도메트리(Odometry)를 상기 기준 데이터로 설정하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 4, wherein the step of generating the graph structure
A method for estimating the position of a moving object based on a graph structure, characterized in that the IMU Odometry measured by the IMU sensor mounted on the moving object is set as the reference data.
제4항에 있어서, 상기 그래프 구조 수정단계는
상기 제2 노드에 상기 비동기 센싱 데이터에 대응하는 제1 구속조건을 설정하고, 상기 기준 데이터를 이용하여 상기 제1 노드와 상기 제2 노드 사이를 제2 구속조건을 설정하는 것을 특징으로 하는 그래프 구조의 이동체 위치추정방법.
The method of claim 4, wherein the step of modifying the graph structure
A graph structure characterized in that a first constraint corresponding to the asynchronous sensing data is set in the second node, and a second constraint is established between the first node and the second node using the reference data. How to estimate the moving object position.
제1항에 있어서, 상기 그래프 구조 수정단계는
상기 그래프 구조 중에서 최근 생성된 제1 노드의 생성시점을 기준으로, 상기 비동기 센싱 데이터가 상기 제1 노드의 생성시점 이전에 생성된 것이면, 그래프 노드 보간법(Graph node interpolation) 또는 센서 데이터 보간법(Sensor data interpolation)을 이용하여, 상기 그래프 구조를 수정하는 것을 특징으로 하는 그래프 구조의 이동체 위치추정방법.
According to claim 1, wherein the step of modifying the graph structure
If the asynchronous sensing data is generated prior to the creation time of the first node, based on the creation time of the first node that is recently generated among the graph structures, Graph node interpolation or Sensor data interpolation interpolation), a method for estimating the position of a moving object in a graph structure, wherein the graph structure is modified.
제7항에 있어서, 상기 그래프 구조 수정단계는
상기 비동기 센싱 데이터가 단항 데이터이고, 상기 비동기 센싱 데이터의 생성시점이 상기 그래프 구조 내에 포함된 전체 노드들의 생성시점과 설정시간간격 이상 차이나면, 상기 그래프 노드 보간법을 이용하여, 상기 그래프 구조를 수정하는 것을 특징으로 하는 그래프 구조의 이동체 위치추정기법.
The method of claim 7, wherein the step of modifying the graph structure
If the asynchronous sensing data is unary data, and the generation time of the asynchronous sensing data differs from the generation time of all nodes included in the graph structure by a set time interval or more, the graph structure is modified using the graph node interpolation method. Moving structure positioning method of the graph structure, characterized in that.
제8항에 있어서, 상기 그래프 구조 수정단계는
상기 그래프 노드 보간법을 이용하여, 상기 비동기 센싱 데이터의 생성시점에 제2 노드를 신규 생성하고, 상기 제2 노드에 상기 비동기 센싱 데이터에 대응하는 제1 구속조건을 설정하며, 상기 제2 노드와 기존 노드 사이의 연계요소(between factor)를 이용하여 제2 구속조건을 설정하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 8, wherein the step of modifying the graph structure
Using the graph node interpolation method, a new second node is generated at the time of generation of the asynchronous sensing data, a first constraint corresponding to the asynchronous sensing data is set in the second node, and the second node is established with the second node. A method for estimating the position of a moving object based on a graph structure, characterized in that a second constraint is set by using abetween factor.
제7항에 있어서, 상기 그래프 구조 수정단계는
상기 비동기 센싱 데이터가 단항 데이터이고, 상기 그래프 구조 내에 포함된 전체 노드 중에서, 상기 비동기 센싱 데이터의 생성시점과 설정시간간격 미만인 대상 노드가 존재하면, 상기 센서 데이터 보간법을 이용하여, 상기 그래프 구조를 수정하는 것을 특징으로 하는 그래프 구조의 이동체 위치추정기법.
The method of claim 7, wherein the step of modifying the graph structure
If the asynchronous sensing data is unary data, and among the total nodes included in the graph structure, a target node that is less than a time point at which the asynchronous sensing data is generated and a set time interval exists, correct the graph structure using the sensor data interpolation method. Moving structure positioning method of the graph structure, characterized in that.
제10항에 있어서, 상기 그래프 구조 수정단계는
상기 대상 노드에 상기 비동기 센싱 데이터에 대응하는 구속조건을 추가로 설정하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
11. The method of claim 10, wherein the step of modifying the graph structure
A method for estimating a position of a moving object based on a graph structure, wherein a constraint corresponding to the asynchronous sensing data is additionally set at the target node.
제6항에 있어서, 상기 그래프 구조 수정단계는
상기 비동기 센싱 데이터가 이항 데이터이면, 그래프 노드 보간법을 이용하여, 상기 그래프 구조를 수정하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 6, wherein the step of modifying the graph structure
If the asynchronous sensing data is binomial data, a graph structure-based moving object position estimation method characterized by modifying the graph structure using a graph node interpolation method.
제12항에 있어서, 상기 그래프 구조 수정단계는
상기 비동기 센싱 데이터의 측정시작시점 및 측정종료시점이 각각 상기 제1 노드의 생성시점 이전이면, 상기 비동기 센싱 데이터의 측정시작시점과 측정종료시점에 각각 제2 노드 및 제3 노드를 생성하고, 상기 비동기 센싱 데이터를 이용하여 상기 제2 노드 및 제3 노드 사이의 제1 구속조건을 설정하며, 상기 제2 노드 및 제3 노드에 가장 인접하는 대상 노드와의 사이를 연계요소를 이용하여 각각 제2 구속조건 및 제3 구속조건으로 설정하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 12, wherein the step of modifying the graph structure
If the measurement start point and the measurement end point of the asynchronous sensing data are respectively before the generation time of the first node, a second node and a third node are respectively generated at the measurement start point and measurement end point of the asynchronous sensing data, respectively. The first constraint between the second node and the third node is set using asynchronous sensing data, and the second node is respectively connected to the target node closest to the second node and the third node by using a linkage element. A method for estimating a position of a moving object based on a graph structure, characterized in that it is set as a constraint and a third constraint.
제12항에 있어서, 상기 그래프 구조 수정단계는
상기 비동기 센싱 데이터의 측정시작시점이 상기 제1 노드의 생성시점 이전이고, 상기 비동기 센싱 데이터의 측정종료시점은 상기 제1 노드의 생성시점 이후이면, 상기 비동기 센싱 데이터의 측정시작시점과 측정종료시점에 각각 제2 노드 및 제3 노드를 생성하고, 상기 비동기 센싱 데이터를 이용하여 상기 제2 노드 및 제3 노드 사이의 제1 구속조건을 설정하며, 상기 제2 노드와 상기 제1 노드의 사이의 제1 구속조건을 연계요소를 이용하여 설정하고, 상기 제3 노드와 제1 노드 사이의 제2 구속조건을 상기 기준 데이터를 이용하여 설정하는 것을 특징으로 하는 그래프 구조 기반의 이동체 위치 추정방법.
The method of claim 12, wherein the step of modifying the graph structure
If the measurement start time of the asynchronous sensing data is before the generation time of the first node, and the measurement end time of the asynchronous sensing data is after the generation time of the first node, the measurement start time and the measurement end time of the asynchronous sensing data. Create a second node and a third node, respectively, and set a first constraint between the second node and the third node using the asynchronous sensing data, and between the second node and the first node. A method for estimating a moving object position based on a graph structure, wherein the first constraint is set using a linkage element, and the second constraint between the third node and the first node is set using the reference data.
제1항에 있어서, 상기 위치추정단계는
상기 구축된 그래프 구조를 기반으로 그래프 최적화 기법(Graph optimization)을 이용하여 상기 이동체의 위치를 추정하는 그래프 구조 기반의 이동체 위치 추적방법.
The method of claim 1, wherein the location estimation step
A graph structure-based moving object position tracking method for estimating the position of the moving object using a graph optimization technique based on the constructed graph structure.
하드웨어와 결합되어 제1항 내지 제15항 중 어느 한 항의 그래프 구조 기반의 이동체 위치 추적방법을 수행하기 위하여 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a medium in combination with hardware to perform a method of tracking a moving object based on the graph structure of any one of claims 1 to 15.
복수의 센서를 이용하여, 이동체의 이동에 따른 각각의 센싱 데이터를 생성하는 센서부;
기준주기에 따라 노드(node)를 생성하고, 상기 기준주기와 동기화된 센싱 데이터로 상기 노드들 사이의 구속조건(constraint)를 설정하여 그래프 구조(graph structure)를 생성하는 그래프 구조 구축부;
상기 센싱 데이터 중에서, 상기 기준주기와 동기화되지 않은 비동기 센싱 데이터가 입력되면, 상기 비동기 센싱 데이터를 이용하여 상기 그래프 구조를 수정하는 그래프 구조 수정부; 및
상기 그래프 구조를 이용하여, 상기 이동체의 위치정보를 생성하는 위치 추정부를 포함하는 것으로,
상기 그래프 구조 수정부는
상기 그래프 구조 중에서 최근 생성된 제1 노드의 생성시점을 기준으로, 상기 비동기 센싱데이터가 상기 제1 노드의 생성시점 이후에 생성된 것이면, 상기 비동기 센싱 데이터의 생성시점에 대응하는 제2 노드를 신규 생성하여 상기 그래프 구조에 추가하는 것을 특징으로 하는, 이동체.
A sensor unit for generating each sensing data according to the movement of the moving object, using a plurality of sensors;
A graph structure constructing unit that generates a node according to a reference period and sets a constraint between the nodes with sensing data synchronized with the reference period to generate a graph structure;
A graph structure correction unit for modifying the graph structure by using the asynchronous sensing data when asynchronous sensing data not synchronized with the reference period is input from the sensing data; And
Using the graph structure, including a position estimator for generating location information of the moving object,
The graph structure correction unit
If the asynchronous sensing data is generated after the creation time of the first node, based on the creation time of the first node newly generated among the graph structures, a second node corresponding to the generation time of the asynchronous sensing data is newly created. Create and add to the graph structure, moving object.
KR1020200084035A 2020-07-08 2020-07-08 Method for position estimation of vehicle based on graph structure and vehicld using the same KR20200093477A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200084035A KR20200093477A (en) 2020-07-08 2020-07-08 Method for position estimation of vehicle based on graph structure and vehicld using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200084035A KR20200093477A (en) 2020-07-08 2020-07-08 Method for position estimation of vehicle based on graph structure and vehicld using the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190010538A Division KR102135443B1 (en) 2019-01-28 2019-01-28 Method for position estimation of vehicle based on graph structure and vehicld using the same

Publications (1)

Publication Number Publication Date
KR20200093477A true KR20200093477A (en) 2020-08-05

Family

ID=72041544

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200084035A KR20200093477A (en) 2020-07-08 2020-07-08 Method for position estimation of vehicle based on graph structure and vehicld using the same

Country Status (1)

Country Link
KR (1) KR20200093477A (en)

Similar Documents

Publication Publication Date Title
US10145945B2 (en) Systems and methods for automatically calibrating a LIDAR using information from a secondary vehicle
JP7404010B2 (en) Position estimation device and method
US10369993B2 (en) Method and device for monitoring a setpoint trajectory to be traveled by a vehicle for being collision free
JP2016149132A (en) System and method for prediction in driver assist system of vehicle
JP2015006874A (en) Systems and methods for autonomous landing using three dimensional evidence grid
US20220194412A1 (en) Validating Vehicle Sensor Calibration
KR20180117879A (en) Method and apparatus for position estimation of unmanned vehicle based on graph structure
CN109781117B (en) Combined positioning method and system
US20220291012A1 (en) Vehicle and method for generating map corresponding to three-dimensional space
KR102115004B1 (en) Apparatus and method for generating three dimensional map using aerial images
KR20220024791A (en) Method and apparatus for determining the trajectory of a vehicle
KR102322000B1 (en) Method and system for tracking trajectory based on visual localizaion and odometry
KR102660497B1 (en) System for positioning location information of car
US20190283760A1 (en) Determining vehicle slope and uses thereof
Groh et al. Advanced real-time indoor parking localization based on semi-static objects
JP2024032805A (en) Apparatus and method for generating three-dimensional map using aerial photograph
US20220198714A1 (en) Camera to camera calibration
JP2022081396A (en) Vehicle localization method and device
KR102135443B1 (en) Method for position estimation of vehicle based on graph structure and vehicld using the same
JP7234840B2 (en) position estimator
KR20200093477A (en) Method for position estimation of vehicle based on graph structure and vehicld using the same
KR102482048B1 (en) Method for trajectory correction for 3D map creation, and computer program recorded on record-medium for executing method therefor
JP6717132B2 (en) Vehicle traveling control method and vehicle traveling control device
US20230101472A1 (en) Methods and Systems for Estimating Lanes for a Vehicle
US20230213635A1 (en) Method for calibrating offsets between doppler-based sensors on a mobile platform

Legal Events

Date Code Title Description
A107 Divisional application of patent