Map processing method and device, mower and storage medium

By identifying and processing movable obstacles in the map, the problem of reduced positioning accuracy of smart lawn mowers is solved, and more efficient mowing operations are achieved.

CN119689500APending Publication Date: 2025-03-25NYSRO INTELLIGENT TECHNOLOGY (SUZHOU) CO LTD

Patent Information

Application Number
CN202411723739.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

During the positioning process, the intelligent lawn mower is affected by the changes in the position of the movable obstacle, resulting in a decrease in positioning accuracy.

Method used

Obtain perceived data of the work environment through sensors, identify and remove or mark movable obstacles in the map to reduce their impact on location.

Benefits of technology

It improves the positioning accuracy and working efficiency of the lawn mower, reduces the memory usage of map data, and ensures the smoothness of the lawn mower.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119689500A_ABST
    Figure CN119689500A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a map processing method and device, a mower and a storage medium. The method comprises the following steps: acquiring sensing data of a working environment based on a sensor; movable obstacles in non-dynamic obstacles in the working environment are determined in a first map of the working environment, and the first map is determined at least according to the sensing data; in the first map, the movable obstacle is removed, or in the first map, the movable obstacle is not used as a positioning reference point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent robots, and in particular to a map processing method, device, lawn mower and storage medium. Background Art

[0002] Smart robotic devices such as smart lawn mowers and cleaning robots can build and update maps of the working environment in real time during their work, and perform operations, obstacle avoidance, navigation, etc. based on the established maps. During the mapping process of the lawn mower, the laser radar emits lasers, measures reflection time, and generates point cloud data. During the positioning process of the lawn mower, some target reference objects in the working environment need to be used as positioning reference points. The positioning reference points need to select fixed non-dynamic obstacles to reduce the impact of dynamic obstacle movement on positioning.

[0003] Smart lawn mowers need to identify non-dynamic obstacles and dynamic obstacles. Among non-dynamic obstacles, there are movable obstacles, such as swings, parked bicycles, wheelchairs, toy cars, etc. Movable obstacles may be stationary in the lawn mower mapping environment, but the location of movable obstacles will change over time, thus affecting the positioning accuracy of the lawn mower.

[0004] Therefore, how to improve the positioning accuracy of the lawn mower is an urgent problem to be solved.

[0005] The information disclosed in this background technology section is only intended to enhance the understanding of the overall background of the invention and should not be regarded as an acknowledgment or any form of suggestion that the information constitutes the prior art already known to a person skilled in the art. Summary of the invention

[0006] In view of this, embodiments of the present disclosure provide a map processing method, device, lawn mower, and storage medium.

[0007] According to a first aspect of an embodiment of the present disclosure, a map processing method is provided, the method comprising:

[0008] Acquire sensory data of the working environment based on sensors;

[0009] determining, in a first map of the working environment, movable obstacles among non-dynamic obstacles in the working environment, wherein the first map is determined based on at least the perception data;

[0010] In the first map, the movable obstacle is removed, or, in the first map, the movable obstacle is not used as a positioning reference point.

[0011] In the first map, not using the movable obstacle as a positioning reference point includes: using fixed obstacles other than the movable obstacles among the non-dynamic obstacles as positioning reference points. The above-mentioned fixed obstacles refer to obstacles whose positions relative to the lawn will not change easily, such as trees, walls, houses, etc.

[0012] The movable obstacles referred to in the embodiments of the present disclosure refer to subjects that can be moved artificially or naturally. They are stationary in the working environment during certain time periods, but their positions change over time. For a lawn mower, its working environment is a lawn. For example, there may be a swing in the lawn. In the process of building a map for the lawn mower, the swing can be stationary and thus included in the set of positioning reference points. When the lawn mower is mowing, the swing can be in a swinging state. Using the swing as a positioning reference point will cause positioning errors and affect the working effect of the lawn mower. For another example, a chair may be placed in the lawn. In the process of building a map for the lawn mower, the chair is placed at the first position of the lawn. The chair is stationary relative to the lawn and thus included in the set of positioning reference points. When the lawn mower is mowing, the chair is moved by the user to the second position. Using the chair as a positioning reference point will also cause positioning errors in the lawn mower. The movable obstacles referred to in the embodiments of the present disclosure refer to subjects that present movement characteristics similar to the above-mentioned swings or chairs, which are not listed in detail here.

[0013] In order to ensure the positioning accuracy, it is necessary to remove the movable obstacles in the positioning reference point set. The movable obstacles in the first map can be manually marked by the user or automatically identified by the lawn mower. One way is to remove the movable obstacles in the first map. Based on the first map after removing the movable obstacles, the mowing accuracy and efficiency of the lawn mower can be guaranteed; in addition, removing the movable obstacles in the first map can reduce the memory occupied by the first map, and the processing system of the lawn mower can load and process the map data more quickly, which can ensure that the working process of the lawn mower is smoother and reduces delays; another way is to retain the movable obstacles in the first map, but mark the movable obstacles (the marking here refers to distinguishing the movable obstacles from other positioning reference points, and you can choose to display the marked points on the mobile terminal or not), and ignore the movable obstacles during positioning. This method can ensure the positioning performance of the lawn mower without sacrificing the obstacle avoidance performance of the lawn mower.

[0014] In combination with the embodiment of the first aspect, in some embodiments, the method further includes:

[0015] Based on the perception data of the working environment acquired by the sensor, dynamic obstacles in the working environment are determined; in the first map, the dynamic obstacles are removed, or, in the first map, the dynamic obstacles are not used as positioning reference points.

[0016] The dynamic obstacles referred to in the embodiments of the present disclosure refer to entities that move in real time during the mapping process of the lawn mower, which are generally people or animals. The perception data of the working environment obtained by the positioning sensor can identify the dynamic obstacles in the working environment, and the dynamic obstacles can be deleted from the first map or marked in the first map to avoid the negative impact of the dynamic obstacles on the positioning accuracy of the lawn mower.

[0017] In combination with the embodiments of the first aspect, in some embodiments, the sensor-based acquisition of the perception data of the working environment; the first map is determined at least based on the perception data; including:

[0018] Obtain point cloud data of the working environment based on LiDAR;

[0019] The first map is determined based on at least the point cloud data.

[0020] In combination with the embodiments of the first aspect, in some embodiments, determining the dynamic obstacles in the working environment based on the perception data of the working environment acquired by the sensor includes:

[0021] The dynamic obstacles in the working environment are determined based on the point cloud data of the working environment acquired by the laser radar.

[0022] In combination with the embodiments of the first aspect, in some embodiments, determining the dynamic obstacles in the working environment based on the point cloud data of the working environment acquired by the laser radar includes:

[0023] Extracting obstacles in the working environment from the point cloud data;

[0024] Obstacles whose position changes exceed the displacement threshold in the point cloud data at different times are determined as the dynamic obstacles.

[0025] In combination with the embodiments of the first aspect, in some embodiments, extracting obstacles in the working environment from the point cloud data includes:

[0026] Determining a ground point in the point cloud data based on a first normal of each point in the point cloud data;

[0027] Based on the Euclidean distances between non-ground points other than ground points in the point cloud data, clustering the non-ground points to obtain at least one point cluster, wherein a point cluster includes a plurality of non-ground points;

[0028] The point cluster is determined as an obstacle.

[0029] In combination with the embodiments of the first aspect, in some embodiments, determining the ground point in the point cloud data based on the first normal of each point in the point cloud data includes:

[0030] Determining a covariance matrix based on the coordinates of a first point in the point cloud data and the coordinates of a second point within a preset adjacent range to the first point;

[0031] Determine the eigenvector corresponding to the minimum eigenvalue of the covariance matrix;

[0032] The eigenvector is determined as a first normal line of the first point;

[0033] When the included angle between the first normal and the second normal is less than an included angle threshold, the first point is determined to be a ground point, wherein the second normal is a vertical line to the ground.

[0034] In combination with the embodiments of the first aspect, in some embodiments, determining the dynamic obstacles in the working environment based on the point cloud data of the working environment acquired by the laser radar; removing the dynamic obstacles in the first map includes: acquiring point cloud data corresponding to M different time domain positions respectively;

[0035] According to the point cloud data corresponding to each time domain position, taking the position and posture corresponding to the laser radar at each time domain position as the center, a query annular point cloud grid with a predetermined radius corresponding to each time domain position is established; according to the first map, taking the position and posture corresponding to each laser radar at the time domain position as the center, a map annular point cloud grid with a predetermined radius corresponding to each time domain position is established;

[0036] The query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position are compared, and based on the comparison results corresponding to each time domain position, the non-dynamic obstacles obtained after removing the dynamic obstacles in the first map are determined.

[0037] In combination with the embodiments of the first aspect, in some embodiments, obtaining point cloud data corresponding to M different time domain positions respectively includes:

[0038] Obtaining N frames of point cloud data acquired by the laser radar in each of the M different time domain positions;

[0039] The N frames of point cloud data corresponding to each time domain position are merged and down-sampled, and the point cloud data after the downsampling is determined as the point cloud data corresponding to the corresponding time domain position.

[0040] In combination with the embodiment of the first aspect, in some embodiments, the method further includes:

[0041] The pose statistics of N frames of point cloud data acquired by the laser radar in each of the M different time domain positions are used as the pose corresponding to the laser radar at each time domain position.

[0042] In combination with the embodiments of the first aspect, in some embodiments, the M different time domain positions are continuous time domain positions separated by a predetermined time length.

[0043] In combination with the embodiments of the first aspect, in some embodiments, establishing a map annular point cloud grid of a predetermined radius corresponding to each of the time domain positions, based on the first map and taking the posture corresponding to each of the time domain position laser radars as the center, includes:

[0044] Mapping the point cloud of the first map to a rectangular point cloud grid;

[0045] The points whose coordinates in the rectangular point cloud grid are located in the coordinate range of the query circular point cloud grid corresponding to the first time domain position among M different time domain positions are mapped to the circular point cloud grid with the same grid parameters as the query circular point cloud grid corresponding to the first time domain position, so as to obtain the map circular point cloud grid corresponding to the first time domain position.

