A map construction method, device, robot and storage medium

Point cloud data is obtained through line laser sensors and projected onto a grid map. Combined with historical information and filtering errors, the problem of low detail restoration in robot map construction is solved, and accurate detection of uneven grounds and small obstacles is achieved. Improved the detail restoration of the map.

CN113848944BActive Publication Date: 2025-01-10YUNJING INTELLIGENCE TECH (DONGGUAN) CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111212173.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-10-18
Publication Date
2025-01-10
Estimated Expiration
2041-10-18

Smart Images

  • Figure CN113848944B_ABST
    Figure CN113848944B_ABST
Patent Text Reader

Abstract

The present invention discloses a map construction method, device, robot and storage medium, which are applied to a robot, wherein the robot is provided with a line laser sensor; the map construction method comprises: obtaining point cloud data detected by the line laser sensor, wherein the point cloud data contains height information; and projecting the point cloud data into corresponding grids in a grid map, so that the grid map can reflect the height information of the point cloud data. The present invention uses a line laser to realize the construction of a robot working map, and can accurately detect obstacles with smaller volumes and the flatness of the ground, thereby improving the detail restoration of the map.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot technology, and in particular to a map construction method, device, robot and storage medium. Background Art

[0002] As robot technology matures, intelligent robots can now be used in homes, shopping malls, factories and other places to replace humans in completing tasks such as cleaning, service and security monitoring.

[0003] In the prior art, the movement and positioning of robots need to be realized by using maps, so the robot needs to build a map of its working environment. First, sensors are used to obtain information such as the location of obstacles in the environment and combine it with the map. In actual applications, the robot's working area usually has an uneven ground and obstacles of different sizes. Ordinary infrared rangefinders or ultrasonic sensors are difficult to present uneven areas and small obstacles such as pen holders in the map, resulting in low detail restoration of electronic maps. Summary of the invention

[0004] In view of the deficiencies of the prior art, the present invention provides a map construction method, device, robot and storage medium to solve the problem of low detail restoration of electronic maps in the prior art.

[0005] To achieve the above object, the present invention provides the following technical solutions:

[0006] A map construction method is applied to a robot, wherein the robot is provided with a line laser sensor, and the map construction method comprises:

[0007] Acquire point cloud data detected by a line laser sensor, wherein the point cloud data includes height information;

[0008] The point cloud data is projected into corresponding grids in a grid map so that the grid map can reflect the height information of the point cloud data.

[0009] Optionally, projecting the point cloud data into corresponding grids in a grid map comprises:

[0010] When the historical height information in the corresponding grid is empty, the height information of the point cloud data is projected as the height information of the corresponding grid.

[0011] Optionally, the map construction method further includes:

[0012] When there is historical height information in the corresponding grid, comparing the height information of the point cloud data with the historical height information of the corresponding grid;

[0013] If the height information of the point cloud data is higher than the historical height information of the corresponding grid, the historical height information of the corresponding grid is updated to the height information of the point cloud data.

[0014] Optionally, the map construction method further includes:

[0015] If the height information of the point cloud data is not higher than the historical height information of the corresponding grid, detecting at least one position adjacent to the coordinates of the point cloud data, obtaining at least one adjacent point cloud data, and determining whether the height information in the point cloud data and the adjacent point cloud data are both zero;

[0016] If the height information in the point cloud data and the adjacent point cloud data are both zero, the historical height information of the corresponding grid is updated to the height information of the point cloud data.

[0017] Optionally, the map construction method further includes:

[0018] If the height information in the point cloud data and / or the adjacent point cloud data is not zero, the historical height information of the corresponding grid is not updated.

[0019] Optionally, before projecting the point cloud data into a corresponding grid in a grid map, the method further includes:

[0020] Obtaining state parameters of the robot;

[0021] Determine the current state of the robot according to the state parameters, and judge whether the current state of the robot meets the preset state conditions;

[0022] If the state parameters of the robot do not meet the preset state conditions, the point cloud data currently detected by the robot is filtered out.

[0023] Optionally, the state parameters include a pitch angle change value and a roll angle change value. After acquiring the state parameters of the robot, the method further includes:

[0024] If the pitch angle change value is greater than the first value, and the roll angle change value is greater than the second value, it is determined that the current state of the robot does not meet the preset state condition;

[0025] Optionally, the method further comprises:

[0026] Obtaining the height deviation value obtained by performing height measurement at multiple sampling points at each different pitch angle offset within the measurement range of the line laser sensor;

[0027] Determine information on the degree of influence of the pitch axis jitter of the robot on the first measurement of the line laser sensor according to the height deviation values ​​corresponding to the plurality of sampling points under different pitch angle offsets;

[0028] determining a first value corresponding to the pitch axis according to the first measurement influence degree information;

[0029] Obtaining a height deviation value obtained by performing height measurement at multiple sampling points at each different roll angle offset within the measurement range of the line laser sensor;

[0030] Determine the influence degree of the roll axis jitter of the robot on the second measurement of the line laser sensor according to the height deviation values ​​corresponding to the multiple sampling points under different roll angle offsets;

[0031] determining a second value corresponding to the roll axis according to the second measurement influence degree information;

[0032] The present invention also provides a map building device, which is applied to a robot, wherein the robot is provided with a line laser sensor; the map building device comprises:

[0033] A point cloud acquisition module, which acquires point cloud data detected by a line laser sensor, wherein the point cloud data includes height information;

[0034] The information processing module projects the point cloud data into corresponding grids in a grid map, so that the grid map can reflect the height information of the point cloud data.

[0035] Optionally, the information processing module is used to:

[0036] When the height information in the corresponding grid is empty, projecting the height information of the point cloud data as the height information of the corresponding grid;

[0037] When there is historical height information in the corresponding grid, comparing the height information of the point cloud data with the historical height information of the corresponding grid;

[0038] When the height information of the point cloud data is higher than the historical height information of the corresponding grid, updating the historical height information of the corresponding grid to the height information of the point cloud data;

[0039] When the height information of the point cloud data is not higher than the historical height information of the corresponding grid, detecting at least one position adjacent to the coordinates of the point cloud data, obtaining at least one adjacent point cloud data, and determining whether the height information in the point cloud data and the adjacent point cloud data are both zero;

[0040] When the height information in the point cloud data and the adjacent point cloud data is both zero, the historical height information of the corresponding grid is updated to the height information of the point cloud data; when the height information in the point cloud data and / or the adjacent point cloud data is not zero, the historical height information of the corresponding grid is not updated.

[0041] Optionally, the information processing module is further used to:

[0042] Obtaining state parameters of the robot;

[0043] Determine whether the robot's state parameters meet the preset state conditions;

[0044] When the current state of the robot does not meet the preset state condition, the point cloud data currently detected by the robot is filtered out.

[0045] The present invention further provides a robot, wherein the robot is provided with a line laser sensor, and the line laser sensor is arranged in an inclined downward manner;

[0046] The robot also includes:

[0047] A memory for storing program instructions;

[0048] The processor is used to call the program instructions stored in the memory and execute the map construction method as described in any one of the above items according to the obtained program.

[0049] The present invention also provides a computer-readable non-volatile storage medium, comprising computer-readable instructions. When a computer reads and executes the computer-readable instructions, the computer executes the map construction method as described in any one of the above items.

[0050] Compared with the prior art, the present invention has the following beneficial effects:

[0051] The present invention provides a map construction method, device, robot and storage medium, which use line laser to realize the construction of robot working map, can accurately detect small obstacles and the flatness of the ground, and improve the detail restoration of the map. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0053] Figure 1 This is a schematic diagram of the ranging principle of the robot's line laser sensor;

[0054] Figure 2 A flowchart of a map construction method provided by the present invention;

[0055] Figure 3 A schematic diagram of the structure of a robot provided by the present invention;

[0056] Figure 4 This is a schematic diagram of the present invention when the plane where the robot is located is higher than the plane where the obstacle is located;

[0057] Figure 5 This is a schematic diagram of the present invention when the robot is on a slope and the obstacle is on the horizontal ground;

[0058] Figure 6 This is another schematic diagram of the present invention when the robot is on a slope and the obstacle is on the horizontal ground;

[0059] Figure 7 A flowchart of step S2 in a map construction method provided by the present invention;

[0060] Figure 8 A flowchart of step S3 in a map construction method provided by the present invention;

[0061] Fig. 9 Another flowchart of a map construction method provided by the present invention;

[0062] Fig.10 A structural block diagram of a map construction device provided by the present invention;

[0063] Fig.11 The figure is a schematic diagram of the equipment structure of the cleaning robot involved in the embodiment of the present invention.

[0064] In the above figure: 10, point cloud acquisition module; 20, information processing module; 30, robot; 31, line laser sensor; 32, laser beam; 40, obstacle. DETAILED DESCRIPTION

[0065] In order to make the purpose, features and advantages of the present invention more obvious and easy to understand, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described below are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0066] The technical solution of the present invention is further described below with reference to the accompanying drawings and through specific implementation methods.

[0067] In the prior art, the robot needs to build a map of the working environment to enable the robot to work smoothly. Figure 1 As shown, current robots are usually equipped with line laser sensors. For example, the line laser sensor is located on the bumper in front of the right side of the robot and is set diagonally downward so that the laser plane forms an intersection line with the ground, thereby sensing obstacles on the laser plane within the range. The line laser sensor includes a line laser and a camera. After the line laser emits laser light, it is captured by the camera. According to the fixed structure of the laser and the camera and combined with the principle of triangulation, the distance of objects within its field of view angle range (about 90°) and the measurement distance range (about 30mm-300mm) can be measured. If an object is on the laser plane, the sensor can return the distance value on the intersection line between the object and the laser plane. Therefore, based on the line laser sensor, the height of objects above the ground can be detected, as well as depressions, slopes, cliffs, etc. below the ground can be detected.

[0068] However, in some scenarios, the ground is usually slightly uneven. For example, in a home environment, the ground may be covered with various daily necessities of different sizes. Current robots are unable to present uneven areas and smaller objects in the map, making it difficult for electronic maps to present more details.

[0069] The present invention aims to provide a map construction solution to improve the detail restoration of the map.

[0070] Please refer to Figure 2 and Figure 3 , an embodiment of the present invention provides a map construction method, comprising the following steps:

[0071] S1. Acquire point cloud data detected by a line laser sensor, wherein the point cloud data includes height information.

[0072] In this step, point cloud data is acquired by means of a line laser sensor 31 arranged on the robot 30 . The acquired point cloud data includes height information of obstacles 40 illuminated by the line laser sensor 31 in the surrounding environment of the robot 30 .

[0073] Among them, the emission direction of the line laser sensor 31 is arranged at an angle downward, so that the robot 30 can identify obstacles 40 of different heights. It can not only detect obstacles 40 above the ground, such as tables, chairs, shelves, or wires and pens fallen on the ground, but also detect ramps, steps, depressions below the ground, and obstacles 40 whose height is lower than the ground where the robot 30 is located, so that it can identify complex working environments and achieve a high degree of restoration of environmental details.

[0074] S2. Project the point cloud data to the corresponding grid in the grid map, so that the grid map can reflect the height information of the point cloud data.

[0075] It is understandable that in step S1, the line laser and camera included in the line laser sensor 31 are used to detect the height of the obstacle 40 and the distance between the obstacle 40 and the robot 30 based on the principle of triangulation. Specifically, the emitted light of the line laser is irradiated on the object and then reflected back to form reflected light, and the camera captures the reflected light. Combined with the fixed structure of the line laser and the camera, such as the emission angle of the line laser, the offset value of the reflected light, and the center distance of the line laser and the camera, the distance and height between the obstacle 40 and the robot 30 are calculated based on the geometric principle.

[0076] Since the emission direction of the line laser sensor 31 is arranged obliquely downward, it can not only detect the height of obstacles 40 above the ground, but also the height of obstacles 40 located under slopes or steps, and the depth of depressions relative to the ground is no exception.

[0077] like Figure 4 As shown, when the plane where the robot 30 is located is higher than the plane where the obstacle 40 is located, the height of the obstacle 40 can be determined by using the height difference between the plane where the robot 30 is located and the plane where the obstacle 40 is located, as well as the height difference between the plane where the obstacle 40 is located and the plane where the robot 30 is located.

[0078] like Figure 5 , 6 As shown, when the robot 30 is on a slope and the obstacle 40 is on the horizontal ground, the height of the obstacle 40 can be determined based on the angle between the plane where the robot 30 is located and the horizontal ground, and the distance from the position of the robot 30 to the intersection of the two planes.

[0079] In step S2, the spatial coordinates of the point cloud data are first obtained, and the coordinates of the point cloud data are converted to obtain the grid coordinates of the point cloud data in the grid map coordinate system. The corresponding grid corresponding to the point cloud data is determined according to the grid coordinates, and then the point cloud data is projected into the corresponding grid. The point cloud data detected by the robot 30 at different positions at different times are sequentially projected into the corresponding grids, and then spliced ​​to obtain a grid map that can reflect the height information of the point cloud data.

[0080] It is understandable that when initially establishing the map, the horizontal plane of the robot 30 workspace can be equally divided into multiple two-dimensional grids to form a grid map, or the environmental map of the robot 30 workspace can be obtained in advance and the environmental map can be rasterized to form a grid map.

[0081] Among them, the raster map that can reflect the height information of the point cloud data and is obtained by constructing a map based on the laser point cloud data has colors of different shades, and the depth of the color is proportional to the height of the location.

[0082] like Figure 7 As shown, further, in step S2, projecting the point cloud data to the corresponding grid in the pre-established grid map includes the following steps:

[0083] S21, determine whether the historical height information in the corresponding grid is empty; if so, execute step S22; if not, execute step S23.

[0084] S22. Projecting the height information of the point cloud data as the height information of the corresponding grid.

[0085] S23, comparing the height information of the point cloud data with the historical height information of the corresponding grid, and deciding whether to update the historical height information of the corresponding grid according to the comparison result.

[0086] It is understandable that if the historical height information in the corresponding grid is empty, it means that the height information of the relevant obstacle 40 has not been recorded before. At this time, the height information of the point cloud data is directly used as the height information of the corresponding grid. If the corresponding grid has historical height information, it is necessary to compare to determine which of the following situations the position corresponding to the corresponding grid belongs to:

[0087] (1) Since the distance between the robot 30 and the obstacle 40 changes during scanning, different height information is detected for the same obstacle 40;

[0088] (2) An obstacle 40 was previously placed at the corresponding position, and the obstacle 40 has been removed;

[0089] (3) There was no obstacle 40 placed at the corresponding position before, and a new obstacle 40 is added now.

[0090] like Figure 8 As shown, based on the above situation, specifically, S23 includes:

[0091] S231, comparing the height information of the point cloud data with the historical height information of the corresponding grid, to determine whether the height information of the point cloud data is higher than the historical height information of the corresponding grid; if so, executing step S232; if not, executing step S233;

[0092] S232. Update the historical height information of the corresponding grid to the height information of the point cloud data.

[0093] S233, detect at least one position adjacent to the coordinates of the point cloud data, obtain at least one adjacent point cloud data, and determine whether the height information in the point cloud data and the adjacent point cloud data are both zero; if so, execute step S234; if not, execute step S235.

[0094] S234. Update the historical height information of the corresponding grid to the height information of the point cloud data.

[0095] S235. The historical height information of the corresponding grid is not updated.

[0096] In this embodiment, the height of the ground is assumed to be zero.

[0097] Specifically, when the height information of the point cloud data is higher than the historical height information of the corresponding grid, it is the aforementioned situation (1). The height information with the largest value is taken as the height information of the corresponding grid. The height of the newly scanned obstacle 40 can be updated in time, so that the height information presented in the map can be more in line with reality.

[0098] For example, assuming that the actual height of the obstacle 40 is H; when the distance between the robot 30 and the obstacle 40 is D1, the height of the obstacle 40 scanned is H1; when the distance between the robot 30 and the obstacle 40 is D2, the height of the obstacle 40 scanned is H2. When D2 is less than D1, the height H2 is greater than H1, but it is possible that the highest point of the obstacle 40 has not been scanned, so both H1 and H2 are less than the actual height H of the obstacle 40. Based on this, the height information with a larger value is used to update the height of the obstacle 40, so that the height information in the corresponding grid can continuously approach the actual height of the obstacle 40 after several updates.

[0099] When the height information of the point cloud data is less than the historical height information of the corresponding grid, it is determined whether the height information in the point cloud data and the adjacent point cloud data are both zero to determine whether the obstacle 40 at that location is still in place.

[0100] When the height information in the point cloud data and the adjacent point cloud data are both zero, it can be ruled out that the height information in the detected point cloud data is zero due to scanning errors, and it can be determined that the obstacle 40 at that location has been removed, which belongs to situation (2). At this time, the historical height information of the corresponding grid is updated to the height information of the point cloud data, that is, the historical height information of the corresponding grid is updated to zero.

[0101] It is understandable that even if the point cloud data is zero due to scanning errors, the aforementioned situation can be avoided by verifying with adjacent point cloud data with adjacent coordinates; therefore, when the height information of any one of the point cloud data and the adjacent point cloud data is not zero, it can be determined that the obstacle 40 at that location is still in place, which belongs to situation (3). At this time, the historical height information of the corresponding grid is not updated, in order to retain the maximum value of the height detected by the robot 30 for the obstacle 40 at that location, so as to avoid the situation where the detection value is less than the actual height of the obstacle 40 due to the detection angle, so that the height information presented in the map can be more in line with reality.

[0102] Please refer to Fig. 9 Since the fluctuation or shaking of the robot 30 during the movement will affect the detection result, based on this, before step S2, it also includes:

[0103] S101. Obtain the state parameters of the robot and determine whether the state parameters of the robot meet the preset state conditions; if so, execute step S2; if not, execute step S102.

[0104] S102: Filter out the point cloud data currently detected by the robot.

[0105] Among them, a preset state condition can be set, and whether the robot has large ups and downs can be judged according to the preset state condition. Specifically, if the preset state condition is met, it indicates that there is no large ups and downs; if the preset state condition is not met, it indicates that there are large ups and downs, and the error of the currently detected point cloud data is large. If it is used for mapping, it will lead to inaccurate mapping. Therefore, the point cloud data currently detected by the robot can be filtered out.

[0106] In one optional implementation of this embodiment, the state parameter includes a pitch angle change value and a roll angle change value.

[0107] Specifically, in step S101, after obtaining the state parameters of the robot, the following steps are further included:

[0108] If the pitch angle change value is greater than the first value and the roll angle change value is greater than the second value, it is determined that the current state of the robot does not meet the preset state condition.

[0109] Among them, if the pitch angle change value is greater than the first value, and the roll angle change value is greater than the second value, it indicates that the current state of the robot does not meet the preset state conditions, that is, the robot has large ups and downs, and the error of the currently detected point cloud data is large. If used for mapping, it will lead to inaccurate mapping. Therefore, the point cloud data currently detected by the robot can be filtered out.

[0110] In this embodiment, the first value can be determined according to the following method:

[0111] Obtaining the height deviation value obtained by performing height measurement at multiple sampling points at each different pitch angle offset within the measurement range of the line laser sensor;

[0112] Determine the influence degree of the pitch axis jitter of the robot on the first measurement of the line laser sensor according to the height deviation values ​​corresponding to the multiple sampling points under different pitch angle offsets;

[0113] A first value corresponding to the pitch axis is determined according to the first measurement influence degree information.

[0114] In this embodiment, the second value can be determined according to the following method:

[0115] Obtaining a height deviation value obtained by performing height measurement at multiple sampling points at each different roll angle offset within the measurement range of the line laser sensor;

[0116] Determine the influence degree of the robot's roll axis jitter on the second measurement of the line laser sensor according to the height deviation values ​​corresponding to the multiple sampling points under different roll angle offsets;

[0117] A second value corresponding to the roll axis is determined according to the second measurement influence degree information.

[0118] It can be understood that the pitch angle offset can be 0.01, 0.015, 0.02, 0.025, 0.03, etc. in sequence; at each pitch angle offset, the sampling points include sampling points at equal intervals for sampling points on the center line of the linear laser.

[0119] For example, when the measured pitch angle offset is greater than or equal to 0.03, the measurement influence degree value is large, and 0.03 can be determined as the first value; if the measured roll angle offset is greater than or equal to 0.015, the measurement influence degree value is large, and 0.015 is determined as the second value.

[0120] In addition, according to the height deviation values ​​corresponding to multiple sampling points under different roll angle displacements, the influence degree of the robot's roll axis jitter on the second measurement of the line laser sensor can be determined. For example, the average value or cumulative value of all height deviation values ​​is determined. If the average value or cumulative value is greater than a preset value, it can be determined that the measurement influence degree value is large; in addition, the value can also be determined based on the distribution, and the distribution includes the proportion of height deviation values ​​distributed in different value ranges. If the proportion of height deviation values ​​greater than the preset deviation value is greater than the preset proportion, it can be determined that the measurement influence degree value is large.

[0121] In another optional implementation of this embodiment, the state parameter includes a rotation angle threshold of the robot 30 around a pitch axis, a roll axis and / or a yaw axis, and the rotation angle threshold can be obtained using an IMU (inertial sensor).

[0122] Specifically, the rotation angle threshold satisfies the following conditions:

[0123] 1. When the robot 30 is working normally, in 95% of cases, the rotation angle on the pitch axis, roll axis and / or yaw axis is less than the corresponding rotation angle threshold;

[0124] 2. When the robot 30 crosses the obstacle 40, the rotation angle on the pitch axis, the roll axis and / or the yaw axis is greater than the corresponding rotation angle threshold;

[0125] 3. Within the rotation angle threshold range, the impact of the vibration generated by the robot 30 on the detection result is within an acceptable range.

[0126] Further, the state parameter includes the shaking arc of the robot 30 around the pitch axis, the roll axis and / or the yaw axis; the parameter threshold includes the shaking arc threshold of the robot 30 around the pitch axis, the roll axis and / or the yaw axis.

[0127] It is understandable that the jitter arc thresholds can be set separately for the sweeping mode, mopping mode and obstacle crossing mode of the robot 30, or a unified jitter arc threshold can be set so that it can adapt to the sweeping mode, mopping mode and obstacle crossing mode at the same time.

[0128] Specifically, when the robot 30 triggers an error in identifying the obstacle 40 or an error in identifying the height passability of a depression, and the point at which the line laser is shot happens to fall on the ground at a height of 2 mm or on a depression of about -20 mm, the jitter radian of the robot 30 around the pitch axis, roll axis and / or yaw axis can be used as the corresponding jitter radian threshold.

[0129] Taking the pitch axis and the roll axis as an example, in this embodiment, the jitter arc thresholds of the pitch axis and the roll axis corresponding to the above situation are 0.015 rad and 0.03 rad respectively.

[0130] It has been verified that in the sweeping mode, the jitter of the robot 30 on the pitch axis is smaller than that on the roll axis. The pitch axis jitter is basically less than 0.015 radians, and the roll axis jitter is basically less than 0.03 radians. Since the fan of the robot 30 is not turned on in the mopping mode, the degree of jitter is lighter than that in the sweeping mode. Therefore, the jitter radian thresholds of the pitch axis and roll axis are 0.015 rad and 0.03 rad respectively, which can basically meet the filtering requirements.

[0131] In the obstacle crossing mode, the jitter of the robot 30 on the roll axis has little effect on the detection result of the height of the obstacle 40, so the jitter arc threshold of the roll axis is set to 0.03 rad to meet the demand; while the jitter of the pitch axis has a greater impact on the linear laser height measurement. When the jitter arc of the pitch axis is 0.015 rad, the height detection result close to the ground will produce an error of about 3 mm, which is still within an acceptable range.

[0132] In summary, the jitter arc thresholds of the pitch axis and roll axis are 0.015 rad and 0.03 rad respectively, which can adapt to sweeping mode, mopping mode and obstacle crossing mode.

[0133] In addition, due to the aging of the robot 30 structure or collisions during operation, the installation structure of the line laser sensor 31 may become loose, causing the emitted laser light to deviate; when the laser plane of the line laser sensor 31 is projected onto the surface of an object, an intersection line is formed, and the point at the edge of the intersection line has the largest deviation.

[0134] Based on this, the state parameters also include the edge points of the intersection line formed by the laser plane of the line laser sensor when it is projected onto the surface of the object, and the angle changes around the pitch axis, roll axis and / or yaw axis respectively; the parameter threshold includes the tilt error of the installation of the line laser sensor 31, and the tilt error is decomposed into angle change thresholds around the pitch axis, roll axis and / or yaw axis respectively.

[0135] It is understandable that the tilt error of the installation of the line laser sensor 31 can be determined by the following method:

[0136] The line laser sensor 31 is installed on a three-axis CNC machine tool so that it performs linear scanning motion along the pitch axis, roll axis and yaw axis of the machine tool coordinate system; the tilt error of the line laser probe installation is decomposed into rotation angles around the pitch axis, roll axis and yaw axis in turn, thereby determining the angle change threshold around the pitch axis, roll axis and / or yaw axis.

[0137] It has been verified that when the step size is 0.1°, when the tilt error of the line laser sensor 31 is installed, the rotation angles of the pitch axis and the roll axis are (-1, 1) degrees, the change of the edge point in the two axis directions is within (-1, 1) degrees, and the detected height deviation is within ±3mm, which is still within an acceptable range.

[0138] Please refer to Fig.10 Based on the above embodiments, this embodiment provides a map construction device, including:

[0139] The point cloud acquisition module 10 is used to acquire point cloud data detected by the robot 30 with the help of a line laser sensor 31 arranged on the robot 30 , and the point cloud data includes height information; wherein the line laser sensor 31 is arranged obliquely downward.

[0140] The information processing module 20 is used to project the point cloud data into corresponding grids in a pre-established grid map, so that the grid map can reflect the height information of the point cloud data.

[0141] Furthermore, when the historical height information in the corresponding grid is empty, the information processing module 20 updates the historical height information of the corresponding grid to the height information of the point cloud data.

[0142] When there is historical height information in the corresponding grid, the information processing module 20 is used to perform the following steps:

[0143] When the height information of the point cloud data is higher than the historical height information of the corresponding grid, the historical height information of the corresponding grid is updated to the height information of the point cloud data;

[0144] When the height information of the point cloud data is not higher than the historical height information of the corresponding grid, detecting at least one position adjacent to the coordinates of the point cloud data, obtaining at least one adjacent point cloud data, and determining whether the height information in the point cloud data and the adjacent point cloud data are both zero;

[0145] When the height information in the point cloud data and the adjacent point cloud data is zero, the historical height information of the corresponding grid is updated to the height information of the point cloud data; when the height information in the point cloud data and / or the adjacent point cloud data is not zero, the historical height information of the corresponding grid is not updated.

[0146] Furthermore, the information processing module 20 is also used for:

[0147] The state parameters of the robot 30 are obtained, the current state of the robot 30 is determined according to the state parameters, and whether the current state of the robot 30 meets the preset state conditions is judged. When the current state of the robot 30 does not meet the preset state conditions, the point cloud data currently detected by the robot 30 is filtered out.

[0148] Please refer again Figure 1 Based on the above embodiments, the embodiments of the present invention further provide a robot 30, on which a line laser sensor 31 is provided. The line laser sensor 31 is arranged on the front side of the robot 30, and the line laser sensor 31 is arranged to be tilted downward so that the laser beam is emitted tilted downward.

[0149] In addition, the robot 30 also includes:

[0150] A memory for storing program instructions;

[0151] The processor is used to call the program instructions stored in the memory and execute the map construction method of the above embodiment according to the obtained program.

[0152] The robot may also include a laser radar, a binocular sensor, an image sensor, an intelligent visual sensor, etc. The above sensors can work together with the line laser sensor 31 to obtain point cloud data.

[0153] The above-mentioned robot may be a cleaning robot, a service robot, a logistics robot, etc., and the present invention is not limited thereto.

[0154] Take the cleaning robot as an example, refer to Fig.11 , Fig.11 The schematic diagram of the device structure of the cleaning robot involved in the embodiment of the present invention is shown in FIG. The cleaning robot can be used to automatically clean the floor, and the application scenarios can be household indoor cleaning, large-scale venue cleaning, etc. The types of cleaning robots include sweeping cleaning robots, cleaning robots, and sweeping and mopping integrated cleaning robots. A cleaning member and a driving device are provided on the cleaning robot, and the driving device may include a motor and a driving wheel. Driven by the driving device, the cleaning robot moves according to a preset cleaning path and cleans the floor through the cleaning member. For the sweeping cleaning robot, the cleaning member is a sweeping member, and a dust suction device is provided on the sweeping cleaning robot. During the cleaning process, the sweeping member sweeps dust, garbage, etc. to the dust suction port of the dust suction device, so that the dust suction device absorbs and temporarily stores dust, garbage, etc. For the cleaning robot, the cleaning member is a mopping member (such as a mop), which is in contact with the ground. During the movement of the cleaning robot, the mopping member mops the ground to achieve cleaning of the ground. For a sweeping and mopping robot, the cleaning part includes a sweeping part and a mopping part, which can work simultaneously to mop and sweep the floor, or work separately to mop and sweep the floor. The sweeping part can further include a side brush and a roller brush (also called a middle brush), the side brush sweeps dust and other garbage to the middle area on the outside, and the roller brush continues to sweep the garbage to the dust suction device.

[0155] The cleaning robot of the embodiment of the present invention may be a sweeping and mopping robot including a sweeping part and a mopping part. In addition, the cleaning robot involved in the embodiment of the present invention may of course also be other types of cleaning robots including a sweeping part to realize the sweeping function and a mopping part to realize the mopping function.

[0156] like Fig.11As shown, the cleaning robot may include: a processor 1001, such as a CPU, a communication bus 1002, a user interface 1003, a network interface 1004, a memory 1005 and a sensing unit 1006. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include a display screen (Display), an input unit such as a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a Wi-Fi interface).

[0157] The memory 1005 is arranged on the robot body, and a program is stored in the memory 1005, and the program is executed by the processor 1001 to implement the corresponding operation. The memory 1005 is also used to store parameters for use by the cleaning robot. The memory 1005 can be a high-speed RAM memory, or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 can also be a storage device independent of the aforementioned processor 1001.

[0158] The cleaning robot can communicate with the user terminal through the network interface 1004. The cleaning robot can also communicate with the base station through short-range communication technology. Among them, the base station is a cleaning device used in conjunction with the cleaning robot.

[0159] The sensing unit 1006 includes various types of sensors, including a line laser sensor, a laser radar, a collision sensor, a distance sensor, a drop sensor, a counter, and a gyroscope.

[0160] The line laser sensor is installed on the robot body to detect the ground, objects above the ground, and depressions below the ground. It can also detect slopes, cliffs, etc., so that the robot can detect more details of the ground and create a more accurate raster map.

[0161] The laser radar is set on the top of the robot body. When working, the laser radar rotates and emits laser signals through the transmitter on the laser radar. The laser signal is reflected by the obstacle, so that the laser radar receiver receives the laser signal reflected back by the obstacle. The circuit unit of the laser radar can obtain the surrounding environment information, such as the distance and angle of the obstacle relative to the laser radar, by analyzing the received laser signal. In addition, the laser radar can also be replaced by a camera. By analyzing the obstacles in the image taken by the camera, the distance and angle of the obstacle relative to the camera can also be obtained.

[0162] The collision sensor includes a collision shell and a trigger sensor. The collision shell surrounds the head of the robot body. Specifically, the collision shell can be set at the front position of the head of the robot body and the left and right sides of the robot body. The trigger sensor is set inside the robot body and behind the collision shell. An elastic buffer is provided between the collision shell and the robot body. When the cleaning robot collides with an obstacle through the collision shell, the collision shell moves into the inside of the cleaning robot and compresses the elastic buffer. After the collision shell moves a certain distance into the inside of the cleaning robot, the collision shell contacts the trigger sensor, and the trigger sensor is triggered to generate a signal, which can be sent to the robot controller in the robot body for processing. After hitting the obstacle, the cleaning robot moves away from the obstacle, and under the action of the elastic buffer, the collision shell moves back to its original position. It can be seen that the collision sensor can detect obstacles and play a buffering role after colliding with the obstacle.

[0163] The distance sensor may be an infrared detection sensor, which can be used to detect the distance from the obstacle to the distance sensor. The distance sensor may be arranged on the side of the robot body, so that the distance value from the obstacle located near the side of the cleaning robot to the distance sensor can be measured by the distance sensor. The distance sensor may also be an ultrasonic distance sensor, a laser distance sensor or a depth sensor, etc., which are not limited here.

