WO2021068701A1 - 激光地图更新方法、机器人和集群机器人系统 - Google Patents

激光地图更新方法、机器人和集群机器人系统 Download PDF

Info

Publication number
WO2021068701A1
WO2021068701A1 PCT/CN2020/114058 CN2020114058W WO2021068701A1 WO 2021068701 A1 WO2021068701 A1 WO 2021068701A1 CN 2020114058 W CN2020114058 W CN 2020114058W WO 2021068701 A1 WO2021068701 A1 WO 2021068701A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
map
laser
updated
laser point
Prior art date
Application number
PCT/CN2020/114058
Other languages
English (en)
French (fr)
Inventor
刘俊斌
虞坤霖
Original Assignee
炬星科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 炬星科技(深圳)有限公司 filed Critical 炬星科技(深圳)有限公司
Publication of WO2021068701A1 publication Critical patent/WO2021068701A1/zh

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

Definitions

  • This application relates to the field of mobile robot map update technology, the technical field, in particular to a laser map update method, a robot, and a cluster robot system.
  • the existing laser navigation schemes all involve the use of maps, and all rely on the invariance of maps.
  • it is robust to changes in the environment, especially the structural environment on which the laser sensor relies.
  • this robustness is easily broken, so the solution is to update the map so that the robustness of the algorithm can be maintained, thereby ensuring the accuracy of navigation.
  • this application proposes a laser map update method, the method includes:
  • the map laser point cloud is a combination of multiple point clouds that have a specific relationship with the laser point cloud
  • the laser point cloud and the map laser point cloud update the information of the point cloud to be updated to the laser map to obtain an updated laser map
  • the updated laser map is compared with the original map, and if the difference between the two maps exceeds the preset first threshold, the updated laser map is discarded, otherwise the updated laser map is retained.
  • the present application also proposes a robot, the robot includes a laser for acquiring the laser point cloud, and the robot is used for executing the above laser map update method.
  • this application also proposes a robot, a cluster robot system, including a plurality of the above robots.
  • one of the robots of the system receives the updated laser map sent by other robots, and updates a plurality of the point cloud maps in a chronological order to the local original map; Send the map to other robots.
  • the system further includes a central server configured to receive the updated laser map sent by one or more robots, and the central server converts one or more of the updated laser maps The laser map is updated to the original map in a time sequence, and the updated map is sent to multiple robots.
  • the laser map update method, robot, and cluster robot system provided by the embodiments of the present application determine the point cloud to be updated according to the result of the splicing of the laser point cloud and the map laser point cloud, and then update the information of the point cloud to be updated to the laser map, If the difference between the updated laser map and the original map exceeds the preset first threshold, the update is abandoned, otherwise the update is retained, which better guarantees that there is no rotation, translation, or zoom between the updated map and the map before the update.
  • Fig. 1 is a flowchart of a laser map updating method according to an embodiment of the present application
  • Fig. 2 is a flowchart of a laser map updating method according to another embodiment of the present application.
  • Fig. 3 is a flowchart of a laser map updating method according to another embodiment of the present application.
  • Figure 4 is a structural block diagram of a robot according to an embodiment of the present application.
  • Fig. 5 is a structural block diagram of a cluster robot system according to an embodiment of the present application.
  • Fig. 6 is a structural block diagram of a cluster robot system according to another embodiment of the present application.
  • the terms “connected”, “fixed”, etc. should be understood in a broad sense.
  • “fixed” can be a fixed connection, a detachable connection, or a whole; It can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, and it can be an internal communication between two components or an interaction relationship between two components, unless specifically defined otherwise.
  • “fixed” can be a fixed connection, a detachable connection, or a whole; It can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, and it can be an internal communication between two components or an interaction relationship between two components, unless specifically defined otherwise.
  • the laser emits laser light, and the robot receives the reflection of the object, thereby perceiving external things.
  • a laser point cloud is a collection of laser points captured by a robot at a location
  • a laser point cloud map is a collection of such laser point clouds.
  • the laser map update method proposed in the embodiment of the present application includes:
  • Step 10 The laser point cloud and the map laser point cloud are spliced together, and the point cloud to be updated is determined according to the splicing result; the map laser point cloud is a combination of multiple point clouds that have a specific relationship with the laser point cloud;
  • the laser point cloud can be currently collected by the robot in real time, or it can be multiple laser point clouds collected by the robot at a preset time.
  • the laser point cloud collected in real time is hereinafter referred to as the current laser point cloud.
  • a plurality of point clouds that have a specific relationship with the laser point cloud where the specific relationship may be selected according to the distance between each map point cloud and the laser point cloud, or in other ways.
  • Step 20 According to the laser point cloud and the map laser point cloud, update the information of the point cloud to be updated to the laser map to obtain an updated laser map;
  • Step 30 Compare the updated laser map with the original map, and if the difference between the two maps exceeds the preset first threshold, discard the updated laser map, otherwise keep the updated laser map.
  • the comparison algorithm is any image matching algorithm.
  • the difference between the two maps exceeds the preset first threshold, which specifically refers to: when the difference (in pixels) between the two maps is less than the first threshold.
  • the range of the first threshold is 5%-20% of the map size.
  • the laser map update method determines the point cloud to be updated according to the result of the stitching of the current laser point cloud and the laser point cloud of the map, and then updates the information of the point cloud to be updated to the laser map.
  • the difference between the map and the original map comparison exceeds the preset first threshold, then the update is abandoned, otherwise it is retained, which better guarantees that the updated map and the map before the update do not have rotation, translation, and zooming, which is the normal operation of the upper-level business logic lay the foundation.
  • the first strategy is used to determine the point cloud to be updated and the relative pose between the current point cloud and the point cloud to be updated.
  • the splicing the current laser point cloud and the map laser point cloud, and determining the point cloud to be updated according to the splicing result specifically includes:
  • each point cloud in the current laser point cloud and the map laser point cloud is spliced, and the current laser point cloud that is successfully spliced is determined as the point cloud to be updated.
  • the current laser point cloud is spliced with the map laser point cloud. Whenever the splicing with the map laser point cloud is successful, the splicing result is a successful splicing.
  • the definition of successful splicing means that the diagonal value of the spliced covariance matrix of the current laser point cloud and the corresponding point cloud in the map laser point cloud is less than a third threshold.
  • the range of the third threshold is: 1e-6 to 1e-2.
  • the specific method of using the current laser point cloud to update the map laser point cloud is as follows: select a group of map point clouds (P current ) around the current laser point cloud (S current) Expressed by Smap n , the pose corresponding to each point cloud is Expressed by Pmap n ), the selection method can be based on the distance between each map point cloud and the pose of the current laser point (ie Pmap n ), or other methods. Then use these map point clouds Combine to generate a map laser point cloud (S merged ), the pose of S merged P merged ) can be selected as The pose, namely It can also be the pose of other point clouds, but here we choose Then use S current and S merged to stitch together to get the pose change between the two point clouds, namely
  • the second strategy is used to determine the point cloud to be updated and the relative pose between the current point cloud and the point cloud to be updated.
  • the splicing the current laser point cloud and the map laser point cloud, and determining the point cloud to be updated according to the splicing result specifically includes:
  • the current laser point cloud is determined to be the first point cloud to be updated
  • the failed current laser point cloud is determined as the key point cloud
  • the key point cloud is determined as the second point cloud to be updated
  • the first point to be updated is determined
  • the set of the cloud and the second point cloud to be updated is determined to be the point cloud to be updated.
  • the first strategy is simple and only updates the map laser point cloud after the successful splicing of the current laser point cloud and the map laser point cloud.
  • the second strategy is not only the successful point cloud, but also the successful point cloud.
  • the point cloud updates those unsuccessful point clouds (critical point clouds).
  • a current point cloud successfully spliced as S current , pose P current , and the splicing failed before this S current until the current point cloud after the last successful splicing, that is, the key point cloud is expressed as General to To indicate that their corresponding poses are General to To represent.
  • n the fourth threshold
  • the fourth threshold is adjusted according to the actual situation, the general range is 0-20.
  • the increment between the key point cloud and the map laser point cloud corresponding to the key point cloud is derived from the stitching of S current and the map.
  • the corresponding meaning here is the difference between the angle and distance and the map laser point cloud Meet the fifth threshold.
  • the fifth threshold includes 2 parts, the angle is +/-90 degrees, and the distance is 0-5 meters.
  • the derivation process of the key point cloud used to update the map laser point cloud is as follows: Assuming that S current is successfully spliced with the map, then there is (See the first strategy for details). For each failed splicing before this splicing was successful First select the map laser point cloud corresponding to it (using the fifth threshold), To For general expressions and their poses Derive each of these point clouds and The corresponding relative pose, namely
  • the key point cloud If the splicing is not successful, it does not mean that you have to give up, but it needs to be used to update the map, because it is very likely that the environment has changed and the splicing of the current laser point cloud and the point cloud in the map laser point cloud is unsuccessful. This situation is very normal, and is a very important part that needs to be updated in the embodiments of this application.
  • the updating the information of the point cloud to be updated to the laser map according to the laser point cloud and the map laser point cloud to obtain the updated laser map specifically includes:
  • Step 21 Project the current laser point cloud to the pose of each point cloud in the map laser point cloud to generate a current projection point cloud
  • Step 22 Discretize the angle of each laser point in the current projection point cloud and the map laser point cloud;
  • Step 23 Traverse the current projection point cloud to determine whether there is a dynamic object and whether an obstacle/map is changed. If none of the objects are dynamic, a laser point cloud is used to replace the corresponding point cloud on the map to be updated.
  • a laser point cloud is used to replace the corresponding point cloud on the map to be updated.
  • a laser point cloud is used to replace the corresponding point cloud on the map to be updated, which specifically includes :
  • the current laser point cloud corresponds to the obstacle/map change, and the current laser point cloud is used to replace the corresponding point cloud on the map to be updated.
  • the strategy adopted is: updating all laser points of the current laser point cloud in the following manner.
  • a laser point cloud is a collection of laser points captured by the robot at one location.
  • the origin O is defined as the location of the laser
  • the curve AB represents the map laser point under the map laser point cloud
  • the curve CD represents the current laser point under the current laser point cloud
  • the distance from any map laser point to its emitting laser among all the map laser points in the map laser point cloud for example, the OA line segment and OB line segment in Figure 3 both represent the first distance rr, and there are X map lasers on the defining curve AB Point
  • the distance from any map laser point to the origin O is the first distance.
  • the OD line segment in Figure 3 represents the second distance.
  • the curve CD There are Y current laser points on the right part after point P, and the distance from any current laser point to the origin O is the second distance rc.
  • the new point (the current laser point) may be a dynamic object.
  • the second threshold T is used for judgment, as shown in Figure 3.
  • the distance difference between the first distance and the second distance is greater than the second threshold; if so, determine that the current laser point cloud corresponds to a dynamic object, and then not update the map. If the distance difference is less than the second threshold, it is determined that the current laser point cloud does not correspond to the dynamic object, and the current laser point cloud is used to replace the corresponding point cloud on the map to be updated.
  • the current laser point cloud corresponds to the obstacle/map change, and the current laser point cloud is used to replace the corresponding point cloud on the map to be updated.
  • the first distance is less than the second distance, indicating that it was a moving obstacle before, or the map has changed.
  • the update does not look at the second threshold T, that is, the current laser point cloud is directly used to replace the corresponding map on the map to be updated. Point cloud.
  • the laser map update method of the embodiment of the present application can deal with dynamic objects.
  • the foregoing embodiment may be a single-machine (single-robot) map update solution.
  • the laser map update method executed on one machine does not involve interaction with other robots (except for map sharing and distribution).
  • the embodiment of the present application can also be used in a multi-machine update solution, that is, multiple robots jointly update a laser map.
  • the method further includes:
  • Step 40 Receive at least one of the updated laser maps
  • Step 50 The at least one updated laser map is updated to the original map of the local machine in a chronological order.
  • Steps 40 and 50 can be performed on a certain robot or on a central server.
  • each robot sends its updated part to Central server (or some robot).
  • the central server receives the updated laser map sent by one or more robots to form one or more sections of the local update map.
  • the local update map sent by each robot carries a number, and the central server (or a certain robot) )receive.
  • the central (or a certain robot) will perform the following operations: for each received partial update, add it to the original map in a time sequence, and then execute steps 20 and 30 described in the stand-alone strategy.
  • the fused map can be sent to each robot.
  • the map can be updated collaboratively by multiple robots.
  • Each robot can calculate the difference between the path it travels and the original map, and then all robots send this difference to a central processing place (it can be a server or a specific robot),
  • the central server runs a fusion algorithm to fuse the collected information and then distributes the updated map to each robot to complete the map update process.
  • an embodiment of the present application further provides a robot 100, the robot 100 includes a laser 101 for obtaining the laser point cloud, and the robot 100 is used to execute the above-mentioned laser map update method.
  • An embodiment of the present application also provides a cluster robot system 200, which includes a plurality of robots 100 as described above.
  • one of the robots of the system receives the updated laser map sent by other robots, and updates a plurality of the updated laser maps in a chronological order to the local original map; Send the map to other robots.
  • system further includes a central server 201 configured to receive the updated laser map sent by one or more robots, and the central server transfers one or more of the updated laser maps.
  • the map is updated to the original map in a time sequence, and the updated and fused map is sent to multiple robots.
  • the robot and cluster robot system proposed in the embodiment of this application are based on the same inventive concept as the laser map update method proposed in the method embodiment of this application.
  • the method embodiment is similar to the robot embodiment and the cluster robot system embodiment.
  • Corresponding technical content can be applied to each other, and will not be detailed here.
  • the laser map update method, robot, and cluster robot system provided by the embodiments of the present application determine the point cloud to be updated according to the result of the splicing of the laser point cloud and the map laser point cloud, and then update the information of the point cloud to be updated to the laser map, If the difference between the updated laser map and the original map exceeds the preset first threshold, the update is abandoned, otherwise the update is retained, which better guarantees that there is no rotation, translation, or zoom between the updated map and the map before the update.

