Autonomous exploration mapping method of cleaning robot and cleaning robot

The data is obtained through the laser sensor of the cleaning robot for dedistortion processing and probability grid map construction, which solves the problem of independent exploration and mapping of cleaning robots that require human intervention in the existing technology, and realizes efficient and independent construction of work scenario maps and obstacle avoidance.

CN120370909APending Publication Date: 2025-07-25LONGTO (SUZHOU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510287917.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-12
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

Existing cleaning robots need to use human intervention to build global maps in work scenarios, resulting in low efficiency and insaneity.

Method used

The laser data is obtained by cleaning the robot's laser sensor, dedistortion processing is performed, probability grid map is constructed, paths are planned, and unknown areas are explored independently, and independent map construction is achieved by combining dynamic obstacle avoidance methods.

Benefits of technology

The cleaning robot independently constructs a work scene map without human intervention, improves cleaning efficiency and intelligence, and avoids collision with dynamic obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120370909A_ABST
    Figure CN120370909A_ABST
Patent Text Reader

Abstract

The invention provides an autonomous exploration mapping method of a cleaning robot and the cleaning robot. The autonomous exploration mapping method of the cleaning robot comprises the following steps: obtaining laser data through a laser sensor of the cleaning robot; carrying out distortion removal processing on the laser data; obtaining a local map of the working environment of the cleaning robot according to the laser data; taking the current position of the cleaning robot as a starting point, taking one of the unknown grids as a target point, and obtaining a path from the starting point to the target point; performing global path planning on a path from the starting point to the target point to obtain a global path; carrying out local path planning on the movement process of the cleaning robot according to the global path, and obtaining a plurality of local paths; and controlling the cleaning robot to move along the local path, and filling the unknown grid through a local map, obtained by a laser sensor of the cleaning robot, of the working environment of the cleaning robot so as to construct a map of the working scene of the cleaning robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a method for autonomous exploration and mapping of a cleaning robot and a cleaning robot. Background Art

[0002] Currently, cleaning robots, such as household floor sweeping robots, commercial floor sweeping robots, commercial floor washing and mopping integrated robots, commercial floor grinding robots, and commercial carpet cleaning robots, etc., have been widely used in the cleaning work of scenarios such as homes, hotels, conference centers, shopping malls, and exhibition centers.

[0003] In order for a cleaning robot to efficiently perform cleaning operations in a working scenario, it needs to know the global map of the working scenario, so as to plan a cleaning route based on this, otherwise, if it executes a cleaning with a random route every time, the work efficiency is low and the cleaning effect is not good.

[0004] In order for a cleaning robot to construct a global map of the working scenario, the methods for it to scan the working scenario map through its own sensors mainly include two ways: remote control and manual pushing. No matter which way, it needs the intervention of people, which not only increases the workload of people, but also makes the cleaning robot seem not intelligent enough. Summary of the Invention

[0005] The present disclosure provides a method for autonomous exploration and mapping of a cleaning robot and a cleaning robot.

[0006] According to one aspect of the present disclosure, a method for autonomous exploration and mapping of a cleaning robot is provided, which includes:

[0007] Obtaining laser data through a laser sensor of the cleaning robot; performing de-distortion processing on the laser data;

[0008] Obtaining a local map of the working environment of the cleaning robot according to the laser data; wherein, the local map adopts a probability grid map; and using at least part of the probability grid map to fill part of the grids in the original global map, and taking the part of the grids filled with the probability grid map as known grids; and making the remaining part of the grids in the original global map represent unknown grids;

[0009] Taking the current position of the cleaning robot as the starting point and taking one of the grids in the unknown grids as the target point, obtaining a path from the starting point to the target point;

[0010] Performing global path planning on the path between the starting point and the target point to obtain a global path;

[0011] Performing multiple local path planning on the movement process of the cleaning robot according to the global path and obtaining multiple local paths;

[0012] Control the cleaning robot to move along a local path, and fill the unknown grid with a local map of the working environment of the cleaning robot obtained by the laser sensor of the cleaning robot, so as to realize the construction of the map of the working scenario of the cleaning robot.

[0013] According to the autonomous exploration and mapping method of the cleaning robot according to at least one embodiment of the present disclosure, the distortion removal process of the laser data includes:

[0014] Obtain the timestamp of the laser data;

[0015] Obtain the previous odometer timestamp and the next odometer timestamp of the timestamp according to the timestamp of the laser data; and obtain the size of the odometer corresponding to the timestamp of the laser data;

[0016] Obtain the odometer size corresponding to the first laser beam and the time interval of each laser beam, and obtain the odometer change amount corresponding to the i-th laser beam according to the time interval of each laser beam;

[0017] Obtain the undistorted laser coordinates according to the original coordinate value of the i-th laser beam and the odometer change amount corresponding to the i-th laser beam.

[0018] According to the autonomous exploration and mapping method of the cleaning robot according to at least one embodiment of the present disclosure, taking the current position of the cleaning robot as the starting point and a grid in the unknown grid as the target point, obtaining the path from the starting point to the target point includes:

[0019] Set the cost value of the starting point to 0;

[0020] Taking the starting point as the center point, judge whether there is an unknown grid in the area around the starting point, where the cost value of the unknown grid is -1;

[0021] If there is an unknown grid, determine the unknown grid as the target point; if there is no unknown grid, set the starting point as the parent node, set the nodes around the starting point as child nodes, and update the cost values of the child nodes. Taking each child node as the center point, check whether there is an unknown grid in the area around the child node; until an unknown grid is obtained, and set the unknown grid as the target point;

[0022] Starting from the target point, find the parent node of the target until backtracking to the starting point to obtain a path.

[0023] According to the autonomous exploration and mapping method of the cleaning robot according to at least one embodiment of the present disclosure, when the area of the target point and the unknown grid connected to the target point is less than a preset threshold, discard the path from the starting point to the target point.

[0024] The autonomous exploration and mapping method of a cleaning robot according to at least one embodiment of the present disclosure performs multiple local path planning on the movement process of the cleaning robot according to the global path and obtains multiple local paths, including:

[0025] Select a point from the global path as the initial local target point;

[0026] Set a dynamic window, the center of which is the center of the cleaning robot, and the intersection of the edge of the dynamic window and the global path is the initial local target point;

[0027] Judge whether there are obstacles near the initial local target point; if there are obstacles near the initial local target point, then on the global path, judge whether there are obstacles in the points in front of the initial local target point until the nearest obstacle-free point is found, and use this obstacle-free point as the final local target point, so as to obtain the local path from the cleaning robot to the final local target point.

[0028] The autonomous exploration and mapping method of a cleaning robot according to at least one embodiment of the present disclosure judges whether the distance between the cleaning robot and the final local target point is greater than a set threshold; if the distance between the cleaning robot and the final local target point is less than the set threshold, discard this local target point and reselect the local target point.

[0029] The autonomous exploration and mapping method of a cleaning robot according to at least one embodiment of the present disclosure controls the cleaning robot to move along the local path so that the cleaning robot moves to the unknown grid. Among them, during the movement of the cleaning robot, a dynamic obstacle avoidance method is used to prevent the cleaning robot from colliding with dynamic obstacles.

[0030] The autonomous exploration and mapping method of a cleaning robot according to at least one embodiment of the present disclosure uses a dynamic obstacle avoidance method to prevent the cleaning robot from colliding with dynamic obstacles, including:

[0031] Obtain the minimum obstacle avoidance range in the X direction of the cleaning robot in the stationary state and the minimum obstacle avoidance range in the Y direction of the cleaning robot in the stationary state according to the size of the cleaning robot;

[0032] Set the maximum obstacle avoidance unit in the X direction of the cleaning robot in the moving state and the maximum obstacle avoidance range in the Y direction of the cleaning robot in the moving state;

[0033] Obtain the minimum obstacle avoidance range in the X direction of the cleaning robot in the moving state and obtain the minimum obstacle avoidance range in the Y direction of the cleaning robot in the moving state according to the minimum obstacle avoidance range in the X direction of the cleaning robot in the stationary state, the minimum obstacle avoidance range in the Y direction of the cleaning robot in the stationary state, the maximum obstacle avoidance range in the X direction of the cleaning robot in the moving state, and the maximum obstacle avoidance range in the Y direction of the cleaning robot in the moving state;

[0034] When the dynamic obstacle moves into the minimum obstacle avoidance range in the X direction of the cleaning robot in motion state and the minimum obstacle avoidance range in the Y direction of the cleaning robot in motion state, the cleaning robot is controlled to stop moving.

[0035] For the autonomous exploration and mapping method of a cleaning robot according to at least one embodiment of the present disclosure, the minimum obstacle avoidance range Lx(v) in the X direction of the cleaning robot in motion state and the minimum obstacle avoidance range Ly(v) in the Y direction of the cleaning robot in motion state are calculated by the following formula:

[0036]

[0037] L y (v) = min(L ymin + v * ρ, L ymax )

[0038] where v is the current speed of the cleaning robot, a is the maximum deceleration currently set for the cleaning robot, t is the time for one cycle of the program to execute, and ρ is a proportionality coefficient used to expand the obstacle avoidance range in the y direction.

[0039] According to another aspect of the present disclosure, a cleaning robot is provided, which includes a controller for executing the autonomous exploration and mapping method of the cleaning robot described above. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] The drawings illustrate exemplary embodiments of the present disclosure and, together with the description thereof, are used to explain the principles of the present disclosure. These drawings are included to provide a further understanding of the present disclosure and are included in this specification and form a part of this specification.

