A data processing method and device, a computing device, and a storage medium
By combining absolute and relative positioning methods with implicit surface fitting technology, the problem of insufficient positioning accuracy of mobile robots was solved, achieving high-precision positioning and accurate movement in warehouse environments.
Patent Information
- Application Number
- CN202310604899.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-24
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2043-05-24
AI Technical Summary
Current technologies for mobile robots lack sufficient positioning accuracy, making it impossible to move precisely to the target pose, especially in warehouse environments where high-precision positioning is difficult to achieve.
A combination of absolute and relative positioning methods, along with implicit surface fitting technology, is employed to achieve high-precision positioning using odometry data and LiDAR point cloud data. Absolute positioning is used for long-range positioning, while relative positioning is used for precise short-range positioning. Furthermore, the positioning accuracy is improved by constructing an implicit surface to fit the contours of obstacles in the real environment.
This technology enables high-precision positioning of mobile robots in target poses, ensuring that they can move accurately to the target location and improving the speed and accuracy of positioning.
Smart Images

Figure CN116678396B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of data processing, and in particular to a data processing method and device, a computing device and a storage medium. BACKGROUND
[0002] When performing a navigation positioning task, a mobile robot needs to move to a target pose according to a task indication. In some application scenarios, the mobile robot needs to accurately move to the target pose. For example, in a warehouse environment, the mobile robot needs to accurately place goods on a target shelf, so the mobile robot needs to accurately move to the target pose first. In order to enable the mobile robot to accurately move to the target pose, the mobile robot usually needs to be positioned with high precision.
[0003] However, at present, an absolute positioning method is usually used to position the mobile robot. The positioning method determines the current pose of the mobile robot by matching the motion data of the mobile robot with a preset global map, and has the problems of poor processing precision and low positioning accuracy, and cannot be applied to the above-mentioned application scenarios.
[0004] In summary, there is currently a need for a data processing method for positioning the mobile robot with high precision, so that the mobile robot can accurately move to the target pose. SUMMARY
[0005] The embodiments of the present application provide a data processing method and device, a computing device and a storage medium, for positioning the mobile robot with high precision, so that the mobile robot can accurately move to the target pose.
[0006] In a first aspect, the present application provides a data processing method, which comprises: first, obtaining motion data of a mobile robot in a current frame, then matching the motion data with a preset global map to determine an initial pose of the mobile robot, and then, when the distance between the initial pose of the mobile robot and a target pose is less than a first preset threshold, performing registration on target point clouds corresponding to the motion data and the target pose based on the distance minimization of an implicit surface corresponding to the motion data and the target pose to determine a current pose of the mobile robot; wherein the implicit surface is constructed according to target point clouds in the target point clouds corresponding to point clouds in the motion data.
[0007] In the above scheme, when the mobile robot is far away from the target pose, an absolute positioning method is used, that is, the motion data of the mobile robot is matched with the preset global map to determine the initial pose of the mobile robot. When the mobile robot moves to the vicinity of the target pose, that is, when the distance between the initial pose of the mobile robot and the target pose is less than a first preset threshold, a relative positioning method is used, and the current pose of the mobile robot is determined by matching the motion data and the target point cloud corresponding to the target pose. In other words, when the distance between the mobile robot and the target pose is far, the absolute positioning method is used to quickly but less accurately position the mobile robot, and when the mobile robot moves to a pose close to the target pose, the relative positioning method is used to accurately position the mobile robot. In this way, by using the combination of absolute positioning and relative positioning, the pose of the mobile robot can be accurately calculated, which helps the mobile robot to accurately move to the target pose according to the accurate pose. In addition, in the relative positioning method, the implicit surface is constructed to fit the obstacle profile scanned by the laser in the real environment, and the high-precision positioning of the mobile robot is realized.
[0008] Optionally, the motion data of the current frame includes odometer data and point cloud data of the lidar; and matching the motion data with the preset global map to determine the initial pose of the mobile robot includes: matching the odometer data and the point cloud data of the lidar with the preset global map to determine the initial pose of the mobile robot.
[0009] The above scheme uses the absolute positioning method, which can quickly position the mobile robot without being affected by the surrounding environment by matching the motion data with the preset global map, which helps to improve the speed of determining the initial pose of the mobile robot.
[0010] Optionally, the method further includes: when the distance between the initial pose of the mobile robot and the target pose is not less than a first preset threshold, obtaining motion data of the mobile robot in the next frame, and matching the motion data with the preset global map to determine the initial pose of the mobile robot.
[0011] In the above scheme, when the distance between the mobile robot and the target pose is far, the absolute positioning method is continued to be used, the motion data of the mobile robot in the next frame is obtained, and the motion data is matched with the preset global map to quickly position the mobile robot.
[0012] Optionally, the motion data of the current frame comprises point cloud data of the lidar; and the registration of the target point cloud corresponding to the motion data and the target pose is based on minimization of distance of the target point cloud to an implicit surface corresponding to the motion data, and comprises: registering the point cloud data of the lidar using the initial registration parameter to determine all the point clouds to be registered; for any point cloud to be registered, projecting the point to be registered according to the point cloud to be registered to an implicit surface corresponding to the point cloud to be registered to obtain a projected point cloud corresponding to the point cloud to be registered, and determining a distance between the point cloud to be registered and the projected point cloud corresponding thereto; and determining the target registration parameter according to the distances between all the point clouds to be registered and the projected point clouds corresponding thereto, wherein the target registration parameter is less than the second preset threshold.
[0013] In the point cloud registration, it is difficult to calculate the total distance between all the point clouds to be registered and the target point clouds corresponding thereto using the implicit surface, and therefore, in the present scheme, the point clouds to be registered are projected, the total distance between all the point clouds to be registered and the projected point clouds corresponding thereto is calculated, and the target registration parameter is obtained based on minimization of the total distance, so that the pose of the mobile robot relative to the target pose can be accurately calculated through the target registration parameter subsequently.
[0014] Optionally, the determination of the target registration parameter according to the distances between all the point clouds to be registered and the projected point clouds corresponding thereto comprises: calculating a sum of squares of the distances between all the point clouds to be registered and the projected point clouds corresponding thereto; calculating the intermediate registration parameter based on minimization of the sum of squares of the distances; when the intermediate registration parameter is less than the second preset threshold, taking the intermediate registration parameter as the target registration parameter; and when the intermediate registration parameter is not less than the second preset threshold, taking the intermediate registration parameter as the initial registration parameter.
[0015] In the above scheme, whether the intermediate registration parameter is less than the second preset threshold can be used to determine whether the registration of all the point clouds to be registered and the projected point clouds corresponding thereto meets the registration requirement. When the intermediate registration parameter is not less than the second preset threshold, it indicates that the registration accuracy requirement has not been met, and iteration needs to be continued, so the intermediate registration parameter is taken as the initial registration parameter to perform registration again; otherwise, when the intermediate registration parameter is less than the second preset threshold, it indicates that the registration accuracy requirement has been met, so the intermediate registration parameter is taken as the target registration parameter to complete the subsequent positioning task.
[0016] Optionally, the implicit surface corresponding to any point cloud to be registered is constructed by: determining a target point cloud closest to the point cloud to be registered in the target point cloud, and constructing the implicit surface corresponding to the point cloud to be registered according to the target point cloud closest to the point cloud to be registered and a target point cloud adjacent to the target point cloud closest to the point cloud to be registered.
[0017] The scheme can make the point cloud data collected by the laser radar better describe the curved surface characteristics in the real environment by constructing an implicit curved surface; further, by using the implicit curved surface in point cloud registration, the registration of discrete point clouds to discrete point clouds commonly used in the prior art is changed into registration of discrete point clouds to continuous curves, which can improve the accuracy and robustness of point cloud registration.
[0018] Optionally, after determining the current pose of the mobile robot, the method further comprises: determining that the mobile robot reaches the target pose when the distance between the current pose and the target pose is less than a third preset threshold.
[0019] By using the above method, it is ensured that the mobile robot can accurately move to the target pose.
[0020] Optionally, before determining all the point clouds to be registered, the method further comprises: performing motion distortion processing, and / or dynamic obstacle processing, and / or down-sampling processing on the point clouds to be registered, using the initial registration parameters to register the point cloud data of the laser radar.
[0021] In the above method, by performing motion distortion processing on the point clouds to be registered, the motion distortion of the point clouds to be registered can be removed, and by performing dynamic obstacle processing on the point clouds to be registered, dynamic obstacles can be filtered out, thereby improving the accuracy and robustness of point cloud registration. Further, by performing down-sampling processing on the point clouds to be registered, the number of point clouds of the point clouds to be registered can be reduced, and thus the time required for point cloud registration and the occupied memory can be reduced.
[0022] In a second aspect, the present application provides a data processing device, comprising: an acquisition unit configured to acquire motion data of a mobile robot in a current frame; a processing unit configured to match the motion data with a preset global map to determine an initial pose of the mobile robot; when the distance between the initial pose of the mobile robot and a target pose is less than a first preset threshold, the processing unit is configured to register a target point cloud corresponding to the target pose based on the motion data and the distance minimization of an implicit curved surface corresponding to the target pose, to determine a current pose of the mobile robot; wherein the implicit curved surface is constructed according to target point clouds in the target point cloud corresponding to point clouds in the motion data.
[0023] Optionally, the motion data of the current frame comprises odometer data and point cloud data of a laser radar; and the processing unit is specifically configured to match the odometer data and the point cloud data of the laser radar with the preset global map to determine the initial pose of the mobile robot.
[0024] Optionally, the processing unit is specifically configured to, when the distance between the initial pose and the target pose of the mobile robot is not less than a first preset threshold, acquire motion data of the mobile robot in a next frame, match the motion data with a preset global map, and re-determine the initial pose of the mobile robot.
[0025] Optionally, the motion data of the current frame comprises point cloud data of a laser radar; the processing unit is specifically configured to register the point cloud data of the laser radar using the initial registration parameter, determine all point clouds to be registered; for any point cloud to be registered, project the point to be registered according to the point cloud to be registered to an implicit surface corresponding to the point cloud to be registered, obtain a projection point cloud corresponding to the point cloud to be registered, and determine a distance between the point cloud to be registered and the corresponding projection point cloud; and determine a target registration parameter according to the distances between all point clouds to be registered and the corresponding projection point clouds, the target registration parameter being less than a second preset threshold.
[0026] Optionally, the processing unit is specifically configured to calculate a sum of squares of the distances between all point clouds to be registered and the corresponding projection point clouds; calculate an intermediate registration parameter based on the minimum sum of squares of the distances; when the intermediate registration parameter is less than the second preset threshold, take the intermediate registration parameter as the target registration parameter; and when the intermediate registration parameter is not less than the preset optimization threshold, take the intermediate registration parameter as the initial registration parameter.
[0027] Optionally, the processing unit is specifically configured to determine a target point cloud closest to the point cloud to be registered in the target point cloud, and construct the implicit surface corresponding to the point cloud to be registered according to the target point cloud closest to the point cloud to be registered and a target point cloud adjacent to the target point cloud closest to the point cloud to be registered.
[0028] Optionally, the processing unit is specifically configured to determine that the mobile robot reaches the target pose when the distance between the current pose and the target pose is less than a third preset threshold.
[0029] Optionally, the processing unit is specifically configured to perform motion distortion processing, and / or dynamic obstacle processing, and / or down-sampling processing on the point cloud to be registered.
[0030] In a third aspect, the present application provides a computing device comprising at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor executes the data processing method of any one of the first aspect.
[0031] In a fourth aspect, the present application further provides a computer readable storage medium, which stores a program, and when the program is executed on a computer, the computer is caused to implement the data processing method of any of the above first aspect.
[0032] The beneficial effects of the above second to fourth aspects are specifically described with reference to the technical effects achieved by the corresponding designs in the above first aspect, which will not be repeated here. BRIEF DESCRIPTION OF DRAWINGS
[0033] In order to more clearly illustrate the technical solutions in the present application, the drawings needed in the embodiments will be briefly introduced as follows. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0034] Figure 1 A structural schematic diagram of a mobile robot provided for an embodiment of the present application;
[0035] Figure 2 An application scenario schematic diagram of a laser radar sensor scanning an environment provided for an embodiment of the present application;
[0036] Figure 3 A flowchart of a data processing method provided for an embodiment of the present application;
[0037] Figure 4 A flowchart of a point cloud registration method provided for an embodiment of the present application;
[0038] Figure 5 A method flowchart of constructing an implicit surface provided for an embodiment of the present application;
[0039] Figure 6 A schematic diagram of projecting a point cloud to be registered to an implicit surface provided for an embodiment of the present application;
[0040] Figure 7 A method flowchart of determining a target registration parameter provided for an embodiment of the present application;
[0041] Figure 8 A structural schematic diagram of a computing device provided for an embodiment of the present application;
[0042] Figure 9 A schematic diagram of a server architecture provided for an embodiment of the present application. DETAILED DESCRIPTION
[0043] In order to make the objects, technical solutions and advantages of the present application clearer, the following will further describe the present application in detail with reference to the drawings. Obviously, the described embodiments are only a part but not all of the embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.
[0044] The following explains some terms in the present application. It should be noted that the explanations are for the convenience of understanding by those skilled in the art and do not constitute a limitation on the protection scope of the present application.
[0045] I. Global coordinate system
[0046] The global coordinate system is a coordinate system established according to a fixed reference point in the environment of the mobile robot, and is an important reference system for the mobile robot to perform a navigation positioning task, which can help the mobile robot to determine its pose in the environment and provide a basis for path planning, obstacle avoidance and target navigation of the mobile robot. Unlike the mobile robot which constantly updates its pose in the coordinate system during movement, the coordinate value in the global coordinate system is usually fixed. In some scenarios, the global coordinate system is the same as or similar to the map coordinate system.
[0047] II. Point cloud registration
[0048] Point cloud registration refers to the process of aligning two or more point cloud sets in space. For example, when the two point cloud sets are a source point cloud set and a target point cloud set, point cloud registration refers to transforming the source point cloud set so that the relative pose and attitude of the source point cloud set and the target point cloud set can be maximally coincident. Usually, the transformation can include translation (transform, referred to as t transformation) and rotation (rotate, referred to as R transformation).
[0049] III. Nonlinear least squares
[0050] Nonlinear least squares is an optimization algorithm used to solve the least squares solution of a nonlinear equation set. The basic idea of nonlinear least squares is to continuously adjust the model parameters through iteration so that the error between the model output value and the true value is minimized. Common nonlinear equation sets include nonlinear curve fitting, nonlinear system identification, nonlinear estimation, etc.
[0051] The foregoing introduces some terms involved in the embodiments of the present application, and the following describes the embodiments of the present application.
[0052] As described in the background, at present, the positioning accuracy of mobile robots is low, and they cannot accurately move to the target pose.
[0053] In view of this, the embodiment of the present application provides a data processing method for high-precision positioning of a mobile robot, so that the mobile robot can accurately move to the target pose.
[0054] Please refer to Figure 1 Fig. 1 shows a structural schematic diagram of a mobile robot provided by an embodiment of the present application. The mobile robot 100 refers to a mechanical device that can move in a direction in an environment through a control system, including but not limited to a self-driving car, a logistics robot, a service robot, and a household sweeping and mopping robot, etc. The mobile robot 100 can include a odometer sensor assembly 101 and / or a laser radar sensor assembly 102.
[0055] The odometer sensor assembly 101 is used to measure the travel distance of the mobile robot, and can include one or more odometer sensors, which can be any type of sensor that can be used to measure the travel distance, such as: a wheel speed odometer, which is used to determine the travel distance by measuring the rotational speed of the wheels of the mobile robot or counting the number of wheel rotations; an inertial odometer, which is used to determine the travel distance by measuring the position, direction, height, and linear velocity relative to the starting point.
[0056] Further, the odometer sensor assembly 101 can be located at any position on the mobile robot 100 that can collect the travel distance of the mobile robot, and can be usually arranged on the moving chassis at the bottom of the mobile robot, as shown in Figure 1 However, this is only an example, and in other examples, the odometer sensor assembly 101 can also be located on the front shell of the mobile robot, on the rear shell of the mobile robot, on the left shell of the mobile robot, on the right shell of the mobile robot, on the upper shell of the mobile robot, or on one or more of the shells, etc., without limitation.
[0057] The laser radar sensor assembly 102 is used to determine the distance of objects in the environment by emitting a laser beam and receiving the reflected light beam, and can include one or more laser radar sensors, which can be a two-dimensional laser radar sensor or a three-dimensional laser radar sensor, etc., without limitation.
[0058] Further, the laser radar sensor assembly 102 can be located at any position on the mobile robot 100 that can collect the distance of objects in the environment, and can be usually arranged on the upper shell of the mobile robot, as shown in Figure 1As shown. But this is just an example, in other examples, the lidar sensor 102 can also be located on the front shell of the mobile robot, on the rear shell of the mobile robot, on the left shell of the mobile robot, on the right shell of the mobile robot, or on one or more shells, etc., without limitation.
[0059] Specifically, the lidar sensor assembly 102 can collect objects located in a certain area, such as Figure 2 As shown, it is an application scenario diagram for the lidar sensor to scan the environment, in which the mobile robot is located in a warehouse environment, and the objects and positions in the warehouse environment, such as goods, shelves, and columns, etc., can be collected by using the lidar sensor.
[0060] Based on the above, as Figure 3 As shown, it is a flow diagram of a data processing method provided by the embodiment of the application. The method is applicable to a data processing device, which can be the mobile robot 100 as shown above, or a server in communication with the mobile robot 100, without limitation. The method comprises the following steps: Figure 1 As shown, it is a flow diagram of a data processing method provided by the embodiment of the application. The method is applicable to a data processing device, which can be the mobile robot 100 as shown above, or a server in communication with the mobile robot 100, without limitation. The method comprises the following steps:
[0061] Step 301, the data processing device acquires motion data of the mobile robot in the current frame.
[0062] Specifically, the motion data can be used to represent the pose of the mobile robot. Wherein, the pose of the mobile robot refers to the position and attitude of the mobile robot in space, which can be presented in the form of Cartesian coordinate system, Euler angle or quaternion, etc. When relying on the Cartesian coordinate system, a local coordinate system can also be established in advance on the mobile robot, and the motion data of the mobile robot can be determined based on the local coordinate system.
[0063] Optionally, when the mobile robot is provided with the odometer sensor assembly and / or the lidar sensor assembly as shown above Figure 1 As shown, the motion data can include odometer data from the odometer sensor assembly and lidar point cloud data from the lidar sensor assembly, so that the motion data is more abundant.
[0064] Step 302, the data processing device matches the motion data with the preset global map to determine the initial pose of the mobile robot.
[0065] The global map, also referred to as a prior map, contains information about obstacles, paths, target poses, etc. in a scene, and is used to describe the location and shape of the terrain, obstacles and other objects in the environment where the mobile robot is located, and thus can be used to help the mobile robot perform path planning, obstacle avoidance and target navigation, etc. The global map can be manually constructed or automatically constructed by collecting data through sensors, and can be constructed when the mobile robot first enters the environment or can be continuously updated during the movement of the mobile robot, and the specific construction is not limited.
[0066] Exemplarily, the global map can be a two-dimensional grid map. In the grid map, a grid composed of individual grids is used to represent the map, and different grids can store different numerical values for representing different meanings. Generally, a white grid represents a free area, i.e., a passable area, and stores a value of 0; a black grid represents an occupied area, i.e., an impassable area, and stores a value of 100; and a gray grid represents an unknown area, i.e., it is currently unclear whether the grid is passable, and stores a value of -1.
[0067] As shown above, the motion data is generally based on the local coordinate system of the mobile robot, while the preset global map is based on the global coordinate system. Therefore, the data processing apparatus also needs to convert the motion data from the local coordinate system to the global coordinate system, which is referred to as matching. Based on this, in the embodiment of the present application, after obtaining the motion data based on the local coordinate system, the data processing apparatus matches the motion data based on the local coordinate system with the preset global map based on the global coordinate system, and after successful matching, the initial pose of the mobile robot in the global coordinate system is confirmed.
[0068] In a possible implementation, the motion data of the current frame obtained in the above step 301 includes odometer data and point cloud data of the lidar, in which case the data processing apparatus can match the odometer data and the point cloud data of the lidar with the preset global map, respectively, and then determine the initial pose of the mobile robot according to the two poses obtained by matching. For example, the average pose of the two poses obtained by matching is taken as the initial pose. In this way, by using the absolute positioning method to match the motion data with the preset global map, the rapid positioning of the mobile robot can be achieved while avoiding the influence of the surrounding environment.
[0069] In step 303, the data processing apparatus determines whether the distance between the initial pose and the target pose of the mobile robot is less than a first preset threshold, and if yes, step 304 is performed, and if no, step 302 is performed.
[0070] Specifically, when the distance between the initial pose of the mobile robot and the target pose is greater than or equal to the first preset threshold, it indicates that the mobile robot is far away from the target pose, and step 302 is performed to determine the initial pose of the mobile robot in an absolute positioning manner; however, when the distance between the initial pose of the mobile robot and the target pose is less than the first preset threshold, it indicates that the mobile robot moves to the vicinity of the target pose, and step 304 is performed to determine the initial pose of the mobile robot in a relative positioning manner.
[0071] In step 304, when the data processing apparatus determines that the distance between the initial pose of the mobile robot and the target pose is less than the first preset threshold, the target point cloud corresponding to the motion data and the target pose is registered based on the minimization of the distance of the implicit surface corresponding to the motion data and the target pose, and the current pose of the mobile robot is determined.
[0072] In the field of robot positioning, the target pose can refer to a high-precision docking point. The high-precision docking point can be manually marked or detected by a high-precision sensor, and generally has high precision and repeatability, and can be used to determine the pose and attitude of the mobile robot in the global coordinate system to improve the positioning accuracy of the robot and enable the robot to complete tasks more accurately.
[0073] In detail, when the mobile robot moves to the vicinity of the target pose, that is, when the distance between the initial pose of the mobile robot and the target pose is less than the first preset threshold, the data processing apparatus determines the current pose of the mobile robot in a relative positioning manner. It should be noted that the value of the first preset threshold can be manually set or determined by data, such as a suitable distance determined by multiple experiments, and is not limited in particular. In some embodiments, the first preset threshold can be set to 1 meter.
[0074] In the embodiment of the application, when the mobile robot moves to the vicinity of the target pose, the point cloud registration manner is used for relative positioning. In the field of mobile robots, the source point cloud set refers to the point cloud data of the laser radar of the mobile robot, and the target point cloud set refers to the target point cloud corresponding to the target pose. Accordingly, the point cloud registration refers to transforming the point cloud data of the laser radar so that the relative pose and attitude of the transformed point cloud data of the laser radar and the target point cloud set can be maximally coincident.
[0075] Furthermore, before point cloud registration, it is necessary to obtain the target point cloud of the target pose. There are several ways to obtain this target point cloud. For example, in one specific method, before the mobile robot performs the navigation and localization task, it can be moved to the target pose and the target point cloud of the mobile robot at that target pose can be collected. Then, the target pose is associated with the global map, indicating that the target pose can achieve high-precision docking. Then, when the mobile robot moves near the target pose, it can be determined through the global map that the target pose can achieve high-precision docking. At this time, relative positioning can be used to determine the current pose of the mobile robot.
[0076] One specific implementation of relative positioning involves constructing an implicit surface to fit the contours of obstacles scanned by laser in a real environment, thereby achieving high-precision positioning of a mobile robot. The implicit surface is constructed from the target point cloud, which corresponds to the point cloud in the motion data. For details on the construction method of the implicit surface, please refer to the following... Figure 5 This will not be elaborated upon here.
[0077] Combination Figure 4 This is a flowchart illustrating a point cloud registration method provided in an embodiment of the present invention. The method includes the following steps:
[0078] Step 401: Use the initial registration parameters to register the point cloud data of the lidar and determine all point clouds to be registered.
[0079] In one possible implementation, after obtaining the point cloud data from the lidar, to improve the quality and analysis effect of the point cloud data, the lidar point cloud data can be preprocessed first, and then the preprocessed lidar point cloud data can be registered using initial registration parameters to determine all point clouds to be registered. The preprocessing can include one or more of the following methods:
[0080] Motion distortion processing refers to the treatment of motion distortion in point cloud data. For example, inertial measurement units (IMUs) and predictive filters (such as Kalman filters) can be used to fuse point cloud data to reduce motion distortion. Alternatively, computer vision techniques (such as feature extraction and matching) can be used to register point clouds from different frames, thereby eliminating motion distortion. Motion distortion refers to the distortion of point cloud data caused by the movement of the device during data acquisition. This distortion can affect the accuracy and consistency of the point cloud data, thus requiring motion distortion processing to eliminate it.
[0081] The dynamic obstacle processing refers to processing of a dynamic obstacle in a point cloud environment. For example, a local global map can be dynamically expanded, and then an intersection between the expanded local global map and the point cloud data of the laser radar is calculated. The point cloud data after the intersection calculation is the point cloud data after filtering of the dynamic obstacle. The dynamic obstacle refers to a moving obstacle (such as a person or an object) scanned by the mobile robot during operation. The dynamic obstacle processing of the point cloud data can improve the accuracy and stability of subsequent point cloud registration, thereby obtaining more accurate and stable point cloud registration results.
[0082] The downsampling processing refers to reducing the number of point clouds in the point cloud data. The downsampling processing can be implemented in various ways, such as random sampling, distance sampling, or sampling. The distance sampling is a commonly used downsampling processing method. In the distance sampling, some representative point clouds are selected to represent the overall characteristics of the point cloud data, and non-representative point clouds are deleted from the point cloud data, thereby reducing the number of point clouds in the point cloud data. In the distance sampling, a voxel grid filter in a point cloud library (PCL) can be used to implement the distance sampling. The voxel grid filter divides the point cloud data into many small cubic units, and selects a point cloud in each cubic unit to represent the cubic unit, thereby implementing the downsampling processing. The downsampling processing of the point cloud data can greatly reduce the number of point clouds while retaining the overall characteristics of the point cloud data, thereby reducing the computational complexity of the point cloud processing and improving the efficiency of the point cloud processing, and improving the efficiency of the point cloud registration. In one possible embodiment, the resolution of the point cloud data can be reduced from 0.01 cm to 0.02 cm through the downsampling processing, so that the number of point clouds in the downsampled point cloud data is reduced by a factor of two.
[0083] By using the above embodiments, the point cloud data of the laser radar is preprocessed before all the point clouds to be registered are generated, which can improve the accuracy and robustness of subsequent point cloud registration, and reduce the time required for point cloud registration and the required occupied memory.
[0084] Further, after the point cloud data of the laser radar is preprocessed, the preprocessed point cloud data of the laser radar can be registered using initial registration parameters to determine all the point clouds to be registered. The initial registration parameters are determined according to the motion data of the mobile robot, and include a rotation parameter R and a translation parameter t, which are used to assign initial values to the preprocessed point cloud data of the laser radar, i.e., registration. The initial registration parameters are used to register the preprocessed point cloud data of the laser radar, i.e., to perform R transformation and t transformation on the preprocessed point cloud data of the laser radar, to obtain all the point clouds to be registered, denoted as a point cloud set to be registered .
[0085] Step 402: For any point cloud to be registered, project the point cloud to be registered according to the implicit surface corresponding to the point cloud to be registered, obtain the projected point cloud corresponding to the point cloud to be registered, and determine the distance between the point cloud to be registered and the corresponding projected point cloud.
[0086] Optionally, the method for constructing the implicit surface corresponding to any point cloud to be registered is as follows: first, determine the target point cloud in the target point cloud that is closest to the point cloud to be registered; then, construct the implicit surface corresponding to the point cloud to be registered based on the target point cloud that is closest to the target point cloud and the target point cloud that is adjacent to the target point cloud that is closest to the target point cloud.
[0087] Specifically, in combination Figure 5 This is a schematic flowchart of a method for constructing an implicit surface according to an embodiment of the present invention. The method includes the following steps:
[0088] Step 501: Traverse the set of point clouds to be registered and find the point cloud in the target point cloud set that is closest to each point cloud in the set of point clouds to be registered.
[0089] In detail, after obtaining the set of point clouds to be registered... Next, we first need to assemble the point cloud set for registration. The point clouds in the data (denoted as...) ,in, ) Perform a traversal to find the target point cloud set. Mid-range point cloud collection to be registered Point clouds in the middle The corresponding nearest point cloud (denoted as) There are various methods for finding the nearest point cloud. For example, one specific method is to use the k-nearest neighbor algorithm, which finds the k nearest neighbors to a given input point. Of course, other methods can also be used, and this embodiment of the invention does not specifically limit them.
[0090] Step 502: Find the nearest point cloud set on the target point cloud.
[0091] In detail, it can be based on the most recent point cloud. Find on the target point cloud A set of nearest neighbor point clouds of a point ( There are many methods for finding the nearest neighbor point cloud set. For example, the k-nearest neighbor algorithm can be used to find the nearest neighbor point cloud set, or other algorithms can be used. No specific method is limited.
[0092] According to the above scheme, each point in the point cloud set to be registered... Each can correspond to a set of nearest neighbor points in the target point cloud. Each nearest neighbor point cloud set These are all parts of the environmental contour scanned by the lidar at the target pose.
[0093] Step 503: Represent the set of neighboring point clouds using an implicit surface.
[0094] In detail, the collection of neighboring point clouds It is represented by an implicit surface.
[0095] Through steps 501 to 503 above, an implicit surface corresponding to the point cloud to be registered can be constructed. By constructing the implicit surface, the collected lidar point cloud data can better describe the surface features in the real environment. Furthermore, by using the implicit surface in point cloud registration, the commonly used discrete point cloud to discrete point cloud registration in the prior art is transformed into discrete point cloud to continuous curve registration, which can improve the accuracy and robustness of point cloud registration.
[0096] In this embodiment of the invention, after constructing the implicit surface, the target point cloud set can be calculated first. Normal vector of each point cloud Then calculate the set of point clouds to be registered. Each point cloud To the corresponding implicit surface The approximate distance is as follows. The implementation process will be described in detail below.
[0097] First, the target point cloud set Point clouds in (in, ) Iterate through each point cloud to find the one that is the most significant. The set of all point clouds in a circular space with center r and radius r. And calculate the set according to the following formula (1). center of gravity :
[0098]
[0099] Then, calculate the set according to formula (2). variance matrix :
[0100]
[0101] Next, the variance matrix Eigenvalue decomposition yields equation (3):
[0102]
[0103] Finally, take the eigenvector corresponding to the smallest eigenvalue. For point set The normal vector, That is, the target point cloud set middle The normal vector of this point cloud.
[0104] After calculating the target point cloud set Normal vector of each point cloud Then, the set of point clouds to be registered is further calculated. Each point cloud To the corresponding implicit surface The approximate distance, that is, the distance from the calculated point to the implicit surface, can be found in formula (4):
[0105]
[0106]
[0107]
[0108] in:
[0109] Point cloud The weight of the distance to the point cloud on the implicit surface is as follows: the closer the distance, the greater the weight, and the farther the distance, the smaller the weight. The calculation formula can be found in formula (5) above, where, Pointing Cloud The distance between the points on the implicit surface and the points on the surface.
[0110] This indicates the sum of all weights. The calculation method can be found in the above formula (6);
[0111] , representing a point cloud on an implicit surface;
[0112] , representing the point cloud that constitutes the implicit surface In the target point cloud set A set of nearest neighbor point clouds;
[0113] , representing implicit surfaces (i.e. (On the cloud) The corresponding normal vector;
[0114] , indicating the set of point clouds to be registered A point cloud To the target point cloud collection the set of neighboring point clouds in the distance of the implicit surface of the set of neighboring point clouds is described when the implicit surface of
[0115] According to the above formula (4), the sum of squares of distances of all point clouds in the set of point clouds to be registered to the corresponding implicit surface of the target point cloud set can be obtained, which can be expressed by formula (7):
[0116]
[0117] wherein:
[0118] denotes a point cloud in the set of point clouds to be registered
[0119] denotes the point cloud after R transformation and t transformation;
[0120] denotes the distance of the point cloud after rotation and translation transformation to the implicit surface.
[0121] In order to perform point cloud registration, it is necessary to find R and t that make the value of formula (7), that is, the sum of squares of distances, minimum. Since the distance function has an exponential weight, it is difficult to directly perform nonlinear least squares on formula (7), so the point clouds on the point cloud to be registered are respectively projected to the implicit surface to obtain the projected point clouds, and then the distance of the point cloud to be registered to the projected point cloud is used to approximate the distance of the point cloud to be registered to the implicit surface.
[0122] Specifically, the point clouds in the set of point clouds to be registered are respectively projected to the implicit surface to obtain the projected point clouds , The formula can be referred to as formula (8) below:
[0123]
[0124] wherein:
[0125] denotes the distance of the point cloud in the set of point clouds to be registered to its corresponding implicit surface
[0126] representing an implicit surface upper distance point cloud normal vector of the nearest point cloud
[0127] representing a set of point clouds to be registered point cloud in the set corresponding point cloud after being projected onto the implicit surface
[0128] It should be noted that, , refers to a set of point clouds projected onto the implicit surface, that is, a projected point cloud, which records and is a one-to-one correspondence point. The projected point cloud can be used to fit the implicit surface composed of the target point cloud set .
[0129] Exemplarily, Figure 6 a schematic diagram of projecting a point cloud to be registered onto an implicit surface is shown. As Figure 6 shown, curve 1 is a target point cloud set , and curve 2 is a set of point clouds to be registered , wherein the set of point clouds to be registered includes point cloud , point cloud , and point cloud . For point cloud , first find the point cloud closest to point cloud in the target point cloud set , the normal vector of point cloud is , and the distance of point cloud to the implicit surface of the target point cloud set is . Then, the projected point cloud of point cloud projected onto the implicit surface is calculated by formula (8). Based on the same processing method, the same processing process is performed on point cloud , point cloud , and the remaining point clouds, to obtain the projected point cloud , the projected point cloud , and the remaining projected point clouds projected onto the implicit surface, respectively.
[0130] Step 403, determining the target registration parameter according to the distances between all point clouds to be registered and the respective corresponding projected point clouds.
[0131] In detail, according to all the set of point clouds to be registered the distance between each of the to-be-registered point clouds and the corresponding projected point cloud, and the total distance between all the to-be-registered point clouds and the corresponding projected point clouds Registration is performed based on the minimization of the total distance between each of the to-be-registered point clouds and the corresponding projected point cloud, thereby determining the target registration parameter.
[0132] Specifically, in combination with Figure 7 A method flow diagram for determining a target registration parameter is provided in an embodiment of the present application. The method comprises the following steps:
[0133] Step 701: Calculate the total distance between all the to-be-registered point clouds and the corresponding projected point cloud. Step 702: Calculate the intermediate registration parameter based on the minimization of the total distance.
[0134] Specifically, the distance between all the to-be-registered point clouds and the corresponding projected point cloud is converted into the distance between all the to-be-registered point clouds and the corresponding projected point cloud, and formula (7) is converted into formula (9) as follows:
[0135]
[0136] Step 702: Calculate the intermediate registration parameter based on the minimization of the total distance.
[0137] In detail, the intermediate registration parameter R and t are calculated based on the minimization of formula (9). The minimization of formula (9) can be written as formula (10) as follows:
[0138]
[0139] wherein,
[0140] ;
[0141] is the rotation matrix of ;
[0142] Then, the norm is defined according to formula (11) and formula (12):
[0143]
[0144]
[0145] After that, the solution of the intermediate registration parameter t and R is represented by a four-dimensional vector , and the formula of the four-dimensional vector is as follows:
[0146]
[0147] At the same time, the formula (12) needs to meet the constraint condition: .
[0148] After that, given a vector , a matrix can be defined, and the formula of the matrix is:
[0149]
[0150] Then the minimum problem of the formula (10) can be rewritten as the following matrix formula (14):
[0151]
[0152] Further, after expanding the matrix formula (14), the formula (15) is obtained:
[0153]
[0154] Ideally, ignoring the constant term in the formula (15), the formula (16) is obtained:
[0155]
[0156] Next, a matrix is defined, and the formula of the matrix can be seen in the formula (17), and the matrix is a sparse matrix:
[0157]
[0158] Then the aforementioned constraint can be written as .
[0159] Therefore, the formula (10) problem can be converted to the following formula (18):
[0160]
[0161] The constraint condition of the formula (18) is the following formula (19):
[0162]
[0163] After that, the Lagrange multiplier method is used to solve, and the formula (18) is constructed as the Lagrange function , and the formula of the Lagrange function can be expressed as:
[0164]
[0165] The condition for the existence of extreme value of formula (19) is:
[0166]
[0167] The solution of formula (21) is:
[0168]
[0169] Substitute (22) into constraint condition formula (19) to obtain:
[0170]
[0171] Next, divide the matrix in formula (23) into four sub-matrices, and the four sub-matrices can be expressed as formula (24) as follows:
[0172] Since the matrix in formula (23) is sparse,
[0173] only the last column of needs to be calculated in formula (24), and formula (24) can be written as formula (25) as follows:
[0174] wherein, Substitute into formula (23), and the constraint condition formula (19) can be converted into formula (26) as follows:
[0175]
[0176] Since formula (27) can be written as follows:
[0177]
[0178] wherein, let .
[0179] Next, let , and formula (28) can be derived as follows:
[0180]
[0181] Finally, formula (29) can be obtained as follows:
[0182]
[0183]
[0184]
[0185]
[0186] The right side of formula (29) is a quadratic polynomial about , denoted as , the coefficient of the second term is a, , the coefficient of the first term is b, and the constant term is denoted as c; formula (29) can be simply denoted as formula (30) as follows:
[0187]
[0188] Let in formula (29), formula (31) can be derived as follows:
[0189]
[0190]
[0191] A fourth-order polynomial about can be obtained by substituting formula (31) into formula (30) as follows:
[0192]
[0193]
[0194] The closed-form solution of can be obtained by formula (32), and is substituted into formula (22) to obtain , and then the intermediate registration parameters R and t can be obtained according to formula (12).
[0195] In step 703, when the intermediate registration parameter is less than the second preset threshold, the intermediate registration parameter is taken as the target registration parameter; when the intermediate registration parameter is not less than the second preset threshold, the intermediate registration parameter is taken as the initial registration parameter.
[0196] In detail, the registration parameter is used to represent the registration accuracy. When the registration parameter is smaller, it means that the registration accuracy between the two point clouds is higher, that is, the relative poses between the two point clouds are closer. Therefore, by judging whether the intermediate registration parameter is smaller than the second preset threshold, the application embodiment can determine whether the registration of all the point clouds to be registered and the respective corresponding projection point clouds meets the registration requirement. For example, when the intermediate registration parameter is not smaller than the second preset threshold, it means that the registration accuracy requirement has not been met, and iteration needs to be continued, so the intermediate registration parameter is used as the initial registration parameter to perform registration again. When the intermediate registration parameter is smaller than the second preset threshold, it means that the registration accuracy requirement is met, so the intermediate registration parameter is used as the target registration parameter to complete the subsequent positioning task.
[0197] It should be noted that the value of the preset second threshold can be artificially set or determined by data, and the specific implementation is not limited.
[0198] In a possible implementation, when it is determined that the target registration parameter is greater than a fourth preset threshold, the motion data is matched with the preset global map to determine the current pose of the mobile robot.
[0199] The fourth preset threshold refers to the maximum value of the target registration parameter that can be accepted in point cloud registration. The value of the fourth preset threshold can be artificially set or determined by data, and the specific implementation is not limited.
[0200] In detail, after the target registration parameter is determined through the above step 403, the target registration parameter needs to be compared with the fourth preset threshold to determine whether the relative positioning method using point cloud registration is reliable. For example, if the target registration parameter is greater than the fourth preset threshold, it means that the relative positioning method using point cloud registration is unreliable, and the motion data is matched with the preset global map, that is, the absolute positioning method is used to determine the current pose of the mobile robot. If the target registration parameter is smaller than or equal to the fourth preset threshold, it means that the relative positioning method using point cloud registration is reliable, and the current pose of the mobile robot is determined through the relative positioning method.
[0201] In a possible implementation, when it is determined that the distance between the initial pose and the target pose of the mobile robot is not smaller than a first preset threshold, the motion data of the mobile robot in the next frame is acquired, and the motion data is matched with the preset global map to redetermine the initial pose of the mobile robot.
[0202] Specifically, in the process of moving the mobile robot to the target pose, when the distance between the initial pose of the mobile robot and the target pose is not less than the first preset threshold, it indicates that the distance between the mobile robot and the target pose is far, and the mobile robot has not moved to the vicinity of the target pose, so the absolute positioning mode is continued to be used, the initial pose of the mobile robot is re-determined by acquiring the motion data of the mobile robot in the next frame and matching the motion data with the preset global map, and the fast positioning of the mobile robot is realized.
[0203] In a possible implementation, after determining the current pose of the mobile robot, the method further includes: when the distance between the current pose and the target pose is less than a third preset threshold, determining that the mobile robot reaches the target pose.
[0204] The third preset threshold refers to the distance between the pose of the mobile robot and the target pose that is acceptable in high-precision positioning. The value of the third preset threshold can be artificially set or determined through data, and is not limited in particular. For example, for a logistics robot, the third preset threshold can be set to 5 cm.
[0205] In the embodiment of the application, when the distance between the initial pose of the mobile robot and the target pose is less than the third preset threshold, it can be considered that the mobile robot reaches the precise target pose.
[0206] Based on the same inventive concept, the application further provides a data processing device which can execute the method in the above-mentioned embodiments.
[0207] The structure of the data processing device provided by the application can be seen from Figure 8 The data processing device 800 includes an acquisition unit 801 and a processing unit 802. The acquisition unit 801 is configured to acquire motion data of a mobile robot in a current frame. The processing unit 802 is configured to match the motion data with a preset global map, determine an initial pose of the mobile robot, and when the distance between the initial pose of the mobile robot and a target pose is less than a first preset threshold, determine a current pose of the mobile robot by registering a target point cloud corresponding to the target pose with the motion data based on the minimization of the distance between the motion data and an implicit surface corresponding to the target pose, wherein the implicit surface is constructed according to target point clouds in the target point cloud corresponding to point clouds in the motion data.
[0208] The acquisition unit 801 and the processing unit 802 are described in more detail in the method embodiment shown in Figure 3 The relevant descriptions in the method embodiment shown in
[0209] Based on the same technical concept, the present application also provides a computing device, such as Figure 9 As shown in FIG. 9, the computing device 900 includes at least one processor 901 and a memory 902 connected with the at least one processor. In the present application, the specific connection medium between the processor 901 and the memory 902 is not limited, for example, the processor 901 and the memory 902 are connected through a bus. Figure 9 The bus can be divided into an address bus, a data bus, a control bus, etc.
[0210] In the present application, the memory 902 stores instructions executable by the at least one processor 901. The at least one processor 901 can execute the steps included in the aforementioned data processing method by executing the instructions stored in the memory 902.
[0211] The processor 901 is the control center of the computing device, which can connect various parts of the computing device through various interfaces and lines, and realize data processing by running or executing the instructions stored in the memory 902 and calling the data stored in the memory 902. Optionally, the processor 901 can include one or more processing units. The processor 901 can integrate an application processor and a modem processor. The application processor mainly processes the operating system, user interface, application program, etc., and the modem processor mainly processes the issued instructions. It can be understood that the above-mentioned modem processor can also not be integrated into the processor 901. In some embodiments, the processor 901 and the memory 902 can be implemented on the same chip, and in some embodiments, they can also be implemented on separate chips respectively.
[0212] The processor 901 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, which can implement or execute the methods, steps and logic block diagrams disclosed in the present application. The general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in combination with the data processing method embodiment can be directly embodied as the execution of the hardware processor, or executed by the combination of hardware and software modules in the processor.
[0213] The memory 902, as a non-volatile computer readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 902 can include at least one type of storage medium, for example, can include flash memory, hard disk, multimedia card, card type memory, random access memory (RAM), static random access memory (SRAM), programmable read only memory (PROM), read only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. The memory 902 is any other medium capable of carrying or storing desired program codes in the form of instructions or data structures and capable of being accessed by a computer, but is not limited thereto. The memory 902 in the present application can also be a circuit or any other device capable of realizing a storage function, used for storing program instructions and / or data.
[0214] Based on the same technical concept, the present application further provides a computer readable storage medium, which stores a computer program executable by a computing device, and when the program runs on the computing device, causes the computing device to execute the steps of the above-mentioned data processing method.
[0215] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0216] The present application is described with reference to flowcharts and / or block diagrams according to the methods, devices (systems), and computer program products of the present application. It should be understood that each flow and / or block in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing apparatus to produce a machine, so that the instructions executed by the computer or other programmable data processing apparatus produce a device that implements the functions specified in the flowcharts and / or block diagrams. Figure 1 one flow or multiple flows and / or blocksFigure 1 means for performing the function specified in the block or blocks.
[0217] These computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instructions which implement the flow Figure 1 flow or flows and / or blocks Figure 1 means for performing the function specified in the block or blocks.
[0218] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the flow Figure 1 flow or flows and / or blocks Figure 1 steps of means for performing the function specified in the block or blocks.
[0219] Obviously, numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the apparent, such modifications and variations are to be included within the scope of the application and the equivalent of such.
Claims
1. A data processing method, characterized by, The method comprises: acquiring motion data of a mobile robot in a current frame; matching the motion data with a preset global map to determine an initial pose of the mobile robot; when a distance between the initial pose of the mobile robot and a target pose is greater than or equal to a first preset threshold, matching the motion data with the preset global map to determine the initial pose of the mobile robot; when the distance between the initial pose of the mobile robot and the target pose is less than the first preset threshold, registering a target point cloud corresponding to the motion data and the target pose based on distance minimization of an implicit surface corresponding to the motion data and the target pose to determine a current pose of the mobile robot; wherein the implicit surface is constructed according to target point clouds in the target point cloud corresponding to point clouds in the motion data.
2. The method of claim 1, wherein, The motion data of the current frame comprises odometer data and point cloud data of a laser radar; The matching of the motion data with the preset global map to determine the initial pose of the mobile robot comprises: matching the odometer data and the point cloud data of the laser radar with the preset global map to determine the initial pose of the mobile robot.
3. The method of claim 1, wherein, The method further comprises: when the distance between the initial pose of the mobile robot and the target pose is not less than the first preset threshold, acquiring motion data of the mobile robot in a next frame and matching the motion data with the preset global map to redetermine the initial pose of the mobile robot.
4. The method of claim 1, wherein, The motion data of the current frame comprises point cloud data of a laser radar; The registration of the target point cloud corresponding to the motion data and the target pose based on distance minimization of the implicit surface corresponding to the motion data and the target pose comprises: registering the point cloud data of the laser radar using initial registration parameters to determine all point clouds to be registered; for any point cloud to be registered, projecting the point cloud to be registered to an implicit surface corresponding to the point cloud to be registered to obtain a projection point cloud corresponding to the point cloud to be registered and determine a distance between the point cloud to be registered and the projection point cloud corresponding thereto; determining target registration parameters according to distances between all point clouds to be registered and projection point clouds corresponding thereto, the target registration parameters being less than a second preset threshold.
5. The method of claim 4, wherein, The determination of the target registration parameters according to distances between all point clouds to be registered and projection point clouds corresponding thereto comprises: calculating a sum of squares of distances between all point clouds to be registered and projection point clouds corresponding thereto; calculating intermediate registration parameters based on minimization of the sum of squares of distances; when the intermediate registration parameters are less than the second preset threshold, taking the intermediate registration parameters as the target registration parameters; when the intermediate registration parameters are not less than the second preset threshold, taking the intermediate registration parameters as the initial registration parameters.
6. The method of claim 4 or 5, wherein, The implicit surface corresponding to any point cloud to be registered is constructed by the following method: determine a target point cloud closest to the to-be-registered point cloud in the target point cloud, and construct an implicit surface corresponding to the to-be-registered point cloud according to the target point cloud closest to the to-be-registered point cloud and a target point cloud adjacent to the target point cloud closest to the to-be-registered point cloud.
7. The method of claim 1, wherein, After the current pose of the mobile robot is determined, the method further includes: When the distance between the current pose and the target pose is less than a third preset threshold, it is determined that the mobile robot reaches the target pose.
8. The method of claim 4, wherein, Before the point cloud data of the laser radar is registered using the initial registration parameter and it is determined that all the to-be-registered point clouds, the method further includes: The to-be-registered point cloud is subjected to motion distortion processing, and / or dynamic obstacle processing, and / or down-sampling processing.
9. A data processing apparatus, characterized by, The method includes: an acquisition unit configured to acquire motion data of a mobile robot in a current frame; a processing unit configured to match the motion data with a preset global map to determine an initial pose of the mobile robot; when the distance between the initial pose of the mobile robot and a target pose is greater than or equal to a first preset threshold, the motion data is matched with the preset global map to determine the initial pose of the mobile robot; when the distance between the initial pose of the mobile robot and the target pose is less than the first preset threshold, the motion data and a target point cloud corresponding to the target pose are registered based on the minimization of the distance between the motion data and an implicit surface corresponding to the target pose, to determine a current pose of the mobile robot; wherein the implicit surface is constructed according to a target point cloud corresponding to a point cloud in the motion data in the target point cloud.
10. A computing device, comprising: The computer program is stored in the storage medium and, when the program is executed on the computer, causes the computer to implement the method.
11. A computer readable storage medium, characterized in that, The storage medium stores the program, and when the program is executed on the computer, causes the computer to implement the method.
Citation Information
Patent Citations
Mobile robot locating and mapping method and device, mobile robot and storage medium
CN109814572A
Real-time positioning method and system thereof, and computer readable medium
CN110045733A