[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20220064884A - Apparatus and method for editing 3D SLAM data - Google Patents

Apparatus and method for editing 3D SLAM data Download PDF

Info

Publication number
KR20220064884A
KR20220064884A KR1020210073735A KR20210073735A KR20220064884A KR 20220064884 A KR20220064884 A KR 20220064884A KR 1020210073735 A KR1020210073735 A KR 1020210073735A KR 20210073735 A KR20210073735 A KR 20210073735A KR 20220064884 A KR20220064884 A KR 20220064884A
Authority
KR
South Korea
Prior art keywords
keyframe
slam data
edge
slam
editing
Prior art date
Application number
KR1020210073735A
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 PCT/KR2021/016525 priority Critical patent/WO2022103195A1/en
Priority to EP21892362.1A priority patent/EP4245474A1/en
Publication of KR20220064884A publication Critical patent/KR20220064884A/en
Priority to US18/316,160 priority patent/US20240078774A1/en
Priority to US18/316,167 priority patent/US20240077881A1/en
Priority to US18/316,145 priority patent/US20240085188A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/08Programme-controlled manipulators characterised by modular constructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Processing Or Creating Images (AREA)

Abstract

According to proper embodiments of the present invention, an apparatus and a method for editing three-dimensional simultaneous localization and mapping (SLAM) data directly edit a keyframe or an edge of three-dimensional SLAM data by an operation of a user, optimize a pose graph of the three-dimensional SLAM data based on the keyframe or the edge edited by the operation of the user to update the three-dimensional SLAM data, and generate a two-dimensional grid map corresponding to the three-dimensional SLAM data based on the updated three-dimensional SLAM data to improve user convenience for editing of the three-dimensional SLAM data.

Description

3D SLAM 데이터 편집 장치 및 방법{Apparatus and method for editing 3D SLAM data}3D SLAM data editing apparatus and method {Apparatus and method for editing 3D SLAM data}

본 발명은 3D SLAM 데이터 편집 장치 및 방법에 관한 것으로서, 더욱 상세하게는 3D SLAM(Simultaneous Localization And Mapping) 데이터를 편집하는, 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for editing 3D SLAM data, and more particularly, to an apparatus and method for editing 3D Simultaneous Localization And Mapping (SLAM) data.

종래에는 지도가 잘못 구성되거나, 지도를 그린 후 환경이 변화하여 기존의 지도를 사용하지 못하는 상태가 되면, 처음부터 지도를 새로 그려야 하는 문제가 발생한다.Conventionally, when a map is incorrectly configured or an existing map cannot be used due to a change in the environment after drawing the map, there is a problem of having to draw a new map from the beginning.

이러한 문제를 해결하기 위해, 지도가 틀어지거나 새로운 구조물이 생기면 지도를 새로 그리지 않고 기존의 지도에 이를 반영하기 위해 지도 편집기를 사용한다. 기존의 지도 편집기는 키프레임(keyframe), 에지(edge) 등과 같은 3D SLAM(Simultaneous Localization And Mapping) 데이터를 편집하는 것이 아닌 이들로 이루어진 그래프의 최적화 과정을 통해 최종적으로 나오는 2D 격자 지도(grid map)를 수정하는 방식으로 사용된다.To solve this problem, if the map is distorted or a new structure is created, the map editor is used to reflect this on the existing map instead of redrawing the map. Existing map editors do not edit 3D Simultaneous Localization And Mapping (SLAM) data such as keyframes and edges, but create a 2D grid map that is finally produced through the optimization process of the graph composed of them. used as a way to modify

하지만, 2차원이기 때문에 3차원 공간의 장애물이나 구조물들을 편집하지 못하는 문제가 있고, 키프레임과 에지에 직접 접근하여 편집할 수 없기 때문에 SLAM 과정에서 그래프에 노이즈가 들어가거나 잘못된 에지가 포함되게 되면 올바른 그래프를 얻기 위해서 다시 SLAM을 통해 그래프를 구성하고 지도를 그려야 하는 문제가 있다.However, since it is two-dimensional, there is a problem in that it is not possible to edit obstacles or structures in the three-dimensional space, and since it is not possible to edit keyframes and edges directly, if noise or incorrect edges are included in the graph during the SLAM process, correct In order to obtain a graph, there is a problem of composing a graph and drawing a map again through SLAM.

본 발명이 이루고자 하는 목적은, 사용자의 조작에 의해 3D SLAM(Simultaneous Localization And Mapping) 데이터의 키프레임(keyframe)이나 에지(edge)를 직접 편집하고, 사용자의 조작에 의해 편집된 키프레임이나 에지를 기반으로 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여 3D SLAM 데이터를 업데이트하며, 업데이트된 3D SLAM 데이터를 기반으로 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성하는, 3D SLAM 데이터 편집 장치 및 방법을 제공하는 데 있다.An object of the present invention is to directly edit a keyframe or edge of 3D SLAM (Simultaneous Localization And Mapping) data by a user's manipulation, and edit the keyframe or edge edited by the user's manipulation 3D SLAM data is updated by optimizing the position graph of 3D SLAM data based on An object of the present invention is to provide an apparatus and method for editing 3D SLAM data.

본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other objects not specified in the present invention may be additionally considered within the scope that can be easily inferred from the following detailed description and effects thereof.

상기의 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 장치는, 사용자의 조작에 의해 3D SLAM 데이터를 직접 편집하는 3D SLAM 데이터 편집 장치로서, 상기 3D SLAM 데이터의 키프레임(keyframe)이나 에지(edge)를 편집하는 편집부; 상기 편집부에 의해 편집된 상기 키프레임이나 상기 에지를 기반으로 상기 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여, 상기 3D SLAM 데이터를 업데이트하는 업데이트부; 및 상기 업데이트부에 의해 업데이트된 상기 3D SLAM 데이터를 기반으로 상기 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성하는 관리부;를 포함한다.A 3D SLAM data editing apparatus according to a preferred embodiment of the present invention for achieving the above object is a 3D SLAM data editing apparatus for directly editing 3D SLAM data by a user's manipulation, and a keyframe of the 3D SLAM data. ) or an editing unit for editing edges; an update unit configured to update the 3D SLAM data by optimizing a position graph of the 3D SLAM data based on the keyframe or the edge edited by the editing unit; and a management unit generating a 2D grid map corresponding to the 3D SLAM data based on the 3D SLAM data updated by the update unit.

여기서, 상기 키프레임은, 키프레임의 고유 식별 정보, 키프레임의 위치(pose), 키프레임의 공분산(covariance), 스캔 정보, 셀(cell) 개수 및 가지고 있는 셀에 대한 정보를 포함할 수 있다.Here, the keyframe may include unique identification information of the keyframe, the position of the keyframe, covariance of the keyframe, scan information, the number of cells, and information on the cells. .

여기서, 상기 편집부는, 상기 키프레임을 선택하거나 해제하는 동작, 선택된 상기 키프레임 내의 정보를 변경하는 동작, 선택된 상기 키프레임 내에서 미리 설정된 높이보다 낮거나 높은 셀을 삭제하는 동작, 선택된 상기 키프레임 내에서 지정된 셀을 삭제하는 동작, 선택된 상기 키프레임 내의 셀 중에서 셀 내의 포인트 개수가 미리 설정된 값보다 작은 셀을 삭제하는 동작, 및 선택된 상기 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 변경하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 키프레임을 편집할 수 있다.Here, the editing unit may include an operation of selecting or canceling the keyframe, an operation of changing information in the selected keyframe, an operation of deleting cells having a height lower than or higher than a preset height in the selected keyframe, and an operation of the selected keyframe An operation of deleting a designated cell within the selected keyframe, an operation of deleting a cell in which the number of points in a cell is smaller than a preset value among cells within the selected keyframe, and a vertex when the selected keyframe is a vertex By performing one of the operations of changing information, the keyframe of the 3D SLAM data may be edited.

여기서, 상기 에지는, 관찰하는 기준이 되는 키프레임의 고유 식별 정보, 관찰이 되는 키프레임의 고유 식별 정보 및 관찰되는 위치 정보를 포함할 수 있다.Here, the edge may include unique identification information of a keyframe to be observed, unique identification information of a keyframe to be observed, and observed position information.

여기서, 상기 편집부는, 상기 에지를 선택하거나 해제하는 동작, 선택된 상기 에지의 정보를 변경하는 동작, 선택된 상기 에지를 삭제하는 동작, 및 새로운 상기 에지를 추가하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 에지를 편집할 수 있다.Here, the editing unit performs one of an operation of selecting or canceling the edge, an operation of changing information on the selected edge, an operation of deleting the selected edge, and an operation of adding a new edge to the 3D SLAM It is possible to edit the edge of the data.

여기서, 상기 업데이트부는, 상기 편집부에 의해 편집된 상기 키프레임과 상기 에지를 기반으로 위치 그래프 최적화(pose graph optimization)를 수행하여 상기 위치 그래프(pose graph)의 상기 키프레임 위치를 조정하고, 조정된 상기 키프레임의 위치를 기반으로 정점(vertex)의 위치를 조정하여, 상기 3D SLAM 데이터를 업데이트할 수 있다.Here, the update unit performs position graph optimization based on the keyframe and the edge edited by the editing unit to adjust the keyframe position of the position graph and adjusted The 3D SLAM data may be updated by adjusting the position of a vertex based on the position of the keyframe.

여기서, 상기 편집부는, 상기 키프레임 내 셀(cell)의 노이즈를 자동으로 제거하거나, 상기 위치 그래프에서 아웃라이어 에지(outlier edge)를 검출하여 자동으로 삭제할 수 있다.Here, the editing unit may automatically remove noise of cells in the keyframe or detect and automatically delete an outlier edge from the position graph.

여기서, 상기 3D SLAM 데이터를 화면에 표시하는 표시부;를 더 포함할 수 있다.Here, the display unit for displaying the 3D SLAM data on the screen; may further include.

여기서, 상기 표시부는, 선택된 상기 키프레임에 대한 정보를 화면에 표시하는 동작, 선택된 상기 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 화면에 표시하는 동작, 상기 키프레임이 선택되고 높이가 설정되면 선택된 상기 키프레임 내의 셀 중에서 설정된 높이에 위치해 있는 셀을 표시하는 동작, 선택된 상기 에지에 대한 정보를 화면에 표시하는 동작, 및 선택된 상기 키프레임, 선택된 상기 키프레임 내의 셀 중에서 선택된 셀, 또는 선택된 상기 에지를 표시하거나 숨기는 동작 중 하나를 수행할 수 있다.Here, the display unit includes an operation of displaying information on the selected keyframe on a screen, an operation of displaying information on a vertex on the screen when the selected keyframe is a vertex, and an operation of displaying the information on the vertex on the screen, when the keyframe is selected and the height is set, an operation of displaying a cell located at a set height among the cells within the selected keyframe, an operation of displaying information on the selected edge on the screen, and an operation of displaying the selected keyframe and a cell selected from among the cells in the selected keyframe One of the operations of displaying or hiding the cell or the selected edge may be performed.

상기의 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 방법은, 사용자의 조작에 의해 3D SLAM 데이터를 직접 편집하는 3D SLAM 데이터 편집 장치에서 수행되는 편집 방법으로서, 상기 3D SLAM 데이터의 키프레임(keyframe)이나 에지(edge)를 편집하는 단계; 편집된 상기 키프레임이나 상기 에지를 기반으로 상기 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여, 상기 3D SLAM 데이터를 업데이트하는 단계; 및 업데이트된 상기 3D SLAM 데이터를 기반으로 상기 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성하는 단계;를 포함한다.3D SLAM data editing method according to a preferred embodiment of the present invention for achieving the above object is an editing method performed in a 3D SLAM data editing apparatus that directly edits 3D SLAM data by a user's manipulation, wherein the 3D SLAM data editing a keyframe or edge of updating the 3D SLAM data by optimizing a position graph of the 3D SLAM data based on the edited keyframe or the edge; and generating a 2D grid map corresponding to the 3D SLAM data based on the updated 3D SLAM data.

여기서, 상기 편집 단계는, 상기 키프레임을 선택하거나 해제하는 동작, 선택된 상기 키프레임 내의 정보를 변경하는 동작, 선택된 상기 키프레임 내에서 미리 설정된 높이보다 낮거나 높은 셀을 삭제하는 동작, 선택된 상기 키프레임 내에서 지정된 셀을 삭제하는 동작, 선택된 상기 키프레임 내의 셀 중에서 셀 내의 포인트 개수가 미리 설정된 값보다 작은 셀을 삭제하는 동작, 및 선택된 상기 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 변경하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 키프레임을 편집하는 것으로 이루어질 수 있다.Here, the editing step includes an operation of selecting or canceling the keyframe, an operation of changing information in the selected keyframe, an operation of deleting cells having a height lower than or higher than a preset height in the selected keyframe, and the selected key An operation of deleting a specified cell within a frame, an operation of deleting a cell in which the number of points in a cell is smaller than a preset value among cells within the selected keyframe, and an operation of deleting a cell in which the selected keyframe is a vertex The keyframe of the 3D SLAM data may be edited by performing one of the operations of changing the information on the 3D SLAM data.

여기서, 상기 편집 단계는, 상기 에지를 선택하거나 해제하는 동작, 선택된 상기 에지의 정보를 변경하는 동작, 선택된 상기 에지를 삭제하는 동작, 및 새로운 상기 에지를 추가하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 에지를 편집하는 것으로 이루어질 수 있다.Here, the editing step may include performing one of an operation of selecting or canceling the edge, an operation of changing information on the selected edge, an operation of deleting the selected edge, and an operation of adding the new edge, so that the 3D It may consist of editing said edge of SLAM data.

상기의 기술적 과제를 달성하기 위한 본 발명의 바람직한 실시예에 따른 컴퓨터 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장되어 상기한 3D SLAM 데이터 편집 방법 중 어느 하나를 컴퓨터에서 실행시킨다.A computer program according to a preferred embodiment of the present invention for achieving the above technical problem is stored in a computer-readable recording medium, and any one of the above-described 3D SLAM data editing methods is executed in the computer.

본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 장치 및 방법에 의하면, 사용자의 조작에 의해 3D SLAM(Simultaneous Localization And Mapping) 데이터의 키프레임(keyframe)이나 에지(edge)를 직접 편집하고, 사용자의 조작에 의해 편집된 키프레임이나 에지를 기반으로 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여 3D SLAM 데이터를 업데이트하며, 업데이트된 3D SLAM 데이터를 기반으로 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성함으로써, 3D SLAM 데이터의 편집에 대한 사용자 편의성을 향상시킬 수 있다.According to the 3D SLAM data editing apparatus and method according to a preferred embodiment of the present invention, a keyframe or edge of 3D SLAM (Simultaneous Localization And Mapping) data is directly edited by a user's operation, and the user's 3D SLAM data is updated by optimizing the pose graph of 3D SLAM data based on keyframes or edges edited by manipulation, and 2D corresponding to 3D SLAM data based on the updated 3D SLAM data By generating a grid map, it is possible to improve user convenience for editing 3D SLAM data.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 장치를 설명하기 위한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 편집 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 일례를 설명하기 위한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 2D 격자 지도의 일례를 설명하기 위한 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 편집 화면 구성을 설명하기 위한 도면이다.
도 6은 도 5에 도시한 3D SLAM 데이터의 편집 화면 구성의 구현 일례를 설명하기 위한 도면이다.
도 7은 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 방법을 설명하기 위한 흐름도이다.
1 is a block diagram illustrating a 3D SLAM data editing apparatus according to a preferred embodiment of the present invention.
2 is a diagram for explaining a process of editing 3D SLAM data according to a preferred embodiment of the present invention.
3 is a view for explaining an example of 3D SLAM data according to a preferred embodiment of the present invention.
4 is a view for explaining an example of a 2D grid map according to a preferred embodiment of the present invention.
5 is a diagram for explaining the configuration of an editing screen of 3D SLAM data according to a preferred embodiment of the present invention.
FIG. 6 is a view for explaining an example of implementation of the configuration of the 3D SLAM data editing screen shown in FIG. 5 .
7 is a flowchart illustrating a 3D SLAM data editing method according to a preferred embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments published below, but may be implemented in various different forms, and only these embodiments make the publication of the present invention complete, and common knowledge in the art to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular.

본 명세서에서 "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In the present specification, terms such as “first” and “second” are for distinguishing one component from other components, and the scope of rights should not be limited by these terms. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

본 명세서에서 각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In the present specification, identification symbols (eg, a, b, c, etc.) in each step are used for convenience of description, and identification symbols do not describe the order of each step, and each step is clearly Unless a specific order is specified, the order may differ from the specified order. That is, each step may occur in the same order as specified, may be performed substantially simultaneously, or may be performed in the reverse order.

본 명세서에서, "가진다", "가질 수 있다", "포함한다" 또는 "포함할 수 있다"등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In this specification, expressions such as “have”, “may have”, “include” or “may include” indicate the existence of a corresponding feature (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.

또한, 본 명세서에 기재된 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터 구조들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다.In addition, the term '~ unit' as used herein means software or a hardware component such as a field-programmable gate array (FPGA) or ASIC, and '~ unit' performs certain roles. However, '-part' is not limited to software or hardware. '~unit' may be configured to reside on an addressable storage medium or may be configured to refresh one or more processors. Thus, as an example, '~' refers to components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data structures and variables. The functions provided in the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'.

이하에서 첨부한 도면을 참조하여 본 발명에 따른 3D SLAM 데이터 편집 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.Hereinafter, a preferred embodiment of a 3D SLAM data editing apparatus and method according to the present invention will be described in detail with reference to the accompanying drawings.

먼저, 도 1을 참조하여 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 장치에 대하여 설명한다.First, a 3D SLAM data editing apparatus according to a preferred embodiment of the present invention will be described with reference to FIG. 1 .

도 1은 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 장치를 설명하기 위한 블록도이다.1 is a block diagram illustrating a 3D SLAM data editing apparatus according to a preferred embodiment of the present invention.

도 1을 참조하면, 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 장치(100)는 사용자의 조작에 의해 3D SLAM 데이터를 직접 편집한다.Referring to FIG. 1 , the 3D SLAM data editing apparatus 100 according to a preferred embodiment of the present invention directly edits 3D SLAM data by a user's manipulation.

여기서, 3D SLAM 데이터는 그래프 기반 SLAM(Simultaneous Localization And Mapping) 알고리즘을 기반으로 지도를 구성하는 데이터로서, 그래프의 노드(node)를 나타내는 키프레임(keyframe), 정점(vertex), 노드(즉, 키프레임) 간의 관계를 나타내는 에지(edge) 등을 포함할 수 있다. 예컨대, 사용자가 SLAM 모드로 매핑 과정을 진행하면, 그래프의 노드인 키프레임 데이터들과 키프레임 간의 연결 관계인 에지 데이터들을 얻을 수 있고, 이들(키프레임 데이터들과 에지 데이터들)의 관계를 최적화하는 과정을 통해 지도를 구성하게 된다.Here, 3D SLAM data is data composing a map based on a graph-based SLAM (Simultaneous Localization And Mapping) algorithm, and includes keyframes, vertices, and nodes (that is, key frames) may include an edge indicating a relationship between the frames. For example, if the user proceeds with the mapping process in SLAM mode, it is possible to obtain edge data, which is a connection relationship between keyframe data, which is a node of the graph, and keyframe, and optimize the relationship between them (keyframe data and edge data). Through the process, the map is constructed.

키프레임은 그래프의 노드를 나타내는 정보로서, 키프레임의 고유 식별 정보(ID 등), 키프레임의 위치(pose), 키프레임의 공분산(covariance), 키프레임의 pdist, 스캔 정보, 셀(cell) 개수, 가지고 있는 셀에 대한 정보(LiDAR 포인트 개수, 분산 등) 등을 포함할 수 있다.A keyframe is information representing a node of a graph. Keyframe unique identification information (ID, etc.), keyframe position (pose), keyframe covariance, keyframe pdist, scan information, cell (cell) It may include the number and information on the cells it has (the number of LiDAR points, distribution, etc.).

즉, 키프레임은 3D SLAM을 구성하는 그래프의 노드로, 3차원 라이다(Light Detection And Ranging, LiDAR) 데이터 정보를 포함하고 있다. 하지만, 3차원 라이다(LiDar)에서 들어오는 원시 데이터(raw data)인 3차원 포인트 클라우드 형태로 데이터를 관리하지 않고, 편집이 편리하며 데이터 접근이 매우 빠른 자료 구조 형태로 재가공하여 셀(cell)이라는 구조 내에 저장하고 관리한다. 여기서, 자료 구조 형태는 이진 트리의 확장형으로 3차원 공간을 재귀적으로 표현할 때 이용되는 팔진 트리(octree) 구조로 이루어질 수 있다.That is, a keyframe is a node of a graph constituting 3D SLAM, and contains 3D LiDAR (Light Detection And Ranging, LiDAR) data information. However, instead of managing the data in the form of a 3D point cloud, which is raw data coming from 3D LiDar, it is reprocessed into a data structure form that is convenient to edit and has very fast data access, so that it is called a cell. Stored and managed within the structure. Here, the data structure is an extended type of a binary tree and may be formed of an octree structure used to recursively express a 3D space.

그리고, 정점(vertex)은 키프레임들 중에서 다른 키프레임과 연결 관계가 있는 키프레임을 나타내는 정보로서, 키프레임의 고유 식별 정보(ID 등), 키프레임의 위치(pose), 고정 여부 등을 포함할 수 있다.And, a vertex is information indicating a keyframe that has a connection relationship with another keyframe among keyframes, and includes unique identification information (ID, etc.) of the keyframe, the position of the keyframe (pose), whether it is fixed, etc. can do.

그리고, 에지는 그래프의 노드(즉, 키프레임) 간의 연결 관계를 나타내는 정보로서, 관찰하는 기준이 되는 키프레임의 고유 식별 정보(ID 등), 관찰이 되는 키프레임의 고유 식별 정보(ID 등), 관찰되는 위치 정보, 정확도(precision), 분산 등을 포함할 수 있다.In addition, the edge is information indicating the connection relationship between nodes (ie, keyframes) of the graph, and unique identification information (ID, etc.) of a keyframe that is a reference for observation, unique identification information of a keyframe that is observed (ID, etc.) , observed location information, precision, variance, and the like.

즉, 3D SLAM 데이터 편집 장치(100)는 사용자의 조작에 의해 3D SLAM 데이터의 키프레임이나 에지를 직접 편집하고, 사용자의 조작에 의해 편집된 키프레임이나 에지를 기반으로 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여 3D SLAM 데이터를 업데이트하며, 업데이트된 3D SLAM 데이터를 기반으로 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성할 수 있다.That is, the 3D SLAM data editing apparatus 100 directly edits a keyframe or an edge of 3D SLAM data by a user's manipulation, and based on the keyframe or edge edited by a user's manipulation, the position graph of the 3D SLAM data ( pose graph) to update the 3D SLAM data, and based on the updated 3D SLAM data, it is possible to generate a 2D grid map corresponding to the 3D SLAM data.

이를 위해, 3D SLAM 데이터 편집 장치(100)는 입력부(110), 표시부(130), 편집부(150), 업데이트부(170) 및 관리부(190)를 포함할 수 있다.To this end, the 3D SLAM data editing apparatus 100 may include an input unit 110 , a display unit 130 , an editing unit 150 , an update unit 170 , and a management unit 190 .

입력부(110)는 사용자의 조작을 입력받을 수 있다. 그리고, 입력부(110)는 입력받은 사용자 조작을 관리부(190)에 제공할 수 있다.The input unit 110 may receive a user's manipulation input. In addition, the input unit 110 may provide the received user manipulation to the management unit 190 .

표시부(130)는 입력부(110)를 통한 사용자 조작에 따라 편집 대상인 3D SLAM 데이터를 화면에 표시할 수 있다.The display unit 130 may display 3D SLAM data to be edited on the screen according to a user operation through the input unit 110 .

즉, 표시부(130)는 관리부(190)의 제어에 따라, 선택된 키프레임에 대한 정보(위치, 셀 개수, 포인트 개수, bounding box 크기 등)를 화면에 표시하는 동작, 선택된 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 화면에 표시하는 동작, 키프레임이 선택되고 높이가 설정되면 선택된 키프레임 내의 셀 중에서 설정된 높이에 위치해 있는 셀을 표시하는 동작, 선택된 에지에 대한 정보(관찰하는 기준이 되는 키프레임의 고유 식별 정보, 관찰이 되는 키프레임의 고유 식별 정보, 관찰되는 위치 정보, 정확도 등)를 화면에 표시하는 동작, 및 선택된 타겟(선택된 키프레임, 선택된 키프레임 내의 셀 중에서 선택된 셀, 또는 선택된 에지)을 표시하거나 숨기는 동작 중 하나를 수행할 수 있다.That is, the display unit 130 displays information on the selected keyframe (position, number of cells, number of points, bounding box size, etc.) on the screen under the control of the management unit 190, and the selected keyframe is a vertex. ), the operation of displaying information on the vertex on the screen, the operation of displaying the cell located at the set height among the cells within the selected keyframe when a keyframe is selected and the height is set, and information on the selected edge (observation) The operation of displaying on the screen the unique identification information of the keyframe that serves as a reference for the keyframe to be observed, the unique identification information of the observed keyframe, the observed position information, accuracy, etc., and the selected target (selected keyframe, among cells within the selected keyframe) One of the operations of displaying or hiding the selected cell or the selected edge) may be performed.