Abstract

激光地图更新方法、机器人和集群机器人系统;方法包括:根据激光点云与地图激光点云的拼接结果确定待更新点云,地图激光点云为多个与激光点云有特定关系的点云的组合(10);将待更新点云的信息更新到激光地图(20),如果更新后的激光地图和原始地图比对的差异超过预设的第一阈值,则放弃更新后的激光地图,否则保留更新后的激光地图(30);更好地保证了更新后的地图与更新之前的地图不存在旋转平移与缩放,为上层业务逻辑正常运行打下基础。

Description

激光地图更新方法、机器人和集群机器人系统 技术领域
本申请涉及移动机器人地图更新技术领域,技术领域,尤其涉及激光地图更新方法、机器人和集群机器人系统。
背景技术
现有的激光导航方案均涉及到对地图的使用,并且均依赖地图的不变性。在实际应用中对环境的变化,尤其是激光传感器所依赖的结构环境有一定的鲁棒性。然而在实际应用中这个鲁棒性很容易被打破,那么应对的方案是对地图进行更新,使算法的鲁棒性得以维持,从而保证导航的精度。
但是现有的地图更新方案均存在无法保证更新后的地图与更新之前的地图不存在旋转平移与缩放,这点是保证上层业务逻辑正常运行的基础。
申请内容
因此,有必要提供一种激光地图更新方法、机器人和集群机器人系统,以解决更新后的地图与更新之前的地图不存在旋转平移与缩放的技术问题。
为实现上述目的,本申请提出一种激光地图更新方法,所述方法包括:
将激光点云与地图激光点云进行拼接,根据拼接结果确定待更新点云;所述地图激光点云为多个与所述激光点云有特定关系的点云的组合;
根据所述激光点云和地图激光点云,将所述待更新点云的信息更新到激光地图,得到更新后的激光地图;
将所述更新后的激光地图和原始地图进行比对,如果两个地图差异超过预设的第一阈值,则放弃更新后的激光地图,否则保留更新后的激光地图。
为实现上述目的,本申请还提出一种机器人,所述机器人包括用于获取所述激光点云的激光器,所述机器人用于执行上述的激光地图更新方法。
为实现上述目的,本申请还提出一种机器人,一种集群机器人系统,包括多个上述的机器人。
在一些实施例中,所述系统的一个所述机器人接收其他机器人发送的所述更新后的激光地图,将多个所述点云地图按时间排序更新到本地的原始地 图中;并将更新后的地图发送给其他机器人。
在一些实施例中,所述系统还包括中央服务器,所述中央服务器用于接收一个或多个机器人发送的所述更新后的激光地图,所述中央服务器将一个或多个所述更新后的激光地图用时间排序更新到所述原始地图中,并将更新后地图发送给多个所述机器人。
本申请实施例提供的激光地图更新方法、机器人和集群机器人系统,根据激光点云与地图激光点云的拼接结果确定待更新点云,再将所述待更新点云的信息更新到激光地图,如果更新后的激光地图和原始地图比对的差异超过预设的第一阈值,则放弃更新,否则保留更新,更好地保证了更新后的地图与更新之前的地图不存在旋转平移与缩放,为上层业务逻辑正常运行打下基础。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本申请一个实施例的激光地图更新方法的流程图;
图2是本申请另一个实施例的激光地图更新方法的流程图;
图3是本申请又一个实施例的激光地图更新方法的流程图;
图4是本申请一个实施例的机器人的结构框图;
图5是本申请一个实施例的集群机器人系统的结构框图;
图6是本申请另一个实施例的集群机器人系统的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、 后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在机器人身上按照激光器,在机器人的运动过程中,激光器发出激光,机器人接收到物体的反光,由此感知外部事物。
是本申请中,激光点云或简称点云,一个激光点云是机器人在一个位置拍到的激光点的集合,而激光点云地图的则是由一组这样的激光点云组成的集合。
如图1所示,本申请实施例提出的激光地图更新方法包括:
步骤10、将激光点云与地图激光点云进行拼接,根据拼接结果确定待更新点云;所述地图激光点云为多个与所述激光点云有特定关系的点云的组合;
激光点云可以是机器人当前实时采集的,也可以是机器人运动预设时间汇集的多个激光点云。实时采集的激光点云在下文称为当前激光点云。将每一激光点云与地图激光点云进行拼接。
多个与所述激光点云有特定关系的点云,这里的特定关系,可以是按照每个地图点云离激光点云间的距离,或其它方式选择。
步骤20、根据所述激光点云和地图激光点云,将所述待更新点云的信息 更新到激光地图,得到更新后的激光地图;
步骤30、将所述更新后的激光地图和原始地图进行比对,如果两个地图差异超过预设的第一阈值,则放弃更新后的激光地图,否则保留更新后的激光地图。
具体地,比对算法为任意一种图像匹配算法。两个地图差异超过预设的第一阈值,具体是指:当两幅地图的差(像素为单位)小于第一阈值。通常第一阈值的范围为地图大小的5%-20%。
通过将所述更新后的激光地图和原始地图进行比对,如果更新后的激光地图更改了原始地图的地图骨架,则放弃更新。由此避免定位的偏差不会使地图更新错误。
本申请实施例提供的激光地图更新方法,根据当前激光点云与地图激光点云的拼接结果确定待更新点云,再将所述待更新点云的信息更新到激光地图,如果更新后的激光地图和原始地图比对的差异超过预设的第一阈值,则放弃更新,否则保留,更好地保证了更新后的地图与更新之前的地图不存在旋转平移与缩放,为上层业务逻辑正常运行打下基础。
在一些实施例中,确定待更新点云以及当前点云与待更新点云之间的相对位姿使用第一种策略。所述将当前激光点云与地图激光点云进行拼接,根据拼接结果确定待更新点云,具体包括:
当前激光点云与地图激光点云的拼接成功时,用当前激光点云与地图激光点云内的每一点云进行拼接,拼接成功的当前激光点云则确定为所述待更新点云。
将当前激光点云与地图激光点云进行拼接,每当与地图激光点云拼接成功时,拼接结果为拼接成功。拼接成功的定义是指当前激光点云与地图激光点云中对应的点云的拼接的协方差矩阵的对角线数值小于一个第三阈值。第三阈值的范围为:1e-6至1e-2。
在本申请实施例中,只对拼接成功的当前激光点云进行处理,将其确定为所述待更新点云,在后续步骤中更新地图。
使用当前激光点云来更新地图激光点云的具体做法如下:在当前激光点云(S current)的位姿(P current)周围选择一组地图点云(
Figure PCTCN2020114058-appb-000001
以Smap n 来表示,每一个点云对应的位姿为
Figure PCTCN2020114058-appb-000002
以Pmap n来表示),选择方法可以是按照每个地图点云离当前激光点的位姿(即Pmap n)间的距离,或其它方式选择。然后用这些地图点云
Figure PCTCN2020114058-appb-000003
组合生成地图激光点云(S merged),S merged的位姿P merged)可以选择为
Figure PCTCN2020114058-appb-000004
的位姿,即
Figure PCTCN2020114058-appb-000005
也可以是其它的点云的位姿,但这里我们选用
Figure PCTCN2020114058-appb-000006
然后用S current与S merged进行拼接得到2个点云之间的位姿变化,即
Figure PCTCN2020114058-appb-000007
当S current和S merged拼接成功时,再用S current和每一个组成S merged的点云(Smap n)再次进行拼接,如果拼接成功可以直接得到
Figure PCTCN2020114058-appb-000008
若拼接失败则
Figure PCTCN2020114058-appb-000009
需推导而来,如下:
Figure PCTCN2020114058-appb-000010
因为
Figure PCTCN2020114058-appb-000011
所以有
Figure PCTCN2020114058-appb-000012
在另一实施例中,确定待更新点云以及当前点云与待更新点云之间的相对位姿使用第二种策略。所述将当前激光点云与地图激光点云进行拼接,根据拼接结果确定待更新点云,具体包括:
当前激光点云与地图激光点云的拼接成功时,当前激光点云则确定为第一待更新点云;
当前激光点云与地图激光点云的拼接失败时,失败的当前激光点云则确定为关键点云,将所述关键点云确定为第二待更新点云,将所述第一待更新点云和第二待更新点云的集合确定为所述待更新点云。
第一种策略简单只对当前激光点云与地图激光点云的拼接成功之后的成功点云对地图激光点云进行更新,而第二种策略不光是这些成功的点云,也能够通过成功的点云对那些不成功的点云(关键点云)进行更新。为了表述清晰,我们定义一个成功拼接的当前点云为S current,位姿P current,在这个S current之前拼接失败的,直到上一次拼接成功之后的当前点云,即关键点云表示为
Figure PCTCN2020114058-appb-000013
通用以
Figure PCTCN2020114058-appb-000014
来表示,它们对应的位姿为
Figure PCTCN2020114058-appb-000015
通用以
Figure PCTCN2020114058-appb-000016
来表示。通常来讲我们设定一个最大失败数量,n<第四阈值,第四阈值根据实际情况进行调整,一般的范围是0-20。由于
Figure PCTCN2020114058-appb-000017
没有成功拼接,那么关键点云和关键点云对应的地图激光点云 之间的增量由S current与地图拼接的拼接推导而来,这里对应的意思是角度和距离与地图激光点云的差符合第五阈值。第五阈值包括2个部分,角度介于+/-90度,距离介于0-5米。
关键点云用来更新地图激光点云的推导过程如下:假定S current与地图拼接成功,则有
Figure PCTCN2020114058-appb-000018
(具体见第一种策略)。对于在这个拼接成功之前的每一个失败的拼接
Figure PCTCN2020114058-appb-000019
先选取与它对应的地图激光点云(用第五阈值),
Figure PCTCN2020114058-appb-000020
Figure PCTCN2020114058-appb-000021
为通用表达以及他们的位姿
Figure PCTCN2020114058-appb-000022
对这些点云推导出每一个和
Figure PCTCN2020114058-appb-000023
对应的相对位姿,即
Figure PCTCN2020114058-appb-000024
Figure PCTCN2020114058-appb-000025
在第二种策略中,关键点云
Figure PCTCN2020114058-appb-000026
没有成功拼接,不代表就要放弃,而是一样需要用来进行地图更新,因为非常有可能是环境发生了变化导致用当前激光点云与地图激光点云内的点云进行拼接不成功,而这种情况非常正常,是本申请实施例需要更新的非常重要的部分。
进一步地,如图2所示,所述根据所述激光点云和地图激光点云,将所述待更新点云的信息更新到激光地图,得到更新后的激光地图,具体包括:
步骤21、将所述当前激光点云投影到所述地图激光点云内的每一点云的位姿下,生成当前投影点云;
步骤22、对所述当前投影点云和所述地图激光点云内的每一激光点的角度进行离散化;
步骤23、遍历所述当前投影点云,判断是否动态物体和判断是否障碍物/地图改变,如均不是动态物体则用激光点云代替所述待更新地图上的对应点云。
在判定到不是动态物体时,也未判定为障碍物/地图改变的情况时,用激光点云代替所述待更新地图上的对应点云。
进一步地,所述遍历所述当前投影点云,判断是否动态物体和判断是否障碍物/地图改变,如均不是动态物体则用激光点云代替所述待更新地图上的 对应点云,具体包括:
判断所述地图激光点云内的所有地图激光点中任一地图激光点到其发射激光器的第一距离,是否大于所述当前激光点云内的所有当前激光点中对应该地图激光点的当前激光点到其发射激光器的第二距离;若是,继续判断第一距离与第二距离的距离差是否大于第二阈值(第二阈值的范围根据实际情况调整,一般为5cm-30cm),若是,则判定所述当前激光点云对应动态物体,则不更新地图;若距离差小于第二阈值,则判定所述当前激光点云不对应所述动态物体,则用当前激光点云代替所述待更新地图上的对应点云;
判断所述第一距离小于所述第二距离时,则判定所述当前激光点云对应所述障碍物/地图改变,则用当前激光点云代替所述待更新地图上的对应点云。
具体地,在本实施例中,采用的策略为:将当前激光点云的所有激光点通过下述方式更新。如上面所述,一个激光点云是机器人在一个位置拍到的激光点的集合。首先用
Figure PCTCN2020114058-appb-000027
将S current投影到S map的位姿下,生成当前投影点云(S′ current),然后对S′ current和S map用每个点的角度进行离散化,然后按下图描述的方式进行更新。
遍历S′ current中的每一个激光点。在图3中,定义原点O为激光器所在位置,曲线AB代表地图激光点云下的地图激光点;曲线CD代表当前激光点云下的当前激光点;在图3的左边半部分中,所述地图激光点云内的所有地图激光点中任一地图激光点到其发射激光器的第一距离,例如图3中OA线段和OB线段均代表第一距离rr,定义曲线AB上有X个地图激光点,任一地图激光点到原点O的距离均为第一距离。所述当前激光点云内的所有当前激光点中对应该地图激光点的当前激光点到其发射激光器的第二距离,例如图3中OD线段代表第二距离,在右半部分中,曲线CD在P点之后的右边部分有Y个当前激光点,任一当前激光点到原点O的距离均为第二距离rc。
以P点为界,在左半部分中,第一距离均大于第二距离;在右半部分中,第一距离均小于第二距离;P点视为第一距离等于第二距离,该点无需更新。
在第一距离均大于第二距离的左半部分,这个新的点(当前激光点)有可能是一个动态物体,这时继续用第二阈值T来判断,见图3。继续判断第一距离与第二距离的距离差是否大于第二阈值,若是,则判定所述当前激光点云对应动态物体,则不更新地图。若距离差小于第二阈值,则判定所述当前 激光点云不对应所述动态物体,则用当前激光点云代替所述待更新地图上的对应点云。
在第一距离均小于第二距离的右半部分,则判定所述当前激光点云对应所述障碍物/地图改变,则用当前激光点云代替所述待更新地图上的对应点云。第一距离小于第二距离,说明之前是个移动的障碍物,或者地图发生了改变,这时候的更新不看第二阈值T,也就是直接用当前激光点云代替所述待更新地图上的对应点云。
由此,本申请实施例的激光地图更新方法可以应对动态物体。
上述实施例可以是单机(单机器人)地图更新方案,在一台机器上执行的激光地图更新方法,不涉及到与其它机器人交互(地图共享与分发除外)。当然,本申请实施例也可以用到多机更新方案上,即是多台机器人共同更新一副激光地图。
如图4所示,当执行激光地图更新方法的主体为多个机器人时,所述方法还包括:
步骤40、接收至少一个所述更新后的激光地图;
步骤50、对所述至少一个更新后的激光地图按时间排序更新到所述本机的原始地图中。
可以在某个机器人上执行步骤40和50,也可以在一个中央服务器上执行。
每隔一定时间(看地图变化快慢确定间隔时间。例如每半天,每天、每两天、每三天、每半周、每四天或每周一次),每一个机器人再将各自更新的部分发到中央服务器(或某一机器人)。中央服务器(或某一机器人)接收到一个或多个机器人发送的更新后的激光地图,构成一段或多段局部更新地图,每个机器人发送的局部更新地图携带编号,由中央服务器(或某一机器人)接收。
中央(或某一机器人)将进行如下操作:对于每一个收到局部更新,用时间排序加入到原始地图中,然后执行单机策略中描述的步骤20和步骤30。
最后,可将融合后的地图发送给每一个机器人。可由多个机器人协同更新地图。每一个机器人均可以计算出它走过的路径上与原始地图的差,然后所有机器人将此差异发送给一个中央处理的地方(可以是一台服务器,也可以是某一台特定的机器人),中央服务器运行融合算法将收集的信息进行融合 然后再把更新的地图分发给每一个机器人完成地图更新的流程。
如图5所示,本申请实施例还提供一种机器人100,所述机器人100包括用于获取所述激光点云的激光器101,所述机器人100用于执行上述的激光地图更新方法。
本申请实施例还提供一种集群机器人系统200,包括多个如上述的机器人100。
可选地,所述系统的一个所述机器人接收其他机器人发送的所述更新后的激光地图,将多个所述更新后的激光地图按时间排序更新到本地的原始地图中;并将更新后的地图发送给其他机器人。
进一步地,所述系统还包括中央服务器201,所述中央服务器201用于接收一个或多个机器人发送的所述更新后的激光地图,所述中央服务器将一个或多个所述更新后的激光地图用时间排序更新到所述原始地图中,并将更新融合后的地图发送给多个机器人。
需要说明的是,本申请实施例提出的机器人和集群机器人系统,与本申请方法实施例提出的激光地图更新方法基于相同的发明构思,方法实施例与机器人实施例和集群机器人系统实施例中的相应技术内容可相互适用,此处不再详述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是在本申请的申请构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。
工业实用性
本申请实施例提供的激光地图更新方法、机器人和集群机器人系统,根据激光点云与地图激光点云的拼接结果确定待更新点云,再将所述待更新点云的信息更新到激光地图,如果更新后的激光地图和原始地图比对的差异超过预设的第一阈值,则放弃更新,否则保留更新,更好地保证了更新后的地图与更新之前的地图不存在旋转平移与缩放,为上层业务逻辑正常运行打下基础。因此,具有工业实用性。

