Localization and mapping method, device, robot, storage medium and program product

By adaptively adjusting the radar frame length, and optimizing the positioning and mapping process according to the robot's performance indicators, the problem of poor positioning and mapping effect of robots under high-speed motion is solved, and the positioning accuracy and mapping effect are improved.

CN120065170BActive Publication Date: 2025-07-08IFLYTEK CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510551685.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-29
Publication Date
2025-07-08
Estimated Expiration
2045-04-29

AI Technical Summary

Technical Problem

When the robot's movement speed and acceleration are large, the SLAM positioning and mapping effect based on lidar becomes worse, resulting in inaccurate positioning and poor mapping effect.

Method used

By adaptively adjusting the radar frame length, the target frame length is determined based on the robot's performance indicators such as motion ability, computing ability and positioning ability, the point cloud resolution of the radar frame is improved, and the positioning and mapping process is optimized.

Benefits of technology

It improves the positioning accuracy and mapping effect of the robot, overcomes the problem of motion distortion, and enhances the real-time processing capabilities of the SLAM system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120065170B_ABST
    Figure CN120065170B_ABST
Patent Text Reader

Abstract

The present application discloses a positioning and mapping method, device, robot, storage medium, and program product, relating to the field of artificial intelligence technology, including: every time an initial radar frame is acquired, determining a target frame length based on the performance metrics of the robot; the target frame length is greater than or equal to the length of the initial radar frame, and the performance metrics include at least one of the following: a first type of metric representing the motion ability of the robot, a second type of metric representing the computing ability of the robot; obtaining a target radar frame with the target frame length; wherein, the target radar frame is the currently acquired initial radar frame, or the target radar frame is composed of the currently acquired initial radar frame and a part of the points in the previously acquired initial radar frame; performing positioning and mapping based on the target radar frame. The present application improves the positioning accuracy and mapping effect of the robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of artificial intelligence technology, and in particular, to a method, device, robot, storage medium, and program product for positioning and mapping. Background Art

[0002] With the continuous development of robot technology, various mobile robots have been popularized in people's lives and work, such as sweeping robots, companion robots, inspection robots, etc. When a robot moves, it will perform autonomous navigation based on the simultaneous localization and mapping (SLAM) technology. The core idea of SLAM is to perform localization (estimating the pose of the robot) and mapping (constructing an environmental map) simultaneously, and the two are interdependent and optimized. In the SLAM solution based on lidar, the robot drives the lidar to rotate at a constant speed through a rotating mechanism, and at the same time, the laser source of the lidar emits a pulsed beam at a fixed frequency to measure the distance, realizing the scanning of the plane where the lidar is located. When the lidar rotates one week, a frame of point cloud data (i.e., a radar frame) is generated. The robot performs real-time positioning and mapping based on the radar frame, enabling the robot to move towards the target point.

[0003] In the actual application process, mobile robots are often in a state of uniform or variable speed motion. When the motion speed and acceleration of the robot are relatively large, the positioning and mapping effect of the robot will deteriorate. Summary of the Invention

[0004] In view of the above problems, this application provides a method, device, robot, storage medium, and program product for positioning and mapping to improve the positioning and mapping effect of the robot. The specific solutions are as follows:

[0005] In the first aspect of this application, a method for positioning and mapping is provided, which is applied to a robot. The method includes:

[0006] For each initially collected radar frame, determine a target frame length based on the performance indicators of the robot; the target frame length is greater than or equal to the length of the initially collected radar frame; the performance indicators include at least one of the following: a first type of indicator representing the motion ability of the robot, a second type of indicator representing the computing ability of the robot, and a third type of indicator representing the positioning ability of the robot;

[0007] Obtain a target radar frame with the target frame length; where the target radar frame is the currently collected initially collected radar frame, or the target radar frame is composed of a part of the points in the currently collected initially collected radar frame and the initially collected radar frame collected last time;

[0008] Perform positioning and mapping based on the target radar frame.

[0009] In a possible implementation, the first type of metrics includes: the movement speed or acceleration of the robot.

[0010] In a possible implementation, the second type of metrics includes at least one of the following:

[0011] The processor occupancy rate and memory occupancy rate of the robot.

[0012] In a possible implementation, the third type of metrics includes: the confidence level of the positioning result of the previous positioning of the robot.

[0013] In a possible implementation, the target frame length is within a preset length range; the minimum value of the preset length range is the length of the initial radar frame;

[0014] When the performance metrics include the movement speed or acceleration of the robot, the target frame length within the preset length range is positively correlated with the movement speed or acceleration;

[0015] When the performance metrics include the processor occupancy rate of the robot, the target frame length within the preset length range is negatively correlated with the processor occupancy rate;

[0016] When the performance metrics include the memory occupancy rate of the robot, the target frame length within the preset length range is negatively correlated with the memory occupancy rate;

[0017] When the performance metrics include the confidence level of the positioning result of the robot, the target frame length within the preset length range is negatively correlated with the confidence level of the positioning result.

[0018] In a possible implementation, determining the target frame length based on the performance metrics of the robot includes:

[0019] Based on the performance metrics, calculating the frame length using a preset length calculation strategy;

[0020] Determining the target frame length according to the correlation between the calculated frame length and the preset length range.

[0021] In a possible implementation, determining the target frame length according to the correlation between the calculated frame length and the preset length range includes:

[0022] If the calculated frame length is less than the minimum value of the preset length range, determining the target frame length as the minimum value of the preset length range;

[0023] If the calculated frame length is greater than the maximum value of the preset length range, determine that the target frame length is the maximum value of the preset length range;

[0024] If the calculated frame length is within the preset length range, determine that the target frame length is the calculated frame length.

[0025] In a possible implementation, before determining the target frame length based on the performance metrics of the robot, it further includes:

[0026] Cache the collected initial radar frame into the memory queue;

[0027] The target radar frame for obtaining the target frame length includes:

[0028] In the memory queue, obtain the point cloud data of the target frame length as the target radar frame starting from the radar frame cached into the memory queue last.

[0029] In a possible implementation, the target radar frame for obtaining the target frame length includes:

[0030] If the target frame length is equal to the length of the initial radar frame, the target radar frame is the currently collected initial radar frame;

[0031] If the target frame length is greater than the length of the initial radar frame, the target radar frame is composed of the currently collected initial radar frame and part of the points in the previously collected initial radar frame.

[0032] The second aspect of this application provides a positioning and mapping device applied to a robot. The device includes:

[0033] An adaptive frame length determination module, configured to determine a target frame length based on the performance metrics of the robot for each collected initial radar frame; the target frame length is greater than or equal to the length of the initial radar frame; the performance metrics include at least one of the following: a first type of metric representing the motion ability of the robot, a second type of metric representing the computing ability of the robot;

[0034] An obtaining module, obtaining the target radar frame of the target frame length; wherein, the target radar frame is the currently collected initial radar frame, or the target radar frame is composed of the currently collected initial radar frame and part of the points in the previously collected initial radar frame;

[0035] A positioning and mapping module, configured to perform positioning and mapping based on the target radar frame.

[0036] In a third aspect of the present application, a computer program product is provided, including computer-readable instructions, which, when running on an electronic device, enable the electronic device to implement the positioning and mapping method in the above first aspect or any implementation manner of the first aspect.

[0037] In a fourth aspect of the present application, a robot is provided, including a lidar, at least one processor, and a memory connected to the processor, where:

[0038] The lidar is used to collect an initial radar frame;

[0039] The memory is used to store a computer program;

[0040] The processor is used to execute the computer program, so that the electronic device can implement the positioning and mapping method in the above first aspect or any implementation manner of the first aspect.

[0041] In a fifth aspect of the present application, a computer storage medium is provided. The storage medium carries one or more computer programs, which, when executed by an electronic device, can enable the electronic device to implement the positioning and mapping method in the above first aspect or any implementation manner of the first aspect.

[0042] By means of the above technical solution, for the positioning and mapping method, device, robot, storage medium, and program product provided by the present application, every time an initial radar frame is collected, the target frame length is determined based on the performance indicators of the robot; the target frame length is greater than or equal to the length of the initial radar frame, and the performance indicators include at least one of the following: the first type of indicator characterizing the motion ability of the robot, and the second type of indicator characterizing the computing ability of the robot; obtaining a target radar frame with the target frame length; where the target radar frame is the currently collected initial radar frame, or the target radar frame is composed of part of the points in the currently collected initial radar frame and the initial radar frame collected last time; positioning and mapping are performed based on the target radar frame. That is to say, the present application no longer directly uses the collected initial radar frame for positioning and mapping, but adaptively adjusts the length of the radar frame for positioning and mapping according to the performance indicators of the robot, and can increase the length of the radar frame for positioning and mapping in some cases, so as to achieve the effect of improving the point cloud resolution of the radar frame for positioning and mapping, and further improve the positioning accuracy and mapping effect of the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Combined with the drawings and referring to the following specific embodiments, the above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more obvious. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic, and the original elements and elements are not necessarily drawn to scale.

[0044] Figure 1 A flowchart of an implementation of the positioning and mapping method provided by this application;

[0045] Figure 2 An example of the processing method of the radar frame collected by the lidar in the existing SLAM solution provided by this application;

[0046] Figure 3 An example of the processing method of the radar frame collected by the lidar in the SLAM solution of this application provided by this application;

[0047] Figure 4 A flowchart of an implementation of determining the target frame length based on the performance metrics of the robot provided by this application;

[0048] Figure 5 A schematic structural diagram of the positioning and mapping device provided by this application;

[0049] Figure 6 An example diagram of the robot system architecture provided by this application;

[0050] Figure 7 A schematic structural diagram of the robot provided by this application. Detailed implementation

[0051] The embodiments of this application will be described below with reference to the accompanying drawings in the embodiments of this application. The terms used in the implementation part of this application are only used to explain the specific embodiments of this application, rather than intending to limit this application.

[0052] The embodiments of this application will be described below with reference to the accompanying drawings. Those skilled in the art know that with the development of technology and the emergence of new scenarios, the technical solutions provided by the embodiments of this application are equally applicable to similar technical problems.

[0053] The terms "first", "second", etc. in the specification, claims and above-mentioned drawings of this application are used to distinguish similar objects, and do not have to be used to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances, which is only a way of distinguishing when describing objects with the same attributes in the embodiments of this application. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that a process, method, system, product or device including a series of units does not have to be limited to those units, but may include other units not clearly listed or inherent to these processes, methods, products or devices.

[0054] The positioning and mapping method of this application is applied to a robot, specifically a mobile robot. The mobile robot has a rotating mechanism and a lidar (LiDAR) fixed on the rotating mechanism. The robot drives the lidar to rotate at a constant speed through the rotating mechanism. At the same time, the laser source of the lidar emits a pulsed light beam at a fixed frequency for ranging, realizing the scanning of the plane where the lidar is located. When the lidar rotates one week, a frame of point cloud data (i.e., a radar frame) is generated. Each point in the point cloud data records the coordinates of the reflection point of the pulsed light beam and other relevant information (such as reflection intensity, etc.). Since the lidar rotates at a constant speed, the number of points in the point cloud data of each radar frame (i.e., the length of the radar frame) is fixed. The robot performs real-time positioning and mapping based on the collected radar frames, so that the robot can move towards the target point.

[0055] The inventors of this application have found through research that mobile robots are often in a state of uniform or variable speed motion. Therefore, when the lidar emits different pulsed light beams, the robot may be in different poses (pose means position and attitude) due to its own movement. In this way, different points within the same radar frame may be collected when the robot is in different poses, that is to say, the base coordinate systems of different points within the same radar frame may be different, resulting in motion distortion of the point cloud data in the radar frame. To overcome the problem of motion distortion, it is usually assumed that the robot moves at a constant speed in a short period of time. Based on this assumption, the pose of the robot is estimated, and then the radar frame is corrected according to the estimated pose to transform different points within the radar frame to the same base coordinate system, so as to compensate for the motion distortion of the radar frame. Furthermore, the corrected radar frame is used for positioning and mapping. However, as the motion speed or acceleration of the robot increases, the accuracy of the above assumption will decrease, and even the above assumption no longer holds, resulting in inaccurate compensation for motion distortion, and further resulting in inaccurate pose estimation (i.e., inaccurate positioning), and the mapping effect will also deteriorate.

[0056] To overcome the above problems, the number of points in the point cloud data of the radar frame collected by the lidar can be increased. This requires replacing the lidar with a higher pulse beam emission frequency. However, limited by factors such as the cost and manufacturing process of the lidar, the increase in the pulse beam emission frequency of the lidar is limited, resulting in limited increase in the number of points in the point cloud data of a single radar frame. On the other hand, even if the number of points in the point cloud data of the radar frame collected by the lidar can be increased, due to the actual robot computing environment usually being an edge-side embedded system, the CPU computing power and memory are limited. Moreover, on a mobile robot, not only the SLAM system is running, but also multiple modules such as navigation, motion control, and perception interaction are often included, further increasing the consumption of computing power and memory. An excessive number of points in the point cloud data of the radar frame collected by the lidar often leads to an excessive calculation delay of the SLAM system. If the SLAM system calculation cannot reach the real-time rate, the SLAM positioning accuracy will drop precipitously. Among them, the SLAM system calculation reaching the real-time rate means that the SLAM system processes the radar frames frame by frame and needs to complete the processing of the current radar frame before the next radar frame arrives. If the current frame has not been processed when the next radar frame arrives, the next radar frame will be discarded.

[0057] To alleviate the problems caused by the limited number of points in the radar frame collected by the lidar, this application is proposed. In the case of limited number of points in the radar frame collected by the lidar, the positioning accuracy and mapping effect of the SLAM are improved through algorithms.

[0058] As Figure 1 shown, it is a flowchart of an implementation of the positioning and mapping method provided by an embodiment of this application, which may include:

[0059] Step S101: For each initially collected radar frame, determine the target frame length based on the performance indicators of the robot.

[0060] The initially collected radar frame is the radar frame collected by the lidar. The lidar periodically collects radar frames.

[0061] The target frame length refers to the length of the radar frame used for subsequent positioning and mapping, and the target frame length is greater than or equal to the length of the initially collected radar frame. That is to say, the minimum length of the radar frame used for subsequent positioning and mapping is the length of the initially collected radar frame.

[0062] The performance indicators may include at least one of the following: the first type of indicators representing the motion ability of the robot, the second type of indicators representing the computing ability of the robot, and the third type of indicators representing the positioning ability of the robot.

[0063] Within the range greater than the length of the initially collected radar frame, the target frame length is positively correlated with the motion ability of the robot, positively correlated with the computing ability of the robot, and negatively correlated with the positioning ability of the robot.

[0064] Step S102: Obtain a target radar frame with a target frame length.

[0065] Wherein, the target radar frame is the initial radar frame currently collected.

[0066] Alternatively, the target radar frame is composed of the initial radar frame currently collected and some points in the initial radar frame collected last time.

[0067] Optionally, if the target frame length is equal to the length of the initial radar frame, the target radar frame is the initial radar frame currently collected.

[0068] Optionally, if the target frame length is greater than the length of the initial radar frame, the target radar frame is composed of the initial radar frame currently collected and some points in the initial radar frame collected last time.

[0069] When the target frame length is greater than the length of the initial radar frame, some points in the initial radar frame collected last time in the target radar frame and the first point in the initial radar frame currently collected are points continuously collected by the lidar. That is to say, the point cloud data in the target radar frame is composed of points continuously collected by the lidar, and the points continuously collected by the lidar include the points in the initial radar frame currently collected.

[0070] Step S103: Perform positioning and mapping based on the target radar frame.

[0071] Optionally, it can be assumed that the robot moves at a constant speed in a short period of time. Based on this assumption, the pose of the robot is estimated using the target radar frame, and then the target radar frame is corrected according to the estimated pose to transform different points in the target radar frame to the same base coordinate system, so as to compensate for the motion distortion of the target radar frame, and then positioning and mapping are performed using the corrected target radar frame. The specific implementation method can refer to the existing solutions and will not be elaborated here.

[0072] As Figure 2 shown, it is an example of the processing method of the radar frame collected by the lidar in the existing SLAM solution provided by the embodiment of the present application. In this example, every time the lidar collects an initial radar frame, the initial radar frame is directly given to the positioning and mapping module for positioning and mapping. Obviously, the radar frame used for positioning and mapping is a radar frame with a fixed length, and there is no overlapping point cloud between adjacent radar frames. Figure 2 In, each circle represents a point, and t1~t8 represent the collection times of different points.

[0073] As Figure 3As shown, it is an example of the processing method of the radar frame collected by the lidar in the SLAM solution provided by the embodiments of the present application. In this example, every time the lidar collects an initial radar frame, the robot determines the target frame length according to the performance index of the robot, and then determines the target radar frame according to the target frame length, and performs positioning and mapping based on the target radar frame. Since the length of the target radar frame may be greater than the length of the initial radar frame, there may be overlapping point clouds between adjacent radar frames used for positioning and mapping. For example, Figure 3 As shown, there are two overlapping points between the second radar frame (i.e., the 2nd frame) and the first radar frame (i.e., the 1st frame) used for positioning and mapping (i.e., both the 1st frame and the 2nd frame contain the points collected at time t3 and the points collected at time t4). Figure 3 In the figure, each circle represents a point, and t1 to t8 represent the collection times of different points.

[0074] The positioning and mapping method provided by the embodiments of the present application no longer directly uses the initial radar frame collected by the lidar for positioning and mapping, but adaptively adjusts the length of the radar frame used for positioning and mapping according to the performance index of the robot. In some cases, the length of the radar frame used for positioning and mapping can be increased, so as to improve the point cloud resolution of the radar frame used for positioning and mapping, and further improve the positioning accuracy and mapping effect of the robot.

[0075] In an optional embodiment, the first type of indicators characterizing the motion ability of the robot may include, but are not limited to: the motion speed or acceleration of the robot. The motion speed can be collected by a speed sensor, and the acceleration can be collected by an acceleration sensor. Of course, it can also be obtained by other means, and the present application does not make specific limitations.

[0076] Optionally, when the robot is in a uniform motion state or a decelerated motion state, the first type of indicator may be the motion speed of the robot.

[0077] When the robot is in an accelerated motion state, the first type of indicator may be the motion speed of the robot, or may be the acceleration of the robot.

[0078] The motion ability of the robot is positively correlated with the motion speed of the robot; or, the motion ability of the robot is positively correlated with the acceleration of the robot. That is, the greater the motion speed and acceleration of the robot, the stronger the motion ability of the robot is characterized.

[0079] Optionally, the target frame length is within a preset length range, the minimum value of the preset length range is the length of the initial radar frame, and the maximum value of the preset range is a preset value. The preset value can be an empirical value.

[0080] The target frame length is positively correlated with the movement speed of the robot within a preset length range, or the target frame length is positively correlated with the acceleration of the robot within a preset length range.

[0081] That is to say, when the target frame length takes a value within the preset length range, the greater the movement speed of the robot, the greater the target frame length.

[0082] Or, when the target frame length takes a value within the preset length range, the greater the acceleration of the robot, the greater the target frame length.

[0083] The higher the movement speed of the robot, the more obvious the movement distortion effect during positioning and mapping. At this time, increasing the target frame length and increasing the point cloud repetition rate between target radar frames for positioning and mapping can improve the point cloud resolution within a single frame, which helps to improve the positioning accuracy; conversely, when the movement speed of the robot is slow, the point cloud change rate is also low (less movement distortion), and increasing the point cloud repetition rate between target radar frames for positioning and mapping is not helpful for improving the positioning accuracy. Therefore, the length of the target radar frame can be reduced.

[0084] In an optional embodiment, the second type of index characterizing the computing power of the robot may include, but is not limited to, at least one of the following:

[0085] The occupancy rate of the processor (CPU) of the robot and the memory occupancy rate.

[0086] The computing power of the robot is negatively correlated with the processor occupancy rate and negatively correlated with the memory occupancy rate. That is to say, the higher the processor occupancy rate of the robot, the lower the computing power of the robot; the higher the memory occupancy rate of the robot, the lower the computing power of the robot.

[0087] Optionally, within the preset length range of the target frame length, the minimum value of the preset length range is the length of the initial radar frame, and the maximum value of the preset range is a preset value. This preset value can be an empirical value.

[0088] The target frame length is negatively correlated with the processor occupancy rate of the robot and negatively correlated with the memory occupancy rate of the robot.

[0089] That is to say, when the target frame length takes a value within the preset length range, the higher the processor occupancy rate of the robot, the smaller the target frame length; the higher the memory occupancy rate of the robot, the smaller the target frame length.

[0090] When the length of the target radar frame becomes longer, due to the increase in the amount of point cloud data within a single frame, the computational time consumption during positioning and mapping increases. The higher the point cloud repetition rate between adjacent target radar frames, the higher the load on the SLAM system. Therefore, when the processor occupancy rate and memory occupancy rate are high, it is not advisable to use a target radar frame with a large length to avoid computational timeouts (i.e., to avoid being unable to achieve real-time computational rate). Conversely, when the processor occupancy rate and memory occupancy rate are low, it indicates that there is more computing power and free memory. At this time, the length of the target radar frame can be appropriately increased to improve the positioning accuracy and mapping effect of SLAM.

[0091] In an optional embodiment, the third type of indicators characterizing the positioning ability of the robot may include, but are not limited to: the confidence level of the positioning result of the robot's previous positioning.

[0092] When the robot performs positioning each time, it calculates the confidence scores of multiple possible poses and takes the pose with the highest confidence score as the positioning result. Based on this, the confidence score of the positioning result can be used as the positioning result confidence level.

[0093] The positioning ability of the robot is positively correlated with the positioning result confidence level. That is to say, the higher the positioning result confidence level of the robot, the stronger the positioning ability of the robot is characterized.

[0094] Optionally, the target frame length is within a preset length range. The minimum value of this preset length range is the length of the initial radar frame, and the maximum value of this preset range is a preset value. This preset value can be an empirical value.

[0095] The target frame length within the preset length range is negatively correlated with the positioning result confidence level of the robot. That is to say, when the target frame length takes a value within the preset length range, the higher the positioning result confidence level of the robot, the smaller the target frame length.

[0096] When the positioning result confidence level is low, the length of the target radar frame can be appropriately increased to improve the positioning accuracy of SLAM; conversely, when the positioning result confidence level is already very high, there is no need to continue to improve the positioning accuracy of SLAM, and naturally there is no need to continuously increase the length of the target radar frame to avoid unnecessary computational delays.

[0097] In an optional embodiment, a flowchart of an implementation for determining the target frame length based on the performance indicators of the robot is as Figure 4 shown and may include:

[0098] Step S401: Based on the performance indicators, calculate the frame length using a preset length calculation strategy.

[0099] Taking the performance metrics including the robot's movement speed V, the processor occupancy rate Pcpu, the memory occupancy rate Pmem, and the SLAM positioning result confidence level Cslam as examples, the preset length calculation strategy can be expressed by the formula:

[0100] (1)

[0101] Where L is the calculated frame length; k is a preset proportionality coefficient. Formula (1) indicates that L is positively correlated.

[0102] As an example, (2)

[0103] In formula (1) or formula (2), the four performance metrics (the robot's movement speed V, the processor occupancy rate Pcpu, the memory occupancy rate Pmem, and the SLAM positioning result confidence level Cslam) are all variables. In another alternative embodiment, some of the metrics can be set as variables and the other metrics can be set as constants. For example, the robot's movement speed V can be set as a variable and the other three metrics can be set as fixed values, i.e., constants. Another example is that the robot's movement speed V and the processor occupancy rate Pcpu can be set as constants, while the memory occupancy rate Pmem and the SLAM positioning result confidence level Cslam can be set as variables, etc. The values of the constants can be determined based on experience.

[0104] Step S402: Determine the target frame length according to the association relationship between the calculated frame length and the preset length range.

[0105] The target frame length can be determined according to whether the calculated frame length is within the preset length range.

[0106] Optionally, if the calculated frame length is less than the minimum value of the preset length range, determine the target frame length as the minimum value of the preset length range. That is, the length of the initial radar frame.

[0107] If the calculated frame length is greater than the maximum value of the preset length range, determine the target frame length as the maximum value of the preset length range.

[0108] If the calculated frame length is within the preset length range, determine the target frame length as the calculated frame length.

[0109] In an alternative embodiment, before determining the target frame length based on the robot's performance metrics, it may further include:

[0110] Buffering the collected initial radar frame into the memory queue.

[0111] When caching the initial radar frames into the memory queue, the radar frames are cached into the memory queue in the order of acquisition time from earliest to latest, that is, the points acquired earlier are cached into the memory queue first, and the points acquired later are cached into the memory queue later.

[0112] Correspondingly, the target radar frames for obtaining the target frame length described above may include:

[0113] In the memory queue, the point cloud data for obtaining the target frame length is acquired starting from the radar frame that was cached into the memory queue last as the target radar frame.

[0114] By caching the acquired radar frames into the memory queue in the order of acquisition time, it is convenient to quickly determine the target radar frame.

[0115] Corresponding to the method embodiment, the present application also provides a positioning and mapping device. A schematic structural diagram of the positioning and mapping device provided in the embodiment of the present application is as Figure 5 shown, and may include:

[0116] An adaptive frame length determination module 501, an acquisition module 502, and a positioning and mapping module 503;

[0117] Among them, the adaptive frame length determination module 501 is used to determine the target frame length based on the performance metrics of the robot for each acquired initial radar frame; the target frame length is greater than or equal to the length of the initial radar frame; the performance metrics include at least one of the following: a first type of metric representing the motion ability of the robot, a second type of metric representing the computing ability of the robot;

[0118] The acquisition module 502 acquires the target radar frame with the target frame length; among them, the target radar frame is the currently acquired initial radar frame, or the target radar frame is composed of a part of the points of the currently acquired initial radar frame and the initial radar frame acquired last time;

[0119] The positioning and mapping module 503 is used to perform positioning and mapping based on the target radar frame.

[0120] The positioning and mapping device provided by the present application no longer directly uses the acquired initial radar frames for positioning and mapping, but adaptively adjusts the length of the radar frames used for positioning and mapping according to the performance metrics of the robot, and can increase the length of the radar frames used for positioning and mapping in some cases, so as to achieve the effect of improving the point cloud resolution of the radar frames used for positioning and mapping, and further improve the positioning accuracy and mapping effect of the robot.

[0121] In an optional embodiment, the first type of metric includes: the motion speed or acceleration of the robot.

[0122] In an optional embodiment, the second type of metrics includes at least one of the following:

[0123] The processor occupancy rate and memory occupancy rate of the robot.

[0124] In an optional embodiment, the third type of metrics includes: the confidence level of the positioning result of the previous positioning of the robot.

[0125] In an optional embodiment, the target frame length is within a preset length range; the minimum value of the preset length range is the length of the initial radar frame;

[0126] When the performance metric includes the movement speed or acceleration of the robot, the target frame length within the preset length range is positively correlated with the movement speed or acceleration;

[0127] When the performance metric includes the processor occupancy rate of the robot, the target frame length within the preset length range is negatively correlated with the processor occupancy rate;

[0128] When the performance metric includes the memory occupancy rate of the robot, the target frame length within the preset length range is negatively correlated with the memory occupancy rate;

[0129] When the performance metric includes the confidence level of the positioning result of the robot, the target frame length within the preset length range is negatively correlated with the confidence level of the positioning result.

[0130] In an optional embodiment, when the adaptive frame length determination module 501 determines the target frame length based on the performance metrics of the robot, it is used for:

[0131] Based on the performance metrics, calculate the frame length using a preset length calculation strategy;

[0132] Determine the target frame length according to the association relationship between the calculated frame length and the preset length range.

[0133] In an optional embodiment, when the adaptive frame length determination module 501 determines the target frame length according to the association relationship between the calculated frame length and the preset length range, it is used for:

[0134] If the calculated frame length is less than the minimum value of the preset length range, determine the target frame length as the minimum value of the preset length range;

[0135] If the calculated frame length is greater than the maximum value of the preset length range, determine the target frame length as the maximum value of the preset length range;

[0136] If the calculated frame length is within the preset length range, determine that the target frame length is the calculated frame length.

[0137] In an alternative embodiment, the adaptive frame length determination module 501 is further configured to: before determining the target frame length based on the performance metrics of the robot, cache the collected initial radar frames into a memory queue.

[0138] When the obtaining module 502 obtains the target radar frame with the target frame length, it is configured to:

[0139] In the memory queue, obtain the point cloud data of the target frame length as the target radar frame starting from the radar frame that was last cached into the memory queue.

[0140] In an alternative embodiment, obtaining the target radar frame with the target frame length includes:

[0141] If the target frame length is equal to the length of the initial radar frame, the target radar frame is the currently collected initial radar frame.

[0142] If the target frame length is greater than the length of the initial radar frame, the target radar frame is composed of the currently collected initial radar frame and a part of the points in the previously collected initial radar frame.

[0143] Corresponding to the method embodiment, an example diagram of the robot system architecture provided by the present application is as Figure 6 shown, and may include:

[0144] A lidar 601, a system performance detection unit 602, an adaptive radar frame determination unit 603, and a positioning and mapping unit 604.

[0145] Among them, the lidar 601 is configured to periodically collect radar frames (i.e., initial radar frames) and send the collected radar frames to the adaptive radar frame determination unit 603.

[0146] The system performance detection unit 602 is configured to obtain the system performance metrics of the robot and send the obtained system performance metrics to the adaptive radar frame determination unit 603. The specific implementation manner can refer to the foregoing embodiments and will not be elaborated here.

[0147] The adaptive radar frame determination unit 603 is configured to, for each received initial radar frame, determine the target frame length based on the performance metrics of the robot; obtain the target radar frame with the target frame length; and send the target radar frame to the positioning and mapping unit 604. The specific implementation manner can refer to the foregoing embodiments and will not be elaborated here. The functions of the above-mentioned adaptive frame length determination module 501 and obtaining module 502 are both integrated in the adaptive radar frame determination unit 603.

[0148] The positioning and mapping unit 604 is used for positioning and mapping based on the target radar frame. The specific implementation method can refer to the foregoing embodiments and will not be elaborated here.

[0149] In the embodiments of the present application, a robot is also provided. Refer to Figure 7 As shown, it shows a schematic structural diagram of a robot suitable for implementing the embodiments of the present application. The robot in the embodiments of the present application may include, but is not limited to, any of the following mobile robots: floor cleaning robots, companion robots, inspection robots, etc. Figure 7 The electronic device shown is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present application.

[0150] As Figure 7 shown, the robot may include a lidar 700, a processing device (such as a central processing unit, a graphics processing unit, etc.) 701, which may execute various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. When the robot is powered on, various programs and data required for the operation of the robot are also stored in the RAM 703. The processing device 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0151] Generally, the following devices may be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a memory card, a hard disk, etc.; and a communication device 709. The communication device 709 may allow the electronic device to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 7 a robot with various devices is shown, it should be understood that it is not required to implement or have all the shown devices. More or fewer devices may be alternatively implemented or had.

[0152] In the embodiments of the present application, a computer program product is also provided, including computer-readable instructions, which, when running on an electronic device (such as a robot), enable the electronic device to implement any of the positioning and mapping methods provided in the embodiments of the present application.

[0153] In the embodiments of the present application, a computer-readable storage medium is also provided. The storage medium carries one or more computer programs, which, when executed by an electronic device (such as a robot), can enable the electronic device to implement any of the positioning and mapping methods provided in the embodiments of the present application.

[0154] It should be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the attached drawings of the device embodiments provided in this application, the connection relationships between the modules indicate that there is a communication connection between them, which can be specifically implemented as one or more communication buses or signal lines.

[0155] Through the description of the above embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by dedicated hardware including application-specific integrated circuits, dedicated CPUs, dedicated memories, dedicated components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structures used to implement the same function can also be various, such as analog circuits, digital circuits or dedicated circuits. However, for this application, in more cases, software program implementation is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that makes contributions to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk or optical disc of a computer, and includes several instructions to enable a computer device (which can be a personal computer, training device, or network device, etc.) to execute the methods described in various embodiments of this application.

[0156] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. Professionals can use different methods to implement the described functions for each specific solution, but such implementation should not be considered to exceed the scope of this application.

[0157] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, they generate, wholly or partly, the processes or functions described in the embodiments of this application. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from a website, a computer, a training device, or a data center to another website, a computer, a training device, or a data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a training device or a data center that includes one or more integrated available media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

[0158] The embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. For the same or similar parts among the embodiments, reference may be made to each other.

[0159] The above description of the disclosed embodiments enables those skilled in the art to implement or use this application. Various modifications to these embodiments will be obvious to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application will not be limited to the embodiments shown herein, but rather to the broadest scope consistent with the principles and novel features disclosed herein.

Claims

1. A positioning and mapping method, characterized in that, Applied to a robot, the method includes: For each initially acquired radar frame, determining a target frame length based on the performance metrics of the robot; the target frame length is greater than or equal to the length of the initially acquired radar frame; the performance metrics include at least one of the following: a first type of metric representing the motion ability of the robot, a second type of metric representing the computing ability of the robot, and a third type of metric representing the positioning ability of the robot; Obtaining a target radar frame with the target frame length; wherein, the target radar frame is the currently acquired initially acquired radar frame, or the target radar frame is composed of part of the points in the currently acquired initially acquired radar frame and the previously acquired initially acquired radar frame; Performing positioning and mapping based on the target radar frame.

2. The method according to claim 1, wherein The first type of metric includes: the motion speed or acceleration of the robot.

3. The method according to claim 1, characterized in that The second type of metric includes at least one of the following: The processor occupancy rate and memory occupancy rate of the robot.

4. The method according to claim 1, wherein The third type of metric includes: the confidence level of the previous positioning result of the robot.

5. The method according to any one of claims 2-4, characterized in that, The target frame length is within a preset length range; the minimum value of the preset length range is the length of the initially acquired radar frame; When the performance metric includes the motion speed or acceleration of the robot, the target frame length is positively correlated with the motion speed or acceleration within the preset length range; When the performance metric includes the processor occupancy rate of the robot, the target frame length is negatively correlated with the processor occupancy rate within the preset length range; When the performance metric includes the memory occupancy rate of the robot, the target frame length is negatively correlated with the memory occupancy rate within the preset length range; When the performance metric includes the confidence level of the positioning result of the robot, the target frame length is negatively correlated with the confidence level of the positioning result within the preset length range.

6. The method according to claim 5, wherein The determining the target frame length based on the performance metrics of the robot includes: Based on the performance metrics, calculating the frame length using a preset length calculation strategy; Determining the target frame length according to the association relationship between the calculated frame length and the preset length range.

7. The method according to claim 6, wherein The determining the target frame length according to the association relationship between the calculated frame length and the preset length range includes: If the calculated frame length is less than the minimum value of the preset length range, determining the target frame length as the minimum value of the preset length range; If the calculated frame length is greater than the maximum value of the preset length range, determining the target frame length as the maximum value of the preset length range; If the calculated frame length is within the preset length range, determining the target frame length as the calculated frame length.

8. The method according to claim 1, characterized in that Before determining the target frame length based on the performance metrics of the robot, it further includes: Caching the acquired initially acquired radar frame into a memory queue; The obtaining the target radar frame with the target frame length includes: In the memory queue, starting from the radar frame that was last cached into the memory queue, acquiring the point cloud data with the target frame length as the target radar frame.

9. The method according to claim 1, wherein The target radar frame for obtaining the target frame length includes: If the target frame length is equal to the length of the initial radar frame, the target radar frame is the currently acquired initial radar frame; If the target frame length is greater than the length of the initial radar frame, the target radar frame is composed of the currently acquired initial radar frame and partial points from the previously acquired initial radar frame.

10. A positioning and mapping device, characterized in that, Applied to a robot, the device includes: An adaptive frame length determination module, configured to determine a target frame length based on the performance metrics of the robot each time an initial radar frame is acquired; the target frame length is greater than or equal to the length of the initial radar frame; the performance metrics include at least one of the following: a first type of metric characterizing the motion ability of the robot, a second type of metric characterizing the computing ability of the robot; An obtaining module, which obtains the target radar frame with the target frame length; wherein, the target radar frame is the currently acquired initial radar frame, or the target radar frame is composed of the currently acquired initial radar frame and partial points from the previously acquired initial radar frame; A localization and mapping module, configured to perform localization and mapping based on the target radar frame.

11. A computer program product, characterized in that, Includes computer-readable instructions, which, when running on an electronic device, enable the electronic device to implement the localization and mapping method as described in any one of claims 1 to 9.

12. A robot, characterized in that, The robot includes a lidar, at least one processor, and a memory connected to the processor, wherein: The lidar is used to acquire an initial radar frame; The memory is used to store a computer program; The processor is used to execute the computer program so that the robot can implement the localization and mapping method as described in any one of claims 1 to 9.

13. A computer storage medium, characterized in that, The storage medium carries one or more computer programs, which, when executed by an electronic device, can enable the electronic device to implement the localization and mapping method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Point cloud data processing method and device, laser radar and movable platform

    CN112154356A

  • Static map construction method based on 3D laser radar in dynamic scene

    CN118329053A