편집부(150)는 입력부(110)를 통한 사용자 조작에 따라 편집 대상인 3D SLAM 데이터의 키프레임이나 에지를 편집할 수 있다.The editing unit 150 may edit a keyframe or an edge of 3D SLAM data to be edited according to a user operation through the input unit 110 .

즉, 편집부(150)는 키프레임을 선택하거나 해제하는 동작, 선택된 키프레임 내의 정보를 변경하는 동작, 선택된 키프레임 내에서 미리 설정된 높이보다 낮거나 높은 셀을 삭제하는 동작, 선택된 키프레임 내에서 지정된 셀을 삭제하는 동작, 선택된 키프레임 내의 셀 중에서 셀 내의 포인트 개수가 미리 설정된 값보다 작은 셀을 삭제하는 동작, 및 선택된 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 변경하는 동작 중 하나를 수행하여, 3D SLAM 데이터의 키프레임을 편집할 수 있다.That is, the editing unit 150 performs an operation of selecting or canceling a keyframe, an operation of changing information in the selected keyframe, an operation of deleting cells having a height lower than or higher than a preset height within the selected keyframe, and an operation of selecting a keyframe specified in the selected keyframe. An operation of deleting a cell, an operation of deleting a cell in which the number of points in a cell is less than a preset value among cells within a selected keyframe, and an operation of changing information about a vertex when the selected keyframe is a vertex You can edit keyframes of 3D SLAM data by doing one of the following:

이때, 편집부(150)는 선택된 키프레임 내의 정보 중에서 선택된 키프레임 내의 셀이 가지고 있는 인공 구조물(artificial landmark) 여부에 대한 정보(파라미터)를 편집하는 동작(즉, 선택된 키프레임 내의 정보를 변경하는 동작)을 수행하여, 3D SLAM 데이터의 인공 구조물을 편집할 수 있다. 여기서, 인공 구조물은 반사판(reflector) 등과 같이 레이저(laser)의 반사가 잘 되어 라이다(LiDAR)에서 레이저 반사강도(laser intensity)가 높게 측정되는 구조물을 말한다. 본 발명에 따른 SLAM은 이와 같은 인공 구조물에 큰 가중치(weight)를 부여하여 매핑(mapping)과 최적화(optimization)에 활용한다.In this case, the editing unit 150 edits information (parameters) on whether or not the cell in the selected keyframe has an artificial landmark among the information in the selected keyframe (that is, changes the information in the selected keyframe). ) to edit artificial structures in 3D SLAM data. Here, the artificial structure refers to a structure, such as a reflector, in which a laser is reflected well and thus a laser reflection intensity is high in LiDAR. SLAM according to the present invention is used for mapping and optimization by giving a large weight to such an artificial structure.

또한, 편집부(150)는 에지를 선택하거나 해제하는 동작, 선택된 에지의 정보를 변경하는 동작, 선택된 에지를 삭제하는 동작, 및 새로운 에지를 추가하는 동작 중 하나를 수행하여, 3D SLAM 데이터의 에지를 편집할 수 있다.In addition, the editing unit 150 performs one of an operation of selecting or canceling an edge, an operation of changing information on the selected edge, an operation of deleting the selected edge, and an operation of adding a new edge, so that the edge of the 3D SLAM data is Can be edited.