[0041] Figure 1 is a flowchart of the autonomous exploration and mapping method of a cleaning robot according to an embodiment of the present disclosure.

[0042] Figures 2 to 15 is a schematic diagram of an intermediate state of target point searching according to an embodiment of the present disclosure.

[0043] Figure 16 is a flowchart of global path planning and local path planning according to an embodiment of the present disclosure.

[0044] Figure 17 and Figure 18 is a flowchart of local path planning according to an embodiment of the present disclosure.

[0045] Figure 19 is a schematic structural diagram of the obstacle avoidance range of a cleaning robot according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0046] The present disclosure will be further described in detail below in conjunction with the accompanying drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the relevant content and do not limit the present disclosure. Additionally, it should be noted that for the sake of convenience of description, only the parts related to the present disclosure are shown in the accompanying drawings.

[0047] It should be noted that, without conflict, the embodiments in the present disclosure and the features in the embodiments can be combined with each other. The technical solutions of the present disclosure will be described in detail below with reference to the accompanying drawings and embodiments.

[0048] Unless otherwise specified, the exemplary embodiments / Examples shown are understood to provide exemplary features of various details of some ways in which the technical concept of the present disclosure can be implemented in practice. Therefore, unless otherwise specified, without departing from the technical concept of the present disclosure, the features of various embodiments / Examples can be additionally combined, separated, interchanged, and / or rearranged.

[0049] In the accompanying drawings, cross-hatching and / or shading are generally used to make the boundaries between adjacent components clear. Thus, unless stated otherwise, the presence or absence of cross-hatching or shading does not convey or imply any preference or requirement for the specific material, material properties, dimensions, ratios, commonality between the components shown, and / or any other characteristics, attributes, properties, etc. of the components. Additionally, in the accompanying drawings, for the sake of clarity and / or descriptive purposes, the dimensions and relative dimensions of the components may be exaggerated. When the exemplary embodiments can be implemented differently, the specific process sequences can be performed in a different order than described. For example, two consecutively described processes can be performed substantially simultaneously or in an order opposite to the described order. Additionally, the same reference numerals denote the same components.

[0050] When a component is referred to as being "on" or "above" another component, "connected to" or "coupled to" another component, the component can be directly on the other component, directly connected to or directly coupled to the other component, or there can be an intermediate component. However, when the component is referred to as being "directly on" another component, "directly connected to" or "directly coupled to" another component, there is no intermediate component. For this reason, the term "connection" can refer to a physical connection, an electrical connection, etc., and can have or not have an intermediate component.

[0051] For descriptive purposes, the present disclosure may use spatial relative terms such as "under", "below", "beneath", "lower", "above", "upper", "on", "higher", and "side (e.g., as in "sidewall")" to describe the relationship of one component to another (other) component as shown in the drawings. In addition to the orientation depicted in the drawings, the spatial relative terms are also intended to encompass different orientations of the device during use, operation, and / or manufacture. For example, if the device in the drawings is flipped, a component described as "under" or "beneath" another component or feature will then be positioned "above" the other component or feature. Thus, the exemplary term "under" can encompass both "above" and "below" orientations. In addition, the device may be otherwise positioned (e.g., rotated 90 degrees or at other orientations), and accordingly, the spatial relative descriptors used herein are to be interpreted.

[0052] The terms used herein are for the purpose of describing particular embodiments and are not intended to be limiting. As used herein, unless the context clearly indicates otherwise, the singular forms "a", "an", and "the" are also intended to include the plural forms. In addition, when the terms "comprises" and / or "comprising" and their variants are used in this specification, it is stated that there are the stated features, integers, steps, operations, components, assemblies, and / or groups thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, components, assemblies, and / or groups thereof. It should also be noted that, as used herein, the terms "substantially", "about", and other similar terms are used as approximate terms and not as terms of degree, and thus are used to explain the inherent deviations of measured, calculated, and / or provided values that would be recognized by a person of ordinary skill in the art.

[0053] Figure 1 is a flowchart of an autonomous exploration and mapping method of a cleaning robot according to an embodiment of the present disclosure.

[0054] As Figure 1As shown, the autonomous exploration and mapping method of the cleaning robot of the present disclosure may include: S110. Obtain laser data through the laser sensor of the cleaning robot; perform distortion removal processing on the laser data; S120. Obtain a local map of the working environment of the cleaning robot according to the laser data; wherein, the local map uses a probability grid map; and use at least part of the probability grid map to fill part of the grid in the original global map, and use the part of the grid filled with the probability grid map as known grids; and make the remaining part of the grid in the original global map represent unknown grids; S130. Take the current position of the cleaning robot as the starting point, and take one of the unknown grids as the target point to obtain a path from the starting point to the target point; S140. Perform global path planning on the path between the starting point and the target point to obtain a global path; S150. Perform multiple local path planning on the movement process of the cleaning robot according to the global path, and obtain multiple local paths; S160. Control the cleaning robot to move along the local path, and fill the unknown grid with the local map of the working environment of the cleaning robot obtained by the laser sensor of the cleaning robot, so as to realize the construction of the map of the working scenario of the cleaning robot.

[0055] The autonomous exploration and mapping method of the cleaning robot of the present disclosure will be described in detail below in conjunction with specific implementation forms.

[0056] The prerequisite for the cleaning robot to efficiently perform cleaning operations is to have already constructed a global map of the working scenario in advance. Especially for large-scene public areas, the cleaning robot can perform tasks such as floor cleaning, mopping, polishing, and grinding based on the already constructed global map of the scenario.

[0057] The cleaning robot scans the two-dimensional distance information at a certain height of the working scenario through the laser sensor, and continuously obtains the laser data of each time frame, and then a global two-dimensional grid map Θ of the working scenario can be constructed, which is characterized as indicating the label value of the pixel point [u, v] in the two-dimensional map of the working scenario T wherein, is the set of horizontal and vertical coordinates of the two-dimensional map pixel points. The global two-dimensional map of the working scenario can represent the working scenario as a certain number of square small grids arranged horizontally and vertically, that is, map pixel points, and the physical size corresponding to the square small grid is set to κ.

[0058] The global two-dimensional map constructed by the cleaning robot, where each two-dimensional map pixel corresponds to a physical square grid of a certain size in the actual working scenario. Based on this small grid area, whether the cleaning robot can pass through or clean it can be divided into a cleanable area and a non-cleanable area. The cleanable area, that is, the area where the robot can drive, is also called the obstacle-free area, and the label value of the corresponding pixel is represented by the number 1; the non-cleanable area, that is, the area where the robot cannot reach, such as walls, pillars, etc., is also called the obstacle area, and the label value of the corresponding pixel is represented by the number 0; of course, some restricted areas and restricted lines can also be artificially set in the global map to prevent the cleaning robot from passing through this area, turning the obstacle-free area into an obstacle area, so that the robot will no longer clean this part of the area. Considering that the scanning and sensing range of the laser sensor is limited and there is a certain sensing angle, for the label value of the working scenario area that cannot be scanned, it is represented by -1, that is, the undetermined area, and its expression is:

[0059]

[0060] The global two-dimensional grid map Θ of the working scenario constructed by the cleaning robot can be regarded as a black-and-white two-dimensional image composed of small grids. Considering the reason of the display size of the image, the grids are very small and can be regarded as pixel points.

[0061] After constructing the global two-dimensional grid map of the working scenario, in order to improve the cleaning efficiency, it is necessary to divide the global two-dimensional map of the working scenario into local sub-regions of a certain size and then perform an orderly cleaning task on each local sub-region. The main purpose of doing this is to subdivide a very large working scenario to ensure the orderliness and efficiency of cleaning.

[0062] Considering the different complexities of each working scenario, such as different sizes, shapes, and layouts, etc., first use the general global map segmentation module algorithm to effectively divide the area to be cleaned into local sub-map areas and mark the corresponding label values in turn. Then the cleaning robot can clean each sub-map area in order according to the label value sequence, which can not only improve the cleaning efficiency but also ensure the consistency of the visual effect of each cleaning trajectory. Mark each sub-map area as Θ ω , which is characterized as: where ω is a value from 1 to W, and W is the number of sub-map areas after global map segmentation processing. The label value of the cleanable pixels in the sub-map area Θ ω is ω:

[0063]

[0064] The minimum number of unknown grids is generally defined as the number of grids occupied by the sweeping robot. Assuming the diameter of the robot is d and the map resolution is r, then the minimum number of grids

[0065] S110. Obtain laser data through the laser sensor of the cleaning robot; perform distortion removal processing on the laser data.

[0066] Due to the influence of the robot's own movement, the laser data will be distorted, affecting the mapping quality. Therefore, distortion removal is performed on the original laser data.

[0067] Specifically, the distortion removal processing of the laser data includes: obtaining the timestamp of the laser data; obtaining the previous odometer timestamp and the next odometer timestamp according to the timestamp of the laser data; and obtaining the size of the odometer corresponding to the timestamp of the laser data; obtaining the odometer size corresponding to the first beam of laser and the time interval of each beam of laser, and obtaining the odometer change amount corresponding to the i-th beam of laser according to the time interval of each beam of laser; obtaining the distorted laser coordinates according to the original coordinate value of the i-th beam of laser and the odometer change amount corresponding to the i-th beam of laser.

[0068] Assume that the laser timestamp is t, and the timestamp of the previous frame of odometer is t p , and it is necessary to obtain the size of the odometer at the laser timestamp, including the speed (v l , w l ), coordinates (x l , y l , θ l ), as follows:

[0069]

[0070] In the formula, (v p , w p ) is the speed value of the previous frame of odometer, (x p , y p , θ p ) is the position coordinate of the previous frame of odometer, t p is the timestamp of the previous frame of odometer, (v n , w n ) is the speed value of the next frame of odometer, (x n , y n , θ n ) is the position coordinate of the next frame of odometer, t n is the timestamp of the next frame of odometer.

[0071] Since the laser is a single-line laser, only one beam of light is emitted and returned at the same time. Therefore, there is a large deviation between the first beam of light and the last beam of light, and the robot is distorted during movement. Therefore, all the beams of light in one frame of laser need to be unified into the coordinate system of the first beam of light. Assuming that the timestamp of the first frame of laser is t0, according to the above formula, the current odometer can be obtained as (x0, y0, θ0, v0, w0), the frequency of the laser is f, and the number of beams of light in one frame of laser is n. Then the time interval between each beam of light is The timestamp of the i-th beam of light is t i = t0 + (i - 1) * Δt. The following formula is the change in the odometer of the i-th beam of light:

[0072] Δθ i =(t i - t0) * w0

[0073]

[0074] The laser coordinates after distortion removal are:

[0075] l ix_correct =(Δx i - P x ) * cos(P θ )+(Δy i - P y ) * sin(P θ )+ P x * cos(Δθ i - P θ ) -

[0076] P y * sin(Δθ i - P θ )+ l ix * cos(Δθ i ) - l iy * sin(Δθ i )

[0077] l iy_correct =(Δy i - P y ) * cos(P θ )-(Δx i - P x ) * sin(P θ )+ P x * sin(Δθ i - P θ )+

[0078] P y * cos(Δθ i - P θ )+ lix *sin(Δθ i )+l iy *cos(Δθ i )

[0079] where (P x , P y , P θ ) is the installation position of the laser relative to the robot, and (l ix , l iy ) is the original coordinate value of the i-th laser beam.

[0080] S120. Obtain a local map of the working environment of the cleaning robot according to the laser data; wherein, the local map adopts a probability grid map; and use at least part of the probability grid map to fill part of the grids in the original global map, and use the filled part of the probability grid map as known grids; and make the remaining part of the grids in the original global map represent unknown grids.

[0081] That is to say, in the autonomous exploration mapping method of the cleaning robot of the present disclosure, a blank map can be provided first. The map includes a plurality of grids. At this time, all grids are unknown grids.

[0082] Next, the cleaning robot can be placed in the space where the map is to be built. At this time, the value of the grid corresponding to the position of the cleaning robot in the map is modified to 1, that is, there is no obstacle in the area of the working scene corresponding to the grid.

[0083] Then control the movement of the cleaning robot, and jointly construct a local map through the laser sensor and odometer of the cleaning robot. The process of constructing the local map can be realized by the SLAM method. Among them, the local map can be a probability grid map. Specifically, the cleaning robot can map the scanned obstacle points to the grid and update the probability value of the corresponding grid. The larger the probability value, the higher the possibility that there is an obstacle in the grid. Among them, each grid has three states, namely unknown, miss, and hit.

[0084] When the cleaning robot moves for a preset time, it can complete the construction of part of the map. Specifically, the construction of the local sub-map involves coordinate transformation. Taking the pose of a certain frame of laser as a reference, the pose of the later added laser is represented by the relative transformation matrix T ξ =(R ξ , t ξ ), and the laser data can be converted into the local sub-map coordinate system representation by the following formula:

[0085]

[0086] where h kIt is a certain frame of radar data. ξ θ is the angular change amount of the newly added laser pose relative to the previous frame of laser pose, ξ x , ξ y is the displacement change amount of the newly added laser pose relative to the previous frame of laser pose.

[0087] The grid at the end point of the beam has obstacles, and the grid occupied by the line connecting the starting point and the ending point of the beam has no obstacles. Since the grids in the sub - map may be covered by more than one frame of laser, the grid probability needs to be updated. Specifically, there are two cases.

[0088] 1. If the grid is in an unknown state, it is directly updated with the following formula:

[0089]

[0090] 2. If the grid has been covered and already has a value M old , it is updated with the following formula:

[0091]

[0092] Among them, clamp is an interval - limiting function. When the function value exceeds the maximum value of the set interval, it is processed as the maximum value. When the function value is less than the minimum value of the set interval, it is processed as the minimum value.

[0093] As the mapping scale expands, the overall cumulative error will become larger, and the map may show a ghosting phenomenon. By performing loop closure detection, the loop closure constraint can be added to the entire mapping constraint, and a global optimization of the global pose constraint can be performed to eliminate the influence of the cumulative error.

[0094] During the local mapping process, the ICP method (Iterative Closest Point, that is, the nearest - point search method) is used to perform local optimization of the pose. In loop closure detection, the search - matching window needs to be larger and the accuracy requirement is higher. Therefore, a more efficient and accurate matching algorithm needs to be used. The following formula is the mathematical expression for loop closure detection:

[0095]

[0096] The M nearest function value in the formula is actually the probability value corresponding to the grid covered by the radar data point T ξ ·h k When the search result ξ is equal to the true pose of the current frame of radar pose, the matching degree between the current radar data and the map is very high, that is, each M nearest function value is relatively large, and then the sum result is also the largest.

[0097] To reduce the search computation amount, the branch and bound method is adopted to improve the search efficiency. Branch and bound means first matching with a low-resolution map, then eliminating the branches with low scores, and then increasing the resolution until the branch with the highest score is found.

[0098] First, divide the search window into 4 regions, calculate the scores respectively, then select the region with the highest score as the new search window, divide it into 4 regions again after increasing the resolution, until the search resolution reaches the set minimum resolution.

[0099] S130: Taking the current position of the cleaning robot as the starting point and a grid in the unknown grid as the target point, obtain the path from the starting point to the target point.

[0100] Specifically, taking the current position of the cleaning robot as the starting point and a grid in the unknown grid as the target point to obtain the path from the starting point to the target point in the present disclosure includes: setting the cost value of the starting point to 0; taking the starting point as the center point, judging whether there is an unknown grid in the neighborhood around the starting point, where the cost value of the unknown grid is -1; if there is an unknown grid, determining the unknown grid as the target point; if there is no unknown grid, setting the starting point as the parent node, setting the nodes around the starting point as child nodes, and updating the cost values of the child nodes, taking each child node as the center point, judging whether there is an unknown grid in the neighborhood around the child node; until an unknown grid is obtained and setting the unknown grid as the target point; starting from the target point, finding the parent node of the target until backtracking to the starting point to obtain a path.

[0101] It is shown by an example as follows:

[0102] The first step: First, put the starting point (S) into the open list, then set its cost value to 0. Starting from point S, judge whether there are unknown grids (grid value is -1) in its 8 neighborhoods. If there are, find the target point; otherwise, update the values of the 8 neighborhoods. If it is not an obstacle grid, set point S as the parent node and update the distance value to the parent node. The value of the adjacent grid increases by 1, and the value of the diagonal grid increases by 2. Then put the updated points into the open list. As shown in the following figure, the blue grid is the obstacle, the green grid is the starting point, the gray grid is the unknown area, the red box is the updated grid, and the value inside is the cost value to the starting point. After updating all neighborhoods, put point S into the close list. The result of this process is as Figure 2 shown.

[0103] Step 2: Find the grid with the minimum cost value in the open list and update the grid values of its 8 surrounding neighborhoods. If a neighborhood grid is already in the close list, it will not be updated. If a neighborhood grid has not been assigned a value or the updated value of the neighborhood grid through this grid is smaller, then update the value of the neighborhood, set the parent node of the neighborhood to point to this grid, add this grid to the close list, and put the updated neighborhood grid into the open list. The result of this process is as Figure 3 shown.

[0104] Step 3: Repeat the above Step 2 until an unknown grid is found. The result of this process is as Figures 4 to 7 shown.

[0105] Step 4: Starting from the found end point, find its parent node until backtracking to the start point to find a path. The result of this process is as Figure 8 shown.

[0106] In a preferred embodiment, when the area of the target point and the unknown grid connected to the target point is less than a preset threshold, the path from the starting point to the target point is discarded.

[0107] Specifically, this process may further include Step 5: Create a new open list and close list. D is the found target point. Expand from point D, find unknown grids from its 8 neighborhoods, and push them into the open list. Put D into the close list until there are no available points in the open list or the number of points in the close list is higher than the set threshold, then terminate. The result of this process is as Figures 9 to 12 shown.

[0108] Thus, in the autonomous exploration and mapping method of the cleaning robot of the present disclosure, the efficiency of the robot's exploration and mapping can be improved, and it is prevented from planning to an unknown area with only a few scattered points.

[0109] If the number of connected unknown grids is less than the set threshold, then set all unknown grids as unqualified, re - execute Step 2 for planning, and unqualified unknown grids will not be considered. The result of this process is as Figure 13 shown.

[0110] The effect after re - planning in Step 2 is as Figure 14 and Figure 15 shown.

[0111] S140. Perform global path planning on the path from the starting point to the target point to obtain a global path.

[0112] Specifically, global path planning is performed based on the target points obtained in step S130. If the planning is successful, local path planning is carried out. If the number of failed attempts is greater than 3 times, step S130 is re-entered to re-select the target points. If it is detected that the target points are no longer in unknown areas, step S130 also needs to be re-entered to re-select the target points.

[0113] S150. Perform multiple local path planning for the movement process of the cleaning robot according to the global path, and obtain multiple local paths.

