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 PDF

Info

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
Application number
CN202011367335.9A
Other languages
Chinese (zh)
Other versions
CN112577500B (en
Inventor
贺一家
赖文芊
刘骁
沈毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Megvii Technology Co Ltd
Original Assignee
Beijing Megvii Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Megvii Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN202011367335.9A priority Critical patent/CN112577500B/en
Publication of CN112577500A publication Critical patent/CN112577500A/en
Priority to PCT/CN2021/100300 priority patent/WO2022110767A1/en
Priority to JP2023552378A priority patent/JP2023549298A/en
Application granted granted Critical
Publication of CN112577500B publication Critical patent/CN112577500B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; 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/30Map- or contour-matching
    • G01C21/32Structuring 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

The invention relates to a positioning and map construction method, a positioning and map construction device, a robot and a computer storage medium, wherein the method comprises the following steps: performing linear feature extraction on the acquired point cloud data at the time t to obtain a plurality of corresponding line segments; estimating the relative attitude of the robot at the time t compared with the time t-1; according to the relative posture, performing line segment matching on a plurality of line segments corresponding to the t moment and a plurality of line segments obtained by performing line feature extraction at the t-1 moment to obtain a line to which each line segment belongs; and carrying out joint optimization on the postures of the robot at each moment and the two-straight-line parametric representation forms of all straight lines to obtain the postures of the robot at each moment and the straight line parameters of all straight lines. When representing straight lines, a two-straight-line parametric representation form is adopted, so that the calculation amount can be reduced as much as possible, the calculation efficiency can be improved, and the calculation time can be shortened.

Description

定位与地图构建方法、装置、机器人及计算机存储介质Positioning and map construction method, device, robot and computer storage medium

技术领域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时刻的姿态为

Figure BDA0002805182050000021
设置所述机器人在所述t-1时刻的姿态为
Figure BDA0002805182050000022
设置所述机器人在所述t时刻的机器人坐标系相对于世界坐标系的旋转矩阵及平移向量分别为
Figure BDA0002805182050000023
根据预先保存的机器人轮式编码器姿态估计算法,计算得到所述t时刻相较于所述t-1时刻的相对姿态
Figure BDA0002805182050000024
其中,
Figure BDA0002805182050000025
之间满足公式:
Figure BDA0002805182050000026
(xk,yk)表示所述机器人在t=k时刻时相对于世界坐标系w的坐标,
Figure BDA0002805182050000027
表示所述机器人在t=k时刻时相对于世界坐标系w的朝向,
Figure BDA0002805182050000028
为所述旋转矩阵,
Figure BDA0002805182050000029
为所述平移向量,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
Figure BDA0002805182050000021
Set the posture of the robot at the time t-1 as
Figure BDA0002805182050000022
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
Figure BDA0002805182050000023
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
Figure BDA0002805182050000024
in,
Figure BDA0002805182050000025
The formula is satisfied between:
Figure BDA0002805182050000026
(x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000027
represents the orientation of the robot relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000028
is the rotation matrix,
Figure BDA0002805182050000029
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时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数

Figure BDA0002805182050000041
计算与该线段对应的各个线段对的损失值;将所述损失值最小时所对应的线段对确定为属于同一直线;其中,d1,d2为该线段的两个端点到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,
Figure BDA0002805182050000042
为该线段的长度,α是预先设定的控制因子参数,且d1,d2,d0
Figure BDA0002805182050000043
均由线段对中的两线段的表达式来确定。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
Figure BDA0002805182050000041
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,
Figure BDA0002805182050000042
is the length of the line segment, α is a preset control factor parameter, and d 1 , d 2 , d 0 ,
Figure BDA0002805182050000043
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时刻的姿态为

Figure BDA0002805182050000044
设置所述机器人在所述t-1时刻的姿态为
Figure BDA0002805182050000051
设置所述机器人在所述t时刻的机器人坐标系相对于世界坐标系的旋转矩阵及平移向量分别为
Figure BDA0002805182050000052
根据预先保存的机器人轮式编码器姿态估计算法,计算得到所述t时刻相较于所述t-1时刻的相对姿态
Figure BDA0002805182050000053
其中,
Figure BDA0002805182050000054
Figure BDA0002805182050000055
之间满足公式:
Figure BDA0002805182050000056
(xk,yk)表示所述机器人在t=k时刻时相对于世界坐标系w的坐标,
Figure BDA0002805182050000057
表示所述机器人在t=k时刻时相对于世界坐标系w的朝向,
Figure BDA0002805182050000058
为所述旋转矩阵,
Figure BDA0002805182050000059
为所述平移向量,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
Figure BDA0002805182050000044
Set the posture of the robot at the time t-1 as
Figure BDA0002805182050000051
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
Figure BDA0002805182050000052
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
Figure BDA0002805182050000053
in,
Figure BDA0002805182050000054
and
Figure BDA0002805182050000055
The formula is satisfied between:
Figure BDA0002805182050000056
(x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000057
represents the orientation of the robot relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000058
is the rotation matrix,
Figure BDA0002805182050000059
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时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数

Figure BDA0002805182050000061
计算与该线段对应的各个线段对的损失值;将所述损失值最小时所对应的线段对确定为属于同一直线;其中,d1,d2为该线段的两个端点到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,
Figure BDA0002805182050000062
为该线段的长度,α是预先设定的控制因子参数,且d1,d2,d0
Figure BDA0002805182050000063
均由线段对中的两线段的表达式来确定。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
Figure BDA0002805182050000061
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,
Figure BDA0002805182050000062
is the length of the line segment, α is a preset control factor parameter, and d 1 , d 2 , d 0 ,
Figure BDA0002805182050000063
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 robot 100 for implementing the method and apparatus for positioning and map construction according to the embodiment of the present application will be described.

其中,机器人100可以包括:处理器110、存储器120、激光发射组件130。The robot 100 may include: a processor 110 , a memory 120 , and a laser emitting component 130 .

应当注意,图1所示的机器人100的组件和结构只是示例性的,而非限制性的,根据需要,机器人100也可以具有其他组件和结构。It should be noted that the components and structures of the robot 100 shown in FIG. 1 are only exemplary and not restrictive, and the robot 100 may also have other components and structures as required.

处理器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 robot 100 are directly or indirectly electrically connected to each other to realize data transmission or interaction. For example, the processor 110, the memory 120, the laser emitting component 130 and other possible components may be electrically connected to each other through one or more communication buses or signal lines.

激光发射组件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 robot 100 .

处理器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 robot 100 . The embodiments of the present application will be described below with reference to FIG. 2 , taking the point cloud data composed of two-dimensional discrete points as an example.

步骤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 robot 100 is powered on and starts, the laser emitting component 130 can emit laser light to the outside, so as to acquire point cloud data used to reflect the environmental conditions at the current moment.

在后续的每个时刻,机器人100可以陆续通过激光发射组件130获取到当前时刻的点云数据。At each subsequent moment, the robot 100 can successively obtain the point cloud data of the current moment through the laser emitting component 130 .

在点云数据中,包括若干二维离散点。In the point cloud data, several two-dimensional discrete points are included.

单线激光所产生的多个平面内的二维离散点可以用公式

Figure BDA0002805182050000101
来表示。其中,x表示二维离散点在当前时刻的机器人坐标系o中的横坐标,y表示二维离散点在当前时刻的机器人坐标系o中的纵坐标。
Figure BDA0002805182050000102
表示二维离散点的表达式P中包括2个实数变量,即x与y。The two-dimensional discrete points in multiple planes produced by a single-line laser can be expressed by the formula
Figure BDA0002805182050000101
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.
Figure BDA0002805182050000102
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 robot 100 .

在任何时刻,机器人100可以通过获取当前时刻的第一标识点所在的位置以及当前时刻的第二标识点所在的位置,从而确定与当前时刻对应的机器人坐标系。At any moment, the robot 100 can determine the robot coordinate system corresponding to the current moment by acquiring the position of the first identification point at the current moment and the position of the second identification point at the current moment.

例如,在任一时刻,机器人100以第一标识点所在的位置为坐标原点,以第二标识点所在的位置与第一标识点所在的位置之间的连线所在的直线为y轴,以垂直于y轴的直线为x轴,从而确定与当前时刻对应的机器人坐标系。For example, at any moment, the robot 100 takes the position of the first identification point as the origin of the coordinates, the line connecting the position of the second identification point and the position of the first identification point is the y-axis, and the vertical The straight line on the y-axis is the x-axis, thereby determining the robot coordinate system corresponding to the current moment.

值得指出的是,由于机器人100不断在移动,因此,与各个时刻对应的机器人坐标系可能均不相同。此外,一般以机器人100在启动的初始时刻所确定的机器人坐标系为全局的世界坐标系w。It is worth noting that since the robot 100 is constantly moving, the coordinate systems of the robot corresponding to each moment may be different. In addition, generally, the robot coordinate system determined at the initial time of startup of the robot 100 is used as the global world coordinate system w.

其中,第一标识点可以是机器人100的几何中心点所在的位置,也可以是机器人100的其他位置所对应的点,本申请实施例不做具体限定。The first identification point may be a position where the geometric center point of the robot 100 is located, or may be a point corresponding to other positions of the robot 100, which is not specifically limited in this embodiment of the present application.

在得到点云数据后,如图3所示,机器人100可以通过预先保存的已知直线特征提取算法(如最小二乘算法),从点云数据中提取出若干线段Li={ni,si,ei},i=1…n。After obtaining the point cloud data, as shown in FIG. 3 , the robot 100 can extract several line segments L i ={n i from the point cloud data through a pre-saved known linear feature extraction algorithm (such as the least squares algorithm), s i , e i }, i=1...n.

其中,

Figure BDA0002805182050000111
表示线段i所在直线的法向量,θ表示线段所在直线的法向量与当前时刻的机器人坐标系o中的x轴的夹角,si、ei表示线段i的两个端点,n为正整数。in,
Figure BDA0002805182050000111
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 robot 100 at time t is referred to as the posture of the robot 100 at time t.

假设机器人100在t时刻的姿态为

Figure BDA0002805182050000112
且假设机器人100在t时刻的前一时刻(在本申请实施例中称之为t-1时刻)的姿态为
Figure BDA0002805182050000113
Assume that the posture of the robot 100 at time t is
Figure BDA0002805182050000112
And it is assumed that the posture of the robot 100 at the moment before time t (referred to as time t-1 in the embodiment of the present application) is:
Figure BDA0002805182050000113

其中,(xk,yk)表示所述机器人在t=k时刻时,相对于世界坐标系w的坐标,

Figure BDA0002805182050000114
表示机器人100在t=k时刻时,相对于世界坐标系w的朝向,
Figure BDA0002805182050000115
表示姿态的表达式T中包括3个实数变量,即x、y、
Figure BDA0002805182050000116
Among them, (x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000114
represents the orientation of the robot 100 relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000115
The expression T that represents the attitude includes three real variables, namely x, y,
Figure BDA0002805182050000116

此外,假设机器人100在t=k时刻的机器人坐标系o相对于世界坐标系w的旋转矩阵及平移向量分别为

Figure BDA0002805182050000121
其中,
Figure BDA0002805182050000122
为旋转矩阵,
Figure BDA0002805182050000123
为平移向量。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 robot 100 at time t=k are respectively:
Figure BDA0002805182050000121
in,
Figure BDA0002805182050000122
is the rotation matrix,
Figure BDA0002805182050000123
is the translation vector.

在存在上述假设的参数后,可以根据预先保存的对机器人在不同时刻间的相对姿态的估计算法,估计机器人100在t时刻(t=k)相较于t-1时刻的相对姿态

Figure BDA0002805182050000124
After the above-mentioned parameters are assumed, the relative posture of the robot 100 at time t (t=k) compared to time t-1 can be estimated according to the pre-stored estimation algorithm for the relative posture of the robot at different times.
Figure BDA0002805182050000124

其中,对机器人在不同时刻间的相对姿态的估计算法可以包括,但不限于:机器人轮式编码器的姿态估计算法,点云迭代最近点(ICP,Iterative Closest Point)的匹配算法等。在本申请实施例中,不限制相对姿态对

Figure BDA0002805182050000125
的估计算法的具体类型。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
Figure BDA0002805182050000125
The specific type of estimation algorithm for .

以机器人轮式编码器的姿态估计算法为例,根据该算法,机器人可以计算得到t时刻相较于述t-1时刻的相对姿态

Figure BDA0002805182050000126
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.
Figure BDA0002805182050000126

其中,

Figure BDA0002805182050000127
Figure BDA0002805182050000128
三者之间满足公式:
Figure BDA0002805182050000129
v为机器人100通过内置的轮式编码器测得的自身在前进时的线速度,ω为机器人100通过内置的轮式编码器测得的自身在前进时的角速度,△t为t时刻与t-1时刻之间的时间间隔。in,
Figure BDA0002805182050000127
and
Figure BDA0002805182050000128
The formula between the three is satisfied:
Figure BDA0002805182050000129
v is the linear velocity of the robot 100 when it is moving forward measured by the built-in wheel encoder, ω is the angular velocity of the robot 100 when it is moving forward measured by the built-in wheel encoder, Δt is the time between t and t -1 Time interval between moments.

值得指出的是,上述步骤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、当前时刻相对于前一时刻的相对姿态

Figure BDA0002805182050000131
且以机器人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
Figure BDA0002805182050000131
And take the robot coordinate system formed by the robot 100 at the previous time (time t-1) as the reference coordinate system.

假设当前时刻机器人坐标系下的一个点为

Figure BDA0002805182050000132
通过机器人100在当前时刻相对于前一时刻的旋转矩阵
Figure BDA0002805182050000133
及平移向量
Figure BDA0002805182050000134
可以将
Figure BDA0002805182050000135
变换到机器人坐标系为参考坐标系,公式为:
Figure BDA0002805182050000136
可以简写为
Figure BDA0002805182050000137
其中,
Figure BDA0002805182050000138
为点
Figure BDA0002805182050000139
在参考坐标系下的表达式。Suppose a point in the robot coordinate system at the current moment is
Figure BDA0002805182050000132
Through the rotation matrix of the robot 100 at the current moment relative to the previous moment
Figure BDA0002805182050000133
and translation vector
Figure BDA0002805182050000134
can
Figure BDA0002805182050000135
Transform to the robot coordinate system as the reference coordinate system, the formula is:
Figure BDA0002805182050000136
can be abbreviated as
Figure BDA0002805182050000137
in,
Figure BDA0002805182050000138
for points
Figure BDA0002805182050000139
Expression in the reference coordinate system.

可以通过上述相同的方式,将当前时刻观测到线段的两个端点

Figure BDA00028051820500001310
Figure BDA00028051820500001311
变换到参考坐标系后,得到
Figure BDA00028051820500001312
相应的,当前时刻机器人100所提取出的线段
Figure BDA00028051820500001313
变换到参考坐标系(前一时刻对应的机器人坐标系)后的表达式为:
Figure BDA00028051820500001314
其中,线段的法向量的变换方程为
Figure BDA00028051820500001315
The current moment can be observed at the two endpoints of the line segment in the same way as above
Figure BDA00028051820500001310
Figure BDA00028051820500001311
After transforming to the reference coordinate system, we get
Figure BDA00028051820500001312
Correspondingly, the line segment extracted by the robot 100 at the current moment
Figure BDA00028051820500001313
The expression after transformation to the reference coordinate system (the robot coordinate system corresponding to the previous moment) is:
Figure BDA00028051820500001314
Among them, the transformation equation of the normal vector of the line segment is
Figure BDA00028051820500001315

步骤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所观测到的某条线段

Figure BDA0002805182050000141
在前一时刻r所对应的参考坐标系下的表达式
Figure BDA0002805182050000142
可以将
Figure BDA0002805182050000143
与机器人100在前一时刻r所观测到的每一条线段
Figure BDA0002805182050000144
进行比对,从而确定待比对的两条线段之间的属性特征。其中,属性特征包括但不限于:待比对的两线段的角度差、待比对的两线段之间的距离、待比对的两线段之间的重合度中的至少一个。相应的,与上述所列举的属性特征所对应的属性特征阈值分别为角度差阈值、距离阈值以及重合度阈值。Optionally, for a certain line segment observed by the robot 100 at the current moment c
Figure BDA0002805182050000141
The expression in the reference coordinate system corresponding to the previous moment r
Figure BDA0002805182050000142
can
Figure BDA0002805182050000143
and each line segment observed by the robot 100 at the previous time r
Figure BDA0002805182050000144
Alignment is performed to determine the attribute characteristics between the two line segments to be compared. The attribute features include, but are not limited to, at least one of the angle difference between the two line segments to be compared, the distance between the two line segments to be compared, and the degree of coincidence between the two line segments to be compared. Correspondingly, the attribute feature thresholds corresponding to the above-listed attribute features are an angle difference threshold, a distance threshold, and a coincidence threshold, respectively.

可选的,待比对的两线段的角度差为

Figure BDA0002805182050000145
在参考坐标系里的角度
Figure BDA0002805182050000146
和参考坐标系里线段
Figure BDA0002805182050000147
在参考坐标系里的角度
Figure BDA0002805182050000148
之间的角度差
Figure BDA0002805182050000149
如果该角度差超过预先设定的角度差角度差阈值(例如5°),则认为待比对的两线段
Figure BDA00028051820500001410
Figure BDA00028051820500001411
之间属于同一直线的概率较小,
Figure BDA00028051820500001412
Figure BDA00028051820500001413
的差异线段。Optionally, the angle difference between the two line segments to be compared is
Figure BDA0002805182050000145
angle in the reference frame
Figure BDA0002805182050000146
and line segments in the reference coordinate system
Figure BDA0002805182050000147
angle in the reference frame
Figure BDA0002805182050000148
angle difference between
Figure BDA0002805182050000149
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
Figure BDA00028051820500001410
and
Figure BDA00028051820500001411
The probability of belonging to the same straight line is small,
Figure BDA00028051820500001412
for
Figure BDA00028051820500001413
difference line segment.

可选的,待比对的两线段之间的距离为

Figure BDA0002805182050000151
的两端点在参考坐标系内的表达式
Figure BDA0002805182050000152
到参考坐标系里的线段
Figure BDA0002805182050000153
的距离,分别为d1,d2。其中
Figure BDA0002805182050000154
就d1、d2而言,其中任一个的所表征的距离超过预先设置的距离阈值(例如10厘米),则认为待比对的两线段
Figure BDA0002805182050000155
Figure BDA0002805182050000156
之间属于同一直线的概率较小,
Figure BDA0002805182050000157
Figure BDA0002805182050000158
的差异线段。Optionally, the distance between the two line segments to be compared is
Figure BDA0002805182050000151
Expressions of both ends of , in the reference coordinate system
Figure BDA0002805182050000152
to the line segment in the reference coordinate system
Figure BDA0002805182050000153
The distances are d 1 and d 2 , respectively. in
Figure BDA0002805182050000154
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
Figure BDA0002805182050000155
and
Figure BDA0002805182050000156
The probability of belonging to the same straight line is small,
Figure BDA0002805182050000157
for
Figure BDA0002805182050000158
difference line segment.

可选的,待比对的两线段之间的重合度d0,将端点

Figure BDA0002805182050000159
投影到直线
Figure BDA00028051820500001510
上得到投影点
Figure BDA00028051820500001511
d0即为线段
Figure BDA00028051820500001512
Figure BDA00028051820500001513
的重合区域的长度。如果d0小于重合度阈值(例如10厘米),则认为待比对的两线段
Figure BDA00028051820500001514
Figure BDA00028051820500001515
之间属于同一直线的概率较小,
Figure BDA00028051820500001516
Figure BDA00028051820500001517
的差异线段。Optionally, the degree of coincidence d 0 between the two line segments to be compared, the endpoint
Figure BDA0002805182050000159
Project to line
Figure BDA00028051820500001510
get the projected point on
Figure BDA00028051820500001511
d 0 is the line segment
Figure BDA00028051820500001512
and
Figure BDA00028051820500001513
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
Figure BDA00028051820500001514
and
Figure BDA00028051820500001515
The probability of belonging to the same straight line is small,
Figure BDA00028051820500001516
for
Figure BDA00028051820500001517
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所观测到的某一线段为

Figure BDA00028051820500001518
其在参考坐标系内的表达式为
Figure BDA00028051820500001519
前一时刻r所观测到的某一线段为
Figure BDA00028051820500001520
且当前举例时,将
Figure BDA00028051820500001521
Figure BDA00028051820500001522
组合成线段对。Suppose a line segment observed at the current time c is
Figure BDA00028051820500001518
Its expression in the reference coordinate system is
Figure BDA00028051820500001519
A line segment observed at the previous moment r is
Figure BDA00028051820500001520
and the current example, will
Figure BDA00028051820500001521
and
Figure BDA00028051820500001522
Combine into line segment pairs.

其中,预先构建的损失函数为

Figure BDA00028051820500001523
d1,d2为该线段
Figure BDA00028051820500001524
的两个端点在参考坐标系内的表达式
Figure BDA00028051820500001525
分别到线段对中的另一线段
Figure BDA00028051820500001526
的距离,d0是线段对中两线段的重合区域的长度,
Figure BDA00028051820500001527
为该线段
Figure BDA00028051820500001528
的长度,α是预先设定的控制因子参数(例如可以设置为0.5)。Among them, the pre-built loss function is
Figure BDA00028051820500001523
d 1 , d 2 are the line segments
Figure BDA00028051820500001524
The expression of the two endpoints of , in the reference coordinate system
Figure BDA00028051820500001525
to the other segment of the segment pair, respectively
Figure BDA00028051820500001526
The distance of d 0 is the length of the overlapping area of the two line segments in the line segment pair,
Figure BDA00028051820500001527
for the line segment
Figure BDA00028051820500001528
The length of α is a preset control factor parameter (for example, it can be set to 0.5).

通过重复上述计算损失值的过程,可以得到当前时刻c所观测到的某一线段为

Figure BDA0002805182050000161
与前一时刻r所观测到的各条线段(若进行了线段过滤,则此处为前一时刻r所观测到的各条候选线段)之间的损失值。后续,通过比较各损失值之间的大小,将损失值最小时所对应的属于前一时刻r所观测到的线段与
Figure BDA0002805182050000162
确定为属于同一直线。此时,可以将两线段设置同样的直线标识(例如直线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
Figure BDA0002805182050000161
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
Figure BDA0002805182050000162
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.

此外,若针对当前时刻所观测到某条线段

Figure BDA0002805182050000163
若在针对其对前一时刻r所观测到的各条线段进行线段过滤时,最终得到的候选线段为0,此时说明该线段
Figure BDA0002805182050000164
为新出现的直线的一部分,此时,可以为该线段
Figure BDA0002805182050000165
设置一个全新的直线标识。当后续时刻有与该线段
Figure BDA0002805182050000166
属于同一直线的线段产生时,可以将该全新的直线标识继承给后续与该线段
Figure BDA0002805182050000167
属于同一直线的线段。In addition, if a line segment is observed for the current moment
Figure BDA0002805182050000163
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.
Figure BDA0002805182050000164
is a part of the new line, at this time, it can be the line segment
Figure BDA0002805182050000165
Sets a brand new line identity. When there is a line segment related to the
Figure BDA0002805182050000166
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.
Figure BDA0002805182050000167
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.

在本申请实施例中,为了减少计算量,通过二直线参数化表示形式来表示得到的每条直线:

Figure BDA0002805182050000168
其中
Figure BDA0002805182050000169
为直线法向量对应的角度,ρ表示坐标系原点到直线的距离,点在直线上对应的方程为: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:
Figure BDA0002805182050000168
in
Figure BDA0002805182050000169
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个时刻的姿态

Figure BDA0002805182050000171
同时,假设当前时刻经过线段匹配后所得到的直线有m条,且m条直线表示为
Figure BDA0002805182050000172
Assume that the robot trajectory that the robot 100 needs to estimate at the current moment includes the poses at n moments
Figure BDA0002805182050000171
At the same time, it is assumed that there are m straight lines obtained after line segment matching at the current moment, and the m straight lines are expressed as
Figure BDA0002805182050000172

假设在t=k时刻时,机器人100在此刻的机器人坐标系的位置相对于世界坐标系的相对姿态为

Figure BDA0002805182050000173
假设地图中第i条直线
Figure BDA0002805182050000174
在k时刻被机器人100观测到,那么
Figure BDA0002805182050000175
在机器人坐标系O中对应的观测量为
Figure BDA0002805182050000176
在理想状态下,对于直线上的一个点
Figure BDA0002805182050000177
将其通过机器人坐标系变换到世界坐标系后得到的点
Figure BDA0002805182050000178
应满足直线方程:Assuming that at time t=k, the position of the robot 100 in the robot coordinate system at this moment relative to the world coordinate system is
Figure BDA0002805182050000173
Suppose the i-th straight line in the map
Figure BDA0002805182050000174
Observed by the robot 100 at time k, then
Figure BDA0002805182050000175
The corresponding observation in the robot coordinate system O is
Figure BDA0002805182050000176
Ideally, for a point on the line
Figure BDA0002805182050000177
The point obtained by transforming it from the robot coordinate system to the world coordinate system
Figure BDA0002805182050000178
The straight line equation should be satisfied:

Figure BDA0002805182050000179
Figure BDA0002805182050000179

Figure BDA00028051820500001710
Figure BDA00028051820500001710

然而,由于点云数据测量值存在噪声且机器人姿态存在估计误差,因此观测坐标

Figure BDA00028051820500001711
和地图直线
Figure BDA00028051820500001712
之间可构建残差约束:However, due to the noise in the point cloud data measurements and the estimation error of the robot pose, the observed coordinates
Figure BDA00028051820500001711
straight line with the map
Figure BDA00028051820500001712
Residual constraints can be constructed between:

Figure BDA00028051820500001713
Figure BDA00028051820500001713

考虑到每条直线都有两个端点s,e,因此一条直线可以构建一个由两个残差组成的残差向量:Considering that each line has two endpoints s, e, a line can construct a residual vector consisting of two residuals:

Figure BDA00028051820500001714
Figure BDA00028051820500001714

通过最小化残差向量的平方和,可以得到各个时刻的姿态与所有直线之间的最优估计公式

Figure BDA00028051820500001715
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
Figure BDA00028051820500001715

通过对上述最优估计公式进行迭代求解,可以得到各个时刻的姿态及所有直线的直线参数,从而完成对机器人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 robot 100 .

其中,非线性最小二乘问题的求解可以采用现有的计算方式,例如高斯牛顿算法(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 map construction apparatus 400 . The positioning and map construction apparatus 400 may include: an extraction module 410 , an estimation module 420 , a matching module 430 and an optimization module 440 .

提取模块410,用于在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;The extraction module 410 is used to perform linear feature extraction on the acquired point cloud data at time t to obtain a plurality of corresponding line segments;

预估模块420,用于预估机器人在所述t时刻相较于t-1时刻的相对姿态;Estimation module 420, for estimating the relative posture of the robot at time t compared to time t-1;

匹配模块430,用于根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;The matching module 430 is 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 the belonging of each line segment. straight line;

优化模块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时刻的姿态为

Figure BDA0002805182050000181
设置所述机器人在所述t-1时刻的姿态为
Figure BDA0002805182050000182
设置所述机器人在所述t时刻的机器人坐标系相对于世界坐标系的旋转矩阵及平移向量分别为
Figure BDA0002805182050000183
根据预先保存的机器人轮式编码器姿态估计算法,计算得到所述t时刻相较于所述t-1时刻的相对姿态
Figure BDA0002805182050000184
其中,
Figure BDA0002805182050000185
Figure BDA0002805182050000186
之间满足公式:
Figure BDA0002805182050000187
(xk,yk)表示所述机器人在t=k时刻时相对于世界坐标系w的坐标,
Figure BDA0002805182050000188
表示所述机器人在t=k时刻时相对于世界坐标系w的朝向,
Figure BDA0002805182050000189
为所述旋转矩阵,
Figure BDA00028051820500001810
为所述平移向量,v为所述机器人的线速度,ω为所述机器人的角速度,△t为所述t时刻与所述t-1时刻之间的时间间隔。In a possible implementation manner, the estimation module 420 is configured to set the posture of the robot at the time t to be
Figure BDA0002805182050000181
Set the posture of the robot at the time t-1 as
Figure BDA0002805182050000182
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
Figure BDA0002805182050000183
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
Figure BDA0002805182050000184
in,
Figure BDA0002805182050000185
and
Figure BDA0002805182050000186
The formula is satisfied between:
Figure BDA0002805182050000187
(x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000188
represents the orientation of the robot relative to the world coordinate system w at time t=k,
Figure BDA0002805182050000189
is the rotation matrix,
Figure BDA00028051820500001810
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.

在一种可能的实施方式中,所述匹配模块430,用于确定所述机器人在所述t-1时刻时所形成的机器人坐标系为参考坐标系;根据所述相对姿态,将与所述t时刻对应的线段的两个端点的坐标转换到所述参考坐标系中,得到与所述t时刻对应的线段在所述参考坐标系下的表达式;将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配。In a possible implementation manner, the matching module 430 is configured to determine the robot coordinate system formed by the robot at the time t-1 as a reference coordinate system; The coordinates of the two end points of the line segment corresponding to the time t are converted into the reference coordinate system, and the expression of the line segment corresponding to the time t in the reference coordinate system is obtained; The expressions 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时刻对应的剩余的线段确定为与该线段对应的候选线段;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 matching module 430 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.

在一种可能的实施方式中,所述装置还包括确定模块,用于确定与该线段对应的候选线段的个数不为零;在确定模块确定为时,所述装置还包括添加模块,用于确定该线段属于新的直线。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时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数

Figure BDA0002805182050000191
计算与该线段对应的各个线段对的损失值;将所述损失值最小时所对应的线段对确定为属于同一直线;其中,d1,d2为该线段的两个端点到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,
Figure BDA0002805182050000192
为该线段的长度,α是预先设定的控制因子参数,且d1,d2,d0
Figure BDA0002805182050000193
均由线段对中的两线段的表达式来确定。In a possible implementation manner, the matching module 430 is configured to, for each line segment corresponding to the time t, form a line segment pair with the line segment and each single line segment corresponding to the time t-1, and According to a pre-built loss function
Figure BDA0002805182050000191
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,
Figure BDA0002805182050000192
is the length of the line segment, α is a preset control factor parameter, and d 1 , d 2 , d 0 ,
Figure BDA0002805182050000193
Both are determined by the expressions of the two line segments in the line segment pair.

在一种可能的实施方式中,所述优化模块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 map construction device 400 provided by the embodiments of the present application has the same implementation principle and technical effects as the foregoing method embodiments. For the sake of brief description, the parts not mentioned in the device embodiments may be referred to in the foregoing method embodiments. corresponding content.

此外,本申请实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的定位与地图构建方法所包含的步骤。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)

1.一种定位与地图构建方法,其特征在于,所述方法包括:1. a positioning and map construction method, is characterized in that, described method comprises: 在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;Perform linear feature extraction on the acquired point cloud data at time t to obtain a plurality of corresponding line segments; 预估机器人在所述t时刻相较于t-1时刻的相对姿态;Estimate the relative posture of the robot at the time t compared to the time t-1; 根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;According to the relative posture, 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 to obtain the straight line to which each line segment belongs; 将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。The posture of the robot at each moment and the two-line parameterized representations of all straight lines are jointly optimized to obtain the posture of the robot at each moment and the straight line parameters of all straight lines. 2.根据权利要求1所述的方法,其特征在于,所述预估机器人在所述t时刻相较于t-1时刻的相对姿态,包括:2. method according to claim 1, is characterized in that, the relative posture of described estimated robot at described t moment compared to t-1 moment, comprises: 设置所述机器人在所述t时刻的姿态为
Figure FDA0002805182040000011
设置所述机器人在所述t-1时刻的姿态为
Figure FDA0002805182040000012
Set the posture of the robot at the time t as
Figure FDA0002805182040000011
Set the posture of the robot at the time t-1 as
Figure FDA0002805182040000012
设置所述机器人在所述t时刻的机器人坐标系相对于世界坐标系的旋转矩阵及平移向量分别为
Figure FDA0002805182040000013
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
Figure FDA0002805182040000013
根据预先保存的机器人轮式编码器姿态估计算法,计算得到所述t时刻相较于所述t-1时刻的相对姿态
Figure FDA0002805182040000014
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
Figure FDA0002805182040000014
其中,
Figure FDA0002805182040000015
Figure FDA0002805182040000016
之间满足公式:
Figure FDA0002805182040000017
(xk,yk)表示所述机器人在t=k时刻时相对于世界坐标系w的坐标,
Figure FDA00028051820400000110
表示所述机器人在t=k时刻时相对于世界坐标系w的朝向,
Figure FDA0002805182040000018
为所述旋转矩阵,
Figure FDA0002805182040000019
为所述平移向量,v为所述机器人的线速度,ω为所述机器人的角速度,Δt为所述t时刻与所述t-1时刻之间的时间间隔。
in,
Figure FDA0002805182040000015
and
Figure FDA0002805182040000016
The formula is satisfied between:
Figure FDA0002805182040000017
(x k , y k ) represents the coordinates of the robot relative to the world coordinate system w at time t=k,
Figure FDA00028051820400000110
represents the orientation of the robot relative to the world coordinate system w at time t=k,
Figure FDA0002805182040000018
is the rotation matrix,
Figure FDA0002805182040000019
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.
3.根据权利要求1所述的方法,其特征在于,所述对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,包括:3 . The method according to claim 1 , wherein 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, 3 . include: 确定所述机器人在所述t-1时刻时所形成的机器人坐标系为参考坐标系;determining that the robot coordinate system formed by the robot at the time t-1 is the reference coordinate system; 根据所述相对姿态,将与所述t时刻对应的线段的两个端点的坐标转换到所述参考坐标系中,得到与所述t时刻对应的线段在所述参考坐标系下的表达式;According to the relative attitude, the coordinates of the two end points of the line segment corresponding to the time t are converted into the reference coordinate system to obtain the expression of the line segment corresponding to the time t in the reference coordinate system; 将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配。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. 4.根据权利要求3所述的方法,其特征在于,在所述将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配之前,所述方法还包括:4. The method according to claim 3, wherein, in the expression of the line segment corresponding to the time t in the reference coordinate system and a plurality of line segments corresponding to the time t-1 Before matching the expression, the method further includes: 针对与所述t时刻对应的每个线段,根据预先确定的属性特征及预先保存的属性特征阈值,从与所述t-1时刻对应的所有线段中过滤差异线段,并将与所述t-1时刻对应的剩余的线段确定为与该线段对应的候选线段;For each line segment corresponding to the time t, the difference line segment is filtered from all the line segments corresponding to the time t-1 according to a predetermined attribute feature and a pre-stored attribute feature threshold, and the difference line segment is compared with the time t- The remaining line segments corresponding to time 1 are determined as candidate line segments corresponding to the line segment; 相应的,所述将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配,包括:Correspondingly, the matching of 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: 针对与所述t时刻对应的每个线段,将该线段在所述参考坐标系下的表达式及与该线段对应的候选线段的表达式进行匹配。For each line segment corresponding to the time t, 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. 5.根据权利要求4所述的方法,其特征在于,在所述将该线段在所述参考坐标系下的表达式及与该线段对应的候选线段的表达式进行匹配之前,所述方法还包括:5 . The method according to claim 4 , wherein, before matching the expression of the line segment in the reference coordinate system with the expression of the candidate line segment corresponding to the line segment, the method further comprises: 6 . include: 确定与该线段对应的候选线段的个数不为零;It is determined that the number of candidate line segments corresponding to the line segment is not zero; 否则,所述方法还包括:Otherwise, the method further includes: 确定该线段属于新的直线。Make sure that the line segment belongs to the new line. 6.根据权利要求3或4所述的方法,其特征在于,所述将与所述t时刻对应的线段在所述参考坐标系下的表达式及与所述t-1时刻对应的多个线段的表达式进行匹配,包括:6. The method according to claim 3 or 4, characterized in that, 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 Line segment expressions are matched, including: 针对与所述t时刻对应的每个线段,将该线段和与所述t-1时刻对应的各个单一线段形成线段对,并根据预先构建的损失函数
Figure FDA0002805182040000031
计算与该线段对应的各个线段对的损失值;
For each line segment corresponding to the time t, a line segment pair is formed between the line segment and each single line segment corresponding to the time t-1, and according to the pre-built loss function
Figure FDA0002805182040000031
Calculate the loss value of each line segment pair corresponding to the line segment;
将所述损失值最小时所对应的线段对确定为属于同一直线;Determining the pair of line segments corresponding to the minimum loss value as belonging to the same straight line; 其中,d1,d2为该线段的两个端点到线段对中的另一线段的距离,d0是线段对中两线段的重合区域的长度,
Figure FDA0002805182040000032
为该线段的长度,α是预先设定的控制因子参数,且d1,d2,d0
Figure FDA0002805182040000033
均由线段对中的两线段的表达式来确定。
Among them, d 1 , d 2 are the distances from the two end points of the line segment to the other line segment in the line segment pair, d 0 is the length of the overlapping area of the two line segments in the line segment pair,
Figure FDA0002805182040000032
is the length of the line segment, α is a preset control factor parameter, and d 1 , d 2 , d 0 ,
Figure FDA0002805182040000033
Both are determined by the expressions of the two line segments in the line segment pair.
7.根据权利要求1所述的方法,其特征在于,所述将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数,包括:7. The method according to claim 1, characterized in that, by jointly optimizing the posture of the robot at each moment and the two-line parameterized representations of all straight lines, the robot's posture at each moment is obtained. Attitude and line parameters for all lines, including: 设置所述机器人在所述各个时刻的姿态的表达式;Set the expression of the attitude of the robot at the various moments; 设置经过所述线段匹配后所得到的所有直线的表达式;Set the expressions of all straight lines obtained after the line segment is matched; 通过所述姿态的表达式及所述所有直线的表达式,构建残差向量;According to the expression of the attitude and the expression of all the straight lines, a residual vector is constructed; 通过最小化所述残差向量的平方和,得到所述各个时刻的姿态与所述所有直线之间的最优估计公式;By minimizing the sum of squares of the residual vector, the optimal estimation formula between the posture at each moment and all the straight lines 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. 8.一种定位与地图构建装置,其特征在于,所述装置包括:8. A positioning and map construction device, wherein the device comprises: 提取模块,用于在t时刻对获取到的点云数据进行直线特征提取,得到对应的多个线段;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; 预估模块,用于预估机器人在所述t时刻相较于t-1时刻的相对姿态;an estimation module for estimating the relative posture of the robot at the time t compared to the time t-1; 匹配模块,用于根据所述相对姿态,对与所述t时刻对应的多个线段及在所述t-1时刻进行直线特征提取所得到的多个线段进行线段匹配,得到各条线段所属的直线;The matching module is configured to perform line segment matching on the multiple line segments corresponding to the time t and the multiple line segments obtained by performing linear feature extraction at the time t-1 according to the relative posture, and obtain the corresponding line segment to which each line segment belongs. straight line; 优化模块,用于将所述机器人在各个时刻的姿态及所有直线的二直线参数化表示形式进行联合优化,得到所述机器人在所述各个时刻的姿态及所有直线的直线参数。The optimization module is used 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. 9.一种机器人,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;9. A robot, comprising: a memory and a processor, wherein the memory is connected to the processor; 所述存储器用于存储程序;the memory is used to store programs; 所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-7中任一项所述的方法。The processor invokes a program stored in the memory to perform the method of any of claims 1-7. 10.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-7中任一项所述的方法。10. A computer storage medium, characterized in that a computer program is stored thereon, and the computer program executes the method according to any one of claims 1-7 when the computer program is run by a computer.
CN202011367335.9A 2020-11-27 2020-11-27 Positioning and map construction method, device, robot and computer storage medium Active CN112577500B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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