[0046] In combination with the embodiment of the first aspect, in some embodiments, the method further includes:

[0047] Determine a first grid and / or an obscured second grid in each query annular point cloud grid that is in the laser radar blind area;

[0048] The comparing the query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position includes:

[0049] The third grid of the query annular point cloud grid is compared with the fourth grid at the corresponding position of the third grid in the map annular point cloud grid at the same time domain position, wherein the third grid is a grid outside the first grid and / or the second grid in the query annular point cloud grid.

[0050] In combination with the embodiments of the first aspect, in some embodiments, determining the first grid in each query annular point cloud grid that is in the laser radar blind area includes:

[0051] Determine the maximum laser height and the minimum laser height of the laser beam of the laser radar in each grid area of ​​the query annular point cloud grid;

[0052] Determine a predetermined maximum height and a predetermined minimum height of a predetermined obstacle in each grid area of ​​the query annular point cloud grid;

[0053] In the query annular point cloud grid, a grid whose smaller one between the laser maximum height and the predetermined maximum height and whose maximum value between the laser minimum height and the predetermined minimum height has a difference less than an identification height threshold is determined as the first grid.

[0054] In combination with the embodiment of the first aspect, in some embodiments, determining the obscured second grid in each query annular point cloud grid includes:

[0055] A grid having an intermediate grid between the line connecting the center of the query annular point cloud grid and satisfying a first condition is determined as a second network; wherein the first condition includes:

[0056] The height difference of all points in the intermediate grid is greater than a first height difference threshold; and

[0057] The number of all points in the intermediate grid is greater than a number threshold.

[0058] In combination with the embodiments of the first aspect, in some embodiments, comparing the query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position, and determining the non-dynamic obstacle obtained after removing the dynamic obstacle from the first map based on the comparison results of M time domain positions, includes:

[0059] Determining a first height difference of all points in the third grid;

[0060] Determining a second height difference of all points in the fourth grid;

[0061] In response to a difference between the first height difference and the second height difference being greater than a difference threshold, adding a predetermined value to a count value corresponding to each non-ground point in the fourth grid;

[0062] The non-ground points in the first map whose count values ​​are less than the count threshold are determined as points of non-dynamic obstacles.

[0063] In conjunction with the embodiments of the first aspect, in some embodiments, determining, in the first map of the working environment, movable obstacles in the working environment includes:

[0064] Based on the image information of the working environment acquired by the visual sensor, movable obstacles among the non-dynamic obstacles of the working environment are determined in a first map of the working environment.

[0065] In combination with the embodiments of the first aspect, in some embodiments, the image of the working environment acquired based on the visual sensor, in the first map of the working environment, determining the movable obstacles among the non-dynamic obstacles of the working environment includes:

[0066] Using an obstacle recognition model to recognize the movable obstacle from the image and determine the boundary of the movable obstacle;

[0067] aligning the image and the first map;

[0068] Based on the boundary, movable obstacles of the first map are determined.

[0069] In conjunction with the embodiments of the first aspect, in some embodiments, determining movable obstacles of the working environment in the first map of the working environment includes:

[0070] Based on the user's operation instruction, in the first map of the working environment, a target indicated by the operation instruction is determined as a movable obstacle.

[0071] In conjunction with the embodiment of the first aspect, in some embodiments, removing the movable obstacle in the first map includes:

[0072] Based on the user's selection instruction, the movable obstacle indicated by the selection instruction is removed from the first map.

[0073] In conjunction with the embodiments of the first aspect, in some embodiments, in the first map, not using the movable obstacle as a positioning reference point includes:

[0074] In the first map, the movable obstacles are marked, and when the sensor selects the positioning reference point for positioning, the marked dynamic obstacles and / or the movable obstacles are discarded.

[0075] According to a second aspect of an embodiment of the present disclosure, a map processing device is provided, wherein the device comprises: a processing module, wherein the processing module is used to:

[0076] Acquiring sensory data of a working environment based on a sensor; determining movable obstacles among non-dynamic obstacles in the working environment in a first map of the working environment, wherein the first map is determined at least based on the sensory data;

[0077] In the first map, the movable obstacle is removed, or, in the first map, the movable obstacle is not used as a positioning reference point.

[0078] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is further used to:

[0079] Based on the perception data of the working environment acquired by the sensor, dynamic obstacles in the working environment are determined; in the first map, the dynamic obstacles are removed, or, in the first map, the dynamic obstacles are not used as positioning reference points.

[0080] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0081] Obtain point cloud data of the working environment based on LiDAR;

[0082] The first map is determined based on at least the point cloud data.

[0083] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0084] The dynamic obstacles in the working environment are determined based on the point cloud data of the working environment acquired by the laser radar.

[0085] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0086] Extracting obstacles in the working environment from the point cloud data;

[0087] Obstacles whose position changes exceed the displacement threshold in the point cloud data at different times are determined as the dynamic obstacles.

[0088] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0089] Determining a ground point in the point cloud data based on a first normal of each point in the point cloud data;

[0090] Based on the Euclidean distances between non-ground points other than ground points in the point cloud data, clustering the non-ground points to obtain at least one point cluster, wherein a point cluster includes a plurality of non-ground points;

[0091] The point cluster is determined as an obstacle.

[0092] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0093] Determining a covariance matrix based on the coordinates of a first point in the point cloud data and the coordinates of a second point within a preset adjacent range to the first point;

[0094] Determine the eigenvector corresponding to the minimum eigenvalue of the covariance matrix;

[0095] The eigenvector is determined as a first normal line of the first point;

[0096] When the included angle between the first normal and the second normal is less than an included angle threshold, the first point is determined to be a ground point, wherein the second normal is a vertical line to the ground.

[0097] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0098] Obtain point cloud data corresponding to M different time domain positions;

[0099] According to the point cloud data corresponding to each time domain position, taking the position and posture corresponding to the laser radar at each time domain position as the center, a query annular point cloud grid with a predetermined radius corresponding to each time domain position is established; according to the first map, taking the position and posture corresponding to each laser radar at the time domain position as the center, a map annular point cloud grid with a predetermined radius corresponding to each time domain position is established;

[0100] The query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position are compared, and based on the comparison results corresponding to each time domain position, the non-dynamic obstacles obtained after removing the dynamic obstacles in the first map are determined.

[0101] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0102] Obtaining N frames of point cloud data acquired by the laser radar in each of the M different time domain positions;

[0103] The N frames of point cloud data corresponding to each time domain position are merged and down-sampled, and the point cloud data after the downsampling is determined as the point cloud data corresponding to the corresponding time domain position.

[0104] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is further used to:

[0105] The pose statistics of N frames of point cloud data acquired by the laser radar in each of the M different time domain positions are used as the pose corresponding to the laser radar at each time domain position.

[0106] In combination with the embodiments of the second aspect, in some embodiments, the M different time domain positions are continuous time domain positions separated by a predetermined time length.

[0107] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0108] Mapping the point cloud of the first map to a rectangular point cloud grid;

[0109] The points whose coordinates in the rectangular point cloud grid are located in the coordinate range of the query circular point cloud grid corresponding to the first time domain position among M different time domain positions are mapped to the circular point cloud grid with the same grid parameters as the query circular point cloud grid corresponding to the first time domain position, so as to obtain the map circular point cloud grid corresponding to the first time domain position.

[0110] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is further used to:

[0111] Determine a first grid and / or an obscured second grid in each query annular point cloud grid that is in the laser radar blind area;

[0112] The processing module is specifically used for:

[0113] The third grid of the query annular point cloud grid is compared with the fourth grid at the corresponding position of the third grid in the map annular point cloud grid at the same time domain position, wherein the third grid is a grid outside the first grid and / or the second grid in the query annular point cloud grid.

[0114] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0115] Determine the maximum laser height and the minimum laser height of the laser beam of the laser radar in each grid area of ​​the query annular point cloud grid;

[0116] Determine a predetermined maximum height and a predetermined minimum height of a predetermined obstacle in each grid area of ​​the query annular point cloud grid;

[0117] In the query annular point cloud grid, a grid whose smaller one between the laser maximum height and the predetermined maximum height and whose maximum value between the laser minimum height and the predetermined minimum height has a difference less than an identification height threshold is determined as the first grid.

[0118] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0119] A grid having an intermediate grid between the line connecting the center of the query annular point cloud grid and satisfying a first condition is determined as a second network; wherein the first condition includes:

[0120] The height difference of all points in the intermediate grid is greater than a first height difference threshold; and

[0121] The number of all points in the intermediate grid is greater than a number threshold.

[0122] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0123] Determining a first height difference of all points in the third grid;

[0124] Determining a second height difference of all points in the fourth grid;

[0125] In response to a difference between the first height difference and the second height difference being greater than a difference threshold, adding a predetermined value to a count value corresponding to each non-ground point in the fourth grid;

[0126] The non-ground points in the first map whose count values ​​are less than the count threshold are determined as points of non-dynamic obstacles.

[0127] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0128] Based on the image information of the working environment acquired by the visual sensor, movable obstacles among the non-dynamic obstacles of the working environment are determined in a first map of the working environment.

[0129] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0130] Using an obstacle recognition model to recognize the movable obstacle from the image and determine the boundary of the movable obstacle;

[0131] aligning the image and the first map;

[0132] Based on the boundary, movable obstacles of the first map are determined.

[0133] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0134] Based on the user's operation instruction, in the first map of the working environment, a target indicated by the operation instruction is determined as a movable obstacle.

[0135] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0136] Based on the user's selection instruction, the movable obstacle indicated by the selection instruction is removed from the first map.

[0137] In conjunction with the embodiment of the second aspect, in some embodiments, the processing module is specifically used to:

[0138] In the first map, the movable obstacles are marked, and when the sensor selects the positioning reference point for positioning, the marked dynamic obstacles and / or the movable obstacles are discarded.

[0139] According to a third aspect of an embodiment of the present disclosure, there is provided a lawn mower, wherein the lawn mower comprises:

[0140] The lawn mower comprises a mowing part and a walking part; the lawn mower also comprises:

[0141] A controller is used to execute the map processing method as described in the first aspect.

[0142] According to a fourth aspect of an embodiment of the present disclosure, a storage medium is provided, wherein the storage medium stores instructions, and when the instructions are run on a controller, the map processing method described in the first aspect is executed.

[0143] The embodiments of the present disclosure provide a map processing method, device, lawn mower and storage medium. The method includes: acquiring sensory data of a working environment based on a sensor; determining movable obstacles among non-dynamic obstacles in the working environment in a first map of the working environment, wherein the first map is determined at least based on the sensory data; in the first map, removing the movable obstacles, or, in the first map, not using the movable obstacles as positioning reference points. In this way, by determining the movable obstacles among the non-dynamic obstacles, fixed non-obstructible objects can be used as positioning reference points, reducing the impact of the unexpected movement of movable obstacles on the positioning reference, thereby improving the accuracy of positioning and further enhancing the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0144] Figure 1 is a flowchart of a map processing method according to an exemplary embodiment;

[0145] Figure 2 is a schematic diagram of obstacle movement according to an exemplary embodiment;

[0146] Figure 3 is a schematic diagram of a ring point cloud grid according to an exemplary embodiment;

[0147] Figure 4 is a schematic diagram of a rectangular point cloud grid according to an exemplary embodiment;

[0148] Figure 5 is a schematic diagram of laser scanning according to an exemplary embodiment;

[0149] Figure 6 is a schematic diagram of laser scanning according to an exemplary embodiment;

[0150] Figure 7 is a schematic diagram of a ring point cloud grid according to an exemplary embodiment;

[0151] Figure 8 The figure is a schematic diagram showing the structure of a map processing device according to an exemplary embodiment. DETAILED DESCRIPTION

[0152] In order to make the technical solutions and beneficial effects of the present invention more clearly understandable, the following is a detailed description by listing specific embodiments. The drawings are not necessarily drawn to scale, and local features may be enlarged or reduced to more clearly show the details of the local features; unless otherwise defined, the technical and scientific terms used herein have the same meanings as those in the technical field to which this application belongs.

[0153] The embodiments of the present disclosure are not exhaustive, but are only illustrative of some embodiments, and are not intended to be a specific limitation on the scope of protection of the present disclosure. In the absence of contradiction, each step in a certain embodiment can be implemented as an independent embodiment, and the steps can be arbitrarily combined. For example, a solution after removing some steps in a certain embodiment can also be implemented as an independent embodiment, and the order of the steps in a certain embodiment can be arbitrarily exchanged. In addition, the optional implementation methods in a certain embodiment can be arbitrarily combined; in addition, the embodiments can be arbitrarily combined, for example, some or all of the steps of different embodiments can be arbitrarily combined, and a certain embodiment can be arbitrarily combined with the optional implementation methods of other embodiments.

[0154] In each embodiment of the present disclosure, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between the embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form a new embodiment based on their internal logical relationships.

[0155] The terms used in the embodiments of the present disclosure are only for the purpose of describing specific embodiments and are not intended to limit the present disclosure.

[0156] In the embodiments of the present disclosure, unless otherwise specified, elements expressed in the singular form, such as "a", "an", "the", "above", "said", "aforementioned", "this", etc., may mean "one and only one", or "one or more", "at least one", etc. For example, when using articles such as "a", "an", "the" in English in translation, the noun after the article may be understood as a singular expression or a plural expression.

[0157] In the embodiments of the present disclosure, “plurality” refers to two or more.

[0158] In some embodiments, the terms "at least one", "one or more", "a plurality of", "multiple", etc. can be used interchangeably.

[0159] In some embodiments, "at least one of A and B", "A and / or B", "A in one case, B in another case", "A in one case, B in another case", etc., may include the following technical solutions according to the situation: in some embodiments, A (A is executed independently of B); in some embodiments, B (B is executed independently of A); in some embodiments, execution is selected from A and B (A and B are selectively executed); in some embodiments, A and B (both A and B are executed). When there are more branches such as A, B, C, etc., the above is also similar.

[0160] In some embodiments, the recording method of "A or B" may include the following technical solutions according to the situation: in some embodiments, A (A is executed independently of B); in some embodiments, B (B is executed independently of A); in some embodiments, execution is selected from A and B (A and B are selectively executed). When there are more branches such as A, B, C, etc., the above is also similar.

[0161] The prefixes such as "first" and "second" in the embodiments of the present disclosure are only used to distinguish different description objects, and do not constitute restrictions on the position, order, priority, value or content of the description objects. The statement of the description object refers to the description in the context of the claims or embodiments, and should not constitute redundant restrictions due to the use of prefixes. For example, if the description object is a "field", the ordinal number before the "field" in the "first field" and the "second field" does not limit the position or order between the "fields", and the "first" and "second" do not limit whether the "fields" they modify are in the same message, nor do they limit the order of the "first field" and the "second field". For another example, if the description object is a "level", the ordinal number before the "level" in the "first level" and the "second level" does not limit the priority between the "levels". For another example, the numerical value of the description object is not limited by the ordinal number, and can be one or more. Taking the "first device" as an example, the numerical value of the "device" can be one or more. In addition, the objects modified by different prefixes may be the same or different. For example, if the description object is "device", then the "first device" and the "second device" may be the same device or different devices, and their types may be the same or different. For another example, if the description object is "information", then the "first information" and the "second information" may be the same information or different information, and their contents may be the same or different.

[0162] In some embodiments, “including A”, “comprising A”, “used to indicate A”, and “carrying A” can be interpreted as directly carrying A or indirectly indicating A.

[0163] In some embodiments, terms such as “…”, “determine…”, “in the case of…”, “at the time of…”, “when…”, “if…”, “if…”, etc. can be used interchangeably.

[0164] In some embodiments, terms such as "greater than", "greater than or equal to", "not less than", "more than", "more than or equal to", "not less than", "higher than", "higher than or equal to", "not lower than", and "above" can be replaced with each other, and terms such as "less than", "less than or equal to", "not greater than", "less than", "less than or equal to", "no more than", "lower than", "lower than or equal to", "not higher than", and "below" can be replaced with each other.

[0165] In addition, each element, each row, or each column in the table of the embodiments of the present disclosure may be implemented as an independent embodiment, and the combination of any elements, any rows, and any columns may also be implemented as an independent embodiment.

[0166] In some embodiments, the lawn mower may include: a body, a controller, a travel system, a mowing component, a sensor system, etc.

[0167] The controller may include a microcontroller unit (MCU). Of course, the controller may also include other devices that can have control functions.

[0168] The above-mentioned sensor system may include at least one of a visual sensor, a laser sensor (lidar), a gyroscope, an accelerometer, a speed sensor, a mechanical sensor, an infrared sensor, an ultrasonic sensor, a visual sensor, etc., to obtain at least one information such as the motion state information, position information and obstacle information of the cleaning equipment.

[0169] For example, a laser sensor can obtain point cloud data of the working environment by scanning, and then process the data through a controller to obtain a point cloud map.

[0170] The walking system is used to drive the machine body to move by itself and realize the walking function of self-movement or controlled movement on the grass surface. The walking system at least includes a drive and a driving wheel.

[0171] The mowing component is used for mowing the grass.

[0172] In actual engineering scenarios, during the positioning process of the lawn mower, some target reference objects in the working environment need to be used as positioning reference points. The positioning reference points need to be non-dynamic obstacles with fixed positions to reduce the impact of dynamic obstacle movement on positioning.

[0173] Among non-dynamic obstacles, there may be movable obstacles. The movable obstacles may be stationary in the lawn mower mapping environment. The setting position of the movable obstacles may change over time, thereby affecting the positioning accuracy of the lawn mower.

[0174] Therefore, how to identify dynamic obstacles, non-dynamic obstacles and movable obstacles in the working environment to reduce the movement of obstacles used by the mower to locate them and improve the accuracy of positioning is an urgent problem to be solved.

[0175] The present disclosure provides a map processing method. Figure 1 As shown, the method includes:

[0176] Step 101: Acquire sensory data of a working environment based on a sensor;

[0177] Step 102: determining, in a first map of the working environment, movable obstacles among non-dynamic obstacles in the working environment, wherein the first map is determined at least based on the perception data;

[0178] Step 103: In the first map, the movable obstacle is removed, or, in the first map, the movable obstacle is not used as a positioning reference point.

[0179] Here, the map processing method can be executed by a controller of an intelligent robot device such as a lawn mower or a cleaning robot.

[0180] In a possible implementation, the structure of the lawn mower is as described in any of the above embodiments and will not be described in detail here.

[0181] In a possible implementation, the sensor may include at least one of a laser radar, a visual sensor, an infrared sensor, and an ultrasonic sensor.

[0182] A dynamic obstacle may include an obstacle that is in motion at least during the scanning process of the sensor.

[0183] Non-dynamic obstacles may include obstacles that are not moving at least during the scanning process of the sensor.

[0184] The movable obstacle may include an obstacle that is not in a moving state at least during the scanning process of the sensor and has a moving probability greater than a predetermined probability after the sensor completes the scanning.

[0185] For example, a swing, parked bicycles, wheelchairs, toy cars, etc. in a lawn mower working environment may be stationary in the lawn mower mapping environment, but their location may change over time. If the intelligent robot device is positioned based on the movable obstacles in the map as a reference position, inaccurate positioning may occur due to the uncertainty of the position of the movable obstacles.

[0186] The movable obstacle may be stationary when the intelligent robot device constructs the first map, but the setting position of the movable obstacle will change over time, thereby affecting the positioning accuracy of the intelligent robot device. For example, when the intelligent robot device is operating, it will use the obstacle as a positioning reference point to determine the position of the intelligent robot device on the first map. Therefore, when the obstacle is a movable obstacle and the position of the movable obstacle changes, if the intelligent robot device still uses the movable obstacle as a positioning reference point, it will affect the positioning accuracy of the intelligent robot device.

[0187] Here, the first map may be determined based on the perception data. For example, the first map may be determined based on the perception data of the perspective sensor and / or the perception data of the laser radar.

[0188] The controller can obtain local maps obtained by the intelligent robot device through perception at multiple locations, and process the multiple local maps to obtain a first map of the working environment.

[0189] Here, the controller may identify obstacles in the first map based on the perception data, identify dynamic obstacles and non-dynamic obstacles, and then identify movable obstacles from the non-dynamic obstacles.

[0190] In a possible implementation, the controller may perform image recognition based on an image perceived by a visual sensor to determine a movable obstacle.

[0191] In one possible implementation, the controller may identify a movable obstacle based on the size of the obstacle. For example, the controller may determine an obstacle whose size is less than a predetermined size threshold as a movable obstacle. Here, the size may include at least one of length, width, height, and volume.

[0192] The controller can remove the movable obstacles in the first map, so that in the positioning of the intelligent robot device, a positioning reference point can be selected from non-dynamic obstacles that do not contain movable obstacles in the first map to improve the positioning accuracy.

[0193] Here, after determining the movable obstacle, the controller may mark the movable obstacle. The controller may also select obstacles other than movable obstacles from the non-dynamic obstacles in the first map as positioning reference points to reduce the impact of the movement of the movable obstacle on positioning and improve positioning accuracy.

[0194] In this way, by determining the movable obstacles among the non-dynamic obstacles, fixed non-obstructible objects can be used as positioning reference points to reduce the impact of the unpredictable movement of movable obstacles on the positioning reference, thereby improving the accuracy of positioning and further enhancing the user experience.

[0195] In some embodiments, the method further comprises:

[0196] Determine dynamic obstacles in the working environment based on the perception data of the working environment acquired by the sensor;

[0197] In the first map, the dynamic obstacle is removed, or, in the first map, the dynamic obstacle is not used as a positioning reference point.

[0198] Here, the controller may first determine the dynamic obstacle based on the perception data acquired by the sensor. The controller may determine the dynamic obstacle based on the perception data acquired at different times. For example, the controller may compare the image data acquired at different times, determine the difference between the image data acquired at different times after coordinate alignment, and determine the image content of the difference as a dynamic obstacle.

[0199] In one possible implementation, the controller may remove movable obstacles and / or dynamic obstacles in the first map.

[0200] In a possible implementation, the controller may not use movable obstacles and / or dynamic obstacles as positioning reference points in the first map.

[0201] The controller can remove dynamic obstacles in the first map, so that in the positioning of the intelligent robot device, a positioning reference point can be selected from obstacles that do not contain dynamic obstacles in the first map to improve positioning accuracy.

[0202] In one possible implementation, removing the dynamic obstacle and / or the movable obstacle may include removing the point cloud of the dynamic obstacle and / or the point cloud of the movable obstacle from the first map.

[0203] In one possible implementation, removing the dynamic obstacle and / or the movable obstacle may include removing identification information of the dynamic obstacle and / or identification information of the movable obstacle from the first map.

[0204] Here, after determining the dynamic obstacle, the controller may mark the dynamic obstacle. The controller may also select obstacles other than the dynamic obstacle in the first map as positioning reference points to reduce the impact of the movement of the dynamic obstacle on positioning and improve positioning accuracy.

[0205] In some embodiments, the sensor-based acquisition of sensor data of the working environment; the first map is determined at least based on the sensor data; including:

[0206] Obtain point cloud data of the working environment based on LiDAR;

[0207] The first map is determined based on at least the point cloud data.

[0208] LiDAR emits lasers, measures reflection time, and generates point cloud data of the lawn mower's current working environment.

[0209] The laser radar can scan the working environment at predetermined scanning intervals to obtain multiple frames of point cloud data. Here, one frame of point cloud data can constitute a local map of the working environment.

[0210] In a possible implementation, multi-frame point cloud data can be used to construct and update a first map of the working environment in real time through algorithms such as Simultaneous Localization and Mapping (SLAM).

[0211] In a possible implementation, the first map may be a map composed of point clouds.

[0212] In one possible implementation, the first map may be a digital map created using point cloud data.

[0213] The first map may be a three-dimensional map or a two-dimensional map.

[0214] In one possible implementation, the first map may be a point cloud map.

[0215] In some embodiments, the determining of dynamic obstacles in the working environment based on the sensory data of the working environment acquired by the sensor comprises:

[0216] The dynamic obstacles in the working environment are determined based on the point cloud data of the working environment acquired by the laser radar.

[0217] In one possible implementation, the controller may determine dynamic obstacles through point cloud data acquired during the process of creating the first map.

[0218] Here, the controller may first determine the dynamic obstacle based on the point cloud data acquired by the laser radar. The controller may determine the dynamic obstacle based on the point cloud data acquired at different times. For example, the controller may compare the point cloud data acquired at different times, determine the difference between the point cloud data acquired at different times after coordinate alignment, and determine the point cloud with the difference as a dynamic obstacle.

[0219] In some possible implementations, the method further includes: determining, in a first map of the working environment, movable obstacles among non-dynamic obstacles of the working environment based on image information of the working environment acquired by a visual sensor.

[0220] After determining the dynamic obstacles, the controller may perform image recognition based on the image of the working environment acquired by the visual sensor to determine the movable obstacles among the non-dynamic obstacles.

[0221] Here, a database object may be created in advance for the movable obstacle. When the identified obstacle belongs to the database, it is determined that the obstacle is a movable obstacle.

[0222] The determined movable obstacles can be determined by aligning the image with the point cloud data, thereby determining the point cloud of the movable obstacle.

[0223] In a possible implementation, in the first map, removing the dynamic obstacle may include at least one of the following:

[0224] The controller removes dynamic obstacles from the point cloud data during the process of creating the first map, i.e., after the laser radar acquires the point cloud data;

[0225] After the first map of the controller is created, dynamic obstacles are removed from the first map.

[0226] In this way, dynamic obstacles are determined by laser radar, and movable obstacles are determined by image recognition, which improves the accuracy of obstacle identification. By deleting dynamic obstacles and movable obstacles in the first map, fixed obstacles can be used as positioning reference points, thereby improving positioning accuracy and thus improving user experience.

[0227] In some embodiments, determining the dynamic obstacles in the working environment based on the point cloud data of the working environment acquired by the laser radar includes:

[0228] Extracting obstacles in the working environment from the point cloud data;

[0229] Obstacles whose position changes exceed the displacement threshold in the point cloud data at different times are determined as the dynamic obstacles.

[0230] When the laser radar scans the working environment, the point cloud data obtained by the laser radar may contain point cloud data of non-obstacles such as the ground in the working environment, affected by the laser radar's posture and / or scanning angle. The non-obstacle point cloud data will give an impression on whether the obstacle is dynamic. The processor can extract the point cloud of the obstacle from the point cloud data. The positions of the obstacles at different times are compared, and then whether the obstacle is a dynamic obstacle is determined based on the positions of the obstacles at different times.

[0231] In one possible implementation, the coordinates of the point cloud data at different times may be aligned, and then the coordinate positions of the obstacles may be compared.

[0232] Here, since the laser radar may be moving during the process of acquiring the working environment, that is, the position of the laser radar corresponding to the point cloud data at different times is different, therefore, the point cloud data can be aligned to the reference coordinate system (such as the world coordinate system) to compare the position coordinates of the obstacles in the reference coordinate system at different times.

[0233] like Figure 2 As shown in the figure, the scanning frequency of the laser radar on the lawn mower for the working scene is 5hz, so the interval of the laser radar posture on the lawn mower is 200ms. The distance moved by the lawn mower in 200ms interval is M_D=M_D2-M_D1. There is a moving vehicle in the scene. The corresponding point cloud cluster can be obtained through point cloud segmentation. Before and after 200ms, it is assumed that the coordinates of the vehicle point cloud cluster in the world coordinate system are P1 and P2 respectively. If P1=P2, then it must be in a stationary state, which proves that the obstacle is a static obstacle. Otherwise, it is a dynamic obstacle and needs to be deleted.

[0234] By extracting obstacles from point cloud data and determining the position of obstacles, the interference of non-obstacles can be reduced and the accuracy of dynamic obstacle determination can be improved.

[0235] In some embodiments, extracting obstacles in the working environment from the point cloud data includes:

[0236] Determining a ground point in the point cloud data based on a first normal of each point in the point cloud data;

[0237] Based on the Euclidean distances between non-ground points other than ground points in the point cloud data, clustering the non-ground points to obtain at least one point cluster, wherein a point cluster includes a plurality of non-ground points;

[0238] The point cluster is determined as an obstacle.

[0239] Here, the first normal is a perpendicular line to the plane where the midpoint of the point cloud data is located.

[0240] In a possible implementation, whether each point in the point cloud data is a ground point can be determined by comparing the first normal line with the ground perpendicular line.

[0241] Euclidean distance refers to the spatial straight-line distance between two non-ground points. Based on the spatial straight-line distance between two non-ground points, it can be determined whether two non-ground points belong to the same obstacle. A point can be used as the starting point for comparison to return all points whose Euclidean distance between adjacent points is less than a predetermined Euclidean distance threshold to a point cluster. A point cluster can constitute an obstacle.

[0242] In practical applications, Euclidean Cluster Extraction can be used to segment non-ground points and segment non-ground points in point cloud data into separate obstacles.

[0243] Specifically, Euclidean cluster segmentation clusters points together based on the Euclidean distance between them. It works similarly to density clustering, assuming that the points in the cluster are close to each other, and a set distance threshold is used to determine whether the points belong to the same cluster. Neighborhood search: First, perform a neighborhood search for each point in the point cloud to find all points within the set distance range. Clustering: For each unlabeled point, start a new cluster and recursively find the points adjacent to it and add these points to the same cluster. For each neighborhood point, continue to search its neighborhood until all points are processed. Cluster segmentation: Repeat the above process until all points in the point cloud are assigned to a cluster or marked as processed.

[0244] In a possible implementation, a point cluster whose volume is larger than a volume threshold may be determined as a non-movable obstacle. For example, obstacles such as houses are usually relatively large in volume.

[0245] In this way, by extracting non-ground points from the point cloud data and determining the point clusters formed by obstacles based on the Euclidean distance, the obstacle resolution success rate is improved, thereby improving the recognition rate of movable obstacles.

[0246] In some embodiments, determining a ground point in the point cloud data based on a first normal of each point in the point cloud data comprises:

[0247] Determine a covariance matrix based on the coordinates of a first point in the point cloud data and the coordinates of a second point within a range adjacent to the first point;

[0248] Determine the eigenvector corresponding to the minimum eigenvalue of the covariance matrix;

[0249] The eigenvector is determined as a first normal line of the first point;

[0250] When the included angle between the first normal and the second normal is less than an included angle threshold, the first point is determined to be a ground point, wherein the second normal is a vertical line to the ground.

[0251] Here, the first point may be any point in the point cloud data. The first normal of each point in the point cloud data may be determined.

[0252] In a possible implementation, the first point adjacent range may include one of the following:

[0253] A circular range with a predetermined radius and the first point as the center;

[0254] A K neighborhood range of a predetermined K value.

[0255] Here, the perpendicular line of the plane where the first point's adjacent range is located is taken as the first normal of the first point. According to the coordinates of the points in the adjacent range, the covariance matrix is ​​calculated, and the eigenvalue decomposition of the covariance matrix is ​​performed to find the eigenvector corresponding to the minimum eigenvalue. This eigenvector represents the normal direction of the adjacent range (local plane) where the first point is located.

[0256] In 3D space, the second normal of a ground point usually points in the vertical direction of the world coordinate system (usually the Z-axis direction). Therefore, by calculating the first normal of each point, we can determine which points belong to the ground based on the angle of the normal direction. The angle between the first normal and the second normal can be expressed as follows (1):

[0257]

[0258] in, The three-dimensional vector representing the first normal, The vector of the second normal is represented by θ, and the angle between the first normal and the second normal is represented by θ. If the angle between the first normal and the second normal is less than the angle threshold, the point may be a ground point. If the angle between the first normal and the second normal is greater than or equal to the angle threshold, the point may be a non-ground point.

[0259] For example, when the angle between the first normal of the first point and the perpendicular to the ground (the second normal) is less than 10 degrees, the first point is considered to be a ground point. When the angle between the first normal of the first point and the perpendicular to the ground (the second normal) is greater than or equal to 10 degrees, the first point is considered to be a non-ground point.

[0260] The normal of each point in the point cloud data is determined by the eigenvector corresponding to the minimum eigenvalue of the covariance matrix of the neighborhood range of the first point, which improves the accuracy of normal determination and enables accurate extraction of non-ground points.

[0261] In some embodiments, the step of determining dynamic obstacles in the working environment based on point cloud data of the working environment acquired by a laser radar; and removing the dynamic obstacles in the first map comprises:

[0262] Obtain point cloud data corresponding to M different time domain positions;

[0263] According to the point cloud data corresponding to each time domain position, a query annular point cloud grid with a predetermined radius corresponding to each time domain position is established with the posture corresponding to the laser radar at each time domain position as the center;

[0264] According to the first map, taking the position corresponding to each of the time domain positions of the laser radar as the center, establishing a map annular point cloud grid with a predetermined radius corresponding to each of the time domain positions;

[0265] The query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position are compared, and based on the comparison results corresponding to each time domain position, the non-dynamic obstacles obtained after removing the dynamic obstacles in the first map are determined.

[0266] In a possible implementation, the point cloud data corresponding to M different time domain positions may be obtained by a laser radar scanning a working environment at each time domain position.

[0267] For example, a lawn mower can acquire point cloud data of its working environment at intervals of 200ms. Similarly, a lidar also has a corresponding position at each time domain position.

[0268] In a possible implementation, the point cloud data corresponding to the M different time domain positions may be obtained after statistical processing of the point cloud data acquired by the laser radar.

[0269] For example, the point cloud data of each time domain position can be obtained by merging the point cloud data within a predetermined time range before and after the time domain position. Similarly, the position and posture corresponding to the lidar at each time domain position as the center can be the average value of the lidar position and posture within a predetermined time range before and after the time domain position.

[0270] Here, the point cloud grid can distribute each point to different grids based on the plane (plane perpendicular to the height) coordinates of the point in the point cloud data. Among them, the grid is the unit (or element) that makes up the point cloud grid. Each unit covers a certain plane area. A unit can have one or more points.

[0271] like Figure 3 The annular point cloud grid can be a grid with a circular coverage area centered on the posture corresponding to each of the time domain position laser radars.

[0272] In a possible implementation, the point cloud data corresponding to each time domain position is used to determine the first map, that is, the point cloud data is determined in the process of determining the first map.

[0273] For example, the point cloud data may be acquired in the process of constructing and updating a first map of the working environment in real time by using algorithms such as Simultaneous Localization and Mapping (SLAM).

[0274] By comparing the query annular point cloud grid and the map annular point cloud grid corresponding to each of the M time domain positions, the state change of the point in the point cloud data can be determined, and the dynamic obstacle and / or non-dynamic obstacle can be determined.

[0275] For example, the height changes of points in the same position grid in the query annular point cloud grid and the map annular point cloud grid may be compared, so as to determine dynamic obstacles and / or non-dynamic obstacles based on the height changes.

[0276] By comparing the query annular point cloud grid and the map annular point cloud grid corresponding to different time domain positions, the state change comparison in point cloud data can be realized, thereby improving the accuracy of obstacle status confirmation.

[0277] In some embodiments, the step of acquiring point cloud data corresponding to M different time domain positions includes:

[0278] Obtaining N frames of point cloud data acquired by the laser radar in each of the M different time domain positions;

[0279] The N frames of point cloud data corresponding to each time domain position are merged and down-sampled, and the point cloud data after the downsampling is determined as the point cloud data corresponding to the corresponding time domain position.

[0280] In the process of determining the first map, the laser radar scans the working environment at intervals to obtain multiple frames of point cloud data. Here, one frame of point cloud data may be point cloud data of the working environment obtained by the laser radar in one scanning cycle.

[0281] In a possible implementation, the controller may divide the multi-frame point cloud data acquired within a predetermined time period into M parts on average, each of which includes N frames of point cloud data. Each point cloud data corresponds to a time position. The controller may merge the N frames of point cloud data included in each part, and the merged point cloud data may increase the processing amount due to the large amount of data, so the data processing amount may be reduced by downsampling, thereby obtaining the downsampled point cloud data corresponding to each time domain position.

[0282] Exemplarily, N is 10 and M is 100. That is, the controller can divide 1000 frames of point cloud data acquired within a predetermined time period into 100 portions, each with 10 frames, and merge and downsample the point cloud data to obtain downsampled point cloud data corresponding to each time domain position.

[0283] By merging multiple frames of data, the measurement error of the lidar can be reduced; by downsampling, the amount of data processing can be reduced and the processing load can be reduced.

[0284] In some embodiments, the method further comprises:

[0285] The pose statistics of the N frames of point cloud data acquired by the laser radar in each of the M different time domain positions are used as the pose corresponding to the laser radar at each time domain position. In a possible implementation, the pose statistics may include one of the following: a pose average value and a pose median value.

[0286] Here, one time domain position corresponds to N frames of point cloud data, and each frame of point cloud data corresponds to a posture of the lidar.

[0287] Specifically, an average value of the N postures of each time domain position may be taken, and the average value of the posture corresponding to the time domain position may be used as the posture of the time domain position.

[0288] In some embodiments, the M different time domain positions are continuous time domain positions separated by a predetermined time length.

[0289] In a possible implementation, adjacent time domain positions in the M different time domain positions are separated by a predetermined time length.

[0290] By comparing the query annular point cloud grid and the map annular point cloud grid corresponding to the continuous time domain positions, it is easier to determine the points where movement occurs.

[0291] In some embodiments, the method of establishing a map annular point cloud grid with a predetermined radius corresponding to each of the time domain positions based on the first map and taking the position corresponding to each of the time domain position laser radars as the center includes:

[0292] Mapping the point cloud of the first map to a rectangular point cloud grid;

[0293] The points whose coordinates in the rectangular point cloud grid are located in the coordinate range of the query circular point cloud grid corresponding to the first time domain position among M different time domain positions are mapped to the circular point cloud grid with the same grid parameters as the query circular point cloud grid corresponding to the first time domain position, so as to obtain the map circular point cloud grid corresponding to the first time domain position.

[0294] To improve processing speed, the points in the first map can be mapped to a rectangular point cloud grid in advance. Figure 4 As described above, the rectangular point cloud grid can distribute each point to different grids based on the plane (plane perpendicular to the height) coordinates of the points in the point cloud data. Among them, the grid is the unit (or unit) that makes up the point cloud grid. Each unit covers a certain plane area. A unit can have one or more points. All grids form a rectangle.

[0295] Here, the query annular point cloud grid and the map annular point cloud grid corresponding to each time domain position have the same grid parameters.

[0296] In a possible implementation, the grid parameters may include: the center position of the grid, the radius of the grid, the coordinate range of each unit, and the position of each unit.

[0297] After determining a query annular point cloud grid of a time domain position, a map annular point cloud grid can be established based on the grid parameters of the query annular point cloud grid, and points in the rectangular point cloud grid can be mapped to the map annular point cloud grid based on the position of each point in the first map.

[0298] The rectangular point cloud grid can be used to more quickly map points in the first map to the map ring point cloud grid based on the coordinate ranges of different grids of the map ring point cloud grid, thereby improving efficiency.