아울러, 편집부(150)는 키프레임 내 셀(cell)의 노이즈를 자동으로 제거하거나, 위치 그래프(pose graph)에서 아웃라이어 에지(outlier edge)를 검출하여 자동으로 삭제하는, 자동 편집 동작을 수행하여, 3D SLAM 데이터를 자동으로 편집할 수 있다.In addition, the editing unit 150 automatically removes the noise of the cell in the keyframe or detects and automatically deletes an outlier edge in the pose graph by performing an automatic editing operation. , 3D SLAM data can be edited automatically.

예컨대, 편집부(150)는 셀이 가지고 있는 포인트 개수 정보, 공분산, 해당 셀을 포함하는 키프레임의 개수, 인공 구조물의 여부 등의 정보를 조합하여 노이즈를 검출하고, 검출된 노이즈를 자동으로 삭제할 수 있다. 그리고, 편집부(150)는 max clique, loop closure 등과 같은 그래프 알고리즘을 사용하여 다른 정점이나 에지들의 정보와의 차이값과 미리 설정된 기준값을 기반으로 아웃라이어 에지를 검출하고, 검출된 아웃라이어 에지를 자동으로 삭제할 수 있다.For example, the editing unit 150 detects noise by combining information such as information on the number of points in a cell, covariance, the number of keyframes including the cell, and whether there is an artificial structure, and automatically deletes the detected noise. there is. Then, the editing unit 150 detects an outlier edge based on a difference value from information of other vertices or edges and a preset reference value using a graph algorithm such as max clique and loop closure, and automatically converts the detected outlier edge can be deleted with

그리고, 편집부(150)는 입력부(110)를 통한 사용자 조작에 따라 편집 대상인 복수개의 3D SLAM 데이터를 병합하여 통합 3D SLAM 데이터를 획득할 수 있다.In addition, the editing unit 150 may acquire integrated 3D SLAM data by merging a plurality of 3D SLAM data to be edited according to a user operation through the input unit 110 .

즉, 편집부(150)는 현재의 편집 대상인 제1 3D SLAM 데이터(키프레임과 에지 세트)에 새로운 편집 대상인 제2 3D SLAM 데이터를 로드하여 제1 및 제2 3D SLAM 데이터를 병합하여 통합 3D SLAM 데이터를 획득할 수 있다.That is, the editing unit 150 loads the second 3D SLAM data that is a new editing target into the first 3D SLAM data (keyframe and edge set) that is the current editing target, and merges the first and second 3D SLAM data to obtain integrated 3D SLAM data. can be obtained.

이때, 편집부(150)는 3D SLAM 데이터에 해당되는 기준 좌표계(reference frame)을 조절하여 통합 3D SLAM 데이터를 획득할 수 있다. 예컨대, 편집부(150)는 제1 3D SLAM 데이터의 기준 좌표계를 변경(원점으로 지정 등)하고, 새로운 제2 3D SLAM 데이터의 기준 좌표계를 변경하며, 기준 좌표계가 변경된 제1 및 제2 3D SLAM 데이터를 정렬(align)하여 통합 3D SLAM 데이터를 획득할 수 있다.In this case, the editing unit 150 may obtain the integrated 3D SLAM data by adjusting a reference frame corresponding to the 3D SLAM data. For example, the editing unit 150 changes the reference coordinate system of the first 3D SLAM data (designated as the origin, etc.), changes the reference coordinate system of the new second 3D SLAM data, and first and second 3D SLAM data in which the reference coordinate system is changed can be aligned to obtain integrated 3D SLAM data.

