A method, device and equipment for determining a map warning area

CN116858212BActive Publication Date: 2026-10-27HANGZHOU HIKROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310728289.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-19
Publication Date
2026-10-27
Estimated Expiration
2043-06-19

AI Technical Summary

Benefits of technology

[0011]本申请提供一种电子设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述示例的地图告警区域的确定方法。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116858212B_ABST
    Figure CN116858212B_ABST
Patent Text Reader

Abstract

The application provides a method, device and equipment for determining a map warning area, which comprises the following steps: obtaining a first pose of a robot at a first position and a second pose of the robot at a second position, the first pose and the second pose being obtained based on an initial map, determining a difference pose between the first pose and the second pose as a map matching incremental edge; obtaining a third pose of the robot at the first position and a fourth pose of the robot at the second position, the third pose and the fourth pose being obtained based on a positioning mode other than the initial map, determining a difference pose between the third pose and the fourth pose as an auxiliary incremental edge; and determining whether a map area between the first position and the second position in the initial map is a map warning area based on a target difference value between the map matching incremental edge and the auxiliary incremental edge. The positioning effect of the map is improved by the application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics technology, and in particular to a method, apparatus, and device for determining map alarm areas. Background Technology

[0002] In recent years, various types of robots (such as mobile robots) have developed rapidly in terms of technology and the market. Robots can be automated machines that perform tasks, relying on their own power and control capabilities to achieve various functions. Robots can be commanded by humans, run pre-programmed routines, and act according to strategies developed using artificial intelligence. For example, a user can control a robot to perform related operations using a manual remote control, which can wirelessly send operation commands to the robot. After receiving the command, the robot executes the specified action to complete the relevant function.

[0003] During a robot's movement, a map needs to be built first. Once the map is built, the robot can move based on it. However, if the environment of any area in the scene changes after the map is built, the robot will be unable to achieve accurate navigation and positioning based on the existing map. Summary of the Invention

[0004] This application provides a method for determining map alarm areas. After the initial map is constructed, during the robot's movement based on the initial map, the method includes:

[0005] The robot's first pose at a first position and its second pose at a second position are obtained. The first pose and the second pose are obtained based on the initial map localization. The difference pose between the first pose and the second pose is determined as the map matching incremental edge.

[0006] The robot's third pose at the first position and its fourth pose at the second position are obtained. The third pose and the fourth pose are obtained based on positioning methods other than the initial map. The difference pose between the third pose and the fourth pose is determined as an auxiliary incremental edge.

[0007] Based on the target difference between the map matching incremental edge and the auxiliary incremental edge, it is determined whether the map area between the first position and the second position in the initial map is a map alarm area.

[0008] This application provides a device for determining map alarm areas. After the initial map is constructed, during the robot's movement based on the initial map, the device includes:

[0009] The acquisition module is used to acquire the robot's first pose at a first position and the robot's second pose at a second position, wherein the first pose and the second pose are obtained based on the initial map localization, and the difference pose between the first pose and the second pose is determined as a map matching incremental edge; and to acquire the robot's third pose at the first position and the robot's fourth pose at the second position, wherein the third pose and the fourth pose are obtained based on localization methods other than the initial map, and the difference pose between the third pose and the fourth pose is determined as an auxiliary incremental edge;

[0010] The determination module is used to determine whether the map area between the first position and the second position in the initial map is a map alarm area based on the target difference between the map matching incremental edge and the auxiliary incremental edge.

[0011] This application provides an electronic device, including: a processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the map alarm area determination method of the above example.

[0012] As can be seen from the above technical solutions, in this embodiment, after the initial map is constructed, it is possible to determine whether a map region in the initial map is a map alarm region based on the difference between the map matching incremental edge and the auxiliary incremental edge, and to indicate the map alarm region in the initial map, thereby discovering the map alarm region in the initial map (i.e., the area where the environment has changed). In this way, the map alarm region in the initial map can be updated, so that the updated map can continue to be used, and the robot can move based on the updated map, ensuring the availability of the map. By analyzing and verifying the map, the positioning effect of the map is improved, and the robot can achieve accurate navigation and positioning based on the map. Attached Figure Description

[0013] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments of this application or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings of the embodiments of this application.

[0014] Figure 1 This is a flowchart illustrating a method for determining a map alarm area in one embodiment of this application;

[0015] Figure 2 This is a flowchart illustrating a method for determining a map alarm area in one embodiment of this application;

[0016] Figure 3 This is a schematic diagram illustrating the determination of whether a map area is a map alarm area in one embodiment of this application;

[0017] Figure 4 This is a schematic diagram of the structure of a map alarm area determination device in one embodiment of this application;

[0018] Figure 5 This is a hardware structure diagram of an electronic device according to one embodiment of this application. Detailed Implementation

[0019] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the application. The singular forms “a,” “the,” and “the” as used in this application and claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to any and all possible combinations comprising one or more of the associated listed items.

[0020] It should be understood that although the terms first, second, third, etc., may be used to describe various information in embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of this application, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" may also be interpreted as "when," "when," or "in response to a determination."

[0021] This application proposes a method for determining map alarm areas in its embodiments. See [link to relevant documentation]. Figure 1 The diagram shown illustrates the process of this method, which can be applied to robots (such as mobile robots). After the initial map is constructed, during the robot's movement based on the initial map, the method may include:

[0022] Step 101: Obtain the first pose of the robot at the first position and the second pose of the robot at the second position. The first pose and the second pose are obtained based on the initial map localization, and the difference pose between the first pose and the second pose is determined as the map matching incremental edge.

[0023] Step 102: Obtain the robot's third pose at the first position and the robot's fourth pose at the second position. The third and fourth poses are obtained based on localization methods other than the initial map, and the difference pose between the third and fourth poses is determined as an auxiliary incremental edge.

[0024] Step 103: Based on the target difference between the map matching incremental edge and the auxiliary incremental edge, determine whether the map area between the first position and the second position in the initial map is a map alarm area.

[0025] For example, determining whether a map region between a first position and a second position in the initial map is a map alarm region based on the target difference between the map matching incremental edge and the auxiliary incremental edge may include, but is not limited to: if the target difference is greater than the incremental threshold, the map region can be determined to be a map alarm region; if the target difference is not greater than the incremental threshold, the map region can be determined not to be a map alarm region.

[0026] For example, determining whether the map region between the first and second positions in the initial map is a map alarm region based on the target difference between the map matching incremental edge and the auxiliary incremental edge may include, but is not limited to: determining whether the map region between the first and second positions in the initial map is a map alarm region based on the target difference and the global localization score corresponding to the initial map. The process of determining the global localization score may include, but is not limited to: when the robot moves from the first position to the second position based on the initial map, obtaining matching degree scores corresponding to multiple position points between the first and second positions, whereby the matching degree scores represent the degree of matching between the robot's laser data and the initial map; and determining the global localization score corresponding to the initial map based on the matching degree scores corresponding to the multiple position points.