[0164] The drop sensor may be arranged at the bottom edge of the robot body, and the number may be one or more. When the cleaning robot moves to the edge of the ground, the drop sensor may detect that the cleaning robot is at risk of falling from a height, and thus execute a corresponding anti-falling response, such as the cleaning robot stopping moving, or moving away from the falling position, etc.

[0165] A counter and a gyroscope are also provided inside the robot body. The counter is used to accumulate the total number of rotation angles of the driving wheel to calculate the distance the driving wheel drives the cleaning robot to move. The gyroscope is used to detect the rotation angle of the cleaning robot, so as to determine the direction of the cleaning robot.

[0166] Those skilled in the art will understand that Fig.11 The structure of the cleaning robot shown in the figure does not constitute a limitation of the cleaning robot, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.

[0167] Furthermore, the present invention also provides a computer-readable non-volatile storage medium, comprising computer-readable instructions, and when a computer reads and executes the computer-readable instructions, the computer executes any of the above map construction methods.

[0168] As described above, the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features thereof may be updated equivalently. However, these modifications or updates do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A map construction method, applied to a robot, characterized in that: The robot is provided with a linear laser sensor; the map construction method comprises: Acquire point cloud data detected by the line laser sensor, wherein the point cloud data includes height information; Projecting the point cloud data into corresponding grids in a grid map so that the grid map can reflect the height information of the point cloud data; The method further includes, when historical height information exists in the corresponding grid, comparing the height information of the point cloud data with the historical height information of the corresponding grid; If the height information of the point cloud data is higher than the historical height information of the corresponding grid, the historical height information of the corresponding grid is updated to the height information of the point cloud data; if the height information of the point cloud data is not higher than the historical height information of the corresponding grid, at least one position adjacent to the coordinates of the point cloud data is detected to obtain at least one adjacent point cloud data; If the height information in the point cloud data and the adjacent point cloud data is both zero, the historical height information of the corresponding grid is updated to the height information of the point cloud data; if the height information in the point cloud data and / or the adjacent point cloud data is not zero, the historical height information of the corresponding grid is not updated.

2. The map construction method according to claim 1, characterized in that: The projecting the point cloud data to a corresponding grid in a grid map includes: When the historical height information in the corresponding grid is empty, the height information of the point cloud data is projected as the height information of the corresponding grid.

3. The map construction method according to claim 1, characterized in that: Before projecting the point cloud data into the corresponding grid in the grid map, the method further includes: Obtaining state parameters of the robot; If the state parameter of the robot does not meet the preset state condition, the point cloud data currently detected by the robot is filtered out.

4. The map construction method according to claim 3, characterized in that: The state parameters include a pitch angle change value and a roll angle change value. After obtaining the state parameters of the robot, the method further includes: If the pitch angle change value is greater than the first value, and the roll angle change value is greater than the second value, it is determined that the current state of the robot does not meet the preset state condition.

5. The map construction method according to claim 4, further comprising: Obtaining the height deviation value obtained by performing height measurement at multiple sampling points at each different pitch angle offset within the measurement range of the line laser sensor; Determine information on the degree of influence of the pitch axis jitter of the robot on the first measurement of the line laser sensor according to the height deviation values ​​corresponding to the plurality of sampling points under different pitch angle offsets; determining a first value corresponding to the pitch axis according to the first measurement influence degree information; Obtaining a height deviation value obtained by performing height measurement at multiple sampling points at each different roll angle offset within the measurement range of the line laser sensor; Determine the influence degree of the roll axis jitter of the robot on the second measurement of the line laser sensor according to the height deviation values ​​corresponding to the multiple sampling points under different roll angle offsets; A second value corresponding to the roll axis is determined according to the second measurement influence degree information.

6. A map construction device, applied to a robot, characterized in that: Used to implement the map construction method according to any one of claims 1 to 5; The robot is provided with a line laser sensor; The map construction device comprises: A point cloud acquisition module, which acquires point cloud data detected by a line laser sensor, wherein the point cloud data includes height information; The information processing module projects the point cloud data into corresponding grids in a grid map, so that the grid map can reflect the height information of the point cloud data.

7. A robot, characterized in that: The robot is provided with an image sensor and a line laser sensor; The robot also includes: A memory for storing program instructions; The processor is used to call the program instructions stored in the memory and execute the map construction method according to any one of claims 1 to 5 according to the obtained program.

8. A computer-readable non-volatile storage medium, characterized in that: The method comprises computer-readable instructions, and when a computer reads and executes the computer-readable instructions, the computer executes the map construction method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Map updating method and device and computer readable storage medium

    CN110019609A

  • Mobile platform state estimation method and system, mobile platform and storage medium

    CN111684382A