업데이트부(170)는 편집부(150)에 의해 편집된 키프레임이나 에지를 기반으로 편집 대상인 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여, 3D SLAM 데이터를 업데이트할 수 있다.The update unit 170 may update the 3D SLAM data by optimizing a pose graph of the 3D SLAM data to be edited based on the keyframe or edge edited by the editing unit 150 .

즉, 업데이트부(170)는 편집부(150)에 의해 편집된 키프레임과 에지를 기반으로 위치 그래프 최적화(pose graph optimization)를 수행하여 위치 그래프(pose graph)의 키프레임 위치를 조정하고, 조정된 키프레임의 위치를 기반으로 정점(vertex)의 위치를 조정하여, 3D SLAM 데이터를 업데이트할 수 있다.That is, the update unit 170 performs position graph optimization based on the keyframe and the edge edited by the editing unit 150 to adjust the keyframe position of the position graph, and adjust the adjusted position of the position graph. 3D SLAM data can be updated by adjusting the positions of vertices based on the positions of keyframes.

다시 설명하면, 편집되기 전의 키프레임들과 에지들로 이루어진 위치 그래프는 편집되기 전에 이미 SLAM 과정에서 최적화된 그래프이다. 그러나, 본 발명에 따른 3D SLAM 데이터 편집 과정을 통해 키프레임, 에지 등이 편집되는 경우, 변경된 내용을 반영하기 위해 위치 그래프 최적화를 수행하여 위치 그래프를 최적화한다. 여기서, 최적화는 키프레임의 위치와 에지 정보(한 키프레임에서 바라 보는 다른 키프레임의 위치)들로 이루어진 위치 그래프에서 키프레임의 위치를 에지 정보에 맞추어 오차가 최소화되도록 조절하는 과정을 말한다.In other words, the position graph composed of keyframes and edges before being edited is already optimized in the SLAM process before being edited. However, when keyframes, edges, etc. are edited through the 3D SLAM data editing process according to the present invention, the position graph is optimized by performing position graph optimization to reflect the changed contents. Here, the optimization refers to a process of adjusting the position of a keyframe to match the edge information in a position graph composed of keyframe positions and edge information (positions of other keyframes viewed from one keyframe) so that the error is minimized.

관리부(190)는 3D SLAM 데이터 편집 장치(100)의 전반적인 동작(사용자 인증 기능, 데이터 관리 기능, 편집 기능, 업데이트 기능, 표시 기능, 히스토리 관리 기능 등)을 제어하며, 입력부(110)를 통한 사용자 조작에 따라 표시부(130), 편집부(150) 및 업데이트부(170)의 동작을 제어할 수 있다.The management unit 190 controls the overall operation (user authentication function, data management function, editing function, update function, display function, history management function, etc.) of the 3D SLAM data editing apparatus 100, and the user through the input unit 110 Operations of the display unit 130 , the editing unit 150 , and the update unit 170 may be controlled according to the manipulation.

특히, 본 발명에 따른 관리부(190)는 업데이트부(170)에 의해 업데이트된 3D SLAM 데이터를 기반으로 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성할 수 있다.In particular, the manager 190 according to the present invention may generate a 2D grid map corresponding to the 3D SLAM data based on the 3D SLAM data updated by the updater 170 .

한편, 3D SLAM 데이터 편집 장치(100)가 독립적인 하나의 장치인 것으로 도 1에 도시하였으나, 본 발명은 이에 한정되지 않고 실시예에 따라 서버-클라이언트 형태, 소프트웨어 형태 등과 같이 다양한 형태로 구현될 수 있다. 예컨대, 본 발명에 따른 3D SLAM 데이터 편집 장치(100)는 서버에 포함되어 웹 서비스 형태로 3D SLAM 데이터 편집 기능을 클라이언트에게 제공하고, 클라이언트는 데스크탑 컴퓨터, 노트북, 태블릿, 스마트폰 등과 같은 사용자 단말을 통해 서버에 접속하여 3D SLAM 데이터 편집 기능을 이용할 수 있다. 또한, 본 발명에 따른 3D SLAM 데이터 편집 장치(100)는 사용자 단말에 설치되어 동작되는 소프트웨어 형태로 구현되어 서버에 저장되고, 해당 소프트웨어를 사용자 단말에 설치하여 3D SLAM 데이터 편집 기능을 이용할 수도 있다.Meanwhile, although the 3D SLAM data editing apparatus 100 is illustrated in FIG. 1 as an independent device, the present invention is not limited thereto and may be implemented in various forms such as a server-client form, a software form, etc. according to embodiments. there is. For example, the 3D SLAM data editing apparatus 100 according to the present invention is included in the server and provides a 3D SLAM data editing function to the client in the form of a web service, and the client provides a user terminal such as a desktop computer, a laptop computer, a tablet, a smart phone, etc. You can access the server through the 3D SLAM data editing function. In addition, the 3D SLAM data editing apparatus 100 according to the present invention is implemented in the form of software installed and operated in the user terminal and stored in the server, and the software may be installed in the user terminal to use the 3D SLAM data editing function.

그러면, 도 2 내지 도 4를 참조하여 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 편집 과정에 대하여 설명한다.Next, a process of editing 3D SLAM data according to a preferred embodiment of the present invention will be described with reference to FIGS. 2 to 4 .

도 2는 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 편집 과정을 설명하기 위한 도면이고, 도 3은 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 일례를 설명하기 위한 도면이며, 도 4는 본 발명의 바람직한 실시예에 따른 2D 격자 지도의 일례를 설명하기 위한 도면이다.2 is a view for explaining an editing process of 3D SLAM data according to a preferred embodiment of the present invention, FIG. 3 is a view for explaining an example of 3D SLAM data according to a preferred embodiment of the present invention, FIG. 4 is It is a diagram for explaining an example of a 2D grid map according to a preferred embodiment of the present invention.

도 2를 참조하면, 편집 대상인 3D SLAM 데이터(도 3 참조)가 입력되면, 3D SLAM 데이터 편집 장치(100)는 사용자의 조작에 따라, 편집 대상인 3D SLAM 데이터의 키프레임을 편집하거나, 편집 대상인 3D SLAM 데이터의 에지를 편집하거나, 편집 대상인 3D SLAM 데이터를 자동으로 편집하게 된다.Referring to FIG. 2 , when 3D SLAM data to be edited (refer to FIG. 3 ) is input, the 3D SLAM data editing apparatus 100 edits a keyframe of 3D SLAM data to be edited or 3D to be edited according to a user's manipulation. The edge of the SLAM data is edited or the 3D SLAM data to be edited is automatically edited.

그러면, 그래프의 키프레임이나 에지가 업데이트가 되고, 3D SLAM 데이터 편집 장치(100)는 업데이트된(즉, 편집된) 키프레임이나 에지를 기반으로 3D SLAM 데이터의 위치 그래프를 최적화여 그래프를 업데이트하게 된다.Then, the keyframe or edge of the graph is updated, and the 3D SLAM data editing apparatus 100 optimizes the position graph of the 3D SLAM data based on the updated (ie, edited) keyframe or edge to update the graph. do.

그러면, 그래프가 최적화되고, 3D SLAM 데이터 편집 장치(100)는 최적화된(즉, 업데이트된) 3D SLAM 데이터를 출력으로 제공하고, 최적화된(즉, 업데이트된) 3D SLAM 데이터에 대응되는 2D 격자 지도(도 4 참조)를 생성하여 제공하게 된다.Then, the graph is optimized, and the 3D SLAM data editing apparatus 100 provides the optimized (ie, updated) 3D SLAM data as an output, and a 2D grid map corresponding to the optimized (ie, updated) 3D SLAM data. (See FIG. 4) is generated and provided.