[0027] For example, based on the target difference and the global positioning score corresponding to the initial map, determining whether the map area between the first and second positions in the initial map is a map alarm area may include, but is not limited to: if the target difference is greater than an incremental threshold, then the map area is determined to be a map alarm area; if the target difference is not greater than an incremental threshold and the global positioning score is less than a score threshold, then the map area is determined to be a map alarm area; if the target difference is not greater than an incremental threshold and the global positioning score is not less than a score threshold, then the map area is determined not to be a map alarm area. Alternatively, if the target difference is greater than an incremental threshold and the global positioning score is less than a score threshold, then the map area is determined to be a map alarm area; if the target difference is greater than an incremental threshold and the global positioning score is not less than a score threshold, then the map area is determined not to be a map alarm area; if the target difference is not greater than an incremental threshold, then the map area is determined not to be a map alarm area.

[0028] For example, if the third pose and the fourth pose are acquired based on the robot's laser data, then the auxiliary incremental edge is a laser-assisted incremental edge; if the third pose and the fourth pose are acquired based on the robot's non-laser data, then the auxiliary incremental edge is a non-laser-assisted incremental edge; the target difference includes a first target difference between the map matching incremental edge and the laser-assisted incremental edge, and a second target difference between the map matching incremental edge and the non-laser-assisted incremental edge. Based on the target difference and the global positioning score corresponding to the initial map, it is determined whether the map area between the first and second positions in the initial map is a map alarm area. This can include, but is not limited to: if the first target difference is greater than the incremental threshold, then the map area is determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, and the second target difference is greater than the incremental threshold, and the global positioning score is less than the score threshold, then the map area is determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, and the second target difference is greater than the incremental threshold, and the global positioning score is not less than the score threshold, then the map area is determined not to be a map alarm area; if the first target difference is not greater than the incremental threshold, and the second target difference is not greater than the incremental threshold, then the map area is determined not to be a map alarm area.

[0029] For example, laser data during robot movement can also be acquired, and laser data at a first moment and laser data at a second moment can be sampled from this laser data; non-laser data during robot movement can also be acquired, and non-laser data at a first moment and non-laser data at a second moment can be sampled from this non-laser data, wherein the non-laser data may include, but is not limited to, QR code data, texture data, or wheel odometer data, and the type of non-laser data is not limited. Based on this, the first pose of the robot at a first position and the second pose of the robot at a second position can be acquired, which may include, but is not limited to: determining the first pose of the first position based on the laser data at the first moment, and determining the second pose of the second position based on the laser data at the second moment. Furthermore, the third pose may include a first laser-assisted pose and a first non-laser-assisted pose, and the fourth pose may include a second laser-assisted pose and a second non-laser-assisted pose. Acquiring the third pose of the robot at the first position and the fourth pose of the robot at the second position may include, but is not limited to: determining the first laser-assisted pose of the first position based on the laser data at the first moment, and determining the second laser-assisted pose of the second position based on the laser data at the second moment. A first non-laser-assisted pose is determined at a first position based on the non-laser data at a first moment, and a second non-laser-assisted pose is determined at a second position based on the non-laser data at a second moment.

[0030] For example, upon receiving an update instruction for the initial map, if the map area is a map alarm area, the updated map can be obtained. The updated map includes sub-maps between the starting position and the first position, between the first position and the second position, and between the second position and the ending position. Then, the map area in the initial map is replaced with the sub-map between the first and second positions to obtain the target map corresponding to the initial map. The map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area.

[0031] For example, when the robot moves from the first position to the second position based on the initial map, it can also obtain the map poses corresponding to multiple position points between the first position and the second position, determine the lateral offset value between the map pose corresponding to each position point and the topology line of the initial map, and determine whether the map area is a deviation area based on the lateral offset value corresponding to each position point.

[0032] For example, upon receiving an update instruction for the initial map, if the map area is a deviated area, an updated map can be obtained. The updated map includes sub-maps between the starting position and the first position, between the first position and the second position, and between the second position and the ending position. Then, the map area in the initial map is replaced with the sub-map between the first and second positions to obtain the target map corresponding to the initial map. The map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area.

[0033] As can be seen from the above technical solutions, in this embodiment, after the initial map is constructed, it is possible to determine whether a map region in the initial map is a map alarm region based on the difference between the map matching incremental edge and the auxiliary incremental edge, and to indicate the map alarm region in the initial map, thereby discovering the map alarm region in the initial map (i.e., the area where the environment has changed). In this way, the map alarm region in the initial map can be updated, so that the updated map can continue to be used, and the robot can move based on the updated map, ensuring the availability of the map. By analyzing and verifying the map, the positioning effect of the map is improved, and the robot can achieve accurate navigation and positioning based on the map.

[0034] The technical solutions of the embodiments of this application will be described below in conjunction with specific application scenarios.

[0035] During the robot's movement, a map needs to be built first. For example, a topological map can be built using laser SLAM (Simultaneous Localization and Mapping) technology. A topological map is a type of statistical map in cartography. It is an abstract map that maintains the correct relative positional relationship between points and lines, but does not necessarily maintain the correct shape, area, distance, and direction of the graphic.

[0036] Once the map is built, the robot can move based on it. For example, the robot can use radar (such as lidar) as an external sensor for localization; that is, the robot is located on the map and navigated based on the map, thus enabling the robot to move based on the map.

[0037] However, if the environment of any area in the map scene changes after the map is built, the robot will be unable to achieve accurate navigation and positioning based on the existing map.

[0038] In response to the above findings, this application proposes a method for determining map alarm areas. After the initial map is constructed, it determines whether a map region in the initial map is a map alarm area and alerts users to such areas. This identifies map alarm areas in the initial map (such as areas where the environment has changed, areas where positioning problems occur, and abnormal areas during map generation). Thus, when the initial map needs to be updated, only the map alarm areas in the initial map are updated, without updating the entire initial map. After obtaining the updated map, the robot can move based on the updated map, ensuring the accuracy and usability of the map and improving the positioning effect.

[0039] In this embodiment, by verifying the map, alarm areas in the initial map can be located, and unstable alarm areas can be identified, thereby guiding map updates. Map verification refers to the robot fusing different positioning information to verify the map's accuracy, check the alarm areas of the operating positioning map, obtain map evaluation results, improve map accuracy and stability, and enhance map positioning performance.

[0040] In this embodiment of the application, an initial map can be constructed, such as by using laser SLAM technology. After the initial map is constructed, the robot moves based on the initial map. For example, the robot uses radar (such as lidar) as an external sensor to achieve localization, that is, the robot is located in the initial map and navigated based on the initial map, so that the robot moves based on the initial map.

[0041] After the initial map is constructed, during the robot's movement based on the initial map, this application proposes a method for determining map alarm areas, see [link to relevant documentation]. Figure 2 The diagram shown is a flowchart of the method, which can be applied to robots (such as mobile robots). The method may include:

[0042] Step 201: Acquire laser data (such as data generated by lidar) during the robot's movement process, and sample the laser data at the first moment and the laser data at the second moment from the laser data.

[0043] For example, during the robot's movement based on the initial map, laser data corresponding to the LiDAR (such as laser data generated during LiDAR operation) can be collected. This laser data can be downsampled to obtain laser data at multiple time points. The intervals between these time points can be the same or different, and the laser data at multiple time points can form a keyframe sequence. For instance, laser data at time T1, time T2, time T3, time T4, time T5, and so on can be sampled from the laser data. That is, the keyframe sequence includes laser data at time T1, time T2, time T3, time T4, and time T5. Wherein, if the laser data at time T1 is the laser data at the first time point, then the laser data at time T2 is the laser data at the second time point; if the laser data at time T2 is the laser data at the first time point, then the laser data at time T3 is the laser data at the second time point, and so on.

