Self-moving device, self-moving device and storage medium
By obtaining navigation maps, extracting can be connected to the field, and modifying the trapped path, it solves the problem of misunderstanding of self -mobile devices due to the inaccurate environmental perception information, which improves the ability to get rid of difficulties and avoid collision.
Patent Information
- Application Number
- CN202411231028.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2025-01-24
AI Technical Summary
During the working process of the self-mobile robot, due to inaccurate environmental perception information, the robot is misjudged as trapped, which affects the cleaning efficiency.
By detecting the trapped situation of the mobile device, obtain the navigation map, extract the connecting field, calculate the initial outposting path, screen and modify the path point, generate a correction of the trapped path, and control the movement of the device based on the path to detect the outlet.
It improves the escape efficiency of self-moving equipment, ensures that collisions are avoided during the escape process, and enhances the equipment's ability to self-untrap.
Smart Images

Figure CN119356306A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics, and in particular to a method for escaping a self-moving device, a self-moving device, and a storage medium. Background Art
[0002] With the rapid development of robotics technology, self-propelled robots are used in various scenarios, such as industrial production, logistics and transportation, household services, etc. Self-propelled robots can automatically navigate and move according to the environmental perception device. However, due to the complexity of the working scene, the self-propelled robot may be trapped. In particular, in some special scenes, the environmental information perceived by the environmental perception device of the self-propelled robot is not accurate, which affects the working efficiency of the self-propelled robot.
[0003] For example, a sweeping robot used for indoor household services usually has a round body with a walkable driving wheel installed at the bottom, and is equipped with a roller brush, a side brush, and a dust suction device. The sweeping robot can be divided into a random collision sweeping robot, an inertial navigation sweeping robot, and a laser detection and measurement (Light Detection And Ranging, LDS) mapping and planning sweeping robot. At present, the mainstream form of sweeping robots is still the LDS mapping and planning sweeping robots. This type of sweeping robot needs to determine the area to be cleaned in advance and dispatch it to the corresponding area for cleaning according to the actual situation. During the cleaning process, the LDS radar will continuously update the surrounding environmental information to identify obstacles, but sometimes the obstacles generated by the radar update cannot be completely considered to be 100% reliable. For example, when the sweeping robot enters under the bed, since the LDS radar usually has an upward angle of 1-2 degrees, the radar data corresponding to the low bed edge or bed sheet can be easily misdetected as an obstacle. At the same time, the environmental map corresponding to the simultaneous localization and mapping (SLAM) will mistakenly judge that the sweeping robot is enclosed in the area under the bed, resulting in the device being unable to plan a scheduling path, thus trapping the robot and affecting the cleaning efficiency.
[0004] Therefore, in the case where the self-moving robot is mistakenly judged to be trapped due to inaccurate environmental perception information, how to accurately find an escape exit is an urgent problem to be solved by technical personnel in this field. Summary of the invention
[0005] In order to solve the above technical problems, the present application at least provides a method for escaping a self-moving device, a self-moving device and a storage medium.
[0006] The first aspect of the present application provides a method for escaping a self-moving device, the method comprising: detecting that the self-moving device is trapped in a designated area, obtaining a navigation map of the self-moving device; wherein the navigation map is used to store whether each map area is passable; taking the current position of the self-moving device in the navigation map as a starting point, extracting all passable map areas connected to the starting point from the navigation map, and obtaining a passable connected domain corresponding to the self-moving device; and obtaining a region boundary corresponding to the designated region, and obtaining an initial escape path; calculating the minimum distance between each path point in the initial escape path and the contour of the passable connected domain, screening out path points whose minimum distance is greater than a preset threshold, and obtaining path points to be corrected; moving the path points to be corrected in a direction close to the contour of the passable connected domain until the minimum distance between the path points to be corrected and the contour of the passable connected domain is no greater than a preset threshold, and obtaining a corrected escape path; controlling the movement of the self-moving device based on the corrected escape path, and detecting whether there is an escape exit during the movement.
[0007] In one embodiment, detecting that a self-moving device is trapped in a designated area includes: obtaining a traversable connected domain corresponding to the self-moving device; calculating the area and / or size of the traversable connected domain; if the area of the traversable connected domain is within a preset area range, and / or if the size of the traversable connected domain is within a preset size range, determining that the self-moving device is trapped in the designated area.
[0008] In one embodiment, the designated area includes the bottom area of preset furniture; obtaining the area boundary corresponding to the designated area to obtain an initial escape path includes: obtaining the size of the preset furniture; determining the bottom area of the preset furniture based on the size of the preset furniture; obtaining the area boundary corresponding to the bottom area of the preset furniture to obtain the initial escape path.
[0009] In one embodiment, obtaining the size of the preset furniture includes: detecting the position of the supporting legs of the preset furniture; and connecting the positions of the supporting legs to obtain the size of the preset furniture.
[0010] In one embodiment, before calculating the minimum distance between each path point in the initial escape path and the outline of the traversable connected domain, screening out the path points whose minimum distance is greater than a preset threshold, and obtaining the path points to be corrected, it also includes: calculating the line similarity between the outline of the traversable connected domain and the initial escape path; setting the path point extraction interval based on the line similarity; and extracting multiple path points from the initial escape path according to the path point extraction interval.
[0011] In one embodiment, the self-moving device is deployed with an air outlet component, an airflow sensor, and a rotating cleaning component that at least partially extends outside the coverage area of the self-moving device; the movement of the self-moving device is controlled based on the modified escape path, and whether there is an escape exit during the movement is detected, including: controlling the movement of the self-moving device based on the modified escape path, and controlling the air outlet component to emit airflow in a preset direction during the movement, and / or controlling the rotating cleaning component to work in a preset direction; obtaining airflow information collected by the airflow sensor, and / or obtaining working information of the rotating cleaning component; determining whether there is an escape exit in the preset direction based on the airflow information and / or the working information of the rotating cleaning component.
[0012] In one embodiment, the airflow information includes the airflow volume collected by the airflow sensor; based on the airflow information, determining whether there is an escape exit in a preset direction includes: obtaining a preset airflow threshold, and detecting whether the airflow volume is greater than the preset airflow threshold; if the airflow volume is greater than the preset airflow threshold, determining that there is no escape exit in the preset direction; if the airflow volume is not greater than the preset airflow threshold, determining that there is an escape exit in the preset direction.
[0013] In one embodiment, the working information of the rotating cleaning component includes the rotational speed of the rotating cleaning component, and the rotating cleaning component includes a first rotating component that works in a preset direction and a second rotating component that does not work in the preset direction; based on the working information of the rotating cleaning component, determining whether there is an escape exit in the preset direction includes: obtaining a preset difference threshold and a preset rotational speed threshold; calculating the difference between the rotational speed of the first rotating component and the rotational speed of the second rotating component to obtain a rotational speed difference; detecting whether the rotational speed difference is greater than the preset difference threshold, and detecting whether the rotational speed of the first rotating component is less than the preset rotational speed threshold; if the rotational speed difference is greater than the preset difference threshold, and the rotational speed of the first rotating component is less than the preset rotational speed threshold, it is judged that there is no escape exit in the preset direction; if the rotational speed difference is not greater than the preset difference threshold, or the rotational speed of the first rotating component is not less than the preset rotational speed threshold, it is judged that there is an escape exit in the preset direction.
[0014] According to a second aspect of the present application, there is provided an escape device for a self-moving device, the device comprising: a map acquisition module, for detecting that the self-moving device is trapped in a designated area, and acquiring a navigation map of the self-moving device; wherein the navigation map is used to store whether each map area is passable; a connected domain acquisition module, for taking the current position of the self-moving device in the navigation map as a starting point, extracting from the navigation map all passable map areas connected to the starting point, and obtaining a passable connected domain corresponding to the self-moving device; and obtaining the area boundary corresponding to the designated area, and obtaining an initial escape path; a path point screening module, for calculating the minimum distance between each path point in the initial escape path and the contour of the passable connected domain, screening out path points with a minimum distance greater than a preset threshold, and obtaining path points to be corrected; a path correction module, for moving the path points to be corrected in a direction close to the contour of the passable connected domain, until the minimum distance between the path points to be corrected and the contour of the passable connected domain is not greater than a preset threshold, and obtaining a corrected escape path; an exit detection module, for controlling the movement of the self-moving device based on the corrected escape path, and detecting whether there is an escape exit during the movement.
[0015] A third aspect of the present application provides a self-moving device, including a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the above-mentioned method for getting out of trouble for the self-moving device.
[0016] A fourth aspect of the present application provides a computer-readable storage medium having program instructions stored thereon, which implement the above-mentioned method for escaping a self-moving device when the program instructions are executed by a processor.
[0017] The above scheme, when detecting that the self-moving device is trapped in the designated area, obtains the navigation map of the self-moving device, takes the current position of the self-moving device in the navigation map as the starting point, extracts all the passable map areas connected to the starting point from the navigation map, and obtains the passable connected domain corresponding to the self-moving device; and obtains the area boundary corresponding to the designated area to obtain the initial escape path; screens out the path points in the initial escape path whose minimum distance with the outline of the passable connected domain is greater than a preset threshold, obtains the path points to be corrected, moves the path points to be corrected in the direction close to the outline of the passable connected domain until the minimum distance between the path points to be corrected and the outline of the passable connected domain is not greater than the preset threshold, and obtains the corrected escape path; controls the movement of the self-moving device based on the corrected escape path, and detects whether there is an escape exit during the movement, which can improve the escape efficiency of the self-moving device and ensure that the self-moving device avoids collision during the escape process.
[0018] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The drawings herein are incorporated into the specification and constitute a part of the specification. These drawings illustrate embodiments consistent with the present application and are used together with the specification to illustrate the technical solution of the present application.
[0020] Figure 1 It is a schematic diagram of an implementation environment of a solution provided by an embodiment of the present application;
[0021] Figure 2 is a flow chart of a method for escaping a self-moving device, shown in an exemplary embodiment of the present application;
[0022] Figure 3 is a schematic diagram of obtaining a traversable connected domain shown in an exemplary embodiment of the present application;
[0023] Figure 4 is a schematic diagram of obtaining and correcting an escape path, shown in an exemplary embodiment of the present application;
[0024] Figure 5 is a schematic diagram of obtaining an initial escape path shown in an exemplary embodiment of the present application;
[0025] Figure 6 is a block diagram of an escaping device for a mobile device shown in an exemplary embodiment of the present application;
[0026] Figure 7 is a schematic structural diagram of a self-moving device shown in an exemplary embodiment of the present application;
[0027] Figure 8 It is a schematic diagram of the structure of a computer-readable storage medium shown in an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0028] The scheme of the embodiment of the present application is described in detail below in conjunction with the drawings of the specification.
[0029] In the following description, for the purpose of explanation rather than limitation, specific details such as specific system structures, interfaces, and technologies are provided to facilitate a thorough understanding of the present application.
[0030] The term "and / or" in this article is only an association information describing the associated objects, indicating that there may be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the previous and next associated objects are in an "or" relationship. In addition, "many" in this article means two or more than two. In addition, the term "at least one" in this article means any combination of at least two of any one or more of a plurality of, for example, including at least one of A, B, and C, can mean including any one or more elements selected from the set consisting of A, B, and C.
[0031] The following is a description of the method for escaping a self-moving device provided in an embodiment of the present application.
[0032] Please refer to Figure 1 , which shows a schematic diagram of a solution implementation environment provided by an embodiment of the present application. The solution implementation environment may include a mobile device 110 and a server 120, and the mobile device 110 and the server 120 are connected to each other in communication.
[0033] The self-moving device 110 can be a sweeping robot, a mopping robot, a sweeping and mopping robot, a logistics robot, etc., which is not limited in the present application.
[0034] Server 120 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), as well as big data and artificial intelligence platforms.
[0035] In one example, the server 120 may obtain environmental information sensed by the mobile device 110, and obtain an escape path by analyzing the environmental information. The server 120 transmits the escape path back to the mobile device 110 so that the mobile device 110 performs an escape operation according to the escape path.
[0036] In one example, a client running a target application is installed in the mobile device 110, and the target application can analyze the environmental information to obtain an escape path, so as to perform an escape operation according to the escape path. The server 120 can be a background server of the target application, which is used to provide background services for the client of the target application.
[0037] In the method for escaping a self-mobile device provided in the embodiment of the present application, the execution subject of each step can be the self-mobile device 110, such as the client of the target application installed and running in the self-mobile device 110, or the server 120, or the self-mobile device 110 and the server 120 can be interactively cooperated to execute, that is, part of the steps of the method are executed by the self-mobile device 110 and the other part of the steps are executed by the server 120.
[0038] See also Figure 2 , Figure 2 is a flow chart of a method for escaping a self-moving device according to an exemplary embodiment of the present application. The method for escaping a self-moving device can be applied to Figure 1It should be understood that the method can also be applied to other exemplary implementation environments and be specifically executed by devices in other implementation environments, and this embodiment does not limit the implementation environment to which the method is applicable.
[0039] like Figure 2 As shown, the method for escaping from a mobile device includes at least steps S210 to S250, which are described in detail as follows:
[0040] Step S210: Detecting that the mobile device is trapped in a designated area, obtaining a navigation map of the mobile device; wherein the navigation map is used to store whether each map area is passable.
[0041] Among them, the designated area is an area that is easily misjudged as an area where the self-moving robot is trapped due to inaccurate environmental perception information. The designated area includes specific types of areas. For example, when the self-moving device is a sweeping robot, the designated area includes but is not limited to the area under the bed, the area under the sofa, the area under the wardrobe, etc.
[0042] It can be that when it is detected that the self-moving device is trapped, the trapped scene information is obtained, such as the trapped location, environmental information of the trapped area, etc., to identify whether it is trapped in a designated area. If so, the subsequent steps are executed to try to escape. It can also be that when it is detected that the self-moving device is trapped, the current trapped area is first used as the designated area to execute subsequent steps to try to escape. This application is not limited to this.
[0043] If it is detected that the self-mobile device is trapped in a designated area, a navigation map of the self-mobile device is obtained, and this application does not limit this.
[0044] The mobile device corresponds to a navigation map, which is used to store whether each map area is passable. The navigation map is updated according to the environmental information collected in real time. If an obstacle is scanned in the preset area, the passability status of the preset area in the navigation map is modified to impassable.
[0045] Optionally, the navigation map is a grid map, and the navigation map may be pre-stored in a memory of the mobile device or in a server.
[0046] Step S220: Taking the current position of the mobile device in the navigation map as the starting point, extract all traversable map areas connected to the starting point from the navigation map to obtain the traversable connected domain corresponding to the mobile device; and obtain the area boundary corresponding to the designated area to obtain the initial escape path.
[0047] Since the navigation map is used to store whether each map area is passable, that is, the passable status of the map area in the navigation map includes passable and impassable.
[0048] Taking the current position of the mobile device in the navigation map as the starting point, all traversable map areas connected to the starting point are extracted from the navigation map, that is, the extracted map areas need to satisfy the traversable status and be connected to the starting point, so as to obtain the traversable connected domain corresponding to the mobile device.
[0049] For example, see Figure 3 , Figure 3 FIG. 1 is a schematic diagram of obtaining a traversable connected domain shown in an exemplary embodiment of the present application, as shown in FIG. Figure 3 As shown, the navigation map is a grid map, and each grid in the grid map corresponds to a map area. If the value of the grid is 1, it means that obstacles are sensed in the map area and it is impassable; if the value of the grid is 0, it means that obstacles are not sensed in the map area and it is passable. When the self-mobile device is working, the environment information is sensed in real time and the grid map is updated during the movement through the environment perception device. If it is detected that the self-mobile device is surrounded by grids with a grid value of 1, it is judged that the self-mobile device is trapped. Taking the current position of the self-mobile device as the starting point, the connected free grids (i.e., grids with a grid value of 0) are searched based on the away from center method, so as to extract all the passable grids connected to the starting point, and obtain the passable connected domain corresponding to the current self-mobile device.
[0050] Furthermore, the region boundary corresponding to the designated area is obtained to obtain an initial escape path, wherein the region boundary corresponding to the designated area is a boundary between the designated area and an external area, which is used as the initial escape path.
[0051] Exemplarily, area boundaries corresponding to each designated area may be pre-stored. For example, the designated areas include but are not limited to the area at the bottom of the bed, the area at the bottom of the sofa, the area at the bottom of the wardrobe, etc. The sizes of the bed, sofa, and wardrobe are pre-stored, and the area boundaries are obtained based on the sizes. Alternatively, environmental information of the designated area may be collected, and the area boundaries corresponding to the designated area may be determined based on the collected environmental information.
[0052] Step S230: Calculate the minimum distance between each path point in the initial escape path and the outline of the traversable connected domain, select the path points whose minimum distance is greater than a preset threshold, and obtain the path points to be corrected.
[0053] Multiple path points are extracted from the initial escape path. For each path point, the minimum distance between the path point and the contour of the traversable connected domain is calculated, and it is detected whether the minimum distance is greater than a preset threshold. If the minimum distance is greater than the preset threshold, the path point is filtered out to obtain the path point to be corrected.
[0054] Step S240: moving the path point to be corrected in a direction close to the outline of the traversable connected domain until the minimum distance between the path point to be corrected and the outline of the traversable connected domain is not greater than a preset threshold, thereby obtaining a corrected escape path.
[0055] For the path point to be corrected, move the path point to be corrected in the direction close to the outline of the traversable connected domain until the minimum distance between the path point to be corrected and the outline of the traversable connected domain is no greater than a preset threshold, thereby completing the correction of the position of the path point to be corrected.
[0056] Traverse and correct all the path points to be corrected, and obtain the corrected escape path based on the corrected path points.
[0057] For example, see Figure 4 , Figure 4 A schematic diagram of obtaining a corrected escape path is shown as an exemplary embodiment of the present application. Figure 4 As shown, after obtaining the initial escape path and the passable connected domain, for any path point on the initial escape path, the minimum distance between the path point and the contour of the passable connected domain is calculated to screen the path point to be corrected. If the minimum distance between the path point a1 and the contour of the passable connected domain is less than the preset threshold, the path point a1 does not need to be corrected, and the minimum distance between the path points a2 and a3 and the contour of the passable connected domain is greater than the preset threshold, and the path points a2 and a3 are used as the path points to be corrected, and the path points a2 and a3 to be corrected are moved in the direction close to the contour of the passable connected domain until the minimum distance between a2 and a3 and the contour of the passable connected domain is not greater than the preset threshold, and the position of the path point to be corrected is corrected. Thus, according to the corrected path point, the path portion corresponding to a2 and a3 in the initial escape path is corrected to obtain a corrected escape path.
[0058] It should be noted that the preset threshold can be a value pre-set based on experience, or a value flexibly calculated based on actual conditions. For example, the preset threshold is obtained based on the size of the self-moving device. For example, the radius of the self-moving device is used as the preset threshold; for another example, the line similarity between the contour of the traversable connected domain and the initial escape path is calculated, and the preset threshold is set based on the line similarity. The higher the line similarity, the fewer obstacles there are and the smaller the preset threshold. Conversely, the lower the line similarity, the more obstacles there are and the larger the preset threshold.
[0059] Step S250: Control the movement of the self-moving device based on the corrected escape path, and detect whether there is an escape exit during the movement.
[0060] The movement of the self-moving device is controlled according to the corrected escape path, and whether there is an escape exit during the movement is detected.
[0061] If there is an escape exit, the self-moving device is controlled to try to escape from the escape exit, that is, to try to move out of the trapped designated area.
[0062] By controlling the self-moving device to escape from distress through the modified escape path generated by the above embodiment, the escape efficiency of the self-moving device can be improved, and collision can be avoided during the escape process of the self-moving device.
[0063] Next, some embodiments of the present application are described in detail.
[0064] In some embodiments, step S210 detects that the self-moving device is trapped in the designated area, including: obtaining a traversable connected domain corresponding to the self-moving device; calculating the area and / or size of the traversable connected domain; if the area of the traversable connected domain is within a preset area range, and / or if the size of the traversable connected domain is within a preset size range, it is determined that the self-moving device is trapped in the designated area.
[0065] Specifically, the map resolution of the navigation map is obtained, and the map area of the traversable connected domain is calculated, the map area of the traversable connected domain is converted into a real area according to the map resolution, and it is detected whether the real area of the traversable connected domain is within a preset area range.
[0066] Alternatively, the map size of the traversable connected domain is converted into a real size according to the map resolution, and it is detected whether the real size of the traversable connected domain is within a preset size range, wherein the minimum circumscribed rectangle of the traversable connected domain can be obtained, and the length and width of the minimum circumscribed rectangle are used as the size of the traversable connected domain.
[0067] For example, the sizes of furniture such as beds and sofas in home scenes are foreseeable. For example, a bed is generally 2 meters long and 1.5 meters to 2 meters wide. Therefore, the corresponding preset area range and preset size range can be set, and it is detected whether the area of the traversable connected domain is within the preset area range, and / or if the size of the traversable connected domain is within the preset size range. If the area of the traversable connected domain is within the preset area range, and / or if the size of the traversable connected domain is within the preset size range, it is determined that the self-moving device is trapped in the designated area.
[0068] In some embodiments, the designated area in step S220 includes the bottom area of preset furniture; obtaining the area boundary corresponding to the designated area to obtain an initial escape path includes: obtaining the size of the preset furniture; determining the bottom area of the preset furniture based on the size of the preset furniture; obtaining the area boundary corresponding to the bottom area of the preset furniture to obtain the initial escape path.
[0069] Among them, the size of the preset furniture can be pre-set, and the position of each preset furniture is pre-stored, so that the position where the mobile device is trapped can be obtained, and it can be detected whether the position where the mobile device is trapped overlaps with the position of the preset furniture. If it overlaps, the size of the preset furniture is obtained.
[0070] Of course, the size of the preset furniture can also be sensed through an environmental sensing device.
[0071] For example, the position of the supporting legs of the preset furniture is detected by the environment sensing device; the positions of the supporting legs are connected to obtain the size of the preset furniture.
[0072] For example, the environmental sensing device includes a metal detection device, which can detect the position of a metal object, and the position of the metal support leg is detected by the metal detection device. Figure 5 , Figure 5 FIG. 1 is a schematic diagram of obtaining an initial escape path shown in an exemplary embodiment of the present application, as shown in FIG. Figure 5 As shown, the metal detection device detects the position of the metal supporting legs, and then connects the positions of the various supporting legs to obtain the size of the preset furniture. The connected rectangle corresponds to the bottom area of the preset furniture, and the area boundary corresponding to the bottom area of the preset furniture is used as the initial escape path.
[0073] Then, multiple path points are extracted from the initial escape path.
[0074] For example, multiple path points may be extracted according to a preset path point extraction interval.
[0075] For another example, the line similarity between the outline of the traversable connected domain and the initial escape path is calculated; the path point extraction interval is set based on the line similarity; and multiple path points are extracted from the initial escape path according to the path point extraction interval.
[0076] It should be noted that the higher the line similarity between the outline of the traversable connected domain and the initial escape path, the fewer obstacles there are. Conversely, the lower the line similarity between the outline of the traversable connected domain and the initial escape path, the more obstacles there are.
[0077] Therefore, the path point extraction interval is set according to the line similarity, so that multiple path points are extracted from the initial escape path according to the path point extraction interval, wherein the line similarity and the path point extraction interval are positively correlated.
[0078] By using the above-mentioned flexible method of calculating the path point extraction distance, the algorithm calculation amount can be reduced and computing resources can be saved while ensuring the accuracy of subsequent path modification.
[0079] Optionally, in addition to setting the path point extraction interval according to the line similarity between the outline of the traversable connected domain and the initial escape path, the path point extraction interval can also be flexibly calculated based on the area type corresponding to the specified area, the area of the traversable connected domain, etc., such as the area of the traversable connected domain and the path point extraction interval are positively correlated.
[0080] After selecting multiple path points corresponding to the initial escape path, the minimum distance between each path point in the initial escape path and the contour of the passable connected domain is calculated, and the path points with the minimum distance greater than the preset threshold are screened out to obtain the path points to be corrected, and the path points to be corrected are moved in the direction close to the contour of the passable connected domain until the minimum distance between the path points to be corrected and the contour of the passable connected domain is not greater than the preset threshold, thereby obtaining the final corrected escape path. Then, the movement of the self-moving device is controlled according to the corrected escape path, and whether there is an escape exit is detected during the movement.
[0081] In some embodiments, taking the self-moving device as a sweeping robot as an example, the self-moving device is deployed with an air outlet component, an airflow sensor, and a rotating cleaning component that at least partially extends outside the coverage area of the self-moving device; in step S250, the movement of the self-moving device is controlled based on the corrected escape path, and whether there is an escape exit during the movement is detected, including: controlling the movement of the self-moving device based on the corrected escape path, and controlling the air outlet component to emit airflow in a preset direction during the movement, and / or controlling the rotating cleaning component to work in a preset direction; obtaining airflow information collected by the airflow sensor, and / or obtaining working information of the rotating cleaning component; determining whether there is an escape exit in the preset direction based on the airflow information and / or the working information of the rotating cleaning component.
[0082] The air outlet component may include an air outlet corresponding to the dust suction fan for exhausting exhaust gas, and an airflow sensor may be arranged relative to the air outlet, such as an airflow sensor arranged near the air outlet, and the airflow sensor may be used to sense the airflow size, airflow direction, airflow temperature, etc. The rotating cleaning component includes but is not limited to a side brush, a mopping cloth, etc.
[0083] The movement of the self-moving device is controlled according to the corrected escape path, and during the movement, the air outlet component is controlled to emit airflow in a preset direction, and / or the rotating cleaning component is controlled to work in a preset direction. Since obstacles may affect the circulation of the emitted airflow and the working state of the rotating cleaning component, the airflow information collected by the airflow sensor is obtained, and / or the working information of the rotating cleaning component is obtained; based on the airflow information and / or the working information of the rotating cleaning component, it is determined whether there is an escape exit in the preset direction.
[0084] Among them, the preset direction refers to the direction where there may be an escape exit. The direction perpendicular to the current walking path and away from the traversable connected domain can be taken as the preset direction. Of course, other directions can also be taken as the preset direction, and this application does not limit this.
[0085] Exemplarily, the airflow information includes the airflow volume collected by the airflow sensor; based on the airflow information, determining whether there is an escape exit in a preset direction includes: obtaining a preset airflow threshold, and detecting whether the airflow volume is greater than the preset airflow threshold; if the airflow volume is greater than the preset airflow threshold, determining that there is no escape exit in the preset direction; if the airflow volume is not greater than the preset airflow threshold, determining that there is an escape exit in the preset direction.
[0086] After the air outlet component emits airflow in a preset direction in an open environment, the airflow volume V_idle detected by the airflow sensor tends to be stable. The airflow volume V_idle can be used as a preset airflow threshold, or the airflow volume V_idle is added to a preset value to obtain the preset airflow threshold.
[0087] If the airflow rate is greater than the preset airflow threshold, it is determined that there is no escape exit in the preset direction; if the airflow rate is not greater than the preset airflow threshold, it is determined that there is an escape exit in the preset direction.
[0088] For example, when the self-moving device is walking along the corrected escape path, when there is an obstacle in the preset direction, the emitted airflow will be blocked, and the airflow will be reflected back to the self-moving device through the obstacle. At this time, the airflow volume V detected by the airflow sensor will increase, that is, when V>V_idle, it is judged that there is an obstacle in the preset direction at this time. When the airflow volume V detected by the airflow sensor changes from large to small to V≈V_idle, it is judged that the self-moving device has reached the escape exit.
[0089] Exemplarily, the working information of the rotating cleaning component includes the rotational speed of the rotating cleaning component, and the rotating cleaning component includes a first rotating component that works in a preset direction and a second rotating component that does not work in the preset direction; based on the working information of the rotating cleaning component, determining whether there is an escape exit in the preset direction, including: obtaining a preset difference threshold and a preset rotational speed threshold; calculating the difference between the rotational speed of the first rotating component and the rotational speed of the second rotating component to obtain a rotational speed difference; detecting whether the rotational speed difference is greater than the preset difference threshold, and detecting whether the rotational speed of the first rotating component is less than the preset rotational speed threshold; if the rotational speed difference is greater than the preset difference threshold, and the rotational speed of the first rotating component is less than the preset rotational speed threshold, it is judged that there is no escape exit in the preset direction; if the rotational speed difference is not greater than the preset difference threshold, or the rotational speed of the first rotating component is not less than the preset speed threshold, it is judged that there is an escape exit in the preset direction.
[0090] When the self - moving device is walking along the corrected escape path, the motor speeds S1 of the first rotating component and S2 of the second rotating component of the self - moving device are recorded in real time, and the no - load speeds S_idle of the first rotating component and / or the second rotating component are pre - stored.
[0091] When there is an obstacle in the preset direction of the self - moving device, since the first rotating component hits the obstacle, the resistance on the first rotating component is greater than when there is no obstacle. At this time, the rotational speed S1 of the motor of the first rotating component is less than the rotational speed S2 of the second rotating component. When the difference between the motor speeds of the first rotating component and the second rotating component is greater than the preset difference threshold D_obs and S1 < S2, it is determined that there is an obstacle in the preset direction of the self - moving device. When S1 increases from small to S1≈S2≈S_idle, it is determined that the self - moving device has passed through the obstacle area and reached the escape exit.
[0092] Exemplarily, in combination with the airflow information and the working information of the rotating cleaning component, it is determined whether there is an escape exit in the preset direction. For example, if the airflow information indicates that the air volume V detected by the airflow sensor is less than the preset airflow threshold V_idle, or the difference between the motor speeds of the first rotating component and the second rotating component is greater than the preset difference threshold D_obs and S1 < S2, it is determined that there is no escape exit; if the airflow information indicates that the air volume V detected by the airflow sensor is not less than the preset airflow threshold V_idle, and the difference between S1, S2, and S_idle is less than the preset difference, it is determined that there is an escape exit.
[0093] Optionally, when an escape exit is detected and the self - moving device moves out of the trapped designated area through this escape exit, it is determined that the escape is successful, and the escape exit is recorded so that when the self - moving device is trapped in the same area again next time, it tries to escape according to the recorded escape exit.
[0094] The determination steps for successful escape can include: after detecting the escape exit, perform a 90 - degree clockwise rotation in place, and then go straight for 20 cm. If the self - moving device leaves the passable connected area after the above fixed actions, it is considered that the self - moving device has escaped successfully; if an obstacle triggers the bumper during the execution of the above fixed actions, the process is interrupted, and the self - moving device continues to move according to the corrected escape path to the next escape exit and repeats the above fixed actions until the escape is successful.
[0095] The present application provides a method for escaping a self-moving device. When the self-moving device is detected to be trapped in a designated area, a navigation map of the self-moving device is obtained. With the current position of the self-moving device in the navigation map as the starting point, all passable map areas connected to the starting point are extracted from the navigation map to obtain a passable connected domain corresponding to the self-moving device; and, the area boundary corresponding to the designated area is obtained to obtain an initial escape path; path points in the initial escape path whose minimum distance from the contour of the passable connected domain is greater than a preset threshold are screened out to obtain path points to be corrected, and the path points to be corrected are moved in a direction close to the contour of the passable connected domain until the minimum distance between the path points to be corrected and the contour of the passable connected domain is no greater than a preset threshold to obtain a corrected escape path. The movement of the self-moving device is controlled based on the corrected escape path, and whether there is an escape exit is detected during the movement. This can improve the escape efficiency of the self-moving device and ensure that the self-moving device avoids collision during the escape process.
[0096] Figure 6 FIG. 1 is a block diagram of an escaping device for a self-moving device, shown as an exemplary embodiment of the present application. Figure 6 As shown, the exemplary self-moving device escaping device 600 includes: a map acquisition module 610, a connected domain acquisition module 620, a path point screening module 630, a path correction module 640 and an exit detection module 650. Specifically:
[0097] The map acquisition module 610 is used to detect that the mobile device is trapped in a designated area and acquire a navigation map of the mobile device; wherein the navigation map is used to store whether each map area is passable;
[0098] The connected domain acquisition module 620 is used to extract all traversable map areas connected to the starting point from the navigation map, taking the current position of the self-mobile device in the navigation map as the starting point, to obtain the traversable connected domain corresponding to the self-mobile device; and to obtain the area boundary corresponding to the designated area to obtain the initial escape path;
[0099] A path point screening module 630 is used to calculate the minimum distance between each path point in the initial escape path and the contour of the traversable connected domain, and screen out the path points whose minimum distance is greater than a preset threshold to obtain the path points to be corrected;
[0100] The path correction module 640 is used to move the path point to be corrected in a direction close to the outline of the traversable connected domain until the minimum distance between the path point to be corrected and the outline of the traversable connected domain is not greater than a preset threshold, thereby obtaining a corrected escape path;
[0101] The exit detection module 650 is used to control the movement of the self-moving device based on the corrected escape path, and detect whether there is an escape exit during the movement.
[0102] It should be noted that the self-moving device's escape device provided in the above embodiment and the self-moving device's escape method provided in the above embodiment belong to the same concept, wherein the specific manner in which each module and unit performs the operation has been described in detail in the method embodiment and will not be repeated here. In actual application, the self-moving device's escape device provided in the above embodiment can distribute the above functions to different functional modules as needed, that is, divide the internal structure of the device into different functional modules to complete all or part of the functions described above, and this is not limited here.
[0103] See also Figure 7 , Figure 7 1 is a schematic diagram of the structure of an embodiment of a self-mobile device of the present application. The self-mobile device 110 includes a memory 111 and a processor 112, and the processor 112 is used to execute program instructions stored in the memory 111 to implement the steps in any of the above-mentioned embodiments of the method for escaping a predicament of a self-mobile device. In a specific implementation scenario, the self-mobile device 110 may include, but is not limited to: a microcomputer, a server, and in addition, the self-mobile device 110 may also include mobile devices such as laptops and tablet computers, which are not limited here.
[0104] Specifically, the processor 112 is used to control itself and the memory 111 to implement the steps in any of the above-mentioned embodiments of the method for getting out of trouble for the mobile device. The processor 112 can also be called a central processing unit (CPU). The processor 112 may be an integrated circuit chip with signal processing capabilities. The processor 112 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. In addition, the processor 112 can be implemented by an integrated circuit chip.
[0105] See also Figure 8 , Figure 8 The computer-readable storage medium 800 stores program instructions 810 that can be executed by a processor, and the program instructions 810 are used to implement the steps in any of the above-mentioned methods for escaping a self-moving device.
[0106] In some embodiments, the functions or modules included in the device provided by the embodiments of the present disclosure can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0107] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.
[0108] In the several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation, such as units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0109] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit. If the integrated unit is implemented in the form of 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, the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor (processor) to perform all or part of the steps of each implementation method of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), disk or optical disk and other media that can store program code.
Claims
1. A method for escaping from a predicament of a self-moving device, characterized in that: include: Detecting that the self-mobile device is trapped in a designated area, obtaining a navigation map of the self-mobile device; wherein the navigation map is used to store whether each map area is passable; Taking the current position of the self-mobile device in the navigation map as the starting point, extracting all traversable map areas connected to the starting point from the navigation map to obtain a traversable connected domain corresponding to the self-mobile device; and obtaining the area boundary corresponding to the designated area to obtain an initial escape path; Calculating the minimum distance between each path point in the initial escape path and the contour of the traversable connected domain, screening out the path points whose minimum distance is greater than a preset threshold, and obtaining the path points to be corrected; Moving the path point to be corrected in a direction close to the outline of the traversable connected domain until the minimum distance between the path point to be corrected and the outline of the traversable connected domain is not greater than the preset threshold, thereby obtaining a corrected escape path; The self-moving device is controlled to move based on the modified escape path, and whether there is an escape exit during the movement is detected.
2. The method according to claim 1, characterized in that The detecting that the mobile device is trapped in a designated area includes: Obtaining a traversable connected domain corresponding to the mobile device; Calculating the area and / or size of the traversable connected domain; If the area of the traversable connected domain is within a preset area range, and / or if the size of the traversable connected domain is within a preset size range, it is determined that the self-moving device is trapped in a designated area.
3. The method according to claim 1, characterized in that The designated area includes a bottom area of the preset furniture; and obtaining the area boundary corresponding to the designated area to obtain an initial escape path includes: Obtain the size of the preset furniture; Determining a bottom area of the preset furniture based on a size of the preset furniture; The area boundary corresponding to the bottom area of the preset furniture is obtained to obtain an initial escape path.
4. The method according to claim 3, characterized in that: The obtaining the size of the preset furniture includes: Detecting the position of the supporting legs of the preset furniture; Connect the positions of the supporting legs to obtain the size of the preset furniture.
5. The method according to claim 1, characterized in that: Before calculating the minimum distance between each path point in the initial escape path and the outline of the traversable connected domain, screening out the path points whose minimum distance is greater than a preset threshold, and obtaining the path points to be corrected, the method further includes: Calculating the line similarity between the outline of the traversable connected domain and the initial escape path; Setting the path point extraction interval based on the line similarity; According to the path point extraction interval, multiple path points are extracted from the initial escape path.
6. The method according to claim 1, characterized in that The self-moving device is equipped with an air outlet component, an airflow sensor, and a rotating cleaning component that at least partially extends beyond the coverage of the self-moving device; the self-moving device is controlled to move based on the modified escape path, and whether there is an escape exit during the movement includes: Controlling the self-moving device to move based on the modified escape path, and controlling the air outlet component to emit airflow in a preset direction during the movement, and / or controlling the rotating cleaning component to work in the preset direction; Acquiring airflow information collected by the airflow sensor, and / or acquiring working information of the rotating cleaning component; Based on the airflow information and / or the working information of the rotary cleaning assembly, it is determined whether there is an escape exit in the preset direction.
7. The method according to claim 6, characterized in that The airflow information includes the airflow volume collected by the airflow sensor; based on the airflow information, determining whether there is an escape exit in the preset direction includes: Obtaining a preset airflow threshold, and detecting whether the airflow volume is greater than the preset airflow threshold; If the airflow rate is greater than the preset airflow threshold, it is determined that there is no escape exit in the preset direction; If the airflow rate is not greater than the preset airflow threshold, it is determined that there is an escape exit in the preset direction.
8. The method according to claim 6, characterized in that The working information of the rotating cleaning component includes the rotation speed of the rotating cleaning component, and the rotating cleaning component includes a first rotating component that works in the preset direction and a second rotating component that does not work in the preset direction; Based on the working information of the rotating cleaning component, determining whether there is an escape exit in the preset direction includes: Obtaining a preset difference threshold and a preset speed threshold; Calculating a difference between a rotation speed of the first rotating component and a rotation speed of the second rotating component to obtain a rotation speed difference; Detecting whether the speed difference is greater than the preset difference threshold, and detecting whether the speed of the first rotating component is less than the preset speed threshold; If the speed difference is greater than the preset difference threshold, and the speed of the first rotating component is less than the preset speed threshold, it is determined that there is no escape exit in the preset direction; If the rotation speed difference is not greater than the preset difference threshold, or the rotation speed of the first rotating component is not less than the preset rotation speed threshold, it is determined that there is an escape exit in the preset direction.
9. A self-propelled device, characterized in that: The self-mobile device includes a memory and a processor, and the processor is used to execute program instructions stored in the memory to implement the steps in the method according to any one of claims 1-8.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program instructions, and the program instructions can be executed by a processor to implement the steps in the method according to any one of claims 1 to 8.