그러면, 도 5 및 도 6을 참조하여 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 편집 화면의 구성에 대하여 설명한다.Next, the configuration of the 3D SLAM data editing screen according to a preferred embodiment of the present invention will be described with reference to FIGS. 5 and 6 .

도 5는 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터의 편집 화면 구성을 설명하기 위한 도면이고, 도 6은 도 5에 도시한 3D SLAM 데이터의 편집 화면 구성의 구현 일례를 설명하기 위한 도면이다.5 is a diagram for explaining the configuration of the 3D SLAM data editing screen according to a preferred embodiment of the present invention, and FIG. 6 is a diagram for explaining an implementation example of the 3D SLAM data editing screen configuration shown in FIG. 5 .

도 5 및 도 6을 참조하면, 3D SLAM 데이터의 편집 화면은 "Menu" 항목, "Toolbox" 항목, "Panel 1" 항목, "Panel 2" 항목, 및 "Map" 항목으로 이루어질 수 있다.5 and 6 , the 3D SLAM data editing screen may include a “Menu” item, a “Toolbox” item, a “Panel 1” item, a “Panel 2” item, and a “Map” item.

"Menu" 항목은 본 발명에 따른 3D SLAM 데이터 편집기에서 지원하는 다양한 기능을 실행할 수 있는 기능들을 표시할 수 있다.The "Menu" item may display functions capable of executing various functions supported by the 3D SLAM data editor according to the present invention.

"Toolbox" 항목은 자주 사용되는 기능들을 표시할 수 있다.The "Toolbox" item can display frequently used functions.

"Panel 1" 항목은 편집 대상인 3D SLAM 데이터의 키프레임과 에지에 대한 정보(즉, 고유 식별 정보 등)의 목록을 표시할 수 있다.The "Panel 1" item may display a list of keyframes and edge information (ie, unique identification information, etc.) of 3D SLAM data to be edited.

"Panel 2" 항목은 "Panel 1" 항목에 표시되는 목록 중에서 사용자의 조작에 의해 선택된 타겟(선택된 키프레임, 선택된 셀, 선택된 에지 등)에 대한 정보들을 표시할 수 있다.The "Panel 2" item may display information about a target (selected keyframe, selected cell, selected edge, etc.) selected by a user's manipulation from among the list displayed in the "Panel 1" item.

"Map" 항목은 편집 대상인 3D SLAM 데이터를 표시하며, 특정 타겟(키프레임, 셀, 에지 등)이 선택된 경우 이에 대응되는 부분을 표시할 수 있다.The "Map" item displays 3D SLAM data to be edited, and when a specific target (keyframe, cell, edge, etc.) is selected, a corresponding part may be displayed.

그러면, 도 7을 참조하여 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 방법에 대하여 설명한다.Then, a 3D SLAM data editing method according to a preferred embodiment of the present invention will be described with reference to FIG. 7 .

도 7은 본 발명의 바람직한 실시예에 따른 3D SLAM 데이터 편집 방법을 설명하기 위한 흐름도이다.7 is a flowchart illustrating a 3D SLAM data editing method according to a preferred embodiment of the present invention.

도 7을 참조하면, 3D SLAM 데이터 편집 장치(100)는 사용자의 조작에 따라 3D SLAM 데이터의 키프레임(keyframe)이나 에지(edge)를 편집한다(S110).Referring to FIG. 7 , the 3D SLAM data editing apparatus 100 edits a keyframe or an edge of 3D SLAM data according to a user's manipulation ( S110 ).

즉, 3D SLAM 데이터 편집 장치(100)는 키프레임을 선택하거나 해제하는 동작, 선택된 키프레임 내의 정보를 변경하는 동작, 선택된 키프레임 내에서 미리 설정된 높이보다 낮거나 높은 셀을 삭제하는 동작, 선택된 키프레임 내에서 지정된 셀을 삭제하는 동작, 선택된 키프레임 내의 셀 중에서 셀 내의 포인트 개수가 미리 설정된 값보다 작은 셀을 삭제하는 동작, 및 선택된 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 변경하는 동작 중 하나를 수행하여, 3D SLAM 데이터의 키프레임을 편집할 수 있다.That is, the 3D SLAM data editing apparatus 100 performs an operation of selecting or canceling a keyframe, an operation of changing information in the selected keyframe, an operation of deleting cells having a height lower than or higher than a preset height within the selected keyframe, an operation of the selected key Information on the operation of deleting the specified cell within the frame, the operation of deleting the cell in which the number of points in the cell is less than a preset value among the cells within the selected keyframe, and the vertex when the selected keyframe is a vertex You can edit the keyframe of 3D SLAM data by performing one of the operations of changing .

이때, 3D SLAM 데이터 편집 장치(100)는 선택된 키프레임 내의 정보 중에서 선택된 키프레임 내의 셀이 가지고 있는 인공 구조물 여부에 대한 정보를 편집하는 동작(즉, 선택된 키프레임 내의 정보를 변경하는 동작)을 수행하여, 3D SLAM 데이터의 인공 구조물을 편집할 수 있다.At this time, the 3D SLAM data editing apparatus 100 performs an operation of editing information on whether a cell in the selected keyframe has an artificial structure among the information in the selected keyframe (ie, changing information in the selected keyframe). Thus, artificial structures of 3D SLAM data can be edited.

또한, 3D SLAM 데이터 편집 장치(100)는 에지를 선택하거나 해제하는 동작, 선택된 에지의 정보를 변경하는 동작, 선택된 에지를 삭제하는 동작, 및 새로운 에지를 추가하는 동작 중 하나를 수행하여, 3D SLAM 데이터의 에지를 편집할 수 있다.In addition, the 3D SLAM data editing apparatus 100 performs one of an operation of selecting or releasing an edge, an operation of changing information on the selected edge, an operation of deleting the selected edge, and an operation of adding a new edge, thereby performing 3D SLAM data editing. You can edit the edges of the data.

아울러, 3D SLAM 데이터 편집 장치(100)는 키프레임 내 셀(cell)의 노이즈를 자동으로 제거하거나, 위치 그래프(pose graph)에서 아웃라이어 에지(outlier edge)를 검출하여 자동으로 삭제하는, 자동 편집 동작을 수행하여, 3D SLAM 데이터를 자동으로 편집할 수 있다.In addition, the 3D SLAM data editing apparatus 100 automatically removes noise of cells within a keyframe or detects and automatically deletes an outlier edge from a pose graph. By performing an action, you can automatically edit 3D SLAM data.

그리고, 3D SLAM 데이터 편집 장치(100)는 사용자 조작에 따라 편집 대상인 복수개의 3D SLAM 데이터를 병합하여 통합 3D SLAM 데이터를 획득할 수 있다.In addition, the 3D SLAM data editing apparatus 100 may acquire integrated 3D SLAM data by merging a plurality of 3D SLAM data to be edited according to a user manipulation.

그러면, 3D SLAM 데이터 편집 장치(100)는 편집된 키프레임이나 에지를 기반으로 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimization)하여, 3D SLAM 데이터를 업데이트한다(S130).Then, the 3D SLAM data editing apparatus 100 updates the 3D SLAM data by optimizing the position graph of the 3D SLAM data based on the edited keyframe or edge (S130).

즉, 3D SLAM 데이터 편집 장치(100)는 편집된 키프레임과 에지를 기반으로 위치 그래프 최적화(pose graph optimization)를 수행하여 위치 그래프(pose graph)의 키프레임 위치를 조정하고, 조정된 키프레임의 위치를 기반으로 정점(vertex)의 위치를 조정하여, 3D SLAM 데이터를 업데이트할 수 있다.That is, the 3D SLAM data editing apparatus 100 performs position graph optimization based on the edited keyframe and edge to adjust the position of the keyframe of the position graph and adjust the position of the adjusted keyframe. 3D SLAM data can be updated by adjusting the position of a vertex based on the position.

이후, 3D SLAM 데이터 편집 장치(100)는 업데이트된 3D SLAM 데이터를 기반으로 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성한다(S150).Thereafter, the 3D SLAM data editing apparatus 100 generates a 2D grid map corresponding to the 3D SLAM data based on the updated 3D SLAM data (S150).