[0044] Step 202: Acquire non-laser data (i.e., data generated by sensors other than lidar) during the robot's movement, and sample non-laser data at the first moment and the second moment from this non-laser data. For example, non-laser data may include, but is not limited to, QR code data, texture data, or wheel odometer data; there is no limitation on the type of non-laser data.

[0045] For example, during the robot's movement based on the initial map, non-laser data (such as non-laser data generated during the operation of a specific sensor) corresponding to a specific sensor (such as other sensors besides LiDAR) can be collected. This non-laser data can be downsampled to obtain non-laser data at multiple times (the same as the multiple times corresponding to the laser data sampling). The intervals between the multiple times can be the same or different. The non-laser data at multiple times can form a keyframe sequence.

[0046] For example, non-laser data at time T1, time T2, time T3, time T4, time T5, and so on can be sampled from non-laser data. That is, the keyframe sequence includes non-laser data at time T1, time T2, time T3, time T4, and time T5.

[0047] Specifically, if the non-laser data at time T1 is the non-laser data at the first time, then the non-laser data at time T2 is the non-laser data at the second time; if the non-laser data at time T2 is the non-laser data at the first time, then the non-laser data at time T3 is the non-laser data at the second time, and so on.

[0048] For example, if a specific sensor is a vision sensor (such as a sensor used to acquire visual images), then the non-laser data is texture data; if a specific sensor is a barcode scanner (such as a sensor used to implement QR code scanning), then the non-laser data is QR code data; if a specific sensor is a wheel odometer (such as a sensor used to measure wheel mileage), then the non-laser data is wheel odometer data, and so on. For ease of description, this embodiment will use non-laser data as wheel odometer data as an example for explanation.

[0049] In summary, in step 202, wheel odometer data (such as wheel odometer data generated by the wheel odometer) can be obtained during the robot's movement. Then, wheel odometer data at the first moment and wheel odometer data at the second moment are sampled from the wheel odometer data.

[0050] Step 203: Determine the robot's first pose at the first position based on the laser data at the first moment, and determine the robot's second pose at the second position based on the laser data at the second moment. The first and second poses are obtained based on the initial map localization.

[0051] For example, the robot's position at the first moment can be called the first position, and its position at the second moment can be called the second position. For instance, the robot is at position P1 at time T1, position P2 at time T2, position P3 at time T3, position P4 at time T4, position P5 at time T5, and so on. If time T1 is the first moment and time T2 is the second moment, then position P1 is the first position and position P2 is the second position. If time T2 is the first moment and time T3 is the second moment, then position P2 is the first position and position P3 is the second position, and so on.

[0052] For example, during the robot's movement based on the initial map, the robot can use a LiDAR to locate itself in the initial map. Based on this, during the robot's localization process, the map pose of the robot at each position (such as position P1, position P2, etc.) can be obtained. The map pose is the pose of the map coordinate system based on the initial map, that is, the map pose represents the robot's pose in the initial map.

[0053] For example, during the robot's movement based on the initial map, laser data from the LiDAR at a first moment and laser data from the LiDAR at a second moment can be obtained. The laser data at the first moment includes the robot's map pose at a first position, and the laser data at the second moment includes the robot's map pose at a second position. Therefore, the robot's first pose at the first position is determined based on the laser data at the first moment, and the robot's second pose at the second position is determined based on the laser data at the second moment.

[0054] For example, the first pose and the second pose can be poses in a map coordinate system. The first pose may include, but is not limited to, a first position and a first attitude, and the second pose may include, but is not limited to, a second position and a second attitude.

[0055] Step 204: Determine the robot's first laser-assisted pose at the first position based on the laser data at the first moment, and determine the robot's second laser-assisted pose at the second position based on the laser data at the second moment. The first and second laser-assisted poses are obtained using positioning methods other than the initial map, and are not poses based on the map coordinate system.

[0056] For example, during the robot's movement based on the initial map, in addition to using LiDAR to locate the robot in the initial map, a laser odometry can also be used for robot localization. When using laser odometry for robot localization, the robot is located not in the map coordinate system of the initial map, but in the coordinate system of the laser odometry. Based on this, during the robot's localization process, an auxiliary pose of the robot at each position (e.g., position P1, position P2, etc.) can be obtained. Since this auxiliary pose is obtained from the laser odometry, it is denoted as the laser-assisted pose. Because the laser-assisted pose is a pose based on the coordinate system of the laser odometry, it is not the robot's pose in the map coordinate system of the initial map, but rather the robot's pose in the coordinate system of the laser odometry; that is, it represents the pose in the coordinate system of the laser odometry.

[0057] For example, during the robot's movement based on the initial map, the laser data of the lidar at the first moment and the laser data of the lidar at the second moment can be obtained. Based on these laser data corresponding to the lidar, the robot can also be positioned using a laser odometry. Therefore, the first laser-assisted pose of the robot at the first position can be determined based on the laser data at the first moment, and the second laser-assisted pose of the robot at the second position can be determined based on the laser data at the second moment.

[0058] For example, the laser-assisted pose in the coordinate system of the laser odometer includes, but is not limited to, laser-assisted position and laser-assisted attitude. Therefore, the first laser-assisted pose includes the first laser-assisted position and the first laser-assisted attitude, and the second laser-assisted pose includes the second laser-assisted position and the second laser-assisted attitude.

[0059] Step 205: Determine the robot's first non-laser-assisted pose at the first position based on the non-laser data at the first moment, and determine the robot's second non-laser-assisted pose at the second position based on the non-laser data at the second moment. Note that the first and second non-laser-assisted poses are not based on a map coordinate system. For example, assuming the non-laser data is wheel odometry data, then the first non-laser-assisted pose is the first wheel-assisted pose, and the second non-laser-assisted pose is the second wheel-assisted pose.

[0060] For example, during the robot's movement based on the initial map, in addition to using LiDAR to locate the robot in the initial map, a wheel odometry system can also be used for robot localization. When using a wheel odometry system for localization, the robot is located not in the map coordinate system of the initial map, but in the wheel odometry coordinate system. Based on this, during the robot's localization process, an auxiliary pose of the robot at each position (e.g., position P1, position P2, etc.) can be obtained. Since the auxiliary pose is obtained from the wheel odometry system, it is denoted as the wheel-assisted pose. Because the wheel-assisted pose is based on the wheel odometry coordinate system, it is not the robot's pose in the map coordinate system of the initial map, but rather the robot's pose in the wheel odometry coordinate system; that is, it represents the pose in the wheel odometry coordinate system.

[0061] For example, during the robot's movement based on the initial map, wheel odometry data at the first moment and wheel odometry data at the second moment can be obtained. Based on this wheel odometry data, the robot can also be positioned using wheel odometry. Therefore, the first wheel-assisted pose of the robot at the first position is determined based on the wheel odometry data at the first moment, and the second wheel-assisted pose of the robot at the second position is determined based on the wheel odometry data at the second moment.

[0062] For example, the wheel-assisted pose in the coordinate system of the wheel odometer includes, but is not limited to, wheel-assisted position and wheel-assisted attitude. Therefore, the first wheel-assisted pose includes the first wheel-assisted position and the first wheel-assisted attitude, and the second wheel-assisted pose includes the second wheel-assisted position and the second wheel-assisted attitude.