Claims (10)

  1. 一种激光地图更新方法,所述方法包括:
    将激光点云与地图激光点云进行拼接,根据拼接结果确定待更新点云;所述地图激光点云为多个与所述激光点云有特定关系的点云的组合;
    根据所述激光点云和地图激光点云,将所述待更新点云的信息更新到激光地图,得到更新后的激光地图;
    将所述更新后的激光地图和原始地图进行比对,如果两个地图差异超过预设的第一阈值,则放弃更新后的激光地图,否则保留更新后的激光地图。
  2. 根据权利要求1所述的方法,其中,所述将激光点云与地图激光点云进行拼接,根据拼接结果确定待更新点云,具体包括:
    当前激光点云与地图激光点云的拼接成功时,用当前激光点云与地图激光点云内的每一点云进行拼接,拼接成功的当前激光点云则确定为所述待更新点云。
  3. 根据权利要求1所述的方法,其中,所述将激光点云与地图激光点云进行拼接,根据拼接结果确定待更新点云,具体包括:
    当前激光点云与地图激光点云的拼接成功时,用当前激光点云与地图激光点云内的每一点云进行拼接,拼接成功的当前激光点云则确定为第一待更新点云;
    当前激光点云与地图激光点云的拼接不成功时,将拼接失败的当前激光点云定义为关键点云,将所述关键点云确定为第二待更新点云,其中,所述待更新点云为所述第一待更新点云和第二待更新点云的集合。
  4. 根据权利要求1所述的方法,其中,所述根据所述激光点云和地图激光点云,将所述待更新点云的信息更新到激光地图,得到更新后的激光地图,具体包括:
    将所述激光点云投影到所述地图激光点云内的每一点云的位姿下,生成当前投影点云;
    对所述当前投影点云和所述地图激光点云内的每一点云的角度进行离散化;
    遍历所述当前投影点云,判断是否动态物体和判断是否障碍物/地图改变, 如均不是则用激光点云代替所述待更新地图上的对应点云。
  5. 根据权利要求4所述的方法,其中,所述遍历所述当前投影点云,判断是否动态物体和判断是否障碍物/地图改变,如均不是则用激光点云代替所述待更新地图上的对应点云,具体包括:
    判断所述地图激光点云内的所有地图激光点中任一地图激光点到其发射激光器的第一距离,是否大于所述当前激光点云内的所有当前激光点中对应该地图激光点的当前激光点到其发射激光器的第二距离;若是,继续判断第一距离与第二距离的距离差是否大于第二阈值,若是,则判定所述当前激光点云对应动态物体,则不更新地图;若距离差小于第二阈值,则判定所述当前激光点云不对应所述动态物体,则用当前激光点云代替所述待更新地图上的对应点云;
    判断所述第一距离小于所述第二距离时,则判定所述当前激光点云对应所述障碍物/地图改变,则用当前激光点云代替所述待更新地图上的对应点云。
  6. 根据权利要求1-5任一项所述的方法,其中,所述方法还包括:
    接收至少一个所述更新后的激光地图;
    对所述至少一个更新后的激光地图按时间排序更新到所述本机的原始地图中。
  7. 一种机器人,所述机器人包括用于获取所述激光点云的激光器,所述机器人用于执行所述权利要求1-5任一所述的激光地图更新方法。
  8. 一种集群机器人系统,包括多个如权利要求7所述的机器人。
  9. 根据权利要求8所述的集群机器人系统,其中,所述系统的一个所述机器人接收其他机器人发送的所述更新后的激光地图,将多个所述点云地图按时间排序更新到本地的原始地图中;并将更新后的地图发送给其他机器人。
  10. 根据权利要求8所述的集群机器人系统,其中,所述系统还包括中央服务器,所述中央服务器用于接收一个或多个机器人发送的所述更新后的激光地图,所述中央服务器将一个或多个所述更新后的激光地图用时间排序更新到所述原始地图中,并将更新后地图发送给多个所述机器人。
