Laser data noise removal method and device, storage medium and electronic device
By analyzing the performance characteristics of laser point cloud data, the problem of sweeping robots misjudging obstacles in the sunny environment is solved, and the cleaning efficiency is improved.
Patent Information
- Application Number
- CN202111116295.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-23
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2041-09-23
AI Technical Summary
The data noise interference encountered by the sweeping robot in a strong sunny environment leads to mistakenly thinking that there is an obstacle ahead, affecting the cleaning efficiency.
By acquiring and analyzing laser point cloud data, the laser data noise is filtered out based on the performance characteristics of the point cloud data and removed it from the point cloud data to build an environmental map with less interference.
It effectively avoids the sweeping robot from pausing or making obstacle avoidance due to misjudgment, and improves the cleaning efficiency.
Smart Images

Figure CN113902632B_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to the field of communications, and in particular to a method and device for removing noise from laser data, a storage medium and an electronic device. [Background technology]
[0002] With the development of technology, sweeping robots are becoming more and more common in daily life. When sweeping the floor, they use lidar receivers to receive laser point cloud data to build an environmental map of the house, so as to know where there are obstacles in the house and where there are no obstacles.
[0003] However, when the robot vacuum cleaner is working, if it encounters strong sunlight, the sunlight may be reflected from the ground and enter the lidar receiver, thus causing data noise. This data noise will have a significant impact on the robot vacuum cleaner's map building and obstacle avoidance. Especially during the robot vacuum cleaner's obstacle avoidance process, since this data noise is very close to the robot vacuum cleaner, it often causes the robot vacuum cleaner to mistakenly believe that there is an obstacle ahead, suddenly pause or make obstacle avoidance actions, affecting the robot vacuum cleaner's cleaning efficiency.
[0004] With regard to the related technology, during the operation of the sweeping robot, the reflected light of the light source interferes with the normal operation of the sweeping robot. Currently, no effective solution has been proposed. [Summary of the invention]
[0005] The purpose of the present invention is to provide a method and device for removing laser data noise, a storage medium and an electronic device, so as to at least solve the problem that the reflected light of the light source interferes with the normal operation of the sweeping robot during its operation.
[0006] The objective of the present invention is achieved through the following technical solutions:
[0007] According to an embodiment of the present invention, a method for removing laser data noise is provided, the method comprising: acquiring laser point cloud data measured by a mobile robot; screening out laser data noise from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data; removing the laser data noise from the laser point cloud data to instruct the mobile robot to construct an environment map according to the laser point cloud data after removing the laser data noise, wherein the laser data noise is used to indicate data noise obtained by the mobile robot when detecting reflected light from a light source.
[0008] Furthermore, laser data noise points are screened out from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data, including: obtaining target performance characteristics of the point cloud data that meet the screening conditions; screening out the point cloud data that meet the target performance characteristics from the laser point cloud data measured by the mobile robot, and using the point cloud data that meet the target performance characteristics as laser data noise points.
[0009] Furthermore, point cloud data satisfying the target performance characteristics are screened out from the laser point cloud data measured by the mobile robot, and the point cloud data satisfying the target performance characteristics are used as laser data noise points, including: when there is zero or one point cloud data within a first preset range of any point cloud data in the laser point cloud data, determining that the any point cloud data satisfies the target performance characteristics; and using the any point cloud data as the laser data noise point.
[0010] Furthermore, determining whether any point cloud data satisfies the target performance characteristics includes: when there are zero or one point cloud data within a first preset range of any point cloud data in the laser point cloud data, determining whether there are obstacles on the environment map within a second preset range centered on the any point cloud data; and when there are no obstacles, determining that the any point cloud data satisfies the target performance characteristics.
[0011] Furthermore, point cloud data satisfying the target performance characteristics are screened out from the laser point cloud data measured by the mobile robot, and the point cloud data satisfying the target performance characteristics are used as laser data noise points, including: performing orthogonal least squares fitting on multiple point cloud data in the laser point cloud data to obtain multiple straight lines; obtaining a target straight line from the multiple straight lines according to preset conditions; determining that the point cloud data corresponding to the target straight line satisfies the performance characteristics; and using the point cloud data corresponding to the target straight line as the laser data noise points.
[0012] Furthermore, a target straight line is obtained from the multiple straight lines according to preset conditions, including: for any straight line among the multiple straight lines, obtaining the length of the any straight line and the number of point clouds constituting the any straight line; determining the quotient of the number of point clouds and the length as the density of the any straight line; and taking the straight line among the multiple straight lines whose density is less than a first preset threshold as the target straight line.
[0013] Furthermore, a target straight line is obtained from the plurality of straight lines according to preset conditions, including: for any straight line among the plurality of straight lines, determining the distance between any straight line and the geometric center of the mobile robot; and taking the straight line whose distance is less than a second preset threshold as the target straight line.
[0014] According to another embodiment of the embodiments of the present invention, a laser data noise removal device is provided, comprising: an acquisition module, used to acquire laser point cloud data measured by a mobile robot; a screening module, used to screen out laser data noise from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data; a removal module, used to remove the laser data noise from the laser point cloud data to instruct the mobile robot to construct an environment map according to the laser point cloud data after removing the laser data noise, wherein the laser data noise is used to indicate data noise obtained by the mobile robot when detecting reflected light from a light source.
[0015] According to another embodiment of the present invention, a computer-readable storage medium is provided, wherein a computer program is stored in the storage medium, wherein the computer program is configured to execute any of the above methods for removing laser data noise when running.
[0016] According to another embodiment of the present invention, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the laser data noise removal method described in any one of the above items.
[0017] Through the present invention, the laser point cloud data detected by the mobile robot is obtained, and the laser data noise points are screened out from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data, and then the laser data noise points are removed from the laser point cloud data. The above technical solution solves the problem that the reflected light of the light source interferes with the normal operation of the sweeping robot during the operation of the sweeping robot. Furthermore, by screening out the laser data noise points in the laser point cloud data detected by the mobile robot, and then removing the laser data noise points from the laser point cloud data, it can be avoided that the mobile robot mistakenly believes that there is an obstacle ahead, suddenly stops or makes obstacle avoidance actions, thereby improving the cleaning efficiency of the sweeping robot.
Brief Description of the Drawings
[0018] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0019] Figure 1 It is a hardware structure block diagram of a mobile robot of a method for removing laser data noise in an embodiment of the present invention;
[0020] Figure 2 is a flow chart of a method for removing laser data noise according to an embodiment of the present invention;
[0021] Figure 34 is a structural block diagram of a device for removing noise from laser data according to an embodiment of the present invention. [Specific implementation method]
[0022] The present invention will be described in detail below with reference to the accompanying drawings and in combination with embodiments. It should be noted that the embodiments and features in the embodiments of the present invention can be combined with each other without conflict.
[0023] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0024] The method embodiment provided in the embodiment of the present invention can be executed in a mobile robot or a similar computing device. Taking running on a mobile robot as an example, Figure 1 FIG. 1 is a hardware structure block diagram of a mobile robot for a method of removing laser data noise according to an embodiment of the present invention. Figure 1 As shown, the mobile robot may include one or more ( Figure 1 Only one is shown in the figure) processor 102 (the processor 102 may include but is not limited to a microprocessor (Microprocessor Unit, referred to as MPU) or a programmable logic device (Programmable logic device, referred to as PLD) and a processing device and a memory 104 for storing data. Optionally, the mobile robot may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the mobile robot. Figure 1 More or fewer components as shown, or with Figure 1 Equivalent functions or comparisons shown Figure 1 A different configuration with more features is shown.
[0025] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for removing laser data noise in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the mobile robot via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0026] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the mobile robot. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0027] This embodiment provides a method for removing noise points in the above laser data. Figure 2 FIG. 1 is a flow chart of a method for removing noise from laser data according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:
[0028] Step S202, obtaining laser point cloud data measured by the mobile robot;
[0029] It should be noted that the laser point cloud data contains multiple point cloud data.
[0030] Step S204, filtering out laser data noise points from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data;
[0031] Step S206, removing the laser data noise from the laser point cloud data to instruct the mobile robot to construct an environment map according to the laser point cloud data after removing the laser data noise, wherein the laser data noise is used to indicate the data noise obtained by the mobile robot when detecting the reflected light of the light source.
[0032] Through the above steps, the laser point cloud data detected by the mobile robot is obtained, and the laser data noise points are screened out from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data, and then the laser data noise points are removed from the laser point cloud data. The above technical solution solves the problem that the reflected light of the light source interferes with the normal operation of the sweeping robot during its operation. Furthermore, by screening out the laser data noise points in the laser point cloud data detected by the mobile robot, and then removing the laser data noise points from the laser point cloud data, it can prevent the mobile robot from mistaking it for an obstacle ahead, suddenly pausing or making obstacle avoidance actions, thereby improving the cleaning efficiency of the sweeping robot.
[0033] It should be noted that since the mobile robot will detect the reflected light of the light source through the laser radar, the laser data noise points will be obtained, and the mobile robot will mistake the laser data noise points for obstacles, causing the mobile robot to suddenly stop or make obstacle avoidance actions. To avoid this phenomenon, the laser data noise points can be removed from the laser point cloud data to prevent the mobile robot from mistakenly thinking that there is an obstacle ahead.
[0034] For better understanding, the above step S204 has multiple execution methods. In an optional embodiment, laser data noise points are screened out from the laser point cloud data measured by the mobile robot according to the performance characteristics of the point cloud data in the laser point cloud data. This can be achieved through the following technical solutions: obtaining target performance characteristics of the point cloud data that meet the screening conditions; screening out point cloud data that meet the target performance characteristics from the laser point cloud data measured by the mobile robot, and using the point cloud data that meet the target performance characteristics as laser data noise points.
[0035] In this embodiment, there are two main reasons for the generation of laser data noise. The first reason is that it is caused by the scattering of sunlight on irregular objects. The second reason is that it is caused by sunlight shining on marble floors or similar reflective surfaces with high reflectivity. At this time, the sunlight is shot into the receiver in batches in a plane, causing the noise points to form a straight line shape. According to different generation reasons, the mobile robot will obtain point cloud data with different performance characteristics, so the mobile robot will obtain the target performance characteristics of the laser data noise, and filter out the point cloud data that meets the target performance characteristics from the measured laser point cloud data, and use the point cloud data that meets the target performance characteristics as laser data noise. The above technical solution can enable the mobile robot to filter out laser noise data from the measured laser data noise.
[0036] Furthermore, point cloud data satisfying the target performance characteristics are screened out from the laser point cloud data measured by the mobile robot, and the point cloud data satisfying the target performance characteristics are used as laser data noise points. This can be achieved through the following technical solution: when there is zero or one point cloud data within a first preset range of any point cloud data in the laser point cloud data, it is determined that any point cloud data satisfies the target performance characteristics; and any point cloud data is used as the laser data noise point.
[0037] That is to say, if there is zero or one point cloud data within the first preset range of any point cloud data in the laser point cloud data, then any point cloud data is determined as an isolated data noise point, and the isolated data noise point satisfies the target expression form, so that the isolated data noise point in the laser point cloud data is removed from the laser point cloud data as a laser data noise point. It should be noted that the first preset range can be a circle with a radius of centimeters centered on any point cloud data, and optionally, the above-mentioned centimeters can be 15cm.
[0038] Furthermore, in an optional embodiment, to determine whether any point cloud data satisfies the target performance characteristics, it is also necessary to determine whether there are zero or one point cloud data within a first preset range of any point cloud data in the laser point cloud data. In the case where no obstacle exists, it is determined that any point cloud data satisfies the target performance characteristics.
[0039] That is to say, in order to prevent the point cloud data generated by smaller obstacles from being mistaken for laser noise data, the point cloud data generated by smaller obstacles is removed from the laser point cloud data. If there is zero or one point cloud data within the first preset range of any point cloud data in the laser point cloud data, it is necessary to determine whether there is an obstacle on the environmental map within the second preset range centered on any point cloud data. If there is no obstacle, the above-mentioned any point cloud data is determined to be an isolated data noise point, that is, it meets the target performance characteristics, so that the isolated data noise point is removed from the laser point cloud data as a laser data noise point. It should be noted that the second preset range can be a circle centered on any point cloud data with a radius of b centimeters. Optionally, the above b centimeters can be 5 cm.
[0040] Optionally, point cloud data that meets the target performance characteristics are screened out from the laser point cloud data measured by the mobile robot, and the point cloud data that meets the target performance characteristics are used as laser data noise points. This can also be achieved through the following technical solutions: performing orthogonal least squares fitting on multiple point cloud data in the laser point cloud data to obtain multiple straight lines; obtaining a target straight line from the multiple straight lines according to preset conditions; and using the point cloud data corresponding to the target straight line as the laser data noise points.
[0041] It should be noted that, in this embodiment, when light is irradiated on a marble floor or a similar reflective surface with a high reflectivity, the sunlight enters the receiver in batches in a plane, causing the noise points to form a straight line shape. Therefore, the mobile robot needs to perform orthogonal least squares fitting on multiple point cloud data in the laser point cloud data to obtain multiple straight lines. The straight line fitted from the point cloud data generated by the sun is different from the straight line fitted from the point cloud data generated by the actual obstacle. Therefore, it is necessary to screen the multiple fitted straight lines, that is, select the target straight line from the multiple straight lines according to preset conditions, and use the point cloud data corresponding to the target straight line as the laser data noise point.
[0042] It should be noted that the point cloud data corresponding to the target line is all the point cloud data that constitutes this target line. However, since the target line is obtained by orthogonal least squares fitting, it is not a real straight line. In order to avoid errors, the point cloud data within a vertical distance of 5 cm from the target line is also used as laser noise data.
[0043] Furthermore, a target straight line is obtained from the multiple straight lines according to preset conditions, including: for any straight line among the multiple straight lines, obtaining the length of the any straight line and the number of point clouds constituting the any straight line; determining the density of the any straight line according to the quotient of the number of point clouds and the length; and determining a straight line from the multiple straight lines whose density is less than a first preset threshold as the target straight line.
[0044] In this embodiment, it is necessary to calculate the density of multiple straight lines obtained by orthogonal least squares fitting respectively. In the specific calculation process, it is necessary to obtain the length of any straight line and the number of point clouds constituting any straight line, and the quotient of the number of point clouds and the length of the straight line is taken as the density of any straight line. Since the density of laser noise data is not as high as the density of point cloud data formed by real obstacles, the straight line with a density less than the first preset threshold is determined from multiple straight lines as the target straight line.
[0045] Furthermore, a target straight line is obtained from the plurality of straight lines according to preset conditions, including: for any straight line among the plurality of straight lines, determining the distance between any straight line and the geometric center of the mobile robot; and taking the straight line whose distance is less than a second preset threshold as the target straight line.
[0046] It should be noted that if the point cloud data is generated by a normal obstacle, there will not be multiple scattering points. For example, there is a wall, and the radar hits the wall and reflects to the radar receiver, there is only one point cloud data. If multiple point cloud data can be fitted into a straight line, and the straight line can pass through the center of the mobile robot, then the above multiple point cloud data can be determined as abnormal data. This situation will only occur when the light source hits the ground and reflects back to the radar receiver, not caused by a real obstacle. Therefore, it is necessary to determine the distance between any straight line in the fitting straight line and the geometric center of the mobile robot, and take the straight line with a distance less than the second preset threshold as the target straight line. It should be noted that the second preset threshold can be a number approaching zero.
[0047] Obviously, the above-described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. In order to better understand the above-mentioned laser data noise removal method, the above-mentioned process is described below in conjunction with the embodiments, but it is not intended to limit the technical solution of the embodiments of the present invention, specifically:
[0048] In an optional embodiment, the sunlight noise point (equivalent to the laser data noise point in the above embodiment) is in the form of a single or two isolated data points, or a row of data points that are far apart and can be presented as a straight line. According to experiments, the first type of noise point is caused by the scattering of sunlight on irregular objects. The second type of noise point is caused by sunlight shining on marble floors or similar reflective surfaces with high reflectivity. At this time, the sunlight is shot into the receiver in batches, causing the noise points to form a straight line.
[0049] For these two types of noise points, the following two methods can be used to jointly process them, as follows:
[0050] Case 1: The sunlight noise point is presented as a single or two isolated data points. The isolation can be determined by detecting the surrounding environment of the isolated data point (equivalent to the isolated data noise point in the above embodiment). It is specifically divided into the following three steps:
[0051] Step 1: If there is no or only one data point within 15 cm around the obtained laser data point (equivalent to any point cloud data in the laser point cloud data of the above embodiment), it is judged as an isolated noise point (equivalent to the isolated data noise point in the above embodiment);
[0052] Step 2: To prevent the point cloud generated by smaller obstacles from being mistakenly removed, it is necessary to detect the surrounding environment of the isolated data point obtained in step 1 on the probability map. If there is an obstacle on the probability map within 5 cm around the isolated data point, this data point is retained;
[0053] Step 2: Filter out other isolated data points.
[0054] Case 2: Multiple flash points are connected in a line. You can remove the noise points by following the steps below:
[0055] Step 1: Use the orthogonal least squares method to fit a straight line to the input point cloud data.
[0056] Step 2: Obtain the density based on the length of the straight line and the point cloud data that constitutes the straight line, and calculate the vertical distance from the fitted straight line to the center of the machine.
[0057] Step 3: Select a straight line that passes through the center of the machine or a straight line with too low point cloud density. Filter the point cloud that constitutes this straight line and the point cloud within a vertical distance of 5 cm from this straight line (equivalent to the laser data noise in the above embodiment).
[0058] It should be noted that since the point cloud formed by noise points is not as dense as the point cloud formed by real obstacles, this method can effectively filter the sunlight noise generated in case 2.
[0059] In addition, by combining the two methods of case 1 and case 2, it can be ensured that the noise points are filtered in real time and the point cloud generated by the real obstacle is retained. This method can be applied to an ordinary sweeping robot with a laser radar, and this algorithm will be applied during the normal cleaning process of the sweeping robot (equivalent to the mobile robot in the above embodiment), so that the sunlight no longer interferes with the sweeping robot, and the correct point cloud data can be effectively obtained. For small obstacles such as table legs, the normal obstacle avoidance strategy can be used to greatly speed up the cleaning speed and improve the user experience.
[0060] It should be noted that before filtering out the noise points, the sweeping robot often stops and starts, especially in areas with strong sunlight, where obstacle avoidance actions are often triggered by mistake. After using the method in the above embodiment, the sweeping robot runs smoothly and sunlight no longer causes interference.
[0061] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0062] In this embodiment, a device for removing laser data noise is also provided, and the device for removing laser data noise is used to implement the above-mentioned embodiments and preferred embodiments, and the descriptions that have been made will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0063] Figure 3 : is a structural block diagram of a laser data noise removal device according to an optional embodiment of the present invention, such as Figure 3 As shown:
[0064] An acquisition module 30 is used to acquire laser point cloud data measured by the mobile robot;
[0065] A screening module 32, for screening out laser data noise points from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data;
[0066] The removal module 34 is used to remove the laser data noise from the laser point cloud data to instruct the mobile robot to build an environment map according to the laser point cloud data after removing the laser data noise, wherein the laser data noise is used to indicate the data noise obtained by the mobile robot when detecting the reflected light of the light source.
[0067] Through the above module, the laser point cloud data detected by the mobile robot is obtained, and the laser data noise points are screened out from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data, and then the laser data noise points are removed from the laser point cloud data. The above technical solution solves the problem that the reflected light of the light source interferes with the normal operation of the sweeping robot during its operation. Furthermore, by screening out the laser data noise points in the laser point cloud data detected by the mobile robot, and then removing the laser data noise points from the laser point cloud data, the mobile robot can be prevented from mistaking the obstacle ahead, suddenly stopping or making obstacle avoidance actions, thereby improving the cleaning efficiency of the sweeping robot.
[0068] It should be noted that since the mobile robot will detect the reflected light of the light source through the laser radar, the laser data noise points will be obtained, and the mobile robot will mistake the laser data noise points for obstacles, causing the mobile robot to suddenly stop or make obstacle avoidance actions. To avoid this phenomenon, the laser data noise points can be removed from the laser point cloud data to prevent the mobile robot from mistakenly thinking that there is an obstacle ahead.
[0069] For better understanding, in an optional embodiment, the screening module 32 is also used to obtain target performance characteristics of point cloud data that meet the screening conditions; filter out point cloud data that meet the target performance characteristics from the laser point cloud data measured by the mobile robot, and use the point cloud data that meet the target performance characteristics as laser data noise points.
[0070] In this embodiment, there are two main reasons for the generation of laser data noise. The first reason is that it is caused by the scattering of sunlight on irregular objects. The second reason is that it is caused by sunlight shining on marble floors or similar reflective surfaces with high reflectivity. At this time, the sunlight is shot into the receiver in batches in a plane, causing the noise points to form a straight line shape. According to different generation reasons, the mobile robot will obtain point cloud data with different performance characteristics, so the mobile robot will obtain the target performance characteristics of the laser data noise, and filter out the point cloud data that meets the target performance characteristics from the measured laser point cloud data, and use the point cloud data that meets the target performance characteristics as laser data noise. The above technical solution can enable the mobile robot to filter out laser noise data from the measured laser data noise.
[0071] Furthermore, the screening module 32 is also used to determine that any point cloud data in the laser point cloud data satisfies the target performance characteristics when there is zero or one point cloud data within a first preset range of any point cloud data; and use any point cloud data as the laser data noise point.
[0072] That is to say, if there is zero or one point cloud data within the first preset range of any point cloud data in the laser point cloud data, then any point cloud data is determined as an isolated data noise point, and the isolated data noise point satisfies the target expression form, so that the isolated data noise point in the laser point cloud data is removed from the laser point cloud data as a laser data noise point. It should be noted that the first preset range can be a circle with a radius of centimeters centered on any point cloud data, and optionally, the above-mentioned centimeters can be 15cm.
[0073] Furthermore, in an optional embodiment, the screening module 32 is also used to determine whether there is an obstacle on the environmental map within a second preset range centered on any point cloud data in the laser point cloud data when there is zero or one point cloud data within a first preset range of any point cloud data in the laser point cloud data; and when there is no obstacle, determine that any point cloud data meets the target performance characteristics.
[0074] That is to say, in order to prevent the point cloud data generated by smaller obstacles from being mistaken for laser noise data, the point cloud data generated by smaller obstacles is removed from the laser point cloud data. If there is zero or one point cloud data within the first preset range of any point cloud data in the laser point cloud data, it is necessary to determine whether there is an obstacle on the environmental map within the second preset range centered on any point cloud data. If there is no obstacle, the above-mentioned any point cloud data is determined to be an isolated data noise point, that is, it meets the target performance characteristics, so that the isolated data noise point is removed from the laser point cloud data as a laser data noise point. It should be noted that the second preset range can be a circle centered on any point cloud data with a radius of b centimeters. Optionally, the above b centimeters can be 5 cm.
[0075] Optionally, the screening module 32 is also used to perform orthogonal least squares fitting on multiple point cloud data in the laser point cloud data to obtain multiple straight lines; obtain a target straight line from the multiple straight lines according to preset conditions; and use the point cloud data corresponding to the target straight line as the laser data noise point.
[0076] It should be noted that, in this embodiment, when light is irradiated on a marble floor or a similar reflective surface with a high reflectivity, the sunlight enters the receiver in batches in a plane, causing the noise points to form a straight line shape. Therefore, the mobile robot needs to perform orthogonal least squares fitting on multiple point cloud data in the laser point cloud data to obtain multiple straight lines. The straight line fitted from the point cloud data generated by the sun is different from the straight line fitted from the point cloud data generated by the actual obstacle. Therefore, it is necessary to screen the multiple fitted straight lines, that is, select the target straight line from the multiple straight lines according to preset conditions, and use the point cloud data corresponding to the target straight line as the laser data noise point.
[0077] It should be noted that the point cloud data corresponding to the target line is all the point cloud data that constitutes this target line. However, since the target line is obtained by orthogonal least squares fitting, it is not a real straight line. In order to avoid errors, the point cloud data within a vertical distance of 5 cm from the target line is also used as laser noise data.
[0078] Furthermore, the screening module 32 is also used to obtain, for any one of the multiple straight lines, the length of the any one straight line and the number of point clouds constituting the any one straight line; determine the density of the any one straight line based on the quotient of the number of point clouds and the length; and determine, from the multiple straight lines, a straight line whose density is less than a first preset threshold as the target straight line.
[0079] In this embodiment, it is necessary to calculate the density of multiple straight lines obtained by orthogonal least squares fitting respectively. In the specific calculation process, it is necessary to obtain the length of any straight line and the number of point clouds constituting any straight line, and the quotient of the number of point clouds and the length of the straight line is taken as the density of any straight line. Since the density of laser noise data is not as high as the density of point cloud data formed by real obstacles, the straight line with a density less than the first preset threshold is determined from multiple straight lines as the target straight line.
[0080] Furthermore, the screening module 32 is also used to determine the distance between any straight line among the multiple straight lines and the geometric center of the mobile robot; and take the straight line whose distance is less than a second preset threshold as the target straight line.
[0081] It should be noted that if the point cloud data is generated by a normal obstacle, there will not be multiple scattering points. For example, there is a wall, and the radar hits the wall and reflects to the radar receiver, there is only one point cloud data. If multiple point cloud data can be fitted into a straight line, and the straight line can pass through the center of the mobile robot, then the above multiple point cloud data can be determined as abnormal data. This situation will only occur when the light source hits the ground and reflects back to the radar receiver, not caused by a real obstacle. Therefore, it is necessary to determine the distance between any straight line in the fitting straight line and the geometric center of the mobile robot, and take the straight line with a distance less than the second preset threshold as the target straight line. It should be noted that the second preset threshold can be a number approaching zero.
[0082] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0083] An embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0084] Optionally, in this embodiment, the storage medium may be configured to store a computer program for performing the following steps:
[0085] S1, obtain the laser point cloud data measured by the mobile robot;
[0086] S2, filtering out laser data noise points from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data;
[0087] S3, removing the laser data noise from the laser point cloud data to instruct the mobile robot to construct an environment map according to the laser point cloud data after the laser data noise is removed, wherein the laser data noise is used to indicate the data noise obtained by the mobile robot when detecting the reflected light of the light source.
[0088] Optionally, in this embodiment, the storage medium may include but is not limited to: a USB flash drive, a read-only memory ROM, a random access memory RAM, a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.
[0089] An embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0090] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0091] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:
[0092] S1, obtain the laser point cloud data measured by the mobile robot;
[0093] S2, filtering out laser data noise points from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data;
[0094] S3, removing the laser data noise from the laser point cloud data to instruct the mobile robot to construct an environment map according to the laser point cloud data after the laser data noise is removed, wherein the laser data noise is used to indicate the data noise obtained by the mobile robot when detecting the reflected light of the light source.
[0095] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.
[0096] An embodiment of the present invention further provides a robot, comprising a main body, a motion component and a controller, wherein the controller is configured to execute the steps in any one of the above method embodiments.
[0097] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.
[0098] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for removing noise from laser data, characterized in that: The method comprises: Obtain laser point cloud data measured by the mobile robot; Screening out laser data noise points from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data; removing the laser data noise from the laser point cloud data to instruct the mobile robot to construct an environment map according to the laser point cloud data after the laser data noise is removed, wherein the laser data noise is used to indicate data noise obtained by the mobile robot detecting reflected light from a light source; The method of filtering out laser data noise points from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data comprises: obtaining target performance characteristics of the point cloud data that meets the screening conditions; filtering out point cloud data that meets the target performance characteristics from the laser point cloud data measured by the mobile robot, and using the point cloud data that meets the target performance characteristics as laser data noise points; Wherein, point cloud data satisfying the target performance characteristics are selected from the laser point cloud data measured by the mobile robot, and the point cloud data satisfying the target performance characteristics are used as laser data noise points, including: performing orthogonal least squares fitting on multiple point cloud data in the laser point cloud data to obtain multiple straight lines; obtaining a target straight line from the multiple straight lines according to preset conditions; determining that the point cloud data corresponding to the target straight line satisfies the performance characteristics; and using the point cloud data corresponding to the target straight line as the laser data noise points; Wherein, the method further comprises: taking point cloud data within a vertical distance of 5 cm from the target straight line in the laser point cloud data as the laser data noise point; Among them, obtaining the target straight line from the multiple straight lines according to preset conditions includes: for any straight line among the multiple straight lines, determining the distance between any straight line and the geometric center of the mobile robot; and taking the straight line whose distance is less than a second preset threshold as the target straight line.
2. The method for removing laser data noise according to claim 1, characterized in that: Point cloud data satisfying the target performance characteristics are selected from the laser point cloud data measured by the mobile robot, and the point cloud data satisfying the target performance characteristics are used as laser data noise points, including: In the case where there is zero or one point cloud data within a first preset range of any point cloud data in the laser point cloud data, determining that the any point cloud data satisfies the target performance feature; The arbitrary point cloud data is used as the laser data noise point.
3. The method for removing laser data noise according to claim 2, characterized in that: Determining that any point cloud data satisfies the target performance characteristics includes: In the case where there is zero or one point cloud data within a first preset range of any point cloud data in the laser point cloud data, determining whether there is an obstacle on the environment map within a second preset range centered on the any point cloud data; In the absence of obstacles, it is determined that any point cloud data meets the target performance characteristics.
4. The method for removing laser data noise according to claim 1, characterized in that: Obtaining a target straight line from the plurality of straight lines according to a preset condition includes: For any straight line among the plurality of straight lines, obtaining the length of the straight line and the number of point clouds constituting the straight line; Determine the quotient of the number of the point clouds and the length as the density of any straight line; A straight line whose density is less than a first preset threshold among the plurality of straight lines is taken as the target straight line.
5. A device for removing noise from laser data, characterized in that: The device comprises: An acquisition module is used to acquire laser point cloud data measured by a mobile robot; A screening module, used for screening out laser data noise points from the laser point cloud data according to the performance characteristics of the point cloud data in the laser point cloud data; a removal module, used to remove the laser data noise from the laser point cloud data, so as to instruct the mobile robot to construct an environment map according to the laser point cloud data after the laser data noise is removed, wherein the laser data noise is used to indicate the data noise obtained by the mobile robot detecting the reflected light of the light source; The screening module is further used to obtain target performance characteristics of point cloud data that meet the screening conditions; screen out point cloud data that meet the target performance characteristics from the laser point cloud data measured by the mobile robot, and use the point cloud data that meet the target performance characteristics as laser data noise points; The screening module is further used to perform orthogonal least squares fitting on multiple point cloud data in the laser point cloud data to obtain multiple straight lines; obtain a target straight line from the multiple straight lines according to preset conditions; determine whether the point cloud data corresponding to the target straight line meets the performance characteristics; and use the point cloud data corresponding to the target straight line as the laser data noise point; Wherein, the device is further used to use the point cloud data within a vertical distance of 5 cm from the target straight line in the laser point cloud data as the laser data noise point; Wherein, the screening module is further used to determine the distance between any straight line among the multiple straight lines and the geometric center of the mobile robot; and take the straight line whose distance is less than a second preset threshold as the target straight line.
6. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 4 when executed.
7. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Multi-scale point cloud noise detection method based on density analysis
CN104240251A
Sunlight noise filtering method based on laser head, chip and robot
CN112353322A