[0063] Step 206: When the robot moves from the first position to the second position based on the initial map, obtain the global localization score corresponding to the initial map, which represents the global localization score between the first position and the second position.

[0064] For example, when the robot moves from position P1 to position P2 based on the initial map, the global localization score between position P1 and position P2 is obtained; when the robot moves from position P2 to position P3 based on the initial map, the global localization score between position P2 and position P3 is obtained, and so on.

[0065] For example, matching scores can be obtained for multiple location points between the first and second locations. These matching scores represent the degree of matching between the robot's laser data and the initial map. The global positioning score corresponding to the initial map is then determined based on the matching scores for the multiple location points.

[0066] For example, during the robot's movement based on an initial map, the robot can use LiDAR to locate itself within the initial map. During this localization process, a matching score can be obtained for each location point (e.g., each location point between the first and second locations). This matching score represents the degree of matching between the robot's LiDAR data and the initial map. For instance, when the robot moves to a certain location point, the Global Matching Module (GLB) matches the LiDAR data of that location point with the initial map to obtain a matching score; this process is not restricted.

[0067] A global positioning score can be determined based on the matching scores of multiple location points between the first and second locations. For example, the average of the matching scores of multiple location points can be used as the global positioning score. If the global positioning score is less than a score threshold (which can be configured empirically and is not restricted), it indicates that the map area between the first and second locations is a region with weak contour constraints; if the global positioning score is not less than the score threshold, it indicates that the map area between the first and second locations is a region with strong contour constraints.

[0068] Step 207: Determine the difference pose between the first pose and the second pose as the map matching incremental edge, determine the difference pose between the first laser-assisted pose and the second laser-assisted pose as the laser-assisted incremental edge (i.e., the laser odometry incremental edge), and determine the difference pose between the first wheel-assisted pose and the second wheel-assisted pose as the wheel-assisted incremental edge (i.e., the wheel-odometer incremental edge).

[0069] For example, a map matching position difference is determined based on the difference between a first map position and a second map position, and a map matching attitude difference is determined based on the difference between a first map attitude and a second map attitude. The map matching position difference and the map matching attitude difference together form a map matching incremental edge `glb_edge`. Similarly, a laser-assisted position difference is determined based on the difference between a first laser-assisted position and a second laser-assisted position, and a laser-assisted attitude difference is determined based on the difference between a first laser-assisted attitude and a second laser-assisted attitude. The laser-assisted position difference and the laser-assisted attitude difference together form a laser-assisted incremental edge `fte_edge`. Likewise, a wheel-assisted position difference is determined based on the difference between a first wheel-assisted position and a second wheel-assisted position, and a wheel-assisted attitude difference is determined based on the difference between a first wheel-assisted attitude and a second wheel-assisted attitude. The wheel-assisted position difference and the wheel-assisted attitude difference together form a wheel-assisted incremental edge `odom_edge`.

[0070] In summary, based on the first pose, second pose, first laser-assisted pose, second laser-assisted pose, first wheel-assisted pose, and second wheel-assisted pose between the first and second positions, map matching incremental edges, laser-assisted incremental edges, and wheel-assisted incremental edges can be obtained.

[0071] Step 208: Based on at least two of the following: map matching incremental edge, laser-assisted incremental edge, wheel-assisted incremental edge, and global positioning score between the first and second locations, determine whether the map area between the first and second locations in the initial map is a map alarm area. A map alarm area indicates whether there is an anomaly in that map area. If the map area is an alarm area, it indicates that there is an anomaly and the map area needs to be updated; conversely, if the map area is not an alarm area, it indicates that there is no anomaly and the map area does not need to be updated.

[0072] For example, based on map matching incremental edges, and at least one of laser-assisted incremental edges, wheel-assisted incremental edges, and global positioning scores, it can be determined whether the map area is a map alarm area. For instance, any of the following methods can be used to determine whether the map area is a map alarm area:

[0073] Method 1: Based on the target difference between the map matching incremental edge and the laser-assisted incremental edge, determine whether the map area between the first and second positions in the initial map is a map alarm area. For example, if the target difference is greater than the incremental threshold (which can be configured based on experience), the map area can be determined to be a map alarm area; if the target difference is not greater than the incremental threshold, the map area can be determined not to be a map alarm area.

[0074] Method 2: Based on the target difference between the map matching incremental edge and the wheel-assisted incremental edge, determine whether the map area between the first and second positions in the initial map is a map alarm area. For example, if the target difference is greater than the incremental threshold, the map area can be determined to be a map alarm area; if the target difference is not greater than the incremental threshold, the map area can be determined not to be a map alarm area.

[0075] Method 3: Based on the first target difference between the map matching incremental edge and the laser-assisted incremental edge, and the second target difference between the map matching incremental edge and the wheel-assisted incremental edge, determine whether the map area between the first and second positions in the initial map is a map alarm area. For example, if the first target difference is greater than the incremental threshold, the map area can be determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, regardless of whether the second target difference is greater than the incremental threshold, the map area can be determined not to be a map alarm area. Alternatively, if the first target difference is greater than the incremental threshold and the second target difference is greater than the incremental threshold, the map area can be determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, and / or the second target difference is not greater than the incremental threshold, the map area can be determined not to be a map alarm area.

[0076] Method 4: Based on the target difference between the map matching incremental edge and the laser-assisted incremental edge, and the global positioning score between the first and second positions, determine whether the map area between the first and second positions in the initial map is a map alarm area. For example, if the target difference is greater than the incremental threshold, the map area can be determined as a map alarm area; if the target difference is not greater than the incremental threshold, and the global positioning score is less than the score threshold (which can be configured empirically), the map area can be determined as a map alarm area; if the target difference is not greater than the incremental threshold, and the global positioning score is not less than the score threshold, the map area can be determined as not a map alarm area. Alternatively, if the target difference is greater than the incremental threshold, and the global positioning score is less than the score threshold, the map area can be determined as a map alarm area; if the target difference is greater than the incremental threshold, and the global positioning score is not less than the score threshold, the map area can be determined as not a map alarm area; if the target difference is not greater than the incremental threshold, the map area can be determined as not a map alarm area.

[0077] Method 5: Based on the target difference between the map matching incremental edge and the wheel-assisted incremental edge, and the global positioning score between the first and second positions, determine whether the map area between the first and second positions in the initial map is a map alarm area. For example, if the target difference is greater than the incremental threshold, the map area can be determined to be a map alarm area; if the target difference is not greater than the incremental threshold and the global positioning score is less than the score threshold, the map area can be determined to be a map alarm area; if the target difference is not greater than the incremental threshold and the global positioning score is not less than the score threshold, the map area can be determined not to be a map alarm area. Alternatively, if the target difference is greater than the incremental threshold and the global positioning score is less than the score threshold, the map area can be determined to be a map alarm area; if the target difference is greater than the incremental threshold and the global positioning score is not less than the score threshold, the map area can be determined not to be a map alarm area; if the target difference is not greater than the incremental threshold, the map area can be determined not to be a map alarm area.