[0299] In one possible implementation, a unique identifier can be set for each point in the first map, that is, points mapped from the first map to the rectangular point cloud grid and points mapped from the rectangular point cloud grid to the map annular point cloud grid can be identified based on the identifier.

[0300] In some embodiments, the method further comprises:

[0301] Determine a first grid and / or an obscured second grid in each query annular point cloud grid that is in the laser radar blind area;

[0302] The comparing the query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position includes:

[0303] The third grid of the query annular point cloud grid is compared with the fourth grid at the corresponding position of the third grid in the map annular point cloud grid at the same time domain position, wherein the third grid is a grid outside the first grid and / or the second grid in the query annular point cloud grid.

[0304] like Figure 5As shown, when the laser radar is scanning the working environment, the scanning range of the laser beam has a certain angle. The scanning range of the laser beam will also change due to the change of the laser radar posture. The laser radar blind area can be an area that the laser radar cannot reach and / or an area where a large error will occur when the laser radar scans. Based on querying the three-dimensional coordinates of the point in the annular point cloud grid, it can be determined whether the point is located in the laser radar blind area.

[0305] Here, the grid can be used as the smallest unit to determine whether the grid is located in the blind area of ​​the laser radar. By using the grid as the smallest unit to determine whether the grid is located in the blind area of ​​the laser radar, the complexity of point-by-point confirmation can be reduced, and the amount of processor calculation can be reduced.

[0306] Obstacles may be arranged along the direction in which the laser radar emits lasers, so that a first obstacle farther away from the laser radar may be blocked by a second obstacle closer to the laser radar, so that the laser radar cannot obtain an accurate point cloud of the second obstacle.

[0307] Here, the grid can be used as the smallest unit to determine whether the grid is in a blocked state. By using the grid as the smallest unit to determine whether the grid is in a blocked state, the complexity of confirming each point can be reduced, and the amount of processor calculation can be reduced.

[0308] The comparison between the map ring point cloud grid and the query ring point cloud grid can be compared with the grid as the smallest unit. On the one hand, it can reduce the complexity of single point comparison. On the other hand, it can also reduce the comparison errors caused by single point measurement errors.

[0309] The third grid corresponds to the fourth grid, and the position of the third grid may correspond to the position of the fourth grid.

[0310] By comparing the third grid and the fourth grid, the error caused by the comparison between the laser radar blind area grid and the blocked grid can be reduced, and the comparison accuracy between the query annular point cloud grid and the map annular point cloud grid can be improved, thereby making the determination of non-dynamic obstacles more accurate.

[0311] In some embodiments, determining the first grid in each query annular point cloud grid that is in the laser radar blind area includes:

[0312] Determine the maximum laser height and the minimum laser height of the laser beam of the laser radar in each grid area of ​​the query annular point cloud grid;

[0313] Determine a predetermined maximum height and a predetermined minimum height of a predetermined obstacle in each grid area of ​​the query annular point cloud grid;

[0314] In the query annular point cloud grid, a grid whose smaller one between the laser maximum height and the predetermined maximum height and whose maximum value between the laser minimum height and the predetermined minimum height has a difference less than an identification height threshold is determined as the first grid.

[0315] In one possible implementation, the maximum laser height of the laser beam of the laser radar within the grid area may include the maximum laser height of the laser beam of the laser radar at the center position of the grid area.

[0316] In one possible implementation, the minimum laser height of the laser beam of the laser radar within the grid area may include the minimum laser height of the laser beam of the laser radar at the center position of the grid area.

[0317] The range of obstacles allowed for each grid can be pre-set.

[0318] Specifically, Figure 6 As shown, the maximum and minimum heights visible to the radar at the center of the grid area can be calculated based on the x and y coordinates of the center of the query annular point cloud grid and the field of view of the radar.

[0319] The difference Δh between the smaller of the maximum laser height and the predetermined maximum height and the maximum value between the minimum laser height and the predetermined minimum height can be expressed by expressions (2) and (3):

[0320] Δh=min(h t ,T t )-max(h b ,T b ) (2)

[0321]

[0322] Among them, min(h t ,T t ) represents the smaller of the maximum height of the laser and the predetermined maximum height, h t Indicates the maximum height of the laser, T t Indicates the maximum height. max(h b ,T b ) represents the maximum value between the minimum laser height and the predetermined minimum height, h b Indicates the minimum height of the laser, T b Indicates the predetermined minimum altitude.

[0323] For example, considering the size of the actual obstacle, T t =3.0,T b= -0.3. That is, obstacles within 3m above the ground are usually considered, and dynamic obstacles will not be located underground and will not exceed 3m in height.

[0324] In some embodiments, determining the obscured second grid within each query annular point cloud grid includes:

[0325] A grid having an intermediate grid between the line connecting the center of the query annular point cloud grid and satisfying a first condition is determined as a second network; wherein the first condition includes:

[0326] The height difference of all points in the intermediate grid is greater than a first height difference threshold; and

[0327] The number of all points in the intermediate grid is greater than a number threshold.

[0328] like Figure 7 There are grids B, C, D and E between the grid A and the center of the query annular point cloud grid. If any one of the grids B, C, D and E meets the first condition, then grid A is the second grid.

[0329] If the height difference of all points in the middle grid is greater than the first height difference threshold, it can be considered that the middle grid has a higher height. If the number of all points in the middle grid is greater than the number threshold, it can be considered that the middle grid has a larger area. Therefore, when the middle grid has a higher height and a larger area, the probability of the grid behind the middle grid being blocked is higher.

[0330] In some embodiments, comparing the query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position, and determining the non-dynamic obstacle obtained after removing the dynamic obstacle from the first map based on the comparison results of M time domain positions, includes:

[0331] Determining a first height difference of all points in the third grid;

[0332] Determining a second height difference of all points in the fourth grid;

[0333] In response to a difference between the first height difference and the second height difference being greater than a difference threshold, adding a predetermined value to a count value corresponding to each non-ground point in the fourth grid;

[0334] The non-ground points in the first map whose count values ​​are less than the count threshold are determined as points of non-dynamic obstacles.

[0335] Here, the first height difference may be the height difference between the point with the largest height value in the third grid and the point with the smallest height value in the third grid. The second height difference may be the height difference between the point with the largest height value in the fourth grid and the point with the smallest height value in the fourth grid.

[0336] By comparing the difference between the first height difference and the second height difference, the change of the points in the same position grid can be determined. The greater the change, the greater the probability that the point in the grid belongs to a dynamic obstacle.

[0337] If the difference between the first height difference and the second height difference is greater than the difference threshold, the count value of the non-ground point in the fourth grid may be increased by a predetermined value.

[0338] In a possible implementation, the point in the fourth network may be determined to be a ground point using the method in the above embodiment, which will not be described in detail here.

[0339] In a possible implementation, the predetermined value may be 1.

[0340] In one possible implementation, the count value of a point may be associated with an identifier of the point.

[0341] The query annular point cloud grids corresponding to the M different time domain positions can be compared with the corresponding map annular point cloud grids. After M rounds of comparison between the query annular point cloud grids and the map annular point cloud grids, each point in the first map can obtain a final count value.

[0342] If the count value is less than the count threshold, it means that the probability of the point being a dynamic obstacle is small, and the corresponding point is determined to be a non-dynamic obstacle point. The non-dynamic obstacle point can be retained in the first map.

[0343] If the count value is greater than or equal to the count threshold, it means that the point is likely to be a dynamic obstacle, and the corresponding point is determined to be a dynamic obstacle point. The dynamic obstacle point can be deleted from the first map.

[0344] The points of dynamic obstacles are determined by comparing multiple time domain positions in grid units. The resolution of identifying dynamic obstacles can be improved by identifying dynamic obstacles in point units.

[0345] In some embodiments, the determining, based on the image information of the working environment acquired by the visual sensor, in the first map of the working environment, movable obstacles among the non-dynamic obstacles of the working environment comprises:

[0346] Using an obstacle recognition model to recognize the movable obstacle from the image and determine the boundary of the movable obstacle;

[0347] aligning the image and the first map;

[0348] Based on the boundary, movable obstacles of the first map are determined.

[0349] Here, the obstacle recognition model may include a machine learning artificial intelligence model. The obstacle recognition model can recognize obstacles in an image through training.

[0350] In one possible implementation, the obstacle recognition model may adopt a deep learning model.

[0351] Exemplarily, the obstacle recognition model may have the following functions:

[0352] (1) Feature extraction: Use convolutional layers to extract low-level and high-level features from the image.

[0353] (2) Candidate region generation: In Faster R-CNN, the region proposal network (RPN) generates candidate boxes, while YOLO and SSD directly predict object bounding boxes from convolutional features.

[0354] (3) Classification and regression: Objects are classified through a fully connected layer or a regression layer, and the precise location of the object is predicted by regression.

[0355] (4) Deep learning object detection algorithms learn to recognize different types of objects by training on a large amount of labeled data, and output the bounding boxes of these objects in the image and their categories.

[0356] In a possible implementation, the image and the first map may be aligned in a reference coordinate system, and the points included in the movable obstacles in the first map may be determined based on the boundaries of the movable obstacles determined by the obstacle recognition model in the image.

[0357] Through the obstacle recognition model, movable obstacles in the first map can be identified from non-dynamic obstacles, thereby improving the classification accuracy of obstacle judgment, and then the movable obstacles can be removed from the first map.

[0358] In some embodiments, determining, in the first map of the working environment, movable obstacles of the working environment includes:

[0359] Based on the user's operation instruction, in the first map of the working environment, a target indicated by the operation instruction is determined as a movable obstacle.

[0360] The controller can determine the movable obstacles in the first map based on image recognition. The user can also indicate the movable obstacles in the first map to the controller through operation instructions; in this way, on the one hand, the flexibility of determining the movable obstacles is improved; on the other hand, the accuracy of determining the movable obstacles can be improved by both the controller and the user determining the movable obstacles.

