Mapping method and device, robot and storage medium

The radar point cloud of the robot's surrounding environment is obtained through ToF lidar, feature point clouds are extracted and keyframes are judged, which solves the problem of high cost of multi-line lidar in the existing technology, and realizes efficient and low-cost robot mapping.

CN120160608APending Publication Date: 2025-06-17SHENZHEN YUNSHI ROBOT CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510226980.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-27
Publication Date
2025-06-17

AI Technical Summary

Technical Problem

In the prior art, although the LIO-SAM method based on multi-line lidar has high accuracy, real-time and environmental adaptability, the price of multi-line lidar is relatively high and it is difficult to meet the cost-sensitive robot mapping requirements.

Method used

ToF lidar is used to obtain the radar point cloud in real time in the surrounding environment of the robot, extract the feature point cloud by calculating the normal vector of the radar point, and judge whether the current frame is a keyframe based on the difference between the feature point cloud and the historical keyframe, thereby determining the accurate position of the robot and building a real-time map.

Benefits of technology

While ensuring the accuracy, real-time, stability and environmental adaptability of the map construction, the use of lower-cost ToF lidar can efficient map construction of the robot's surrounding environment, meeting the cost-sensitive robot needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120160608A_ABST
    Figure CN120160608A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a mapping method and device, a robot and a storage medium. The method comprises the steps that a ToF laser radar is used for obtaining a radar point cloud corresponding to the surrounding environment of the robot in real time to obtain a current frame radar point cloud; calculating a normal vector of each radar point in the current frame of radar point cloud, and performing feature point extraction on the current frame of radar point cloud based on the normal vector of each radar point to obtain a current frame of feature point cloud; based on a difference value between the current frame feature point cloud and the historical key frame feature point cloud, judging whether the current frame feature point cloud is a key frame feature point cloud, and when the current frame feature point cloud is the key frame feature point cloud, determining a current accurate pose of the robot based on the current frame feature point cloud; and constructing a real-time map of the surrounding environment of the robot based on the current accurate pose and the current frame of radar point cloud. According to the embodiment of the invention, mapping is carried out on the environment around the robot with relatively low cost while the required mapping precision, real-time performance, stability and environmental adaptability are ensured.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Technical Field

[0002] The present invention relates to the field of computer technology, and in particular, to a mapping method, apparatus, robot, and storage medium. Background Art

[0003] When a robot is working, for reasons such as achieving precise positioning and navigation, improving environmental adaptability, optimizing work processes, and ensuring safety, it is necessary to construct a map of the surrounding environment. The mapping methods in the prior art include mapping methods based on various sensors such as lidar, vision sensors, and ultrasonic sensors. Among them, the LIO-SAM method based on a multi-line lidar has high accuracy, high real-time performance, stability, and environmental adaptability. However, the commonly used multi-line lidar in the LIO-SAM method is relatively expensive and does not meet the mapping requirements of some cost-sensitive robots such as floor-sweeping robots. Summary of the Invention

[0004] Embodiments of the present invention provide a mapping method, apparatus, robot, and storage medium, which can map the environment around the robot at a lower cost while ensuring the required mapping accuracy, real-time performance, stability, and environmental adaptability.

[0005] In a first aspect, an embodiment of the present invention provides a mapping method, including:

[0006] Using a ToF lidar to obtain the radar point cloud corresponding to the environment around the robot in real time to obtain the current frame radar point cloud;

[0007] Calculating the normal vector of each radar point in the current frame radar point cloud, and extracting feature points from the current frame radar point cloud based on the normal vectors of the respective radar points to obtain the current frame feature point cloud;

[0008] Based on the difference between the current frame feature point cloud and the historical key frame feature point cloud, determining whether the current frame feature point cloud is a key frame feature point cloud, and when the current frame feature point cloud is a key frame feature point cloud, determining the current accurate pose of the robot based on the current frame feature point cloud; and

[0009] Constructing a real-time map of the environment around the robot based on the current accurate pose and the current frame radar point cloud.

[0010] In a second aspect, an embodiment of the present invention provides a mapping apparatus, including:

[0011] A current frame radar point cloud acquisition module, configured to use a ToF lidar to obtain the radar point cloud corresponding to the environment around the robot in real time to obtain the current frame radar point cloud;

[0012] The current frame feature point cloud acquisition module is used to calculate the normal vectors of each radar point in the current frame radar point cloud, and extract feature points from the current frame radar point cloud based on the normal vectors of each radar point to obtain the current frame feature point cloud;

[0013] The current accurate pose acquisition module is used to judge whether the current frame feature point cloud is a key frame feature point cloud based on the difference between the current frame feature point cloud and the historical key frame feature point cloud, and determine the current accurate pose of the robot based on the current frame feature point cloud when the current frame feature point cloud is a key frame feature point cloud; and

[0014] The map construction module is used to construct a real-time map of the environment around the robot based on the current accurate pose and the current frame radar point cloud.

[0015] In a third aspect, an embodiment of the present invention further provides a robot, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the mapping method described in any one of the embodiments of the present invention is implemented.

[0016] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the mapping method described in any one of the embodiments of the present invention is implemented.

[0017] A mapping method, device, robot, and storage medium provided by an embodiment of the present invention use a ToF lidar to obtain the current frame radar point cloud of the surrounding environment, extract the feature point cloud based on the normal vectors of each radar point in the current frame radar point cloud, and then judge whether the current frame feature point cloud is a key frame feature point cloud based on the difference between the current frame feature point cloud and the historical key frame feature point cloud. When the current frame feature point cloud is a key frame feature point cloud, the current accurate pose of the robot is determined based on the current frame feature point cloud, and a two-dimensional map of the surrounding environment is constructed based on the current accurate pose and the current frame radar point cloud. It can map the environment around the robot at a low cost based on a relatively low-cost ToF lidar while ensuring the required mapping accuracy, real-time performance, stability, and environmental adaptability, meeting the mapping requirements of robots that are sensitive to cost. Description of the Drawings

[0018] In order to more clearly illustrate the technical solutions of the present invention, the accompanying drawings required for the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention, and therefore should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.

[0019] Figure 1It is a schematic flowchart of the mapping method provided by an embodiment of the present invention;

[0020] Figure 2 It is another schematic flowchart of the mapping method provided by an embodiment of the present invention;

[0021] Figure 3 It is another schematic flowchart of the mapping method provided by an embodiment of the present invention;

[0022] Figure 4 It is another schematic flowchart of the mapping method provided by an embodiment of the present invention;

[0023] Figure 5 It is a schematic diagram of the probability grid map in the mapping method provided by an embodiment of the present invention;

[0024] Figure 6 It is a schematic structural diagram of the mapping device provided by an embodiment of the present invention;

[0025] Figure 7 It is a schematic structural diagram of a robot provided by an embodiment of the present invention. Detailed implementation manners

[0026] In order to enable those skilled in the art of the present technology to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings 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 data can be interchanged under appropriate circumstances so that the embodiments of the present invention described herein can be implemented in an order different from those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0028] Figure 1As shown in the flowchart of the mapping method provided by the embodiments of the present invention, this embodiment is applicable to the scenario where a sweeping robot maps the surrounding environment during operation. This method can be executed by the mapping device provided by the embodiments of the present invention, and the device can be implemented in software and / or hardware. In a specific embodiment, the device can be integrated into an electronic device, such as a robot. The following embodiments will be described by taking the device integrated into the robot as an example. Refer to Figure 1 , the method specifically may include the following steps:

[0029] Step 101, use a ToF lidar to continuously obtain the radar point cloud corresponding to the surrounding environment of the robot to obtain the current frame radar point cloud. This step can facilitate extracting the current frame feature point cloud based on the current frame radar point cloud and constructing a real-time map of the surrounding environment of the robot based on the current frame radar point cloud.

[0030] Specifically, the above-mentioned robot includes a sweeping robot, and the surrounding environment of the above-mentioned robot includes the indoor environment to be cleaned by the sweeping robot.

[0031] Specifically, the sampling points of the above-mentioned ToF (Time of Flight) lidar can be 100 - 300.

[0032] Optionally, the above-mentioned ToF lidar includes two TOF lidars installed on the above-mentioned robot.

[0033] Optionally, the process of using the ToF lidar to continuously obtain the radar point cloud corresponding to the surrounding environment of the robot includes continuously obtaining the radar point cloud corresponding to the indoor environment being cleaned during the cleaning operation of the sweeping robot.

[0034] Step 102, calculate the normal vectors of each radar point in the current frame radar point cloud, and perform feature point extraction on the current frame radar point cloud based on the normal vectors of each radar point to obtain the current frame feature point cloud. This step can facilitate further determining whether the current frame feature point cloud is a key frame feature point cloud, and then, when the current frame feature point cloud is a key frame feature point cloud, determining the current accurate pose of the robot based on the current frame feature point cloud.

[0035] Specifically, the normal vectors of each radar point can be calculated based on the local plane fitting method, the covariance matrix method, or the octree method.

[0036] Specifically, by judging the consistency of the normal vectors of each radar point and adjacent radar points, and through methods such as clustering analysis, the geometric category of each radar point can be judged, and the radar points constituting the current frame feature point cloud can be extracted based on the geometric category of each radar point.

[0037] Step 103: Based on the difference between the current frame feature point cloud and the historical key frame feature point cloud, determine whether the current frame feature point cloud is a key frame feature point cloud. When the current frame feature point cloud is a key frame feature point cloud, determine the current accurate pose of the robot based on the current frame feature point cloud. This step can facilitate the construction of a real-time map of the environment around the robot based on the current accurate pose.

[0038] Specifically, the above-mentioned historical key frame point cloud can be understood as the key frame point cloud determined before the current frame time, and may include the feature point cloud corresponding to one or more historical frame lidar point clouds.

[0039] Specifically, the difference between the current frame feature point cloud and the historical key frame feature point cloud may include geometric position difference, statistical feature difference, and / or structural difference. The geometric position difference may be, for example, coordinate difference, distance difference, and angle difference. The statistical feature difference may be, for example, the difference in the mean, variance, and covariance of the point cloud, etc. The structural difference may be, for example, topological difference, etc.

[0040] Step 104: Based on the current accurate pose and the current frame lidar point cloud, construct a real-time map of the environment around the robot. Based on Steps 101 to 103, this step can construct a map of the environment around the robot at a low cost while ensuring the required mapping accuracy, real-time performance, stability, and environmental adaptability using a relatively low-cost ToF lidar, meeting the mapping requirements of robots that are sensitive to cost.

[0041] Optionally, the process of constructing a real-time map of the environment around the robot based on the current accurate pose and the current frame lidar point cloud includes: determining the world coordinates of each lidar point in the current frame lidar point cloud based on the current accurate pose; establishing a real-time three-dimensional point cloud map of the environment around the robot based on the world coordinates of each lidar point; and establishing a real-time two-dimensional map of the environment around the robot based on the real-time three-dimensional point cloud map.

[0042] Optionally, the above-mentioned real-time two-dimensional map is a probability grid map.

[0043] Optionally, the process of establishing a real-time two-dimensional map of the environment around the robot based on the real-time three-dimensional point cloud map includes:

[0044] Updating the above-mentioned probability grid map based on the scan hit points in the three-dimensional point cloud map.

[0045] Specifically, the process of updating the above-mentioned probability grid map based on the scan hit points in the three-dimensional point cloud map can be carried out based on the following formula:

[0046] M new (x) = clamp(odds -1 (odds(M old (x))·odds(phit ))) Among them, M new (x) represents the probability that the grid x in the updated probability grid map M is occupied by an obstacle; clamp is a limiting function; used to limit the calculation result within a reasonable range; M old (x) represents the probability that the grid x was occupied by an obstacle before the update; odds() represents the probability odds ratio function; odds -1 () represents the inverse function of odds(); p hit represents the grid occupancy probability corresponding to the scan hit point.

[0047] Specifically, the probability grid map can be as Figure 5 shown. In the figure, the grid marked with shaded plus cross is the grid corresponding to the scan hit point, and the shaded grid in the figure is the grid corresponding to the scan missed point.

[0048] Next, the mapping method provided by the embodiment of the present invention will be further introduced. As Figure 2 shown, that is Figure 1 step 102 in [] can include the following steps:

[0049] Step 1021, based on the first radius neighborhood points of each radar point, fit to obtain the fitting plane corresponding to the corresponding radar point. The first radius neighborhood points are the radius neighborhood points corresponding to the first neighborhood radius, and obtain the normal vector of the corresponding fitting plane to obtain the normal vectors of each radar point.

[0050] Specifically, for each radar point, the following equation of the plane to be fitted can be determined:

[0051] ax + by + cz = d (d ≥ 0), a 2 + b 2 + c 2 = 1

[0052] Then the distance calculation formula from the current radar point and any first radius neighborhood point to the plane to be fitted can be expressed as:

[0053] d i = |ax + by + cz - d|

[0054] The best fitting plane needs to satisfy:

[0055]

[0056] Therefore, it is converted into a problem of finding the extreme value:

[0057]

[0058] Taking the derivative of d gives:

[0059]

[0060] Substituting \(d\) into the aforementioned distance calculation formula, we get:

[0061]

[0062] Continuing to take the derivatives of \(a\), \(b\), and \(c\), we have:

[0063]

[0064] Among them,

[0065] Based on the above three equations, we have:

[0066]

[0067] We can obtain \(Ax = \lambda x\), which is transformed into the problem of solving the eigenvalues and eigenvectors of matrix \(A\). The matrix is the covariance matrix of \(n\) points.

[0068] Since \(a\) 2 + \(b\) 2 + \(c\) 2 = 1, then \((x, x)=1\) (in the form of inner product)

[0069] Since \(Ax = \lambda x\), then \((Ax, x)=(\lambda x, x)\), so \(\lambda=(Ax, x)\)

[0070] Thus, we have

[0071] Therefore, the eigenvector corresponding to the minimum eigenvalue is the normal vector of the best - fitting plane.

[0072] Step 1022: Obtain the target second - neighborhood radius points in the second - radius neighborhood points of each radar point, where the normal vector is in the same direction as the normal vector of the corresponding radar point, and determine whether each radar point is a plane feature point based on the corresponding target second - neighborhood radius points. The second - radius neighborhood points are the radius neighborhood points corresponding to the second neighborhood radius.

[0073] Specifically, the above - mentioned second neighborhood radius can be equal to the first neighborhood radius or not equal to the first neighborhood radius.

[0074] Optionally, the process of determining whether each radar point is a plane feature point based on the corresponding target second - neighborhood radius points includes:

[0075] For each radar point, calculate the proportion of the number of the corresponding target second - neighborhood radius points in the corresponding second - radius neighborhood points. If the proportion is greater than the preset proportion threshold, then determine the current radar point as a plane feature point.

[0076] Specifically, it is also possible to determine whether the current radar point is a planar feature point based on whether the number of corresponding target second neighborhood radius points is greater than a preset number threshold.

[0077] It can be understood that planar points are on the planar surfaces of significant feature objects in the environment, representing smooth regions. Combining planar points with the intersection points at the corners and edges of objects can more comprehensively describe the geometric structure of the environment.

[0078] Step 1023: Generate the current frame feature point cloud based on the planar feature points.

[0079] Optionally, the process of generating the current frame feature point cloud based on the planar feature points includes: combining the extracted planar feature points with the corner points extracted using existing technologies to form the current frame feature point cloud containing the key geometric features in the environment.

[0080] The embodiments of the present invention can efficiently and accurately extract the planar points in the current frame radar point cloud, overcoming the problem that the radar point cloud obtained by the TOF camera is disordered and cannot extract planar points like a multi-line radar.

[0081] The following further introduces the mapping method provided by the embodiments of the present invention. As Figure 3 shown, that is Figure 1 step 103 in

[0082] can include the following steps:

[0083] Step 1031: Calculate the differences between the current frame feature point cloud and each historical key frame feature point cloud to obtain a plurality of point cloud differences.

[0084] Optionally, the process of calculating the differences between the current frame feature point cloud and each historical key frame feature point cloud to obtain a plurality of point cloud differences includes:

[0085] Performing Iterative Closest Point (ICP) matching on the current frame feature point cloud and each historical key frame feature point cloud, and determining the matching degree index corresponding to the matching result as the corresponding point cloud difference. The matching degree index can be, for example, the mean square error and the distance between points.

[0086] Specifically, each of the above point cloud differences can be a geometric position difference, a statistical feature difference, or a structural difference. The geometric position difference can be, for example, a coordinate difference, a distance difference, and an angle difference. The statistical feature difference can be, for example, the difference in the mean, variance, and covariance of the point cloud, etc. The structural difference can be, for example, a topological difference, etc. The specific range of the above differences can be a difference range determined based on a preset geometric position difference threshold, a statistical feature difference position, or a structural difference threshold.

[0087] Optionally, the process of determining whether the current frame feature point cloud is a key frame feature point cloud based on whether each of the above point cloud differences is within a preset difference range includes:

[0088] When each of the above point cloud differences does not belong to the above difference range, it is determined that the current frame feature point cloud is a key frame feature point cloud.

[0089] Optionally, each of the above point cloud differences is a distance difference. When each of the point cloud differences of the current frame feature point cloud is greater than a preset distance threshold, the current frame feature point cloud is determined to be a key frame feature point cloud.

[0090] When the embodiment of the present invention determines whether the current frame feature point cloud is a key frame feature point cloud, by screening and difference judgment on each historical key frame, the mapping wall in the mapping process can be made thinner, thereby reducing the calculation amount and improving the mapping efficiency and mapping accuracy.

[0091] The following further describes the mapping method provided by the embodiment of the present invention. As Figure 4 shown, it may include the following steps:

[0092] Step 401, use a ToF lidar to obtain the radar point cloud corresponding to the surrounding environment of the robot in real time to obtain the current frame radar point cloud.

[0093] Step 402, calculate the normal vector of each radar point in the current frame radar point cloud, and perform feature point extraction on the current frame radar point cloud based on the normal vector of each radar point to obtain the current frame feature point cloud.

[0094] Step 403, estimate the pose change amount of the robot at the current frame time relative to the previous frame time through a wheel odometer to obtain the odometer estimated value of the pose change at the current frame.

[0095] Optionally, the above robot includes two wheels. The process of estimating the pose change amount of the robot at the current frame time relative to the previous frame time through a wheel odometer to obtain the odometer estimated value of the pose change at the current frame includes:

[0096] Based on a pre-established two-wheel differential model of the robot, integrate the linear velocity and unit time of each wheel of the robot to obtain the pose change amount of the robot at the current frame time relative to the previous frame time.

[0097] Step 404: Based on the difference between the current frame feature point cloud and the historical key frame feature point cloud, determine whether the current frame feature point cloud is a key frame feature point cloud, and when the current frame feature point cloud is a key frame feature point cloud, determine the current accurate pose based on the odometry estimation value of the current frame pose change and the current frame feature point cloud.

[0098] Optionally, the process of determining the current accurate pose based on the odometry estimation value of the current frame pose change and the current frame feature point cloud includes:

[0099] Estimate the pose change amount of the robot at the current frame time relative to the previous frame time based on the current frame feature point cloud and the previous frame feature point cloud to obtain the point cloud estimation value of the current frame pose change; and

[0100] Determine the current accurate pose based on the odometry estimation value of the current frame pose change, the point cloud estimation value, and the accurate pose of the robot at the previous frame time.

[0101] Specifically, an objective function can be constructed based on the odometry estimation value of the current frame pose change and the point cloud estimation value, and the accurate value of the current frame pose change can be determined by minimizing the objective function. Then, the current accurate pose can be determined based on the accurate value of the current frame pose change and the accurate pose of the robot at the previous frame time.

[0102] Specifically, it is also possible to first determine the current estimated pose of the robot based on the odometry estimation value of the current frame pose change and the accurate pose of the robot at the previous frame time, and then determine the current accurate pose of the robot based on the point cloud estimation value of the current frame pose change and the current estimated pose.

[0103] Step 405: Construct a real-time map of the environment around the robot based on the current accurate pose and the current frame lidar point cloud.

[0104] In the embodiment of the present invention, the current accurate pose of the robot is determined by using wheel odometry instead of the inertial measurement unit in the LIO-SAM method, which has a lower cost and can ensure the accuracy, real-time performance, stability, and environmental adaptability of positioning. Therefore, it is beneficial to construct a map of the environment around the robot at a lower cost while ensuring the required mapping accuracy, real-time performance, stability, and environmental adaptability.

[0105] Figure 6 It is a structural diagram of a mapping device provided by an embodiment of the present invention. This device is applicable to execute the mapping method provided by the embodiment of the present invention. As Figure 6 shown, this device may specifically include:

[0106] The current frame lidar point cloud acquisition module 601 is used to obtain the lidar point cloud corresponding to the surrounding environment of the robot in real time by using a ToF lidar to obtain the current frame lidar point cloud. It is capable of facilitating the extraction of the current frame feature point cloud based on the current frame lidar point cloud and constructing a 2D map of the surrounding environment of the robot based on the current frame lidar point cloud.

[0107] The current frame lidar point cloud acquisition module 602 is used to calculate the normal vectors of each lidar point in the current frame lidar point cloud, and perform feature point extraction on the current frame lidar point cloud based on the normal vectors of each lidar point to obtain the current frame feature point cloud. It is capable of further determining whether the current frame feature point cloud is a key frame feature point cloud, and then, when the current frame feature point cloud is a key frame feature point cloud, determining the current accurate pose of the robot based on the current frame feature point cloud.

[0108] Optionally, the above-mentioned current frame feature point cloud acquisition module 602 can specifically be used to fit and obtain the fitting plane corresponding to the corresponding lidar point based on the first radius neighborhood points of each lidar point. The first radius neighborhood points are the radius neighborhood points corresponding to the first neighborhood radius, and obtain the normal vector of the corresponding fitting plane to obtain the normal vectors of each lidar point; obtain the target second neighborhood radius points in the second radius neighborhood points of each lidar point whose normal vector directions are the same as those of the corresponding lidar points, and determine whether each lidar point is a plane feature point based on the corresponding target second neighborhood radius points. The second radius neighborhood points are the radius neighborhood points corresponding to the second neighborhood radius; and generate the current frame feature point cloud based on the plane feature points.

[0109] Optionally, the above-mentioned current frame feature point cloud acquisition module 602 can specifically be used to calculate, for each lidar point, the proportion of the number of the corresponding target second neighborhood radius points in the corresponding second radius neighborhood points. If the proportion is greater than the preset proportion threshold, then determine the current lidar point as a plane feature point.

[0110] The current accurate pose acquisition module 603 is used to determine whether the current frame feature point cloud is a key frame feature point cloud based on the difference between the current frame feature point cloud and the historical key frame feature point clouds, and determine the current accurate pose of the robot based on the current frame feature point cloud when the current frame feature point cloud is a key frame feature point cloud. It is capable of facilitating the construction of a 2D map of the surrounding environment of the robot based on the current accurate pose.

[0111] Optionally, the above-mentioned current accurate pose acquisition module 603 can specifically be used to calculate the differences between the current frame feature point cloud and each historical key frame feature point cloud to obtain multiple point cloud differences; and determine whether the current frame feature point cloud is a key frame feature point cloud based on whether each point cloud difference is within the preset difference range.

[0112] The map construction module 604 is used to construct a real-time map of the environment around the robot based on the current accurate pose and the current frame of lidar point cloud. It can construct a map of the environment around the robot at a low cost based on a relatively inexpensive ToF lidar, while ensuring the required mapping accuracy, real-time performance, stability, and environmental adaptability, meeting the mapping requirements of robots that are sensitive to cost.

[0113] Optionally, the above-mentioned map construction module 604 can specifically be used to determine the world coordinates of each lidar point in the current frame of lidar point cloud based on the current accurate pose; establish a real-time three-dimensional map of the environment around the robot based on the world coordinates of each lidar point; and establish a real-time two-dimensional map of the environment around the robot based on the three-dimensional map.

[0114] Optionally, the mapping device provided by the embodiment of the present invention further includes a wheel odometer module, which is used to estimate the pose change amount of the robot at the current frame time relative to the previous frame time through the wheel odometer before determining the current accurate pose of the robot based on the current frame of feature point cloud, and obtain the odometer estimated value of the pose change of the current frame.

[0115] Optionally, the above-mentioned current accurate pose acquisition module 603 can specifically be used to determine the current accurate pose based on the odometer estimated value of the pose change of the current frame and the current frame of feature point cloud.

[0116] Optionally, the above-mentioned current accurate pose acquisition module 603 can specifically be used to estimate the pose change amount of the robot at the current frame time relative to the previous frame time based on the current frame of feature point cloud and the previous frame of feature point cloud, and obtain the point cloud estimated value of the pose change of the current frame; and determine the current accurate pose based on the odometer estimated value and the point cloud estimated value of the pose change of the current frame and the accurate pose of the robot at the previous frame time.

[0117] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the above division of each functional module is used as an example. In actual applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the above-described functional modules can refer to the corresponding process in the foregoing method embodiments and will not be elaborated here.

[0118] The embodiment of the present invention also provides a robot, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the mapping method provided by any of the foregoing embodiments.

[0119] Optionally, a ToF lidar and a wheel odometer are configured on the above-mentioned robot.

[0120] An embodiment of the present invention also provides a computer-readable medium, on which a computer program is stored, and when the program is executed by a processor, the mapping method provided in any of the above embodiments is implemented.

[0121] An embodiment of the present invention also provides a computer program product, including a computer program, and when the computer program is executed by a processor, the mapping method described in any of the embodiments of the present invention is implemented.

[0122] Next, refer to Figure 7 , which shows a schematic structural diagram of a computer system 700 of a robot suitable for implementing the embodiments of the present invention. Figure 7 The shown robot is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present invention.

[0123] As Figure 7 shown, the computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 702 or the program loaded from the storage section 708 into the random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the system 700 are also stored. The CPU 701, ROM 702, and RAM 703 are connected to each other via a bus 704. The input / output (I / O) interface 705 is also connected to the bus 704.

[0124] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, a mouse, etc.; an output section 707 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc. and a speaker, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, a modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. A removable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 710 as needed so that a computer program read from it can be installed into the storage section 708 as needed.

[0125] In particular, according to the embodiments disclosed in the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, an embodiment disclosed in the present invention includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 709, and / or installed from the removable medium 711. When the computer program is executed by the central processing unit (CPU) 701, the above functions defined in the system of the present invention are executed.

[0126] It should be noted that the computer-readable medium shown in the present invention can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device. In the present invention, the computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, which carries the computer-readable program code. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and the computer-readable medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0127] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a part of code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, as well as combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0128] The modules and / or units involved in the embodiments of the present invention can be implemented in software or in hardware. The described modules and / or units can also be provided in a processor. For example, it can be described as: a processor includes a current frame LiDAR point cloud acquisition module, a current frame feature point cloud acquisition module, a current accurate pose acquisition module, and a map construction module. Among them, the names of these modules do not constitute a limitation to the module itself in some cases.

[0129] On the other hand, the present invention also provides a computer-readable medium, which can be included in the device described in the above embodiments; or can exist separately without being assembled into the device. The above computer-readable medium carries one or more programs. When the one or more programs are executed by the device, the device includes: using a ToF LiDAR to obtain the LiDAR point cloud corresponding to the surrounding environment of the robot in real time to obtain the current frame LiDAR point cloud; calculating the normal vectors of each LiDAR point in the current frame LiDAR point cloud, and extracting feature points from the current frame LiDAR point cloud based on the normal vectors of each LiDAR point to obtain the current frame feature point cloud; based on the difference between the current frame feature point cloud and the historical key frame feature point cloud, determining whether the current frame feature point cloud is a key frame feature point cloud, and when the current frame feature point cloud is a key frame feature point cloud, determining the current accurate pose of the robot based on the current frame feature point cloud; and constructing a real-time map of the surrounding environment of the robot based on the current accurate pose and the current frame LiDAR point cloud.

[0130] The above specific embodiments do not constitute a limitation to the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can occur depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A mapping method, characterized in that: include: Use the ToF laser radar to obtain the radar point cloud corresponding to the robot's surrounding environment in real time to obtain the radar point cloud of the current frame; Calculating the normal vector of each radar point in the radar point cloud of the current frame, and extracting feature points of the radar point cloud of the current frame based on the normal vectors of each radar point to obtain a feature point cloud of the current frame; Based on the difference between the current frame feature point cloud and the historical key frame feature point cloud, determine whether the current frame feature point cloud is a key frame feature point cloud, and determine the current accurate posture of the robot based on the current frame feature point cloud when the current frame feature point cloud is a key frame feature point cloud; and A real-time map of the robot's surroundings is constructed based on the current accurate posture and the current frame radar point cloud.

2. The mapping method according to claim 1, characterized in that: The calculating the normal vector of each radar point in the radar point cloud of the current frame, and extracting feature points of the radar point cloud of the current frame based on the normal vector of each radar point to obtain the feature point cloud of the current frame, includes: Based on the fitting of the first radius neighborhood point of each radar point, a fitting plane corresponding to the corresponding radar point is obtained, where the first radius neighborhood point is a radius neighborhood point corresponding to the first neighborhood radius, and a normal vector of the corresponding fitting plane is obtained to obtain a normal vector of each radar point; Obtaining a target second neighborhood radius point whose normal vector is consistent with the direction of the normal vector of the corresponding radar point from among the second radius neighborhood points of each radar point, and determining whether each radar point is a plane feature point based on the corresponding target second neighborhood radius point, wherein the second radius neighborhood point is a radius neighborhood point corresponding to the second neighborhood radius; and The current frame feature point cloud is generated based on the plane feature points.

3. The mapping method according to claim 2, characterized in that: The determining whether each radar point is a plane feature point based on the second neighborhood radius point of the corresponding target includes: For each radar point, the number ratio of the corresponding target second neighborhood radius points in the corresponding second radius neighborhood points is calculated. If the number ratio is greater than a preset ratio threshold, the current radar point is determined to be a plane feature point.

4. The mapping method according to claim 1, characterized in that: Before determining the current accurate posture of the robot based on the feature point cloud of the current frame, the mapping method further includes: Estimate the change in the robot's posture at the current frame time relative to the previous frame time by using the wheel odometer to obtain an odometer estimate of the current frame posture change; Determining the current accurate posture of the robot based on the current frame feature point cloud includes: The current accurate pose is determined based on the odometer estimation value of the current frame pose change and the current frame feature point cloud.

5. The mapping method according to claim 4, characterized in that: The determining the current accurate posture based on the odometer estimation value of the current frame posture change and the current frame feature point cloud includes: Estimate the change in the posture of the robot at the current frame time relative to the previous frame time based on the current frame feature point cloud and the previous frame feature point cloud, and obtain a point cloud estimate of the current frame posture change; and The current accurate posture is determined based on the odometer estimation value and the point cloud estimation value of the current frame posture change and the accurate posture of the robot in the previous frame time.

6. The mapping method according to claim 1, characterized in that: The determining whether the current frame feature point cloud is a key frame feature point cloud based on the difference between the current frame feature point cloud and the historical key frame feature point cloud includes: Calculate the difference between the feature point cloud of the current frame and the feature point clouds of each historical key frame to obtain multiple point cloud differences; and Whether the feature point cloud of the current frame is a key frame feature point cloud is determined based on whether the difference of each point cloud is within a preset difference range.

7. The mapping method according to claim 1, characterized in that: The step of constructing a real-time map of the robot's surrounding environment based on the current accurate posture and the current frame radar point cloud includes: Determine the world coordinates of each radar point in the radar point cloud of the current frame based on the current accurate posture; Establishing a real-time three-dimensional map of the robot's surroundings based on the world coordinates of each radar point; and A real-time two-dimensional map of the robot's surroundings is established based on the three-dimensional map.

8. A mapping device, characterized in that: include: The current frame radar point cloud acquisition module is used to use the ToF laser radar to obtain the radar point cloud corresponding to the robot's surrounding environment in real time to obtain the current frame radar point cloud; A current frame feature point cloud acquisition module is used to calculate the normal vector of each radar point in the current frame radar point cloud, and extract feature points of the current frame radar point cloud based on the normal vector of each radar point to obtain the current frame feature point cloud; A current accurate posture acquisition module, used to determine whether the current frame feature point cloud is a key frame feature point cloud based on the difference between the current frame feature point cloud and the historical key frame feature point cloud, and determine the current accurate posture of the robot based on the current frame feature point cloud when the current frame feature point cloud is a key frame feature point cloud; as well as A map construction module is used to construct a real-time map of the robot's surrounding environment based on the current accurate posture and the current frame radar point cloud.

9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the mapping method according to any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the mapping method as described in any one of claims 1 to 7 is implemented.

Citation Information

Cited By

  • Building construction site safety inspection robot simultaneous positioning and mapping method

    CN120869094A