Self-moving device control method, self-moving device and storage medium
By identifying the obstruction type and distance of the mobile device, and using appropriate escape strategies, the trapped and missed execution problems of the self-mobile device during obstacles is solved, and efficient job path adjustment is achieved.
Patent Information
- Application Number
- PCT/CN2025/074416
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-23
- Filing Date
- 2025-01-23
- Publication Date
- 2025-07-31
AI Technical Summary
In the prior art, it is difficult for the mobile device to find a balance between reducing missed execution job areas and improving overall work efficiency when encountering obstacles, and problems of being trapped or missed execution jobs are prone to occur.
By identifying the current obstruction type and the distance between the obstruction identification point and the known obstruction area, the target escape strategy is determined, and the obstacle-by-obstruction or obstacle avoidance algorithm is used to control the driving of the self-mobile device to flexibly avoid obstacles.
It improves the probability of getting out of trouble and overall work efficiency of mobile devices, reduces missed work areas, and avoids long-term trapping.
Smart Images

Figure CN2025074416_31072025_PF_FP_ABST
Abstract
Description
Self-moving device control method, self-moving device and storage medium
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on January 23, 2024, with application number 202410092096.2, and invention name “Self-mobile device control method, self-mobile device and storage medium”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of robotics, and in particular to a method for controlling a self-moving device, a self-moving device, and a computer-readable storage medium. Background Art
[0003] Currently, the use of self-moving devices (such as cleaning robots, lawn mowing robots, food delivery robots, etc.) to perform operations can greatly improve work efficiency. Generally speaking, the path will be planned in advance to control the self-moving devices to perform operations according to the original path. However, when the self-moving devices are performing operations according to the original path, they will inevitably be trapped (such as encountering obstacles, slipping, tilting, etc. in the driving direction of the original path). In the related art, in order to enable the self-moving devices to escape in time, large areas of working areas will be avoided to avoid obstacles, resulting in a large area of the self-moving devices missing operations; or, in order to reduce the area of the self-moving devices missing operations, the self-moving devices will be controlled to travel as far as possible along the original path, resulting in the self-moving devices being trapped for a long time, which in turn leads to low overall work efficiency. Therefore, how to avoid obstacles while ensuring that the area of the missed operation area is reduced and the overall work efficiency is improved has become a problem that needs to be solved urgently. Summary of the Invention
[0004] The present application provides a self-moving device control method, a self-moving device and a computer-readable storage medium, which can avoid obstacles while ensuring that the area of missed operation areas is reduced and the overall operation efficiency is improved.
[0005] In a first aspect, the present application provides a method for controlling a self-propelled device, the method comprising:
[0006] When the mobile device identifies an obstacle, obtaining the current obstacle type of the mobile device;
[0007] Obtaining the distance between the obstruction identification point of the self-mobile device and the known obstruction area;
[0008] Determining a target escape strategy for the self-moving device based on the current obstacle type and the distance;
[0009] Based on the target escape strategy, the self-moving device is controlled to travel.
[0010] In a second aspect, the present application also provides a self-moving device, which includes a processor and a memory, wherein a computer program is stored in the memory, and when the processor calls the computer program in the memory, it executes any one of the self-moving device control methods provided in the present application.
[0011] In a third aspect, the present application further provides a computer-readable storage medium on which a computer program is stored, and the computer program is loaded by a processor to execute the self-mobile device control method.
[0012] In the present application, on the one hand, a target escape strategy of the self-moving device is determined based on the current obstacle type of the self-moving device and the distance between the obstacle identification point of the self-moving device and the known obstacle area, which is used to control the movement of the self-moving device. Therefore, an escape strategy that avoids obstacles is flexibly selected according to the actual scenario, thereby increasing the escape probability of the self-moving device, so that the self-moving device can leave the obstacle as soon as possible, thereby improving the overall operation efficiency of the self-moving device. On the other hand, since the target escape strategy is determined based on the current obstacle type of the self-moving device, the problem of the self-moving device being trapped for a long time due to the use of a unified escape strategy for different obstacle types can be avoided (for example, if the obstacle avoidance algorithm is uniformly used to control the movement of the self-moving device when an obstacle collision occurs and when a tilt occurs, then the obstacle avoidance algorithm is used to control the self-moving device to continue to move when a tilt occurs, which may cause the self-moving device to roll over, etc.; by using the obstacle avoidance algorithm when an obstacle collision occurs and the obstacle avoidance algorithm when a tilt occurs to control the self-moving device to continue to move, the problem of the self-moving device being trapped for a long time can be avoided), thereby improving the overall operation efficiency to a certain extent. Thirdly, since the target escape strategy of the self-moving device is determined based on the distance between the obstruction identification point of the self-moving device and the known obstruction area, when the distance between the obstruction identification point of the self-moving device and the known obstruction area is large, the self-moving device can travel between the obstruction identification point and the known obstruction area to reduce the area of the missed operation area; when the distance between the obstruction identification point of the self-moving device and the known obstruction area is small, the self-moving device can avoid the obstruction identification point and the known obstruction area at the same time to avoid the problem of the self-moving device being unable to pass between the obstruction identification point and the known obstruction area, resulting in the self-moving device being trapped for a long time. Therefore, the embodiment of the present application can avoid obstacles while ensuring that the area of the missed operation area is reduced and the overall operation efficiency is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0014] FIG1 is a schematic block diagram of the structure of a self-moving device provided in an embodiment of the present application;
[0015] FIG2 is a flow chart of a method for controlling a self-moving device according to an embodiment of the present application;
[0016] FIG3 is a schematic diagram illustrating a route change point when the original route is a “bow”-shaped route in an embodiment of the present application;
[0017] FIG4 is a schematic diagram illustrating a route change point when the original route is a U-shaped route in an embodiment of the present application;
[0018] FIG5 is a schematic diagram illustrating a route change point when the original route is a circular route in an embodiment of the present application;
[0019] FIG6 is another schematic diagram illustrating a route change point when the original route is a U-shaped route in an embodiment of the present application;
[0020] FIG7 is another schematic diagram illustrating a route change point when the original path is a circular path in an embodiment of the present application;
[0021] FIG8 is a schematic diagram illustrating obstacle coverage status detection in an embodiment of the present application;
[0022] FIG9 is a schematic diagram illustrating path planning using an obstacle avoidance algorithm in an embodiment of the present application;
[0023] FIG10 is a schematic diagram illustrating path planning using an obstacle avoidance algorithm in an embodiment of the present application;
[0024] FIG11 is a schematic diagram illustrating an embodiment of the present invention in which an obstacle avoidance algorithm is used to control a mobile device to travel to a first route change point after successfully avoiding an obstacle;
[0025] FIG12 is a schematic diagram illustrating the use of an obstacle avoidance algorithm to control the self-mobile device to travel to the first route change point after successfully avoiding an obstacle in an embodiment of the present application;
[0026] FIG13 is a schematic diagram illustrating controlling the self-mobile device to travel to the first route change point after successfully avoiding an obstacle in an embodiment of the present application;
[0027] FIG14 is a schematic diagram illustrating an embodiment of the present invention in which an obstacle avoidance algorithm is used to control a mobile device to travel to a second route change point after an obstacle avoidance failure;
[0028] FIG15 is a schematic diagram illustrating a mobile device skipping a collision identification route to a next operation route in an embodiment of the present application;
[0029] FIG16 is a schematic diagram illustrating the use of an obstacle avoidance algorithm to plan a third obstacle avoidance path in an embodiment of the present application;
[0030] FIG17 is a schematic diagram illustrating the use of an obstacle avoidance algorithm to plan a fifth obstacle avoidance path when the mobile device is slipping according to an embodiment of the present application;
[0031] FIG18 is a schematic diagram illustrating the use of an obstacle avoidance algorithm to plan a sixth obstacle avoidance path when the angle of the self-moving device is abnormal in an embodiment of the present application;
[0032] FIG19 is a schematic diagram illustrating a control process of a mobile device in an embodiment of the present application. DETAILED DESCRIPTION
[0033] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.
[0034] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, combined, or partially merged, so the actual execution order may vary depending on the actual situation.
[0035] In the description of the embodiments of the present application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0036] In order to enable any person skilled in the art to implement and use the present application, the following description is provided. In the following description, details are listed for the purpose of explanation. It should be understood that one of ordinary skill in the art will recognize that the present application can be implemented without using these specific details. In other examples, well-known processes will not be elaborated in detail to avoid obscuring the description of the embodiments of the present application with unnecessary details. Therefore, the present application is not intended to be limited to the embodiments shown, but is consistent with the widest range of principles and features disclosed in accordance with the embodiments of the present application.
[0037] Embodiments of the present application provide a method for controlling a self-moving device, a self-moving device, and a computer-readable storage medium.
[0038] The execution subject of the self-moving device control method in the embodiment of the present application may be the self-moving device provided in the embodiment of the present application.
[0039] The following embodiments of the present application are described in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features therein may be combined with each other.
[0040] FIG1 is a schematic block diagram of the structure of a self-moving device provided in an embodiment of the present application.
[0041] As shown in FIG1 , a mobile device 100 includes a processor 101 and a memory 102 . The processor 101 and the memory 102 are connected via a bus 103 , such as an I 2 C (Inter-Integrated Circuit) bus.
[0042] Specifically, the processor 101 is used to provide computing and control capabilities to support the operation of the entire mobile device 100. The processor 101 can be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), 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.
[0043] Specifically, the memory 102 may be a Flash chip, a read-only memory (ROM) disk, an optical disk, a USB flash drive, or a mobile hard disk.
[0044] Those skilled in the art will understand that the structure shown in Figure 1 is merely a block diagram of a partial structure related to the embodiment of the present application, and does not constitute a limitation on the self-moving device to which the embodiment of the present application is applied. The specific self-moving device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0045] The processor 101 is configured to run a computer program stored in the memory 102, and when executing the computer program, implement any one of the self-moving device control methods provided in the embodiments of the present application. For example, the processor 101 is configured to run a computer program stored in the memory 102, and when executing the computer program, the following steps may be implemented:
[0046] When a self-moving device identifies an obstacle, the current obstacle type of the self-moving device is obtained; the distance between the obstacle identification point of the self-moving device and a known obstacle area is obtained; based on the current obstacle type and the distance, a target escape strategy for the self-moving device is determined; and based on the target escape strategy, the self-moving device is controlled to travel.
[0047] It should be noted that, those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the self-moving device described above can refer to the corresponding process in the following self-moving device control method embodiment, and will not be repeated here.
[0048] Below, the self-moving device control method provided in the embodiment of the present application will be described in detail using the self-moving device shown in Figure 1 as the execution subject of the self-moving device control method. For the sake of simplicity and ease of description, the execution subject will be omitted in the subsequent method embodiments. It should be noted that the scenario in Figure 1 is only used to explain the self-moving device control method provided in the embodiment of the present application, and does not constitute a limitation on the application scenario of the self-moving device control method provided in the embodiment of the present application.
[0049] Please refer to Figure 2, which is a flow chart of a method for controlling a self-moving device provided by an embodiment of the present application. The method for controlling a self-moving device includes steps 201 to 204, wherein:
[0050] 201. When a mobile device identifies an obstacle, obtain a current obstacle type of the mobile device.
[0051] Among them, self-moving equipment includes but is not limited to: lawn mowing robots and cleaning robots.
[0052] The current obstacle type may be obstacle collision, slippage, tilt, etc.
[0053] For example, when a self-moving device is mowing the lawn, the self-moving device may suddenly collide with an obstacle while it is driving along the original path. At this time, the self-moving device may identify the obstacle and determine that the current obstacle type of the self-moving device is an obstacle collision.
[0054] For example, when a self-propelled device is mowing the lawn, the self-propelled device detects through wheel speed and navigation positioning that the self-propelled device has slipped for 2 meters. At this time, the self-propelled device can identify the obstacle and determine that the current obstacle type of the self-propelled device is slipping.
[0055] For example, when a self-propelled device is mowing the lawn, the self-propelled device detects through an angle sensor that the self-propelled device is tilted 45 degrees relative to the horizontal plane while the self-propelled device is driving along the original path. At this time, the self-propelled device can identify the obstacle and determine that the current obstacle type of the self-propelled device is tilt.
[0056] In order to better understand the embodiments of the present application, some names involved in the embodiments are introduced below:
[0057] 1. Operation route: This is the route that the mobile device follows, as originally planned. For example, each arrow in the "bow"-shaped path shown in Figure 3 represents an operation route. Each rectangular frame (i.e., a circle of the "U"-shaped path) in the "U"-shaped path (e.g., a rectangular path) shown in Figure 4 represents an operation route. Each circular frame (i.e., a circle of the "U"-shaped path) in the "U"-shaped path (e.g., a circular path) shown in Figure 5 represents an operation route. Each unobstructed point on the operation route can be used as an operation point.
[0058] 2. Route Change Point: The point at which the current operating route switches to the next operating route. In this embodiment, there are multiple operating routes along the original path of the mobile device, each with a different travel method. Depending on the business application scenario, in this embodiment, the route change point for each operating route can be determined in a variety of ways, including, for example:
[0059] Method 1: The route change point for each operating route is the preset end point of the operating route. For example, as shown in Figure 3, assuming the original path of the self-moving device is a "bow"-shaped path, each arrow line in Figure 3 represents an operating route (where the starting point of the arrow indicates the starting point of the operating route, and the ending point of the arrow indicates the ending point of the operating route). The intersection of two adjacent operating routes is the route change point (for example, the intersection point A between operating routes 1 and 2 is the route change point for operating route 1, the intersection point B between operating routes 2 and 3 is the route change point for operating route 2, and so on). For another example, as shown in FIG4 , taking the original path of the self-moving device as a U-shaped path (e.g., a rectangular path) as an example, each rectangular frame line in FIG4 (i.e., a circle of the U-shaped path) represents an operating route, wherein the direction of the arrow indicates the travel direction of the operating route, and points A, B, C, and D are the preset travel starting points or end points of operating routes 1, 2, 3, and 4, respectively; therefore, points A, B, C, and D in FIG4 are the route change points of operating routes 1, 2, 3, and 4, respectively, and so on. For another example, as shown in FIG5 , taking the original path of the self-moving device as a U-shaped path (e.g., a circular path) as an example, each circular frame line in FIG5 (i.e., a circle of the U-shaped path) represents an operating route, wherein the direction of the arrow indicates the travel direction of the operating route, and points A, B, and C are the preset travel starting points or end points of operating routes 1, 2, 3, and 4, respectively; therefore, points A, B, and C in FIG5 are the route change points of operating routes 1, 2, 3, and 4, respectively, and so on.
[0060] Method 2: The route change point of each operating route is the operating point in the next operating route of the current operating route that is closest to the collision location point. For example, as shown in FIG6 , taking the original path of the self-moving device as a U-shaped path (such as a rectangular path), each rectangular frame line in FIG6 (i.e., a circle of the U-shaped path) represents an operating route, wherein the direction of the arrow represents the driving direction of the operating route, and points A, B, C, and D are the preset driving starting points or end points of operating routes 1, 2, 3, and 4, respectively; the next operating route of route 1 is route 2, the next operating route of route 2 is route 3, and the next operating route of route 3 is route 4; the operating point closest to point a in route 2 is point b, the operating point closest to point b in route 3 is point c, and the operating point closest to point c in route 4 is point d; if point a is a collision position point, then the route change point of the collision identification route (i.e., route 1) is point b on route 2; if point b is a collision position point, then the route change point of the collision identification route (i.e., route 2) is point c on route 3; if point c is a collision position point, then the route change point of the collision identification route (i.e., route 3) is point d on route 4, and so on. For another example, as shown in FIG7 , taking the original path of the self-moving device as a “U”-shaped path (such as a circular path), each circular frame line in FIG7 (i.e., a circle of “U”-shaped path) represents an operating route, wherein the direction of the arrow represents the driving direction of the operating route, and points A, B, and C are the preset driving starting points or end points of operating routes 1, 2, and 3, respectively; the next operating route of route 1 is route 2, and the next operating route of route 2 is route 3; the operating point closest to point a in route 2 is point b, and the operating point closest to point b in route 3 is point c; if point a is the collision position point, then the route change point of the collision identification route (i.e., route 1) is point b on route 2; if point b is the collision position point, then the route change point of the collision identification route (i.e., route 2) is point c on route 3; and so on.
[0061] 3. Obstacle area: Obstacle areas can be areas such as stones, trees, etc.
[0062] 4. Prohibited areas: Prohibited areas may include areas such as swimming pools, lakes, etc.
[0063] 5. Operation boundary area: The operation boundary area is the dividing line between the operation area and the non-operation area.
[0064] To better understand the embodiments of the present application, the following first introduces the basic principles of using the "obstacle bypass algorithm" and "obstacle avoidance algorithm" to escape from difficulties:
[0065] 1. Obstacle Avoidance Algorithm Principle: Please refer to Figure 9 . The solid arrow in Figure 9 indicates the direction of travel along the original path. When the self-moving device collides with an obstacle (such as obstacle 1 in Figure 9 ) (as shown in Figure 9 , assuming point q1 is the collision location), a sensor (such as an ultrasonic sensor, infrared sensor, etc.) is used to detect and control the relative distance between the self-moving device and the obstacle in real time, so that the self-moving device moves along the physical contour of the obstacle (as shown in Figure 9 , assuming that the self-moving device moves from point q1 along the obstacle area back to point q2 on the original path) until the self-moving device returns to the original path in the predetermined direction. If the self-moving device can return to the original path in the predetermined direction, the obstacle avoidance algorithm is successful (as shown in Figure 9 , if the self-moving device encounters obstacle 2 again after successfully avoiding obstacle 1, the obstacle avoidance algorithm is continued to control the self-moving device to move from point q3 along obstacle 2 back to point q4 on the original path). Otherwise, the obstacle avoidance algorithm fails. By using the obstacle avoidance algorithm for path planning, the self-moving device can maintain a certain distance from obstacles and approach obstacles more accurately, thereby reducing the problem of missed areas for operations (for example, it can reduce the problem of lawn mowing robots missing grass).
[0066] The obstacle avoidance algorithm may include but is not limited to: Detour obstacle avoidance algorithm.
[0067] 2. The escape principle of the obstacle avoidance algorithm: Take the use of the obstacle avoidance algorithm to avoid obstacles in the obstacle area as an example (it can be understood that the obstacle avoidance algorithm can also be used to avoid prohibited areas, work boundary areas, etc.), please refer to Figure 10. The solid arrow in Figure 10 represents the driving direction of the original path, and the circular area represents the obstacle; the obstacle prior information already in the work map (that is, the marked obstruction area in the work map) is used to plan a shortest execution path from the starting point (such as the collision location point) to the target point (such as the first route change point). For example, as shown in Figure 10, assuming that the circular area in the figure is an obstacle, point a is the starting point, and point b is the target point, the obstacle avoidance path 1 shown in Figure 10 can be planned (as shown by the dotted line in Figure 10). Since the obstacle avoidance algorithm is used for path planning, the self-moving device can travel to the target point by the shortest path, thereby improving the operating efficiency of the self-moving device.
[0068] 202. Obtain the distance between the obstacle identification point of the self-moving device and a known obstacle area.
[0069] Among them, obstruction areas (such as obstacle areas, operation boundary areas, prohibited areas, etc.) can be marked in the operation map of the mobile device.
[0070] The known obstruction area refers to the obstruction area marked in the operation map of the mobile device (such as an obstacle area, a prohibited area, and an operation boundary area).
[0071] The obstacle recognition point refers to the location where the mobile device detects an obstacle. For example, if the current obstacle type is collision, the obstacle recognition point is the collision location; if the current obstacle type is slippage, the obstacle recognition point is the slippage location; if the current obstacle type is tilt, the obstacle recognition point is the tilt location.
[0072] The collision point may be the point at which the mobile device collides with an obstacle, or the point at which the obstacle is detected during travel along the original path (e.g., by sensors, computer vision, etc.).
[0073] The slip location point may be a location point where the self-moving device slips and the number of slips is greater than or equal to a preset slip threshold. For example, if the self-moving device slips multiple times (e.g., the number of slips is 5 times and greater than the preset slip threshold 3 times), the location point of the last slip is used as the slip location point.
[0074] The tilt position point may be a position point where the self-moving device tilts and the tilt angle is greater than or equal to a preset tilt angle threshold. For example, when the self-moving device tilts at a large angle (e.g., a tilt angle of 45 degrees, which is greater than a preset tilt angle threshold of 30 degrees), the position point where the tilt angle is 45 degrees may be used as the slip position point.
[0075] For example, based on the navigation positioning information of the mobile device, an obstruction identification point of the mobile device can be detected. Then, the distance between the obstruction identification point of the mobile device and each known obstruction area in the operation map can be calculated. For example, if the known obstruction areas in the mobile device's operation map include obstacle area 1 and prohibited area 2, the distance between the obstruction identification point and obstacle area 1 and the distance between the obstruction identification point and prohibited area 2 can be obtained.
[0076] 203. Determine a target escape strategy for the self-moving device based on the current obstacle type and the distance.
[0077] The target escape strategy is a driving strategy for escaping the mobile device when the mobile device identifies an obstacle, which is determined based on the current obstacle type and the distance between the obstacle identification point and the known obstacle area.
[0078] Among them, the distance between the obstruction identification point and the known obstruction area can be used to indicate whether to control the self-moving device to travel through between the obstruction identification point and the known obstruction area; when the distance between the obstruction identification point and the known obstruction area is greater than or equal to a preset distance threshold, the determined target escape strategy is that the self-moving device travels through between the obstruction identification point and the known obstruction area; when the distance between the obstruction identification point and the known obstruction area is less than the preset distance threshold, the determined target escape strategy is that the self-moving device avoids both the obstruction identification point and the known obstruction area at the same time, and does not travel through between the obstruction identification point and the known obstruction area. For example, the determined target escape strategy can be that the self-moving device travels outside the enclosed area between the obstruction identification point and the known obstruction area.
[0079] There are many ways to determine the target escape strategy in step 203, illustratively including:
[0080] (1) The current obstacle type is obstacle collision, and the obstacle identification point is the collision location point. In this case, step 203 may specifically include the following steps 2031A to 2032A:
[0081] 2031A. If the current obstacle type is obstacle collision, determine a path planning method for the mobile device based on the distance.
[0082] In step 2031A, if the current obstacle type is an obstacle collision, it is detected whether the distance between the obstacle identification point (i.e., the collision location point) of the self-moving device and the known obstacle area is greater than or equal to a first preset distance; if the distance is greater than or equal to the first preset distance threshold, the obstacle avoidance algorithm is used as the path planning method of the self-moving device; if the distance is less than the first preset distance threshold, the obstacle avoidance algorithm is used as the path planning method of the self-moving device.
[0083] Specifically, when the current obstacle type is obstacle collision, it is detected whether the distance between the obstacle identification point (i.e., collision position point) of the self-moving device and each known obstacle area in the operation map is greater than or equal to a first preset distance; if the distance between the obstacle identification point (i.e., collision position point) of the self-moving device and all known obstacle areas in the operation map is greater than or equal to the first preset distance, then the obstacle avoidance algorithm is used as the path planning method of the self-moving device. For example, the known obstacle areas in the operation map of the self-moving device include obstacle area 1 and prohibited area 2, the distance between the collision position point and obstacle area 1 is d1, and the distance between the collision position point and prohibited area 2 is d2. If the distance d1 between the collision position point and obstacle area 1 is greater than or equal to the first preset distance threshold, and the distance d2 between the collision position point and prohibited area 2 is greater than or equal to the first preset distance threshold, then the obstacle avoidance algorithm is used as the path planning method of the self-moving device.
[0084] If the distance between the obstruction identification point (i.e., the collision location) of the self-moving device and at least one known obstruction area in the operation map is less than a first preset distance threshold, the obstacle avoidance algorithm is used as the path planning method for the self-moving device. For example, the known obstruction areas in the operation map of the self-moving device include obstacle area 1 and prohibited area 2, the distance between the collision location and obstacle area 1 is d1, and the distance between the collision location and prohibited area 2 is d2. If the distance d1 between the collision location and obstacle area 1 is greater than or equal to the first preset distance threshold, but the distance d2 between the collision location and prohibited area 2 is less than the first preset distance threshold, the obstacle avoidance algorithm is used as the path planning method for the self-moving device.
[0085] The specific value of the first preset distance threshold can be set according to actual business scenario requirements, and the specific value of the first preset distance threshold is not limited here.
[0086] 2032A. Determine a target escape strategy for the self-moving device based on the path planning method.
[0087] In some embodiments, if the distance between the obstacle identification point (i.e., the collision location) of the self-moving device and all known obstacle areas in the operation map is greater than or equal to a first preset distance, an obstacle avoidance algorithm is used as the path planning method for the self-moving device; in step 2032A, the obstacle avoidance algorithm is used as the target escape strategy for the self-moving device; and in step 204, based on the obstacle avoidance algorithm, the self-moving device is controlled to avoid obstacles until it reaches an obstacle avoidance stop point that meets the preset obstacle avoidance stop conditions. Thus, by using the obstacle avoidance algorithm to control the movement of the self-moving device when the distance between the obstacle identification point (i.e., the collision location) and all known obstacle areas in the operation map is greater than or equal to the first preset distance, the self-moving device can be returned to the original path along the obstacle area as much as possible, thereby reducing the area of missed operation areas.
[0088] In some embodiments, if the distance between the obstruction identification point (i.e., the collision location point) of the self-moving device and at least one known obstruction area in the operation map is less than a first preset distance threshold, the obstacle avoidance algorithm is used as the path planning method for the self-moving device. In step 2032A, the target escape strategy of the self-moving device is determined based on the following steps A1 to A2; in step 204, the self-moving device is controlled to travel based on the first obstacle avoidance path. Thus, by using the obstacle avoidance algorithm to perform path planning to obtain a first obstacle avoidance path when the distance between the obstruction identification point (i.e., the collision location point) and at least one known obstruction area in the operation map is less than the first preset distance threshold, and controlling the self-moving device to travel according to the first obstacle avoidance path, it is possible to avoid the problem that the self-moving device cannot directly pass between the obstruction identification point (i.e., the collision location point) and the known obstruction area due to the small distance between the obstruction identification point (i.e., the collision location point) and the known obstruction area, thereby avoiding the problem that the self-moving device is trapped for a long time due to the long time required to bypass a large obstacle using the obstacle avoidance algorithm; thereby, it is possible to avoid the self-moving device being trapped for a long time, thereby improving the overall operation efficiency. Steps A1 to A2 are as follows:
[0089] A1. Determine a first target obstacle avoidance area for the self-moving device based on the known obstruction area and the collision location.
[0090] For example, step A1 may specifically include the following steps A11 to A13:
[0091] A11. Acquire detection data from the mobile device, wherein the detection data includes at least one of visual data and sensor detection data.
[0092] In step A11 , the visual data may be an image or video of the collision location and its surrounding environment.
[0093] In step A11, the visual data may be detection data of the collision location and its surrounding environment detected by a sensor (such as an infrared sensor, etc.).
[0094] A12. Expand the collision location based on the detection data to obtain a newly added obstacle area.
[0095] The newly added obstacle area refers to the area where the obstacle corresponding to the collision point of the self-moving device is located.
[0096] For example, in some embodiments, when a self-moving device collides with an obstacle, the self-moving device may collect visual data through a camera, and estimate and expand a certain area based on the visual data and the collision location as a newly added obstacle area. In other embodiments, when a self-moving device collides with an obstacle, the self-moving device may collect sensor detection data through a sensor (such as an infrared detection sensor), and estimate based on the sensor detection data and the collision location to obtain an estimated obstacle area of the collision location, and expand the collision location by a certain area based on the estimated obstacle area as a newly added obstacle area. For example, as shown in (a) of FIG8 , the collision location a expands forward to a hexagonal area of a certain area as a newly added obstacle area; for another example, as shown in (b) of FIG8 , the collision location b expands forward to a hexagonal area of a certain area as a newly added obstacle area.
[0097] A13. Obtain the first target obstacle avoidance area based on the newly added obstacle area and the known obstruction area.
[0098] For example, the minimum enclosed area between the newly added obstacle area and the known obstruction area may be used as the first target obstacle avoidance area.
[0099] A2. Based on the first target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a first obstacle avoidance path as a target escape strategy for the self-moving device.
[0100] Therefore, through steps A1 to A2, and A11 to A13, a new obstacle area is determined based on the collision position point of the self-moving device, and the obstacle avoidance algorithm is used to control the driving of the self-moving device based on the new obstacle area, so that after the obstacle environment changes, the self-moving device can avoid obstacles that were not marked before in time, thereby improving the escape efficiency and overall operation efficiency.
[0101] For example, step A2 may specifically include the following steps A21 to A22:
[0102] A21. Determine a first target escape point for the self-moving device based on the newly added obstacle area.
[0103] The method of determining the first target escape point in step A21 can refer to the relevant description of steps a1 to a3 below, and will not be repeated here for simplicity.
[0104] A22. Based on the first target escape point and the first target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a first obstacle avoidance path as a target escape strategy for the self-moving device.
[0105] Specifically, with the collision position as the starting point and the first target escape point as the target point, the shortest path from the starting point to the target point when avoiding the first target obstacle avoidance area is planned as the first obstacle avoidance path.
[0106] (2) The current obstacle type is slipping, and the obstacle identification point is the slipping location point. In this case, step 203 may specifically include the following steps 2031B to 2032B:
[0107] 2031B. If the current obstacle type is skidding, determine a second target obstacle avoidance area for the self-moving device based on the distance.
[0108] There are multiple ways to determine the second target obstacle avoidance area in step 2031B, exemplarily including: if the distance is less than a second preset distance threshold, then based on the known obstruction area and the slipping position point, determine the second target obstacle avoidance area of the self-moving device; if the distance is greater than or equal to the second preset distance threshold, then based on the slipping position point, determine the second target obstacle avoidance area of the self-moving device.
[0109] Exemplarily, when the distance between the slipping location point and the known area is less than a second preset distance threshold, a new slipping area is obtained by expanding based on the slipping location point; the minimum enclosed area between the new slipping area and the known obstruction area is used as the second target obstacle avoidance area. For example, as shown in (a) in FIG17 , the distance between the slipping location point a and the known obstruction area (refer to the triangle shown in (a) in FIG17 ) is less than the second preset distance threshold. At this time, the self-moving device cannot pass between the new slipping area (refer to the rectangle shown in (a) in FIG17 ) and the known obstruction area (refer to the triangle shown in (a) in FIG17 ). Therefore, the minimum enclosed area (not shown in the figure) between the new slipping area (refer to the rectangle shown in (a) in FIG17 ) and the known obstruction area (refer to the triangle shown in (a) in FIG17 ) can be used as the second target obstacle avoidance area. In this way, the feasibility of the second obstacle avoidance path planned based on the second target obstacle avoidance area is ensured, and the probability of the self-moving device escaping when it slips is improved.
[0110] When the distance between the slipping position point and the known area is greater than or equal to the second preset distance threshold, a new slipping area is obtained by expansion based on the slipping position point; and the new slipping area is used as the second target obstacle avoidance area. For example, as shown in (b) in FIG17 , the distance between the slipping position point a and the known obstruction area (the triangle shown in FIG17 b) is greater than or equal to the second preset distance threshold. At this time, the self-moving device is likely to pass between the new slipping area (the rectangle shown in FIG17 b) and the known obstruction area (the triangle shown in FIG17 b)). Therefore, the new slipping area (the rectangle shown in FIG17 b) can be used as the second target obstacle avoidance area.
[0111] Thus, when the distance between the slipping position point and the known area is less than the second preset distance threshold, a new slipping area is obtained by expanding based on the slipping position point; and the minimum enclosed area between the new slipping area and the known obstruction area is used as the second target obstacle avoidance area. This can avoid the problem of not being able to directly pass between the obstruction identification point (i.e., the slipping position point) and the known obstruction area due to the small distance between the obstruction identification point (i.e., the slipping position point) and the known obstruction area, thereby avoiding the self-moving device from being trapped for a long time and improving the overall operation efficiency to a certain extent. When the distance between the slipping position point and the known area is greater than or equal to the second preset distance threshold, a new slipping area is obtained by expanding based on the slipping position point; and the new slipping area is used as the second target obstacle avoidance area. This allows the self-moving device to minimize the area of the missed operation area while avoiding obstacles.
[0112] For example, the newly added slip area can be expanded by the following steps C1 to C2:
[0113] C1. Acquire detection data from the mobile device, wherein the detection data includes at least one of visual data and sensor data.
[0114] C2. Expand the slipping location point based on the detection data to obtain a newly added slipping area as the second target obstacle avoidance area.
[0115] 2032B. Based on the second target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a second obstacle avoidance path as a target escape strategy for the autonomous mobile device.
[0116] Therefore, through steps 2031B to 2032B, and C1 to C2, a new slip area is determined based on the slip position point of the self-moving device, and the obstacle avoidance algorithm is used to control the driving of the self-moving device based on the new slip area, so that after the environment changes, the self-moving device can avoid the slip area that was not marked before in time, thereby improving the self-moving device's escape efficiency and overall operation efficiency.
[0117] Exemplarily, step 2032B may specifically include the following steps D1 to D2:
[0118] D1. Determine a first target escape point for the self-moving device based on the newly added slip area.
[0119] The method of determining the first target escape point in step D1 can refer to the relevant description of steps a1 to a3 below, and will not be repeated here for simplicity.
[0120] D2. Based on the second target obstacle avoidance area and the first target escape point, an obstacle avoidance algorithm is used to perform path planning to obtain a second obstacle avoidance path as the target escape strategy for the autonomous mobile device.
[0121] Specifically, with the slipping position as the starting point and the first target escape point as the target point, the shortest path from the starting point to the target point when avoiding the second target obstacle avoidance area is planned as the second obstacle avoidance path.
[0122] (3) The current obstacle type is tilt, and the obstacle identification point is a tilt position point. In this case, step 203 may specifically include the following steps 2031C to 2032C:
[0123] 2031C. If the current obstacle type is tilt, determine a third target obstacle avoidance area for the self-moving device based on the distance.
[0124] There are multiple ways to determine the third target obstacle avoidance area in step 2031C, exemplarily including: if the distance is less than a third preset distance threshold, then based on the known obstruction area and the tilted position point, determine the third target obstacle avoidance area of the self-moving device; if the distance is greater than or equal to the third preset distance threshold, then based on the tilted position point, determine the third target obstacle avoidance area of the self-moving device.
[0125] Exemplarily, when the distance between the tilted position point and the known area is less than a third preset distance threshold, a new tilted area is obtained by expanding based on the tilted position point; the minimum enclosed area between the new tilted area and the known obstruction area is used as the third target obstacle avoidance area. For example, as shown in (a) of Figure 18, the distance between the tilted position point a and the known obstruction area (refer to the triangle shown in (a) of Figure 18) is less than the third preset distance threshold. At this time, the self-moving device cannot pass between the new tilted area (refer to the rectangle shown in (a) of Figure 18) and the known obstruction area (refer to the triangle shown in (a) of Figure 18). Therefore, the minimum enclosed area (not shown in the figure) between the new tilted area (refer to the rectangle shown in (a) of Figure 18) and the known obstruction area (refer to the triangle shown in (a) of Figure 18) can be used as the third target obstacle avoidance area. In this way, the feasibility of the third obstacle avoidance path planned based on the third target obstacle avoidance area can be ensured, and the probability of escaping when the self-moving device is tilted can be improved.
[0126] When the distance between the tilted position point and the known area is greater than or equal to the third preset distance threshold, a new tilted area is obtained by expanding the tilted position point; and the new tilted area is used as the third target obstacle avoidance area. For example, as shown in (b) of Figure 18, the distance between the tilted position point a and the known obstruction area (refer to the triangle shown in (b) of Figure 18) is greater than or equal to the third preset distance threshold. At this time, the self-moving device is likely to pass between the new tilted area (refer to the rectangle shown in (b) of Figure 18) and the known obstruction area (refer to the triangle shown in (b) of Figure 18). Therefore, the new tilted area (refer to the rectangle shown in (b) of Figure 18) can be used as the third target obstacle avoidance area.
[0127] Thus, when the distance between the inclined position point and the known area is less than the third preset distance threshold, a new inclined area is obtained by expanding based on the inclined position point; and the minimum enclosed area between the new inclined area and the known obstruction area is used as the third target obstacle avoidance area. This can avoid the problem of being unable to directly pass between the obstruction identification point (i.e., the inclined position point) and the known obstruction area due to the small distance between the obstruction identification point (i.e., the inclined position point) and the known obstruction area, thereby preventing the self-moving device from being trapped for a long time and improving the overall operation efficiency to a certain extent. When the distance between the inclined position point and the known area is greater than or equal to the third preset distance threshold, a new inclined area is obtained by expanding based on the inclined position point; and the new inclined area is used as the third target obstacle avoidance area. This allows the self-moving device to minimize the area of the missed operation area while avoiding obstacles.
[0128] For example, the newly added inclined area can be expanded by the following steps E1 to E2:
[0129] E1. Acquire detection data from the mobile device, wherein the detection data includes at least one of visual data and sensor data;
[0130] E2. Expand the inclined position point based on the detection data to obtain a newly added inclined area as the third target obstacle avoidance area.
[0131] 2032C. Based on the third target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a third obstacle avoidance path as a target escape strategy for the self-moving device.
[0132] Therefore, through steps 2031C to 2032C, and E1 to E2, a new inclined area is determined based on the inclined position point of the self-moving device, and the obstacle avoidance algorithm is used to control the driving of the self-moving device based on the new inclined area, so that after the environment changes, the self-moving device can avoid the inclined area that was not marked before in time, thereby improving the escape efficiency of the self-moving device and the overall operation efficiency.
[0133] Exemplarily, step 2032C may specifically include the following steps F1 to F2:
[0134] F1. Determine a first target escape point for the self-moving device based on the newly added tilted area.
[0135] The method of determining the first target escape point in step F1 can refer to the relevant description of steps a1 to a3 below, which will not be repeated here for simplicity.
[0136] F2. Based on the third target obstacle avoidance area and the first target escape point, an obstacle avoidance algorithm is used to perform path planning to obtain a third obstacle avoidance path as the target escape strategy for the self-moving device.
[0137] Specifically, with the inclined position point as the starting point and the first target escape point as the target point, the shortest path from the starting point to the target point when avoiding the third target obstacle avoidance area is planned as the third obstacle avoidance path.
[0138] 204. Control the autonomous mobile device to travel based on the target escape strategy.
[0139] In step 204, there are multiple ways to control the movement of the mobile device, illustratively including:
[0140] (1) The current obstacle type is obstacle collision, and the obstacle identification point is the collision location point. Specifically, it can include the following situations (1) and (2):
[0141] It can be seen from steps 2031A to 2032A that when the distance between the obstacle identification point (i.e., the collision location point) and all known obstacle areas in the operation map is greater than or equal to the first preset distance, it proves that it is possible to leave the newly added obstacle area through the obstacle avoidance algorithm to reduce the area where the operation is missed (such as it can reduce the area where the lawn mowing robot misses mowing). Therefore, in this implementation, "when the distance between the obstacle identification point (i.e., the collision location point) and all known obstacle areas in the operation map is greater than or equal to the first preset distance" is regarded as meeting the obstacle avoidance condition; "when the distance between the obstacle identification point (i.e., the collision location point) of the self-moving device and at least one known obstacle area in the operation map is less than the first preset distance threshold" is regarded as not meeting the obstacle avoidance condition, so as to avoid repeated obstacle avoidance or the obstacle avoidance area being too large to affect the operation efficiency, thereby balancing the safe passability and operation efficiency of the self-moving device. As shown in FIG19 , when the obstacle avoidance conditions are met, refer to steps 2041A to 2046A to use the obstacle avoidance algorithm to avoid the newly added obstacle area, thereby leaving the newly added obstacle area; when the obstacle avoidance conditions are not met, refer to steps 2041B to 2042B to use the obstacle avoidance algorithm to avoid the newly added obstacle area, thereby leaving the newly added obstacle area.
[0142] (1) Meeting the obstacle avoidance condition: Step 2031A determines that the obstacle avoidance algorithm is used as the path planning method of the self-moving device, and step 2032A determines that the obstacle avoidance algorithm is used as the target escape strategy of the self-moving device. In this case, step 204 may specifically include the following step 2041A:
[0143] 2041A. Based on the obstacle avoidance algorithm, control the self-moving device to avoid obstacles until it reaches an obstacle avoidance stop point that meets a preset obstacle avoidance stop condition.
[0144] The preset obstacle avoidance stopping condition is that the self-moving device maintains positive displacement and returns to the collision identification route, or the self-moving device does not have positive displacement.
[0145] The obstacle avoidance stopping point (when the obstacle avoidance is successful) is the point where the self-moving device maintains positive displacement and returns to the collision identification route. For example, as shown in Figure 11, point b is the obstacle avoidance stopping point because it is the point where the self-moving device maintains positive displacement and returns to the collision identification route. The obstacle avoidance stopping point (when the obstacle avoidance fails) is the last point where the self-moving device maintains positive displacement in the direction of travel along the original path. For example, as shown in Figure 14, point b' is the obstacle avoidance stopping point because it is the last point where the self-moving device maintains positive displacement during the obstacle avoidance process.
[0146] In this embodiment, positive displacement means that when using the obstacle avoidance algorithm to avoid an obstacle, the initial direction of travel before the obstacle avoidance begins (for example, assuming the initial direction is the X-axis direction) is used as a reference, and a positive displacement with respect to the initial direction (such as the X-axis direction) must be maintained during the obstacle avoidance process; that is, the self-moving device cannot move back, and when it moves back, the obstacle avoidance fails; the position point before the position point where it moves back is the last position point that maintained positive displacement during the obstacle avoidance process. For example, taking Figure 11 as an example, during the obstacle avoidance algorithm to avoid obstacle 1, each position point from point a to point b maintains positive displacement (that is, the self-moving device does not move back), and at point b, it returns to the collision identification route. Therefore, the obstacle avoidance for obstacle 1 is successful, and point b is the obstacle avoidance stop point. Taking Figure 14 as an example, when using the obstacle avoidance algorithm to avoid obstacle 1, each position point from point a to point b' maintains positive displacement (that is, there is no situation where the mobile device moves back). However, at the position point next to point b', it starts to move back (that is, it is not a positive displacement). Therefore, the obstacle avoidance algorithm fails to avoid obstacle 1. Point b' is the last position point that maintains positive displacement during the obstacle avoidance process (that is, the obstacle avoidance stop point).
[0147] It can be seen that when the self-moving device travels to the obstacle avoidance stopping point, there are two situations: obstacle avoidance success and obstacle avoidance failure. Furthermore, in order to improve the probability of the self-moving device escaping after a collision, it can also be detected whether the obstacle avoidance stopping point is on the route of the first target escape point to determine whether the self-moving device successfully avoids the obstacle or fails to avoid the obstacle; if the obstacle avoidance stopping point is on the route of the first target escape point, it is proved that the obstacle avoidance is successful, and the self-moving device can complete the escape by continuing to travel from the obstacle avoidance stopping point toward the first target escape point. At this time, the following steps 2042A to 2044A are executed to complete the escape; if the obstacle avoidance stopping point is not on the route of the first target escape point, it is proved that the obstacle avoidance failed. In order to improve the escape efficiency, it is necessary to adopt an obstacle avoidance algorithm to continue to travel from the obstacle avoidance stopping point toward the first target escape point to complete the escape. At this time, the following steps 2042A to 2043A and steps 2045A to 2046A are executed to complete the escape; that is, the self-moving device control method can further include the following steps 2042A to 2046A.
[0148] 2042A. Expand the collision location point to obtain a newly added obstacle area.
[0149] 2043A. Determine a first target escape point for the self-moving device based on the newly added obstacle area.
[0150] 2044A. If the obstacle avoidance stopping point is on the route of the first target escape point, then based on the obstacle situation between the obstacle avoidance stopping point and the first target escape point, control the self-moving device to continue driving to complete the process of the self-moving device escaping the newly added obstacle area.
[0151] Therefore, through steps 2042A to 2046A, a new obstacle area is determined based on the collision position point of the self-moving device, and the obstacle avoidance algorithm is used to control the driving of the self-moving device based on the new obstacle area. When the obstacle environment changes, the self-moving device can avoid obstacles that were not marked before in time, thereby improving the escape efficiency and thus improving the overall operation efficiency.
[0152] 2045A: If the obstacle avoidance stopping point is not on the route of the first target escape point, generate a fourth obstacle avoidance path from the obstacle avoidance stopping point to the second target escape point according to an obstacle avoidance algorithm.
[0153] Specifically, with the obstacle avoidance stopping point as the starting point and the second target escape point as the target point, the shortest path from the starting point to the target point while avoiding the known obstruction area and the newly added obstacle area is planned as the fourth obstacle avoidance path.
[0154] 2046A. Based on the fourth obstacle avoidance path, control the self-moving device to continue traveling from the obstacle avoidance stopping point toward the second target escape point, so as to complete the process of the self-moving device escaping the newly added obstacle area.
[0155] The second target escape point is a route change point of the next operating route of the route where the first target escape point is located. Specifically, the second target escape point can be a route change point on the original path that is closest to the first target escape point and is not covered by the newly added obstacle area (including the newly added obstacle area and the obstacle area a priori in the operation map).
[0156] <1> Obstacle avoidance is successful: This means the obstacle avoidance stop point is on the collision identification route. At this point, the self-mobile device returns to the collision identification route, and the direction of travel at the obstacle avoidance stop point is the same as the direction of travel at the collision location. Step 2044A is executed to complete the escape process. When the obstacle avoidance is successful, step 2044A can be implemented in various ways, illustratively including the following cases ①, ②, and ③:
[0157] Case ①: Referring to Figure 11, there are other obstacle areas between the obstacle avoidance stop point and the first target escape point on the collision identification route, and the distance between the other obstacle areas and the newly added obstacle areas is less than the fourth preset distance threshold. At this time, the obstacle avoidance algorithm is used to control the mobile device to continue traveling from the obstacle avoidance stop point to the first target escape point.
[0158] Because the distance between the other obstacle areas and the newly added obstacle area is less than the fourth preset distance threshold, obstacle avoidance for densely packed obstacle areas will not result in a large area of missed work areas. By using the obstacle avoidance algorithm to control the self-moving device to continue traveling from the obstacle avoidance stopping point to the first target escape point, the problem of low work efficiency caused by continuously avoiding large obstacle areas can be avoided. In this case, step 2044A may specifically include: if there is another obstacle area (such as obstacle 2 in Figure 11) between the obstacle avoidance stopping point (point b in Figure 11) and the first target escape point (point c in Figure 11), and the distance (such as 0.5 meters) between the other obstacle area (such as obstacle 2) and the newly added obstacle area (such as obstacle 1) is less than the second preset distance threshold (such as 1 meter), then according to the obstacle avoidance algorithm, control the self-moving device to avoid the other obstacle area, and continue traveling from the obstacle avoidance stopping point toward the first target escape point, thereby completing the process of the self-moving device escaping the newly added obstacle area.
[0159] For example, as shown in Figure 11, suppose a robot robot collides with an obstacle (e.g., obstacle 1 in Figure 11) at point a during operation (e.g., a lawn mower robot). First, an obstacle avoidance algorithm uses sensors (e.g., ultrasonic sensors, infrared sensors, etc.) to detect and control the relative distance between the robot and obstacle 1 in real time. This allows the robot to move along the physical contour of obstacle 1, maintaining a positive displacement from the collision point a and returning to the collision identification route (e.g., point b in Figure 11). At this point, obstacle 1 is successfully avoided. Next, the robot encounters obstacle 2, which is 0.5 meters away from obstacle 1. Since the distance between obstacles 1 and 2 is less than a preset distance threshold (e.g., 1 meter), the obstacle avoidance algorithm continues to plan an obstacle avoidance path from the obstacle avoidance stop point (e.g., point b in Figure 11) to the first target escape point (e.g., point c in Figure 11) to avoid obstacle 2 and return to point c on the original path.
[0160] Case ②: Referring to Figure 12, there are other obstacle areas between the obstacle avoidance stop point and the first target escape point on the collision identification route, and the distance between the other obstacle areas and the newly added obstacle areas is greater than or equal to the fourth preset distance threshold. At this time, the obstacle avoidance algorithm continues to be used to control the mobile device to continue traveling from the obstacle avoidance stop point to the first target escape point.
[0161] Because the distance between the other obstacle areas and the newly added obstacle area is greater than or equal to the fourth preset distance threshold, the obstacle areas are not too dense, and the area where the operation needs to be performed is larger. By using the obstacle avoidance algorithm to control the self-moving device to continue traveling from the obstacle avoidance stopping point to the first target escape point, the area where the operation is missed can be greatly reduced. In this case, step 2044A may specifically include: if there is another obstacle area (such as obstacle 2 in Figure 12) between the obstacle avoidance stopping point (such as point b in Figure 12) and the first target escape point (such as point c in Figure 12), and the distance (such as 5 meters) between the other obstacle area (such as obstacle 2) and the newly added obstacle area (such as obstacle 1) is greater than or equal to the fourth preset distance threshold (such as 1 meter), then according to the obstacle avoidance algorithm, controlling the self-moving device to continue traveling to the other obstacle area to complete the process of the self-moving device escaping the newly added obstacle area.
[0162] For example, as shown in Figure 12, suppose a robot robot collides with an obstacle (e.g., obstacle 1 in Figure 12) at point a during operation (e.g., a lawn mower robot). First, an obstacle avoidance algorithm uses sensors (e.g., ultrasonic sensors, infrared sensors, etc.) to detect and control the relative distance between the robot and obstacle 1 in real time, causing the robot to move along the physical contour of obstacle 1, maintaining positive displacement from collision point a and returning to the collision identification route (e.g., point b in Figure 12). At this point, obstacle 1 is successfully avoided. Next, the robot encounters obstacle 2, which is 5 meters away from obstacle 1. Because the distance between obstacles 1 and 2 is greater than a preset distance threshold (e.g., 1 meter), the obstacle avoidance algorithm continues to plan and control the robot to continue from the obstacle avoidance stop point (e.g., point b in Figure 12) to reduce the area of missed operation. Finally, the robot avoids obstacle 2 from point b and returns to point c on its original path. At this point, obstacle 2 is successfully avoided.
[0163] Case 3: Referring to Figure 13, there are no other obstacles between the obstacle avoidance stop point and the first target escape point on the collision identification route. The self-mobile device can continue to travel from the obstacle avoidance stop point to the first target escape point in the direction of the original route.
[0164] For example, as shown in FIG13 , assuming that the self-moving device collides with an obstacle (such as obstacle 1 in FIG13 ) at point a during operation (such as a lawn mowing robot during mowing operation), first, through the obstacle avoidance algorithm, a sensor (such as an ultrasonic sensor, an infrared sensor, etc.) is used to detect and control the relative distance between the self-moving device and obstacle 1 in real time, so that the self-moving device moves along the physical contour of obstacle 1, and maintains a positive displacement from the collision position point a to return to the collision identification route (as shown by point b in FIG13 ). At this time, obstacle 1 is successfully avoided; and the self-moving device is controlled to continue to travel along the original path from the obstacle avoidance stop point (as shown by point b in FIG13 ) to the first target escape point (as shown by point c in FIG13 ).
[0165] <2> Obstacle bypass failure: that is, the obstacle bypass stop point is outside the collision identification route. At this time, the self-moving device is not on the collision identification route, and may be on any operating route or at any position on the operating map. It proves that the obstacle area may cover the first route change point and may cross multiple operating routes. In order to avoid the low operating efficiency caused by repeated obstacle bypassing for the same obstacle area on multiple operating routes, the high and low operating efficiency and the size of the area where the operation is missed are balanced. Therefore, the first target escape point is no longer used as the target operating point, but the route change point (i.e., the second target escape point) on the original path that is closest to the first target escape point and not covered by the newly added obstacle area is used as the target operating point, and the self-moving device is controlled to continue to travel from the obstacle bypass stop point to the second target escape point. At this time, execute steps 2045A to 2046A to complete the escape.
[0166] For example, as shown in FIG14 , assume that a self-moving device collides with an obstacle (such as obstacle 1 in FIG14 ) at point a during operation (such as a lawn mower robot during mowing operation). First, through the obstacle avoidance algorithm, a sensor (such as an ultrasonic sensor, an infrared sensor, etc.) is used to detect and control the relative distance between the self-moving device and obstacle 1 in real time, so that the self-moving device moves along the physical contour of obstacle 1 and maintains a positive displacement from the collision point a. Since there are other obstacles around obstacle 1 (such as obstacle 2 in FIG14 ), continuing to avoid obstacles after the last point (as shown by point b' in FIG14 ) where the positive displacement is maintained during the obstacle avoidance process will result in a negative displacement, and the obstacle avoidance of obstacle 1 will fail at this time. Next, in order to avoid low work efficiency caused by repeatedly circumventing the same obstacle area on multiple work routes, the return to the first target escape point (as shown by point c in Figure 14) is abandoned, and the obstacle avoidance algorithm is used to continue planning the fourth obstacle avoidance path from the obstacle avoidance stop point (as shown by point b' in Figure 14) to the second target escape point (as shown by point d in Figure 14), so as to control the route from point b' to avoid obstacle 2 and return to point d on the original path.
[0167] In addition, if any unexpected event (such as signal loss) occurs during the obstacle avoidance process, resulting in an obstacle avoidance failure and making it impossible to return to the first target escape point, the self-moving device is controlled to continue to use the obstacle avoidance algorithm to perform path planning to obtain an obstacle avoidance path from the obstacle avoidance failure point to the second target escape point. The obstacle avoidance path obtained by the plan is used to control the self-moving device to continue to travel from the obstacle avoidance failure point to the second target escape point. And so on.
[0168] (2) Obstacle avoidance conditions are not met: Step 2031A determines that the obstacle avoidance algorithm is used as the path planning method of the self-moving device, and step 2032A determines that the first obstacle avoidance path is used as the target escape strategy of the self-moving device. In this case, step 204 may specifically include the following step 2041B:
[0169] 2041B. Control the autonomous mobile device to travel based on the first obstacle avoidance path.
[0170] Specifically, in steps 2031A to 2032A, the obstacle avoidance algorithm is used as the path planning method for the self-moving device, and the first target escape point of the self-moving device is determined through step A21, and the obstacle avoidance algorithm is used for path planning through step A22 to obtain the first obstacle avoidance path as the target escape strategy for the self-moving device; in step 2041B, based on the first obstacle avoidance path, the self-moving device is controlled to travel toward the first target escape point.
[0171] For example, as shown in (a) in Figure 16, assuming that the self-moving device collides with an obstacle at point a during operation (such as a lawn mowing robot during mowing operation), in step 2031A, it is detected that the distance between the collision location point (i.e., point a) and at least one known obstruction area in the operation map (as shown by the circle and triangle in (a) in Figure 16) is less than the first preset distance threshold, so the obstacle avoidance condition is not met, and therefore the obstacle avoidance algorithm is used as the path planning method of the self-moving device. In step 2032A, first, referring to step A21, since the route change point of the collision identification route (i.e., the first route change point, as shown by point A in (a) of FIG16 ) is uncovered, point A is used as the first target escape point; then, referring to step A22, the obstacle avoidance algorithm is used to perform path planning to obtain an obstacle avoidance path from the collision position point (i.e., point a) to the first target escape point (i.e., point A), as the first obstacle avoidance path (as shown by the dotted line in (a) of FIG16 ); in step 2041B, the self-mobile device is controlled to travel to the first target escape point (i.e., point A in FIG16 ) based on the first obstacle avoidance path.
[0172] For another example, as shown in (b) in FIG16 , assuming that the self-moving device collides with an obstacle at point a during operation (such as a lawn mowing robot during mowing operation), in step 2031A, it is detected that the distance between the collision position point (i.e., point a) and at least one known obstruction area in the operation map (as shown by the circle and triangle in (a) in FIG16 ) is less than the first preset distance threshold, so the obstacle avoidance condition is not met. Therefore, the obstacle avoidance algorithm is used as the path planning method of the self-moving device. In step 2032A, first, referring to step A21, since the route change point of the collision identification route (i.e., the first route change point, as shown by point A in (a) of FIG16 ) is in the obstruction coverage state, the second route change point on the original path that is closest to the collision position point (i.e., point a in (a) of FIG16 ) and is not covered by the newly added obstacle area (i.e., point B in (a) of FIG16 ) is used as the first target escape point; then, referring to step A22, the obstacle avoidance algorithm is used to perform path planning to obtain an obstacle avoidance path from the collision position point (i.e., point a) to the first target escape point (i.e., point B) as the first obstacle avoidance path (as shown by the dotted line in (a) of FIG16 ); in step 2041B, the self-mobile device is controlled to travel to the first target escape point (i.e., point B in (a) of FIG16 ) based on the first obstacle avoidance path.
[0173] Furthermore, in order to improve the probability of the mobile device escaping after a collision, if the mobile device fails to reach the first target escape point using the first obstacle avoidance path, the mobile device will be controlled to continue driving toward the second target escape point to complete the process of escaping the mobile device. In this case, step 2041B also includes step 2042B:
[0174] 2042B. If the self-moving device fails to travel toward the first target escape point, control the self-moving device to continue traveling toward the second target escape point to complete the process of the self-moving device escaping the newly added obstacle area.
[0175] (2) The current obstacle type is slipping, and the obstacle identification point is the slipping location point. Specifically, it may include the following situations (3):
[0176] (3) Determine in step 2032B that a second obstacle avoidance path is obtained by using an obstacle avoidance algorithm for path planning, as the target escape strategy for the self-moving device. In this case, step 204 may specifically include the following step 2041C:
[0177] 2041C. Control the autonomous mobile device to travel based on the second obstacle avoidance path.
[0178] Specifically, in steps 2031B to 2032B, the obstacle avoidance algorithm is used as the path planning method for the self-moving device, and the first target escape point of the self-moving device is determined through step D1, and the second obstacle avoidance path is obtained by using the obstacle avoidance algorithm for path planning through step D2 as the target escape strategy for the self-moving device; in step 2041C, based on the second obstacle avoidance path, the self-moving device is controlled to move toward the first target escape point.
[0179] For example, as shown in (a) of FIG17 , it is assumed that the self-moving device slips at point a during operation (such as a lawn mowing robot during mowing operation); first, the self-moving device is controlled to go to the route change point of the slip identification route (i.e., the route change point of the operating route where the slip position point is located) along the original path; when there are multiple slips (such as the number of slips is 5 times, which is greater than the preset slip threshold of 3 times), the self-moving device is abandoned from going to the route change point of the slip identification route along the original path (as shown by point b in FIG17 ), and steps 2031B to 2032B are entered to use the obstacle avoidance algorithm as the path planning method of the self-moving device. Referring to step D1, since the route change point of the slip identification route (i.e., the first route change point, as shown by point b in (a) of FIG17 ) is in an uncovered state of obstruction coverage, point b is used as the first target escape point; then, referring to step D2, the obstacle avoidance algorithm is used to perform path planning to obtain an obstacle avoidance path from the slip position point (i.e., point a) to the first target escape point (i.e., point b), as the second obstacle avoidance path (as shown by the dotted line in (a) of FIG17 ); in step 2041C, the self-mobile device is controlled to travel to the first target escape point (i.e., point b in FIG17 ) based on the second obstacle avoidance path.
[0180] For another example, as shown in (b) of FIG17 , it is assumed that the self-moving device slips at point a during operation (such as a lawn mowing robot during mowing operation); first, the self-moving device is controlled to go to the route change point of the slip identification route (i.e., the route change point of the operating route where the slip position point is located) along the original path; when there are multiple slips (e.g., the number of slips is 5 times greater than the preset slip threshold of 3 times), the route change point of the slip identification route along the original path is abandoned (as shown by point b in FIG17 ), and steps 2031B to 2032B are entered to use the obstacle avoidance algorithm as the path planning method of the self-moving device, and the method of referring to step D1 is used because the route change point of the slip identification route (i.e., the first route change point, as shown by point b in FIG17 (a)) ) is covered, so the second route change point on the original path that is closest to the slipping position point (such as point a in Figure 17 (b)) and is not covered by the newly added slipping area (such as point c in Figure 17 (b)) is used as the first target escape point; then, referring to step D2, the obstacle avoidance algorithm is used to perform path planning to obtain an obstacle avoidance path from the slipping position point (i.e., point a) to the first target escape point (i.e., point c), as the second obstacle avoidance path (as shown by the dotted line in Figure 17 (b)); in step 2041C, the self-moving device is controlled to travel to the first target escape point (such as point c in Figure 17 (a)) based on the second obstacle avoidance path, so as to control the self-moving device to avoid the slipping area from the slipping position point a and return to point c on the original path.
[0181] Thus, by controlling the mobile device to travel toward the first target escape point as in step 2041C above, the mobile device can be prevented from sinking deeper and deeper into the newly added slipping area and being trapped, thereby increasing the escape probability of the mobile device when it slips.
[0182] Furthermore, in order to improve the probability of the mobile device escaping after a collision, if the mobile device fails to reach the first target escape point using the second obstacle avoidance path, the mobile device will be controlled to continue driving toward the second target escape point to complete the process of escaping the mobile device. In this case, step 2041C also includes step 2042C:
[0183] 2042C. If the self-moving device fails to travel toward the first target escape point, control the self-moving device to continue traveling toward the second target escape point to complete the process of the self-moving device escaping the newly added slipping area.
[0184] It can be seen that by controlling the movement of the self-moving device in the manner of step 2042C above, the self-moving device can be controlled to give up going to the first target escape point and go to the next second target escape point where the escape process may be completed, thereby avoiding the self-moving device from sinking deeper and deeper in the newly added slipping area and becoming trapped, and improving the probability of the self-moving device escaping when slipping.
[0185] (3) The current obstruction type is tilt, and the obstruction identification point is the tilt position point. Specifically, it may include the following situations (4):
[0186] (4) Determine in step 2032C that a third obstacle avoidance path is obtained by using an obstacle avoidance algorithm for path planning, and use it as the target escape strategy for the self-moving device. In this case, step 204 may specifically include the following step 2041D:
[0187] 2041D. Control the autonomous moving device to travel based on the third obstacle avoidance path.
[0188] Specifically, in steps 2031C to 2032C, the obstacle avoidance algorithm is used as the path planning method for the self-moving device, and the first target escape point of the self-moving device is determined by step F1, and the obstacle avoidance algorithm is used for path planning in step F2 to obtain a third obstacle avoidance path as the target escape strategy for the self-moving device; in step 2041D, based on the third obstacle avoidance path, the self-moving device is controlled to move toward the first target escape point.
[0189] For example, as shown in (a) of FIG18 , assuming that the self-moving device tilts at point a during operation (such as a lawn mowing robot during mowing operation), the route change point of the tilt identification route (i.e., the route change point of the operating route where the tilt position point is located, as shown by point b in FIG18 ) is abandoned along the original path to avoid being trapped in a newly added tilt area (such as a convex slope or a pit) for a long time or rolling over, resulting in low operating efficiency, and the process goes to steps 2031C to 2032C to use the obstacle avoidance algorithm as the path planning method of the self-moving device, referring to step F1. The obstacle coverage status of the change point (i.e., the first route change point, as shown by point b in (a) of FIG18 ) is uncovered, so point b is used as the first target escape point; then, referring to step F2, the obstacle avoidance algorithm is used to perform path planning to obtain an obstacle avoidance path from the inclined position point (i.e., point a) to the first target escape point (i.e., point b), as the third obstacle avoidance path (as shown by the dotted line in (a) of FIG18 ); in step 2041D, the self-moving device is controlled to travel to the first target escape point (i.e., point b in (a) of FIG18 ) based on the third obstacle avoidance path, thereby increasing the probability of escape when the self-moving device is tilted.
[0190] For another example, as shown in (b) of FIG18 , assuming that the self-moving device tilts at point a during operation (such as a lawn mowing robot during mowing operation), the route change point of the tilt identification route (as shown by point b in FIG18 ) is abandoned along the original path to avoid being trapped in an abnormal angle area (such as a convex slope or a pit) for a long time or rolling over, which leads to low working efficiency, and steps 2031C to 2032C are entered to use the obstacle avoidance algorithm as the path planning method of the self-moving device. Referring to step F1, since the route change point of the tilt identification route (i.e., the first route change point, as shown by point b in FIG18 (a)) is in the blocked coverage state, the route change point on the original path that is in contact with the tilt position (as shown in FIG18 ) is changed to the route change point on the original path. 18 (b)) and is not covered by the newly added inclined area (such as point c in Figure 18 (b)) as the first target escape point; then, referring to step F2, the obstacle avoidance algorithm is used to perform path planning to obtain an obstacle avoidance path from the inclined position point (i.e., point a) to the first target escape point (i.e., point c), as the third obstacle avoidance path (as shown by the dotted line in Figure 18 (b)); in step 2041D, the self-moving device is controlled to travel to the first target escape point (such as point c in Figure 18 (a)) based on the third obstacle avoidance path, so as to control the self-moving device to avoid the inclined area from the inclined position point a and return to point c on the original path, thereby improving the escape probability of the self-moving device when it is tilted.
[0191] It can be seen that by controlling the self-moving device to move toward the first target escape point as in step 2041D above, it is possible to prevent the self-moving device from sinking deeper and deeper in the newly added inclined area and being trapped, thereby preventing the self-moving device from being trapped when moving in the direction of a convex slope or a pit, and increasing the probability of escape when the self-moving device is tilted.
[0192] Furthermore, in order to improve the probability of the mobile device escaping after a collision, if the mobile device fails to reach the first target escape point using the third obstacle avoidance path, the mobile device will be controlled to continue driving toward the second target escape point to complete the process of escaping the mobile device. In this case, step 2041D also includes step 2042D:
[0193] 2042D. If the self-moving device fails to travel toward the first target escape point, control the self-moving device to continue traveling toward the second target escape point to complete the process of the self-moving device escaping the newly added inclined area.
[0194] It can be seen that by controlling the movement of the self-moving device in the manner of step 2042D above, the self-moving device can be controlled to give up going to the first target escape point and go to the next second target escape point where the escape process may be completed, thereby avoiding the self-moving device from sinking deeper and deeper in the newly added inclined area and being trapped. This can avoid the self-moving device from being trapped when moving in the direction of a convex slope or a pit, and improve the probability of escape when the self-moving device is tilted.
[0195] For example, in step A21, step D1, and step F1, the first target escape point may be determined by referring to steps a1 to a3 below:
[0196] a1. Based on the newly added obstruction area, detect the obstruction coverage status of the first route change point of the mobile device.
[0197] Among them, the first route change point is the route change point of the obstruction identification route. The obstruction identification route includes the collision identification route (i.e., the operating route where the collision position point is located), the slip identification route (i.e., the operating route where the slip position point is located), and the tilt identification route (i.e., the operating route where the tilt position point is located). For example, when the self-moving device collides, the first route change point is the route change point of the collision identification route; as shown in (a) in Figure 8, since the operating route where the self-moving device is located when the obstacle collides is the operating route where the collision position point a is located (i.e., route 1), the collision identification route is route 1 and the first route change point is point A on route 1. For another example, as shown in (b) in 8, since the operating route where the self-moving device is located when the obstacle collides is the operating route where the collision position point b is located (i.e., route 1), the collision identification route is route 1 and the first route change point is point A on route 1. For another example, when the self-moving device slips, the first route change point is the route change point of the slip identification route. For another example, when the self-moving device tilts, the first route change point is the route change point of the tilt identification route.
[0198] The newly added obstruction area is one of a newly added obstacle area, a newly added slip area, and a newly added tilt area.
[0199] The obstruction coverage status is used to indicate whether the first route change point is covered by the newly added obstruction area and other obstacles.
[0200] For example, in step a1, an obstacle identification route is first determined; then, a route change point of the obstacle identification route is determined as a first route change point. Next, a check is performed to determine whether the first route change point is covered by the newly added obstacle area and by the marked obstacle area in the operation map. If the first route change point is covered by the newly added obstacle area or by the marked obstacle area in the operation map, the obstacle coverage status is covered. If the first route change point is not covered by the newly added obstacle area or by the marked obstacle area in the operation map, the obstacle coverage status of the first route change point is uncovered.
[0201] Taking the example of "the obstacle identification route is a collision identification route, the first route change point is a route change point of the collision identification route, the newly added obstacle area is a newly added obstacle area, and the obstacle coverage state is an obstacle coverage state," in step a1, first, the collision identification route is determined; then, the route change point of the collision identification route is determined as the first route change point. Next, a check is performed to determine whether the first route change point is covered by the newly added obstacle area and by the marked obstacle area in the operation map. If the first route change point is covered by the newly added obstacle area or by the marked obstacle area in the operation map, the obstacle coverage state is covered. If the first route change point is not covered by the newly added obstacle area or by the marked obstacle area in the operation map, the obstacle coverage state of the first route change point is uncovered.
[0202] For example, please refer to Figure 8. Take the original path as a "bow"-shaped path and "the route change point of each operating route is the preset end position of the operating route" as an example. As shown in (a) in Figure 8, assuming that the collision position point is point a and the newly added obstacle area is the hexagonal area shown in (a) in Figure 8, first, since the operating route where the self-mobile device is located when the obstacle collides is the operating route where the collision position point a is located (i.e., route 1), the collision identification route can be determined to be route 1. Then, the end position point of the preset route on the collision identification route (i.e., point A) can be used as the route change point of the collision identification route, as the first route change point. Finally, it can be detected that the obstacle coverage status of the first route change point is uncovered (i.e., the newly added obstacle area does not cover the first route change point A).
[0203] As shown in FIG8(b), assuming that the collision point is point b and the newly added obstacle area is the hexagonal area shown in FIG8(b), first, since the operating route on which the self-moving device was located when the obstacle collision occurred was the operating route located at the collision point b (i.e., route 1), the collision identification route can be determined to be route 1. Then, the end point of the preset route on the collision identification route (i.e., point A) can be used as the route change point of the collision identification route, as the first route change point. Finally, it can be detected that the obstacle coverage status of the first route change point is covered (i.e., the newly added obstacle area covers the first route change point A).
[0204] Among them, the specific implementation of "determining the route change point of the collision identification route" can refer to the above-mentioned method of determining the route change point of each operating route, which will not be repeated here.
[0205] a2. If the obstacle coverage status is uncovered, the first route change point is used as the first target escape point.
[0206] a3. If the obstruction coverage status is covered, determine a second route change point based on the obstruction coverage status to serve as the first target escape point.
[0207] The second route change point is a route change point on the original path that is closest to the obstacle identification point and is not covered by the newly added obstacle area.
[0208] Therefore, in steps a1 to a3, by detecting whether the obstruction coverage status of the first route change point (i.e., the route change point of the obstruction identification route where the self-mobile device is located) is covered based on the newly added obstruction area, and when the obstruction coverage status is uncovered, using the first route change point as the first target escape point can improve the escape probability of the self-mobile device and reduce the area of missed operation areas. When the obstruction coverage status is covered, using the second route change point as the first target escape point can improve the escape probability of the self-mobile device and avoid the problem of escape failure caused by directly controlling the self-mobile device to go to the first route change point (i.e., the route change point of the obstruction identification route where the self-mobile device is located), thereby improving overall operation efficiency.
[0209] Furthermore, in order to improve the probability of the self-moving device being able to escape, when the self-moving device fails to continue driving toward the second target escape point in step 2046A, when the self-moving device fails to continue driving toward the second target escape point in step 2042B, when the self-moving device fails to continue driving toward the second target escape point in step 2042C, or when the self-moving device fails to continue driving toward the second target escape point in step 2042D, the self-moving device can be controlled to travel with reference to the following steps b1 to b2. This allows the self-moving device to be directly switched to the next operating route to continue operating after repeatedly searching for the next target escape point but still failing to escape, thereby avoiding the problem of the self-moving device being trapped for a long time due to repeated searching for the next target escape point and failing to escape, thereby improving the self-moving device's escape probability and overall operating efficiency. Steps b1 to b2 are as follows:
[0210] b1. When the self-moving device fails to travel toward the second target escape point, detecting a route shape that obstructs the operation route.
[0211] The obstructing operation route is the operation route where the obstructing identification point is located.
[0212] b2. When the route shape is a circular route, control the self-moving device to skip the obstructing operation route and travel to the next operation route of the obstructing operation route to complete the process of the self-moving device escaping the newly added obstruction area.
[0213] For example, referring to FIG. 19 , when the control of the self-mobile device to continue driving toward the second target escape point fails in step 2042B (e.g., the second target escape point cannot be reached or the navigation signal is lost), if the collision identification route is a circular operation route, the self-mobile device is controlled to abandon the current collision identification route and proceed to the next operation route. Steps b1 to b2 are specifically implemented by steps f1 to f2:
[0214] f1. When the self-moving device fails to move toward the second target escape point, detecting the shape of the collision identification route.
[0215] f2. When the collision identification route is a circular operation route, control the self-moving device to skip the remaining operation points of the collision identification route and travel to the next operation route of the collision identification route to complete the self-moving device's escape process from the newly added obstacle area.
[0216] For example, as shown in Figure 15, taking the original path of the self-moving device as a "U"-shaped path (such as a rectangular path), assuming that the self-moving device fails in the process of traveling from the obstacle-avoiding stop point to the second target escape point according to the obstacle avoidance algorithm (such as at point a in Figure 15), since the route shape of the collision identification route (such as route 2 as shown in Figure 15) is a U-shaped operation route (i.e., a rectangular path), it is possible to directly skip the remaining operation points of the collision identification route (such as route 2 as shown in Figure 15) and travel to the designated position point (such as the starting point or end point of the route) of the next operation route of the collision identification route (route 3 as shown in Figure 15), or directly skip the remaining operation points of the collision identification route and travel to the position point in the next operation route of the collision identification route that is closest to the current position of the self-moving device (such as point b in route 3 as shown in Figure 15).
[0217] For another example, taking the original path of the self-moving device as a "U"-shaped path (such as a circular path), assuming that the self-moving device fails in the process of traveling from the obstacle-avoiding stop point to the second target escape point according to the obstacle avoidance algorithm (such as at point c in Figure 15), since the route shape of the collision identification route (such as route 4 as shown in Figure 15) is a U-shaped operation route (i.e., a circular path), it is possible to directly skip the remaining operation points of the collision identification route (such as route 4 as shown in Figure 15) and travel to the designated position point (such as the starting point or end point of the route) of the next operation route of the collision identification route (such as route 5 as shown in Figure 15), or directly skip the remaining operation points of the collision identification route and travel to the position point in the next operation route of the collision identification route that is closest to the current position of the self-moving device (such as point d in route 5 as shown in Figure 15).
[0218] By analogy, when in step 2046A, "based on the fourth obstacle avoidance path, controlling the self-moving device to continue traveling from the obstacle avoidance stopping point toward the second target escape point" fails, the route shape of the collision identification route can be detected; when the route shape of the collision identification route is a circular operation route, the self-moving device is controlled to skip the remaining operation points of the collision identification route and travel to the next operation route of the collision identification route.
[0219] By analogy, when "controlling the self-moving device to continue traveling toward the second target escape point" fails in step 2042C, the route shape of the slip identification route can be detected; when the route shape of the slip identification route is a circular operation route, the self-moving device is controlled to skip the remaining operation points of the slip identification route and travel to the next operation route of the slip identification route.
[0220] By analogy, when "controlling the self-moving device to continue traveling toward the second target escape point" fails in step 2042D, the route shape of the tilt identification route can be detected; when the route shape of the tilt identification route is a circular operation route, the self-moving device is controlled to skip the remaining operation points of the tilt identification route and travel to the next operation route of the tilt identification route.
[0221] To better understand the self-moving device control method provided in the embodiment of the present application, the self-moving device control process in the embodiment of the present application is shown in FIG19 . The self-moving device control process includes the following steps s1 to s9, where:
[0222] s1. The mobile device executes the original path normally (see the "Executing the Operation Path" section in Figure 19)
[0223] s2. An obstacle is detected during the execution of the original path. When the self-moving device collides with an obstacle, the process jumps to s3 (see "Whether Obstacle Avoidance Conditions Are Met" in Figure 19). If the self-moving device slips or tilts, the process jumps to s9. For detailed implementation, please refer to steps 2041C to 2042C and steps 2041D to 2042D.
[0224] s3. Check whether the obstacle avoidance conditions are met. The specific process is to determine whether the obstacle identification point (i.e., the collision location point) and all known obstacle areas in the operation map are greater than or equal to the first preset distance threshold. (See the "Whether the Obstacle Avoidance Conditions Are Met" section in Figure 19)
[0225] s4. If the obstacle avoidance conditions are met, the obstacle avoidance algorithm is used. For detailed implementation, please refer to steps 2041A to 2046A. (See the "Obstacle Avoidance Algorithm" section in Figure 19.)
[0226] If the obstacle is successfully circumvented, the process jumps to s9 and continues to the first target escape point. The detailed implementation process can be found in steps 2041A to 2044A (see the "Execute Current Operation Point" section in Figure 19). If the obstacle is successfully circumvented and the first target escape point is successfully reached, the process jumps to s5. Otherwise, if the obstacle is successfully circumvented and the first target escape point is unsuccessful, the process jumps to s6 to find the next route change point for escape.
[0227] If the obstacle avoidance fails, jump to s6 to go to the second target escape point. For the detailed implementation process, please refer to steps 2042A~2043A and steps 2045A~2046A (refer to "Jump to the next work point" in Figure 19); if the obstacle avoidance fails and the second target escape point also fails, jump to s7.
[0228] s5. Continue to execute the original path. (Refer to "Continue the operation path" in Figure 19)
[0229] s6. Go to the next route change point. (For example, go to the second target escape point, refer to "Jump to the next operation point" in Figure 19)
[0230] s7. Detect the shape of the obstacle identification route (see "Is the current path an arcuate path?" in Figure 19). If the path is an arcuate path, jump to s6 to find the next path change point for escape. Otherwise, if the path is a circular path, jump to s8. For detailed implementation, refer to steps b1 and b2.
[0231] S8: Control the self-moving device to skip the remaining operating points of the obstacle identification route and move to the next operating route of the obstacle identification route (see "Skip the current remaining full circle path" in Figure 19). If skipping the remaining operating points of the obstacle identification route fails, jump to S6 to find the next route change point for escape. If skipping the remaining operating points of the obstacle identification route succeeds, jump to S5.
[0232] s9. Go to the first target escape point (see "Execute Current Operation Point" in Figure 19). If the first target escape point is successfully reached, jump to s5; otherwise, if the first target escape point fails, jump to s6 to find the next route change point for escape.
[0233] As can be seen from the above, in this embodiment, firstly, by determining the target escape strategy of the self-moving device based on the current obstacle type of the self-moving device and the distance between the obstacle identification point of the self-moving device and the known obstacle area, the escape strategy is used to control the movement of the self-moving device. Therefore, the escape strategy that avoids the obstacle is flexibly selected according to the actual scenario, thereby increasing the escape probability of the self-moving device, so that the self-moving device can leave the obstacle as quickly as possible, thereby improving the overall operation efficiency of the self-moving device. Secondly, since the target escape strategy is determined based on the current obstacle type of the self-moving device, the problem of the self-moving device being trapped for a long time due to the use of a unified escape strategy for different obstacle types can be avoided (for example, if the obstacle avoidance algorithm is uniformly used to control the movement of the self-moving device when an obstacle collision occurs and when a tilt occurs, then the obstacle avoidance algorithm is used to control the self-moving device to continue to move when a tilt occurs, which may cause the self-moving device to roll over, etc.; by using the obstacle avoidance algorithm when an obstacle collision occurs and the obstacle avoidance algorithm to control the self-moving device to continue to move when a tilt occurs, the problem of the self-moving device being trapped for a long time can be avoided), thereby improving the overall operation efficiency to a certain extent. Thirdly, since the target escape strategy of the self-moving device is determined based on the distance between the obstruction identification point of the self-moving device and the known obstruction area, when the distance between the obstruction identification point of the self-moving device and the known obstruction area is large, the self-moving device can travel between the obstruction identification point and the known obstruction area to reduce the area of the missed operation area; when the distance between the obstruction identification point of the self-moving device and the known obstruction area is small, the self-moving device can avoid the obstruction identification point and the known obstruction area at the same time to avoid the problem of the self-moving device being unable to pass between the obstruction identification point and the known obstruction area, resulting in the self-moving device being trapped for a long time. Therefore, the embodiment of the present application can avoid obstacles while ensuring that the area of the missed operation area is reduced and the overall operation efficiency is improved.
[0234] Those skilled in the art will appreciate that all or part of the steps in the above-mentioned method for controlling a mobile device may be accomplished through instructions, or through instruction-controlled related hardware. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0235] To this end, an embodiment of the present application provides a computer-readable storage medium storing a plurality of computer programs, which can be loaded by a processor to execute any of the self-mobile device control methods provided in the embodiments of the present application. For example, the computer program can be loaded by a processor to implement the following steps:
[0236] When a self-moving device identifies an obstacle, the current obstacle type of the self-moving device is obtained; the distance between the obstacle identification point of the self-moving device and a known obstacle area is obtained; based on the current obstacle type and the distance, a target escape strategy for the self-moving device is determined; and based on the target escape strategy, the self-moving device is controlled to travel.
[0237] The computer-readable storage medium may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0238] In the above-described self-moving device control method, computer-readable storage medium, and self-moving device embodiments, the descriptions of each embodiment have different focuses. For portions not described in detail in a particular embodiment, reference can be made to the relevant descriptions of other embodiments. Those skilled in the art will clearly understand that for ease and brevity of description, the specific operating processes and beneficial effects of the computer-readable storage medium, self-moving device, and its corresponding units described above can be referred to in the description of the self-moving device control method in the above embodiments, and the details will not be repeated here.
[0239] The above is a detailed introduction to a self-mobile device control method, a self-mobile device and a computer-readable storage medium provided in the embodiments of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, based on the ideas of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A method for controlling a self - moving device, wherein, The method comprises: When the mobile device identifies an obstacle, obtaining the current obstacle type of the mobile device; Obtaining the distance between the obstruction identification point of the self-mobile device and the known obstruction area; Determining a target escape strategy for the self-moving device based on the current obstacle type and the distance; Based on the target escape strategy, the self-moving device is controlled to travel.
2. The self-moving device control method according to claim 1, wherein The obstacle identification point is a collision location point, and determining a target escape strategy for the self-moving device based on the current obstacle type and the distance includes: If the current obstacle type is an obstacle collision, determining a path planning method for the mobile device based on the distance; Based on the path planning method, a target escape strategy for the self-moving device is determined.
3. The self-moving device control method according to claim 2, wherein, The method of determining the path planning of the mobile device based on the distance includes: If the distance is greater than or equal to a first preset distance threshold, then using an obstacle avoidance algorithm as a path planning method for the mobile device; Alternatively, if the distance is less than a first preset distance threshold, an obstacle avoidance algorithm is used as a path planning method for the mobile device.
4. The self-moving device control method according to claim 3, wherein, The path planning method is an obstacle avoidance algorithm, and the target escape strategy of the self-moving device is determined based on the path planning method, including: Using the obstacle avoidance algorithm as a target escape strategy for the self-moving device; The controlling the self-propelled device to travel based on the target escape strategy includes: Based on the obstacle avoidance algorithm, the self-moving device is controlled to avoid obstacles until it reaches an obstacle avoidance stop point that meets preset obstacle avoidance stop conditions.
5. The self-moving device control method according to claim 4, wherein, The method further comprises: Expanding the collision location point to obtain a newly added obstacle area; Determining a first target escape point for the self-moving device based on the newly added obstacle area; If the obstacle avoidance stopping point is on the route of the first target escape point, the self-moving device is controlled to continue driving based on the obstacle situation between the obstacle avoidance stopping point and the first target escape point to complete the escape process of the self-moving device from the newly added obstacle area.
6. The self-moving device control method according to claim 5, wherein, The method further comprises: If the obstacle avoidance stopping point is not on the route of the first target escape point, generating a fourth obstacle avoidance path from the obstacle avoidance stopping point to the second target escape point according to an obstacle avoidance algorithm; Based on the fourth obstacle avoidance path, the self-moving device is controlled to continue traveling from the obstacle avoidance stopping point toward the second target escape point to complete the escape process of the self-moving device from the newly added obstacle area, wherein the second target escape point is the route change point of the next operating route of the route where the first target escape point is located.
7. The self-moving device control method according to claim 5, wherein, The step of controlling the self-moving device to continue traveling based on the obstacle situation between the obstacle avoidance stop point and the first target escape point, so as to complete the process of the self-moving device escaping the newly added obstacle area, includes: If there are other obstacle areas between the obstacle avoidance stopping point and the first target escape point, and the distance between the other obstacle areas and the newly added obstacle areas is greater than or equal to a fourth preset distance threshold, then according to the obstacle avoidance algorithm, the self-moving device is controlled to continue driving towards the other obstacle areas to complete the escape process of the self-moving device from the newly added obstacle area.
8. The self-moving device control method according to claim 5, wherein, The step of controlling the self-moving device to continue traveling based on the obstacle situation between the obstacle avoidance stop point and the first target escape point, so as to complete the process of the self-moving device escaping the newly added obstacle area, includes: If there are other obstacle areas between the obstacle avoidance stopping point and the first target escape point, and the distance between the other obstacle areas and the newly added obstacle area is less than a fourth preset distance threshold, the self-moving device is controlled to avoid the other obstacle areas according to the obstacle avoidance algorithm, and continues to travel from the obstacle avoidance stopping point toward the first target escape point to complete the process of the self-moving device escaping the newly added obstacle area.
9. The self - moving device control method according to claim 3, wherein, The path planning method is an obstacle avoidance algorithm, and the target escape strategy of the self-moving device is determined based on the path planning method, including: Determining a first target obstacle avoidance area for the self-moving device based on the known obstruction area and the collision location point; Based on the first target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a first obstacle avoidance path as a target escape strategy for the self-moving device; The controlling the self-propelled device to travel based on the target escape strategy includes: The self-moving device is controlled to travel based on the first obstacle avoidance path.
10. The self-moving device control method according to claim 9, wherein, The determining, based on the known obstruction area and the collision location, a first target obstacle avoidance area of the self-moving device includes: Acquiring detection data from the mobile device, wherein the detection data includes at least one of visual data and sensor detection data; Expanding the collision location based on the detection data to obtain a newly added obstacle area; The first target obstacle avoidance area is obtained based on the newly added obstacle area and the known obstruction area.
11. The self-moving device control method according to claim 10, wherein, The method of using an obstacle avoidance algorithm to perform path planning based on the first target obstacle avoidance area to obtain a first obstacle avoidance path as a target escape strategy for the self-moving device includes: Determining a first target escape point for the self-moving device based on the newly added obstacle area; Based on the first target escape point and the first target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a first obstacle avoidance path as a target escape strategy for the self-moving device; The controlling the self-moving device to travel based on the first obstacle avoidance path includes: Based on the first obstacle avoidance path, the self-moving device is controlled to travel toward the first target escape point.
12. The self-moving device control method according to claim 11, wherein, The method further comprises: If the self-moving device fails to travel toward the first target escape point, the self-moving device is controlled to continue traveling toward the second target escape point to complete the escape process of the self-moving device from the newly added obstacle area.
13. The self-moving device control method according to claim 1, wherein, The obstacle identification point is a slipping location point, and determining a target escape strategy for the self-moving device based on the current obstacle type and the distance includes: If the current obstacle type is skidding, determining a second target obstacle avoidance area of the self-moving device based on the distance; Based on the second target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a second obstacle avoidance path as a target escape strategy for the self-moving device; The controlling the self-propelled device to travel based on the target escape strategy includes: The self-moving device is controlled to travel based on the second obstacle avoidance path.
14. The self-moving device control method according to claim 13, wherein, The determining of a second target obstacle avoidance area of the mobile device based on the distance includes: If the distance is less than a second preset distance threshold, determining a second target obstacle avoidance area for the self-moving device based on the known obstruction area and the slip location point; Alternatively, if the distance is greater than or equal to a second preset distance threshold, a second target obstacle avoidance area of the self-moving device is determined based on the slipping location point.
15. The self-moving device control method according to claim 14, wherein, The determining, based on the slipping position point, a second target obstacle avoidance area of the self-moving device includes: Acquiring detection data from the mobile device, wherein the detection data includes at least one of visual data and sensor data; The slipping position point is expanded based on the detection data to obtain a newly added slipping area as the second target obstacle avoidance area.
16. The self-moving device control method according to claim 15, wherein, The method of using an obstacle avoidance algorithm to perform path planning based on the second target obstacle avoidance area to obtain a second obstacle avoidance path as a target escape strategy for the self-moving device includes: Determining a first target escape point for the self-moving device based on the newly added slip area; Based on the second target obstacle avoidance area and the first target escape point, an obstacle avoidance algorithm is used to perform path planning to obtain a second obstacle avoidance path as a target escape strategy for the self-moving device; The controlling the self-moving device to travel based on the second obstacle avoidance path includes: Based on the second obstacle avoidance path, the self-moving device is controlled to travel toward the first target escape point.
17. The self-mobile device control method according to claim 16, wherein, The method further comprises: If the self-moving device fails to travel toward the first target escape point, the self-moving device is controlled to continue traveling toward the second target escape point to complete the escape process of the self-moving device from the newly added slip area.
18. The self-moving device control method according to claim 1, wherein, The obstacle identification point is a tilted position point, and determining a target escape strategy for the self-moving device based on the current obstacle type and the distance includes: If the current obstacle type is tilt, determining a third target obstacle avoidance area for the mobile device based on the distance; Based on the third target obstacle avoidance area, an obstacle avoidance algorithm is used to perform path planning to obtain a third obstacle avoidance path as a target escape strategy for the self-moving device; The controlling the self-propelled device to travel based on the target escape strategy includes: The self-moving device is controlled to travel based on the third obstacle avoidance path.
19. The self-moving device control method according to claim 18, wherein, The determining of a third target obstacle avoidance area of the mobile device based on the distance includes: If the distance is less than a third preset distance threshold, determining a third target obstacle avoidance area for the self-moving device based on the known obstruction area and the tilt position point; Alternatively, if the distance is greater than or equal to a third preset distance threshold, a third target obstacle avoidance area of the self-moving device is determined based on the tilt position point.
20. The self - moving device control method according to claim 19, wherein, The determining, based on the tilt position point, a third target obstacle avoidance area of the self-moving device includes: Acquiring detection data from the mobile device, wherein the detection data includes at least one of visual data and sensor data; The tilted position point is expanded based on the detection data to obtain a newly added tilted area as the third target obstacle avoidance area.
21. The self-moving device control method according to claim 20, wherein, The method of using an obstacle avoidance algorithm to perform path planning based on the third target obstacle avoidance area to obtain a third obstacle avoidance path as a target escape strategy for the self-moving device includes: Determining a first target escape point for the self-moving device based on the newly added tilted area; Based on the third target obstacle avoidance area and the first target escape point, an obstacle avoidance algorithm is used to perform path planning to obtain a third obstacle avoidance path as a target escape strategy for the self-moving device; The controlling the self-moving device to travel based on the third obstacle avoidance path includes: Based on the third obstacle avoidance path, the self-moving device is controlled to travel toward the first target escape point.
22. The self - moving device control method according to claim 21, wherein, The method further comprises: If the self-moving device fails to travel toward the first target escape point, the self-moving device is controlled to continue traveling toward the second target escape point to complete the escape process of the self-moving device from the newly added inclined area.
23. The self - moving device control method according to claim 5, 11, 16 or 21, wherein, Determining a first target escape point of the self-moving device includes: detecting an obstruction coverage status of a first route change point of the self-moving device based on the newly added obstruction area, wherein the first route change point is a route change point that obstructs the identified route, and wherein the newly added obstruction area is one of a newly added obstacle area, a newly added slip area, and a newly added tilt area; If the obstacle coverage state is uncovered, the first route change point is used as the first target escape point.
24. The self - moving device control method according to claim 23, wherein, The method further comprises: If the obstacle coverage status is covered, a second route change point is determined based on the obstacle coverage status as the first target escape point, wherein the second route change point is the route change point on the original path that is closest to the obstacle identification point and is not covered by the newly added obstacle area.
25. The self - moving device control method according to any one of claims 6, 12, 17 or 22, wherein, The method further comprises: When the self-moving device fails to travel toward the second target escape point, detecting a route shape of an obstruction operation route, wherein the obstruction operation route is the operation route where the obstruction identification point is located; When the route shape is a circular route, the self-moving device is controlled to skip the obstructing operation route and travel to the next operation route of the obstructing operation route to complete the process of the self-moving device escaping the newly added obstruction area.
26. A self - moving device, wherein, The device comprises a processor and a memory, wherein a computer program is stored in the memory, and when the processor calls the computer program in the memory, the method for controlling a self-moving device as claimed in any one of claims 1 to 25 is executed.
27. A computer-readable storage medium, wherein, A computer program is stored thereon, and the computer program is loaded by a processor to execute the self-moving device control method according to any one of claims 1 to 25.
Citation Information
Patent Citations
Method and device for bypassing object, medium and electronic equipment
CN112327847A
Obstacle classification and obstacle avoidance control system based on TOF camera
CN112415998A
Obstacle avoidance control method and device, electronic equipment and computer readable storage medium
CN116225023A
Robot control method and device, robot and storage medium
CN116551663A
Self-moving device control method, self-moving device and storage medium
CN118092427A