[0078] Method 6: Based on the first target difference between the map matching incremental edge and the laser-assisted incremental edge, the second target difference between the map matching incremental edge and the wheel-assisted incremental edge, and the global positioning score between the first and second positions, determine whether the map area between the first and second positions in the initial map is a map alarm area. For example, if the first target difference is greater than the incremental threshold, the map area can be determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, the second target difference is greater than the incremental threshold, and the global positioning score is less than the score threshold, the map area can be determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, the second target difference is greater than the incremental threshold, and the global positioning score is not less than the score threshold, the map area can be determined not to be a map alarm area; if the first target difference is not greater than the incremental threshold, and the second target difference is not greater than the incremental threshold, the map area can be determined not to be a map alarm area. For example, if the difference between the first target and the second target is greater than the incremental threshold and the global positioning score is less than the score threshold, the map area can be determined as a map alarm area; if the difference between the first target and the second target is greater than the incremental threshold and the global positioning score is not less than the score threshold and the difference between the second target and the third target is greater than the incremental threshold, the map area can be determined as a map alarm area; if the difference between the first target and the second target is not greater than the incremental threshold and the global positioning score is less than the score threshold and the difference between the second target and the third target is greater than the incremental threshold, the map area can be determined as a map alarm area; if the difference between the first target and the second target is greater than the incremental threshold and the global positioning score is not less than the score threshold and the difference between the second target and the third target is not greater than the incremental threshold, the map area can be determined as not a map alarm area; if the difference between the first target and the second target is not greater than the incremental threshold and the global positioning score is not less than the score threshold, the map area can be determined as not a map alarm area; if the difference between the first target and the second target is not greater than the incremental threshold and the global positioning score is not less than the score threshold, the map area can be determined as not a map alarm area. Of course, the above are just a few examples of determining whether a map area is a map alarm area based on the difference between the first target, the difference between the second target, and the global positioning score. There are no restrictions on this, as long as it can be determined whether a map area is a map alarm area.

[0079] For example, in methods 1-6, the target difference (or the first target difference, or the second target difference) being greater than the incremental threshold can mean that: the target difference can include the difference between positions and the difference between attitudes, and the incremental threshold can include a position increment threshold and an attitude increment threshold. Then: if the difference between positions is greater than the position increment threshold, and the difference between attitudes is greater than the attitude increment threshold, then the target difference is determined to be greater than the incremental threshold; if the difference between positions is not greater than the position increment threshold, and / or, the difference between attitudes is not greater than the attitude increment threshold, then the target difference is determined to be less than the incremental threshold. Alternatively, if the difference between positions is greater than the position increment threshold, and / or, the difference between attitudes is greater than the attitude increment threshold, then the target difference is determined to be greater than the incremental threshold; if the difference between positions is not greater than the position increment threshold, and the difference between attitudes is not greater than the attitude increment threshold, then the target difference is determined to be less than the incremental threshold.

[0080] In summary, it can be seen that the map region between the first and second positions can be determined as a map alarm region by judging whether the difference between the map matching incremental edge, laser-assisted incremental edge, and wheel-assisted incremental edge between the first and second positions is greater than the incremental threshold. This can help determine the consistency of the map for SLAM localization. Localization consistency can mean that when multiple paths reach the same location point, the robot's localization trajectory is continuous and smooth, and the localization from multiple sources can maintain incremental consistency.

[0081] In one possible implementation, see Figure 3 The diagram illustrates how to determine if a map area is a map alarm area. N1, N2, N3, N4, and N5 represent location points in the initial map. Figure 3 The diagram illustrates map matching incremental edges, laser-assisted incremental edges, and wheel-assisted incremental edges, with topology lines representing the topology lines in the initial map. Based on this, if the first position is N1 and the second position is N2, it's possible to determine whether the map area between N1 and N2 is a map alarm area based on the map matching incremental edges, laser-assisted incremental edges, wheel-assisted incremental edges, and global positioning score. Similarly, if the first position is N2 and the second position is N3, it's possible to determine whether the map area between N2 and N3 is a map alarm area based on the same factors, and so on. Figure 3 It can be seen that the map area between N1 and N2 is not a map alarm area, the map area between N2 and N3 is not a map alarm area, the map area between N3 and N4 is a map alarm area, and the map area between N4 and N5 is not a map alarm area.

[0082] In one possible implementation, after receiving an update instruction for the initial map, for each map region (e.g., the map region between the first and second positions), if the map region is not a map alarm region, the updated map corresponding to that map region may not be obtained; if the map region is a map alarm region, the updated map corresponding to that map region may be obtained. The updated map may include a sub-map between the starting position and the first position, a sub-map between the first and second positions, and a sub-map between the second and the ending position. Specifically, the map region between the starting position and the first position is not a map alarm region, the map region between the first and second positions is a map alarm region, and the map region between the second and the ending position is not a map alarm region. Then, the map region in the initial map can be replaced with the sub-map between the first and second positions to obtain the target map corresponding to the initial map.

[0083] For example, when the total number of map alarm areas in the initial map exceeds a preset threshold (which can be configured empirically, such as 5, 6, 7, 8, etc.), an update process for the initial map can be triggered, i.e., an update command for the initial map is received. When the total number of map alarm areas in the initial map does not exceed the preset threshold, an update process for the initial map may not be triggered, i.e., the initial map does not need to be updated.

[0084] After receiving an update instruction for the initial map, the map alarm areas can be found from all map regions of the initial map, and the updated map corresponding to the map alarm areas can be obtained. For example, in step 208, when the map area between the first and second positions is determined to be a map alarm area, this map area can be marked, such as by drawing a box, to indicate that the map area is a map alarm area. Of course, other methods can also be used to mark the map area, and there are no restrictions on this. Obviously, since the map alarm areas have been marked, the map alarm areas in the initial map can be obtained.

[0085] For each map alert area, the corresponding updated map can be obtained. For example, non-linear optimization can be performed on the map alert area to obtain a secondary mapping result with the same coordinate system as the map, which is the updated map corresponding to the map alert area. Alternatively, laser SLAM technology can be used to construct the updated map corresponding to the map alert area, and there are no restrictions on the method of obtaining this updated map.

[0086] For example, when obtaining the updated map corresponding to the map alarm area, if the map alarm area is the map area between the first position and the second position, then a position point can be selected before the first position as the starting position, and the map area between the starting position and the first position is not a map alarm area. Similarly, a position point can be selected after the second position as the ending position, and the map area between the second position and the ending position is not a map alarm area. Based on this, the updated map between the starting position and the ending position can be obtained. This updated map serves as the updated map corresponding to the map alarm area. In other words, when using secondary mapping or laser SLAM technology to obtain the updated map corresponding to the map alarm area, the updated map between the starting position and the ending position is obtained.

[0087] The updated map may include a submap between the starting position and the first position (the submap can be a map area between two position points), a submap between the first position and the second position, and a submap between the second position and the ending position.

[0088] After obtaining the updated map corresponding to the alarm area, a sub-map between the first and second positions can be extracted from the updated map, and this sub-map can replace the alarm area in the initial map. After replacing all alarm areas in the initial map, the target map corresponding to the initial map can be obtained. After obtaining the target map, the robot moves based on the target map; for example, the robot uses LiDAR to locate itself in the target map. After obtaining the target map, it can also be used as the initial map, returning to steps 201-208 above.

[0089] For example, see Figure 3 As shown, the map area between N3 and N4 is the map alarm area. A starting point is selected before N3, such as N1 or N2, provided that the map area between N1 or N2 and N3 is not a map alarm area. An ending point is selected after N4, such as N5, provided that the map area between N4 and N5 is not a map alarm area. Based on this, an updated map between N2 and N5 can be obtained. This process is not restricted; for example, SLAM technology can be used to re-obtain the map between N2 and N5. Then, a sub-map between N3 and N4 is extracted from the updated map, and this sub-map replaces the map alarm area between N3 and N4 in the initial map.