PCT/CN2020/114058 2019-10-09 2020-09-08 激光地图更新方法、机器人和集群机器人系统 WO2021068701A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910953341.3A CN112629518A (zh) 2019-10-09 2019-10-09 激光地图更新方法、机器人和集群机器人系统
CN201910953341.3 2019-10-09

Publications (1)

Publication Number Publication Date
WO2021068701A1 true WO2021068701A1 (zh) 2021-04-15

Family

ID=75283592

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/114058 WO2021068701A1 (zh) 2019-10-09 2020-09-08 激光地图更新方法、机器人和集群机器人系统

Country Status (2)

Country Link
CN (1) CN112629518A (zh)
WO (1) WO2021068701A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170276501A1 (en) * 2016-03-28 2017-09-28 Fetch Robotics, Inc. System and Method for Localization of Robots
CN107784012A (zh) * 2016-08-30 2018-03-09 北京四维图新科技股份有限公司 一种数字地图兴趣点的更新方法及装置
CN108007453A (zh) * 2017-12-11 2018-05-08 北京奇虎科技有限公司 基于点云的地图更新方法、装置及电子设备
CN108732584A (zh) * 2017-04-17 2018-11-02 百度在线网络技术(北京)有限公司 用于更新地图的方法和装置
CN109064506A (zh) * 2018-07-04 2018-12-21 百度在线网络技术(北京)有限公司 高精度地图生成方法、装置及存储介质
CN109141446A (zh) * 2018-07-04 2019-01-04 百度在线网络技术(北京)有限公司 用于获得地图的方法、装置、设备和计算机可读存储介质
CN109974712A (zh) * 2019-04-22 2019-07-05 广东亿嘉和科技有限公司 一种基于图优化的变电站巡检机器人建图方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170276501A1 (en) * 2016-03-28 2017-09-28 Fetch Robotics, Inc. System and Method for Localization of Robots
CN107784012A (zh) * 2016-08-30 2018-03-09 北京四维图新科技股份有限公司 一种数字地图兴趣点的更新方法及装置
CN108732584A (zh) * 2017-04-17 2018-11-02 百度在线网络技术(北京)有限公司 用于更新地图的方法和装置
CN108007453A (zh) * 2017-12-11 2018-05-08 北京奇虎科技有限公司 基于点云的地图更新方法、装置及电子设备
CN109064506A (zh) * 2018-07-04 2018-12-21 百度在线网络技术(北京)有限公司 高精度地图生成方法、装置及存储介质
CN109141446A (zh) * 2018-07-04 2019-01-04 百度在线网络技术(北京)有限公司 用于获得地图的方法、装置、设备和计算机可读存储介质
CN109974712A (zh) * 2019-04-22 2019-07-05 广东亿嘉和科技有限公司 一种基于图优化的变电站巡检机器人建图方法

