KR102847100B1 - Efficient 3D map generation method based on multi robots - Google Patents
Efficient 3D map generation method based on multi robotsInfo
- Publication number
- KR102847100B1 KR102847100B1 KR1020240187041A KR20240187041A KR102847100B1 KR 102847100 B1 KR102847100 B1 KR 102847100B1 KR 1020240187041 A KR1020240187041 A KR 1020240187041A KR 20240187041 A KR20240187041 A KR 20240187041A KR 102847100 B1 KR102847100 B1 KR 102847100B1
- Authority
- KR
- South Korea
- Prior art keywords
- map
- robot
- merging
- point cloud
- efficient
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
- G05D1/2465—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM] using a 3D model of the environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/243—Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
- G05D1/2435—Extracting 3D information
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/69—Coordinated control of the position or course of two or more vehicles
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
- G06T7/231—Analysis of motion using block-matching using full search
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
본 발명의 다개체 로봇 기반 효율적 3차원 지도 생성 방법은, 적어도 하나 이상의 로봇이 독립적으로 3D-SLAM을 수행하여 자신의 위치를 추정함과 동시에 3차원 점 군 지도를 생성하고, 자신들의 지역 위치와 지역 점 군 정보를 실시간으로 서버로 전송하는 단계와, 상기 서버가 각 로봇으로부터 데이터가 수신될 때마다, 수신된 3차원 점 군 지도를 2차원 점유 격자 지도로 변환하여 지도 병합을 수행함에 있어서, 지도 투영(Map projection) 단계, 특징점 추출 및 매칭(Feature extraction and matching) 단계, 이상치 제거(Outlier filtering) 단계, 그리고 지도 병합 결정 모듈(Map-Merge decision module) 수행단계를 순차적으로 반복 진행하는 단계를 포함하는 것을 특징으로 한다.The efficient 3D map generation method based on a multi-robot system of the present invention comprises a step in which at least one robot independently performs 3D-SLAM to estimate its own position and simultaneously generates a 3D point cloud map, and transmits its own local position and local point cloud information to a server in real time, and a step in which the server sequentially repeats a map projection step, a feature extraction and matching step, an outlier filtering step, and a map-merge decision module execution step when converting the received 3D point cloud map into a 2D occupancy grid map each time data is received from each robot to perform map merging.
Description
본 발명은 로봇의 지도 생성 방법에 관한 것으로서, 더 상세하게는 다개체 로봇 기반 효율적 3차원 지도 생성 방법에 관한 것이다.The present invention relates to a method for generating a map of a robot, and more particularly, to an efficient 3D map generation method based on a multi-robot system.
현대 사회에서 자동화와 효율성의 추구가 증가함에 따라, 로봇 기술에 대한 관심도 함께 높아지고 있다. 특히 다중 로봇 시스템은 기존 단일 로봇으로 수행되던 작업을 여러 로봇이 분담하여 해결할 수 있어, 다양한 산업 분야에서 그 가치를 인정받고 있다.As the pursuit of automation and efficiency increases in modern society, interest in robotics technology is also growing. In particular, multi-robot systems are gaining recognition across various industries, as they can share tasks previously performed by a single robot.
다중 로봇 시스템이 할당된 작업을 자율적으로 수행하기 위해서는, 환경에 대한 사전 정보를 갖고 있지 않은 한, SLAM(Simultaneous Localization And Mapping) 기술이 필요하다. SLAM이란 로봇이 미지의 환경을 자율적으로 탐사하고 다양한 객체와의 상호작용하기 위한 핵심 기술 중 하나이며, 로봇이 자신의 위치를 추정함과 동시에 주변 환경에 대한 지도를 생성하는 기술이다. 하지만 단일 로봇을 사용하여 넓은 환경의 지도를 생성하는 접근 방식은 센서의 측정 범위, 배터리 효율성, 그리고 시간적 제약 등을 고려했을 때 비효율적인 모습을 보인다.For a multi-robot system to autonomously perform assigned tasks, Simultaneous Localization and Mapping (SLAM) technology is necessary unless prior information about the environment is available. SLAM is a key technology that enables robots to autonomously explore unknown environments and interact with various objects. It allows a robot to estimate its own position and simultaneously create a map of its surroundings. However, approaches that use a single robot to create a map of a large environment are inefficient due to factors such as sensor measurement range, battery efficiency, and time constraints.
이러한 한계를 극복하기 위해 다중 로봇 SLAM 이 필요하며, 그 과정에서 각 로봇의 지도 간 정확한 위치와 방향 관계를 결정하고 이를 바탕으로 지도를 정합시켜 전체적인 환경을 나타내는 하나의 지도를 생성하는 지도 병합(Map-merging) 과정이 수행되어야 한다.To overcome these limitations, multi-robot SLAM is required, and in the process, a map-merging process must be performed to determine the exact position and orientation relationship between the maps of each robot and align the maps based on this to create a single map representing the overall environment.
생성된 전역 지도는 모든 로봇이 전역 좌표계로 구성된 환경을 사용하여 작업을 수행할 수 있도록 만들며, 또한 다른 로봇이 수집한 정보까지 포함되어 작업 수행에 있어 효율적인 경로 계획을 수립할 수 있는 장점이 있다.The generated global map allows all robots to perform tasks using an environment composed of a global coordinate system, and also has the advantage of being able to establish efficient path planning for task performance by including information collected by other robots.
지도병합Direct
Map merge
지도병합Indirect
Map merge
표 1은 지도 병합 기술 분류를 나타낸다.Table 1 shows the classification of map merging techniques.
2차원 혹은 3차원의 지도 병합 문제를 해결하기 위해 제안된 선행 연구는 표 1에 정리되어 있다. 지도 병합 기술은 크게 두 가지 방법으로 구분할 수 있다. 첫 번째는 다중 로봇 시스템을 활용한 직접적 지도 병합 방법으로, 이는 로봇 관측 정보 기반 지도 병합과 공통 객체 기반 지도 병합이 포함된다. 로봇 관측 정보 기반 지도 병합은 각 로봇이 서로 만나는 지점이 있다는 전제가 필요하고 공통 객체 기반 지도 병합 방법은 각 로봇이 서로 동일 객체를 검출해야 하므로 두 방법 모두 사용하는 센서의 정확도에 민감하고 환경에 의존적인 단점이 있다.Previous research proposed to solve 2D or 3D map merging problems is summarized in Table 1. Map merging techniques can be broadly categorized into two methods. The first is direct map merging using a multi-robot system, which includes map merging based on robot observation information and map merging based on common objects. Map merging based on robot observation information requires that each robot has a point of contact with each other, while map merging based on common objects requires that each robot detect the same object. Therefore, both methods are sensitive to the accuracy of the sensors used and are dependent on the environment.
두 번째로는 다중 로봇 시스템을 사용하지 않고 지도 간 매칭을 통해 이루어지는 간접적 지도 병합 방법으로, 특징점 기반 지도 병합, 스캔 매칭 기반 지도 병합, 스펙트럼 기반 지도 병합 방법을 포함한다. 이 방법들은 공통으로 많은 시간이 소요되는 단점이 있으며, 특히 3차원 지도 병합에 주로 사용되는 스캔 매칭 기반 방법은 지도 병합 과정에서 국소 최소값(Local minima)에 수렴할 수 있어, 특징점 기반 방법을 함께 사용되거나 초기 추정값(Initial guess)을 계산하기 위한 전역 정합 기법이 사전에 수행되어야 할 수 있다. 이러한 과정은 추가적인 시간 소요를 발생시키기 때문에 실시간 지도 병합 시스템에 적합하지 않다.Second, indirect map merging methods are implemented through map matching without using a multi-robot system. These methods include feature-based map merging, scan-matching-based map merging, and spectrum-based map merging. These methods commonly suffer from the drawback of being time-consuming. In particular, the scan-matching-based method, which is primarily used for 3D map merging, can converge to a local minimum during the map merging process. This necessitates the use of feature-based methods together with the scan-matching method, or the pre-implementation of a global matching technique to calculate an initial guess. This process incurs additional time consumption, making it unsuitable for real-time map merging systems.
즉, 문제점을 정리하면 다음과 같다.That is, the problems can be summarized as follows.
- 지도 병합 문제 정의- Defining the map merging problem
다중 로봇 SLAM에서 중요한 과정 중 하나는 각 로봇이 수집한 지도 데이터를 하나의 통합된 지도로 병합하는 지도 병합 과정이다. 이 과정은 각 로봇이 생성한 지도 간 변환 행렬을 계산함으로 수행된다. 따라서 3차원 점 군 지도 병합 문제는 아래 수식과 같이 3차원 변환 행렬로 정의할 수 있다.One of the key steps in multi-robot SLAM is the map merging process, which merges the map data collected by each robot into a single, unified map. This process is accomplished by calculating a transformation matrix between the maps generated by each robot. Therefore, the 3D point cloud map merging problem can be defined using a 3D transformation matrix, as shown in the equation below.
여기서 t는 이동 벡터 [△x,△y,△θ]T 이며, Rx(α),Ry(β),Rz(γ)은 각각 x,y.z축을 중심으로 αβγ만큼 회전하는 행렬을 나타낸다. Here, t is the translation vector [△ x ,△ y ,△ θ ] T , and R x (α), R y (β), and R z (γ) represent matrices that rotate by αβγ around the x and yz axes, respectively.
- 3차원 지도 병합의 문제점- Problems with merging 3D maps
3차원 지도 변환 행렬을 계산하는 것은 2차원 지도 변환 행렬을 계산하는 것보다 계산해야 하는 변수의 수와 3차원 지도를 구성하는 점 군의 수에 의해 상당한 계산 비용을 동반한다. 3차원 점군 지도는 수십만에서 수천만 개의 3차원 점을 포함하고 있으므로 ICP와 같은 스캔 매칭 기반의 방법만 사용하여도 엄청난 계산 비용을 발생시키며, 또한 국소 최소값에 수렴할 수 있어 신뢰할 수 없는 지도병합이 도출될 수 있다.Computing a 3D map transformation matrix is significantly more computationally expensive than calculating a 2D map transformation matrix due to the number of variables to be calculated and the number of point clouds that comprise the 3D map. Because 3D point cloud maps contain hundreds of thousands to tens of millions of 3D points, using scan-matching-based methods like ICP alone incurs enormous computational costs and can lead to unreliable map merges due to convergence to local minima.
이를 해결하기 위해 사전에 SHOT(Signature of Histograms ofOrienTations) 혹은 FPFH(Fast PointFeature Histogram)와 같이 점과 점 사이의 관계를 계산하여 특징점을 추출하여 점 군 간 대응 관계(Correspondence)를 명확히 하는 방법을 사용하거나 Quatro++ 혹은 Teaser와 같은 전역 정합기법을 통해 계산된 초기 추정값을 이용하는 방법이 사용될 수 있는데, 이는 추가적인 시간 소요를 발생시켜 실시간 계산이 어렵다.To solve this problem, a method can be used to extract feature points by calculating the relationship between points in advance, such as SHOT (Signature of Histograms of Orientations) or FPFH (Fast PointFeature Histogram), to clarify the correspondence between point clouds, or a method can be used to use an initial estimate calculated through a global matching technique, such as Quatro++ or Teaser. However, this takes additional time, making real-time calculation difficult.
본 발명은 상기와 같은 기술적 과제를 해결하기 위해 제안된 것으로, 3차원 점 군 지도를 2차원 점유 격자 지도로 변환하여 지도 병합을 수행함으로, 계산 비용을 감소시키고 신뢰할 수 있는 지도 병합 결과를 나타내는 방법을 제안한다.The present invention has been proposed to solve the above technical problems, and proposes a method for reducing computational costs and presenting reliable map merging results by converting a 3D point cloud map into a 2D occupancy grid map and performing map merging.
즉, 본 발명은 실내 환경에서의 실시간 3차원 점 군 지도 병합을 수행할 때 특징점 기반 지도 병합이 가지는 시간적 문제와 지도 병합이 실패하는 문제를 해결하기 위해 3차원 점 군을 2차원 점유 격자 지도로 투영하는 방법 및 지도 검사 모듈을 제안하였다. That is, the present invention proposes a method for projecting a 3D point cloud onto a 2D occupancy grid map and a map inspection module to solve the temporal problem of feature point-based map merging and the problem of map merging failure when performing real-time 3D point cloud map merging in an indoor environment.
제안된 방법은 지도 병합의 실패 경우를 줄여, 신뢰할 수 있는 결과를 나타내며, 실제 환경에서 획득한 데이터를 이용하여 실험하였을 때 기존 방법과 비교하여 적은 시간 소요를 발생시켜 실시간 지도 병합 시스템으로 적합성을 나타내었다The proposed method reduces the number of map merging failures, yields reliable results, and, when tested using data acquired in a real environment, takes less time than existing methods, demonstrating its suitability as a real-time map merging system.
상기 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 적어도 하나 이상의 로봇이 독립적으로 3D-SLAM을 수행하여 자신의 위치를 추정함과 동시에 3차원 점 군 지도를 생성하고, 자신들의 지역 위치와 지역 점 군 정보를 실시간으로 서버로 전송하는 단계와, 상기 서버가 각 로봇으로부터 데이터가 수신될 때마다, 수신된 3차원 점 군 지도를 2차원 점유 격자 지도로 변환하여 지도 병합을 수행함에 있어서, 지도 투영(Map projection) 단계, 특징점 추출 및 매칭(Feature extraction and matching) 단계, 이상치 제거(Outlier filtering) 단계, 그리고 지도 병합 결정 모듈(Map-Merge decision module) 수행단계를 순차적으로 반복 진행하는 단계를 포함하는 다개체 로봇 기반 효율적 3차원 지도 생성 방법이 제공된다.According to one embodiment of the present invention for solving the above problem, a method for efficiently generating a 3D map based on multiple robots is provided, the method comprising: a step in which at least one robot independently performs 3D-SLAM to estimate its own position and simultaneously generates a 3D point cloud map, and transmits its own local position and local point cloud information to a server in real time; and a step in which the server sequentially repeats a map projection step, a feature extraction and matching step, an outlier filtering step, and a map-merge decision module execution step when converting the received 3D point cloud map into a 2D occupancy grid map each time data is received from each robot to perform map merging.
또한, 본 발명에서 상기 지도 투영(Map projection) 단계는, 로봇의 지역 위치(Local pose)와 지역 점 군(Local PointCloud)을 받아 2차원의 점유 격자 지도를 생성함에 있어서, 점 군 정보에서 사전에 정의된 높이 정보를 기반으로 천장과 바닥 영역을 제거하는 단계와, 천장과 바닥 영역이 제거된 점 군은 소정의 변환 함수를 통해 이미지 좌표계로 투영하고 2차원 점유 격자 지도로 생성하는 단계를 포함하는 다개체 로봇 기반 효율적 3차원 지도 생성 방법이 제공된다.In addition, in the present invention, the map projection step is provided as an efficient 3D map generation method based on a multi-robot system, which includes a step of removing ceiling and floor areas based on height information defined in advance from point cloud information when generating a 2D occupancy grid map by receiving the local pose and local point cloud of the robot, and a step of projecting the point cloud from which the ceiling and floor areas have been removed into an image coordinate system through a predetermined transformation function and generating a 2D occupancy grid map.
또한, 본 발명에서 상기 변환 함수는,In addition, in the present invention, the conversion function is
이고, x0, y0 는 지도의 원점, i, j는 점유격지도의 열과 행에 해당하는 인덱스를 나타내고, height, width, resolution 은 각각 지도의 높이, 넓이, 해상도이다. 바닥 함수 는 실숫값을 가장 가까운 작은 정수로 내림하여 정수형으로 형 변환을 나타내는 것을 특징으로 한다., x 0 , y 0 are the origin of the map, i and j represent the indices corresponding to the columns and rows of the occupancy map, and height, width, and resolution are the height, width, and resolution of the map, respectively. Floor function It is characterized by representing a type conversion to an integer by rounding down a real number to the nearest smaller integer.
또한, 본 발명에서 상기 특징점 추출 및 매칭(Feature extraction and matching) 단계는, 각 로봇의 점유 격자 지도에서 AKAZE 특징점을 추출한 후, 완전 탐색(Brute Force Algorithm)을 활용하여 L2 - Norm 이 가장 작은 특징점을 매칭하는 것을 특징으로 한다.In addition, the feature extraction and matching step in the present invention is characterized by extracting AKAZE feature points from the occupied grid map of each robot, and then matching the feature point with the smallest L2-Norm using a brute force algorithm.
또한, 본 발명에서 상기 이상치 제거(Outlier filtering) 단계는, 정해진 반복 횟수 내에서 무작위로 선택된 특징점 쌍을 기반으로 변환 행렬을 계산하고, 해당 변환 행렬을 적용했을 때 정해진 오차 이내에 있는 매칭 쌍의 개수가 가장 많은 변환을 선택하여 이상치를 제거하는 것을 특징으로 한다.In addition, the outlier filtering step in the present invention is characterized in that it calculates a transformation matrix based on pairs of feature points randomly selected within a set number of repetitions, and removes outliers by selecting a transformation that has the largest number of matching pairs within a set error when the transformation matrix is applied.
또한, 본 발명에서 상기 지도 병합 결정 모듈(Map-Merge decision module) 수행단계는, 사전에 정의된 중복영역 비율 임계값(Overlap ratio threshold)과 연속프레임 임계값(Overlap frame threshold)을 사용하여, 지도 병합 여부를 결정하는 것을 특징으로 한다.In addition, in the present invention, the Map-Merge decision module execution step is characterized in that it determines whether to merge maps by using a predefined overlap ratio threshold and overlap frame threshold.
또한, 본 발명에서 상기 지도 병합 결정 모듈(Map-Merge decision module) 수행단계는, 직전 프레임과 현재 프레임에서의 각 정상치들을 꼭지점으로 가지는 사각형 중 가장 작은 사각형 Bprev, Bcurr 을 계산하고, 해당 사격형의 내부 영역 Aprev, Acurr 을 계산하는 단계와, 직전 프레임과 현재 프레임의 정상치의 합집합에서 동일한 방식으로 사각형 Bcombined 을 계산하고 해당 사각형의 내부 영역 Acombined 을 계산하는 단계와, 계산된 두 영역을 활용하여 현재 프레임의 정상치가 이전 프레임의 정상치로부터 얼마나 변했는지 나타내는 중복영역비율 Roverlap 을 계산하는 단계와, 정해진 중복영역비율 임계값과 연속프레임 임계값을 만족하는 프레임이 연속될 경우 신뢰할 수 있는 정상치로 간주하여 지도 병합을 진행하는 단계를 포함하는 것을 특징으로 한다.In addition, in the present invention, the Map-Merge decision module execution step is characterized by including the steps of: calculating the smallest rectangle B prev , B curr among the rectangles having the respective normal values in the previous frame and the current frame as vertices, and calculating the internal area A prev , A curr of the corresponding rectangular shape; calculating the rectangle B combined in the same manner from the union of the normal values of the previous frame and the current frame, and calculating the internal area A combined of the corresponding rectangle; calculating an overlap area ratio R overlap indicating how much the normal value of the current frame has changed from the normal value of the previous frame by utilizing the two calculated areas; and performing map-merging by considering a reliable normal value as a frame that satisfies a predetermined overlap area ratio threshold value and a continuous frame threshold value in a row.
본 발명은 실내 환경에서 다중 로봇 시스템을 위한 3차원 지도 병합 문제를 다룬다. The present invention addresses the problem of 3D map merging for multi-robot systems in indoor environments.
개별 로봇이 취득한 개별 지도들의 크기가 크기 때문에, 3D 지도 병합은 많은 계산 시간을 요구하며, 이는 실시간 성능을 저하시킬수 있다. 또한, 같은 환경에서도 로봇들은 다른 움직임으로 인해 개별 지도들은 상당히 다를 수 있으며, 이는 지도 병합의 정확도를 저하시킬 수 있다. Because the individual maps acquired by each robot are large, 3D map merging requires significant computational time, which can degrade real-time performance. Furthermore, even within the same environment, robots' movements can vary significantly, resulting in significant differences in their individual maps, which can reduce the accuracy of map merging.
실내 환경에서 지도 병합을 수행할 때, 모든 변수를 계산하는 것은 비효율적 일 수 있다. 따라서 본 발명에서는 3차원 점 군 지도를 2차원 점유 격자 지도로 변환하여 효율적으로 변환 행렬을 계산한다. 따라서 지도 병합 문제를 아래 수식과 2차원 변환 행렬로 축소하여 정의할 수 있다.When performing map merging in an indoor environment, calculating all variables can be inefficient. Therefore, the present invention efficiently calculates the transformation matrix by converting a 3D point cloud map into a 2D occupancy grid map. Therefore, the map merging problem can be defined by reducing it to the following equation and a 2D transformation matrix.
즉, 본 발명은 투영된 지도를 활용한 특징점 매칭과 지도 병합 결정 모듈을 포함하는 효율적인 3D 지도 병합 방법을 제안한다. 실제 환경에서 수행된 실험은 제안된 방법이 기존 방법과 비교하여 시간을 최소 58.68% 단축하며, 초기 추정값이 없음에도 지도 병합을 성공적으로 수행함을 보여준다.In other words, the present invention proposes an efficient 3D map merging method that includes a feature point matching module utilizing a projected map and a map merging decision module. Experiments conducted in a real-world environment demonstrate that the proposed method reduces the time required by at least 58.68% compared to existing methods and successfully performs map merging even without initial estimates.
도 1은 본 발명의 지도생성(병합) 방법을 처리하는 시스템의 구조를 나타낸 도면
도 2는 각 로봇 별 점유 격자 지도의 예시도
도 3은 AKAZE 특징점 매칭 결과를 나타낸 도면
도 4는 RANSAC을 이용한 이상치 제거결과를 나타낸 도면
도 5는 실시예에 따른 로봇 구성도
도 6은 실험 환경 및 각 로봇별 이동 경로의 예시도
도 7은 지도 병합 검사 모듈을 위한 정상치(inlier)를 나타낸 도면
도 8은 중복 영역을 나타낸 도면
도 9는 프레임 별 지도 병합 검사 모듈 결과를 나타낸 도면
도 10은 각 실험 환경에서의 알고리즘에 따른 지도 생성(병합) 결과를 나타낸 도면Figure 1 is a diagram showing the structure of a system that processes the map generation (merging) method of the present invention.
Figure 2 is an example of an occupancy grid map for each robot.
Figure 3 is a diagram showing the AKAZE feature point matching results.
Figure 4 is a diagram showing the results of outlier removal using RANSAC.
Figure 5 is a robot configuration diagram according to an embodiment.
Figure 6 is an example of the experimental environment and the movement path of each robot.
Figure 7 is a diagram showing an inlier for the map merge inspection module.
Figure 8 is a drawing showing an overlapping area.
Figure 9 is a diagram showing the results of the frame-by-frame map merge inspection module.
Figure 10 is a diagram showing the results of map creation (merging) according to the algorithm in each experimental environment.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.Hereinafter, in order to explain in detail to a degree that a person having ordinary skill in the art to which the present invention pertains can easily practice the technical idea of the present invention, an embodiment of the present invention will be described with reference to the attached drawings.
도 1은 본 발명의 지도생성(병합) 방법을 처리하는 시스템의 구조를 나타낸 도면이다.Figure 1 is a diagram showing the structure of a system that processes the map generation (merging) method of the present invention.
본 실시예에 따른 지도 생성 시스템(1)은 제안하고자 하는 기술적인 사상을 명확하게 설명하기 위한 간략한 구성만을 포함하고 있다.The map generation system (1) according to this embodiment includes only a brief configuration to clearly explain the technical idea to be proposed.
도 1을 참조하면, 다개체 로봇 기반 효율적 3차원 지도 생성 방법을 처리하는 시스템(1)에서,Referring to Fig. 1, in a system (1) for processing an efficient 3D map generation method based on a multi-object robot,
각 로봇(100)은 독립적으로 3D-SLAM을 수행하여 자신의 위치를 추정함과 동시에 3차원 점 군 지도를 생성하고, 자신들의 지역 위치와 지역 점 군 정보를 실시간으로 서버로 전송하고,Each robot (100) independently performs 3D-SLAM to estimate its own location and simultaneously generate a 3D point cloud map, and transmits its local location and local point cloud information to the server in real time.
서버(200)가 각 로봇(!00)으로부터 데이터가 수신될 때마다, 지도 투영(Map projection), 특징점 추출 및 매칭(Feature extraction and matching), 이상치 제거(Outlier filtering), 그리고 지도 병합 결정 모듈(Map-Merge decision module)을 순차적으로 반복 진행한다.Each time the server (200) receives data from each robot (!00), it sequentially repeats map projection, feature extraction and matching, outlier filtering, and map merge decision module.
상기와 같이 구성되는 시스템에서 처리되는 다개체 로봇 기반 효율적 3차원 지도 생성 방법의 주요동작을 살펴보면 다음과 같다.The main operations of the efficient 3D map generation method based on a multi-object robot processed in a system configured as described above are as follows.
- 전체 구조- Overall structure
본 발명에서 제안하는 방법의 전체 구조는 도 1과 같다. 서버는 각 로봇이 수집한 데이터를 처리하는 역할을 하며, 독립된 시스템 혹은 다중 로봇 시스템 내의 리더 로봇으로 구성될 수 있다.The overall structure of the method proposed in the present invention is as shown in Fig. 1. The server processes data collected by each robot and can be configured as an independent system or as a leader robot within a multi-robot system.
먼저, 각 로봇은 독립적으로 3D-SLAM을 수행하여 자신의 위치를 추정함과 동시에 3차원 점 군 지도를 생성한다. 이 과정에서, 로봇들은 자신들의 지역 위치와 지역 점 군 정보를 실시간으로 서버로 전송한다.First, each robot independently performs 3D SLAM to estimate its own position and simultaneously generate a 3D point cloud map. During this process, the robots transmit their local locations and local point cloud information to the server in real time.
서버는 데이터가 수신될 때마다, 지도 투영(Map projection), 특징점 추출 및 매칭(Feature extraction and matching), 이상치 제거(Outlier filtering), 그리고 지도 병합 결정 모듈(Map-Merge decision module)을 순차적으로 반복 진행한다.Whenever data is received, the server sequentially repeats map projection, feature extraction and matching, outlier filtering, and map-merge decision module.
지도 투영 과정에서는 3차원 점 군 데이터를 2차원 점유 격자 지도의 형태로 변환하여, 지도 병합단계에서 처리해야 할 변수의 수를 축소한다.In the map projection process, 3D point cloud data is converted into a 2D occupancy grid map, thereby reducing the number of variables that must be processed in the map merging step.
특징점 추출 및 매칭 과정에서는 점유 격자 지도 간의 변환 행렬을 계산하기 위해 Accelrated-KAZE(AKAZE) 특징점을 추출하고, 각 점유 격자 지도 간의 상응하는 특징점을 매칭한다.In the feature point extraction and matching process, Accelerated-KAZE (AKAZE) feature points are extracted to calculate a transformation matrix between occupancy grid maps, and corresponding feature points between each occupancy grid map are matched.
이상치 제거 과정에서는 특징점 매칭 과정에서 발생한 잘못된 매칭으로 지도 병합의 성능이 저하 되는 것을 방지하기 위해 RANSAC(Random Sample Consensus)를 이용하여 이상치 제거(Outlier filtering)를 수행한다.In the outlier removal process, outlier filtering is performed using RANSAC (Random Sample Consensus) to prevent map merging performance from deteriorating due to incorrect matching that occurs during the feature point matching process.
최종적으로 남은 정상치는 지도 병합 결정 모듈에서 활용되어 지도 병합 수행 여부를 결정하고, 지도 병합 수행 여부에 따라 지도 병합(생성)을 수행한다.Finally, the remaining normal values are used in the map merge decision module to determine whether to perform map merge, and map merge (generation) is performed depending on whether map merge is performed.
이하, 상술한, 지도 투영(Map projection), 특징점 추출 및 매칭(Feature extraction and matching), 이상치 제거(Outlier filtering), 그리고 지도 병합 결정 모듈(Map-Merge decision module)처리 과정을 좀 더 상세히 살펴본다.Below, we will examine in more detail the processes of map projection, feature extraction and matching, outlier filtering, and map-merge decision module described above.
(1) 지도 투영(1) Map projection
지도 투영은 로봇의 지역 위치(Local pose)와 지역 점 군(Local PointCloud)을 받아 2차원의 점유 격자 지도를 생성하는 과정이다.Map projection is the process of generating a two-dimensional occupancy grid map by receiving the robot's local pose and local point cloud.
먼저, 점 군 정보는 사전에 정의된 높이 정보를 기반으로 천장과 바닥 영역을 제거한다. 천장과 바닥이 포함된 경우 점유 격자 지도 생성 시 자유 공간과 점유 공간을 구분할 수 없고 이는 특징점 매칭에 악영향을 주기 때문이다.First, point cloud information removes ceiling and floor areas based on predefined height information. If ceilings and floors are included, free space and occupied space cannot be distinguished when generating an occupancy grid map, which negatively impacts feature point matching.
그 후 천장과 바닥 영역이 제거된 점 군은 다음과 같은 변환 함수를 통해 이미지 좌표계로 투영된다.After that, the point cloud with the ceiling and floor areas removed is projected into the image coordinate system using the following transformation function.
즉, 천장과 바닥 영역이 제거된 점 군과 로봇의 위치는 z축에 해당하는 값을 제거하여 2차원으로 변환하고, 변환 함수를 이용하여 x-y 좌표계에서 이미지 좌표계로 변환된다. 아래의 수식은 x-y 좌표계에서 이미지 좌표계로의 변환과 역변환을 나타낸다.That is, the point cloud and the robot's position from which the ceiling and floor areas have been removed are converted to two dimensions by removing the value corresponding to the z-axis, and are converted from the x-y coordinate system to the image coordinate system using a transformation function. The formulas below represent the transformation from the x-y coordinate system to the image coordinate system and the inverse transformation.
여기서 x0, y0 는 지도의 원점, i, j는 점유격지도의 열과 행에 해당하는 인덱스를 나타내고, height, width, resolution 은 각각 지도의 높이, 넓이, 해상도이다. 바닥 함수 는 실숫값을 가장 가까운 작은 정수로 내림하여 정수형으로 형 변환을 나타낸다.Here, x 0 , y 0 are the origin of the map, i and j represent the indices corresponding to the columns and rows of the occupancy map, and height, width, and resolution are the height, area, and resolution of the map, respectively. Floor function Indicates a conversion to integer type by rounding down a real number to the nearest smaller integer.
도 2는 각 로봇 별 점유 격자 지도의 예시도이다.Figure 2 is an example of an occupancy grid map for each robot.
변환이 완료된 로봇의 위치와 점 군의 위치는 브레젠험 직선 알고리즘(Bresenham’s line algorithm)을 활용하여 점유 공간과 자유 공간을 식별하고, 이를 토대로 도 2와 같이 2차원 점유 격자 지도로 생성한다. 이 과정은 3D-SLAM이 수행되는 동안 지속해서 반복하며, 각 지도를 갱신하게 된다.The positions of the robot and the point cloud after transformation are identified using the Bresenham line algorithm to identify occupied and free spaces, and based on this, a 2D occupied grid map is created, as shown in Figure 2. This process is continuously repeated while 3D-SLAM is being performed, updating each map.
(2) 특징점 추출 및 매칭 (2) Feature point extraction and matching
지도 간 변환 행렬을 계산하기 위해 생성된 점유 격자 지도의 특징점 추출 및 매칭 과정이 수행된다. 본 발명에서는 특징점 추출을 위해 AKAZE 특징점을 사용한다. AKAZE 특징점은 비선형 스케일 공간을 사용하여 기존 KAZE 특징점보다 빠르고 노이즈에 강한 장점이 있어 실시간 동작에 적합하다. 각 로봇의 점유 격자 지도에서 AKAZE 특징점을 추출한 후, 완전 탐색(Brute Force Algorithm)을 활용하여 L2 - Norm 이 가장 작은 특징점을 매칭한다. 도 3은 AKAZE 특징점 매칭 결과를 나타낸 도면이다. 즉, 도 3은 점유 격자 지도 AKAZE 특징점 매칭 결과이다.To calculate the transformation matrix between maps, a feature point extraction and matching process of the generated occupancy grid map is performed. In the present invention, AKAZE feature points are used for feature point extraction. AKAZE feature points are faster and more noise-resistant than the existing KAZE feature points by using a nonlinear scale space, making them suitable for real-time operation. After extracting AKAZE feature points from the occupancy grid map of each robot, a brute force algorithm is used to match the feature point with the smallest L2-Norm. Figure 3 is a diagram showing the AKAZE feature point matching result. That is, Figure 3 is the occupancy grid map AKAZE feature point matching result.
(3) 이상치 제거(3) Outlier removal
특징점 추출 및 매칭 과정을 통해 얻어진 특징점 쌍에는 지도 투영 과정 중 동적 객체의 영향이나 여러 요인으로 인해 이상치가 포함될 수 있다. 이러한 이상치는 지도 간 변환 관계를 계산하는 과정에서 오차를 발생할 수 있어 제거되어야 한다. Feature point pairs obtained through the feature point extraction and matching process may contain outliers due to the influence of dynamic objects or other factors during the map projection process. These outliers can cause errors in calculating the transformation relationship between maps and must therefore be removed.
본 발명에서는 이상치를 제거하기 위해 RANSAC(Random Sample Consensus) 기법을 사용한다. RANSAC 과정에서는 정해진 반복 횟수 내에서 무작위로 선택된 특징점 쌍을 기반으로 변환 행렬을 계산하고, 해당 변환 행렬을 적용했을 때 정해진 오차 이내에 있는 매칭 쌍의 개수가 가장 많은 변환을 선택하여 이상치를 제거하게 된다. 도 4는 RANSAC 를 이용한 이상치 제거 결과를 나타낸다.The present invention uses the Random Sample Consensus (RANSAC) technique to remove outliers. The RANSAC process calculates a transformation matrix based on randomly selected feature point pairs within a set number of iterations. When the transformation matrix is applied, the transformation with the largest number of matching pairs within a set error range is selected to remove outliers. Figure 4 shows the results of outlier removal using RANSAC.
상술한, 특징점 추출, 매칭 및 이상치 제거를 다시 살펴보면,Looking back at the feature extraction, matching, and outlier removal described above,
지도 투영 과정을 거쳐 생성된 점유 격자 지도는 지도 간 특징점 매칭을 수행하여 변환 행렬을 구하기 위해 사용된다. 도 2는 특징점 매칭을 위해 각 로봇이 생성한 점유 격자 지도이다.The occupancy grid map generated through the map projection process is used to obtain a transformation matrix by performing feature point matching between maps. Figure 2 shows the occupancy grid map generated by each robot for feature point matching.
본 시스템에서는 특징점 추출을 위해 AKAZE 특징점을 사용한다. AKAZE 특징점은 KAZE 특징점을 기반으로 개선된 알고리즘이다. AKAZE 특징점은 비선형 스케일 공간을 사용하여 기존 KAZE 특징점보다 노이즈에 강건한 특징점 빠르게 추출할 수 있다는 장점이 있다.This system uses AKAZE feature points for feature extraction. AKAZE feature points are an improved algorithm based on KAZE feature points. AKAZE feature points utilize a nonlinear scale space, enabling faster feature extraction and greater noise robustness than the conventional KAZE feature point.
특징점들이 추출된 후, 완전 탐색(Brute Force Algorithm)을 이용하여 L2-Norm을 기준으로 가장 가까운 특징점들을 매칭한다. 하지만 매칭 쌍 중에는 지도 투영 과정 중 동적 객체의 영향으로 발생하는 이상치 및 여러 요인으로 발생하는 이상치가 포함 될 가능성이 있어, 이를 직접 지도 병합에 사용하기에는 적합하지 않다. 따라서 이러한 이상치들을 제거하기 위해 Random Sample Consensus(RANSAC)을 적용한다.After feature points are extracted, a brute force algorithm is used to match the closest feature points based on the L2 norm. However, matching pairs may contain outliers caused by dynamic objects during the map projection process and other factors, making them unsuitable for direct map merging. Therefore, Random Sample Consensus (RANSAC) is applied to remove these outliers.
RANSAC 과정에서는 무작위로 선택된 특징점 쌍을 기반으로 변환 행렬을 계산하고, 변환 행렬을 적용했을 때 정해진 오차 범위 이내에 존재하는 매칭 쌍의 개수를 계산한다. 이 과정을 반복하여 가장 많은 매칭 쌍을 제공하는 변환 행렬을 찾고, 이상치를 제거한다. 최종적으로 추출된 정상치는 지도 병합에 사용된다. 도 3, 4는 이상치를 포함한 특징점 매칭의 결과와 RANSAC을 통해 이상치를 제거한 결과이다.The RANSAC process calculates a transformation matrix based on randomly selected feature point pairs and then calculates the number of matching pairs that fall within a given error range when the transformation matrix is applied. This process is repeated to find the transformation matrix that provides the largest number of matching pairs and to remove outliers. Finally, the extracted normal values are used for map merging. Figures 3 and 4 show the results of feature point matching including outliers and the results after outlier removal via RANSAC.
(4) 지도 병합 결정 모듈 (4) Map merge decision module
지도 병합 결정 모듈은 사전에 정의된 중복영역 비율 임계값(Overlap ratio threshold)과 연속프레임 임계값(Overlap frame threshold)을 사용하여, 지도 병합 여부를 결정한다. The map merge decision module uses a predefined overlap ratio threshold and overlap frame threshold to determine whether to merge maps.
앞선 단계에서 RANSAC을 거쳐 이상치가 제거된 정상치라 할지라도 단일 프레임에서의 정상치를 그대로 지도 병합에 사용한다면, 복도와 같은 유사한 구조를 가진 환경에서 오인된 정상치로 인해 부정확한 지도 병합 결과가 발생할 수 있다.Even if the normal values have been removed from outliers through RANSAC in the previous step, if the normal values from a single frame are used for map merging, inaccurate map merging results may occur due to misidentified normal values in environments with similar structures such as corridors.
이를 방지하기 위해, 지도 병합 결정 모듈은 연속된 프레임을 활용하여 이런 정상치들이 지도 병합에 적합한지를 판별하기 위해 설계되었다.To prevent this, the map merge decision module is designed to utilize consecutive frames to determine whether these normals are suitable for map merging.
우선, 직전 프레임과 현재 프레임에서의 각 정상치들을 꼭지점으로 가지는 사각형 중 가장 작은 사각형 Bprev, Bcurr 을 계산하고, 해당 사격형의 내부 영역 Aprev, Acurr 을 계산한다. 그 후, 직전 프레임과 현재 프레임의 정상치의 합집합에서 동일한 방식으로 사각형 Bcombined 을 계산하고 해당 사각형의 내부 영역 Acombined 을 계산한다. 계산된 두 영역을 활용하여 현재 프레임의 정상치가 이전 프레임의 정상치로부터 얼마나 변했는지 나타내는 중복영역비율 Roverlap 을 계산한다. 중복영역비율이 1에 가까우면 현재 프레임의 정상치가 이전 프레임과 유사함을 의미하며, 0에 가까워질 수록 크게 달라짐을 나타낸다. 따라서, 정해진 중복영역비율 임계값과 연속프레임 임계값을 만족하는 프레임이 연속될 경우, 이는 신뢰할 수 있는 정상치로 간주하여 지도 병합을 진행하게 된다. First, the smallest rectangle B prev , B curr among the rectangles whose vertices are the normal values in the previous frame and the current frame, are calculated, and the interior areas A prev , A curr of the corresponding rectangles are calculated. After that, the rectangle B combined is calculated in the same way from the union of the normal values in the previous frame and the current frame, and the interior area A combined of the rectangles is calculated. Using the two calculated areas, the overlap ratio R overlap , which indicates how much the normal value of the current frame has changed from the normal value of the previous frame, is calculated. An overlap ratio close to 1 indicates that the normal value of the current frame is similar to the previous frame, and a value close to 0 indicates a large difference. Therefore, if frames that satisfy the set overlap ratio threshold and the consecutive frame threshold are consecutive, they are considered reliable normal values and map merging is performed.
<표 2>Table 2
표 2는 지도 병합 검사 모듈의 의사 코드이다. 여기서 Thratio 와 Thframe 는 중복영역비율 임계값과 연속프레임 임계값을 의미하고, B는 사각형, A는 내부영역, R은 중복영역비율을 의미한다. - B,A,R은 입력으로 받은 특징점 정상치 I를 포함하여 만들 수 있는 최소한의 사각형의 좌표, 내부 영역의 넓이, 중복영역의 비율을 의미함 - C는 중복영역비율 임계값 조건을 만족하는 연속된 프레임의 수를 의미하고 S는 지도 병합 여부를 나타낸다.Table 2 is the pseudo code of the map merge inspection module. Here, Th ratio and Th frame represent the overlapping area ratio threshold and the continuous frame threshold, B represents a rectangle, A represents the internal area, and R represents the overlapping area ratio. - B, A, and R represent the coordinates of the minimum rectangle that can be created including the input feature point normal value I, the area of the internal area, and the ratio of the overlapping area. - C represents the number of consecutive frames that satisfy the overlapping area ratio threshold condition, and S indicates whether the map is merged.
상술한 바와 같이, 다중 로봇 시스템을 활용하여 협조적으로 작업을 수행하기 위해서는 공통된 지도를 작성해야 한다. 이러한 관점에서 본 발명의 효과는 다음과 같다.As described above, to perform cooperative tasks using a multi-robot system, a common map must be created. From this perspective, the advantages of the present invention are as follows.
우선, 다중 로봇 시스템에 필요한 공통된 3차원 지도를 실시간으로 획득할 수 있다.First, a common 3D map required for a multi-robot system can be obtained in real time.
또한, 3차원 점 군 지도를 2차원 점유 격자 지도로 변환하여 효율적인 3차원 지도병합을 수행할 수 있다.Additionally, efficient 3D map merging can be performed by converting a 3D point cloud map into a 2D occupancy grid map.
또한, 초기 추정치 없이 3차원 지도 병합을 수행할 수 있다.Additionally, 3D map merging can be performed without initial estimates.
또한, 지도 병합 검사모듈을 통해 신뢰할 수 있는 3차원 지도 병합을 수행할 수 있다.Additionally, reliable 3D map merging can be performed through the map merging inspection module.
즉, 상술한 본 발명의 다개체 로봇 기반 효율적 3차원 지도 생성 방법은,That is, the efficient 3D map generation method based on a multi-object robot of the present invention described above is,
지도 투영단계(단계 1), 특징점 추출 및 매칭 단계(단계 2), 이상치 제거 단계(단계 3) 및 지도 병합 결정 모듈 단계(단계 4)를 통해 처리된다.It is processed through the map projection stage (step 1), feature extraction and matching stage (step 2), outlier removal stage (step 3), and map merge decision module stage (step 4).
이하 본 발명의 시스템에서 처리되는 다개체 로봇 기반 효율적 3차원 지도 생성 방법에 대한 실험결과는 다음과 같다.The experimental results for an efficient 3D map generation method based on a multi-object robot processed in the system of the present invention are as follows.
- 실험 환경 및 다중 로봇 시스템 구성- Experimental environment and multi-robot system configuration
본 실험은 크기가 다른 두 가지의 실험 환경에서 진행되었으며, 지도 병합이 수행될 수 있도록 교차영역을 형성하였다. 도 5는 사용된 다중 로봇 시스템을 나타내며, 도 6은 사용된 실험 환경과 각 로봇의 이동 경로를 나타낸다.This experiment was conducted in two experimental environments of different sizes, forming an intersection area to enable map merging. Figure 5 illustrates the multi-robot system used, and Figure 6 illustrates the experimental environment used and the movement paths of each robot.
사용된 로봇은 OMOROBOT 사의 R1 모델이며, 3D LiDAR와 IMU는 각각 Velodyne 사의 VLP-16 모델과 Microstrain 사의 3DM-GX5-AHRS 모델을 사용했다. 로봇 간 통신을 위해 Iptime 사의 A9004M을 Mesh Network로 사용했다.The robot used is the R1 model from OMOROBOT, and the 3D LiDAR and IMU used are the VLP-16 model from Velodyne and the 3DM-GX5-AHRS model from Microstrain, respectively. For inter-robot communication, the A9004M from Iptime was used as a mesh network.
- 지도 병합 검사 모듈 결과- Map merge inspection module results
도 7은 지도 병합 검사 모듈을 위한 정상치(inlier)를 나타낸 도면이고, 도 8은 중복 영역을 나타낸 도면이고, 도 9는 프레임 별 지도 병합 검사 모듈 결과를 나타낸 도면이다.Fig. 7 is a diagram showing an inlier for a map merge inspection module, Fig. 8 is a diagram showing an overlapping area, and Fig. 9 is a diagram showing the results of the map merge inspection module for each frame.
각 도면은 실험 간 지도 병합 검사 모듈을 수행했을 때 취득한 결과이다. 즉, 도 7은 지도 병합검사 모듈에 입력으로 들어갈 정상치 특징점들이며, 이를 바탕으로 도 8과 같이 중복 영역을 계산한다. 마지막으로 도 9와 같이 연속된 프레임 동안 중복 영역의 비율이 사전에 정의한 연속프레임 임계값 이상이면 지도 병합이 수행된다.Each drawing represents the results obtained when the inter-experimental map merging inspection module was performed. Specifically, Figure 7 shows the normal feature points input to the map merging inspection module, and based on these, the overlapping area is calculated, as shown in Figure 8. Finally, as shown in Figure 9, if the ratio of overlapping areas during consecutive frames exceeds a predefined consecutive frame threshold, map merging is performed.
- 지도 병합 결과 및 분석- Map merging results and analysis
다음은 3차원 지도 병합 결과 및 분석에 관한 설명이다. 지도 병합의 정확도를 측정하는 것은 실내 환경에서의 다중 로봇 시스템의 지도 병합을 위한 공개 데이터의 부재와 정확한 평가 지표를 도출하 는 데 어려움이 있다.The following describes the 3D map merging results and analysis. Measuring the accuracy of map merging is difficult due to the lack of publicly available data for map merging of multi-robot systems in indoor environments and the difficulty in deriving accurate evaluation metrics.
본 발명에서는 Loop Closure Detection에서 Loop 발생이 판별되면, 노드 간 변환 관계를 알기 위해 추가로 ICP와 같은 방법이 사용된다는 점과 기존 ICP를 사용하여 지도 간 변환 관계를 계산한 것을 참고하여 ICP와 Voxelized-ICP와 제안된 방법을 비교하였다.In the present invention, when the occurrence of a loop is determined in Loop Closure Detection, a method such as ICP is additionally used to find out the transformation relationship between nodes, and the proposed method was compared with ICP and Voxelized-ICP by referring to the fact that the transformation relationship between maps was calculated using the existing ICP.
도 10은 각 실험 환경에서의 알고리즘에 따른 지도 생성(병합) 결과를 나타낸 도면이다. 즉, 도 10은 각 실험 환경에서 비교 알고리즘과 본 발명에서 제안한 알고리즘의 지도 병합 결과를 나타낸 것이다. Figure 10 is a diagram showing the results of map generation (merging) according to the algorithm in each experimental environment. In other words, Figure 10 shows the results of map merging of the comparative algorithm and the algorithm proposed in the present invention in each experimental environment.
각 그림에서 파란색의 점 군 지도는 로봇 1이 생성한 지도이며, 초록색의 점 군 지도는 로봇 2가 생성한 지도이다. 사용된 ICP 알고리즘은 Open3D 패키지에 내장된 함수를 사용하였으며 Voxelized-ICP는 ICP 과정 중 제안된 방법과 동일한 해상도를 가지도록 복셀화 과정을 추가하여 사용하였다. 또한 동일한 점 군 개수를 사용하기 위해 모든 방법에서 상술한 2차원에 투영된 점 군을 사용하였다.In each figure, the blue point cloud map is the map generated by Robot 1, and the green point cloud map is the map generated by Robot 2. The ICP algorithm used is a function built into the Open3D package, and Voxelized-ICP was used by adding a voxelization process to achieve the same resolution as the proposed method during the ICP process. Furthermore, to use the same number of point clouds, all methods used the point clouds projected onto the two-dimensional plane described above.
<표 3>Table 3
표 3은 ICP, Voxelized-ICP와 비교를 나타낸다.Table 3 shows a comparison with ICP and Voxelized-ICP.
비교 지표로 지도 병합 과정에서 소요된 시간(Time)과 지도 병합의 성공 여부(Success/Failure)를 측정하였으며 표 3에 정리되어 있다. 지도 병합 성공 여부는 사용된 방법의 수렴 여부를 나타낸 것이다. 표 3에 나타난 것과 같이, 제안된 방법은 시간소요 측면에서 기존 방법보다 최소 58.68% 단축을 나타내어, 이는 제안된 방법이 실시간 지도 병합에 더 적합하다는 것을 보인다.The time required for the map merging process (Time) and the success/failure of the map merging were measured as comparative metrics, and are summarized in Table 3. The success/failure of the map merging indicates whether the method used has converged. As shown in Table 3, the proposed method reduces the time required by at least 58.68% compared to existing methods, demonstrating its suitability for real-time map merging.
또한, 도 10에서 나타난 것과 같이 ICP와 Voxelized-ICP는 초기 추정값에 대한 민감성으로 인해 지도 병합에 실패하였지만, 제안된 방법은 초기 추정값 없이도 지도 병합에 성공함으로써 신뢰할 수 있는 지도 병합 결과를 제공한다.In addition, as shown in Fig. 10, ICP and Voxelized-ICP failed to merge maps due to sensitivity to initial estimates, but the proposed method succeeds in merging maps even without initial estimates, thereby providing reliable map merging results.
즉, 실험결과를 다시 요약하면, 도 6은 실험 환경 및 각 로봇별 이동 경로의 예시도 및 도 10은 각 실험 환경에서의 알고리즘에 따른 지도 생성(병합) 결과를 나타낸 도면을 참조하면,That is, to summarize the experimental results again, referring to Figure 6, which is an example diagram of the experimental environment and the movement path of each robot, and Figure 10, which is a diagram showing the results of map creation (merging) according to the algorithm in each experimental environment,
파란색 점 군 지도는 로봇 1이 생성한 점 군 지도이고, 초록색 점 군 지도는 로봇 2가 생성한 점 군 지도이다.The blue point cloud map is the point cloud map generated by Robot 1, and the green point cloud map is the point cloud map generated by Robot 2.
지도 병합 결과 비교를 위해 기존 기법인 ICP 및 Voxelized-ICP와 본 발명을 비교하였다. 비교 지표로 각 환경(Env1, Env2)에 대해서 수행 시간과 지도 병합 성공 여부를 측정하였고, 표 3에 정리되었다.To compare map merging results, the present invention was compared with existing techniques, ICP and Voxelized-ICP. Comparison metrics were used to measure execution time and map merging success for each environment (Env1, Env2), which are summarized in Table 3.
지도 병합 성공 여부는 사용된 방법의 수렴여부를 나타낸 것이다. 정량적 비교 결과 본 발명은 시간 소요 측면에서 기존 기법들에 비해 현저하게 단축된 시간을 보여주었다 이는 본 발명이 실시간 지도 병합에 더 적합하다는 것을 나타낸다. 반면 ICP 및 Voxelized-ICP 는 초기 추정치에 대한 민감성으로 인해 지도 병합에 실패하였지만, 본 발명은 초기 추정치 없이도 지도 병합에 성공함으로써 신뢰할 수 있는 지도 병합 결과를 제공한다.The success of map merging indicates the convergence of the method used. Quantitative comparison results show that the present invention significantly reduces the time required compared to existing techniques, indicating that the present invention is more suitable for real-time map merging. Conversely, ICP and Voxelized-ICP failed to merge maps due to their sensitivity to initial estimates, whereas the present invention successfully merges maps without initial estimates, thereby providing reliable map merging results.
- 결 론- conclusion
본 발명은 실내 환경에서 운용되는 다중 로봇 시스템을 위한 실시간 지도 병합 기법을 제안한다.The present invention proposes a real-time map merging technique for a multi-robot system operating in an indoor environment.
제안된 기법은 지도 투영, 특징점 추출, 매칭 및 이상치 제거 및 지도 병합 검사 모듈을 포함하며, 3차원점 군 지도 병합 시 발생하는 시간적 문제를 완화하고, 신뢰할 수 있는 지도 병합 결과를 제공한다.The proposed technique includes map projection, feature extraction, matching and outlier removal, and map merge inspection modules, which alleviate the time problems that occur when merging 3D point cloud maps and provide reliable map merge results.
이는 실제 환경에서 취득한 데이터를 이용하여 기존 방법과 비교하였을 때, 제안된 기법은 최소 58.68% 시간을 단축할 뿐만 아니라, 초기 추정값이 없음에도 성공적으로 지도 병합에 성공할 수 있음을 나타내어 입증하였다. This is proven by showing that the proposed technique not only reduces the time by at least 58.68% when compared to existing methods using data acquired in a real environment, but also successfully merges maps even without initial estimates.
참고적으로, 지도 투영 과정에서 발생하는 양자화 과정에서 오차가 고려하여, 지도 병합 성능 향상을 위해 중복 영역 내의 3차원 평면의 구조적 정보를 활용함으로써 제안된 방법의 시간적 이점을 유지하면서 지도 병합의 오차를 최소화할 수 있을 것이다.For reference, by taking into account the error in the quantization process that occurs during the map projection process, the proposed method can minimize the error in map merging while maintaining the temporal advantage by utilizing the structural information of the 3D plane within the overlapping area to improve the map merging performance.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without altering its technical spirit or essential characteristics. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims below rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included within the scope of the present invention.
100 : 로봇
200 : 서버100: Robot
200: Server
Claims (7)
상기 서버가 각 로봇으로부터 데이터가 수신될 때마다, 수신된 3차원 점 군 지도를 2차원 점유 격자 지도로 변환하여 지도 병합을 수행함에 있어서, 지도 투영(Map projection) 단계, 특징점 추출 및 매칭(Feature extraction and matching) 단계, 이상치 제거(Outlier filtering) 단계, 그리고 지도 병합 결정 모듈(Map-Merge decision module) 수행단계를 순차적으로 반복 진행하는 단계;를 포함하며
상기 지도 투영(Map projection) 단계는,
로봇의 지역 위치(Local pose)와 지역 점 군(Local PointCloud)을 받아 2차원의 점유 격자 지도를 생성함에 있어서,
점 군 정보에서 사전에 정의된 높이 정보를 기반으로 천장과 바닥 영역을 제거하는 단계;
천장과 바닥 영역이 제거된 점 군은 소정의 변환 함수를 통해 이미지 좌표계로 투영하고 2차원 점유 격자 지도로 생성하는 단계;를 포함하는
다개체 로봇 기반 효율적 3차원 지도 생성 방법.
A step in which at least one robot independently performs 3D-SLAM to estimate its own position and simultaneously generate a 3D point cloud map, and transmits its own local position and local point cloud information to a server in real time; and
The above server includes a step of sequentially repeating a map projection step, a feature extraction and matching step, an outlier filtering step, and a map-merge decision module execution step to perform map merging by converting the received 3D point cloud map into a 2D occupancy grid map whenever data is received from each robot;
The above map projection step is,
In generating a two-dimensional occupancy grid map by receiving the robot's local pose and local point cloud,
A step of removing ceiling and floor areas based on predefined height information from point cloud information;
A step of projecting a point cloud from which the ceiling and floor areas have been removed into an image coordinate system through a predetermined transformation function and generating a two-dimensional occupancy grid map;
An efficient 3D map generation method based on multi-robots.
상기 변환 함수는,
이고, x0, y0 는 지도의 원점, i, j는 점유격지도의 열과 행에 해당하는 인덱스를 나타내고, height, width, resolution 은 각각 지도의 높이, 넓이, 해상도이다. 바닥 함수 는 실숫값을 가장 가까운 작은 정수로 내림하여 정수형으로 형 변환을 나타내는 것을 특징으로 하는 다개체 로봇 기반 효율적 3차원 지도 생성 방법.
In the first paragraph,
The above conversion function is,
, x 0 , y 0 are the origin of the map, i and j represent the indices corresponding to the columns and rows of the occupancy map, and height, width, and resolution are the height, width, and resolution of the map, respectively. Floor function An efficient 3D map generation method based on a multi-object robot, characterized in that it converts a real number to an integer by rounding it down to the nearest smaller integer.
상기 특징점 추출 및 매칭(Feature extraction and matching) 단계는,
각 로봇의 점유 격자 지도에서 AKAZE 특징점을 추출한 후, 완전 탐색(Brute Force Algorithm)을 활용하여 L2 - Norm 이 가장 작은 특징점을 매칭하는 것을 특징으로 하는 다개체 로봇 기반 효율적 3차원 지도 생성 방법.
In the first paragraph,
The above feature extraction and matching step is:
An efficient 3D map generation method based on multiple robots, characterized in that AKAZE feature points are extracted from the occupancy grid map of each robot, and then an exhaustive search (Brute Force Algorithm) is utilized to match the feature points with the smallest L2-Norm.
상기 이상치 제거(Outlier filtering) 단계는,
정해진 반복 횟수 내에서 무작위로 선택된 특징점 쌍을 기반으로 변환 행렬을 계산하고, 해당 변환 행렬을 적용했을 때 정해진 오차 이내에 있는 매칭 쌍의 개수가 가장 많은 변환을 선택하여 이상치를 제거하는 것을 특징으로 하는 다개체 로봇 기반 효율적 3차원 지도 생성 방법.
In the first paragraph,
The above outlier filtering step is:
An efficient 3D map generation method based on a multi-object robot, characterized in that a transformation matrix is calculated based on pairs of feature points randomly selected within a set number of iterations, and when the transformation matrix is applied, the transformation that produces the largest number of matching pairs within a set error is selected to remove outliers.
상기 지도 병합 결정 모듈(Map-Merge decision module) 수행단계는,
사전에 정의된 중복영역 비율 임계값(Overlap ratio threshold)과 연속프레임 임계값(Overlap frame threshold)을 사용하여, 지도 병합 여부를 결정하는 것을 특징으로 하는 다개체 로봇 기반 효율적 3차원 지도 생성 방법.
In the first paragraph,
The above Map-Merge decision module execution step is:
An efficient 3D map generation method based on a multi-object robot, characterized in that it determines whether to merge maps by using a predefined overlap ratio threshold and overlap frame threshold.
상기 지도 병합 결정 모듈(Map-Merge decision module) 수행단계는,
직전 프레임과 현재 프레임에서의 각 정상치들을 꼭지점으로 가지는 사각형 중 가장 작은 사각형 Bprev, Bcurr 을 계산하고, 해당 사격형의 내부 영역 Aprev, Acurr 을 계산하는 단계;
직전 프레임과 현재 프레임의 정상치의 합집합에서 동일한 방식으로 사각형 Bcombined 을 계산하고 해당 사각형의 내부 영역 Acombined 을 계산하는 단계;
계산된 두 영역을 활용하여 현재 프레임의 정상치가 이전 프레임의 정상치로부터 얼마나 변했는지 나타내는 중복영역비율 Roverlap 을 계산하는 단계; 및
정해진 중복영역비율 임계값과 연속프레임 임계값을 만족하는 프레임이 연속될 경우 신뢰할 수 있는 정상치로 간주하여 지도 병합을 진행하는 단계;를 포함하는 것을 특징으로 하는 다개체 로봇 기반 효율적 3차원 지도 생성 방법.
In paragraph 6,
The above Map-Merge decision module execution step is:
A step of calculating the smallest rectangle B prev , B curr among the rectangles having the respective normal values in the previous frame and the current frame as vertices, and calculating the internal area A prev , A curr of the corresponding rectangle;
A step of calculating a rectangle B combined in the same manner from the union of the normal values of the previous frame and the current frame and calculating the internal area A combined of the rectangle;
A step of calculating an overlap ratio R, which indicates how much the normal value of the current frame has changed from the normal value of the previous frame, by utilizing the two calculated regions; and
An efficient 3D map generation method based on a multi-object robot, characterized in that it includes a step of proceeding with map merging by considering a reliable normal value when frames that satisfy a predetermined overlapping area ratio threshold value and a continuous frame threshold value are consecutive.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020240187041A KR102847100B1 (en) | 2024-12-16 | 2024-12-16 | Efficient 3D map generation method based on multi robots |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020240187041A KR102847100B1 (en) | 2024-12-16 | 2024-12-16 | Efficient 3D map generation method based on multi robots |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR102847100B1 true KR102847100B1 (en) | 2025-08-14 |
Family
ID=96734141
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020240187041A Active KR102847100B1 (en) | 2024-12-16 | 2024-12-16 | Efficient 3D map generation method based on multi robots |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102847100B1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20180061949A (en) * | 2016-11-30 | 2018-06-08 | 주식회사 유진로봇 | Obstacle Sensing Apparatus and Method for Multi-Channels Based Mobile Robot, Mobile Robot including the same |
| KR102096398B1 (en) | 2013-07-03 | 2020-04-03 | 삼성전자주식회사 | Method for recognizing position of autonomous mobile robot |
| KR20200094384A (en) * | 2019-01-30 | 2020-08-07 | 현대자동차주식회사 | Apparatus for clustering of point cloud and method thereof |
| KR20210009198A (en) * | 2019-07-16 | 2021-01-26 | 연세대학교 산학협력단 | Method and Apparatus for Generating Point Cloud Using Feature of Object Acquired from Image |
-
2024
- 2024-12-16 KR KR1020240187041A patent/KR102847100B1/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102096398B1 (en) | 2013-07-03 | 2020-04-03 | 삼성전자주식회사 | Method for recognizing position of autonomous mobile robot |
| KR20180061949A (en) * | 2016-11-30 | 2018-06-08 | 주식회사 유진로봇 | Obstacle Sensing Apparatus and Method for Multi-Channels Based Mobile Robot, Mobile Robot including the same |
| KR20200094384A (en) * | 2019-01-30 | 2020-08-07 | 현대자동차주식회사 | Apparatus for clustering of point cloud and method thereof |
| KR20210009198A (en) * | 2019-07-16 | 2021-01-26 | 연세대학교 산학협력단 | Method and Apparatus for Generating Point Cloud Using Feature of Object Acquired from Image |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8792726B2 (en) | Geometric feature extracting device, geometric feature extracting method, storage medium, three-dimensional measurement apparatus, and object recognition apparatus | |
| JP5671281B2 (en) | Position / orientation measuring apparatus, control method and program for position / orientation measuring apparatus | |
| JP7201909B2 (en) | DATASET CREATION METHOD, DATASET CREATION DEVICE, AND DATASET CREATION PROGRAM | |
| JP6456141B2 (en) | Generating map data | |
| JP6761388B2 (en) | Estimator and program | |
| CN108416385A (en) | It is a kind of to be positioned based on the synchronization for improving Image Matching Strategy and build drawing method | |
| CN112734844A (en) | Monocular 6D pose estimation method based on octahedron | |
| CN114155406A (en) | Pose estimation method based on region-level feature fusion | |
| CN115690184A (en) | Tunnel face displacement measurement method based on three-dimensional laser scanning | |
| Munoz et al. | Point-to-hyperplane RGB-D pose estimation: Fusing photometric and geometric measurements | |
| Kanhere et al. | LiDAR SLAM utilizing normal distribution transform and measurement consensus | |
| US20230064011A1 (en) | Method and System for Global Registration between 3D Scans | |
| KR102847100B1 (en) | Efficient 3D map generation method based on multi robots | |
| Muharom et al. | Real-Time 3D Modeling and Visualization Based on RGB-D Camera using RTAB-Map through Loop Closure | |
| Barath et al. | Relative pose solvers using monocular depth | |
| Zhang et al. | Multi-vision based 3d reconstruction system for robotic grinding | |
| CN115471530A (en) | Robot self-positioning precision evaluation method based on laser radar | |
| Moradi et al. | Development of a Voxel Based Local Plane Fitting for Multi-Scale Registration of Sequential Mls Point Clouds | |
| Barczyk et al. | Observability, covariance and uncertainty of ICP scan matching | |
| Antić et al. | Segmentation of Stereo-Camera Depth Image into Planar Regions based on Evolving Principal Component Clustering | |
| CN118482684B (en) | Elevation information acquisition method, device and system based on vision | |
| CN119091067B (en) | Real-time grid map reconstruction method | |
| CN119091066B (en) | A real-time grid map updating method | |
| Kotthäuser et al. | Triangulation-based plane extraction for 3D point clouds | |
| Vitiuk et al. | Software Package for Evaluation the Stereo Camera Calibration for 3D Reconstruction in Robotics Grasping System. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PA0302 | Request for accelerated examination |
St.27 status event code: A-1-2-D10-D17-exm-PA0302 St.27 status event code: A-1-2-D10-D16-exm-PA0302 |
|
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |