Ranging method, system, apparatus, robot, and controller
By integrating data from the first ranging sensor, performing coordinate transformation, ranging filtering, and data fusion, the problem of blind spots in the robot's ranging sensor was solved, improving ranging accuracy and environmental perception capabilities.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING ROBOROCK INNOVATION TECH CO LTD
- Filing Date
- 2025-01-27
- Publication Date
- 2026-07-28
AI Technical Summary
The robot's second ranging sensor has blind spots in narrow areas, areas above ground platforms, and areas with obstacles, resulting in missing or distorted point cloud data and affecting ranging accuracy.
By fusing data from the first ranging sensor, coordinate transformation, ranging filtering, and data fusion are performed to compensate for the blind spots of the second ranging sensor and generate high-quality target point cloud data.
It improves the robot's environmental perception capabilities, enhances the accuracy and completeness of distance measurement, and reduces the errors and uncertainties caused by a single sensor.
Smart Images

Figure CN122469367A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of robotics, and in particular relates to a ranging method, system, device, robot, and controller. Background Technology
[0002] In current intelligent ranging scenarios, especially when costs are limited, the second ranging sensor (such as LiDAR) equipped on robots may have certain ranging blind spots. When the robot moves in narrow areas, areas above the ground platform, or areas with obstacles, the limited detection angle or range of the second ranging sensor can easily cause missing or distorted point cloud data in the blind spot, affecting the ranging accuracy. Summary of the Invention
[0003] In view of this, embodiments of this application provide a ranging method, system, device, robot, and controller that improves ranging accuracy by fusing ranging data from different ranging sensors.
[0004] A first aspect of this application provides a ranging method, including:
[0005] Based on the first ranging sensor, first ranging data of the blind zone of the second ranging sensor is obtained;
[0006] The first ranging data is subjected to coordinate transformation to obtain the first transformed ranging data;
[0007] The first converted ranging data is filtered to obtain the first processed data;
[0008] The main point cloud data and the first processed data are fused to obtain the target point cloud data, wherein the main point cloud data is obtained by measuring the second ranging sensor.
[0009] Distance measurement is performed based on the target point cloud data.
[0010] In one implementation of the first aspect, the step of performing coordinate transformation on the first ranging data to obtain first transformed ranging data includes:
[0011] Based on the intrinsic and extrinsic parameters of the first ranging sensor, determine the coordinate transformation matrix;
[0012] Based on the coordinate transformation matrix, the first ranging data is transformed to obtain the first transformed ranging data located in the specified coordinate system.
[0013] In one implementation of the first aspect, the coordinate transformation matrix includes a rotation matrix and translation variables. Based on the coordinate transformation matrix, the first ranging data is subjected to coordinate transformation to obtain first transformed ranging data located in a specified coordinate system, including:
[0014] The first ranging data is rotated using the rotation matrix to obtain the rotation result;
[0015] The rotation result is translated by the translation variable to obtain the first transformed distance measurement data located in the specified coordinate system.
[0016] In one implementation of the first aspect, the step of performing ranging filtering on the first converted ranging data to obtain the first processed data includes:
[0017] Identify ground points in the first converted ranging data;
[0018] From the first converted ranging data, each of the ground points is removed to obtain the first processed data.
[0019] In one implementation of the first aspect, identifying ground points in the first transformed ranging data includes:
[0020] Compare the height of each point in the first converted ranging data with a preset height threshold;
[0021] Points whose height does not reach the preset height threshold are identified as ground points.
[0022] In one implementation of the first aspect, the step of fusing the main point cloud data and the first processed data to obtain the target point cloud data includes:
[0023] The data fusion method is determined based on the type of the first ranging sensor and the type of the second ranging sensor;
[0024] Based on the data fusion method, the second ranging data and the first processed data are fused to obtain target point cloud data.
[0025] In one implementation of the first aspect, the first processed data includes first processed point cloud data, and the second ranging data includes second point cloud data. The step of fusing the second ranging data and the first processed data to obtain target ranging data includes:
[0026] The second point cloud data and the first processed point cloud data are stitched together to obtain stitched point cloud data;
[0027] Obtain the point cloud density of the stitched point cloud data;
[0028] If the point cloud density is higher than a preset density threshold, the stitched point cloud data is downsampled to obtain target ranging data.
[0029] In one implementation of the first aspect, the method further includes:
[0030] Based on the target ranging data, an environmental map of the robot's environment is generated.
[0031] Based on the environmental map, path planning is performed to generate the robot's navigation path.
[0032] A second aspect of this application provides a ranging system, including:
[0033] The first ranging sensor module is used to acquire the first ranging data of the blind zone of the second ranging sensor;
[0034] The coordinate transformation module is used to perform coordinate transformation on the first ranging data to obtain the first transformed ranging data;
[0035] The ranging filtering module is used to perform ranging filtering on the first converted ranging data to obtain the first processed data;
[0036] The data fusion module is used to fuse the second ranging data and the first processed data to obtain target ranging data. The second ranging data is obtained by measuring the second ranging sensor module.
[0037] In one implementation of the second aspect, the coordinate transformation module includes:
[0038] The parameter determination unit is used to determine the coordinate transformation matrix based on the intrinsic and extrinsic parameters of the first ranging sensor;
[0039] The coordinate transformation unit is used to perform coordinate transformation on the first ranging data based on the coordinate transformation matrix to obtain the first transformed ranging data located in the specified coordinate system.
[0040] In one implementation of the second aspect, the coordinate transformation matrix includes a rotation matrix and translation variables, and the coordinate transformation unit includes:
[0041] A rotation subunit is used to rotate the first ranging data using the rotation matrix to obtain a rotation result;
[0042] The translation sub-unit is used to translate the rotation result using the translation variable to obtain the first transformed distance measurement data located in the specified coordinate system.
[0043] In one implementation of the second aspect, the ranging filtering module includes:
[0044] Ground point identification unit, used to identify ground points in the first converted ranging data;
[0045] The removal unit is used to remove each of the ground points from the first converted ranging data to obtain the first processed data.
[0046] In one implementation of the second aspect, the ground point identification unit includes:
[0047] The height comparison subunit is used to compare the height of each point in the first converted ranging data with a preset height threshold.
[0048] A sub-unit is defined to identify points whose height does not reach the preset height threshold as ground points.
[0049] In one implementation of the second aspect, the data fusion module includes:
[0050] The fusion method determination unit is used to determine the data fusion method based on the type of the first ranging sensor and the type of the second ranging sensor;
[0051] The data fusion execution unit is used to perform data fusion on the second ranging data and the first processed data based on the data fusion method to obtain target ranging data.
[0052] In one implementation of the second aspect, the first processed data includes first processed point cloud data, the second ranging data includes second point cloud data, and the data fusion module includes:
[0053] A point cloud stitching unit is used to stitch the second point cloud data and the first processed point cloud data together to obtain stitched point cloud data.
[0054] Density acquisition unit, used to acquire the point cloud density of the stitched point cloud data;
[0055] The downsampling unit is used to downsample the stitched point cloud data to obtain target ranging data if the point cloud density is higher than a preset density threshold.
[0056] In one implementation of the second aspect, the ranging system further includes:
[0057] The map generation module is used to generate an environmental map of the robot's environment based on the target ranging data.
[0058] The path planning module is used to plan paths based on the environmental map and generate navigation paths for the robot.
[0059] A third aspect of this application also provides a ranging device, including a first ranging sensor, a second ranging sensor, and a controller. The first ranging sensor acquires first ranging data of the blind zone of the second ranging sensor, and the controller implements the method described in the first aspect.
[0060] A fourth aspect of this application also provides a controller, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the method as described in the first aspect.
[0061] A fifth aspect of this application provides a robot including a mobile unit and a ranging device as described in the fourth aspect.
[0062] A sixth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method described in the first aspect above.
[0063] In a first aspect, this application first acquires first ranging data from the blind zone of a second ranging sensor using a first ranging sensor, thereby improving the robot's environmental perception capability. Then, by performing coordinate transformation on the first ranging data, first transformed ranging data is obtained, and ranging filtering is applied to the first transformed ranging data to obtain high-quality first processed data. Next, by fusing the second ranging data and the first processed data, errors and uncertainties caused by a single sensor are reduced, resulting in more comprehensive and accurate target ranging data, thus improving the accuracy of ranging.
[0064] It is understood that the beneficial effects of the second to sixth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0065] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0066] Figure 1 This is a flowchart illustrating the implementation of the ranging method provided in the embodiments of this application;
[0067] Figure 2 This is an example diagram of the environment in which the robot is located, provided in an embodiment of this application;
[0068] Figure 3 This is a schematic diagram illustrating the implementation process of the coordinate transformation method for ranging data provided in the embodiments of this application;
[0069] Figure 4 This is a flowchart illustrating the implementation of the ranging and filtering method provided in the embodiments of this application;
[0070] Figure 5This is a flowchart illustrating the implementation of the ranging data fusion method provided in the embodiments of this application;
[0071] Figure 6 This is a flowchart illustrating the implementation of the ranging data downsampling method provided in the embodiments of this application;
[0072] Figure 7 This is a flowchart illustrating the implementation of the navigation method provided in the embodiments of this application;
[0073] Figure 8 This is a schematic diagram of the ranging system provided in the embodiments of this application;
[0074] Figure 9 This is a schematic diagram of the controller provided in an embodiment of this application. Detailed Implementation
[0075] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0076] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0077] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0078] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0079] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0080] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0081] In one embodiment, such as Figure 1 As shown, a ranging method is provided. Taking the application of this method to a robot controller as an example, the method includes the following steps S101 to S104:
[0082] Step S101: Based on the first ranging sensor, acquire the first ranging data of the blind zone of the second ranging sensor.
[0083] In this application, the robot is equipped with a first ranging sensor and a second ranging sensor. The second ranging sensor is the primary ranging sensor, and the first ranging sensor is an auxiliary ranging sensor. There can be one or more first ranging sensors; if there are multiple first ranging sensors, they can be a combination of several different types of ranging sensors. Because the first and second ranging sensors are installed in different positions, the blind zone ranging data of the second ranging sensor can be supplemented and corrected. Therefore, the first ranging sensor can be used to collect first ranging data of the environment in the blind zone of the second ranging sensor. The ranging data includes point cloud data composed of multiple points in three-dimensional space. The first and second ranging data can be directly used as point cloud data, or they can be converted into point cloud data through calculation. The blind zone of the second ranging sensor can be a narrow area, an area above the ground platform, an area with obstacles, etc. The first ranging sensor includes, but is not limited to, solid-state LiDAR, mechanical LiDAR, sensors based on the Time-of-Flight (TOF) principle, and a combined ranging module based on vision and line laser.
[0084] In applications, to cover the blind spots of the robot's second ranging sensor, multiple first ranging sensors can be deployed. This involves installing multiple first ranging sensors on the robot to acquire point cloud data of the environment from different angles and positions, thus covering the blind spots of the second ranging sensor as much as possible. Alternatively, a robotic arm or rotating mechanism can be used to change the position and angle of the installed first ranging sensors to obtain ranging data from more perspectives of the environment.
[0085] For example, such as Figure 2 As shown, taking a robotic vacuum cleaner as an example, the robotic vacuum cleaner shown in Figure 1 is equipped with a second ranging sensor shown in Figure 1-1 and a first ranging sensor shown in Figure 1-2. Figure (a) shows the environment in which the robotic vacuum cleaner is located. Figure 2 shows obstacles of different heights. When the second ranging sensor collects data on obstacles of different heights, there are blind spots. The first ranging sensor collects point cloud data of the blind spots to compensate for the lack of point cloud data of the second ranging sensor. Figure (b) is a top view of the current state of the robotic vacuum cleaner. Figure (c) is a schematic diagram of the point cloud data collected by each ranging sensor. Figure 3 shows the main point cloud data collected by the second ranging sensor, and Figure 4 shows the first ranging data collected by the first ranging sensor.
[0086] In applications, different types of first ranging sensors can be used for different blind spots. For example, in narrow areas, multi-line LiDAR or tilted LiDAR can be used to increase the field of view coverage. For areas above the ground, LiDAR with a tilt angle or a robotic arm with tilting capability can be used to acquire data. For areas with obstacles, multi-sensor fusion methods can be used, combining millimeter-wave radar and ultrasonic sensors to detect and bypass obstacles. In other words, by using the fusion of multiple ranging sensors, the problem of missing point cloud data for robots in narrow areas, areas above the ground, and areas with obstacles can be solved, compensating for the blind spots of the robot's second ranging sensor.
[0087] Step S102: Perform coordinate transformation on the first ranging data to obtain the first transformed ranging data.
[0088] In applications, point cloud data collected by different first ranging sensors are typically located in different coordinate systems. To fuse the first ranging data from the first ranging sensors, the controller uses coordinate transformation to convert the first ranging data in different coordinate systems into first transformed ranging data in a specified coordinate system. The specified coordinate system can be the robot's body coordinate system or the second sensor coordinate system. The body coordinate system usually refers to the coordinate system located on the robot, and its origin is generally set at a fixed position on the robot, such as the center of the robot's base or a reference point on a joint.
[0089] In applications, coordinate transformation essentially involves rotating and translating the first ranging data located in the coordinate system of the first ranging sensor to obtain the first transformed ranging data located in a specified coordinate system. Typically, a coordinate transformation matrix can be used to describe the relative position and orientation between the two coordinate systems, thus achieving the conversion from the first ranging data to the first transformed ranging data.
[0090] Step S103: Perform distance filtering on the first converted distance measurement data to obtain the first processed data.
[0091] In the application, after the controller transforms the initial ranging data from each auxiliary sensor to a specified coordinate system, it performs ranging filtering on the first transformed ranging data to reduce the impact of interference points on subsequent operations. This filtering removes interference points, resulting in first-processed data with data augmentation. Ranging filtering refers to removing interference points from the point cloud data. Interference points can be duplicate points, ground points, etc. When the interference point is a ground point, ranging filtering removes the ground point while retaining the non-ground point. The resulting first-processed data can enhance non-ground information, such as obstacles.
[0092] Step 104: Perform data fusion on the second ranging data and the first processed data to obtain target ranging data. The second ranging data is obtained by measuring the second ranging sensor.
[0093] In the application, the controller fuses point cloud data located in the same coordinate system to obtain target point cloud data that covers the blind spot. The point cloud data in the same coordinate system includes the first transformed ranging data associated with each of the first ranging sensors and the main point cloud data from the second ranging sensor. The same coordinate system refers to the specified coordinate system. The controller fuses the first transformed ranging data into the main point cloud data to obtain the target point cloud data. The target point cloud data covers the blind spot of the second ranging sensor, providing comprehensive environmental data for subsequent ranging operations.
[0094] In this embodiment, firstly, the robot acquires first ranging data from the blind zone of the second ranging sensor using a first ranging sensor, thereby improving the robot's environmental perception capability. Then, the first ranging data is converted to a specified coordinate system and filtered to obtain high-quality first processed data. Next, by fusing the second ranging data and the first processed data, the errors and uncertainties introduced by a single sensor are reduced, resulting in more comprehensive and accurate target ranging data, thus improving the accuracy of the ranging.
[0095] In one embodiment, such as Figure 3 As shown, the implementation process of step S102 includes the following steps S201 to S202. Wherein:
[0096] Step S201: Determine the coordinate transformation matrix based on the intrinsic and extrinsic parameters of the first ranging sensor.
[0097] In applications, the controller can transform the first ranging data from the first ranging sensor to a specified coordinate system using a coordinate transformation matrix. The rotation data and the resulting translation data in the coordinate transformation matrix can be determined by the parameters of the first ranging sensor, including intrinsic and extrinsic parameters. Intrinsic parameters describe the characteristics of the first ranging sensor itself, including focal length, pixel size, etc. Extrinsic parameters describe the position and orientation of the first ranging sensor relative to the world coordinate system or other coordinate systems, including both position and orientation.
[0098] Step S202: Based on the coordinate transformation matrix, perform coordinate transformation on the first ranging data to obtain the first transformed ranging data located in the specified coordinate system.
[0099] In the application, the controller performs coordinate transformation on the first ranging data based on a determined coordinate transformation matrix to obtain the first transformed ranging data located in the specified coordinate system.
[0100] In this embodiment, the coordinate transformation matrix determined by the intrinsic and extrinsic parameters of the first ranging sensor enables precise coordinate transformation of the first ranging data, thereby obtaining the first transformed ranging data located in a specified coordinate system. This ensures data consistency and accuracy, thereby enhancing the robot's accuracy in perceiving the environment.
[0101] In one embodiment, the coordinate transformation matrix includes a rotation matrix and a translation variable. The implementation process of step S202 is as follows: the first ranging data is rotated using the rotation matrix to obtain the rotation result; the rotation result is translated using the translation variable to obtain the first transformed ranging data located in the specified coordinate system.
[0102] In applications, coordinate transformation matrices typically include rotation and translation data. Rotation data is usually represented in matrix form, while translation data is usually represented in vector form. Specifically, the controller first rotates the initial ranging data using the rotation matrix to obtain the rotation result, and then translates the rotation result using translation variables to obtain the first transformed ranging data located in the specified coordinate system.
[0103] In the application, assuming the first ranging sensor S, the first ranging data obtained in each frame is as follows: It contains N (N is a positive integer) points, each of which is a three-dimensional spatial point represented in the S coordinate system of the first ranging sensor.
[0104] In the application, assume that the coordinate transformation matrix of the coordinate system of the first ranging sensor S relative to the specified coordinate system B is as follows: The following formula can be used to convert the point cloud represented in the sensor's S-coordinate system into point cloud data in a specified coordinate system:
[0105]
[0106] Among them, T BS It is a 4x4 homogeneous transformation matrix, including the rotation matrix R. BS Translation variable t BS Rotation matrix R BS R is determined based on the extrinsic parameters of the first ranging sensor. BS It can be a 3×3 matrix, t BS It is a 3D vector. This is obtained after coordinate transformation. It is a series of three-dimensional points, where the third dimension of each point represents its height in the specified coordinate system.
[0107] In this embodiment, the first ranging data is rotated using a rotation matrix and translated using a translation variable to obtain the first transformed ranging data located in the specified coordinate system. This process ensures that the point cloud data is accurately transformed from the first ranging sensor coordinate system to the specified coordinate system, improving data consistency and reliability.
[0108] In one embodiment, such as Figure 4 As shown, the implementation process of step S103 includes the following steps S301 to S302:
[0109] Step S301: Identify ground points in the first converted ranging data.
[0110] In applications, ranging filtering is essentially filtering specific points in point cloud data. This can involve filtering ground points (i.e., removing ground points) to reduce their interference with the ranging process. The controller identifies ground points in the first transformed ranging data using a preset recognition method. This method can be height thresholding, normal recognition, etc. Height thresholding removes points that do not meet a height threshold, while normal recognition removes points whose normal angle cosine with the Z-axis of a specified coordinate system does not reach a preset threshold.
[0111] The normal recognition method can be implemented by calculating the normal direction of each point to determine whether it is a ground point. The normal direction of ground points is usually close to vertically upward or downward. The method also involves determining the cosine value of the angle between the normal of a point and the Z-axis of a specified coordinate system. If the cosine value of the angle does not reach a preset threshold, the point can be identified as a ground point.
[0112] Step S302: Remove all ground points from the first converted distance measurement data to obtain the first processed data.
[0113] In the application, the controller removes all ground points from the first converted ranging data to obtain the first processed data, which enhances the relevant features of non-ground points compared to the first converted ranging data.
[0114] In this embodiment, by identifying and removing ground points from the first converted ranging data, the first processed data is obtained, which improves the quality of the point cloud data, reduces the interference of ground points on subsequent processing, and enhances the robot's recognition accuracy of non-ground features (such as obstacles) and navigation accuracy.
[0115] In one embodiment, the implementation process of step S301 includes the following: comparing the height of each point in the first converted ranging data with a preset height threshold; and determining points whose height does not reach the preset height threshold as ground points.
[0116] In the application, ground points are identified by setting a preset height threshold. This involves removing points from the point cloud data that do not reach the preset height threshold. For example, if the preset height threshold is 0.025 meters, points in the first transformed ranging data whose height is less than 0.025 meters are identified as ground points. The third dimension of the first transformed ranging data, located in a specified coordinate system, represents the height of the points. The controller compares the height of the points in the first transformed ranging data with the preset height threshold, removing points that do not reach the threshold, thus obtaining the first processed data.
[0117] In this embodiment, ground point identification based on a height threshold is used to remove points below a certain height, which can prevent ground point interference caused by machine tilt, thereby improving the purity of point cloud data and the accuracy of subsequent processing.
[0118] In one embodiment, such as Figure 5 As shown, the implementation process of step S104 includes the following steps S401 to S402. Wherein:
[0119] Step S401: Determine the data fusion method based on the type of the first ranging sensor and the type of the second ranging sensor.
[0120] In applications, once all point cloud data has been transformed into the same coordinate system, the controller can perform data fusion. The specific data fusion method can be determined based on the types of the first and second ranging sensors. Data fusion methods for point cloud data include, but are not limited to, Kalman filters and particle filters.
[0121] In applications, the appropriate data fusion method can be selected based on the type of ranging sensor. For example, if the robot uses LiDAR and IMU (Inertial Measurement Unit) for navigation, a Kalman filter can be used to fuse the data from these two sensors. Alternatively, if the robot uses GPS and vision sensors for navigation, a particle filter can be used to fuse the data from these two sensors.
[0122] Step S402: Based on the data fusion method, the second ranging data and the first processed data are fused to obtain the target ranging data.
[0123] In the application, the controller fuses the second ranging data and the first processed data through an adapted data fusion method. The data fusion process includes point cloud data preprocessing and merging the preprocessed point cloud data.
[0124] In this embodiment, a suitable data fusion method is determined based on the type of ranging sensor, and the second ranging data and the first processed data are fused based on this method to obtain high-quality target ranging data. This ensures the effective integration of multi-sensor data and improves the integrity and accuracy of the ranging data.
[0125] In one embodiment, the first processed data includes first processed point cloud data, and the second ranging data includes second point cloud data, such as... Figure 6 As shown, step S104 includes the following steps S501 to S503:
[0126] Step S501: The second point cloud data and the first processed point cloud data are stitched together to obtain stitched point cloud data.
[0127] In applications, point cloud stitching is the process of merging multiple point cloud datasets into a single point cloud. Stitching methods can include Iterative Closest Point (ICP) stitching, which iteratively finds the best match between two point cloud sets, gradually adjusting transformation parameters until convergence. Alternatively, rigid body transformation can be used, where the relative pose (rotation and translation) between two point clouds is known, and a transformation matrix can be directly applied for stitching. The controller selects an appropriate stitching method to stitch together the second ranging data (including the second point cloud data) and the first processing data (including the first processed point cloud data), resulting in the stitched point cloud data.
[0128] Step S502: Obtain the point cloud density of the stitched point cloud data.
[0129] In applications, the controller can also improve processing speed by reducing the density of the point cloud. Specifically, the controller can determine the point cloud density of the stitched point cloud data using a preset point cloud density estimation method. For example, the point cloud density can be characterized by the average point spacing, which refers to the average distance between any two points in the stitched point cloud data.
[0130] Step S503: If the point cloud density is higher than the preset density threshold, downsample the stitched point cloud data to obtain target ranging data.
[0131] In applications, when the point cloud density exceeds a preset density threshold, the controller downsamples the stitched point cloud data. Downsampling of point cloud data refers to reducing the number of points in the point cloud data, thereby reducing storage and processing costs while maintaining the main features of the point cloud.
[0132] In applications, different downsampling methods are used due to varying actual needs of the application scenarios. Downsampling methods include at least one of the following: statistical downsampling, random downsampling, cluster-based downsampling, etc. Among them, statistical downsampling is based on sampling at fixed intervals or with a fixed number of points. Specifically, it involves obtaining the number of points in the stitched point cloud data, and then randomly selecting a preset number of target points from the stitched point cloud data as the final target point cloud data.
[0133] Random downsampling involves randomly selecting a certain proportion of points from a point cloud to create a new point cloud. A preset downsampling ratio is obtained, and the number of points to be retained is calculated by multiplying the number of points in the stitched point cloud data by the downsampling ratio. This number of retained points is then randomly selected from the stitched point cloud data to obtain the downsampled point cloud as the final target point cloud data.
[0134] Cluster-based downsampling first clusters the stitched point cloud data to obtain at least one cluster, then selects representative points from each cluster, and uses the point cloud data composed of these representative points as the target point cloud data.
[0135] In application, when choosing a downsampling method, the requirements of the application scenario should be considered. For example, for tasks that need to retain more details, a clustering-based method can be chosen. This embodiment does not limit the downsampling method.
[0136] In this embodiment, point cloud data is obtained by stitching together the second ranging data (including the second point cloud data) and the first processing data (including the first processed point cloud data), and its point cloud density is obtained. If the density of the stitched point cloud data is higher than a preset density threshold, it is downsampled to obtain target point cloud data with appropriate density. This ensures the integrity and consistency of the point cloud data, while downsampling avoids data redundancy and improves the efficiency and accuracy of subsequent processing.
[0137] In one embodiment, such as Figure 7 As shown, after obtaining the target ranging data, the controller can also perform robot navigation operations based on the target ranging data. The implementation process of this operation includes the following steps S601 to S602:
[0138] Step S601: Based on the target ranging data, generate an environmental map of the robot's environment.
[0139] In the application, the controller performs real-time localization and map building based on target ranging data, generating an environmental map of the robot's environment in real time. Because the target ranging data incorporates point cloud data from the blind zone of the second ranging sensor, the generated environmental map also includes the mapping results for the blind zone of the second ranging sensor. Furthermore, the controller can also visualize the environmental map.
[0140] Step S602: Path planning is performed based on the environmental map to generate the robot's navigation path.
[0141] In the application, the controller performs path planning based on the environmental map, determines the robot's navigation path in the environment, and completes the robot navigation.
[0142] In this embodiment, map drawing is performed using target point cloud data. This allows for the creation of a map of the area outside the blind spots of the robot's main ranging sensors. The constructed map can assist the robot in localization and improve the accuracy of localization in these areas.
[0143] This application also provides a ranging system for performing the steps described in the ranging method embodiments above. For example... Figure 8 As shown, the ranging system 800 provided in this application embodiment includes:
[0144] The first ranging sensor module 810 is used to acquire first ranging data of the blind zone of the second ranging sensor.
[0145] The coordinate transformation module 820 is used to perform coordinate transformation on the first ranging data to obtain the first transformed ranging data.
[0146] The ranging filtering module 830 is used to perform ranging filtering on the first converted ranging data to obtain the first processed data.
[0147] The data fusion module 840 is used to fuse the second ranging data and the first processed data to obtain the target ranging data. The second ranging data is obtained by measuring the second ranging sensor module.
[0148] In one embodiment, the coordinate transformation module includes: a parameter determination unit, used to determine a coordinate transformation matrix based on the intrinsic and extrinsic parameters of the first ranging sensor;
[0149] The coordinate transformation unit is used to perform coordinate transformation on the first ranging data based on the coordinate transformation matrix to obtain the first transformed ranging data located in the specified coordinate system.
[0150] In one embodiment, the coordinate transformation matrix includes a rotation matrix and translation variables. The coordinate transformation module is also used to rotate the first ranging data using the rotation matrix to obtain a rotation result. The translation sub-unit is used to translate the rotation result using the translation variables to obtain the first transformed ranging data located in the specified coordinate system.
[0151] In one embodiment, the ranging filtering module includes: a ground point identification unit, further configured to identify ground points in the first converted ranging data; and a removal unit, configured to remove ground points from the first converted ranging data to obtain first processed data.
[0152] In one embodiment, the ground point identification unit includes: a height comparison subunit, used to compare the height of each point in the first converted ranging data with a preset height threshold; and a determination subunit, used to determine points whose heights do not reach the preset height threshold as ground points.
[0153] In one embodiment, the data fusion module includes: a fusion method determination unit, used to determine the data fusion method based on the type of the first ranging sensor and the type of the second ranging sensor; and a data fusion execution unit, used to perform data fusion on the second ranging data and the first processed data based on the data fusion method to obtain target ranging data.
[0154] In one embodiment, the first processed data includes first processed point cloud data, the second ranging data includes second point cloud data, and the data fusion module includes:
[0155] The point cloud stitching unit is used to stitch the second point cloud data and the first processed point cloud data to obtain stitched point cloud data; the density acquisition unit is used to acquire the point cloud density of the stitched point cloud data; the downsampling unit is used to downsample the stitched point cloud data if the point cloud density is higher than a preset density threshold to obtain target ranging data.
[0156] In one embodiment, the ranging system further includes: a map generation module, which is further used to generate an environmental map of the robot's environment based on the target ranging data; and a path planning module, which is used to perform path planning based on the environmental map and generate a navigation path for the robot.
[0157] In applications, the modules in a ranging system can be software program modules, or they can be implemented through different logic circuits integrated in a processor, or they can be implemented through multiple distributed processors.
[0158] Figure 9 This is a schematic diagram of the structure of a robot controller provided in one embodiment of this application. Figure 9 As shown, the controller 900 of this embodiment includes: at least one processor 910 ( Figure 9(Only one is shown) a processor, a memory 920, and a computer program 930 stored in the memory 920 and executable on the at least one processor 910, wherein the processor 910 executes the computer program 930 to implement the steps in the embodiments of the fault detection methods for any of the die-casting machines described above.
[0159] The controller 900 may include, but is not limited to, a processor 910 and a memory 920. Those skilled in the art will understand that... Figure 9 This is merely an example of controller 900 and does not constitute a limitation on controller 900. It may include more or fewer components than shown, or combine certain components, or different components, such as input / output devices, network access devices, etc.
[0160] The processor 910 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0161] In some embodiments, the memory 920 may be an internal storage unit of the controller 900, such as a hard disk or memory of the controller 900. In other embodiments, the memory 920 may be an external storage device of the controller 900, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the controller 900. Furthermore, the memory 920 may include both internal storage units and external storage devices of the controller 900. The memory 920 is used to store operating systems, applications, bootloaders, data, and other programs, such as the program code of computer programs. The memory 920 can also be used to temporarily store data that has been output or will be output.
[0162] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0163] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0164] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above.
[0165] This application provides a computer program product that, when run on an autosampler, enables the autosampler to perform the steps described in the above-described method embodiments.
[0166] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a device / terminal equipment, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.
[0167] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0168] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0169] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network devices and methods can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0170] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0171] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A distance measurement method, characterized in that, include: Based on the first ranging sensor, first ranging data of the blind zone of the second ranging sensor is obtained; The first ranging data is subjected to coordinate transformation to obtain the first transformed ranging data; The first converted ranging data is filtered to obtain the first processed data; The second ranging data and the first processed data are fused to obtain target ranging data, and the second ranging data is obtained by measuring the second ranging sensor.
2. The ranging method as described in claim 1, characterized in that, The step of performing coordinate transformation on the first ranging data to obtain the first transformed ranging data includes: Based on the intrinsic and extrinsic parameters of the first ranging sensor, determine the coordinate transformation matrix; Based on the coordinate transformation matrix, the first ranging data is transformed to obtain the first transformed ranging data located in the specified coordinate system.
3. The ranging method as described in claim 2, characterized in that, The coordinate transformation matrix includes a rotation matrix and translation variables. Based on the coordinate transformation matrix, the first ranging data is transformed to obtain first transformed ranging data located in a specified coordinate system, including: The first ranging data is rotated using the rotation matrix to obtain the rotation result; The rotation result is translated by the translation variable to obtain the first transformed distance measurement data located in the specified coordinate system.
4. The ranging method as described in claim 1, characterized in that, The step of filtering the first converted ranging data to obtain the first processed data includes: Identify ground points in the first converted ranging data; From the first converted ranging data, each of the ground points is removed to obtain the first processed data.
5. The ranging method as described in claim 4, characterized in that, The identification of ground points in the first converted ranging data includes: Compare the height of each point in the first converted ranging data with a preset height threshold; Points whose height does not reach the preset height threshold are identified as ground points.
6. The ranging method as described in claim 1, characterized in that, The process of fusing the second ranging data and the first processed data to obtain target ranging data includes: The data fusion method is determined based on the type of the first ranging sensor and the type of the second ranging sensor; Based on the data fusion method, the second ranging data and the first processed data are fused to obtain the target ranging data.
7. The ranging method as described in claim 1, characterized in that, The first processed data includes first processed point cloud data, and the second ranging data includes second point cloud data. The process of fusing the second ranging data and the first processed data to obtain target ranging data includes: The second point cloud data and the first processed point cloud data are stitched together to obtain stitched point cloud data; Obtain the point cloud density of the stitched point cloud data; If the point cloud density is higher than a preset density threshold, the stitched point cloud data is downsampled to obtain target ranging data.
8. The ranging method as described in claim 1, characterized in that, The method further includes: Based on the target ranging data, an environmental map of the robot's environment is generated. Based on the environmental map, path planning is performed to generate the robot's navigation path.
9. A ranging system, characterized in that, include: The first ranging sensor module is used to acquire the first ranging data of the blind zone of the second ranging sensor; The coordinate transformation module is used to perform coordinate transformation on the first ranging data to obtain the first transformed ranging data; The ranging filtering module is used to perform ranging filtering on the first converted ranging data to obtain the first processed data; The data fusion module is used to fuse the second ranging data and the first processed data to obtain target ranging data. The second ranging data is obtained by measuring the second ranging sensor module.
10. The ranging system as described in claim 9, characterized in that, The coordinate transformation module includes: The parameter determination unit is used to determine the coordinate transformation matrix based on the intrinsic and extrinsic parameters of the first ranging sensor; The coordinate transformation unit is used to perform coordinate transformation on the first ranging data based on the coordinate transformation matrix to obtain the first transformed ranging data located in the specified coordinate system.
11. The ranging system as described in claim 10, characterized in that, The coordinate transformation matrix includes a rotation matrix and translation variables, and the coordinate transformation unit includes: A rotation subunit is used to rotate the first ranging data using the rotation matrix to obtain a rotation result; The translation sub-unit is used to translate the rotation result using the translation variable to obtain the first transformed distance measurement data located in the specified coordinate system.
12. The ranging system as described in claim 9, characterized in that, The ranging and filtering module includes: Ground point identification unit, used to identify ground points in the first converted ranging data; The removal unit is used to remove each of the ground points from the first converted ranging data to obtain the first processed data.
13. The ranging system as described in claim 12, characterized in that, The ground point identification unit includes: The height comparison subunit is used to compare the height of each point in the first converted ranging data with a preset height threshold. A sub-unit is defined to identify points whose height does not reach the preset height threshold as ground points.
14. The ranging system as described in claim 9, characterized in that, The data fusion module includes: The fusion method determination unit is used to determine the data fusion method based on the type of the first ranging sensor and the type of the second ranging sensor; The data fusion execution unit is used to perform data fusion on the second ranging data and the first processed data based on the data fusion method to obtain target ranging data.
15. The ranging system as described in claim 9, characterized in that, The first processed data includes first processed point cloud data, the second ranging data includes second point cloud data, and the data fusion module includes: A point cloud stitching unit is used to stitch the second point cloud data and the first processed point cloud data together to obtain stitched point cloud data. Density acquisition unit, used to acquire the point cloud density of the stitched point cloud data; The downsampling unit is used to downsample the stitched point cloud data to obtain target ranging data if the point cloud density is higher than a preset density threshold.
16. The ranging system as described in claim 9, characterized in that, Also includes: The map generation module is used to generate an environmental map of the robot's environment based on the target ranging data. The path planning module is used to plan paths based on the environmental map and generate navigation paths for the robot.
17. A ranging device, characterized in that, The method includes a first ranging sensor, a second ranging sensor, and a controller. The first ranging sensor acquires first ranging data of the blind zone of the second ranging sensor, and the controller implements the method as described in any one of claims 1 to 8.
18. A controller comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 8.
19. A robot, characterized in that, It includes a mobile unit and a ranging device as described in claim 17.