Also Published As

Publication number Publication date
CN112629518A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
Liu et al. RDS-SLAM: Real-time dynamic SLAM using semantic segmentation methods
CN108090958B (zh) 一种机器人同步定位和地图构建方法和系统
CN109727288B (zh) 用于单目同时定位与地图构建的系统和方法
CN111623795B (zh) 实景导航图标显示方法、装置、设备和介质
CN108827249B (zh) 一种地图构建方法和装置
KR102543952B1 (ko) 차선의 확정방법, 포지셔닝 정밀도의 평가방법, 장치, 기기 및 컴퓨터 프로그램
KR101494828B1 (ko) 오류 영상이미지의 자동인식 및 정밀 수정처리를 위한 영상이미지 수정시스템
WO2022089488A1 (zh) 自动回充方法及系统
KR20190088866A (ko) 포인트 클라우드 데이터 수집 궤적을 조정하기 위한 방법, 장치 및 컴퓨터 판독 가능한 매체
WO2023273169A1 (zh) 一种融合视觉与激光的2.5d地图构建方法
KR20210042279A (ko) 포인트 클라우드를 업데이트하는 방법, 장치, 전자 기기, 저장 매체 및 프로그램
CN113899363B (zh) 车辆的定位方法、装置及自动驾驶车辆
WO2018176440A1 (zh) 点云与平面图像融合方法、智能设备及非易失性计算机可读存储介质
CN111951201A (zh) 一种无人机航拍图像拼接方法、装置和存储介质
CN110717141B (zh) 一种车道线优化方法、装置及存储介质
WO2022100457A1 (zh) 作业路线规划方法、装置、电子设备以及可读存储介质
Liu et al. Collaborative visual inertial slam for multiple smart phones
WO2021068701A1 (zh) 激光地图更新方法、机器人和集群机器人系统
WO2022062355A1 (zh) 一种融合定位方法及装置
WO2021027966A1 (zh) 行进方法、可行进设备和存储介质
CN112731503B (zh) 一种基于前端紧耦合的位姿估计方法及系统
JP2020107336A (ja) 視覚的慣性航法システムのロバスト性を向上させる方法、装置及びロボット機器
CN114299192B (zh) 定位建图的方法、装置、设备和介质
US11443443B2 (en) Method and a data processing system for aligning a first panoramic image and a second panoramic image in a navigation procedure
KR20210038448A (ko) 전자지도 표시 방법, 장치, 기기 및 판독 가능 저장 매체

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20875541

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20875541

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 05/10/2022)