[0090] In one possible implementation, when the robot moves from a first position to a second position based on an initial map, it can also acquire map poses corresponding to multiple position points between the first and second positions, determine the lateral offset value between the map pose corresponding to each position point and the topology line of the initial map, and determine whether the map region is a deviation region based on the lateral offset value corresponding to each position point. A deviation region indicates that the robot has not traveled along the topology line in that region, i.e., there is a lateral offset between it and the topology line.

[0091] For example, during the robot's movement based on an initial map, the robot uses LiDAR to localize itself within the initial map. During this localization process, the robot's map pose at each location point (e.g., each location point between the first and second locations) can be obtained. For instance, when the robot moves to a certain location point, the Global Matching Module (GLB) outputs the map pose of that location point.

[0092] After obtaining the map pose corresponding to a location point, the lateral offset value between that map pose and the topology line of the initial map can be determined (i.e., the lateral offset relationship between the map pose and the topology line). After obtaining the lateral offset value corresponding to each location point, the maximum lateral offset value and the average lateral offset value corresponding to all location points are calculated. Based on this, if the maximum lateral offset value is greater than the maximum lateral offset threshold (which can be configured empirically), and the average lateral offset value is greater than the average lateral offset threshold (which can be configured empirically), the map area between the first and second locations is determined to be a deviation area. If the maximum lateral offset value is not greater than the maximum lateral offset threshold, and / or the average lateral offset value is not greater than the average lateral offset threshold, the map area between the first and second locations is determined not to be a deviation area. Alternatively, if the maximum lateral deviation value is greater than the maximum lateral deviation threshold, and / or the average lateral deviation value is greater than the average lateral deviation threshold, the map area between the first position and the second position is determined to be a deviation area. If the maximum lateral deviation value is not greater than the maximum lateral deviation threshold and the average lateral deviation value is not greater than the average lateral deviation threshold, the map area between the first position and the second position is determined not to be a deviation area.

[0093] For example, after receiving an update instruction for the initial map, for each map region (such as the map region between the first and second positions), if the map region is a deviated area, the updated map corresponding to that map region can be obtained. The updated map includes a sub-map between the starting position and the first position, a sub-map between the first and second positions, and a sub-map between the second and the ending position. The map region between the starting position and the first position is not a map alarm region or a deviated area; the map region between the first and second positions is a deviated area; and the map region between the second and the ending position is not a map alarm region or a deviated area. Then, the map region in the initial map (i.e., the deviated area) can be replaced by the sub-map between the first and second positions to obtain the target map corresponding to the initial map.

[0094] For example, when the map area between the first and second positions is identified as a deviation area, this area can be marked. Since the deviation area has been marked, it can be obtained from the initial map. For each deviation area, the corresponding updated map can also be obtained. After obtaining the updated map, a sub-map between the first and second positions can be extracted from the updated map, and this sub-map can replace the deviation area in the initial map, thus obtaining the target map corresponding to the initial map.

[0095] As can be seen from the above technical solutions, in this embodiment, map alarm areas and / or deviation areas in the initial map can be detected and updated, ensuring the continued usability of the updated map. The robot can move based on the updated map, guaranteeing its usability. By analyzing and verifying the map, the positioning effect can be improved. Keyframe pose sequences can be established from the robot's running data, distinguishing and describing weak contour constraints, positioning jumps, and deviations from topology lines. This identifies map risk points, verifies the map navigation contour, and completes secondary mapping, resulting in a map aligned with the navigation map grid. This guides on-site judgment of map accuracy and editing / modification of contours and layers.

[0096] Based on the same concept as the above method, this application proposes a device for determining map alarm areas, see [link to relevant documentation]. Figure 4 The diagram shown is a structural schematic of the device. After the initial map is constructed, during the robot's movement based on the initial map, the device may include:

[0097] The acquisition module 41 is used to acquire the robot's first pose at the first position and the robot's second pose at the second position, wherein the first pose and the second pose are obtained based on the initial map localization, and the difference pose between the first pose and the second pose is determined as a map matching incremental edge; the acquisition module 42 is used to acquire the robot's third pose at the first position and the robot's fourth pose at the second position, wherein the third pose and the fourth pose are obtained based on localization methods other than the initial map, and the difference pose between the third pose and the fourth pose is determined as an auxiliary incremental edge; the determination module 42 is used to determine whether the map area between the first position and the second position in the initial map is a map alarm area based on the target difference between the map matching incremental edge and the auxiliary incremental edge.

[0098] For example, when the determining module 42 determines whether the map area between the first position and the second position in the initial map is a map alarm area based on the target difference between the map matching incremental edge and the auxiliary incremental edge, it is specifically used to: determine whether the map area between the first position and the second position in the initial map is a map alarm area based on the target difference and the global positioning score corresponding to the initial map; wherein, the process of determining the global positioning score includes: when the robot moves from the first position to the second position based on the initial map, obtaining matching degree scores corresponding to multiple position points between the first position and the second position; wherein, the matching degree score is used to represent the matching degree between the robot's laser data and the initial map; and determining the global positioning score based on the matching degree scores corresponding to the multiple position points.

[0099] The determining module 42, based on the target difference and the global positioning score corresponding to the initial map, determines whether the map area between the first position and the second position in the initial map is a map alarm area. Specifically, it is configured to: determine the map area as a map alarm area if the target difference is greater than an incremental threshold; determine the map area as a map alarm area if the target difference is not greater than the incremental threshold and the global positioning score is less than a score threshold; determine the map area as not a map alarm area if the target difference is not greater than the incremental threshold and the global positioning score is not less than a score threshold; or, determine the map area as a map alarm area if the target difference is greater than the incremental threshold and the global positioning score is less than a score threshold; determine the map area as not a map alarm area if the target difference is greater than the incremental threshold and the global positioning score is not less than a score threshold; determine the map area as not a map alarm area if the target difference is not greater than the incremental threshold.

[0100] For example, if the third and fourth poses are acquired based on the robot's laser data, then the auxiliary incremental edge is a laser-assisted incremental edge; if the third and fourth poses are acquired based on the robot's non-laser data, then the auxiliary incremental edge is a non-laser-assisted incremental edge. The target difference includes a first target difference between the map matching incremental edge and the laser-assisted incremental edge, and a second target difference between the map matching incremental edge and the non-laser-assisted incremental edge. When the determining module 42 determines whether the map area between the first and second positions in the initial map is a map alarm area based on the target difference and the global positioning score corresponding to the initial map, it is specifically used to: if the target difference is obtained from the robot's laser data, then the auxiliary incremental edge is a non-laser-assisted incremental edge. If the difference between the first target and the second target is greater than the incremental threshold, the map area is determined to be a map alarm area; if the difference between the first target and the second target is not greater than the incremental threshold, and the global positioning score is less than the score threshold, the map area is determined to be a map alarm area; if the difference between the first target and the second target is greater than the incremental threshold, and the global positioning score is not less than the score threshold, the map area is determined not to be a map alarm area; if the difference between the first target and the second target is not greater than the incremental threshold, the map area is determined not to be a map alarm area.