이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록 매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록 매체로서는 자기기록매체, 광 기록매체 등이 포함될 수 있다.Even though all the components constituting the embodiment of the present invention described above are described as being combined or operated in combination, the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all the components may operate by selectively combining one or more. In addition, all of the components may be implemented as one independent hardware, but a part or all of each component is selectively combined to perform some or all of the functions of the combined hardware in one or a plurality of hardware program modules It may be implemented as a computer program having In addition, such a computer program is stored in a computer readable media such as a USB memory, a CD disk, a flash memory, etc., read and executed by a computer, thereby implementing an embodiment of the present invention. The recording medium of the computer program may include a magnetic recording medium, an optical recording medium, and the like.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications, changes, and substitutions are possible within the range that does not depart from the essential characteristics of the present invention by those of ordinary skill in the art to which the present invention pertains. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are for explaining, not limiting, the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited by these embodiments and the accompanying drawings . The protection scope of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100 : 3D SLAM 데이터 편집 장치,
110 : 입력부,
130 : 표시부,
150 : 편집부,
170 : 업데이트부,
190 : 관리부
100: 3D SLAM data editing device;
110: input unit,
130: display unit;
150: editorial department;
170: update unit,
190: management

Claims (13)

사용자의 조작에 의해 3D SLAM 데이터를 직접 편집하는 3D SLAM 데이터 편집 장치로서,
상기 3D SLAM 데이터의 키프레임(keyframe)이나 에지(edge)를 편집하는 편집부;
상기 편집부에 의해 편집된 상기 키프레임이나 상기 에지를 기반으로 상기 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여, 상기 3D SLAM 데이터를 업데이트하는 업데이트부; 및
상기 업데이트부에 의해 업데이트된 상기 3D SLAM 데이터를 기반으로 상기 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성하는 관리부;
를 포함하는 3D SLAM 데이터 편집 장치.
A 3D SLAM data editing device that directly edits 3D SLAM data by user operation, comprising:
an editing unit for editing a keyframe or an edge of the 3D SLAM data;
an update unit configured to update the 3D SLAM data by optimizing a position graph of the 3D SLAM data based on the keyframe or the edge edited by the editing unit; and
a management unit generating a 2D grid map corresponding to the 3D SLAM data based on the 3D SLAM data updated by the update unit;
3D SLAM data editing device comprising a.
제1항에서,
상기 키프레임은,
키프레임의 고유 식별 정보, 키프레임의 위치(pose), 키프레임의 공분산(covariance), 스캔 정보, 셀(cell) 개수 및 가지고 있는 셀에 대한 정보를 포함하는,
3D SLAM 데이터 편집 장치.
In claim 1,
The keyframe is
Unique identification information of the keyframe, the position of the keyframe (pose), the covariance of the keyframe, scan information, including information about the number of cells and the cell,
3D SLAM data editing device.
제2항에서,
상기 편집부는,
상기 키프레임을 선택하거나 해제하는 동작, 선택된 상기 키프레임 내의 정보를 변경하는 동작, 선택된 상기 키프레임 내에서 미리 설정된 높이보다 낮거나 높은 셀을 삭제하는 동작, 선택된 상기 키프레임 내에서 지정된 셀을 삭제하는 동작, 선택된 상기 키프레임 내의 셀 중에서 셀 내의 포인트 개수가 미리 설정된 값보다 작은 셀을 삭제하는 동작, 및 선택된 상기 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 변경하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 키프레임을 편집하는,
3D SLAM 데이터 편집 장치.
In claim 2,
The editorial unit,
Selecting or canceling the keyframe, changing information in the selected keyframe, deleting a cell lower or higher than a preset height in the selected keyframe, deleting a designated cell in the selected keyframe operation, deleting a cell in which the number of points in a cell is smaller than a preset value among cells in the selected keyframe, and changing information about a vertex when the selected keyframe is a vertex Editing the keyframe of the 3D SLAM data by doing one,
3D SLAM data editing device.
제1항에서,
상기 에지는,
관찰하는 기준이 되는 키프레임의 고유 식별 정보, 관찰이 되는 키프레임의 고유 식별 정보 및 관찰되는 위치 정보를 포함하는,
3D SLAM 데이터 편집 장치.
In claim 1,
The edge is
Including the unique identification information of the keyframe to be observed, the unique identification information of the keyframe to be observed, and the observed position information,
3D SLAM data editing device.
제4항에서,
상기 편집부는,
상기 에지를 선택하거나 해제하는 동작, 선택된 상기 에지의 정보를 변경하는 동작, 선택된 상기 에지를 삭제하는 동작, 및 새로운 상기 에지를 추가하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 에지를 편집하는,
3D SLAM 데이터 편집 장치.
In claim 4,
The editorial unit,
Editing the edge of the 3D SLAM data by performing one of an operation of selecting or canceling the edge, an operation of changing information on the selected edge, an operation of deleting the selected edge, and an operation of adding a new edge doing,
3D SLAM data editing device.
제1항에서,
상기 업데이트부는,
상기 편집부에 의해 편집된 상기 키프레임과 상기 에지를 기반으로 위치 그래프 최적화(pose graph optimization)를 수행하여 상기 위치 그래프(pose graph)의 상기 키프레임 위치를 조정하고, 조정된 상기 키프레임의 위치를 기반으로 정점(vertex)의 위치를 조정하여, 상기 3D SLAM 데이터를 업데이트하는,
3D SLAM 데이터 편집 장치.
In claim 1,
The update unit,
Position graph optimization (pose graph optimization) is performed based on the keyframe and the edge edited by the editing unit to adjust the keyframe position of the position graph, and the adjusted position of the keyframe By adjusting the position of the vertex based on the 3D SLAM data,
3D SLAM data editing device.
제1항에서,
상기 편집부는,
상기 키프레임 내 셀(cell)의 노이즈를 자동으로 제거하거나, 상기 위치 그래프에서 아웃라이어 에지(outlier edge)를 검출하여 자동으로 삭제하는,
3D SLAM 데이터 편집 장치.
In claim 1,
The editorial unit,
Automatically removing noise of cells in the keyframe, or detecting and automatically deleting an outlier edge in the position graph,
3D SLAM data editing device.
제1항에서,
상기 3D SLAM 데이터를 화면에 표시하는 표시부;
를 더 포함하는 3D SLAM 데이터 편집 장치.
In claim 1,
a display unit for displaying the 3D SLAM data on a screen;
3D SLAM data editing device further comprising a.
제9항에서,
상기 표시부는,
선택된 상기 키프레임에 대한 정보를 화면에 표시하는 동작, 선택된 상기 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 화면에 표시하는 동작, 상기 키프레임이 선택되고 높이가 설정되면 선택된 상기 키프레임 내의 셀 중에서 설정된 높이에 위치해 있는 셀을 표시하는 동작, 선택된 상기 에지에 대한 정보를 화면에 표시하는 동작, 및 선택된 상기 키프레임, 선택된 상기 키프레임 내의 셀 중에서 선택된 셀, 또는 선택된 상기 에지를 표시하거나 숨기는 동작 중 하나를 수행하는,
3D SLAM 데이터 편집 장치.
In claim 9,
The display unit,
The operation of displaying information on the selected keyframe on the screen, the operation of displaying information on the vertex on the screen when the selected keyframe is a vertex, the operation of displaying the information on the vertex on the screen when the keyframe is selected and the height is set An operation of displaying a cell located at a set height among cells within the keyframe, an operation of displaying information on the selected edge on a screen, and an operation of displaying the selected keyframe, a selected cell from among cells within the selected keyframe, or the selected edge to perform one of the following actions: to show or hide
3D SLAM data editing device.
사용자의 조작에 의해 3D SLAM 데이터를 직접 편집하는 3D SLAM 데이터 편집 장치에서 수행되는 편집 방법으로서,
상기 3D SLAM 데이터의 키프레임(keyframe)이나 에지(edge)를 편집하는 단계;
편집된 상기 키프레임이나 상기 에지를 기반으로 상기 3D SLAM 데이터의 위치 그래프(pose graph)를 최적화(optimizaion)하여, 상기 3D SLAM 데이터를 업데이트하는 단계; 및
업데이트된 상기 3D SLAM 데이터를 기반으로 상기 3D SLAM 데이터에 대응되는 2D 격자 지도(grid map)를 생성하는 단계;
를 포함하는 3D SLAM 데이터 편집 방법.
An editing method performed in a 3D SLAM data editing device that directly edits 3D SLAM data by a user's manipulation, comprising:
editing a keyframe or edge of the 3D SLAM data;
updating the 3D SLAM data by optimizing a position graph of the 3D SLAM data based on the edited keyframe or the edge; and
generating a 2D grid map corresponding to the 3D SLAM data based on the updated 3D SLAM data;
3D SLAM data editing method comprising
제10항에서,
상기 편집 단계는,
상기 키프레임을 선택하거나 해제하는 동작, 선택된 상기 키프레임 내의 정보를 변경하는 동작, 선택된 상기 키프레임 내에서 미리 설정된 높이보다 낮거나 높은 셀을 삭제하는 동작, 선택된 상기 키프레임 내에서 지정된 셀을 삭제하는 동작, 선택된 상기 키프레임 내의 셀 중에서 셀 내의 포인트 개수가 미리 설정된 값보다 작은 셀을 삭제하는 동작, 및 선택된 상기 키프레임이 정점(vertex)일 경우 정점(vertex)에 대한 정보를 변경하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 키프레임을 편집하는 것으로 이루어지는,
3D SLAM 데이터 편집 방법.
In claim 10,
The editing step is
Selecting or canceling the keyframe, changing information in the selected keyframe, deleting a cell lower or higher than a preset height in the selected keyframe, deleting a designated cell in the selected keyframe operation, deleting a cell in which the number of points in a cell is smaller than a preset value among cells in the selected keyframe, and changing information about a vertex when the selected keyframe is a vertex Doing one consists of editing the keyframes of the 3D SLAM data,
How to edit 3D SLAM data.
제10항에서,
상기 편집 단계는,
상기 에지를 선택하거나 해제하는 동작, 선택된 상기 에지의 정보를 변경하는 동작, 선택된 상기 에지를 삭제하는 동작, 및 새로운 상기 에지를 추가하는 동작 중 하나를 수행하여, 상기 3D SLAM 데이터의 상기 에지를 편집하는 것으로 이루어지는,
3D SLAM 데이터 편집 방법.
In claim 10,
The editing step is
Editing the edge of the 3D SLAM data by performing one of an operation of selecting or canceling the edge, an operation of changing information on the selected edge, an operation of deleting the selected edge, and an operation of adding a new edge made by doing
How to edit 3D SLAM data.
제10항 내지 제12항 중 어느 한 항에 기재된 3D SLAM 데이터 편집 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium in order to execute the 3D SLAM data editing method according to any one of claims 10 to 12 in a computer.
KR1020210073735A 2020-11-12 2021-06-07 Apparatus and method for editing 3D SLAM data KR20220064884A (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/KR2021/016525 WO2022103195A1 (en) 2020-11-12 2021-11-12 Robot system
EP21892362.1A EP4245474A1 (en) 2020-11-12 2021-11-12 Robot system
US18/316,160 US20240078774A1 (en) 2020-11-12 2023-05-11 Apparartus and method for editing 3d slam data
US18/316,167 US20240077881A1 (en) 2020-11-12 2023-05-11 Apparatus for detecting and removing dynamic obstacle for robot and operating method thereof
US18/316,145 US20240085188A1 (en) 2020-11-12 2023-05-11 Apparatus and method for localizing robot having robustness to dynamic environments

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200151000 2020-11-12
KR1020200151000 2020-11-12

Publications (1)

Publication Number Publication Date
KR20220064884A true KR20220064884A (en) 2022-05-19

Family

ID=81801079

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020210073735A KR20220064884A (en) 2020-11-12 2021-06-07 Apparatus and method for editing 3D SLAM data
KR1020210073734A KR102556355B1 (en) 2020-11-12 2021-06-07 Apparatus and method for localization of robot having robustness to dynamic environments
KR1020210153743A KR102651025B1 (en) 2020-11-12 2021-11-10 Apparatus and for detecting and removing dynamic obstacle of robot and operating method thereof

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020210073734A KR102556355B1 (en) 2020-11-12 2021-06-07 Apparatus and method for localization of robot having robustness to dynamic environments
KR1020210153743A KR102651025B1 (en) 2020-11-12 2021-11-10 Apparatus and for detecting and removing dynamic obstacle of robot and operating method thereof

Country Status (1)

Country Link
KR (3) KR20220064884A (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102517351B1 (en) 2022-08-19 2023-04-03 주식회사 트위니 Transport robot capable of discriminating temporary obstacle and temporary obstacle removal method
CN117804423A (en) * 2022-09-26 2024-04-02 华为云计算技术有限公司 Repositioning method and device
KR20240095567A (en) 2022-12-16 2024-06-26 주식회사 클로봇 Robot for determining a position in space and operation method thereof
CN115979248B (en) * 2023-03-17 2023-08-18 上海仙工智能科技有限公司 Map updating method and system based on positioning pose as constraint and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101362961B1 (en) * 2009-08-31 2014-02-12 니토 로보틱스 인코퍼레이티드 Method and apparatus for simultaneous localization and mapping of mobile robot environment
KR101941852B1 (en) * 2017-04-05 2019-01-24 충북대학교 산학협력단 Keyframe extraction method for graph-slam and apparatus using thereof
KR102296908B1 (en) * 2019-03-19 2021-09-02 한국전자통신연구원 Method for managing a feature map and apparatus for the same
KR102243179B1 (en) * 2019-03-27 2021-04-21 엘지전자 주식회사 Moving robot and control method thereof
US12085951B2 (en) * 2019-06-14 2024-09-10 Lg Electronics Inc. Method of updating map in fusion SLAM and robot implementing same

Also Published As

Publication number Publication date
KR20220064883A (en) 2022-05-19
KR102556355B1 (en) 2023-07-17
KR102651025B1 (en) 2024-03-25
KR20220064913A (en) 2022-05-19

Similar Documents

Publication Publication Date Title
KR20220064884A (en) Apparatus and method for editing 3D SLAM data
CN111744199B (en) Image processing method and device, computer readable storage medium and electronic equipment
KR20060080528A (en) Object model tree diagram
US20240085188A1 (en) Apparatus and method for localizing robot having robustness to dynamic environments
KR20220041792A (en) Radar point cloud data processing method and device, apparatus, storage medium and computer program
CN112904369B (en) Robot repositioning method, apparatus, robot, and computer-readable storage medium
EP3696745A1 (en) Intelligent workflow advisor for part design, simulation and manufacture
EP4071710A1 (en) Object detecting device, object detecting method, and object detecting program
US20210279271A1 (en) Data module creation from images
CN112023400B (en) Altitude map generation method, device, equipment and storage medium
CN114415654A (en) Method and equipment for generating escaping path
KR102252374B1 (en) Ray-tracing Unit and Method for processing ray data
US9329839B2 (en) Multi-view form design
CN113808142B (en) Ground identification recognition method and device and electronic equipment
KR20210147949A (en) Correlated slice and view image annotation for machine learning
US9575949B2 (en) Multi-view runtime interrogator
CN113918198B (en) Model-code synchronization method
US20180350156A1 (en) Three-dimensional data processing apparatus and three-dimensional data processing method
KR102300417B1 (en) Electronic device that enable automatic matching of chart areas and legend areas in chart images embedded in electronic document and operating method thereof
Maier et al. Recording, processing, and visualizing changes in diagrams
US12032617B2 (en) Ontology creating apparatus, method, and program
US11887387B2 (en) Mesh structure equipment detection apparatus, mesh structure equipment detection method and program
US8654123B2 (en) CAD-system projection method, CAD-system, and recording medium
CN114036166A (en) High-precision map data updating method and device, electronic equipment and storage medium
US20240086810A1 (en) Method of partial validation of an organizational structure

Legal Events

Date Code Title Description
E902 Notification of reason for refusal