[0114] In the present disclosure, multiple local path planning for the movement process of the cleaning robot is performed according to the global path, and multiple local paths are obtained, including: selecting a point from the global path as the initial local target point; setting a dynamic window, the center of which is the center of the cleaning robot, and the intersection points of the edges of the dynamic window and the global path are the initial local target points; determining whether there are obstacles near the initial local target point; if there are obstacles near the initial local target point, then on the global path, determine whether there are obstacles in the points in front of the initial local target point until the nearest obstacle-free point is found, and use this obstacle-free point as the final local target point, thereby obtaining a local path from the cleaning robot to the final local target point.

[0115] That is to say, in the local path planning procedure of the present disclosure, each local path planning can obtain a local path, and the walking path of the cleaning robot is obtained through multiple local paths obtained by multiple local path planning.

[0116] More preferably, determine whether the distance between the cleaning robot and the final local target point is greater than a set threshold; if the distance between the cleaning robot and the final local target point is less than the set threshold, discard this local target point and re-select the local target point.

[0117] The process of this local path planning is marked with a specific example as follows:

[0118] The first step: Search for local target points

[0119] The local target point is a certain point on the global path, and the planning from the robot's starting point to this point is what the local path planning needs to do. First, delimit a dynamic window, the center point of this window is the center of the robot, and the intersection points of the window edge and the path are the local target points to be found; then check whether there are obstacles near this local target point, if so, then check whether there are obstacles in the points on the path in front of the local target point until the nearest obstacle-free point is found; finally, check whether the distance between the found target point and the starting point is greater than the set threshold to avoid too short local path planning.

[0120] Step 2: Plan the path

[0121] After the first step is successful, the path planning is then carried out. With the starting point and the ending point, the A* algorithm is used for local planning. The planning range should not exceed the dynamic window. If the planning is successful, it is also necessary to determine whether the robot is less than the set threshold from the final target point. If it is less than the set threshold, it will turn to find a new target point again to make the entire walking process smooth and unobstructed. If the planning fails, it is necessary to determine whether the final target point is reachable to decide whether to enter the global path planning.

[0122] The specific flowcharts of this global path planning and local path planning are as Figures 16 to 18 shown.

[0123] S160. Control the cleaning robot to move along the local path, and fill the unknown grid with the local map of the working environment of the cleaning robot obtained by the laser sensor of the cleaning robot, so as to realize the construction of the map of the working scenario of the cleaning robot.

[0124] In the present disclosure, move to the corresponding unknown grid according to the newly planned local path. Among them, during the movement of the cleaning robot, a dynamic obstacle avoidance method is adopted to prevent the cleaning robot from colliding with dynamic obstacles.

[0125] Specifically, the dynamic obstacle avoidance method can be adopted to prevent the cleaning robot from colliding with dynamic obstacles, including: obtaining the minimum obstacle avoidance range in the X direction of the cleaning robot in the static state and the minimum obstacle avoidance range in the Y direction of the cleaning robot in the static state according to the size of the cleaning robot; setting the maximum obstacle avoidance unit in the X direction of the cleaning robot in the moving state and the maximum obstacle avoidance range in the Y direction of the cleaning robot in the moving state; obtaining the minimum obstacle avoidance range in the X direction of the cleaning robot in the moving state and obtaining the minimum obstacle avoidance range in the Y direction of the cleaning robot in the moving state according to the minimum obstacle avoidance range in the X direction of the cleaning robot in the static state, the minimum obstacle avoidance range in the Y direction of the cleaning robot in the static state, the maximum obstacle avoidance range in the X direction of the cleaning robot in the moving state, and the maximum obstacle avoidance range in the Y direction of the cleaning robot in the moving state; when the dynamic obstacle moves into the minimum obstacle avoidance range in the X direction of the cleaning robot in the moving state and the minimum obstacle avoidance range in the Y direction of the cleaning robot in the moving state, control the cleaning robot to stop moving.

[0126] As Figure 19 shown, the obstacle avoidance range of the robot is divided into 3 areas. As long as the obstacle enters the red or yellow dotted line area, the robot will stop immediately; if the obstacle is in the green dotted line area but not in the red and yellow areas, the robot will decelerate, otherwise the robot will maintain its original speed of movement. Among them, the minimum obstacle avoidance range L xmin and L ymin of the robot in the static state, and the maximum obstacle avoidance range L xmax and Lymax It is a set fixed value.

[0127] The minimum obstacle avoidance range Lx(v) in the X direction of the cleaning robot in the moving state and the minimum obstacle avoidance range Ly(v) in the Y direction of the cleaning robot in the moving state are calculated by the following formula:

[0128]

[0129] L y (v) = min(L ymin + v * ρ, L ymax )

[0130] Wherein, v is the current speed of the cleaning robot, a is the maximum deceleration currently set for the cleaning robot, t is the time taken for one cycle of the program to execute, and ρ is a proportionality coefficient used to expand the obstacle avoidance range in the y direction.

[0131] The speed formula of the robot is:

[0132]

[0133] In the formula, (x, y) are the coordinates of the obstacle relative to the robot, and v max is the maximum speed of the robot.

[0134] According to another aspect of the present disclosure, there is provided a cleaning robot, which includes a controller for the autonomous exploration and mapping method of the above-mentioned cleaning robot.

[0135] Specifically, the cleaning robot of the present disclosure may further include an ultrasonic sensor, an edge TOF sensor, a cliff infrared sensor, a downward-looking TOF sensor, etc.

[0136] That is to say, the cleaning robot of the present disclosure can implement functions such as glass detection and multi-sensor fusion.

