Robot pile searching method, robot and storage medium

By identifying obstacles in the environmental map and generating wall outlines, the exploration area is determined based on the robot's search capabilities. This solves the problem of indoor robots being unable to find charging stations after their locations change, and achieves efficient and accurate charging station search.

CN121879343APending Publication Date: 2026-04-17UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
UBTECH ROBOTICS CORP LTD
Filing Date
2025-12-17
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

The indoor robot is unable to find the charging station on its own after the charging station location changes, resulting in charging failure and shutdown due to power depletion.

Method used

By identifying obstacles and areas to be searched in the environmental map, a wall outline map is generated. The exploration area is determined based on the robot's search capability range. The outline sampling points in the wall outline map are traversed, and target exploration points are matched to search for charging piles.

Benefits of technology

It improves the accuracy and efficiency of charging station exploration, reduces path length and time overhead, and ensures that the robot can accurately find charging stations for charging.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121879343A_ABST
    Figure CN121879343A_ABST
Patent Text Reader

Abstract

The invention is suitable for the technical field of robots, and provides a pile searching method of a robot, the robot and a storage medium, the method comprises the steps that obstacles and a to-be-searched area in an environment map are identified, the obstacles comprise a wall body and other objects, and a wall body contour map is determined according to the position of the wall body; determining an exploration area of the robot in the to-be-searched area according to the position of the obstacle and the search capability range of the robot; traversing contour sampling points in the wall contour map, and determining target exploration points matched with the target sampling points; and controlling the robot to move to the position of the target exploration point to search the charging pile. When the robot searches for the charging pile, polling is carried out according to the wall body profile diagram so as to ensure that each position of a room is explored; however, exploration needs to be carried out at the target exploration point in the matched exploration area and exploration of the charging pile needs to be carried out in the exploration area, the exploration effect is good, and whether the charging pile exists in the position area or not can be determined more accurately.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of robotics technology, and in particular relates to a method for a robot to find obstacles, a robot, and a storage medium. Background Technology

[0002] With the rapid development of smart home technology, indoor robots are becoming increasingly popular, such as robotic vacuum cleaners. Indoor robots are generally equipped with rechargeable batteries to provide power. When the batteries are low, they need to be recharged promptly so that the robot can function normally.

[0003] Currently, when charging indoor robots, they move to the location of the stored charging dock based on its initial position. However, in actual use, if the indoor layout changes, the location of the charging dock may also change. If the indoor robot continues to charge based on the stored initial position after the charging dock's location changes, it will be unable to find the charging dock, leading to charging failure and the robot shutting down due to depleted battery power. Summary of the Invention

[0004] This application provides a robot's method for finding charging stations, a robot, and a storage medium, which can solve the problem that the robot cannot charge when the location of the charging station moves because the robot cannot autonomously find the charging station.

[0005] In a first aspect, embodiments of this application provide a method for a robot to locate obstacles, including:

[0006] The robot identifies obstacles and areas to be searched in an environment map of its surroundings, wherein the obstacles include walls and other objects, and the other objects are obstacles other than the walls.

[0007] Based on the location of the wall, generate a wall outline map of the wall in the environment map;

[0008] Based on the location of the obstacle and the robot's search capability range, the robot's exploration area is determined in the area to be searched. The search capability range indicates that when the distance between the robot and the charging pile is within the search capability range, the signal strength of the signal emitted by the charging pile received by the robot is greater than a preset value.

[0009] Traverse the contour sampling points in the wall contour map to determine the target exploration point that matches the target sampling point, wherein the target sampling point is the contour sampling point traversed at the current time, and the target exploration point is the exploration point in the exploration area;

[0010] The robot is controlled to move to the target exploration point to search for charging stations.

[0011] In this application, obstacles and the area to be searched in the environmental map are first identified. Obstacles include walls and other objects, and a wall outline is determined based on the wall's location. Based on the obstacle's location and the robot's search capability range, the robot's exploration area is determined within the area to be searched. When the robot searches for charging stations, it iterates through the wall outline to ensure that every location in the room is explored, avoiding omissions. However, it needs to explore target exploration points within the matched exploration area. Since the exploration area is determined based on the robot's search capability range, exploring charging stations within this area yields better results and more accurately determines whether a charging station exists in that location. Therefore, without search capability range limitations, the robot might need to traverse the entire area to be searched, regardless of whether the area is within the effective detection range of the sensors, reducing the efficiency of charging station exploration. This application, by determining the exploration area based on the robot's search capability range, only requires the robot to explore the area effectively covered by its sensors, thus significantly reducing path length and time overhead.