[0361] In some embodiments, removing the movable obstacle in the first map includes:

[0362] Based on the user's selection instruction, the movable obstacle indicated by the selection instruction is removed from the first map.

[0363] The identified movable obstacles may not necessarily move in different scenarios. For example, the probability of a swing moving is small in some scenarios, and is large in other scenarios. Therefore, the user may determine whether the movable obstacle needs to be removed from the first map.

[0364] Here, the controller can autonomously remove the movable obstacles from the first map, or the user can select the movable obstacles to be removed from the first map. In this way, the flexibility of removing the movable obstacles can be improved to adapt to different scenarios.

[0365] In some embodiments, in the first map, not using the movable obstacle as a positioning reference point includes:

[0366] In the first map, the movable obstacles are marked, and when the sensor selects the positioning reference point for positioning, the marked dynamic obstacles and / or the movable obstacles are discarded.

[0367] Here, after determining the movable obstacles, the controller can mark the movable obstacles, for example, using different marks to mark the movable obstacles and the immovable obstacles in the non-dynamic obstacles. When selecting the positioning reference points, the controller can only select the obstacles marked as immovable obstacles as the positioning reference points, thereby reducing the impact of the unpredictable movement of the non-dynamic obstacles on the positioning accuracy.

[0368] In combination with the above embodiments, a specific example is provided.

[0369] Complete technical solution:

[0370] Step 1: Identify dynamic obstacles through LiDAR;

[0371] Step 2: Use the camera to identify non-dynamic obstacles, identify potential movable obstacles (swings, toy cars, bicycles, etc.) and mark them. These obstacles will move in the garden. If these objects are marked as static obstacles and used as positioning reference points during positioning, these obstacles will affect the positioning accuracy and cause positioning deviation.

[0372] Step 3: These potentially movable obstacles are automatically deleted from the map or considered to be manually deleted. (Potentially movable obstacles that the user determines will not be moved for a long time will not be deleted from the map).

[0373] In step 1, there are two methods for identifying dynamic obstacles.

[0374] First method:

[0375] Step 1. Ground removal - separate the obstacle from the ground, thereby isolating the obstacle;

[0376] Remove the ground using normal estimation:

[0377] Normal Estimation is used to calculate the local normal vector of each point in the point cloud, which represents the local direction of the point cloud surface. By analyzing the normal direction, it can be used to filter out ground points. The basic principle of filtering out the ground is that the normal of the ground point is usually close to the vertical direction (usually parallel to the Z axis). We can distinguish ground points from other points by the direction of the normal.

[0378] The main steps include:

[0379] (1) Normal estimation

[0380] Normal estimation is performed by calculating the geometric relationship of a point to the points in its neighborhood. The normal vector of each point is the normal direction fitted based on the local plane of the point cloud around it.

[0381] Basic process:

[0382] Neighborhood search: For each point, find a set of points nearby (usually determined by a radius or K nearest neighbors search).

[0383] Covariance matrix calculation: Based on these neighborhood points, the covariance matrix is ​​calculated, which is based on the coordinate positions of these points.

[0384] Principal component analysis (PCA): By performing eigenvalue decomposition on the covariance matrix, the eigenvector corresponding to the minimum eigenvalue is found. This eigenvector represents the normal direction of the local plane where the point is located.

[0385] (2) Ground filtration

[0386] In 3D space, the normal of a ground point usually points in the vertical direction of the world coordinate system (usually the Z axis direction). Therefore, by calculating the normal of each point, we can determine which points belong to the ground based on the angle of the normal direction.

[0387] Angle between normal and Z axis: For the normal of each point, we can calculate its angle with the Z axis. If the normal is close to the Z axis (that is, the Z component is large), the point may be a ground point.

[0388] (3) Filter out non-ground points

[0389] Through the above normal estimation process, points whose normals point close to the Z axis can be identified as ground points. Next, these points are filtered by setting a threshold. For example, when the angle between the normal and the Z axis is less than a certain threshold (such as 10 degrees), the point is considered to be a ground point.

[0390] Step 2. Use point cloud segmentation to filter out static obstacles - filter out obstacles with larger volume (more point cloud data), such as houses. Such obstacles are generally static obstacles, and keep continuous and smaller obstacles;

[0391] pcl::EuclideanClusterExtraction point cloud segmentation.

[0392] pcl::EuclideanClusterExtraction is an algorithm for point cloud segmentation in PCL (Point Cloud Library). It divides the point cloud into multiple independent clusters based on Euclidean distance. This method is often used in scene understanding, object detection and point cloud post-processing applications, such as robot perception and 3D reconstruction.

[0393] Basic principle:

[0394] The basic idea of ​​EuclideanClusterExtraction is to cluster points together based on the Euclidean distance between them. It works similarly to density clustering, assuming that the points in the cluster are close to each other, and a set distance threshold is used to determine whether the points belong to the same cluster.

[0395] Neighborhood Search: First, a neighborhood search is performed for each point in the point cloud to find all points within a set distance range.

[0396] Clustering: For each unlabeled point, start a new cluster and add the points to the same cluster by recursively finding the points that are adjacent to it. For each neighboring point, continue to find its neighbors until all points have been processed.

[0397] Cluster segmentation: Repeat the above process until all points in the point cloud are assigned to a cluster or marked as processed.

[0398] Filter out larger point cloud clusters, such as houses. Such obstacles are generally static obstacles, and retain smaller point cloud clusters.

[0399] Step 3. As shown in the figure below, the laser radar output pose frequency on the lawn mower is 5 Hz, so the interval between two poses is 200ms. The distance the lawn mower moves in 200ms intervals is M_D=M_D2-MD1. There is a moving vehicle in the scene. The corresponding point cloud cluster can be obtained through point cloud segmentation. Before and after 200ms, assume that the coordinates of the point cloud cluster in the world coordinate system are P1 and P2 respectively. If P1=P2, then it must be in a stationary state, which proves that the obstacle is a static obstacle. Otherwise, it is a dynamic obstacle and needs to be deleted.

[0400] Second method:

[0401] Step 1. During SLAM mapping, after positioning each frame of point cloud, convert the point cloud to the local map coordinate system. Whenever N frames of point cloud in the local map coordinate system are accumulated, merge these point clouds and downsample them. The average pose of the N frames of point cloud is used as the pose of the merged point cloud (the pose of the lawn mower). In the merged point cloud, all points whose distance to the merged point cloud position is less than r are stored in a sub-point cloud, and the sub-point cloud is stored as an element in the dense_frames structure array.

[0402] Step 2. After SLAM mapping is completed, the point cloud map is post-processed. Each point in the map point cloud is stored back into the rectangular point cloud grid according to the x and y coordinates (fast). Each element in the rectangular point cloud grid is a sub-point cloud in the map point cloud, and each sub-point cloud contains all points in the map point cloud whose x and y coordinates are within a certain range.

[0403] Step 3. For each element in the dense_frames structure, calculate the area with radius r centered on its corresponding pose, and find all rectangular point cloud grids that overlap with the area in the x and y dimensions. Mark the points in the found rectangular point cloud grids that are inside the area.

[0404] Step 4. Copy the marked points to a circular fine grid, called the map circular grid, and record the rectangular point cloud grid where each point of each element (sub-point cloud) in the circular grid is located and its serial number in the rectangular point cloud grid. At the same time, store the corresponding elements in the dense_frames structure into a circular grid of the same size, called the query point cloud circular grid.

[0405] Step 5. Determine whether each point of each element (sub-point cloud) in the map ring grid is located in the radar blind area and whether it is blocked. The steps are as follows:

[0406] According to the x and y coordinates of the center of the region (the center of the ring grid) and the field of view of the radar, the maximum height and minimum height visible to the center of the region are calculated (with a specific formula). If the height difference (with a specific formula, which is related to the set height threshold of the object near the ground and the calculated maximum and minimum heights) is less than the threshold, it is considered that the map ring grid element to be judged is located in the radar blind area. The calculation method of the height difference Δh is shown in Expressions (2) and (3).

[0407] Find all the ring grid elements in the map ring grid that have the same angle as the current ring grid element to be judged and whose distance is less than the distance of the previous map ring grid element to be judged. For each map ring grid element found, calculate its height difference. If the height difference is greater than the threshold (it is considered to contain not only the ground), add up the number of laser points contained in this sub-point cloud. If the final total number of laser points is greater than the threshold, it is considered that the current map ring grid element to be judged is blocked. In the figure below, if A is the current ring grid element to be judged, then B, C, and D are all the ring grid elements that have the same angle as the current ring grid element to be judged and whose distance is less than the distance of the previous map ring grid element to be judged.

[0408] Step 6. For each map ring grid element that is not in the radar blind area and is not blocked, calculate its height difference (the highest point of the point cloud minus the lowest point), and the height difference of the corresponding query point cloud ring grid element. If the difference between the map shape grid element height difference and the query point cloud shape grid element height difference is greater than the threshold, extract the ground for the map ring grid element, and for all non-ground points, find the corresponding point in the rectangular point cloud grid according to the rectangular point cloud grid where it is located and its serial number in the rectangular point cloud grid, and add 1 to its mark bit (the initial value of the mark bit is 0).

[0409] Step 7. After traversing all elements in the dense_frames structure, merge all points in each element of the rectangular grid whose mark position is less than the threshold and store them as a static point cloud.

[0410] The specific method of step 2 is:

[0411] Step a. Align the camera and radar coordinate systems.

[0412] Step b. Deep learning is used to identify and classify objects.

[0413] Here are the steps:

[0414] (1) Feature extraction: Use convolutional layers to extract low-level and high-level features from the image.

[0415] (2) Candidate region generation: In Faster R-CNN, the region proposal network (RPN) generates candidate boxes, while YOLO and SSD directly predict object bounding boxes from convolutional features.

[0416] (3) Classification and regression: Objects are classified through a fully connected layer or a regression layer, and the precise location of the object is predicted by regression.