[0101] For example, the acquisition module 41 is further configured to acquire laser data during the robot's movement, and sample laser data at a first moment and a second moment from the laser data; acquire non-laser data during the robot's movement, and sample non-laser data at a first moment and a second moment from the non-laser data, wherein the non-laser data includes QR code data, texture data, or wheel odometer data; specifically, when acquiring the robot's first pose at the first position and the robot's second pose at the second position, the acquisition module 41 is configured to: determine the first pose at the first position based on the laser data at the first moment, and determine the second position based on the laser data at the second moment. The second pose; the third pose includes a first laser-assisted pose and a first non-laser-assisted pose, and the fourth pose includes a second laser-assisted pose and a second non-laser-assisted pose; the acquisition module 41, when acquiring the robot's third pose at the first position and the robot's fourth pose at the second position, is specifically used to: determine the first laser-assisted pose at the first position based on the laser data at the first moment, and determine the second laser-assisted pose at the second position based on the laser data at the second moment; determine the first non-laser-assisted pose at the first position based on the non-laser data at the first moment, and determine the second non-laser-assisted pose at the second position based on the non-laser data at the second moment.

[0102] For example, after receiving an update instruction for the initial map, the acquisition module 41 is further configured to acquire an updated map if the map area is a map alarm area. The updated map includes a sub-map between the starting position and the first position, a sub-map between the first position and the second position, and a sub-map between the second position and the ending position. The target map corresponding to the initial map is obtained by replacing the map area in the initial map with the sub-map between the first position and the second position. The map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area.

[0103] For example, the acquisition module 41 is further configured to acquire map poses corresponding to multiple position points between the first position and the second position when the robot moves from the first position to the second position based on the initial map; the determination module is further configured to determine the lateral offset value between the map pose corresponding to each position point and the topology line of the initial map, and determine whether the map area between the first position and the second position in the initial map is a deviation area based on the lateral offset value corresponding to each position point.

[0104] For example, after receiving an update instruction for the initial map, the acquisition module 41 is further configured to acquire an updated map if the map area is a deviated area. The updated map includes a sub-map between the starting position and the first position, a sub-map between the first position and the second position, and a sub-map between the second position and the ending position. The target map corresponding to the initial map is obtained by replacing the map area in the initial map with the sub-map between the first position and the second position. The map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area.

[0105] Based on the same application concept as the method described above, this application proposes an electronic device (such as a robot), see [link to relevant documentation]. Figure 5 As shown, it includes a processor 51 and a machine-readable storage medium 52. The machine-readable storage medium 52 stores machine-executable instructions that can be executed by the processor 51. The processor 51 is used to execute the machine-executable instructions to implement the map alarm area determination method disclosed in the above example of this application.

[0106] Based on the same concept as the above method, this application also provides a machine-readable storage medium storing a plurality of computer instructions. When the computer instructions are executed by a processor, they can implement the method for determining the map alarm area disclosed in the above examples of this application.

[0107] The aforementioned machine-readable storage medium can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, etc. For example, machine-readable storage media can be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, storage drives (such as hard disk drives), solid-state drives, any type of storage disk (such as optical discs, DVDs, etc.), or similar storage media, or combinations thereof.

[0108] The systems, devices, modules, or units described in the above embodiments can be implemented by a computer entity or by a product with a certain function. A typical implementation device is a computer, which can be a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email sending and receiving device, game console, tablet computer, wearable device, or any combination of these devices.

[0109] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.

[0110] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of this application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0111] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0112] Furthermore, these computer program instructions can also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in the process. Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0113] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0114] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for determining a map alarm area, characterized in that, After the initial map is constructed, during the robot's movement based on the initial map, the method includes: The robot's first pose at a first position and its second pose at a second position are obtained. The first pose and the second pose are obtained based on the initial map localization. The difference pose between the first pose and the second pose is determined as the map matching incremental edge. The robot's third pose at the first position and its fourth pose at the second position are obtained. The third pose and the fourth pose are obtained based on positioning methods other than the initial map. The difference pose between the third pose and the fourth pose is determined as an auxiliary incremental edge. Based on the target difference between the map matching incremental edge and the auxiliary incremental edge, and the global positioning score corresponding to the initial map, it is determined whether the map area between the first position and the second position in the initial map is a map alarm area; wherein, the process of determining the global positioning score includes: when the robot moves from the first position to the second position based on the initial map, obtaining the matching degree score corresponding to multiple position points between the first position and the second position; wherein, the matching degree score is used to represent the matching degree between the robot's laser data and the initial map; The global positioning score is determined based on the matching degree scores corresponding to the multiple location points.

2. The method according to claim 1, characterized in that, The step of determining whether the map region between the first location and the second location in the initial map is a map alarm region based on the target difference between the map matching incremental edge and the auxiliary incremental edge and the global positioning score corresponding to the initial map includes: If the target difference is greater than the incremental threshold, the map area is determined to be a map alarm area; if the target difference is not greater than the incremental threshold and the global positioning score is less than the score threshold, the map area is determined to be a map alarm area; if the target difference is not greater than the incremental threshold and the global positioning score is not less than the score threshold, the map area is determined not to be a map alarm area; or, If the target difference is greater than the incremental threshold and the global positioning score is less than the score threshold, then the map area is determined to be a map alarm area; if the target difference is greater than the incremental threshold and the global positioning score is not less than the score threshold, then the map area is determined not to be a map alarm area; if the target difference is not greater than the incremental threshold, then the map area is determined not to be a map alarm area.

3. The method according to claim 1, characterized in that, If the third and fourth poses are acquired based on the robot's laser data, then the auxiliary incremental edge is a laser-assisted incremental edge; if the third and fourth poses are acquired based on the robot's non-laser data, then the auxiliary incremental edge is a non-laser-assisted incremental edge; the target difference includes a first target difference between the map matching incremental edge and the laser-assisted incremental edge, and a second target difference between the map matching incremental edge and the non-laser-assisted incremental edge. The step of determining whether the map region between the first location and the second location in the initial map is a map alarm region based on the target difference between the map matching incremental edge and the auxiliary incremental edge and the global positioning score corresponding to the initial map includes: If the difference between the first target values ​​is greater than the incremental threshold, then the map area is determined to be a map alarm area; If the first target difference is not greater than the incremental threshold, the second target difference is greater than the incremental threshold, and the global positioning score is less than the score threshold, then the map area is determined to be a map alarm area. If the first target difference is not greater than the incremental threshold, the second target difference is greater than the incremental threshold, and the global positioning score is not less than the score threshold, then the map area is determined not to be a map alarm area. If the difference between the first target and the second target is not greater than the incremental threshold, then the map area is determined not to be a map alarm area.

4. The method according to claim 3, characterized in that, The method further includes: acquiring laser data during robot movement, and sampling laser data at a first moment and laser data at a second moment from the laser data; acquiring non-laser data during robot movement, and sampling non-laser data at a first moment and non-laser data at a second moment from the non-laser data, wherein the non-laser data includes QR code data, texture data, or wheel odometer data; The process of obtaining the first pose of the robot at the first position and the second pose of the robot at the second position includes: determining the first pose of the first position based on laser data at the first moment, and determining the second pose of the second position based on laser data at the second moment. The third pose includes a first laser-assisted pose and a first non-laser-assisted pose, and the fourth pose includes a second laser-assisted pose and a second non-laser-assisted pose. The process of obtaining the robot's third pose at the first position and the robot's fourth pose at the second position includes: determining the first laser-assisted pose at the first position based on laser data at the first moment, and determining the second laser-assisted pose at the second position based on laser data at the second moment. A first non-laser-assisted pose is determined at a first position based on the non-laser data at a first moment, and a second non-laser-assisted pose is determined at a second position based on the non-laser data at a second moment.