[0012] In one possible implementation of the first aspect, determining the robot's exploration area in the area to be searched based on the location of the obstacle and the robot's search capability range includes:

[0013] Calculate the distance between a first pixel in the search area and its nearest second pixel, where the second pixel is a pixel in the obstacle;

[0014] Obtain the search capability range of the robot;

[0015] Based on the distance value of the first pixel and the search capability range, a target pixel in the first pixel is determined, wherein the distance value of the target pixel is within the search capability range;

[0016] The robot's exploration area is determined in the area to be searched based on the position of the target pixel.

[0017] In one possible implementation of the first aspect, determining the robot's exploration area in the search area based on the position of the target pixel includes:

[0018] Based on the position of the target pixel, a candidate region is generated in the area to be searched;

[0019] Using a maximum value extraction algorithm, based on the distance value of the first pixel in the candidate region, a maximum value region is selected from the candidate region to obtain the robot's exploration region.

[0020] In one possible implementation of the first aspect, the step of traversing the contour sampling points in the wall contour map to determine the target exploration point matching the target sampling point includes:

[0021] Traverse the contour sampling points in the wall contour diagram to determine whether the exploration area exists within a preset range of the target sampling point;

[0022] If the exploration area exists within the preset range, the exploration point in the exploration area is determined as the target exploration point.

[0023] In one possible implementation of the first aspect, generating a wall outline of the wall in the environment map based on the location of the wall includes:

[0024] Obtain the number of pixels occupied by the other objects in the environment map;

[0025] Based on the number of pixels occupied by the other objects, the target objects in the environment map are removed to obtain candidate images of the environment map, wherein the number of pixels occupied by the target objects is less than a preset threshold.

[0026] The location of the wall in the candidate image is identified, and a wall outline map of the wall is generated;

[0027] The wall outline is mapped onto the environment map to obtain the environment map including the wall outline.

[0028] In one possible implementation of the first aspect, after removing target objects from the environment map based on the number of pixels occupied by the other objects to obtain candidate images of the environment map, the method further includes:

[0029] The candidate image is dilated to obtain the dilated candidate image;

[0030] Accordingly, identifying the location of the wall in the candidate image and generating a wall outline map of the wall includes:

[0031] The location of the wall in the candidate image is identified in the expanded candidate image, and a wall outline map of the wall is generated.

[0032] In one possible implementation of the first aspect, after controlling the robot to move to the location of the target exploration point to search for charging stations, the method further includes:

[0033] If the robot finds the charging pile at the target exploration point, it controls the robot to move to the location of the charging pile to charge, and stops traversing the contour sampling points in the wall contour map;

[0034] If the robot does not find the charging station at the target exploration point, it continues to traverse the contour sampling points in the wall contour map, determines the target exploration point that matches the target sampling point, and controls the robot to move to the position of the target exploration point to search for the charging station.

[0035] Secondly, embodiments of this application provide a robot, including:

[0036] An image recognition module is used to identify obstacles and areas to be searched in the environment map of the robot's environment. The obstacles include walls and other objects, and the other objects are obstacles other than the walls.

[0037] The wall determination module is used to generate a wall outline map of the wall in the environment map based on the location of the wall;

[0038] The search planning module is used to determine the robot's exploration area in the area to be searched based on the location of the obstacle and the robot's search capability range. The search capability range indicates that when the distance between the robot and the charging pile is within the search capability range, the signal strength of the signal emitted by the charging pile received by the robot is greater than a preset value.

[0039] The search point determination module is used to traverse the contour sampling points in the wall contour map and determine the target exploration point that matches the target sampling point. The target sampling point is the contour sampling point traversed at the current time, and the target exploration point is the exploration point in the exploration area.

[0040] The search module is used to control the robot to move to the location of the target exploration point to search for charging stations.

[0041] Thirdly, embodiments of this application provide a terminal device, including: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the robot's staking method as described in any of the first aspects above.

[0042] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the robot's staking method as described in any one of the first aspects.

[0043] Fifthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute the robot's staking method as described in any of the first aspects. Attached Figure Description

[0044] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0045] Figure 1 This is a schematic flowchart of a robot's stake-finding method according to an embodiment of this application;

[0046] Figure 2 This is a schematic diagram of an environmental map provided in one embodiment of this application;

[0047] Figure 3 This is a schematic diagram illustrating the determination of the search capability range of a robot according to an embodiment of this application;

