Map construction method and related equipment
By extracting the intersection boundaries in the cleaning robot environment map and selecting the boundaries to be explored, the turning back exploration problem of the cleaning robot when building the environmental map is solved, and a more efficient map construction process is achieved.
Patent Information
- Application Number
- CN202311766573.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-20
- Publication Date
- 2025-02-07
AI Technical Summary
When building environmental maps, existing cleaning robots are prone to rewind exploration, which is inefficient in exploration and high computational volume.
By obtaining the environmental map of the currently explored area in the target scene, extract the intersection boundary of the known area and the unknown area, select the boundary to be explored, and select the navigation point of the cleaning robot based on the boundary, and finally update the exploration results based on the navigation point Environment map.
The map is quickly and accurately constructed, avoiding turning back exploration, and improving exploration efficiency and computing efficiency.
Smart Images

Figure CN119394284A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the technical field of cleaning devices, and in particular to a map construction method and related equipment. Background Art
[0002] With the rapid development of electronic technology, more and more electronic products are being used in our lives, and smart home appliances are one of them. Among the many smart home appliances, cleaning robots fully liberate human labor in cleaning the floor. They can rely on certain artificial intelligence to automatically complete the floor cleaning work.
[0003] Before cleaning, the cleaning robot needs to quickly build a complete environmental map of the house. Usually, the cleaning robot expands the environmental map by identifying unknown areas, navigating to the area, and scanning with LiDAR. However, if the current environmental map contains multiple points or boundaries to be explored, the existing map construction or exploration methods are prone to back-and-forth exploration, low exploration efficiency, and high computational complexity. Summary of the invention
[0004] To achieve the above objectives, the embodiments of the present application provide a map construction method, a map construction device, a cleaning robot and a computer-readable storage medium, which can avoid the situation of back-and-forth exploration and can quickly and accurately construct a map.
[0005] In a first aspect, an embodiment of the present application provides a method for constructing a map, comprising:
[0006] Get the environment map corresponding to the currently explored area in the target scene as the current environment map;
[0007] Extracting the intersection boundary of the known area and the unknown area of the environment map, and selecting the boundary to be explored therefrom;
[0008] Selecting a navigation point for the cleaning robot to explore next time according to the boundary to be explored; and
[0009] Based on the exploration results obtained when the cleaning robot moves to the navigation point, the current environment map is updated.
[0010] Further, extracting the intersection boundary of the known area and the unknown area of the environment map and selecting the boundary to be explored therefrom includes:
[0011] Selecting the current position of the cleaning robot as a reference point;
[0012] Selecting a contour point of the environment map that is closest to the reference point and located in a feasible connected domain as a reference contour point, wherein the contour points of the environment map include contour points of the intersection boundary;
[0013] The contour points of the intersection boundary are searched in clockwise order, and the intersection boundary corresponding to the contour point closest to the reference contour point is selected as the boundary to be explored.
[0014] Further, the selecting the current position of the cleaning robot as a reference point includes:
[0015] Determining whether the cleaning robot is exploring and mapping for the first time;
[0016] If yes, the current position of the cleaning robot is selected as the reference point;
[0017] If not, it is necessary to determine whether the current position of the cleaning robot and the previous reference point updated last time are located in the same feasible connected domain. If so, the previous reference point is selected as the reference point for this exploration. If not, the current position of the cleaning robot is selected as the reference point for this exploration.
[0018] Furthermore, before selecting the contour point of the environmental map that is closest to the reference point and located in the feasible connected domain as the reference contour point, it also includes: determining whether the cleaning robot is located in a blank area within the body range, and if so, calculating the feasible connected domain of the cleaning robot based on the current position of the cleaning robot; if not, calculating the feasible connected domain of the cleaning robot based on the base point offset to the blank area within the body diameter range of the cleaning robot.
[0019] Further, the step of selecting a navigation point for the cleaning robot to explore next time according to the boundary to be explored includes:
[0020] Selecting visible points in multiple directions at preset distances according to the circumscribed rectangle of the boundary to be explored, wherein the preset distance is greater than or equal to the body radius of the cleaning robot and less than or equal to the scanning radius of the cleaning robot; and
[0021] A visible point with the widest visible range between the boundary to be explored is selected as the navigation point for the next exploration of the cleaning robot, wherein the visible point is located in a known area of the environmental map and in a feasible connected domain of the cleaning robot.
[0022] Furthermore, selecting visible points in multiple directions at preset distances according to the circumscribed rectangle of the boundary to be explored includes:
[0023] Selecting the rectangle with the smallest area containing all contour points of the boundary to be explored as the circumscribed rectangle; and
[0024] Along the two center lines of the circumscribed rectangle, visible points are selected according to the preset distances in multiple directions extending outward from the center point of the circumscribed rectangle as a starting point.
[0025] Furthermore, after updating the current environment map based on the exploration result obtained when the cleaning robot moves to the navigation point, it also includes:
[0026] The cleaning robot moves to an unknown area corresponding to the boundary to be explored;
[0027] Select search reference points on the boundary of the area in clockwise order; and
[0028] Taking the search reference point as a reference, the unknown boundary of the area where the cleaning robot is located is traversed in clockwise order to obtain an environmental map of the area.
[0029] In a second aspect, an embodiment of the present application provides a map construction device, the map construction device comprising:
[0030] A map acquisition module is used to obtain the environment map corresponding to the current explored area in the target scene as the current environment map;
[0031] A boundary selection module, used for extracting the intersection boundary of the known area and the unknown area of the environment map, and selecting the boundary to be explored therefrom;
[0032] A navigation point selection module, used to select a navigation point of the cleaning robot according to the boundary to be explored; and
[0033] The map updating module is used to update the current environment map based on the exploration results obtained when the cleaning robot moves to the navigation point until a complete environment map of the target scene is obtained.
[0034] In a third aspect, an embodiment of the present application provides a cleaning robot, comprising: a memory and at least one processor, wherein a computer program is stored in the memory; the at least one processor calls the computer program in the memory so that the smart device executes each step of the map construction method described in any one of the above items.
[0035] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the map construction method described in any one of the above items are implemented.
[0036] Compared with the existing map construction methods, the map construction method provided in the embodiment of the present application first obtains the environment map corresponding to the current explored area in the target scene as the current environment map; then, extracts the intersection boundary of the known area and the unknown area of the environment map, and selects the boundary to be explored therefrom; then, selects the navigation point for the next exploration of the cleaning robot according to the boundary to be explored; finally, based on the exploration results obtained when the cleaning robot moves to the navigation point, the current environment map is updated. The method provided in the embodiment of the present application extracts the intersection boundary of the known area and all unknown areas in the environment map, and selects the boundary to be explored therefrom, thereby selecting the navigation point for the next exploration, and the map construction speed is faster, more accurate and more efficient, and the occurrence of return exploration can be avoided. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the structures shown in these drawings without paying any creative work.
[0038] Figure 1 A flowchart of a map construction method provided in an embodiment of the present application;
[0039] Figure 2a to Figure 2c A schematic diagram of the implementation steps of the map construction method provided in the embodiment of the present application;
[0040] Figure 3a and Figure 3b Schematic diagram of the environment map provided in the embodiment of the present application Figure 1 ;
[0041] Figure 4 Schematic diagram 2 of an environment map provided in an embodiment of the present application, wherein obstacles exist within the body range of the cleaning robot;
[0042] Figure 5 Schematic diagram 3 of the environment map provided for the embodiment of the present application, at this time, the cleaning robot is exploring the area;
[0043] Figure 6 A schematic diagram of the structure of a map construction device provided in an embodiment of the present application;
[0044] Figure 7 A schematic diagram of the structure of the cleaning robot provided in an embodiment of the present application.
[0045] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0046] In order to make the technical problems, technical solutions and beneficial effects solved by the embodiments of the present application more clear, the embodiments of the present application are further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention and are not used to limit the present application.
[0047] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0048] In the description of the embodiments of the present application, it should be understood that the terms "lateral", "length", "width", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "clockwise", "counterclockwise", etc. indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present application.
[0049] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of the embodiments of the present application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0050] In the embodiments of the present application, unless otherwise clearly specified and limited, the terms "installed", "connected", "connected", "fixed" and the like should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral one; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements, unless otherwise clearly limited. For ordinary technicians in this field, the specific meanings of the above terms in the embodiments of the present application can be understood according to the specific circumstances.
[0051] In the embodiments of the present application, unless otherwise clearly specified and limited, a first feature being "above" or "below" a second feature may mean that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, a first feature being "above", "above" or "above" a second feature may mean that the first feature is directly above or obliquely above the second feature, or simply means that the first feature is higher in level than the second feature. A first feature being "below", "below" or "below" a second feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature is lower in level than the second feature.
[0052] The shape of the robot disclosed in this embodiment is not limited, and can be constructed into any suitable shape. The robot in this application can be a household cleaning robot or a commercial cleaning robot.
[0053] Reference Figure 1 , the present application embodiment provides a map construction method, comprising the following steps S1 to S4:
[0054] S1: Obtain the environment map corresponding to the current explored area in the target scene as the current environment map;
[0055] The cleaning robot provided in the embodiment of the present application is provided with a laser radar, which measures the target position and distance by emitting a laser beam, receiving a reflected signal and performing signal processing. The cleaning robot constructs a map of a target scene such as a room using point cloud data scanned by a preset laser radar. Specifically, the laser radar is usually arranged on the top of the cleaning robot. When the cleaning robot explores the target scene, the laser emitting mechanism of the laser radar will rotate within a certain range, thereby exploring and scanning the target scene, so as to obtain an environmental map corresponding to the current explored area in the target scene as the current environmental map.
[0056] The method of constructing the map in this step can be represented by a topological map, geometric information or a grid. A topological map is a compact representation method. When the environment is large and simple, this method can represent the environment as a topological map. However, the resolution of the topological map depends on the complexity of the environment. When there are two very similar places in the environment, it is difficult for the topological map to determine whether they are the same node.
[0057] Geometric information representation is to abstract the sensor information extracted by the robot into geometric representations, such as straight lines, curves, etc. This representation method is vivid, compact and convenient for position estimation and target recognition, but it increases the requirements for sensor information collection, requires additional algorithm processing, and requires a certain amount of perception data to obtain results.
[0058] Rasterization processing is to divide the entire environment into several grids of the same size, and indicate for each grid whether there are obstacles. Grid maps are easy to create and maintain. The information of each grid known by the cleaning robot directly corresponds to a certain area in the environment. The information for creating the map can be obtained and added to the map using laser radar, infrared sensors, etc. With the help of this map, self-positioning and path planning can be easily performed. Therefore, the embodiment of the present application adopts a rasterized map. The embodiment of the present application obtains a grid map of the target scene through the point cloud environment information scanned by the laser radar of the cleaning robot. The grid map consists of known areas, obstacles and unknown areas.
[0059] S2: extracting the intersection boundary of the known area and the unknown area of the environment map, and selecting the boundary to be explored therefrom;
[0060] Specifically, a known area refers to an area that has been explored by a cleaning robot and an environmental map has been constructed, an unknown area refers to an area that has not been explored by a cleaning robot and an environmental map has not been constructed, and an intersecting boundary refers to a line segment where the outline or boundary line of a known area intersects with the outline or boundary line of an adjacent unknown area. When performing image processing, the map construction method provided in some embodiments of the present application obtains the intersecting boundary through a dilate function. The dilate function is an expansion operation in image processing, and its function is to expand the neighborhood of non-zero pixels in a given binary image, which can also be said to be an image expansion operation. In some embodiments of the present application, the dilate function is used to expand the outline or boundary line of a known area and the outline or boundary line of an adjacent unknown area by a grid, thereby obtaining the intersecting boundary of the unknown area and the known area.
[0061] In addition, since the number of unknown areas can be two or more, the number of intersecting boundaries between known areas and unknown areas is also two or more. Therefore, the map construction method provided in the embodiment of the present application needs to extract all intersecting boundaries and select boundaries to be explored therefrom, thereby avoiding the occurrence of return exploration, with high exploration efficiency and low computational complexity.
[0062] It should be noted that when the number of intersecting boundaries is 0, it means that there is no unknown area in the current scene, and the cleaning robot ends this exploration; when the number of intersecting boundaries is 1, the intersecting boundary is selected as the boundary to be explored, and subsequent exploration is performed.
[0063] It can be understood that before performing step S2, the method provided in the embodiment of the present application needs to pre-process the current environment map obtained by the lidar, such as filtering out the slender rays of the known area leaking from the wall in the target scene, or filtering out the intersecting boundaries that are too short, so as to eliminate the influence of noise or slits, thereby further improving the efficiency and accuracy of exploration.
[0064] S3: selecting a navigation point for the cleaning robot to explore next time according to the boundary to be explored;
[0065] After completing step S2, that is, completing the selection of the boundary to be explored, it is necessary to select the navigation point for the cleaning robot to explore next time through an algorithm based on the boundary to be explored. That is to say, the cleaning robot selects the boundary to be explored in the intersection boundary of the known area and the unknown area, and selects the navigation point for the next exploration based on the boundary to be explored. The existing method usually selects the nearest point to be explored based on the distance between the exploration point on the intersection boundary and the robot, which has a small amount of calculation and is prone to return exploration. Compared with the existing method, the method provided in the embodiment of the present application has higher exploration efficiency and lower calculation.
[0066] It should be noted that when the selected navigation point is close to an obstacle, such as a wall, the navigation point needs to be offset to prevent the body of the cleaning robot from colliding with the obstacle, thereby avoiding damage to the cleaning robot. The offset distance is based on the distance between the center point of the cleaning robot and the obstacle being greater than the body radius.
[0067] S4: Based on the exploration results obtained when the cleaning robot moves to the navigation point, the current environment map is updated.
[0068] After step S3 is completed, that is, after the navigation point for the next exploration of the cleaning robot is selected, the cleaning robot moves to the navigation point for subsequent exploration, thereby updating the current environment map until a complete environment map of the current scene is constructed. Specifically, after the cleaning robot completes the exploration of the area in which it is located, it will select the navigation point for the next exploration according to the above steps, and use the navigation point as the starting point to explore the unknown area corresponding to the boundary to be explored, thereby updating the current environment map. Similarly, when the complete environment map of the current scene is constructed, the exploration ends.
[0069] In summary, compared with the existing map construction methods, the map construction method provided in the embodiment of the present application first obtains the environment map corresponding to the current explored area in the target scene as the current environment map; then, traverses the intersection boundaries of the known areas and unknown areas of the environment map, and selects the boundaries to be explored; then, based on the boundaries to be explored, selects the navigation point for the next exploration of the cleaning robot; finally, based on the exploration results obtained when the cleaning robot moves to the navigation point, the current environment map is updated. The method provided in the embodiment of the present application extracts the intersection boundaries of the known areas and all unknown areas in the environment map, and selects the boundaries to be explored, thereby selecting the navigation points for the next exploration. The map construction speed is faster, more accurate and more efficient, and the occurrence of return exploration can be avoided.
[0070] Further, refer to Figure 2a In some embodiments of the present application, step S2, i.e., extracting the intersection boundary of the known area and the unknown area of the environmental map and selecting the boundary to be explored therefrom, includes: selecting the current position of the cleaning robot as a reference point; selecting the contour point of the environmental map that is closest to the reference point and located in a feasible connected domain as a reference contour point, the contour points of the environmental map including the contour points of the intersection boundary; searching for the contour points of the intersection boundary in a clockwise order, and selecting the intersection boundary corresponding to the contour point that is closest to the reference contour point as the boundary to be explored.
[0071] Specifically, Figure 2a As shown, Figure 2a An environmental map of an embodiment of the present application is shown, wherein the current position of the cleaning robot is A, the cleaning robot is currently in a known area, the solid lines represent obstacles or walls of the current environmental map, and the dotted lines represent the intersection boundaries of the known area and the unknown area. The number of intersection boundaries is 5, which are marked as L1, L2, L3, L4 and L5 respectively.
[0072] Step S2 includes: selecting the current position A of the cleaning robot as a reference point; selecting the contour point that is closest to the reference point A and located at the intersection boundary of the feasible connected domain as the reference contour point B; searching for the contour points of the intersection boundary in a clockwise order, calculating and comparing the distance from the contour point to the reference contour point, and selecting the intersection boundary L2 corresponding to the contour point that is closest to the reference contour point B as the boundary to be explored.
[0073] The current position A of the cleaning robot can be obtained through positioning information, and the positioning information of the cleaning robot can be obtained through machine positioning or APP positioning of the mobile terminal. The distance between the contour point of the intersection boundary and the reference point A can be obtained through an algorithm such as a breadth-first search algorithm, and the reference contour point B is the contour point of the intersection boundary that is closest to the reference point A and is located in the feasible connected domain. Then, search the contour points of the intersection boundaries L1, L2, L3, L4 and L5 in a clockwise or counterclockwise order, and select the intersection boundary L2 corresponding to the contour point closest to the reference contour point B as the boundary to be explored. Compared with the existing map construction method, the method provided in the embodiment of the present application traverses the intersection boundaries of known areas and all unknown areas in the environmental map, and the map construction speed is faster, more accurate and more efficient, which can avoid the occurrence of return exploration.
[0074] In addition, refer to Figure 3a and Figure 3b In some embodiments of the present application, the selecting the current position of the cleaning robot as the reference point includes: determining whether the cleaning robot belongs to the initial exploration and mapping; if so, selecting the current position of the cleaning robot as the reference point; if not, determining whether the current position of the cleaning robot and the previous reference point updated last are located in the same feasible connected domain, if so, selecting the previous reference point as the reference point for this exploration, if not, selecting the current position of the cleaning robot as the reference point for this exploration.
[0075] Specifically, Figure 3a and Figure 3b As shown, Figure 3a and Figure 3b Another environment map of an embodiment of the present application is shown, wherein the environment map includes two independent areas 10, 20 and a variable obstacle 30, wherein the variable obstacle 30 is usually a door. When the door 30 is opened, the areas 10, 20 are in a connected state, that is, the areas 10 and 20 are in a feasible connected domain. When the door 30 is closed, the areas 10, 20 are in a blocked state, that is, the areas 10 and 20 are in a non-feasible connected domain.
[0076] Therefore, before selecting the reference point of the cleaning robot, it is necessary to first determine whether the cleaning robot is exploring and mapping for the first time. If so, select the current position A' of the cleaning robot as the reference point; if not, it is necessary to determine whether the current position A' of the cleaning robot and the previous reference point C updated last time are located in the same feasible connected domain. If so, select the previous reference point C as the reference point for this exploration. In other words, it is necessary to use the previous reference point C as the exploration reference point, and determine the boundaries and navigation points to be explored according to the above steps for subsequent exploration; if not, select the current position A' of the cleaning robot as the reference point for this exploration. In other words, it is necessary to use the current position A' of the cleaning robot as the exploration reference point, and determine the boundaries and navigation points to be explored according to the above steps for subsequent exploration.
[0077] Through the above processing, the embodiment of the present application can eliminate the blocking effect of obstacles, thereby avoiding unnecessary exploration of the cleaning robot, improving exploration efficiency, reducing exploration time, and thus quickly and accurately constructing an environmental map.
[0078] Further, refer to Figure 4 In some embodiments of the present application, before selecting the contour point of the environment map that is closest to the reference point and located in the feasible connected domain as the reference contour point, it also includes: determining whether the cleaning robot is located in a blank area within the body range, and if so, calculating the feasible connected domain of the cleaning robot based on the current position of the cleaning robot; if not, calculating the feasible connected domain of the cleaning robot based on the point in the blank area offset to the body diameter range of the cleaning robot.
[0079] Specifically, the feasible connected domain of the cleaning robot refers to the area where the cleaning robot can move freely without being hindered by obstacles. Usually, in the environmental map of the target scene, the area within the body range of the cleaning robot is blank. When the cleaning robot is located in the blank area within the body range, the feasible connected domain of the cleaning robot is calculated based on the current position of the cleaning robot. When there are radar noise points, dragged obstacles, or obstacle information that is not updated in time near the cleaning robot, there will be such things within the body range of the cleaning robot. Figure 4 At this time, if the current position A" of the cleaning robot is used as a reference to calculate the feasible connected domain of the cleaning robot, the feasible connected domain obtained is as follows Figure 4 The circled area shown is not conducive to the exploration of the cleaning robot, and the base point D offset to the blank space within the diameter range of the cleaning robot should be used as a reference to calculate the feasible connected domain of the cleaning robot. The base point D is located at a point in the blank space within the body range, not the location of the cleaning robot.
[0080] Therefore, through the above operations, the embodiment of the present application can prevent the cleaning robot from getting close to obstacles and incorrectly selecting feasible connected domains, thereby further improving the exploration efficiency, reducing the amount of calculation, and thus quickly and accurately constructing a map.
[0081] Refer again Figure 2b and Figure 2c In some embodiments of the present application, the selecting of the navigation point of the cleaning robot according to the boundary to be explored includes: selecting visible points in multiple directions at preset distances according to the circumscribed rectangle of the boundary to be explored, wherein the preset distance is greater than or equal to the body radius of the cleaning robot and less than or equal to the scanning radius of the cleaning robot; and selecting the visible point with the widest visible range between the boundary to be explored as the navigation point for the next exploration of the cleaning robot, wherein the visible point is located in the known area of the environmental map and in the feasible connected domain of the cleaning robot.
[0082] like Figure 2b and Figure 2c As shown, after the selection of the boundary to be explored L2 is completed, then, based on the circumscribed rectangle R of the boundary to be explored, visible points are selected in multiple directions according to preset distances, and then the visible points V1, V2, and V3 with the widest visible range between the exploration boundary are selected as navigation points of the cleaning robot, where the preset distance is greater than or equal to the body radius of the cleaning robot and less than or equal to the scanning radius of the cleaning robot. The visible points V1, V2, and V3 are located in the known area of the environmental map and are located in the feasible connected domain of the cleaning robot. The visible range here is the range that can be scanned assuming that the cleaning robot is located at the visible point, such as Figure 2c As shown in the figure, the visible range is represented by the area of the dotted rectangle extending from the farthest side of the bounding rectangle of the boundary to be explored to the visible point. Figure 2c The visible range of the visible point V1 is represented by the dotted rectangular frame R1, the visible range of the visible point V2 is represented by the dotted rectangular frame R2, and the visible range of the visible point V3 is equal to the visible range of the visible point V2. It can be clearly seen from the figure that the area of the dotted rectangular frame R1 is larger than the area of the dotted rectangular frame R2, so the visible range of the visible point V1 is larger, so the visible point V1 is used as the navigation point for the next exploration of the cleaning robot.
[0083] The larger the visible range of the cleaning robot at the navigation point, the larger the scanning range of the cleaning robot. Therefore, the method provided in the embodiment of the present application can improve the scanning efficiency of the cleaning robot by selecting the point with the widest visible range as the navigation point, that is, it can further improve the exploration efficiency of the cleaning robot and further reduce the exploration time, so that the environmental map can be constructed quickly and accurately. In addition, the visible points V1, V2, and V3 are located in the known area of the environmental map and in the feasible connected domain of the cleaning robot, which can ensure that the cleaning robot can move to the selected navigation point, that is, avoid collisions of the cleaning robot and prevent damage.
[0084] In addition, refer to Figure 2c In some embodiments of the present application, the visible points are selected in multiple directions at preset distances based on the circumscribed rectangle of the boundary to be explored, including: selecting the rectangle with the smallest area containing all contour points of the boundary to be explored as the circumscribed rectangle; and along the two center lines of the circumscribed rectangle, in multiple directions extending outward from the center point of the circumscribed rectangle as the starting point, selecting visible points at the preset distances, so that the navigation point for the next exploration of the cleaning robot can be quickly found, thereby improving the scanning efficiency of the cleaning robot, that is, the exploration efficiency of the cleaning robot can be further improved, and the exploration time can be further reduced, so that the environment map can be quickly and accurately constructed.
[0085] When the navigation point V1 is selected, the cleaning robot moves along Figure 2a Move to the navigation point V1 in the direction of the arrow shown, explore the area, and then continue along the Figure 2a The direction indicated by the other arrow moves to the unknown area corresponding to the boundary to be explored, and performs exploration scanning to construct an environment map.
[0086] That is, refer to Figure 5 In some embodiments of the present application, after step S4, that is, after the current environmental map is updated based on the exploration results obtained when the cleaning robot moves to the navigation point, it also includes: the cleaning robot continues to move into the unknown area corresponding to the boundary to be explored; a search reference point is selected on the boundary of the area in a clockwise order; and based on the search reference point, the unknown boundary of the area where the cleaning robot is located is traversed in a clockwise order to obtain an environmental map of the area.
[0087] Specifically, after step S4, that is, after the cleaning robot moves to the navigation point and explores the navigation point, the cleaning robot will enter the following Figure 5 In the unknown area corresponding to the to-be-explored boundary shown in FIG. 1 , the unknown area includes four to-be-explored boundaries L1', L2', L3' and L4'. When the cleaning robot moves to Figure 5 After reaching the position E shown, the laser radar of the cleaning robot will rotate and scan the area where it is located. For example, it will first scan to obtain the bottom edge boundary of the area where it is located, and select the search reference point on the bottom edge boundary in a clockwise or counterclockwise order. If it is scanned in a clockwise order, point F will be selected as the search reference point, and the boundary to be explored L2' will be the nearest boundary to be explored. If it is scanned in a counterclockwise order, point G will be selected as the search reference point, and the boundary to be explored L3' will be the nearest boundary to be explored. Finally, based on the search reference points F and G as the reference, the unknown boundaries of the area where the cleaning robot is located are traversed in a clockwise or counterclockwise order, and the area where the cleaning robot is located is explored and scanned, thereby obtaining an environmental map of the area. Therefore, the method provided in the embodiment of the present application can traverse all unknown boundaries, can reduce the number of return times for exploring and mapping, thereby improving the efficiency of mapping, and can quickly and accurately build an environmental map. At the same time, the method provided in the embodiment of the present application can avoid the occurrence of omissions, so that the environmental map can be completely and accurately built.
[0088] Reference Figure 6 The embodiment of the present application provides a map construction device 100, which is used for a cleaning robot. The map construction device 100 includes: a map acquisition module 101, a boundary selection module 102, a navigation point selection module 103 and a map update module 104, wherein the map acquisition module 101 is used to obtain an environmental map corresponding to a current explored area in a target scene as a current environmental map; the boundary selection module 102 is used to extract the intersection boundary of a known area and an unknown area of the environmental map, and select a boundary to be explored therefrom; the navigation point selection module 103 is used to select a navigation point of the cleaning robot according to the boundary to be explored; the map update module 104 is used to update the current environmental map based on the exploration results obtained when the cleaning robot moves to the navigation point, until a complete environmental map of the target scene is obtained.
[0089] Compared with the existing map construction device, in the map construction device provided in the embodiment of the present application, first, the environment map corresponding to the current explored area in the target scene is obtained as the current environment map; then, the intersection boundary of the known area and the unknown area of the environment map is extracted, and the boundary to be explored is selected therefrom; then, the navigation point for the next exploration of the cleaning robot is selected according to the boundary to be explored; finally, based on the exploration results obtained when the cleaning robot moves to the navigation point, the current environment map is updated. The method provided in the embodiment of the present application extracts the intersection boundary of the known area and all unknown areas in the environment map, and selects the boundary to be explored therefrom, thereby selecting the navigation point for the next exploration, and the map construction speed is faster, more accurate and more efficient, and the occurrence of return exploration can be avoided.
[0090] Reference Figure 7 , Figure 7 This is a structural block diagram of the robot provided in the embodiment of the present application. Figure 7 As shown, the robot 200 may include: a robot body, an obstacle detection device, a processor 201 , a memory 202 and a communication module 203 .
[0091] The obstacle detection device is arranged on the robot body and is used to receive the reflected signal reflected by the obstacle in real time. In this embodiment, the obstacle detection device is usually a laser radar.
[0092] The mobile robot body is provided with a walking mechanism. The processor 201 is built in the robot body.
[0093] The robot body is the main structure of the robot. The corresponding shape structure and manufacturing material (such as hard plastic or metals such as aluminum and iron) can be selected according to the actual needs of the robot. For example, it can be set to a relatively flat cylindrical shape that is common in sweeping robots.
[0094] The walking mechanism is a structural device arranged on the robot body to provide the mobile robot with mobility. The walking mechanism can be implemented by any type of mobile device, such as rollers, crawlers, etc.
[0095] The processor 201, the memory 202 and the communication module 203 can establish a communication connection between any two of them through a bus.
[0096] The processor 201 may be any type of control chip with one or more processing cores, which can perform single-thread or multi-thread operations, and is used to parse instructions to perform operations such as acquiring data, performing logical operations, and issuing operation results.
[0097] The memory 202 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and at least one application required for a function; the data storage area may store the robot's walking route, and the robot's walking control strategy, etc. In addition, the memory 202 may include a high-speed random access memory, and may also include a non-transitory memory, such as at least one disk storage device, a flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 202 may optionally include a memory remotely arranged relative to the processor 201, and these remote memories may be connected to the robot 200 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0098] The memory 202 stores instructions that can be executed by at least one control chip in the processor 201; the at least one control chip is used to execute the instructions to implement the map construction method of the cleaning robot in any of the above method embodiments.
[0099] The communication module 203 is a functional module for establishing a communication connection and providing a physical channel. The communication module 203 can be any type of wireless or wired communication module, including but not limited to a WiFi module or a Bluetooth module.
[0100] Compared with the existing cleaning robots, the cleaning robot provided in the embodiment of the present application first obtains the environment map corresponding to the current explored area in the target scene as the current environment map; then, traverses the intersection boundaries of the known areas and unknown areas of the environment map, and selects the boundary to be explored; then, based on the boundary to be explored, selects the navigation point for the next exploration of the cleaning robot; finally, based on the exploration results obtained when the cleaning robot moves to the navigation point, updates the current environment map. The cleaning robot provided in the embodiment of the present application traverses the intersection boundaries of the known areas and all unknown areas in the environment map, and the map building speed is faster, more accurate and more efficient, which can avoid the occurrence of return exploration.
[0101] The embodiment of the present application further provides a main control chip, which is assembled in the cleaning robot 200. The main control chip is used to control the cleaning robot 200 to execute the map construction method provided in the present application.
[0102] The present application also provides a cleaning robot, which is equipped with a main control chip provided in an embodiment of the present application. Through the main control chip, the cleaning robot can be controlled to execute the map construction method provided in the present application.
[0103] Furthermore, an embodiment of the present application also provides a computer storage medium, which stores computer executable instructions, and the computer executable instructions are executed by one or more control chips in the processor 201, so that the one or more control chips execute the robot map construction method in any of the above method embodiments.
[0104] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0105] Through the description of the above implementation methods, ordinary technicians in this field can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, it can also be implemented by hardware. Ordinary technicians in this field can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program in a computer program product. The computer program can be stored in a non-transient computer-readable storage medium. The computer program includes program instructions. When the program instructions are executed by the relevant device, the relevant device can execute the process of the embodiment of the above-mentioned method. Among them, the storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0106] The above-mentioned product can execute the map construction method of the robot provided in the embodiment of the present application, and has the corresponding functional modules and beneficial effects of executing the map construction method of the robot. For technical details not described in detail in this embodiment, please refer to the map construction method of the cleaning robot provided in the embodiment of the present application.
[0107] An embodiment of the present application also provides a computer program product, which includes a computer program stored on a non-volatile computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a cleaning robot, the cleaning robot executes any one of the map construction methods described.
[0108] The above described device or equipment embodiments are merely illustrative, wherein the unit modules described as separate components may or may not be physically separated, and the components displayed as module units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network module units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.
[0109] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0110] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0111] The above description is only a preferred embodiment of the present application, and does not limit the patent scope of the present application. All equivalent structural changes made by using the contents of the present application specification and drawings under the application concept of the present application, or directly / indirectly used in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A method for map construction, characterized in that: include: Get the environment map corresponding to the currently explored area in the target scene as the current environment map; Extracting the intersection boundary of the known area and the unknown area of the environment map, and selecting the boundary to be explored therefrom; Selecting a navigation point for the cleaning robot to explore next time according to the boundary to be explored; and Based on the exploration results obtained when the cleaning robot moves to the navigation point, the current environment map is updated.
2. The method according to claim 1, characterized in that The step of extracting the intersection boundary of the known area and the unknown area of the environment map and selecting the boundary to be explored therefrom comprises: Selecting the current position of the cleaning robot as a reference point; Selecting a contour point of the environment map that is closest to the reference point and located in a feasible connected domain as a reference contour point, wherein the contour points of the environment map include contour points of the intersection boundary; The contour points of the intersection boundary are searched in clockwise order, and the intersection boundary corresponding to the contour point closest to the reference contour point is selected as the boundary to be explored.
3. The method according to claim 2, characterized in that The selecting the current position of the cleaning robot as a reference point comprises: Determining whether the cleaning robot is exploring and mapping for the first time; If yes, the current position of the cleaning robot is selected as the reference point; If not, it is necessary to determine whether the current position of the cleaning robot and the previous reference point updated last time are located in the same feasible connected domain. If so, the previous reference point is selected as the reference point for this exploration. If not, the current position of the cleaning robot is selected as the reference point for this exploration.
4. The method according to claim 2, characterized in that Before selecting the contour point of the environmental map that is closest to the reference point and located in the feasible connected domain as the reference contour point, it also includes: judging whether the cleaning robot is located in a blank area within the body range, and if so, calculating the feasible connected domain of the cleaning robot based on the current position of the cleaning robot; if not, calculating the feasible connected domain of the cleaning robot based on the base point offset to the blank area within the body diameter range of the cleaning robot.
5. The method according to claim 1, characterized in that The step of selecting a navigation point for the cleaning robot to explore next time according to the boundary to be explored includes: Selecting visible points in multiple directions at preset distances according to the circumscribed rectangle of the boundary to be explored, wherein the preset distance is greater than or equal to the body radius of the cleaning robot and less than or equal to the scanning radius of the cleaning robot; and A visible point with the widest visible range between the boundary to be explored is selected as the navigation point for the next exploration of the cleaning robot, wherein the visible point is located in a known area of the environmental map and in a feasible connected domain of the cleaning robot.
6. The method according to claim 5, characterized in that The selecting visible points in multiple directions at preset distances according to the circumscribed rectangle of the boundary to be explored includes: Selecting the rectangle with the smallest area containing all contour points of the boundary to be explored as the circumscribed rectangle; and Along the two center lines of the circumscribed rectangle, visible points are selected according to the preset distances in multiple directions extending outward from the center point of the circumscribed rectangle as a starting point.
7. The method according to claim 1, characterized in that After updating the current environment map based on the exploration results obtained when the cleaning robot moves to the navigation point, the method further includes: The cleaning robot moves to an unknown area corresponding to the boundary to be explored; Select search reference points on the boundary of the area in clockwise order; and Taking the search reference point as a reference, the unknown boundary of the area where the cleaning robot is located is traversed in clockwise order to obtain an environmental map of the area.
8. A map construction device, characterized in that: The map construction device comprises: A map acquisition module is used to obtain the environment map corresponding to the current explored area in the target scene as the current environment map; A boundary selection module, used for extracting the intersection boundary of the known area and the unknown area of the environment map, and selecting the boundary to be explored therefrom; A navigation point selection module, used to select a navigation point of the cleaning robot according to the boundary to be explored; and The map updating module is used to update the current environment map based on the exploration results obtained when the cleaning robot moves to the navigation point, until a complete environment map of the target scene is obtained.
9. A cleaning robot, characterized in that: The cleaning robot comprises: a memory and at least one processor, wherein a computer program is stored in the memory; the at least one processor calls the computer program in the memory so that the smart device executes each step of the map construction method as described in any one of claims 1-7.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, each step of the map construction method according to any one of claims 1 to 7 is implemented.