5. The method according to any one of claims 1-4, characterized in that, After receiving an update instruction for the initial map, the method further includes: If the map area is a map alarm area, then the updated map is obtained. The updated map includes a sub-map between the starting position and the first position, a sub-map between the first position and the second position, and a sub-map between the second position and the ending position. The map area in the initial map is replaced by the sub-map between the first position and the second position to obtain the target map corresponding to the initial map. Specifically, the map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area.

6. The method according to any one of claims 1-4, characterized in that, The method further includes: When the robot moves from a first position to a second position based on the initial map, it acquires the map pose corresponding to multiple position points between the first position and the second position; Determine the lateral offset value between the map pose corresponding to each location point and the topology line of the initial map; The map region is determined as a deviation area based on the lateral deviation value corresponding to each location point.

7. The method according to claim 6, characterized in that, After receiving an update instruction for the initial map, the method further includes: If the map area is a deviated area, then an updated map is obtained. The updated map includes a sub-map between the starting position and the first position, a sub-map between the first position and the second position, and a sub-map between the second position and the ending position. The map area in the initial map is replaced by the sub-map between the first position and the second position to obtain the target map corresponding to the initial map. Specifically, the map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area.

8. A device for determining a map alarm area, characterized in that, After the initial map is constructed, during the robot's movement based on the initial map, the device includes: The acquisition module is used to acquire the robot's first pose at a first position and the robot's second pose at a second position, wherein the first pose and the second pose are obtained based on the initial map localization, and the difference pose between the first pose and the second pose is determined as a map matching incremental edge; and to acquire the robot's third pose at the first position and the robot's fourth pose at the second position, wherein the third pose and the fourth pose are obtained based on localization methods other than the initial map, and the difference pose between the third pose and the fourth pose is determined as an auxiliary incremental edge; The determination module is used to determine whether a map region between a first position and a second position in the initial map is a map alarm region based on the target difference between the map matching incremental edge and the auxiliary incremental edge and the global positioning score corresponding to the initial map; wherein, the process of determining the global positioning score includes: when the robot moves from the first position to the second position based on the initial map, acquiring matching degree scores corresponding to multiple position points between the first position and the second position; wherein, the matching degree scores are used to represent the matching degree between the robot's laser data and the initial map; and determining the global positioning score based on the matching degree scores corresponding to the multiple position points.

9. The apparatus according to claim 8, Its features are, Specifically, when the determining module determines whether a map area between the first and second positions in the initial map is a map alarm area based on the target difference between the map matching incremental edge and the auxiliary incremental edge and the global positioning score corresponding to the initial map, it is used to: determine the map area as a map alarm area if the target difference is greater than the incremental threshold; determine the map area as a map alarm area if the target difference is not greater than the incremental threshold and the global positioning score is less than the score threshold; determine the map area as not a map alarm area if the target difference is not greater than the incremental threshold and the global positioning score is not less than the score threshold; or, determine the map area as a map alarm area if the target difference is greater than the incremental threshold and the global positioning score is less than the score threshold; determine the map area as not a map alarm area if the target difference is greater than the incremental threshold and the global positioning score is not less than the score threshold; determine the map area as not a map alarm area if the target difference is not greater than the incremental threshold. Wherein, if the third and fourth poses are acquired based on the robot's laser data, the auxiliary incremental edge is a laser-assisted incremental edge; if the third and fourth poses are acquired based on the robot's non-laser data, the auxiliary incremental edge is a non-laser-assisted incremental edge. The target difference includes a first target difference between the map matching incremental edge and the laser-assisted incremental edge, and a second target difference between the map matching incremental edge and the non-laser-assisted incremental edge. The determining module determines whether the map area between the first and second positions in the initial map is a map alarm area based on the target difference between the map matching incremental edge and the auxiliary incremental edge, and the global positioning score corresponding to the initial map. If the first target difference is greater than the incremental threshold, the map area is determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, the second target difference is greater than the incremental threshold, and the global positioning score is less than the score threshold, the map area is determined to be a map alarm area; if the first target difference is not greater than the incremental threshold, the second target difference is greater than the incremental threshold, and the global positioning score is not less than the score threshold, the map area is determined not to be a map alarm area; if the first target difference is not greater than the incremental threshold, and the second target difference is not greater than the incremental threshold, the map area is determined not to be a map alarm area. The acquisition module is further configured to acquire laser data during robot movement, sampling laser data at a first moment and laser data at a second moment from the laser data; acquire non-laser data during robot movement, sampling non-laser data at a first moment and non-laser data at a second moment from the non-laser data, wherein the non-laser data includes QR code data, texture data, or wheel odometer data; specifically, when acquiring the first pose of the robot at a first position and the second pose of the robot at a second position, the acquisition module is configured to: determine the first pose of the first position based on the laser data at the first moment, and determine the second pose of the second position based on the laser data at the second moment; the third pose includes a first laser-assisted pose and a first non-laser-assisted pose, and the fourth pose includes a second laser-assisted pose and a second non-laser-assisted pose; specifically, when acquiring the third pose of the robot at a first position and the fourth pose of the robot at a second position, the acquisition module is configured to: determine the first laser-assisted pose of the first position based on the laser data at the first moment, and determine the second laser-assisted pose of the second position based on the laser data at the second moment; determine the first non-laser-assisted pose of the first position based on the non-laser data at the first moment, and determine the second non-laser-assisted pose of the second position based on the non-laser data at the second moment; Upon receiving an update instruction for the initial map, the acquisition module is further configured to acquire an updated map if the map area is a map alarm area. The updated map includes a sub-map between the starting position and the first position, a sub-map between the first position and the second position, and a sub-map between the second position and the ending position. The target map corresponding to the initial map is obtained by replacing the map area in the initial map with the sub-map between the first position and the second position. The map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area. The acquisition module is further configured to acquire map poses corresponding to multiple location points between the first and second locations when the robot moves from the first location to the second location based on the initial map; the determination module is further configured to determine the lateral offset value between the map pose corresponding to each location point and the topology line of the initial map, and determine whether the map area between the first and second locations in the initial map is a deviation area based on the lateral offset value corresponding to each location point. Upon receiving an update instruction for the initial map, the acquisition module is further configured to acquire an updated map if the map area is a deviated area. The updated map includes a sub-map between the starting position and the first position, a sub-map between the first position and the second position, and a sub-map between the second position and the ending position. The target map corresponding to the initial map is obtained by replacing the map area in the initial map with the sub-map between the first position and the second position. The map area between the starting position and the first position is not a map alarm area, and the map area between the second position and the ending position is not a map alarm area.

10. An electronic device, characterized in that, include: A processor and a machine-readable storage medium, the machine-readable storage medium storing machine-executable instructions that can be executed by the processor; The processor is configured to execute machine-executable instructions to implement the method of any one of claims 1-7.

Citation Information

Patent Citations

  • Unmanned aerial vehicle positioning mapping method and system based on semantic information matching

    CN114821363A

  • Positioning method and device based on environmental condition change and mobile equipment

    CN115371690A