[0048] Figure 4 This is a schematic diagram of a robot searching for charging stations according to an embodiment of this application;

[0049] Figure 5 This is a schematic diagram of a robot searching for charging stations according to another embodiment of this application;

[0050] Figure 6 This is a schematic diagram of a method for generating a wall outline diagram according to an embodiment of this application;

[0051] Figure 7 This is a schematic diagram of a binarized environment map provided in an embodiment of this application;

[0052] Figure 8 This is a schematic diagram of an environmental map after removing small obstacles, provided in an embodiment of this application;

[0053] Figure 9 This is a schematic diagram of an environmental map after inflating obstacles, provided in an embodiment of this application.

[0054] Figure 10 This is a schematic diagram of a connected region in an environmental map provided in an embodiment of this application;

[0055] Figure 11 This is a schematic diagram of an image after filling a connected region with obstacles, according to an embodiment of this application;

[0056] Figure 12 This is a schematic diagram of an environmental map including a wall outline provided in one embodiment of this application;

[0057] Figure 13 This is a flowchart illustrating a method for determining an exploration region according to an embodiment of this application;

[0058] Figure 14 This is a schematic diagram of an exploration area provided in an embodiment of this application;

[0059] Figure 15 This is a schematic diagram of the exploration area provided in another embodiment of this application;

[0060] Figure 16 This is a schematic diagram of the structure of a robot provided in one embodiment of this application;

[0061] Figure 17 This is a schematic diagram of the structure of a robot provided in another embodiment of this application. Detailed Implementation

[0062] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0063] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0064] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized.

[0065] With the development of robots, they have greatly improved the convenience of the home. However, in practical applications, the efficiency and reliability of robot recharging remain significant pain points, and accurately locating charging stations is still a problem that needs to be solved.

[0066] Currently, robots typically charge based on the initial location of the pre-set charging station. However, in actual use, users may move the charging station, causing the robot to lose its ability to locate the charging station based on the initial location and thus preventing it from charging.

[0067] Based on this, this application proposes a method for a robot to locate charging stations. The robot can identify walls in an environmental map and generate a wall outline map. Then, based on the location of obstacles, it generates an exploration area in the area to be searched according to its own search capabilities. The robot performs target searches more accurately within its search capabilities. Then, it searches for charging stations based on the wall outline map. During the search process, the robot does not explore the charging stations at the locations shown on the wall outline map. Instead, it determines an exploration point in the exploration area based on the contour sampling points on the wall outline map. The robot moves to the determined exploration point to explore the charging stations, ensuring the accuracy of the charging station exploration results.

[0068] The following combination Figure 1 The robot's stake-finding method according to the embodiments of this application will be described in detail.

[0069] Figure 1 A schematic flowchart of the robot's stake-finding method provided in this application is shown, with reference to... Figure 1 The method is described in detail below:

[0070] S101, Identify obstacles and search areas in the environment map of the robot's environment, wherein the obstacles include walls and other objects, and the other objects are obstacles other than the walls.

[0071] In this embodiment, the robot can be an indoor robot such as a robotic vacuum cleaner or a food delivery robot. Other objects can include tables, chairs, toys, etc.

[0072] In this embodiment, the environmental map can be created by the robot based on the obstacle information collected during the execution of the task, which ensures the accuracy and real-time performance of the environmental map.

[0073] The system identifies obstacles, searchable areas, and unknown areas in the environment map, generating a ternary environment map where pixel values ​​differ across regions. For example, ... Figure 2 The environment map shown has black areas representing obstacle zones with pixel values ​​of 0; gray areas representing unknown areas with pixel values ​​of 200; and white areas representing areas to be searched, i.e., free areas with pixel values ​​of 255.

[0074] S102, Based on the location of the wall, generate a wall outline map of the wall in the environment map.

[0075] In this embodiment, edge detection is performed on the walls in the environmental map to extract the edge positions of the walls, and the wall outline is drawn based on the edge positions of the walls.

[0076] S103, based on the location of the obstacle and the robot's search capability range, determine the robot's exploration area in the area to be searched, wherein the search capability range indicates that when the distance between the robot and the charging pile is within the search capability range, the signal strength of the signal emitted by the charging pile received by the robot is greater than a preset value.

[0077] In this embodiment, the robot's search capability range is related to the sensor model and installation location, and different robots may have different search capability ranges. Specifically, the robot is pre-moved to the vicinity of a charging station, and the robot is controlled to receive signals emitted by the charging station at different locations near the station. The signal strength of the signals received by the robot at different locations is recorded. By comparing the magnitude of each signal strength with a preset value, the robot's search capability range is determined. Specifically, if the signal strength is greater than the preset value, it indicates that the robot's search capability is relatively accurate at the location corresponding to that signal strength. The distance between the location corresponding to that signal strength and the charging station is then defined as within the search capability range. In this way, the maximum and minimum values ​​of the search capability range are finally determined. After determining the robot's search capability range, the search capability range is preset in the robot for subsequent use.

[0078] For example, such as Figure 3 As shown, the robot has a good signal exploration capability within the marked area. Therefore, based on the distance between the marked area and the charging station, the robot's search capability range is determined to be 0.2 meters to 1.0 meters, or 0.5 meters to 1.0 meters, etc.

[0079] In one approach, using the edge of an obstacle as a reference, the obstacle's edge is expanded by N pixels into the area to be searched. N is determined based on the maximum value of the search capability range, and the expanded area is the exploration area. For example, if the maximum search capability range is 1 meter, and 1 meter maps to 10 pixels in the environment map, then the obstacle's edge is expanded by 10 pixels into the area to be searched.

[0080] S104, Traverse the contour sampling points in the wall contour map and determine the target exploration point that matches the target sampling point, wherein the target sampling point is the contour sampling point traversed at the current time and the target exploration point is the exploration point in the exploration area.

[0081] In this embodiment, a charging station search event is triggered when the battery level falls below a preset threshold. After triggering the charging station search event, the robot's current position is used to determine the nearest contour sampling point. Starting from this nearest point, the robot traverses the contour sampling points on the wall contour map in either a counter-clockwise or clockwise order. Furthermore, to accelerate the charging station search, the contour sampling points on the wall contour map can be traversed at preset intervals, such as 5 pixels or 10 pixels.

[0082] For example, if the preset interval is 5 contour sampling points, then after traversing the first contour sampling point on the wall contour map, traversing the sixth contour sampling point on the wall contour map, and then traversing the eleventh contour sampling point on the wall contour map, and so on, until a charging pile is found.

[0083] In this embodiment, the currently traversed contour sampling point is the target sampling point. For example, if the current time traversal reaches the i-th contour sampling point, then the i-th contour sampling point is the target sampling point.

[0084] In one approach, the nearest exploration point to the contour sampling point traversed at the current moment is found in the exploration area, and this nearest exploration point is recorded as the target exploration point.

[0085] In another approach, the method for determining the target exploration point may also include:

[0086] S11, traverse the contour sampling points in the wall contour map to determine whether the exploration area exists within the preset range of the target sampling point.

[0087] In this embodiment, the preset range can be set as needed, for example, the preset range can be a range of 0-10 pixels.

[0088] S12, if the exploration area exists within the preset range, the exploration point in the exploration area is determined as the target exploration point.

[0089] In this embodiment, each pixel within the exploration area of ​​a preset range is used as a target exploration point; alternatively, a distance threshold between exploration points is preset, and each exploration point within the exploration area of ​​the preset range is selected as a target exploration point based on the distance threshold. The distance threshold can be set as needed, for example, the distance threshold can be 4 pixels or 5 pixels, etc.

[0090] Furthermore, for different areas where the robot is equidistant from obstacles, the larger the area, the more accurately the robot explores. Therefore, in some narrow areas, the distance threshold can be reduced to prevent missed areas; in some open areas, the distance threshold can be increased to improve exploration efficiency. For example, a baseline distance threshold can be pre-set, corresponding to a baseline area range; the area to be searched can be divided into segments; the distance threshold of the segments within the baseline area range can be set as the baseline distance threshold; the distance threshold of the segments smaller than the baseline area range can be set as a first distance threshold, which is less than the baseline distance threshold; and the distance threshold of the segments larger than the baseline area range can be set as a second distance threshold, which is greater than the baseline distance threshold.

[0091] After determining the exploration area within the preset range, find the distance threshold corresponding to the exploration area, and determine the target exploration point based on the distance threshold. For example, if the distance threshold corresponding to the exploration area is 7 pixels, then a target exploration point is determined every 7 pixels within the exploration area.

[0092] S13. If there is no exploration area within the preset range, continue to traverse the next contour sampling point.

[0093] S105, control the robot to move to the location of the target exploration point to search for charging stations.

[0094] In this embodiment, during the search process, already traversed contour sampling points are recorded, and these points are not traversed again to improve the search efficiency of charging piles. Previously explored exploration points are also recorded to avoid repeated exploration and further improve the search efficiency of charging piles.

[0095] In this embodiment, if the robot finds the charging pile at the target exploration point, it controls the robot to move to the location of the charging pile to charge, and stops traversing the contour sampling points in the wall contour map.

[0096] If the robot does not find the charging station at the target exploration point, it continues to traverse the contour sampling points in the wall contour map, determines the target exploration point that matches the target sampling point, and controls the robot to move to the position of the target exploration point to search for the charging station.

[0097] For example, such as Figure 4 and Figure 5 As shown, the dots represent the target sampling points being traversed, the triangles represent the robot's current position, and the squares represent the target exploration points that match the target exploration points. For Figure 4In (a) of the diagram, at the current moment, the robot has reached the target sampling point i and is currently at position 1. The target exploration point matching the target sampling point i is at position A. The robot needs to move to position A to search for a charging station. The robot moves to position A to search, but no charging station is found at position A. The robot continues to traverse the contour sampling points, obtains the target sampling point i+1, and determines that the target exploration point matching the target sampling point i+1 is at position B, as shown below. Figure 4 In step (b), the robot needs to move to location B to search for a charging station. The robot moves to location B to search, but no charging station is found. The robot continues to traverse the contour sampling points, obtaining the target sampling point i+2, and determines that the target exploration point matching target sampling point i+2 is at location C, as shown below. Figure 4 In step (c), the robot needs to move to position C to search for a charging station. The robot moves to position C to search, but no charging station is found. The robot continues to traverse the contour sampling points, obtaining the target sampling point i+3, and determines that the target exploration point matching target sampling point i+3 is at position D, as shown below. Figure 4 In step (d), the robot needs to move to position D to search for a charging station. The robot moves to position D to search, but no charging station is found. The robot continues to traverse the contour sampling points, obtaining the target sampling point i+4, and determines that the target exploration point matching target sampling point i+4 is at position E, such as... Figure 5 In step (a), the robot needs to move to position E to search for a charging station. The robot moves to position E to search, but no charging station is found. The robot continues to traverse the contour sampling points, obtaining the target sampling point i+5, and determines that the target exploration point matching target sampling point i+5 is at position F, as shown below. Figure 5 In step (b), the robot needs to move to position F to search for a charging station. The robot moves to position F to search, but no charging station is found. Based on the condition that the target exploration point is not explored repeatedly, the robot continues to traverse the contour sampling points, obtaining the target sampling point i+6, and determines that the target exploration point matching the target sampling point i+6 is at position G, as shown below. Figure 5 In step (c), the robot needs to move to position G to search for a charging station. The robot moves to position G to search. If no charging station is found at position G, the robot continues to traverse the contour sampling points, obtaining the target sampling point i+7, and determines that the target exploration point matching target sampling point i+7 is at position H, such as... Figure 5 In step (d), the robot needs to move to location H to search for a charging station.

[0098] In one possible implementation, such as Figure 6 As shown, the implementation process of step S102 may include:

[0099] S1021, Obtain the number of pixels occupied by the other objects in the environment map.

[0100] In this embodiment, the environment map is binarized to obtain obstacle areas and non-obstacle areas. The non-obstacle areas include the area to be searched and unknown areas, for example... Figure 7 As shown, the black lines represent obstacles.

[0101] S1022, based on the number of pixels occupied by the other objects, remove the target objects from the environment map to obtain a candidate image of the environment map, wherein the number of pixels occupied by the target objects is less than a preset threshold.

[0102] In this embodiment, smaller obstacles might be specks, table legs, or chair legs. By designating these smaller obstacles as feasible areas for the robot and avoiding missed explorations, they need to be removed first. For example, the image after removing smaller obstacles is shown below. Figure 8 As shown, compared to Figure 7 , Figure 8 Small obstacles were removed.

[0103] S1023, Identify the position of the wall in the candidate image and generate a wall outline map of the wall.

[0104] In one approach, a wall outline map is generated within the area to be explored in the candidate image, following the direction of the wall.

[0105] In another approach, the candidate image is dilated to obtain a dilated candidate image; the position of the wall in the dilated candidate image is identified, and a wall outline map of the wall is generated.

[0106] In this embodiment, the obstacle is dilated to obtain a dilated candidate image, for example... Figure 9 As shown. Specifically, the pixels on the obstacle are expanded to both sides by a preset number of pixels. For example, the preset number can be 3 or 4, etc. The preset number can be determined according to the size of the robot. For example, for a circular robot vacuum cleaner, the preset number can be the radius of the robot vacuum cleaner, so as to exclude areas that the robot vacuum cleaner cannot reach due to its own size limitations and avoid collisions between the robot vacuum cleaner and the obstacle.

[0107] Identify connected regions in the environment map to obtain a connected region image, such as... Figure 10 As shown, blank areas are connected regions, and black areas are also connected regions. The target image is obtained by fusing the connected region image with the dilated candidate image; alternatively, the target image is obtained by filling the connected region image with other objects from the search area, for example... Figure 11 The target image is shown. The wall outline of the target image is extracted, that is, the intersection line where the wall intersects with the area to be searched is extracted, resulting in the wall outline map.

[0108] S1024, The wall outline is mapped onto the environment map to obtain the environment map including the wall outline.

[0109] In this embodiment, the wall outline diagram is compared with the environmental map (such as...). Figure 2 The images shown are fused together to obtain an environment map that includes the wall outline, as shown. Figure 12 As shown.

[0110] The above describes the method for determining the wall outline. The following describes the method for determining the exploration area. When determining the exploration area, the Euclidean distance transformation algorithm is used to convert the target image into a distance transformation map, thereby obtaining the robot's exploration area.

[0111] Specifically, such as Figure 13 As shown, the implementation process of step S103 may include:

[0112] S1031, calculate the distance between the first pixel in the search area and the nearest second pixel, wherein the second pixel is a pixel in the obstacle.

[0113] In this embodiment, the Euclidean distance between each first pixel in the search area and the second pixel of the nearest obstacle is calculated to obtain a distance transformation map, and the pixel value of each first pixel in the distance transformation map is the Euclidean distance.

[0114] S1032, Obtain the search capability range of the robot.

[0115] S1033, determine the target pixel in the first pixel according to the distance value of the first pixel and the search capability range, wherein the distance value of the target pixel is within the search capability range.

[0116] In this embodiment, the first pixel is filtered to obtain the first pixel whose distance value is within the search capability range.

[0117] S1034, Based on the position of the target pixel, determine the robot's exploration area in the area to be searched.

[0118] In one approach, the region comprised of the first pixel (target pixel) whose distance value is within the search capability range is defined as the exploration region. For example... Figure 14 As shown in the image, the white area represents the exploration area.

[0119] In another approach, the method for determining the exploration area may also include:

[0120] Based on the position of the target pixel, a candidate region is generated in the area to be searched; using a maximum value extraction algorithm, a maximum value region is selected from the candidate region based on the distance value of the first pixel in the candidate region, to obtain the robot's exploration area.

[0121] Specifically, the region consisting of the first pixel (target pixel) whose distance value is within the search capability range is the candidate region, such as... Figure 14 As shown, a sliding window is used to navigate within the candidate region. A maximum value extraction algorithm is employed to determine the maximum distance value within each sliding window. The region consisting of the first pixel corresponding to all maximum values ​​is designated as the exploration region, thus narrowing the scope of the exploration region and improving search efficiency. For example... Figure 15 As shown in the image, the white area represents the final determined exploration area.

[0122] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0123] Corresponding to the robot's stake-finding method described in the above embodiments, Figure 16 A structural block diagram of the robot provided in the embodiments of this application is shown. For ease of explanation, only the parts related to the embodiments of this application are shown.

[0124] Reference Figure 8 The robot 200 may include: an image recognition module 210, a wall determination module 220, a search planning module 230, a search point determination module 240, and a search module 250.

[0125] The image recognition module 210 is used to identify obstacles and search areas in the environment map of the robot's environment. The obstacles include walls and other objects, and the other objects are obstacles other than the walls.

[0126] The wall determination module 220 is used to generate a wall outline map of the wall in the environment map based on the location of the wall;

[0127] The search planning module 230 is used to determine the robot's exploration area in the area to be searched based on the location of the obstacle and the robot's search capability range, wherein the search capability range indicates that when the distance between the robot and the charging pile is within the search capability range, the signal strength of the signal emitted by the charging pile received by the robot is greater than a preset value.

[0128] The search point determination module 240 is used to traverse the contour sampling points in the wall contour map and determine the target exploration point that matches the target sampling point, wherein the target sampling point is the contour sampling point traversed at the current time and the target exploration point is the exploration point in the exploration area;

[0129] The search module 250 is used to control the robot to move to the location of the target exploration point to search for charging stations.

[0130] In one possible implementation, the search planning module 230 can specifically be used for:

[0131] Calculate the distance between a first pixel in the search area and its nearest second pixel, where the second pixel is a pixel in the obstacle;

[0132] Obtain the search capability range of the robot;

[0133] Based on the distance value of the first pixel and the search capability range, a target pixel in the first pixel is determined, wherein the distance value of the target pixel is within the search capability range;

[0134] The robot's exploration area is determined in the area to be searched based on the position of the target pixel.

[0135] In one possible implementation, the search planning module 230 can specifically be used for:

[0136] Based on the position of the target pixel, a candidate region is generated in the area to be searched;

[0137] Using a maximum value extraction algorithm, based on the distance value of the first pixel in the candidate region, a maximum value region is selected from the candidate region to obtain the robot's exploration region.

[0138] In one possible implementation, the search point determination module 240 can specifically be used for:

[0139] Traverse the contour sampling points in the wall contour diagram to determine whether the exploration area exists within a preset range of the target sampling point;

[0140] If the exploration area exists within the preset range, the exploration point in the exploration area is determined as the target exploration point.

[0141] In one possible implementation, the wall determination module 220 can specifically be used for:

[0142] Obtain the number of pixels occupied by the other objects in the environment map;

[0143] Based on the number of pixels occupied by the other objects, the target objects in the environment map are removed to obtain candidate images of the environment map, wherein the number of pixels occupied by the target objects is less than a preset threshold.

[0144] The location of the wall in the candidate image is identified, and a wall outline map of the wall is generated;

[0145] The wall outline is mapped onto the environment map to obtain the environment map including the wall outline.

[0146] In one possible implementation, the wall determination module 220 can specifically be used for:

[0147] The candidate image is dilated to obtain the dilated candidate image;

[0148] The location of the wall in the candidate image is identified in the expanded candidate image, and a wall outline map of the wall is generated.

[0149] In one possible implementation, the search module 250 can specifically be used for:

[0150] If the robot finds the charging pile at the target exploration point, it controls the robot to move to the location of the charging pile to charge, and stops traversing the contour sampling points in the wall contour map;

[0151] If the robot does not find the charging station at the target exploration point, it continues to traverse the contour sampling points in the wall contour map, determines the target exploration point that matches the target sampling point, and controls the robot to move to the position of the target exploration point to search for the charging station.

[0152] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.

[0153] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0154] This application also provides a robot, see [link to relevant documentation] Figure 17 The robot 400 may include: at least one processor 410, a memory 420, and a computer program stored in the memory 420 and executable on the at least one processor 410. When the processor 410 executes the computer program, it implements the steps in any of the above-described method embodiments, for example... Figure 1 Steps S101 to S105 in the illustrated embodiment. Alternatively, when the processor 410 executes the computer program, it implements the functions of each module / unit in the above-described device embodiments, for example... Figure 16 The functions of the image recognition module 210 to the search module 250 are shown.

[0155] For example, a computer program may be divided into one or more modules / units, one or more of which are stored in memory 420 and executed by processor 410 to complete this application. The one or more modules / units may be a series of computer program segments capable of performing a specific function, which describe the execution process of the computer program in robot 400.

[0156] Those skilled in the art will understand that Figure 17 This is merely an example of a robot and does not constitute a limitation on the robot. It may include more or fewer parts than shown, or combine certain parts, or different parts, such as input / output devices, network access devices, buses, etc.

[0157] The processor 410 can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0158] The memory 420 can be an internal storage unit of the robot or an external storage device, such as a plug-in hard drive, a smart media card (SMC), a secure digital (SD) card, or a flash card. The memory 420 is used to store the computer program and other programs and data required by the robot. The memory 420 can also be used to temporarily store data that has been output or will be output.

[0159] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.

[0160] The robot locator method provided in this application embodiment can be applied to terminal devices such as computers, tablets, laptops, netbooks, and personal digital assistants (PDAs). This application embodiment does not impose any restrictions on the specific type of terminal device.

[0161] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0162] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0163] In the embodiments provided in this application, it should be understood that the disclosed terminal devices, apparatuses, and methods can be implemented in other ways. For example, the terminal device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, apparatuses, or units, and may be electrical, mechanical, or other forms.

[0164] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0165] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0166] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by one or more processors, it can implement the steps of the various method embodiments described above.

[0167] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by one or more processors, it can implement the steps of the various method embodiments described above.

[0168] Similarly, as a computer program product, when the computer program product is run on a terminal device, it enables the terminal device to implement the steps in the above-described method embodiments.

[0169] The computer program includes computer program code, which can be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium can include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0170] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for a robot to locate obstacles, characterized in that, include: The robot identifies obstacles and areas to be searched in an environment map of its surroundings, wherein the obstacles include walls and other objects, and the other objects are obstacles other than the walls. Based on the location of the wall, generate a wall outline map of the wall in the environment map; Based on the location of the obstacle and the robot's search capability range, the robot's exploration area is determined in the area to be searched. The search capability range indicates that when the distance between the robot and the charging pile is within the search capability range, the signal strength of the signal emitted by the charging pile received by the robot is greater than a preset value. Traverse the contour sampling points in the wall contour map to determine the target exploration point that matches the target sampling point, wherein the target sampling point is the contour sampling point traversed at the current time, and the target exploration point is the exploration point in the exploration area; The robot is controlled to move to the target exploration point to search for charging stations.

2. The robot's stake-finding method as described in claim 1, characterized in that, The step of determining the robot's exploration area in the area to be searched based on the location of the obstacle and the robot's search capability range includes: Calculate the distance between a first pixel in the search area and its nearest second pixel, where the second pixel is a pixel in the obstacle; Obtain the search capability range of the robot; Based on the distance value of the first pixel and the search capability range, a target pixel in the first pixel is determined, wherein the distance value of the target pixel is within the search capability range; The robot's exploration area is determined in the area to be searched based on the position of the target pixel.

3. The robot's stake-finding method as described in claim 2, characterized in that, Determining the robot's exploration area in the search area based on the position of the target pixel includes: Based on the position of the target pixel, a candidate region is generated in the area to be searched; Using a maximum value extraction algorithm, based on the distance value of the first pixel in the candidate region, a maximum value region is selected from the candidate region to obtain the robot's exploration region.

4. The robot's stake-finding method as described in claim 1, characterized in that, The step of traversing the contour sampling points in the wall contour map and determining the target exploration point that matches the target sampling point includes: Traverse the contour sampling points in the wall contour diagram to determine whether the exploration area exists within a preset range of the target sampling point; If the exploration area exists within the preset range, the exploration point in the exploration area is determined as the target exploration point.

5. The robot's stake-finding method as described in any one of claims 1 to 4, characterized in that, The step of generating a wall outline map of the wall in the environment map based on the location of the wall includes: Obtain the number of pixels occupied by the other objects in the environment map; Based on the number of pixels occupied by the other objects, the target objects in the environment map are removed to obtain candidate images of the environment map, wherein the number of pixels occupied by the target objects is less than a preset threshold. The location of the wall in the candidate image is identified, and a wall outline map of the wall is generated; The wall outline is mapped onto the environment map to obtain the environment map including the wall outline.

6. The robot's stake-finding method as described in claim 5, characterized in that, After removing target objects from the environment map based on the number of pixels occupied by the other objects to obtain candidate images of the environment map, the method further includes: The candidate image is dilated to obtain the dilated candidate image; Accordingly, identifying the location of the wall in the candidate image and generating a wall outline map of the wall includes: The location of the wall in the candidate image is identified in the expanded candidate image, and a wall outline map of the wall is generated.

7. The robot's stake-finding method as described in claim 1, characterized in that, After controlling the robot to move to the target exploration point to search for charging stations, the method further includes: If the robot finds the charging pile at the target exploration point, it controls the robot to move to the location of the charging pile to charge, and stops traversing the contour sampling points in the wall contour map; If the robot does not find the charging station at the target exploration point, it continues to traverse the contour sampling points in the wall contour map, determines the target exploration point that matches the target sampling point, and controls the robot to move to the position of the target exploration point to search for the charging station.

8. A robot, characterized in that, include: An image recognition module is used to identify obstacles and areas to be searched in the environment map of the robot's environment. The obstacles include walls and other objects, and the other objects are obstacles other than the walls. The wall determination module is used to generate a wall outline map of the wall in the environment map based on the location of the wall; The search planning module is used to determine the robot's exploration area in the area to be searched based on the location of the obstacle and the robot's search capability range. The search capability range indicates that when the distance between the robot and the charging pile is within the search capability range, the signal strength of the signal emitted by the charging pile received by the robot is greater than a preset value. The search point determination module is used to traverse the contour sampling points in the wall contour map and determine the target exploration point that matches the target sampling point. The target sampling point is the contour sampling point traversed at the current time, and the target exploration point is the exploration point in the exploration area. The search module is used to control the robot to move to the location of the target exploration point to search for charging stations.

9. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the robot's stake-finding method as described in any one of claims 1 to 7.

10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the robot's stake-finding method as described in any one of claims 1 to 7.