[0137] For the detection of glass, considering its high optical transparency and the fact that lasers, which are the main sensors for perceiving environmental objects, cannot detect it, it is easy for the robot to repeatedly try to detect or even pass through, which requires special handling. Otherwise, it will affect the working intelligence of the cleaning robot. By integrating ultrasonic sensors, the presence and relative position of glass can be effectively detected, enabling the robot to make correct path planning. At the same time, corresponding markings can be made on the map to enclose the uncleanable areas, so that the cleaning robot will no longer repeatedly try to perform cleaning tasks, improving the cleaning efficiency of the cleaning robot. Considering that the reliability of ultrasonic sensors is not very high and there will be many noise points, the present disclosure proposes to use ultrasound to determine the presence of glass. First, the ultrasonic data is recorded in the map, only recording the points that do not coincide with the solid wall (the pixels with a label value of 0 in the map). Then, the Hough transform is used to find the straight lines formed by the ultrasonic points. Only the straight lines formed by many ultrasonic points are considered glass walls. Finally, the points that have been determined to be glass and the ultrasonic points are removed from the ultrasonic map.

[0138] The cleaning robot does not require manual participation in the working scenario and explores and builds a map autonomously. First, its safety needs to be ensured. Since the working scenario is relatively complex, such as stairs or suspended obstacles, it will affect the safety of the cleaning robot's autonomous exploration and mapping. At the same time, since there is no scene map in advance, it is impossible to set restricted areas or restricted lines to limit the operating area of the cleaning robot. Therefore, autonomous exploration and mapping have higher requirements for the cleaning robot to avoid obstacles. For this reason, the cleaning robot is equipped with multiple sensors such as cliff infrared, downward-looking TOF, and depth cameras to ensure that there are no blind spots in scene detection and require that the robot cannot fall. Through the fusion of multi-sensor data projection method, clustering and filtering of point cloud data, the RANSAC algorithm is used to filter out the ground data, identify and locate the obstacles above the ground plane and the cliffs below the plane in the scene, and use traditional algorithms such as DWA in combination with ultrasonic and laser data for real-time obstacle avoidance. To uniformly process sensor data, all sensor detection data is recorded on a single map. The map is represented by grids. The grids with obstacles are marked as 1, and the grids without obstacles are marked as 0. Since the characteristics of each sensor are different, the ways of recording sensors on the map are also different.

[0139] 1. Laser data

[0140] Laser ranging is relatively accurate, stable, and has a wide coverage area. Therefore, it can be recorded on the map in real time. First, the effective laser points are mapped to the map grids and marked as 1. Then, the grids occupied by the lines connecting the starting point to each laser point are calculated and marked as 0.

[0141] 2. Depth camera data:

[0142] The data of the depth camera is a cluster of three-dimensional point cloud data. First, a preliminary filtering is performed on the three-dimensional data. Using the algorithms in the open-source PCL point cloud library, data such as planes and discrete points are filtered. Then, the filtered data is projected onto a plane to obtain two-dimensional data, and at this time, data of the same type as the laser is obtained. Since the viewing angle of the depth camera is relatively small, it is easy to lose the viewing angle during the movement of the robot. Therefore, the same strategy as for laser data cannot be used. First, the laser data and the processed depth data are converted to the same coordinate system, and the part that coincides with the laser data is discarded. The remaining data is recorded on the grid map, and data within nearly 10 seconds is maintained and saved to prevent hitting obstacles due to the loss of the viewing angle when the laser swings its head.

[0143] 3. Sonar data:

[0144] Different from laser and depth data, the detection range of sonar is a fan-shaped area, rather than a line. Therefore, given a distance return value, we cannot determine which grid on the arc of the fan is an obstacle. So, a probability model needs to be established for the grids in the fan-shaped area.

[0145] Using a uniform distribution probability model, it is considered that the center of the obstacle distribution is the center line of the arc, where the probability of the existence of an obstacle is the greatest, and the probability gradually decreases on both sides. According to the uniform distribution model, two measurement uncertainty functions are introduced:

[0146]

[0147] where θ is the angle between the measured point (x, y) and the central axis of the sonar, ρ is the distance value from the point (x, y) to the origin of the sonar, θ max is the size of the fan-shaped cone angle, and ρ v is a preset value, representing the smooth transition point between the certainty and uncertainty of sonar information. According to the above uncertainty functions, the following sonar probability model is created:

[0148]

[0149] In the formula, r is the measured value of the sonar, dr and 2dr represent the estimation of the accuracy of r, and λ = Γ(θ)Γ(ρ).

[0150] Calculate all grid values within the fan-shaped cone angle according to the above probability model, and then update the posterior probability of each grid respectively according to the conditional probability model formula:

[0151] P (x,y) (A) = P(A|B)P(B) + P(A|B)P(B) = P (x,y) *P pre + (1 - P (x,y) ) * (1 - P pre )

[0152] where P pre is the prior probability of the grid (x, y).

[0153] 4. Downward-looking and collision data:

[0154] This type of data is the last line of defense for the robot to avoid obstacles. Usually, when the bumper touches an obstacle or the downward-looking sensor detects a cliff, it will be recorded. For safety reasons, once this type of data is triggered, it will be permanently saved and marked as 1 on the grid map.

[0155] In the description of this specification, the descriptions referring to terms such as "an embodiment / way", "some embodiments / ways", "example", "specific example", or "some examples" etc. mean that the specific features, structures, materials, or characteristics described in connection with the embodiment / way or example are included in at least one embodiment / way or example of this application. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment / way or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments / ways or examples. In addition, without contradiction, those skilled in the art can combine and combine the different embodiments / ways or examples described in this specification and the features of different embodiments / ways or examples.

[0156] In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include at least one of such features. In the description of this application, "a plurality of" means at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0157] Those skilled in the art should understand that the above embodiments are only for clearly explaining the present disclosure and not for limiting the scope of the present disclosure. For those skilled in the art, other changes or modifications can be made based on the above disclosure, and these changes or modifications are still within the scope of the present disclosure.

Claims

1. An autonomous exploration mapping method for a cleaning robot, characterized in that Including: Obtaining laser data through the laser sensor of the cleaning robot; performing distortion removal processing on the laser data; Obtaining a local map of the working environment of the cleaning robot based on the laser data; wherein, the local map adopts a probability grid map; and using the probability grid map to at least partially fill some grids in the original global map, and taking the grids filled with the probability grid map as known grids; and making the remaining grids in the original global map represent unknown grids; Taking the current position of the cleaning robot as the starting point and a grid in the unknown grids as the target point to obtain a path from the starting point to the target point; Performing global path planning on the path between the starting point and the target point to obtain a global path; Performing multiple local path planning on the movement process of the cleaning robot according to the global path, and obtaining multiple local paths; Controlling the cleaning robot to move along the local path, and filling the unknown grid with the local map of the working environment of the cleaning robot obtained by the laser sensor of the cleaning robot, so as to realize the construction of the map of the working scenario of the cleaning robot.

2. The autonomous exploration mapping method of the cleaning robot according to claim 1, characterized in that, Performing distortion removal processing on the laser data includes: Obtaining the timestamp of the laser data; Obtaining the previous odometer timestamp and the next odometer timestamp of the timestamp according to the timestamp of the laser data; and obtaining the size of the odometer corresponding to the timestamp of the laser data; Obtaining the odometer size corresponding to the first laser beam and the time interval of each laser beam, and obtaining the odometer change amount corresponding to the i-th laser beam according to the time interval of each laser beam; Obtaining the undistorted laser coordinates according to the original coordinate value of the i-th laser beam and the odometer change amount corresponding to the i-th laser beam.

3. The autonomous exploration and mapping method of the cleaning robot according to claim 1, characterized in that, Taking the current position of the cleaning robot as the starting point and a grid in the unknown grids as the target point to obtain a path from the starting point to the target point, including: Setting the cost value of the starting point to 0; Taking the starting point as the center point, judging whether there are unknown grids in the area around the starting point, wherein the cost value of the unknown grid is -1; If there are unknown grids, determining the unknown grid as the target point; if there are no unknown grids, setting the starting point as the parent node, setting the nodes around the starting point as child nodes, and updating the cost values of the child nodes, taking each child node as the center point, and judging whether there are unknown grids in the area around the child node; until an unknown grid is obtained, and setting the unknown grid as the target point; Starting from the target point, finding the parent node of the target until backtracking to the starting point to obtain a path.

4. The autonomous exploration and mapping method of the cleaning robot according to claim 3, characterized in that, When the area of the target point and the unknown grid connected to the target point is less than a preset threshold, discarding the path from the starting point to the target point.

5. The autonomous exploration and mapping method of the cleaning robot according to claim 1, wherein Performing multiple local path planning on the movement process of the cleaning robot according to the global path, and obtaining multiple local paths, including: Selecting a point from the global path as the initial local target point; Setting a dynamic window, the center of the dynamic window is the center of the cleaning robot, and the intersection of the edge of the dynamic window and the global path is the initial local target point; Determine whether there are obstacles near the initial local target point; if there are obstacles near the initial local target point, then on the global path, determine whether there are obstacles at the point in front of the initial local target point until the nearest obstacle-free point is found, and use this obstacle-free point as the final local target point, so as to obtain a local path from the cleaning robot to the final local target point.

6. The autonomous exploration and mapping method of the cleaning robot according to claim 5, characterized in that Determine whether the distance between the cleaning robot and the final local target point is greater than a set threshold; if the distance between the cleaning robot and the final local target point is less than the set threshold, then discard this local target point and reselect a local target point.

7. The autonomous exploration and mapping method of the cleaning robot according to claim 5, characterized in that Control the cleaning robot to move along the local path so that the cleaning robot moves to an unknown grid. Among them, during the movement of the cleaning robot, a dynamic obstacle avoidance method is used to prevent the cleaning robot from colliding with dynamic obstacles.

8. The autonomous exploration and mapping method of the cleaning robot according to claim 7, characterized in that, Using the dynamic obstacle avoidance method to prevent the cleaning robot from colliding with dynamic obstacles includes: Obtain the minimum obstacle avoidance range in the X direction of the cleaning robot in the stationary state and the minimum obstacle avoidance range in the Y direction of the cleaning robot in the stationary state according to the size of the cleaning robot; Set the maximum obstacle avoidance unit in the X direction of the cleaning robot in the moving state and the maximum obstacle avoidance range in the Y direction of the cleaning robot in the moving state; Obtain the minimum obstacle avoidance range in the X direction of the cleaning robot in the moving state and obtain the minimum obstacle avoidance range in the Y direction of the cleaning robot in the moving state according to the minimum obstacle avoidance range in the X direction of the cleaning robot in the stationary state, the minimum obstacle avoidance range in the Y direction of the cleaning robot in the stationary state, the maximum obstacle avoidance range in the X direction of the cleaning robot in the moving state, and the maximum obstacle avoidance range in the Y direction of the cleaning robot in the moving state; When the dynamic obstacle moves into the minimum obstacle avoidance range in the X direction of the cleaning robot in the moving state and the minimum obstacle avoidance range in the Y direction of the cleaning robot in the moving state, control the cleaning robot to stop moving.

9. The autonomous exploration and mapping method of the cleaning robot according to claim 8, wherein The minimum obstacle avoidance range Lx(v) in the X direction of the cleaning robot in the moving state and the minimum obstacle avoidance range Ly(v) in the Y direction of the cleaning robot in the moving state are calculated by the following formula: L y (v) = min(L ymin + v * ρ, L ymax ) Where, v is the current speed of the cleaning robot, a is the maximum deceleration currently set for the cleaning robot, t is the time for one cycle of the program to execute, and ρ is a proportionality coefficient used to expand the obstacle avoidance range in the y direction.

10. A cleaning robot, which includes a controller, and the controller is used to execute the autonomous exploration and mapping method of the cleaning robot according to any one of claims 1-9.