CN112577500A - Positioning and map construction method and device, robot and computer storage medium - Google Patents
Positioning and map construction method and device, robot and computer storage medium Download PDFInfo
- Publication number
- CN112577500A CN112577500A CN202011367335.9A CN202011367335A CN112577500A CN 112577500 A CN112577500 A CN 112577500A CN 202011367335 A CN202011367335 A CN 202011367335A CN 112577500 A CN112577500 A CN 112577500A
- Authority
- CN
- China
- Prior art keywords
- time
- line segment
- line
- robot
- coordinate system
- 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.)
- Granted
Links
- 238000010276 construction Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000000605 extraction Methods 0.000 claims abstract description 25
- 238000005457 optimization Methods 0.000 claims abstract description 11
- 230000014509 gene expression Effects 0.000 claims description 69
- 239000013598 vector Substances 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000013519 translation Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 abstract description 17
- 230000036544 posture Effects 0.000 abstract 3
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000001914 filtration Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Description
技术领域technical field
本申请属于自主导航领域,具体涉及一种定位与地图构建方法、装置、机器人及计算机存储介质。The present application belongs to the field of autonomous navigation, and specifically relates to a positioning and map construction method, device, robot and computer storage medium.
背景技术Background technique
移动机器人在运行过程中,需要不断获取数据,从而对自身进行实时定位,此外,还需要根据获取到的数据对周围环境进行地图构建。During the operation of the mobile robot, it needs to continuously obtain data so as to locate itself in real time. In addition, it also needs to construct a map of the surrounding environment according to the obtained data.
一般而言,移动机器人通过SLAM(Simultaneous Localization And Mapping,实时定位和地图构建)算法来获取并确定用于进行实时定位和地图构建的数据,因此,SLAM算法的优劣直接决定了移动机器人在移动过程中的定位精度和稳定性,因此有必要提出稳定高效且高精度的SLAM算法。Generally speaking, the mobile robot obtains and determines the data for real-time localization and map construction through the SLAM (Simultaneous Localization And Mapping) algorithm. Therefore, it is necessary to propose a stable, efficient and high-precision SLAM algorithm.
在现有技术中,提出一种利用图优化技术实时优化直线特征与机器人姿态的SLAM算法,但是,在该算法中,利用与直线特征对应的6个参数来表示直线,使得对于直线的描述不是最小参数化表示,因此,造成后续的计算量较大,计算效率较低,从而进一步影响实时定位和地图构建的效率。In the prior art, a SLAM algorithm that uses graph optimization technology to optimize the line feature and the robot attitude in real time is proposed. However, in this algorithm, six parameters corresponding to the line feature are used to represent the line, so that the description of the line is not The minimum parameterized representation, therefore, results in a large amount of subsequent calculations and low computational efficiency, which further affects the efficiency of real-time positioning and map construction.
发明内容SUMMARY OF THE INVENTION
有鉴于此,本申请的目的在于提供一种定位与地图构建方法、装置、机器人及计算机存储介质,可以减少定位与地图构建过程中的计算量,从而提高定位与地图构建效率,以便提高后续实时定位和地图构建的效率。In view of this, the purpose of this application is to provide a positioning and map construction method, device, robot and computer storage medium, which can reduce the amount of calculation in the process of positioning and map construction, thereby improving the efficiency of positioning and map construction, so as to improve the subsequent real-time Efficiency of positioning and map building.
本申请的实施例是这样实现的:The embodiments of the present application are implemented as follows:
第一方面,本申请实施例提供一种定位与地图构建方法,所述方法包括:在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;预估机器人在所述t时刻相较于t-1时刻的相对姿态;根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。由于在表示直线时,采用的是二直线参数化表示形式,因此,可以尽可能地减少确定用于进行后续实施定位以及地图构建的数据的计算量,从而提高地图定位与地图构建效率,以便提高后续实时定位和地图构建的效率。In the first aspect, an embodiment of the present application provides a method for positioning and constructing a map, the method includes: extracting linear features from the acquired point cloud data at time t to obtain a plurality of corresponding line segments; The relative posture at time t compared to time t-1; according to the relative posture, the line segments corresponding to the time t and the line segments obtained by performing linear feature extraction at the time t-1 are processed. Match to obtain the straight line to which each line segment belongs; perform joint optimization on the posture of the robot at each moment and the parametric representation of the two straight lines of all straight lines to obtain the posture of the robot at each moment and the straight line parameters of all straight lines . Since the two-line parametric representation is used to represent the straight line, the calculation amount of the data determined for the subsequent implementation of positioning and map construction can be reduced as much as possible, thereby improving the efficiency of map positioning and map construction, so as to improve the Efficiency of subsequent real-time positioning and map building.
结合第一方面实施例,在一种可能的实施方式中,所述预估机器人在所述t时刻相较于t-1时刻的相对姿态,包括:设置所述机器人在所述t时刻的姿态为设置所述机器人在所述t-1时刻的姿态为设置所述机器人在所述t时刻的机器人坐标系相对于世界坐标系的旋转矩阵及平移向量分别为根据预先保存的机器人轮式编码器姿态估计算法,计算得到所述t时刻相较于所述t-1时刻的相对姿态其中,之间满足公式:(xk,yk)表示所述机器人在t=k时刻时相对于世界坐标系w的坐标,表示所述机器人在t=k时刻时相对于世界坐标系w的朝向,为所述旋转矩阵,为所述平移向量,v为所述机器人的线速度,ω为所述机器人的角速度,△t为所述t时刻与所述t-1时刻之间的时间间隔。With reference to the embodiment of the first aspect, in a possible implementation, the estimating the relative posture of the robot at the time t compared to the time t-1 includes: setting the posture of the robot at the time t for Set the posture of the robot at the time t-1 as The rotation matrix and translation vector of the robot coordinate system relative to the world coordinate system of the robot at the time t are set as According to the pre-saved robot wheel encoder attitude estimation algorithm, the relative attitude of the time t compared to the time t-1 is calculated and obtained in, The formula is satisfied between: (x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k, represents the orientation of the robot relative to the world coordinate system w at time t=k, is the rotation matrix, is the translation vector, v is the linear velocity of the robot, ω is the angular velocity of the robot, and Δt is the time interval between the time t and the time t-1.
结合第一方面实施例,在一种可能的实施方式中,所述对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,包括:确定所述机器人在所述t-1时刻时所形成的机器人坐标系为参考坐标系;根据所述相对姿态,将与所述t时刻对应的线段的两个端点的坐标转换到所述参考坐标系中,得到与所述t时刻对应的线段在所述参考坐标系下的表达式;将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配。With reference to the embodiment of the first aspect, in a possible implementation manner, the line segment matching is performed on a plurality of line segments corresponding to the time t and a plurality of line segments obtained by performing linear feature extraction at the time t-1 , including: determining the robot coordinate system formed by the robot at the time t-1 as the reference coordinate system; according to the relative posture, converting the coordinates of the two endpoints of the line segment corresponding to the time t to the coordinate system In the reference coordinate system, the expression of the line segment corresponding to the time t under the reference coordinate system is obtained; the expression of the line segment corresponding to the time t under the reference coordinate system and the line segment corresponding to the time t The expressions of multiple line segments corresponding to time -1 are matched.
结合第一方面实施例,在一种可能的实施方式中,在所述将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配之前,所述方法还包括:针对与所述t时刻对应的每个线段,根据预先确定的属性特征及预先保存的属性特征阈值,从与所述t-1时刻对应的所有线段中过滤差异线段,并将与所述t-1时刻对应的剩余的线段确定为与该线段对应的候选线段;With reference to the embodiment of the first aspect, in a possible implementation manner, in the expression of the line segment corresponding to the time t in the reference coordinate system and a plurality of expressions corresponding to the time t-1 Before the expression of the line segment is matched, the method further includes: for each line segment corresponding to the time t, according to a predetermined attribute feature and a pre-stored attribute feature threshold, from the line corresponding to the time t-1. Filter the difference line segments from all the line segments, and determine the remaining line segments corresponding to the time t-1 as the candidate line segments corresponding to the line segment;
相应的,所述将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配,包括:针对与所述t时刻对应的每个线段,将该线段在所述参考坐标系下的表达式及与该线段对应的候选线段的表达式进行匹配。通过减少线段匹配时的所需匹配的线段的数量,从而减少计算量,提高计算效率。Correspondingly, the matching the expression of the line segment corresponding to the time t in the reference coordinate system and the expressions of the multiple line segments corresponding to the time t-1 includes: for the line segment corresponding to the time t For each line segment corresponding to the moment, the expression of the line segment in the reference coordinate system and the expression of the candidate line segment corresponding to the line segment are matched. By reducing the number of line segments that need to be matched during line segment matching, the amount of calculation is reduced and the calculation efficiency is improved.
结合第一方面实施例,在一种可能的实施方式中,在所述将该线段在所述参考坐标系下的表达式及与该线段对应的候选线段的表达式进行匹配之前,所述方法还包括:确定与该线段对应的候选线段的个数不为零;否则,所述方法还包括:确定该线段属于新的直线。With reference to the embodiment of the first aspect, in a possible implementation, before the expression of the line segment in the reference coordinate system and the expression of the candidate line segment corresponding to the line segment are matched, the method The method further includes: determining that the number of candidate line segments corresponding to the line segment is not zero; otherwise, the method further includes: determining that the line segment belongs to a new straight line.
结合第一方面实施例,在一种可能的实施方式中,所述将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配,包括:针对与所述t时刻对应的每个线段,将该线段和与所述t-1时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数计算与该线段对应的各个线段对的损失值;将所述损失值最小时所对应的线段对确定为属于同一直线;其中,d1,d2为该线段的两个端点到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,为该线段的长度,α是预先设定的控制因子参数,且d1,d2,d0,均由线段对中的两线段的表达式来确定。With reference to the embodiment of the first aspect, in a possible implementation manner, the expression of the line segment corresponding to the time t in the reference coordinate system and the multiple line segments corresponding to the time t-1 Matching the expression of the Calculate the loss value of each line segment pair corresponding to the line segment; determine the line segment pair corresponding to the minimum loss value as belonging to the same straight line; wherein, d 1 , d 2 are the two end points of the line segment to the line segment pair. The distance of another line segment, d 0 is the length of the overlapping area of the two line segments in the line segment pair, is the length of the line segment, α is a preset control factor parameter, and d 1 , d 2 , d 0 , Both are determined by the expressions of the two line segments in the line segment pair.
结合第一方面实施例,在一种可能的实施方式中,所述将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数,包括:设置所述机器人在所述各个时刻的姿态的表达式;设置经过所述线段匹配后所得到的所有直线的表达式;通过所述姿态的表达式及所述所有直线的表达式,构建残差向量;通过最小化所述残差向量的平方和,得到所述各个时刻的姿态与所述所有直线之间的最优估计公式;对所述最优估计公式进行迭代求解,得到所述各个时刻的姿态及所有直线的直线参数。In combination with the embodiment of the first aspect, in a possible implementation, the robot's posture at each moment and the two-line parametric representation of all straight lines are jointly optimized to obtain the robot at each moment The attitude of the robot and the straight line parameters of all straight lines, including: setting the expression of the attitude of the robot at each moment; setting the expression of all the straight lines obtained after the matching of the line segments; through the expression of the attitude and The expressions of all the straight lines are used to construct residual vectors; by minimizing the sum of the squares of the residual vectors, the optimal estimation formula between the posture at each moment and all the straight lines is obtained; The estimation formula is iteratively solved to obtain the posture at each moment and the straight line parameters of all straight lines.
第二方面,本申请实施例提供一种定位与地图构建装置,所述装置包括:提取模块、预估模块、匹配模块以及优化模块。提取模块,用于在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;预估模块,用于预估机器人在所述t时刻相较于t-1时刻的相对姿态;匹配模块,用于根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;优化模块,用于将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。In a second aspect, an embodiment of the present application provides a positioning and map construction device, the device includes: an extraction module, an estimation module, a matching module, and an optimization module. The extraction module is used to perform linear feature extraction on the acquired point cloud data at time t to obtain a plurality of corresponding line segments; the estimation module is used to estimate the relative position of the robot at time t compared to time t-1. Attitude; a matching module, configured to perform line segment matching on a plurality of line segments corresponding to the time t and a plurality of line segments obtained by performing linear feature extraction at the time t-1 according to the relative posture, to obtain each line segment The line to which it belongs; the optimization module is used to jointly optimize the posture of the robot at each moment and the two-line parameterized representations of all the lines to obtain the posture of the robot at the time and the line parameters of all the lines.
结合第二方面实施例,在一种可能的实施方式中,所述预估模块,用于设置所述机器人在所述t时刻的姿态为设置所述机器人在所述t-1时刻的姿态为设置所述机器人在所述t时刻的机器人坐标系相对于世界坐标系的旋转矩阵及平移向量分别为根据预先保存的机器人轮式编码器姿态估计算法,计算得到所述t时刻相较于所述t-1时刻的相对姿态其中,与之间满足公式:(xk,yk)表示所述机器人在t=k时刻时相对于世界坐标系w的坐标,表示所述机器人在t=k时刻时相对于世界坐标系w的朝向,为所述旋转矩阵,为所述平移向量,v为所述机器人的线速度,ω为所述机器人的角速度,△t为所述t时刻与所述t-1时刻之间的时间间隔。With reference to the embodiment of the second aspect, in a possible implementation, the estimation module is configured to set the posture of the robot at the time t to be Set the posture of the robot at the time t-1 as The rotation matrix and translation vector of the robot coordinate system relative to the world coordinate system of the robot at the time t are set as According to the pre-saved robot wheel encoder attitude estimation algorithm, the relative attitude of the time t compared to the time t-1 is calculated and obtained in, and The formula is satisfied between: (x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k, represents the orientation of the robot relative to the world coordinate system w at time t=k, is the rotation matrix, is the translation vector, v is the linear velocity of the robot, ω is the angular velocity of the robot, and Δt is the time interval between the time t and the time t-1.
结合第二方面实施例,在一种可能的实施方式中,所述匹配模块,用于确定所述机器人在所述t-1时刻时所形成的机器人坐标系为参考坐标系;根据所述相对姿态,将与所述t时刻对应的线段的两个端点的坐标转换到所述参考坐标系中,得到与所述t时刻对应的线段在所述参考坐标系下的表达式;将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配。With reference to the embodiment of the second aspect, in a possible implementation, the matching module is configured to determine the robot coordinate system formed by the robot at the time t-1 as a reference coordinate system; attitude, convert the coordinates of the two endpoints of the line segment corresponding to the time t into the reference coordinate system, and obtain the expression of the line segment corresponding to the time t in the reference coordinate system; The expression of the line segment corresponding to the time t in the reference coordinate system and the expressions of the multiple line segments corresponding to the time t-1 are matched.
结合第二方面实施例,在一种可能的实施方式中,所述装置还包括过滤模块,用于针对与所述t时刻对应的每个线段,根据预先确定的属性特征及预先保存的属性特征阈值,从与所述t-1时刻对应的所有线段中过滤差异线段,并将与所述t-1时刻对应的剩余的线段确定为与该线段对应的候选线段;With reference to the embodiment of the second aspect, in a possible implementation manner, the apparatus further includes a filtering module, for each line segment corresponding to the time t, according to a predetermined attribute feature and a pre-saved attribute feature Threshold, filter difference line segments from all line segments corresponding to the time t-1, and determine the remaining line segments corresponding to the time t-1 as candidate line segments corresponding to the line segment;
相应的,所述匹配模块,用于针对与所述t时刻对应的每个线段,将该线段在所述参考坐标系下的表达式及与该线段对应的候选线段的表达式进行匹配。Correspondingly, the matching module is configured to, for each line segment corresponding to the time t, match the expression of the line segment in the reference coordinate system with the expression of the candidate line segment corresponding to the line segment.
结合第二方面实施例,在一种可能的实施方式中,所述装置还包括确定模块,用于确定与该线段对应的候选线段的个数不为零;在确定模块确定为时,所述装置还包括添加模块,用于确定该线段属于新的直线。With reference to the embodiment of the second aspect, in a possible implementation manner, the apparatus further includes a determination module configured to determine that the number of candidate line segments corresponding to the line segment is not zero; when the determination module determines that it is The apparatus also includes an adding module for determining that the line segment belongs to a new straight line.
结合第二方面实施例,在一种可能的实施方式中,所述匹配模块,用于针对与所述t时刻对应的每个线段,将该线段和与所述t-1时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数计算与该线段对应的各个线段对的损失值;将所述损失值最小时所对应的线段对确定为属于同一直线;其中,d1,d2为该线段的两个端点到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,为该线段的长度,α是预先设定的控制因子参数,且d1,d2,d0,均由线段对中的两线段的表达式来确定。With reference to the embodiment of the second aspect, in a possible implementation manner, the matching module is configured to, for each line segment corresponding to the time t, compare the line segment with each single line segment corresponding to the time t-1. Line segments form line-segment pairs, and according to a pre-built loss function Calculate the loss value of each line segment pair corresponding to the line segment; determine the line segment pair corresponding to the minimum loss value as belonging to the same straight line; wherein, d 1 , d 2 are the two end points of the line segment to the line segment pair. The distance of another line segment, d 0 is the length of the overlapping area of the two line segments in the line segment pair, is the length of the line segment, α is a preset control factor parameter, and d 1 , d 2 , d 0 , Both are determined by the expressions of the two line segments in the line segment pair.
结合第二方面实施例,在一种可能的实施方式中,所述优化模块,用于设置所述机器人在所述各个时刻的姿态的表达式;设置经过所述线段匹配后所得到的所有直线的表达式;通过所述姿态的表达式及所述所有直线的表达式,构建残差向量;通过最小化所述残差向量的平方和,得到所述各个时刻的姿态与所述所有直线之间的最优估计公式;对所述最优估计公式进行迭代求解,得到所述各个时刻的姿态及所有直线的直线参数。With reference to the embodiment of the second aspect, in a possible implementation, the optimization module is used to set the expression of the posture of the robot at the various moments; set all straight lines obtained after the line segment matching by the expression of the attitude and the expressions of all the straight lines, construct a residual vector; by minimizing the sum of squares of the residual vector, the difference between the attitude at each moment and all the straight lines is obtained The optimal estimation formula between the two is obtained; the optimal estimation formula is iteratively solved to obtain the posture at each moment and the straight line parameters of all straight lines.
第三方面,本申请实施例还提供一种机器人,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。In a third aspect, an embodiment of the present application further provides a robot, including: a memory and a processor, wherein the memory is connected to the processor; the memory is used to store a program; the processor calls are stored in the memory to execute the above-mentioned embodiment of the first aspect and/or the method provided in combination with any possible implementation manner of the embodiment of the first aspect.
第四方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。In a fourth aspect, the embodiments of the present application further provide a non-volatile computer-readable storage medium (hereinafter referred to as a computer storage medium), on which a computer program is stored, and the computer program executes the above-mentioned first aspect when the computer program is run by a computer. Embodiments and/or methods provided in conjunction with any possible implementation manner of the embodiments of the first aspect.
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。Other features and advantages of the present application will be set forth in the description which follows, and, in part, will be apparent from the description, or may be learned by practice of the embodiments of the present application. The objectives and other advantages of the application may be realized and attained by the structure particularly pointed out in the written description and drawings.
附图说明Description of drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the accompanying drawings required in the embodiments will be briefly introduced below. Obviously, the drawings in the following description are only some of the present application. In the embodiments, for those of ordinary skill in the art, other drawings can also be obtained according to these drawings without any creative effort. The above and other objects, features and advantages of the present application will be more apparent from the accompanying drawings. The same reference numerals refer to the same parts throughout the drawings. The drawings are not intentionally scaled to actual size, and the emphasis is on illustrating the subject matter of the present application.
图1示出本申请实施例提供的机器人的结构示意图。FIG. 1 shows a schematic structural diagram of a robot provided by an embodiment of the present application.
图2示出本申请实施例提供的定位与地图构建方法的流程图。FIG. 2 shows a flowchart of the method for positioning and building a map provided by an embodiment of the present application.
图3示出本申请实施例提供的根据点云进行直线特征提取的示意图。FIG. 3 shows a schematic diagram of linear feature extraction according to a point cloud provided by an embodiment of the present application.
图4示出本申请实施例提供的线段匹配的示意图。FIG. 4 shows a schematic diagram of line segment matching provided by an embodiment of the present application.
图5示出本申请实施例提供的定位与地图构建装置的结构框图。FIG. 5 shows a structural block diagram of the positioning and map building apparatus provided by the embodiment of the present application.
图标:100-机器人;110-处理器;120-存储器;130-激光发射组件;400-定位与地图构建装置;410-提取模块;420-预估模块;430-匹配模块;440-优化模块。Icons: 100-robot; 110-processor; 120-memory; 130-laser emission component; 400-location and map construction device; 410-extraction module; 420-estimation module; 430-matching module; 440-optimization module.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application.
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。It should be noted that like numerals and letters refer to like items in the following figures, so once an item is defined in one figure, it does not require further definition and explanation in subsequent figures. Meanwhile, in the description of this application, relational terms such as "first", "second", etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities or that there is any such actual relationship or sequence between operations. Moreover, the term "comprising" or any other variation thereof is intended to cover non-exclusive inclusion, whereby a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not expressly listed, Or also include elements inherent to such a process, method, article or apparatus. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in a process, method, article or apparatus that includes the element.
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。Furthermore, the term "and/or" in this application is only an association relationship to describe related objects, indicating that there can be three kinds of relationships, for example, A and/or B, it can mean that A exists alone, and A and B exist at the same time. B, there are three cases of B alone.
此外,针对现有技术中的实时定位和地图构建方案所存在的缺陷(计算量较大,计算效率较低)是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该被认定为申请人对本申请做出的贡献。In addition, the defects of the real-time positioning and map construction solutions in the prior art (large amount of calculation and low calculation efficiency) are the results obtained by the applicant after practice and careful research. Therefore, the above-mentioned defects are found The process and the solutions to the above-mentioned defects proposed by the embodiments of the present application hereinafter should be regarded as contributions made by the applicant to the present application.
为了解决上述问题,本申请实施例提供一种定位与地图构建方法、装置、机器人及计算机存储介质,可以减少计算过程中的计算量,从而提高计算效率。In order to solve the above problems, the embodiments of the present application provide a positioning and map construction method, device, robot, and computer storage medium, which can reduce the amount of calculation in the calculation process, thereby improving the calculation efficiency.
该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。The technology can be implemented by corresponding software, hardware and combination of software and hardware. The embodiments of the present application are described in detail below.
首先,参照图1来描述用于实现本申请实施例的定位与地图构建方法、装置的机器人100。First, referring to FIG. 1 , a
其中,机器人100可以包括:处理器110、存储器120、激光发射组件130。The
应当注意,图1所示的机器人100的组件和结构只是示例性的,而非限制性的,根据需要,机器人100也可以具有其他组件和结构。It should be noted that the components and structures of the
处理器110、存储器120、激光发射组件130以及其他可能出现于机器人100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120、激光发射组件130以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。The processor 110 , the memory 120 , the laser emitting component 130 and other components that may be present in the
激光发射组件130在上电后可以以固定的频率对外发射激光,并接收外物对激光进行反射后的反射激光,从而生成与每个激光发射时刻对应的点云数据。After the laser emitting component 130 is powered on, it can emit laser light at a fixed frequency, and receive the reflected laser light after the foreign object reflects the laser light, so as to generate point cloud data corresponding to each laser emission moment.
其中,在一些实施方式中,激光发射组件130可以是多线程的激光组件,用于发出多线程激光;在另一些实施方式中,激光发射组件130也可以是单线程的激光组件,用于发出单线程激光。Wherein, in some embodiments, the laser emitting assembly 130 may be a multi-threaded laser assembly for emitting multi-threaded lasers; in other embodiments, the laser emitting assembly 130 may also be a single-threaded laser assembly for emitting laser light Single thread laser.
可选的,由于基于单线程激光得到的点云数据的数据复杂度低于多线程激光得到的点云数据的数据复杂度,因此,出于减少计算量以及减少数据复杂度的目的,可以直接采用单线程激光作为激光发射组件130,使得后续得到的点云数据由二维离散点所组成。Optionally, since the data complexity of point cloud data obtained based on a single-threaded laser is lower than that of point cloud data obtained by multi-threaded lasers, for the purpose of reducing the amount of calculation and data complexity, it is possible to directly A single-threaded laser is used as the laser emitting component 130, so that the point cloud data obtained subsequently is composed of two-dimensional discrete points.
存储器120用于存储程序,例如存储有后文出现的定位与地图构建方法对应的程序或者后文出现的定位与地图构建装置。可选的,当存储器120内存储有定位与地图构建装置时,定位与地图构建装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。The memory 120 is used for storing programs, for example, a program corresponding to a positioning and map construction method appearing later or a positioning and map construction apparatus appearing later. Optionally, when the location and map construction apparatus is stored in the memory 120, the location and map construction apparatus includes at least one software function module that can be stored in the memory 120 in the form of software or firmware.
可选的,定位与地图构建装置所包括软件功能模块也可以固化在机器人100的操作系统(operating system,OS)中。Optionally, the software function modules included in the positioning and map building apparatus may also be solidified in an operating system (operating system, OS) of the
处理器110用于执行存储器120中存储的可执行模块,例如定位与地图构建装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;预估机器人在所述t时刻相较于t-1时刻的相对姿态;根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。The processor 110 is configured to execute executable modules stored in the memory 120, such as software function modules or computer programs included in the positioning and map construction apparatus. When the processor 110 receives the execution instruction, it can execute the computer program, for example, perform: extracting linear features from the acquired point cloud data at time t to obtain a plurality of corresponding line segments; Compared with the relative posture at time t-1; according to the relative posture, perform line segment matching on a plurality of line segments corresponding to the time t and a plurality of line segments obtained by performing linear feature extraction at the time t-1 to obtain The lines to which each line segment belongs; jointly optimize the posture of the robot at each moment and the two-line parameterized representations of all the lines to obtain the posture of the robot at the various moments and the linear parameters of all the lines.
当然,本申请任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。Certainly, the method disclosed in any embodiment of the present application may be applied to the processor 110 or implemented by the processor 110 .
下面将针对本申请所提供的定位与地图构建方法进行介绍。The following will introduce the positioning and map construction methods provided by the present application.
请参阅图2,本申请实施例提供一种应用于上述机器人100的定位与地图构建方法。下面将结合图2,以点云数据由二维离散点所组成为例,对本申请实施例进行介绍。Referring to FIG. 2 , an embodiment of the present application provides a positioning and map construction method applied to the above-mentioned
步骤S110:在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段。Step S110 : extracting line features from the acquired point cloud data at time t to obtain a plurality of corresponding line segments.
机器人100在上电开始启动后,可以通过激光发射组件130对外发出激光,从而获取到用于反映当前时刻的环境情况的点云数据。After the
在后续的每个时刻,机器人100可以陆续通过激光发射组件130获取到当前时刻的点云数据。At each subsequent moment, the
在点云数据中,包括若干二维离散点。In the point cloud data, several two-dimensional discrete points are included.
单线激光所产生的多个平面内的二维离散点可以用公式来表示。其中,x表示二维离散点在当前时刻的机器人坐标系o中的横坐标,y表示二维离散点在当前时刻的机器人坐标系o中的纵坐标。表示二维离散点的表达式P中包括2个实数变量,即x与y。The two-dimensional discrete points in multiple planes produced by a single-line laser can be expressed by the formula To represent. Among them, x represents the abscissa of the two-dimensional discrete point in the robot coordinate system o at the current moment, and y represents the ordinate of the two-dimensional discrete point in the robot coordinate system o at the current moment. The expression P representing a two-dimensional discrete point includes two real variables, namely x and y.
一般而言,在机器人100上预先设置有第一标识点以及第二标识点。Generally speaking, a first identification point and a second identification point are preset on the
在任何时刻,机器人100可以通过获取当前时刻的第一标识点所在的位置以及当前时刻的第二标识点所在的位置,从而确定与当前时刻对应的机器人坐标系。At any moment, the
例如,在任一时刻,机器人100以第一标识点所在的位置为坐标原点,以第二标识点所在的位置与第一标识点所在的位置之间的连线所在的直线为y轴,以垂直于y轴的直线为x轴,从而确定与当前时刻对应的机器人坐标系。For example, at any moment, the
值得指出的是,由于机器人100不断在移动,因此,与各个时刻对应的机器人坐标系可能均不相同。此外,一般以机器人100在启动的初始时刻所确定的机器人坐标系为全局的世界坐标系w。It is worth noting that since the
其中,第一标识点可以是机器人100的几何中心点所在的位置,也可以是机器人100的其他位置所对应的点,本申请实施例不做具体限定。The first identification point may be a position where the geometric center point of the
在得到点云数据后,如图3所示,机器人100可以通过预先保存的已知直线特征提取算法(如最小二乘算法),从点云数据中提取出若干线段Li={ni,si,ei},i=1…n。After obtaining the point cloud data, as shown in FIG. 3 , the
其中,表示线段i所在直线的法向量,θ表示线段所在直线的法向量与当前时刻的机器人坐标系o中的x轴的夹角,si、ei表示线段i的两个端点,n为正整数。in, Represents the normal vector of the line where the line segment i is located, θ represents the angle between the normal vector of the line where the line segment is located and the x-axis in the robot coordinate system o at the current moment, s i , e i represent the two endpoints of the line segment i, n is a positive integer .
步骤S120:预估机器人在所述t时刻相较于t-1时刻的相对姿态。Step S120: Estimate the relative posture of the robot at the time t compared to the time t-1.
机器人100在t时刻所在的位置称之为机器人100在t时刻的姿态。The position of the
假设机器人100在t时刻的姿态为且假设机器人100在t时刻的前一时刻(在本申请实施例中称之为t-1时刻)的姿态为 Assume that the posture of the
其中,(xk,yk)表示所述机器人在t=k时刻时,相对于世界坐标系w的坐标,表示机器人100在t=k时刻时,相对于世界坐标系w的朝向,表示姿态的表达式T中包括3个实数变量,即x、y、 Among them, (x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k, represents the orientation of the
此外,假设机器人100在t=k时刻的机器人坐标系o相对于世界坐标系w的旋转矩阵及平移向量分别为其中,为旋转矩阵,为平移向量。In addition, it is assumed that the rotation matrix and translation vector of the robot coordinate system o relative to the world coordinate system w of the
在存在上述假设的参数后,可以根据预先保存的对机器人在不同时刻间的相对姿态的估计算法,估计机器人100在t时刻(t=k)相较于t-1时刻的相对姿态 After the above-mentioned parameters are assumed, the relative posture of the
其中,对机器人在不同时刻间的相对姿态的估计算法可以包括,但不限于:机器人轮式编码器的姿态估计算法,点云迭代最近点(ICP,Iterative Closest Point)的匹配算法等。在本申请实施例中,不限制相对姿态对的估计算法的具体类型。Wherein, the estimation algorithm for the relative posture of the robot at different times may include, but is not limited to, the posture estimation algorithm of the robot wheel encoder, the matching algorithm of the point cloud iterative closest point (ICP, Iterative Closest Point), and the like. In this embodiment of the present application, the relative pose pair is not limited The specific type of estimation algorithm for .
以机器人轮式编码器的姿态估计算法为例,根据该算法,机器人可以计算得到t时刻相较于述t-1时刻的相对姿态 Taking the attitude estimation algorithm of the robot wheel encoder as an example, according to this algorithm, the robot can calculate the relative attitude of the robot at time t compared to the time t-1.
其中,与三者之间满足公式:v为机器人100通过内置的轮式编码器测得的自身在前进时的线速度,ω为机器人100通过内置的轮式编码器测得的自身在前进时的角速度,△t为t时刻与t-1时刻之间的时间间隔。in, and The formula between the three is satisfied: v is the linear velocity of the
值得指出的是,上述步骤S110与步骤S120之间的执行顺序并不存在严格的先后顺序。可以理解,在一些实施方式中,步骤S120可以在步骤S110之前执行,在另一些实施方式中,步骤S120可以在步骤S110之后执行,在另一些实施方式中,步骤S120与步骤S110可以同时执行。It is worth noting that there is no strict sequence of execution between the above steps S110 and S120. It can be understood that, in some embodiments, step S120 may be executed before step S110, in other embodiments, step S120 may be executed after step S110, and in other embodiments, step S120 and step S110 may be executed simultaneously.
步骤S130:根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线。Step S130: Perform line segment matching on the line segments corresponding to the time t and the line segments obtained by performing the linear feature extraction at the time t-1 according to the relative posture, to obtain the lines to which each line segment belongs.
一般而言,激光发射组件130在环境中以每秒10-50帧的速率采集点云数据,因此,针对同一个空间场景,相邻几帧所采集到的点云数据之间存在的差异性较小。在这种前提下,当需要构建地图时,出于减少计算量的目的,需要将相邻时刻所提取的线段之间进行相互匹配,从而将属于同一直线的线段进行关联,并确定为同一直线。此外,还便于后续构建地图时,形成一个完整的图形,提高构建的准确性以及完备性。Generally speaking, the laser emitting component 130 collects point cloud data at a rate of 10-50 frames per second in the environment. Therefore, for the same spatial scene, there are differences between the point cloud data collected in several adjacent frames. smaller. Under this premise, when a map needs to be constructed, for the purpose of reducing the amount of calculation, it is necessary to match the line segments extracted at adjacent moments with each other, so as to associate the line segments belonging to the same straight line and determine the same straight line . In addition, it is also convenient to form a complete graph when the map is subsequently constructed, so as to improve the accuracy and completeness of the construction.
可选的,线段匹配的过程可以参考如下方式。Optionally, the process of line segment matching may refer to the following method.
步骤S131:根据所述相对姿态,将与所述t时刻对应的线段的两个端点的坐标转换到所述参考坐标系中,得到与所述t时刻对应的线段在所述参考坐标系下的表达式。Step S131: According to the relative posture, convert the coordinates of the two end points of the line segment corresponding to the time t into the reference coordinate system, and obtain the line segment corresponding to the time t in the reference coordinate system. expression.
其中,假设当前时刻t=c、前一时刻t-1=r、当前时刻相对于前一时刻的相对姿态且以机器人100在前一时刻(t-1时刻)时所形成的机器人坐标系为参考坐标系。Among them, it is assumed that the current time t=c, the previous time t-1=r, the relative posture of the current time relative to the previous time And take the robot coordinate system formed by the
假设当前时刻机器人坐标系下的一个点为通过机器人100在当前时刻相对于前一时刻的旋转矩阵及平移向量可以将变换到机器人坐标系为参考坐标系,公式为:可以简写为其中,为点在参考坐标系下的表达式。Suppose a point in the robot coordinate system at the current moment is Through the rotation matrix of the
可以通过上述相同的方式,将当前时刻观测到线段的两个端点 变换到参考坐标系后,得到相应的,当前时刻机器人100所提取出的线段变换到参考坐标系(前一时刻对应的机器人坐标系)后的表达式为:其中,线段的法向量的变换方程为 The current moment can be observed at the two endpoints of the line segment in the same way as above After transforming to the reference coordinate system, we get Correspondingly, the line segment extracted by the
步骤S132:将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配。Step S132: Match the expression of the line segment corresponding to the time t in the reference coordinate system with the expressions of the multiple line segments corresponding to the time t-1.
在一种可选的实施方式中,可以直接将经过坐标系变换后的与当前时刻对应的线段与前一时刻对应的线段进行匹配。In an optional implementation manner, the line segment corresponding to the current moment after the coordinate system transformation can be directly matched with the line segment corresponding to the previous moment.
在另一种可选的实施方式中,在进行线段匹配之前,还可以先对前一时刻所得到的线段进行过滤,从而将前一时刻所对应的线段中的差异线段筛除,并将剩余的线段确定为候选线段。In another optional implementation, before performing line segment matching, the line segment obtained at the previous moment may also be filtered, so as to filter out the difference line segments in the line segment corresponding to the previous moment, and filter the remaining line segments. The line segment is determined as the candidate line segment.
其中,就每一条线段而言,与之对应的差异线段表征与该线段之间存在较大的差异,且两者属于同一直线的概率较小。Among them, for each line segment, there is a large difference between the corresponding difference line segment representation and the line segment, and the probability that the two belong to the same straight line is small.
若在进行线段匹配前,就当前时刻对应的线段,对前一时刻所对应的线段进行了差异线段筛除,相应的,在将经过坐标系变换后的与当前时刻对应的线段与前一时刻对应的线段进行匹配时,可以直接将经过坐标系变换后的与当前时刻对应的线段及与前一时刻对应的候选线段进行匹配,从而可以减少执行匹配操作时的数据量。If before performing line segment matching, the line segment corresponding to the current moment is screened for the line segment corresponding to the previous moment. When the corresponding line segment is matched, the line segment corresponding to the current moment and the candidate line segment corresponding to the previous moment after the coordinate system transformation can be directly matched, thereby reducing the amount of data when performing the matching operation.
其中,可以参考如下方式筛选候选线段。Among them, the candidate line segments can be screened by referring to the following methods.
针对与当前时刻对应的每个线段,可以根据预先确定的属性特征及预先保存的属性特征阈值,从与前一时刻对应的所有线段中过滤差异线段,并将前一时刻中剩余的线段确定为与该线段对应的候选线段。For each line segment corresponding to the current moment, the difference line segment can be filtered from all the line segments corresponding to the previous moment according to the pre-determined attribute feature and the pre-stored attribute feature threshold, and the remaining line segments in the previous moment can be determined as The candidate line segment corresponding to this line segment.
可选的,对于机器人100当前时刻c所观测到的某条线段在前一时刻r所对应的参考坐标系下的表达式可以将与机器人100在前一时刻r所观测到的每一条线段进行比对,从而确定待比对的两条线段之间的属性特征。其中,属性特征包括但不限于:待比对的两线段的角度差、待比对的两线段之间的距离、待比对的两线段之间的重合度中的至少一个。相应的,与上述所列举的属性特征所对应的属性特征阈值分别为角度差阈值、距离阈值以及重合度阈值。Optionally, for a certain line segment observed by the
可选的,待比对的两线段的角度差为在参考坐标系里的角度和参考坐标系里线段在参考坐标系里的角度之间的角度差如果该角度差超过预先设定的角度差角度差阈值(例如5°),则认为待比对的两线段与之间属于同一直线的概率较小,为的差异线段。Optionally, the angle difference between the two line segments to be compared is angle in the reference frame and line segments in the reference coordinate system angle in the reference frame angle difference between If the angle difference exceeds the preset angle difference angle difference threshold (for example, 5°), it is considered that the two line segments to be compared are and The probability of belonging to the same straight line is small, for difference line segment.
可选的,待比对的两线段之间的距离为的两端点在参考坐标系内的表达式到参考坐标系里的线段的距离,分别为d1,d2。其中就d1、d2而言,其中任一个的所表征的距离超过预先设置的距离阈值(例如10厘米),则认为待比对的两线段与之间属于同一直线的概率较小,为的差异线段。Optionally, the distance between the two line segments to be compared is Expressions of both ends of , in the reference coordinate system to the line segment in the reference coordinate system The distances are d 1 and d 2 , respectively. in As far as d 1 and d 2 are concerned, if the represented distance of any one of them exceeds a preset distance threshold (for example, 10 cm), it is considered that the two line segments to be compared are and The probability of belonging to the same straight line is small, for difference line segment.
可选的,待比对的两线段之间的重合度d0,将端点投影到直线上得到投影点d0即为线段和的重合区域的长度。如果d0小于重合度阈值(例如10厘米),则认为待比对的两线段与之间属于同一直线的概率较小,为的差异线段。Optionally, the degree of coincidence d 0 between the two line segments to be compared, the endpoint Project to line get the projected point on d 0 is the line segment and the length of the overlapping region. If d 0 is less than the coincidence threshold (for example, 10 cm), the two line segments to be compared are considered and The probability of belonging to the same straight line is small, for difference line segment.
关于d1、d2、d0的直观含义如下图4所示。The intuitive meaning of d 1 , d 2 , and d 0 is shown in Fig. 4 below.
下面将针对线段匹配的过程进行介绍。The process of line segment matching will be introduced below.
针对与t时刻对应的每个线段,将该线段和与t-1时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数,计算与该线段对应的各个线段对的损失值,然后将损失值最小时所对应的线段对确定为属于同一直线。For each line segment corresponding to time t, a line segment pair is formed between the line segment and each single line segment corresponding to time t-1, and the loss value of each line segment pair corresponding to the line segment is calculated according to the pre-built loss function, and then The pair of line segments corresponding to the smallest loss value is determined to belong to the same straight line.
假设当前时刻c所观测到的某一线段为其在参考坐标系内的表达式为前一时刻r所观测到的某一线段为且当前举例时,将与组合成线段对。Suppose a line segment observed at the current time c is Its expression in the reference coordinate system is A line segment observed at the previous moment r is and the current example, will and Combine into line segment pairs.
其中,预先构建的损失函数为d1,d2为该线段的两个端点在参考坐标系内的表达式分别到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,为该线段的长度,α是预先设定的控制因子参数(例如可以设置为0.5)。Among them, the pre-built loss function is d 1 , d 2 are the line segments The expression of the two endpoints of , in the reference coordinate system to the other segment of the segment pair, respectively The distance of d 0 is the length of the overlapping area of the two line segments in the line segment pair, for the line segment The length of α is a preset control factor parameter (for example, it can be set to 0.5).
通过重复上述计算损失值的过程,可以得到当前时刻c所观测到的某一线段为与前一时刻r所观测到的各条线段(若进行了线段过滤,则此处为前一时刻r所观测到的各条候选线段)之间的损失值。后续,通过比较各损失值之间的大小,将损失值最小时所对应的属于前一时刻r所观测到的线段与确定为属于同一直线。此时,可以将两线段设置同样的直线标识(例如直线ID),用于表征两者属于同一直线,可用同一个表达式来进行表示。By repeating the above process of calculating the loss value, a certain line segment observed at the current moment c can be obtained as The loss value between each line segment observed at the previous time r (if line segment filtering is performed, here is each candidate line segment observed at the previous time r). Subsequently, by comparing the size of each loss value, the line segment observed at the previous moment r corresponding to the minimum loss value is compared with determined to belong to the same straight line. At this time, the same line identifier (eg, line ID) can be set for the two line segments to indicate that the two line segments belong to the same line, which can be represented by the same expression.
此外,若针对当前时刻所观测到某条线段若在针对其对前一时刻r所观测到的各条线段进行线段过滤时,最终得到的候选线段为0,此时说明该线段为新出现的直线的一部分,此时,可以为该线段设置一个全新的直线标识。当后续时刻有与该线段属于同一直线的线段产生时,可以将该全新的直线标识继承给后续与该线段属于同一直线的线段。In addition, if a line segment is observed for the current moment If the line segment filtering is performed on each line segment observed at the previous time r, the final candidate line segment is 0, which means that the line segment is 0. is a part of the new line, at this time, it can be the line segment Sets a brand new line identity. When there is a line segment related to the When a line segment belonging to the same line is generated, the new line ID can be inherited to the subsequent line segment with the line segment. Line segments that belong to the same straight line.
当在各个时刻均通过上述线段匹配的方式将当前时刻观测到的线段与前一时刻所观测的线段进行迭代匹配后,即可以将第一时刻与当前时刻中属于同一直线的线段关联起来。After the line segment observed at the current moment and the line segment observed at the previous moment are iteratively matched by the above-mentioned line segment matching method at each moment, the first moment and the line segments belonging to the same straight line at the current moment can be associated.
此外,由于二维直线在平面内只有2个自由度,即y=kx+b,在直线的朝向已知且直线到原点的距离已知的前提下,唯一确定的x、y可以唯一确定一条直线,因此,通过2个参数即可以唯一确定一条直线。In addition, since a two-dimensional straight line has only 2 degrees of freedom in the plane, that is, y=kx+b, on the premise that the orientation of the straight line is known and the distance from the straight line to the origin is known, the unique x and y can be uniquely determined. Straight line, therefore, a straight line can be uniquely determined by 2 parameters.
在本申请实施例中,为了减少计算量,通过二直线参数化表示形式来表示得到的每条直线:其中为直线法向量对应的角度,ρ表示坐标系原点到直线的距离,点在直线上对应的方程为:cos(θ)x+sin(θ)y=ρ。In the embodiment of the present application, in order to reduce the amount of calculation, each obtained straight line is represented by a two-line parametric representation: in is the angle corresponding to the normal vector of the straight line, ρ represents the distance from the origin of the coordinate system to the straight line, and the equation corresponding to the point on the straight line is: cos(θ)x+sin(θ)y=ρ.
步骤S140:将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。Step S140: Jointly optimize the posture of the robot at each moment and the two-line parameterized representations of all straight lines to obtain the posture of the robot at each moment and the linear parameters of all the straight lines.
假设机器人100在当前时刻所需要估计的机器人轨迹包括n个时刻的姿态同时,假设当前时刻经过线段匹配后所得到的直线有m条,且m条直线表示为 Assume that the robot trajectory that the
假设在t=k时刻时,机器人100在此刻的机器人坐标系的位置相对于世界坐标系的相对姿态为假设地图中第i条直线在k时刻被机器人100观测到,那么在机器人坐标系O中对应的观测量为在理想状态下,对于直线上的一个点将其通过机器人坐标系变换到世界坐标系后得到的点应满足直线方程:Assuming that at time t=k, the position of the
然而,由于点云数据测量值存在噪声且机器人姿态存在估计误差,因此观测坐标和地图直线之间可构建残差约束:However, due to the noise in the point cloud data measurements and the estimation error of the robot pose, the observed coordinates straight line with the map Residual constraints can be constructed between:
考虑到每条直线都有两个端点s,e,因此一条直线可以构建一个由两个残差组成的残差向量:Considering that each line has two endpoints s, e, a line can construct a residual vector consisting of two residuals:
通过最小化残差向量的平方和,可以得到各个时刻的姿态与所有直线之间的最优估计公式 By minimizing the sum of squares of the residual vector, the optimal estimation formula between the pose at each moment and all the straight lines can be obtained
通过对上述最优估计公式进行迭代求解,可以得到各个时刻的姿态及所有直线的直线参数,从而完成对机器人100的轨迹估计以及地图构建。By iteratively solving the above optimal estimation formula, the posture at each moment and the straight line parameters of all straight lines can be obtained, so as to complete the trajectory estimation and map construction of the
其中,非线性最小二乘问题的求解可以采用现有的计算方式,例如高斯牛顿算法(Gauss-Newton)、列文伯格-马夸尔特算法(Levenberg-Marquardt)等进行迭代求解,本申请实施例中不对具体的求解方式进行限定。Among them, the nonlinear least squares problem can be solved iteratively by using existing calculation methods, such as Gauss-Newton algorithm (Gauss-Newton), Levenberg-Marquardt algorithm (Levenberg-Marquardt), etc. This application The specific solution method is not limited in the embodiment.
如图5所示,本申请实施例还提供一种定位与地图构建装置400,定位与地图构建装置400可以包括:提取模块410、预估模块420、匹配模块430以及优化模块440。As shown in FIG. 5 , an embodiment of the present application further provides a positioning and
提取模块410,用于在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;The
预估模块420,用于预估机器人在所述t时刻相较于t-1时刻的相对姿态;
匹配模块430,用于根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;The
优化模块440,用于将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。The optimization module 440 is configured to jointly optimize the posture of the robot at each moment and the two-line parameterized representations of all straight lines to obtain the posture of the robot at each moment and the linear parameters of all the straight lines.
在一种可能的实施方式中,所述预估模块420,用于设置所述机器人在所述t时刻的姿态为设置所述机器人在所述t-1时刻的姿态为设置所述机器人在所述t时刻的机器人坐标系相对于世界坐标系的旋转矩阵及平移向量分别为根据预先保存的机器人轮式编码器姿态估计算法,计算得到所述t时刻相较于所述t-1时刻的相对姿态其中,与之间满足公式:(xk,yk)表示所述机器人在t=k时刻时相对于世界坐标系w的坐标,表示所述机器人在t=k时刻时相对于世界坐标系w的朝向,为所述旋转矩阵,为所述平移向量,v为所述机器人的线速度,ω为所述机器人的角速度,△t为所述t时刻与所述t-1时刻之间的时间间隔。In a possible implementation manner, the
在一种可能的实施方式中,所述匹配模块430,用于确定所述机器人在所述t-1时刻时所形成的机器人坐标系为参考坐标系;根据所述相对姿态,将与所述t时刻对应的线段的两个端点的坐标转换到所述参考坐标系中,得到与所述t时刻对应的线段在所述参考坐标系下的表达式;将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配。In a possible implementation manner, the
在一种可能的实施方式中,所述装置还包括过滤模块,用于针对与所述t时刻对应的每个线段,根据预先确定的属性特征及预先保存的属性特征阈值,从与所述t-1时刻对应的所有线段中过滤差异线段,并将与所述t-1时刻对应的剩余的线段确定为与该线段对应的候选线段;In a possible implementation manner, the apparatus further includes a filtering module, configured to, for each line segment corresponding to the time t, according to a predetermined attribute feature and a pre-stored attribute feature threshold, from the Filter the difference line segment from all the line segments corresponding to the time -1, and determine the remaining line segment corresponding to the time t-1 as the candidate line segment corresponding to the line segment;
相应的,所述匹配模块430,用于针对与所述t时刻对应的每个线段,将该线段在所述参考坐标系下的表达式及与该线段对应的候选线段的表达式进行匹配。Correspondingly, the
在一种可能的实施方式中,所述装置还包括确定模块,用于确定与该线段对应的候选线段的个数不为零;在确定模块确定为时,所述装置还包括添加模块,用于确定该线段属于新的直线。In a possible implementation manner, the apparatus further includes a determining module, configured to determine that the number of candidate line segments corresponding to the line segment is not zero; when the determining module determines that it is, the apparatus further includes an adding module, which uses to determine that the line segment belongs to a new line.
在一种可能的实施方式中,所述匹配模块430,用于针对与所述t时刻对应的每个线段,将该线段和与所述t-1时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数计算与该线段对应的各个线段对的损失值;将所述损失值最小时所对应的线段对确定为属于同一直线;其中,d1,d2为该线段的两个端点到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,为该线段的长度,α是预先设定的控制因子参数,且d1,d2,d0,均由线段对中的两线段的表达式来确定。In a possible implementation manner, the
在一种可能的实施方式中,所述优化模块440,用于设置所述机器人在所述各个时刻的姿态的表达式;设置经过所述线段匹配后所得到的所有直线的表达式;通过所述姿态的表达式及所述所有直线的表达式,构建残差向量;通过最小化所述残差向量的平方和,得到所述各个时刻的姿态与所述所有直线之间的最优估计公式;对所述最优估计公式进行迭代求解,得到所述各个时刻的姿态及所有直线的直线参数。In a possible implementation manner, the optimization module 440 is configured to set the expression of the posture of the robot at the various moments; set the expression of all straight lines obtained after the line segment matching; The expression of the attitude and the expressions of all the straight lines are used to construct a residual vector; by minimizing the sum of squares of the residual vector, the optimal estimation formula between the attitude at each moment and all the straight lines is obtained. ; Iteratively solve the optimal estimation formula to obtain the posture at each moment and the straight line parameters of all straight lines.
本申请实施例所提供的定位与地图构建装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。The positioning and
此外,本申请实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的定位与地图构建方法所包含的步骤。In addition, an embodiment of the present application further provides a computer storage medium, where a computer program is stored on the computer storage medium, and when the computer program is run by a computer, the steps included in the above positioning and map construction method are executed.
此外,本发明实施例还提供一种机器人,包括处理器以及与所述处理器连接的存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述机器人执行如上述的定位与地图构建方法所包含的步骤。其中,机器人的结构示意图可以参看图1。In addition, an embodiment of the present invention also provides a robot, including a processor and a memory connected to the processor, where a computer program is stored in the memory, and when the computer program is executed by the processor, the robot is made to Perform the steps involved in the positioning and map building method described above. The schematic diagram of the structure of the robot can be seen in FIG. 1 .
综上所述,本发明实施例提出的定位与地图构建方法、装置、机器人及计算机存储介质,在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;预估机器人在所述t时刻相较于t-1时刻的相对姿态;根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。由于在表示直线时,采用的是二直线参数化表示形式,因此,可以尽可能地减少数据计算时的计算量,从而可以提高数据获取效率,缩短计算时间。To sum up, the method, device, robot and computer storage medium for positioning and map construction proposed in the embodiments of the present invention perform linear feature extraction on the acquired point cloud data at time t to obtain a plurality of corresponding line segments; The relative posture at the time t compared to the time t-1; according to the relative posture, a plurality of line segments corresponding to the time t and a plurality of line segments obtained by performing linear feature extraction at the time t-1 Line segment matching is performed to obtain the straight line to which each line segment belongs; the posture of the robot at each moment and the two-line parameterized representation of all straight lines are jointly optimized to obtain the posture of the robot at each moment and all straight lines. the line parameters. Since a two-line parameterized representation is used when representing a straight line, the amount of computation during data computation can be reduced as much as possible, thereby improving data acquisition efficiency and shortening computation time.
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. For the same and similar parts among the various embodiments, refer to each other Can.
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may also be implemented in other manners. The apparatus embodiments described above are merely illustrative, for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality and possible implementations of apparatuses, methods and computer program products according to various embodiments of the present application. operate. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more functions for implementing the specified logical function(s) executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented in dedicated hardware-based systems that perform the specified functions or actions , or can be implemented in a combination of dedicated hardware and computer instructions.
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。In addition, each functional module in each embodiment of the present application may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions are implemented in the form of software function modules and sold or used as independent products, they may be stored in a computer storage medium. Based on this understanding, the technical solution of the present application can be embodied in the form of a software product in essence, or the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a notebook computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。The above are only specific embodiments of the present application, but the protection scope of the present application is not limited to this. should be covered within the scope of protection of this application.
Claims (10)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011367335.9A CN112577500B (en) | 2020-11-27 | 2020-11-27 | Positioning and map construction method, device, robot and computer storage medium |
PCT/CN2021/100300 WO2022110767A1 (en) | 2020-11-27 | 2021-06-16 | Localization and mapping method, apparatus, robot, and computer-readable storage medium |
JP2023552378A JP2023549298A (en) | 2020-11-27 | 2021-06-16 | Self-location estimation/map creation method, robot and computer storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011367335.9A CN112577500B (en) | 2020-11-27 | 2020-11-27 | Positioning and map construction method, device, robot and computer storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112577500A true CN112577500A (en) | 2021-03-30 |
CN112577500B CN112577500B (en) | 2024-12-31 |
Family
ID=75126501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011367335.9A Active CN112577500B (en) | 2020-11-27 | 2020-11-27 | Positioning and map construction method, device, robot and computer storage medium |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2023549298A (en) |
CN (1) | CN112577500B (en) |
WO (1) | WO2022110767A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113984071A (en) * | 2021-09-29 | 2022-01-28 | 云鲸智能(深圳)有限公司 | Map matching method, apparatus, robot, and computer-readable storage medium |
WO2022110767A1 (en) * | 2020-11-27 | 2022-06-02 | 北京迈格威科技有限公司 | Localization and mapping method, apparatus, robot, and computer-readable storage medium |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110052043A1 (en) * | 2009-08-25 | 2011-03-03 | Samsung Electronics Co., Ltd. | Method of mobile platform detecting and tracking dynamic objects and computer-readable medium thereof |
JP2011248648A (en) * | 2010-05-27 | 2011-12-08 | Toyota Central R&D Labs Inc | Moving body |
CN106444757A (en) * | 2016-09-27 | 2017-02-22 | 成都普诺思博科技有限公司 | EKF-SLAM (Extended Kalman Filter-Simultaneous Localization And Mapping) algorithm based on straight line feature map |
CN107655473A (en) * | 2017-09-20 | 2018-02-02 | 南京航空航天大学 | Spacecraft based on SLAM technologies is with respect to autonomous navigation system |
CN110310331A (en) * | 2019-06-18 | 2019-10-08 | 哈尔滨工程大学 | A Pose Estimation Method Based on the Combination of Line Features and Point Cloud Features |
CN110866927A (en) * | 2019-11-21 | 2020-03-06 | 哈尔滨工业大学 | A robot positioning and composition method based on EKF-SLAM algorithm combined with vertical foot point and line features |
CN110926485A (en) * | 2019-11-11 | 2020-03-27 | 华中科技大学 | A mobile robot positioning method and system based on linear features |
EP3680809A1 (en) * | 2017-09-22 | 2020-07-15 | Huawei Technologies Co., Ltd. | Visual slam method and apparatus based on point and line characteristic |
CN111590595A (en) * | 2020-06-30 | 2020-08-28 | 深圳市银星智能科技股份有限公司 | Positioning method and device, mobile robot and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112577500B (en) * | 2020-11-27 | 2024-12-31 | 北京迈格威科技有限公司 | Positioning and map construction method, device, robot and computer storage medium |
-
2020
- 2020-11-27 CN CN202011367335.9A patent/CN112577500B/en active Active
-
2021
- 2021-06-16 WO PCT/CN2021/100300 patent/WO2022110767A1/en active Application Filing
- 2021-06-16 JP JP2023552378A patent/JP2023549298A/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110052043A1 (en) * | 2009-08-25 | 2011-03-03 | Samsung Electronics Co., Ltd. | Method of mobile platform detecting and tracking dynamic objects and computer-readable medium thereof |
JP2011248648A (en) * | 2010-05-27 | 2011-12-08 | Toyota Central R&D Labs Inc | Moving body |
CN106444757A (en) * | 2016-09-27 | 2017-02-22 | 成都普诺思博科技有限公司 | EKF-SLAM (Extended Kalman Filter-Simultaneous Localization And Mapping) algorithm based on straight line feature map |
CN107655473A (en) * | 2017-09-20 | 2018-02-02 | 南京航空航天大学 | Spacecraft based on SLAM technologies is with respect to autonomous navigation system |
EP3680809A1 (en) * | 2017-09-22 | 2020-07-15 | Huawei Technologies Co., Ltd. | Visual slam method and apparatus based on point and line characteristic |
CN110310331A (en) * | 2019-06-18 | 2019-10-08 | 哈尔滨工程大学 | A Pose Estimation Method Based on the Combination of Line Features and Point Cloud Features |
CN110926485A (en) * | 2019-11-11 | 2020-03-27 | 华中科技大学 | A mobile robot positioning method and system based on linear features |
CN110866927A (en) * | 2019-11-21 | 2020-03-06 | 哈尔滨工业大学 | A robot positioning and composition method based on EKF-SLAM algorithm combined with vertical foot point and line features |
CN111590595A (en) * | 2020-06-30 | 2020-08-28 | 深圳市银星智能科技股份有限公司 | Positioning method and device, mobile robot and storage medium |
Non-Patent Citations (5)
Title |
---|
DI WU等: "A LIDAR SLAM based on Point-Line Features for Underground Mining Vehicle", IEEE, 31 December 2018 (2018-12-31) * |
上原啓等: "Line-Based SLAM Considering Directional Distribution of Line Features in an Urban Environment", THE JOURNAL OF THE INSTITUTE OF IMAGE ELECTRONICS ENGINEERS OF JAPAN VOL.46 NO.4 (2017), vol. 46, no. 4, 31 December 2017 (2017-12-31), pages 522 - 532 * |
张国良;汤文俊;敬斌;程展欣;: "基于线段特征匹配的EKF-SLAM算法", 控制工程, no. 06, 20 November 2012 (2012-11-20) * |
申丽曼;蔡自兴;: "一种室内环境下机器人同时定位与地图构建方法", 信息技术, no. 07, 25 July 2007 (2007-07-25), pages 5 - 7 * |
董蕊芳等: "基于图优化的单目线特征SLAM 算法", 东南大学学报(自然科学版), vol. 47, no. 6, 30 November 2017 (2017-11-30), pages 1094 - 1099 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022110767A1 (en) * | 2020-11-27 | 2022-06-02 | 北京迈格威科技有限公司 | Localization and mapping method, apparatus, robot, and computer-readable storage medium |
CN113984071A (en) * | 2021-09-29 | 2022-01-28 | 云鲸智能(深圳)有限公司 | Map matching method, apparatus, robot, and computer-readable storage medium |
CN113984071B (en) * | 2021-09-29 | 2023-10-13 | 云鲸智能(深圳)有限公司 | Map matching method, apparatus, robot, and computer-readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2022110767A1 (en) | 2022-06-02 |
CN112577500B (en) | 2024-12-31 |
JP2023549298A (en) | 2023-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110261870B (en) | A Synchronous Localization and Mapping Method for Vision-Inertial-Laser Fusion | |
CN107358629B (en) | An indoor mapping and localization method based on target recognition | |
CN110118556A (en) | A kind of robot localization method and device based on covariance mixing together SLAM | |
CN113658337B (en) | Multi-mode odometer method based on rut lines | |
CN112484746B (en) | Monocular vision auxiliary laser radar odometer method based on ground plane | |
CN109285110A (en) | Method and system for infrared and visible light image registration based on robust matching and transformation | |
JP2017162457A (en) | Image analysis system and method | |
CN114088081A (en) | A Map Construction Method for Precise Positioning Based on Multi-segment Joint Optimization | |
CN114299386A (en) | Laser SLAM method integrating laser odometer and loop detection | |
CN114004900A (en) | Indoor binocular vision odometer method based on point-line-surface characteristics | |
CN112577500A (en) | Positioning and map construction method and device, robot and computer storage medium | |
CN114063099A (en) | RGBD-based positioning method and device | |
CN113793370B (en) | Three-dimensional point cloud registration method and device, electronic equipment and readable medium | |
CN116577801A (en) | Positioning and mapping method and system based on laser radar and IMU | |
CN115267724A (en) | Position re-identification method of mobile robot based on pose estimation of laser radar | |
CN117419719A (en) | IMU-fused three-dimensional laser radar positioning and mapping method | |
CN110751722B (en) | Simultaneous positioning and mapping method and device | |
CN111474560B (en) | An obstacle positioning method, device and equipment | |
WO2024108753A1 (en) | Lidar-based efficient robust global positioning method for mobile robot | |
CN115239776B (en) | Point cloud registration method, device, equipment and medium | |
CN116907477A (en) | High-precision laser SLAM method and device based on visual road sign assistance | |
CN116817920A (en) | Visual positioning method and device for plane mobile robot without three-dimensional map model | |
Zeng et al. | Entropy-based Keyframe Established and Accelerated Fast LiDAR Odometry and Mapping | |
Wu et al. | DPC-SLAM: Discrete Plane Constrained VSLAM for Intelligent Vehicle in Road Environment | |
CN114511673B (en) | A Preliminary Construction Method of Seabed Local Environment Based on Improved ICP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |