Robot positioning method, robot device, medium and computer program
By using the point cloud data acquired by 3D lidar, combined with voxel and point cloud registration technology, the robot positioning is solved in real time, and the problem of difficulty in taking into account both cost and real-time in the existing technology is solved, and lightweight, real-time and low-cost robot positioning is achieved.
Patent Information
- Application Number
- CN202411972812.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-04-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing robot positioning technology is difficult to balance between cost and real-time. Optimization-based algorithms are complex in computing and resource consumption. Although filtering-based algorithms are lightweight, they require multiple sensor fusion, which is costly.
Point cloud data is obtained through the robot's 3D lidar, and the robot's position is solved in real time using voxels and point cloud registration. Relying solely on 3D lidar to achieve positioning, reducing computing complexity and cost.
Real-time and lightweight robot positioning, reducing computational complexity and cost, and is suitable for running on small ARM machines.
Smart Images

Figure CN119828102A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robots, and in particular to a robot positioning method, robot equipment, medium and computer program. Background Art
[0002] There are two main types of 3D LiDAR positioning technologies currently used in the field of robotics: one is based on optimization positioning algorithms, and the other is based on filtering positioning algorithms. However, the optimization-based algorithm is more complex to calculate, and has a large computing resource overhead, making it difficult to run on a small ARM (Advanced RISC Machine) machine; the filtering-based algorithm is easy to achieve lightweight and real-time, but is generally based on multi-sensor fusion positioning, which requires a large number of sensors and is costly.
[0003] Therefore, how to enable the robot to achieve both real-time and lightweight positioning at low cost is an urgent problem to be solved. Summary of the invention
[0004] The purpose of the embodiments of the present invention is to provide a robot positioning method, robot equipment, medium and computer program. The present invention obtains point cloud data only through the robot's 3D laser radar, and uses voxels and point cloud registration to solve the robot's position and posture in real time. Real-time and lightweight positioning can be achieved only through the robot's 3D laser radar, and the cost is low.
[0005] To solve the above technical problems, an embodiment of the present invention provides a robot positioning method, including: obtaining a current frame point cloud and solving the current posture of the robot based on the previous frame point cloud, and using the current posture to perform voxel projection on the current frame point cloud; obtaining historical voxels of all historical frame point clouds, searching for at least three points closest to each 3D point of the current frame point cloud in the historical voxels, fitting the at least three points corresponding to each 3D point into a plane, and obtaining multiple fitting planes; using the current frame point cloud to iteratively match the multiple fitting planes, and solving and updating the current posture according to the iterative results.
[0006] An embodiment of the present invention further provides a robot device, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program implements the steps of the robot positioning method described above when executed by the processor.
[0007] An embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the robot positioning method described above are implemented.
[0008] An embodiment of the present invention further provides a computer program product, comprising computer instructions, which implement the steps of the robot positioning method described above when executed by a processor.
[0009] In addition, before obtaining the current frame point cloud as described above, the method further includes: obtaining an original point cloud corresponding to the current frame point cloud collected by the robot, and performing data preprocessing on the original point cloud to obtain the current frame point cloud.
[0010] In addition, the data preprocessing of the original point cloud as described above includes: performing clustering processing on the original point cloud to obtain a clustering result of the original point cloud; and performing homogenization processing and voxel filtering processing on the clustering result to perform downsampling.
[0011] In addition, when the current frame point cloud as described above is the first frame point cloud collected by the robot, the method further includes: acquiring the first frame point cloud and a preset initial posture of the robot, and performing voxel projection on the first frame point cloud using the initial posture.
[0012] In addition, the acquisition of historical voxels of all historical frame point clouds as described above includes: taking each frame point cloud acquired before acquiring the current frame point cloud as the historical frame point cloud; and superimposing the voxel projection results when each historical frame point cloud is used as the current frame point cloud to obtain the historical voxels.
[0013] In addition, the multiple fitting planes as described above correspond one-to-one to each 3D point of the current frame point cloud; the iterative matching of the current frame point cloud with the multiple fitting planes includes: iterative matching of each 3D point of the current frame point cloud and the fitting plane corresponding to the 3D point based on a classic point cloud registration algorithm, until the iterative matching is completed when a preset condition is met, and the iterative result is obtained.
[0014] In addition, after solving and updating the current pose according to the iteration result as described above, the method further includes: projecting the current frame point cloud based on the world coordinate system according to the updated current pose, expressing the projection result with voxels, obtaining the world map point cloud corresponding to the current frame point cloud, and completing the mapping; obtaining the next frame point cloud after the current frame point cloud, and using the next frame point cloud as the new current frame point cloud.
[0015] Compared with the prior art, the embodiments of the present invention obtain the current frame point cloud and solve the current posture of the robot based on the previous frame point cloud, and use the current posture to perform voxel projection on the current frame point cloud; obtain the historical voxels of all historical frame point clouds, find at least three points closest to each 3D point of the current frame point cloud in the historical voxels, fit at least three points corresponding to each 3D point into a plane, and obtain multiple fitting planes; use the current frame point cloud and multiple fitting planes for iterative matching, and solve and update the current posture according to the iterative results. That is, the scheme of this embodiment only obtains point cloud data through the robot's 3D laser radar for voxel projection, and combines point cloud registration to solve the robot's posture corresponding to each frame of point cloud in real time, so as to achieve real-time and lightweight robot positioning, simple calculation, and low cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] One or more embodiments are exemplarily described by the pictures in the corresponding drawings, and these exemplary descriptions do not constitute limitations on the embodiments.
[0017] Figure 1 is a schematic flow chart of a robot positioning method provided by an embodiment of the present invention;
[0018] Figure 2 is a schematic flow chart of a robot positioning method provided by another embodiment of the present invention;
[0019] Figure 3 It is a schematic diagram of the structure of a robot device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0020] In order to make the purpose, technical scheme and advantages of the present invention clearer, the embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings. However, it will be appreciated by those skilled in the art that in the embodiments of the present invention, many technical details are provided to enable the reader to better understand the present application. However, even without these technical details and various changes and modifications based on the following embodiments, the technical scheme claimed in the present application can be implemented.
[0021] LiDAR SLAM (Simultaneous Localization And Mapping) is a process that enables a robot or autonomous system to build a map of an unknown environment and determine its position within that map. This technology relies on a LiDAR sensor that emits a laser pulse and measures the time it takes for the pulse to bounce back after hitting an object in its path. By analyzing the returning laser signal, the LiDAR SLAM system can create a detailed 3D point cloud representing the environment and use this information to estimate the robot's position and orientation within the map. At present, the robot's 3D LiDAR positioning technology is mainly divided into two types: optimization-based positioning algorithm and filtering-based positioning algorithm. However, the optimization-based algorithm is more complex to calculate, has a large computing resource overhead, and is difficult to run on a small ARM machine; the filtering-based algorithm is easy to achieve lightweight and real-time, but it is generally based on multi-sensor fusion positioning, which requires a large number of sensors and is costly.
[0022] To solve the above problems, the present invention proposes a robot positioning method, robot equipment, medium and computer program, which specifically include the following contents.
[0023] One embodiment of the present invention relates to a robot positioning method, such as Figure 1 As shown, the specific steps include:
[0024] Step 101: Obtain the current frame point cloud and calculate the current posture of the robot based on the previous frame point cloud, and use the current posture to perform voxel projection on the current frame point cloud.
[0025] Specifically, the point cloud data in the embodiments of the present invention are all acquired by scanning and collecting using a non-repetitive 3D laser radar of a robot. In this embodiment, the non-repetitive 3D laser radar may be a Livox series laser radar, and the specific specifications of the 3D laser radar are not limited in this embodiment. By collecting point cloud data using a 3D laser radar in a non-repetitive scanning mode, the point cloud coverage rate increases rapidly over time, and a high-density point cloud model with high resolution similar to an image can be formed.
[0026] When the robot enters the scanning area and starts to move, the 3D laser radar begins to scan the surrounding environment frame by frame. After each frame of laser data is processed, a corresponding frame of original point cloud is obtained. It should be noted that the current frame point cloud in this embodiment is not a fixed frame point cloud, but each frame point cloud is obtained after the robot scans and processes. When the robot's posture when scanning the frame point cloud needs to be solved for the frame point cloud, the frame point cloud is the current frame point cloud. The current frame point cloud is obtained and the current posture of the robot is solved based on the previous frame point cloud of the current frame. It should be noted that the current posture at this time is not the posture of the robot at the current moment. Since the new posture has not been solved for the current frame point cloud, the current posture at this time is still the posture of the robot solved based on the previous frame point cloud.
[0027] Since the point cloud data captured by the 3D laser radar is a set of points in a three-dimensional space, each point cloud contains information such as the spatial coordinates (x, y, z) of each point. Therefore, the three-dimensional space can be divided into a number of voxels of preset specifications, that is, the continuous three-dimensional space is discretized into a plurality of small cubes or rectangular units, and the current frame point cloud is voxel-projected using the current posture. In this embodiment, the conventional voxelization processing method in the field of point cloud technology can be used to perform voxel projection on the current frame point cloud, thereby efficiently processing the point cloud data. In this process, the specifications of the voxels are pre-set according to actual needs. If faster recognition is required, the specifications can be set to be larger; if more accurate recognition is required, the specifications can be set to be smaller. This embodiment does not impose specific restrictions on the specifications of the voxels.
[0028] Step 102: Obtain historical voxels of all historical frame point clouds, search for at least three points closest to each 3D point of the current frame point cloud in the historical voxels, fit at least three points corresponding to each 3D point into a plane, and obtain multiple fitting planes.
[0029] Specifically, since each frame point cloud will participate in the execution of step 101 when it is used as the current frame point cloud, that is, each frame point cloud will be voxel-projected when it is used as the current frame point cloud, and the projected voxelized result will be obtained. When the next frame point cloud needs to be processed after the frame point cloud is processed as the current frame point cloud, the voxelized result of the frame point cloud after projection will be continuously accumulated with the voxelized results of each frame point cloud before it to form the historical voxels of the next current frame point cloud, that is, each frame point cloud collected by the robot before the current frame point cloud is a historical frame point cloud. Obtain the historical voxels of all historical frame point clouds, the historical voxels contain each historical frame point cloud before the current frame point cloud, search for at least three points closest to each 3D point of the current frame point cloud in the point cloud within the historical voxels, fit at least three points corresponding to each 3D point of the current frame point cloud into a plane, and obtain multiple fitting planes corresponding to each 3D point of the current frame point cloud. This embodiment does not limit the specific algorithm used for fitting the plane, for example: using singular value decomposition to fit the plane, using the least squares method to fit the plane equation, or using PCA (principal component analysis) to fit the plane.
[0030] Step 103: Use the current frame point cloud to iteratively match multiple fitting planes, and solve and update the current pose according to the iterative results.
[0031] Specifically, after fitting to obtain multiple fitting planes corresponding to the current frame point cloud, the current frame point cloud is iteratively matched with the multiple fitting planes. The specific iterative matching can be performed using the iterative closest point algorithm. The iterative closest point algorithm divides the point cloud registration problem into two steps: data association and pose estimation, and iteratively executes these two steps until the algorithm converges. The current frame point cloud is optimized by iteratively matching the current frame point cloud with multiple fitting planes. After the optimization is completed, the iterative result of the current frame point cloud is obtained. According to the iterative result, the new robot pose can be solved. The pose is the pose corresponding to the robot when collecting the current frame point cloud, which is the true current pose. Therefore, the new robot pose based on the solved pose is used as the current pose to update the current pose.
[0032] Compared with the related art, this embodiment obtains the current frame point cloud and solves the current posture of the robot based on the previous frame point cloud, and uses the current posture to perform voxel projection on the current frame point cloud; obtains the historical voxels of all historical frame point clouds, searches for at least three points closest to each 3D point of the current frame point cloud in the historical voxels, and fits at least three points corresponding to each 3D point into a plane to obtain multiple fitting planes; uses the current frame point cloud to iteratively match with multiple fitting planes, and solves and updates the current posture according to the iterative results. That is, the scheme of this embodiment only obtains point cloud data for voxel projection through the robot's 3D laser radar, and combines point cloud registration to solve the robot's posture corresponding to each frame of point cloud in real time, so as to achieve real-time and lightweight robot positioning and output a more accurate real-time posture of the machine, thereby providing guidance for the navigation planning of the robot's work, and the positioning calculation is simple and the cost is low.
[0033] Another embodiment of the present invention relates to a robot positioning method. This embodiment is a supplement to the above-mentioned embodiment and specifically includes the following contents.
[0034] In one example, before step 101 is executed, the method in this embodiment further includes: acquiring an original point cloud corresponding to the current frame point cloud collected by the robot, and performing data preprocessing on the original point cloud to obtain the current frame point cloud.
[0035] Specifically, after the robot enters the scanning area and starts to move, the laser radar scans the original point cloud data of the surrounding environment. The original point cloud data may mainly include the x, y, z information of the point and the intensity, time, wiring harness and other information of the point; this embodiment does not impose specific restrictions on this. In some cases, the original point cloud data collected for the first time will first be judged whether it is reliable data before processing, such as whether the driving state of the robot is in a stable driving state, road condition information, and radar points, to judge whether the acquired radar data is reliable. After the robot acquires the original point cloud data frame by frame, a series of data preprocessing operations are performed on the original point cloud to obtain a relatively uniform point cloud that can represent the characteristics of the surrounding environment as the current frame point cloud.
[0036] In some cases, the data preprocessing operation of the original point cloud may include: clustering the original point cloud to obtain the clustering result of the original point cloud; and then performing homogenization and voxel filtering on the clustering result of the original point cloud for downsampling. Among them, the point cloud clustering algorithm may be used to cluster the original point cloud to find the point clusters of the same type in the point cloud. The clustering algorithm can divide similar points into the same category according to the distance, density and other characteristics of the point cloud data in space for subsequent processing. The point cloud clustering algorithm used in this embodiment may include K-means (K-means clustering), DBSCAN (Density-Based Spatial Clustering Algorithm with Noise, density-based noise spatial clustering algorithm), etc. At the same time, due to the disorder of the point cloud, the direct processing method requires a higher computational cost when searching the neighborhood. Therefore, in this embodiment, the clustered point cloud is downsampled to remove noise information, and the operation of all point clouds is converted to the key points obtained by downsampling, so as to achieve the purpose of reducing the amount of calculation. Then, the clustered point cloud is homogenized by uniform sampling, and the point cloud is further downsampled by voxel filtering to obtain a relatively uniform and representative point cloud. That is, each frame of the original point cloud can obtain the corresponding current frame point cloud after the above processing.
[0037] In another example, when the current frame point cloud is the first frame point cloud collected by the robot, the method of this embodiment also includes: obtaining the first frame point cloud and a preset initial posture of the robot, and performing voxel projection on the first frame point cloud using the initial posture.
[0038] Specifically, when the current frame point cloud is the first frame point cloud collected by the robot, since the first frame point cloud is the first frame point cloud collected by the robot, there is no previous frame point cloud adjacent to it, and therefore, the robot posture corresponding to the previous frame point cloud cannot be obtained. However, since the robot must have an initial posture, when the current frame point cloud is the first frame point cloud collected by the robot, an initial posture can be estimated according to the speed of the robot or an initial posture can be preset as the current posture, and the first frame point cloud is voxel-projected using the initial posture, and the projection result is stored as a historical voxel. When the robot obtains the next frame point cloud of the first frame point cloud, the next frame point cloud is used as the current frame point cloud to continue to execute steps 101-103 until the robot completes the collection in the working area.
[0039] In one example, obtaining historical voxels of all historical frame point clouds in step 102 includes: taking each frame point cloud obtained before obtaining the current frame point cloud as a historical frame point cloud; and superimposing the voxel projection results of each historical frame point cloud as the current frame point cloud to obtain historical voxels.
[0040] Specifically, in this embodiment, each frame of point cloud is used as the current frame point cloud in the order of the point cloud collected by the robot frame by frame to calculate the real-time posture of the robot during its movement. Therefore, each frame of point cloud acquired before the current frame point cloud is acquired can be used as a historical frame point cloud. Each historical frame point cloud has been used as the current frame point cloud. When it is used as the current frame point cloud, it has been voxel-projected to obtain the voxelized result after projection. The voxelized result of each historical frame point cloud is continuously accumulated to form the historical voxels of the next current frame point cloud, that is, the voxel projection results of each historical frame point cloud when it is used as the current frame point cloud are superimposed to obtain the historical voxels. There are point cloud points after all historical frame point clouds are projected in the historical voxels. Therefore, at least three points closest to each 3D point of the current frame point cloud can be found in the historical voxels, so that multiple fitting planes corresponding to the current frame point cloud can be fitted.
[0041] In one example, multiple fitting planes correspond one-to-one to each 3D point of the current frame point cloud. In this case, the iterative matching of the current frame point cloud and the multiple fitting planes in step 103 includes: iterative matching of each 3D point of the current frame point cloud and the fitting plane corresponding to the 3D point based on the classic point cloud registration algorithm, until the iterative matching is completed when the preset conditions are met, and the iterative result is obtained.
[0042] Specifically, after obtaining multiple fitting planes corresponding to each 3D point of the current frame point cloud, the embodiment uses each fitting plane to optimize the corresponding 3D point in the current frame point cloud corresponding to the fitting plane, that is, continuously optimizes the distance between the 3D point and the corresponding fitting plane. The optimization process in the embodiment adopts the classical point cloud registration algorithm (Normal Iterative Closest Point, NICP) for matching iteration. NICP is used to iteratively solve the relative transformation (relative transform) between two groups of point clouds. When matching two groups of point clouds, NICP takes the local features of the point clouds (normal vector, curvature) into account, that is, in the iterative solution process, the error function not only includes the projection distance of the normal vector between the point clouds (same as point to plane ICP), but also includes the normal vector direction error. The embodiment uses NICP to iteratively match each 3D point of the current frame point cloud and the fitting plane corresponding to the 3D point until the iterative matching is completed when the preset conditions are met, and the iterative result is obtained. The iterative result is the current frame point cloud optimized by the NICP algorithm. The preset condition in this embodiment may be the number of iterations or the accuracy of the iteration result, which is set according to actual needs.
[0043] Accordingly, after step 103 solves and updates the current posture according to the iteration result, the method of this embodiment further includes the following steps:
[0044] Step 104: Project the current frame point cloud based on the world coordinate system according to the updated current posture, and the projection result is represented by voxels to obtain the world map point cloud corresponding to the current frame point cloud, thereby completing the mapping.
[0045] Step 105: Obtain the next frame point cloud after the current frame point cloud, and use the next frame point cloud as the new current frame point cloud.
[0046] Specifically, after the current posture of the robot is updated using the current frame point cloud in step 103, it is equivalent to completing the positioning of the robot at the current moment. At this time, the current frame point cloud is projected based on the world coordinate system according to the updated current posture, and the world map point cloud corresponding to the current frame point cloud can be obtained, and the mapping of the work area corresponding to the current frame point cloud is completed. After the mapping is completed, the next frame point cloud of the current frame point cloud scanned by the robot is obtained, and the next frame point cloud is used as the new current frame point cloud to repeat steps 101-step 103, and after the positioning is completed, steps 104-105 are performed again until the robot completes the scanning of the work area.
[0047] Compared with the related art, this embodiment uses a clustering algorithm to remove noise information from each frame of the original point cloud, and uses homogenization and voxel filtering to continue downsampling it, so as to obtain a more uniform and representative feature of the current frame point cloud. By performing voxel projection on the current frame and optimizing the current frame point cloud using NICP, real-time and lightweight positioning and mapping can be achieved using only 3D laser radar. The method of this embodiment can easily realize the real-time positioning function on a basic robot using ARM (Advanced RISC Machine, Advanced Reduced Instruction System Set Computer), combined with surface ICP matching, it can achieve positioning accuracy that meets the conditions. By looping the positioning and mapping steps, a more accurate real-time posture of the robot can be obtained and output, which can guide the navigation planning of the robot in the working area.
[0048] Another embodiment of the present invention relates to a robot device, comprising: at least one processor 202; and a memory 201 communicatively connected to the at least one processor 202; wherein the memory 201 stores instructions executable by the at least one processor 202, and the instructions are executed by the at least one processor 202 so that the at least one processor 202 can execute any of the above-mentioned method embodiments.
[0049] Among them, the memory 201 and the processor 202 are connected in a bus manner, and the bus may include any number of interconnected buses and bridges, and the bus connects one or more processors 202 and various circuits of the memory 201 together. The bus can also connect various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, and therefore, are not further described herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be one element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices on a transmission medium. The data processed by the processor 202 is transmitted on a wireless medium through an antenna, and further, the antenna also receives data and transmits the data to the processor 202.
[0050] The processor 202 is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interfaces, voltage regulation, power management and other control functions. The memory 201 can be used to store data used by the processor 202 when performing operations.
[0051] Specifically, the robot device in this embodiment is the robot in the above embodiment.
[0052] The present application also provides a computer program product, including computer instructions, which, when executed by a processor, implement the above Figure 1 The various processes of any of the robot positioning method embodiments shown can achieve the same technical effect, and will not be described again here to avoid repetition.
[0053] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0054] It should be noted that the collection, collection, updating, analysis, processing, use, transmission, storage and other aspects of user personal information involved in the technical solution of this disclosure are in compliance with the provisions of relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken for user personal information to prevent illegal access to user personal information data and maintain the security of user personal information and network security.
[0055] Yet another embodiment of the present invention relates to a computer program product, which is stored in a storage medium and is executed by at least one processor to implement the steps of the robot positioning method described in the above method embodiment.
[0056] An embodiment of the present invention also provides a computer-readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of an embodiment of the robot positioning method as described above are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0057] That is, those skilled in the art can understand that all or part of the steps in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a program, and the program is stored in a storage medium, including a number of instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0058] Those skilled in the art will appreciate that the above embodiments are specific embodiments for implementing the present invention, and that in actual applications, various changes may be made in form and detail without departing from the spirit and scope of the present invention.
Claims
1. A robot positioning method, characterized in that: include: Obtaining a current frame point cloud and solving a current posture of the robot according to a previous frame point cloud, and performing voxel projection on the current frame point cloud using the current posture; Obtaining historical voxels of all historical frame point clouds, searching for at least three points closest to each 3D point of the current frame point cloud in the historical voxels, fitting the at least three points corresponding to each 3D point into a plane, and obtaining a plurality of fitting planes; The current frame point cloud is used to iteratively match the multiple fitting planes, and the current posture is solved and updated according to the iterative result.
2. The method according to claim 1, characterized in that: Before obtaining the current frame point cloud, the method further includes: The original point cloud corresponding to the current frame point cloud collected by the robot is obtained, and data preprocessing is performed on the original point cloud to obtain the current frame point cloud.
3. The method according to claim 2, characterized in that The data preprocessing of the original point cloud includes: Performing clustering processing on the original point cloud to obtain a clustering result of the original point cloud; The clustering result is subjected to homogenization processing and voxel filtering processing for down-sampling.
4. The method according to claim 1, characterized in that: When the current frame point cloud is the first frame point cloud collected by the robot, the method further includes: The first-frame point cloud and a preset initial position and posture of the robot are obtained, and voxel projection is performed on the first-frame point cloud using the initial position and posture.
5. The method according to claim 1, characterized in that The acquisition of historical voxels of all historical frame point clouds includes: Each frame point cloud acquired before acquiring the current frame point cloud is used as the historical frame point cloud; The voxel projection results when each of the historical frame point clouds is used as the current frame point cloud are superimposed to obtain the historical voxels.
6. The method according to claim 1, characterized in that The plurality of fitting planes correspond one-to-one to each 3D point of the current frame point cloud; The iterative matching of the current frame point cloud with the multiple fitting planes includes: Based on the classic point cloud registration algorithm, each 3D point of the current frame point cloud and the fitting plane corresponding to the 3D point are iteratively matched until the iterative matching is completed when the preset conditions are met, and the iterative result is obtained.
7. The method according to claim 6, characterized in that After solving and updating the current posture according to the iteration result, the method further includes: Projecting the current frame point cloud based on the world coordinate system according to the updated current posture, the projection result is represented by voxels, and the world map point cloud corresponding to the current frame point cloud is obtained to complete the mapping; The next frame point cloud after the current frame point cloud is obtained, and the next frame point cloud is used as the new current frame point cloud.
8. A robot device, characterized in that: include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the robot positioning method according to any one of claims 1 to 7 are implemented.
9. A computer-readable storage medium, characterized in that: A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the robot positioning method according to any one of claims 1 to 7 are implemented.
10. A computer program product, characterized in that The method comprises computer instructions, which, when executed by a processor, implement the steps of the robot positioning method according to any one of claims 1 to 7.
Citation Information
Cited By
Robot positioning method, mapping method and electronic device
WO2026145433A1