[0417] (4) Deep learning object detection algorithms learn to recognize different types of objects by training on a large amount of labeled data, and output the bounding boxes of these objects in the image and their categories.

[0418] Step c. Find the point cloud in the box corresponding to the dynamic obstacle

[0419] Figure 8 A map processing device 10 provided in an embodiment of the present application is shown, the device comprising: a processing module 11, the processing module is used to:

[0420] Determine dynamic obstacles in the working environment based on point cloud data of the working environment acquired by the laser radar;

[0421] Based on the image of the working environment acquired by the visual sensor, determining movable obstacles among the non-dynamic obstacles of the working environment in a first map of the working environment, wherein the first map is determined at least based on the point cloud data;

[0422] In the first map, the dynamic obstacles and / or the movable obstacles are removed.

[0423] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is specifically used to: extract obstacles in the working environment from the point cloud data;

[0424] Obstacles whose position changes exceed the displacement threshold in the point cloud data at different times are determined as the dynamic obstacles.

[0425] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0426] Determining a ground point in the point cloud data based on a first normal of each point in the point cloud data;

[0427] Based on the Euclidean distances between non-ground points other than ground points in the point cloud data, clustering the non-ground points to obtain at least one point cluster, wherein a point cluster includes a plurality of non-ground points;

[0428] The point cluster is determined as an obstacle.

[0429] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0430] Determine a covariance matrix based on the coordinates of a first point in the point cloud data and the coordinates of a second point within a range adjacent to the first point;

[0431] Determine the eigenvector corresponding to the minimum eigenvalue of the covariance matrix;

[0432] The eigenvector is determined as a first normal line of the first point;

[0433] When the included angle between the first normal and the second normal is less than an included angle threshold, the first point is determined to be a ground point, wherein the second normal is a vertical line to the ground.

[0434] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0435] Obtain point cloud data corresponding to M different time domain positions;

[0436] According to the point cloud data corresponding to each time domain position, taking the position and posture corresponding to the laser radar at each time domain position as the center, a query annular point cloud grid with a predetermined radius corresponding to each time domain position is established; according to the first map, taking the position and posture corresponding to each laser radar at the time domain position as the center, a map annular point cloud grid with a predetermined radius corresponding to each time domain position is established;

[0437] The query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position are compared, and based on the comparison results corresponding to each time domain position, the non-dynamic obstacles obtained after removing the dynamic obstacles in the first map are determined.

[0438] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0439] Get N frames of point cloud data acquired by the laser radar in a time domain position;

[0440] The N frames of point cloud data are merged and down-sampled, and the point cloud data after the down-sampling is determined as the point cloud data corresponding to the time domain position.

[0441] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is further used to:

[0442] The pose statistics of N frames of point cloud data acquired by the laser radar at the time domain position are used as the pose corresponding to the laser radar at the time domain position.

[0443] In combination with some embodiments of the second aspect, in some embodiments, the M different time domain positions are adjacent time domain positions.

[0444] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0445] Mapping the point cloud of the first map to a rectangular point cloud grid;

[0446] The points whose coordinates in the rectangular point cloud grid are located in the coordinate range of the query circular point cloud grid corresponding to the first time domain position among M different time domain positions are mapped to the circular point cloud grid with the same grid parameters as the query circular point cloud grid corresponding to the first time domain position, so as to obtain the map circular point cloud grid corresponding to the first time domain position.

[0447] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is further used to:

[0448] Determine a first grid and / or an obscured second grid in each query annular point cloud grid that is in the laser radar blind area;

[0449] The processing module is specifically used for:

[0450] The third grid of the query annular point cloud grid is compared with the fourth grid at the corresponding position of the third grid in the map annular point cloud grid at the same time domain position, wherein the third grid is a grid outside the first grid and the second grid in the query annular point cloud grid.

[0451] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is specifically used to:

[0452] Determine the maximum laser height and the minimum laser height of the laser beam of the laser radar in each grid area of ​​the query annular point cloud grid;

[0453] Determine a predetermined maximum height and a predetermined minimum height of a predetermined obstacle in each grid area of ​​the query annular point cloud grid;

[0454] In the query annular point cloud grid, a grid whose smaller one between the laser maximum height and the predetermined maximum height and whose maximum value between the laser minimum height and the predetermined minimum height has a difference less than an identification height threshold is determined as the first grid.

[0455] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0456] A grid having an intermediate grid between the line connecting the center of the query annular point cloud grid and satisfying a first condition is determined as a second network; wherein the first condition includes:

[0457] The height difference of all points in the intermediate grid is greater than a first height difference threshold; and

[0458] The number of all points in the intermediate grid is greater than a number threshold.

[0459] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0460] Determining a first height difference of all points in the third grid;

[0461] Determining a second height difference of all points in the fourth grid;

[0462] In response to a difference between the first height difference and the second height difference being greater than a difference threshold, adding a predetermined value to a count value corresponding to each non-ground point in the fourth grid;

[0463] The non-ground points in the first map whose count values ​​are less than the count threshold are determined as points of non-dynamic obstacles.

[0464] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0465] Using an obstacle recognition model to recognize the movable obstacle from the image and determine the boundary of the movable obstacle;

[0466] aligning the image and the first map;

[0467] Based on the boundary, movable obstacles of the first map are determined.

[0468] In conjunction with some embodiments of the second aspect, in some embodiments, the processing module is used to:

[0469] Based on the user's selection instruction, the movable obstacle indicated by the selection instruction is removed from the first map.

[0470] The present application also provides a lawn mower, which includes a control device.

[0471] In a possible implementation, the lawn mower further includes a walking system for enabling the lawn mower to walk, such as wheels, tracks, a driving assembly, and the like.

[0472] The control device is used to execute the above map processing method.

[0473] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above map processing method is implemented.

[0474] The computer-readable storage medium provided in this embodiment can execute the control method of the cleaning device in the above-mentioned embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.

[0475] The computer-readable storage medium mentioned above can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.

[0476] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist as discrete components in an electronic device or a main control device.

[0477] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.

[0478] The various embodiments or implementation methods in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referenced to each other.

[0479] In the description of this specification, reference to "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with the embodiments or examples are included in at least one embodiment or example of the present application. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0480] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A map processing method, characterized in that: The method comprises: Acquire sensory data of the working environment based on sensors; determining, in a first map of the working environment, movable obstacles among non-dynamic obstacles in the working environment, wherein the first map is determined based on at least the perception data; In the first map, the movable obstacle is removed, or, in the first map, the movable obstacle is not used as a positioning reference point.

2. The method according to claim 1, characterized in that The method further comprises: Based on the perception data of the working environment acquired by the sensor, dynamic obstacles in the working environment are determined; in the first map, the dynamic obstacles are removed, or, in the first map, the dynamic obstacles are not used as positioning reference points.

3. The method according to claim 1, characterized in that The sensor-based acquisition of sensor data of the working environment; The first map is determined at least according to the perception data; comprising: Obtain point cloud data of the working environment based on LiDAR; The first map is determined based on at least the point cloud data.

4. The method according to claim 2, characterized in that: The step of determining dynamic obstacles in the working environment based on the sensing data of the working environment acquired by the sensor comprises: The dynamic obstacles in the working environment are determined based on the point cloud data of the working environment acquired by the laser radar.

5. The method according to claim 4, characterized in that The step of determining the dynamic obstacles in the working environment based on the point cloud data of the working environment acquired by the laser radar includes: Extracting obstacles in the working environment from the point cloud data; Obstacles whose position changes exceed the displacement threshold in the point cloud data at different times are determined as the dynamic obstacles.

6. The method according to claim 4, characterized in that Determining dynamic obstacles in the working environment based on point cloud data of the working environment acquired by the laser radar; In the first map, removing the dynamic obstacle; comprising: Obtain point cloud data corresponding to M different time domain positions; According to the point cloud data corresponding to each time domain position, a query annular point cloud grid with a predetermined radius corresponding to each time domain position is established with the posture corresponding to the laser radar at each time domain position as the center; According to the first map, taking the position corresponding to each of the time domain positions of the laser radar as the center, establishing a map annular point cloud grid with a predetermined radius corresponding to each of the time domain positions; The query annular point cloud grid and the map annular point cloud grid corresponding to the same time domain position are compared, and based on the comparison results corresponding to each time domain position, the non-dynamic obstacles obtained after removing the dynamic obstacles in the first map are determined.

7. The method according to any one of claims 1 to 6, characterized in that: Determining, in a first map of the working environment, movable obstacles in the working environment includes: Based on the image information of the working environment acquired by the visual sensor, movable obstacles among the non-dynamic obstacles of the working environment are determined in a first map of the working environment.

8. The method according to any one of claims 1 to 6, characterized in that: Determining movable obstacles of the working environment in a first map of the working environment includes: Based on the user's operation instruction, in the first map of the working environment, a target indicated by the operation instruction is determined as a movable obstacle.

9. The method according to any one of claims 1 to 6, characterized in that: The removing of the movable obstacle in the first map includes: Based on the user's selection instruction, the movable obstacle indicated by the selection instruction is removed from the first map.

10. A map processing device, characterized in that: The device comprises: a processing module, wherein the processing module is used for: Acquiring sensory data of a working environment based on a sensor; determining movable obstacles among non-dynamic obstacles in the working environment in a first map of the working environment, wherein the first map is determined at least based on the sensory data; In the first map, the movable obstacle is removed, or, in the first map, the movable obstacle is not used as a positioning reference point.

Citation Information

Patent Citations

  • Dynamic object filtering method for mapping of autonomous mobile robot

    CN113240713A

  • Static obstacle map based perception method and system

    CN113496189A

  • Target detection and tracking method and system based on multi-dimensional point cloud features

    CN114419152A

  • Post-processing method for dynamic obstacles in 3D laser slab mapping

    CN114638934A

  • Map generation apparatus, map generation method, and control program

    JP2014203429A

Cited By

  • Map processing method and apparatus, and lawn mower and storage medium

    WO2026113413A1