Autonomous robot and path planning method

By integrating sensors and processors in autonomous robots, collecting environmental information and recording steering positions, and generating escape paths, the problem of autonomous robots being easily trapped in the work area is solved, and efficient workflow and improved user experience are achieved.

WO2025056061A1PCT designated stage expired Publication Date: 2025-03-20POSITEC POWER TOOLS (SUZHOU) CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/119120
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-13
Filing Date
2024-09-14
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

Existing autonomous robots are easily trapped in the work area, resulting in inefficiency and poor user experience.

Method used

By integrating sensors and processors in the autonomous robot, collecting environmental information and recording the steering position, when multiple steering conditions are detected, a escape path is generated, and the robot is controlled to move away from the steering position to escape.

Benefits of technology

It effectively improves the work efficiency of autonomous robots, reduces trapped situations, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024119120_20032025_PF_FP_ABST
    Figure CN2024119120_20032025_PF_FP_ABST
Patent Text Reader

Abstract

An autonomous robot and a path planning method. The autonomous robot comprises a sensor (3) configured to acquire environmental information; a memory (4) configured to store a map of a working area around the current position of the autonomous robot; and a processor (2) in signal connection with the sensor (3) and the memory (4) and configured to: on the basis of the environment information, determine that the autonomous robot has encountered an obstacle, wherein the obstacle comprises a non-working object; in response to the autonomous robot having encountered the obstacle, control the autonomous robot to steer; record the position of the autonomous robot in the map during steering, the position being the steering position; and in response to detecting that the autonomous robot steers for multiple times in the limited time or area, control the autonomous robot to move in a direction moving away from an area formed by the plurality of steering positions so as to escape. The autonomous robot can be helped to smoothly escape from an entrapment area.
Need to check novelty before this filing date? Find Prior Art

Description

An autonomous robot and path planning method Technical Field

[0001] The present disclosure relates to the field of automation control technology, and in particular to an autonomous robot and a path planning method. Background Art

[0002] With the gradual popularization of intelligent devices in daily life, autonomous devices (such as automatic lawn mowers for garden repairs and sweeping robots for home floor cleaning) are also popular among users.

[0003] Autonomous devices typically move and / or operate within a work area. For example, an autonomous lawn mower can drive across a user's lawn and perform cutting operations, significantly reducing labor costs.

[0004] Summary of the Invention

[0005] The purpose of the present invention is to provide an autonomous robot and a path planning method, which can help the autonomous robot successfully escape from the trapped area, and then facilitate it to complete the mowing work in the remaining areas, effectively improving the working efficiency of the autonomous robot and improving the user-friendliness of the autonomous robot.

[0006] According to a first aspect of an embodiment of the present disclosure, there is provided an autonomous robot, comprising:

[0007] Sensors, configured to collect environmental information;

[0008] a memory configured to store a map of a working area surrounding a current position of the autonomous robot;

[0009] A processor is connected to the sensor and the memory signal, and the processor is configured to:

[0010] determining, based on the environmental information, that the autonomous robot encounters an obstacle, wherein the obstacle includes a non-working object;

[0011] In response to the autonomous robot encountering an obstacle, controlling the autonomous robot to turn;

[0012] Recording the position of the autonomous robot in the map when it turns, where the position is the turning position;

[0013] In response to detecting that the autonomous robot has made multiple turns within a limited time or area, the autonomous robot is controlled to move in a direction away from an area formed by the multiple turning positions to escape; the multiple turning positions correspond to the multiple turns.

[0014] In one embodiment of the present application, in order to detect that a vehicle makes multiple turns within a limited time or area, the processor is configured to:

[0015] It is detected that a distribution density of the plurality of turning positions is greater than a preset threshold.

[0016] In one embodiment of the present application, in order to detect that the distribution density of the plurality of turning positions is greater than a preset threshold, the processor is configured to:

[0017] It is detected that the area of ​​the region formed by N consecutive turning positions is smaller than a first preset threshold, or that a sudden change occurs and is smaller than the area of ​​the region formed by other N consecutive turning positions; wherein N is greater than or equal to 3.

[0018] In one embodiment of the present application, in order to detect that the distribution density of the plurality of turning positions is greater than a preset threshold, the processor is configured to:

[0019] It is detected that the distance between N consecutive turning positions is less than a second preset threshold; wherein N is greater than or equal to 3.

[0020] In one embodiment of the present application, the processor is further configured to:

[0021] The time when the autonomous robot turns or the sequence of the multiple turning positions is recorded.

[0022] In one embodiment of the present application, in order to control the autonomous robot to move in a direction away from the area formed by the multiple turning positions to escape, the processor is configured to:

[0023] generating an escape path based on a current position of the autonomous robot and a target turning position prior to the plurality of turning positions;

[0024] The autonomous robot is controlled to move along the escape path.

[0025] In one embodiment of the present application, in order to generate an escape path based on the current position of the autonomous robot and the target turning positions before the plurality of turning positions, the processor is configured to:

[0026] When the current position is reached, in response to detecting that the area formed by the N consecutive turning positions is smaller than the area formed by the other N consecutive turning positions, obtaining the turning position recorded first in the detected area with the larger area as the target turning position;

[0027] An escape path is generated based on the current position and the target turning position.

[0028] In one embodiment of the present application, in order to generate an escape path based on the current position of the autonomous robot and the target turning positions before the plurality of turning positions, the processor is configured to:

[0029] When the current position is reached, in response to detecting that the area formed by N consecutive turning positions is larger than a third preset threshold, obtaining the turning position previously recorded in the detected area as the target turning position;

[0030] An escape path is generated based on the current position and the target turning position.

[0031] In one embodiment of the present application, the processor is further configured to:

[0032] The processor is configured to record a movement path of the autonomous robot as it moves.

[0033] In one embodiment of the present application, in order to generate an escape path based on the current position of the autonomous robot and the turning positions before the plurality of turning positions, the processor is configured to:

[0034] The shortest path in the moving path passing through the current position and the target turning position is obtained, and the shortest path is used as an escape path.

[0035] In one embodiment of the present application, in order to control the autonomous robot to move along the escape path, the processor is configured to:

[0036] During the process of controlling the autonomous robot to move along the escape path, if no obstacle is identified through the real-time collected sensor data within a preset time period, the escape is successful.

[0037] In one embodiment of the present application, the processor is further configured to:

[0038] In response to the autonomous robot successfully escaping, setting an area including the multiple turning positions as a restricted area on the map;

[0039] When it is detected that the autonomous robot reaches the restricted area, it is controlled to turn or move along the boundary of the restricted area.

[0040] In one embodiment of the present application, the processor is further configured to:

[0041] In response to the autonomous robot failing to escape, controlling the autonomous robot to move along the boundary of the obstacle;

[0042] During the movement, an obstacle-free area is identified through the collected sensor data, and the autonomous robot is controlled to move to the obstacle-free area to help the autonomous robot escape; wherein, the obstacle-free area is a spatial area where the distance between obstacles is not less than the body width of the autonomous robot.

[0043] In one embodiment of the present application, the processor is further configured to:

[0044] In response to the autonomous robot failing to escape, controlling the autonomous robot to move along the boundary of the obstacle;

[0045] When the collected sensor data during the movement identifies that the robot has moved to the vicinity of the target turning position, it is determined that the autonomous robot has successfully escaped.

[0046] In one embodiment of the present application, the processor is further configured to:

[0047] In response to the autonomous robot successfully escaping from the obstacle, the autonomous robot is controlled to enter a random mode; in the random mode, the autonomous robot randomly moves in a direction until the obstacle is identified.

[0048] In one embodiment of the present application, the sensor includes at least one of the following: an imaging sensor, an ultrasonic sensor, a laser sensor, and a radar sensor.

[0049] In one embodiment of the present application, the map is updated periodically.

[0050] According to a second aspect of an embodiment of the present disclosure, a path planning method is provided, the method being applied to an autonomous robot, the method comprising:

[0051] determining, based on environmental information, that the autonomous robot encounters an obstacle, wherein the obstacle includes a non-working object;

[0052] In response to the autonomous robot encountering an obstacle, controlling the autonomous robot to turn;

[0053] Recording the position of the autonomous robot in the map when it turns, where the position is the turning position;

[0054] In response to detecting that the autonomous robot has made multiple turns within a limited time or area, the autonomous robot is controlled to move in a direction away from an area formed by the multiple turning positions to escape; the multiple turning positions correspond to the multiple turns.

[0055] According to a third aspect of an embodiment of the present disclosure, there is provided a control method for a self-moving robot, comprising:

[0056] executing a steering strategy based on the identified non-grass objects;

[0057] In response to the self-propelled robot satisfying an escape condition when executing the steering strategy, executing the escape strategy;

[0058] The escape strategies include:

[0059] Obtaining a moving path of the mobile robot to the current position;

[0060] Controlling the self-moving robot to retreat along the moving path, and acquiring environmental information around the self-moving robot in real time;

[0061] Based on the environmental information, it is determined whether there is a passable path that can be turned and passed, so that the self-moving robot can escape from the current turning trapped area.

[0062] As a further improvement of the present disclosure, the control method further includes marking a steering position when executing the steering strategy based on the identified non-grass object;

[0063] The escape strategies include:

[0064] Obtaining the turning position that is adjacent to the current position in time;

[0065] Obtaining a moving path of the self-moving robot from the turning position to the current position;

[0066] The self-moving robot is controlled to retreat along the moving path to the turning position, and the posture of the robot is adjusted at the turning position so that the self-moving robot avoids the turning trapped position and continues to operate.

[0067] As a further improvement of the present disclosure, the escape condition at least includes that the self-moving robot is trapped when executing the turning strategy or that the self-moving robot executes the turning strategy multiple times in a row in the current area.

[0068] According to a fourth aspect of an embodiment of the present disclosure, there is provided a self-propelled robot for automatically walking and working in a working area, comprising:

[0069] body;

[0070] A controller, disposed on the body;

[0071] The controller is used to:

[0072] controlling the self-propelled robot to execute a steering strategy based on the identified non-grass object;

[0073] In response to the self-propelled robot satisfying an escape condition when executing a steering strategy, controlling the self-propelled robot to execute an escape strategy;

[0074] The escape strategies include:

[0075] Obtain the movement path of the self-moving robot to the current position; control the self-moving robot to retreat along the movement path, and obtain the environmental information around the self-moving robot in real time; based on the environmental information, determine whether there is a passable path that can be turned and passed, so that the self-moving robot can escape from the current turning trapped area.

[0076] Compared with the prior art: In the present disclosure, the autonomous robot is determined to have encountered an obstacle based on environmental information; in response to the autonomous robot encountering an obstacle, the autonomous robot is controlled to turn; the turning position of the autonomous robot when turning is recorded in the map; in response to detecting that it has made multiple turns within a limited time or area, the autonomous robot is controlled to move in a direction away from the area formed by the multiple turning positions to escape. The robot's turning position is used to find the direction of escape, rather than random collisions or direct return to the original path, thereby improving the robot's work efficiency. This can help the autonomous robot successfully escape from the trapped area, and then facilitate it to complete the mowing work in the remaining area, effectively improving the work efficiency of the autonomous robot and making it more user-friendly.

[0077] The control method provided by the present disclosure, by controlling the self-moving robot to call historical trajectories in combination with the collection of environmental information, can enable the self-moving robot to quickly exit the current area along the moving path, and turn and drive away from the current area after leaving the area, so as to avoid mistakenly entering the trapped area again, thereby further improving the efficiency of the self-moving robot in escaping from trouble.

[0078] In order to overcome the defects of the prior art, the problem to be solved by the embodiments of the present disclosure is to improve work efficiency.

[0079] In one embodiment, a control method is provided, which is applied to a self-moving device, wherein the self-moving device is configured to move and / or work in a working area, and the self-moving device is provided with a sensing module, and is characterized in that the control method comprises: controlling the self-moving device to move in the working area; acquiring the sensing information based on the sensing module; and executing an escape step to control the self-moving device to leave the dilemma area when it is determined based on the sensing information that the self-moving device meets a dilemma condition; wherein the dilemma area is an area that limits the moving range of the self-moving device, and the dilemma area has at least one dilemma object, and the dilemma object includes a dilemma obstacle and / or a dilemma boundary.

[0080] In one embodiment, the dilemma condition includes: maintaining a target position relationship between the self-moving device and the non-grass object, a target angle greater than a first threshold, and a spatial parameter corresponding to the target trajectory less than a second threshold; or maintaining a target position relationship between the self-moving device and the non-grass object, a target angle greater than a first threshold, and a target duration less than a third threshold; wherein the target position relationship is that the non-grass object is located on the first side of the self-moving device, the target angle is the cumulative turning angle of the self-moving device in the process of maintaining the target position relationship, the target trajectory is the moving trajectory of the self-moving device in the process of maintaining the target position relationship, and the target duration is the cumulative duration of maintaining the target position relationship.

[0081] In one embodiment, executing an escape step to control the self-moving device to leave the predicament area includes: obtaining a real-time image when the self-moving device meets the predicament condition and a first preset condition, and controlling the self-moving device to leave the predicament area according to the real-time image.

[0082] In one embodiment, the first preset condition includes: a maximum side length of a target polygon is less than a fourth threshold; wherein the target polygon is a circumscribed polygon of the target trajectory.

[0083] In one embodiment, acquiring a real-time image and controlling the self-moving device to leave the dilemma area based on the real-time image includes: acquiring the real-time image; determining a first opening based on the real-time image, the first opening corresponding to a grass area between adjacent dilemma objects; and controlling the self-moving device to move toward the first opening and pass through the first opening based on the real-time image to leave the dilemma area.

[0084] In one embodiment, determining the first opening based on the real-time image includes: converting the real-time image into a grid image, the grid image including a grass grid and a non-grass grid, the grass grid representing a grass object, and the non-grass grid representing a non-grass object; and determining the first opening in the grid image based on the relative positional relationship between the grass grid and the non-grass grid.

[0085] In one embodiment, controlling the self-moving device to move toward the first opening and through the first opening includes: determining a target direction based on the first opening in the grid image; controlling the self-moving device to move toward the target direction to control the self-moving device to move to the first opening; and controlling the self-moving device to move forward to pass through the first opening.

[0086] In one embodiment, the control method further includes: when the movement information satisfies the first preset condition, obtaining a first map, and controlling the self-moving device to avoid obstacles based on the first map.

[0087] In one embodiment, the first map is updated periodically.

[0088] In one embodiment, executing the escape step to control the self-moving device to leave the predicament area includes: controlling the self-moving device to retreat and turn when the self-moving device meets a third preset condition, and the third preset condition includes the self-moving device continuously turning in the opposite direction multiple times.

[0089] In one embodiment, executing an escape step to control the self-moving device to leave the dilemma area includes: when the self-moving device satisfies the dilemma condition and does not satisfy the first preset condition, obtaining a second map, and controlling the self-moving device to leave the dilemma area according to the second map; wherein, satisfying the first preset condition indicates that the self-moving device is located in a first dilemma area, and not satisfying the first preset condition indicates that the self-moving device is located in a second dilemma area, a dilemma area parameter of the first dilemma area is smaller than a dilemma area parameter of the second dilemma area, and the dilemma area parameter indicates at least one of the area, length and width of the dilemma area.

[0090] In one embodiment, controlling the self-moving device to leave the dilemma area according to the second map includes: determining a second opening according to the second map, the second opening corresponding to a grass area between adjacent dilemma objects, and the second opening satisfying a position constraint; and controlling the self-moving device to move toward the second opening and pass through the second opening according to the second map to leave the dilemma area.

[0091] In one embodiment, the position constraint condition includes: the predicament object does not exist within a preset surrounding range, is located in a boundary area between the predicament object and the grass area, and is connected on two opposite sides.

[0092] In one embodiment, controlling the self-moving device to leave the dilemma area according to the second map includes: controlling the self-moving device to travel along the dilemma object according to the second map; and when a third opening is detected, controlling the self-moving device to move toward the third opening and pass through the third opening to leave the dilemma area, wherein the third opening corresponds to a grass area between adjacent dilemma objects.

[0093] In one embodiment, controlling the self-moving device to leave the dilemma area according to the second map includes: if the self-moving device fails to successfully pass through the third opening within a preset time period, returning to the step of controlling the self-moving device to travel along the dilemma object according to the second map.

[0094] In one embodiment, the control method includes: when the position of the self-moving device is outside the space corresponding to the target trajectory, determining that the self-moving device has successfully escaped.

[0095] In one embodiment, a control device is further provided, which is applied to a self-moving device, wherein the self-moving device is configured to move and / or work in a working area, and the self-moving device is provided with a sensing module, and is characterized in that the control device includes: a first control module, configured to control the self-moving device to move in the working area; a sensing module, configured to obtain the sensing information; a second control module, configured to execute an escape step to control the self-moving device to leave the dilemma area when it is determined based on the sensing information that the self-moving device meets the dilemma condition; wherein the dilemma area is an area that limits the moving range of the self-moving device, and the dilemma area has at least one dilemma object, and the dilemma object includes a dilemma obstacle and / or a dilemma boundary.

[0096] In one embodiment, a computer-readable storage medium is provided, wherein the storage medium stores a computer program, and the computer program is used to execute the above method.

[0097] In one embodiment, a self-moving device is provided, comprising: a processor; a memory for storing instructions executable by the processor; and the processor for executing the above method.

[0098] The embodiments of the present disclosure can improve cutting coverage and enhance user satisfaction.

[0099] In order to overcome the defects of the prior art, the problem to be solved by the present invention is to provide an automatic working method and a self-moving device for efficiently escaping from trouble.

[0100] The technical solution adopted by the present invention to solve the existing technical problems is: an automatic working method, which is applied to a self-moving device, and the self-moving device travels and / or works in a working area defined by a map. The method includes: when it is detected that the self-moving device is trapped, obtaining the map, in which obstacles are marked; obtaining an unmarked area on the map; and controlling the self-moving device to travel to the unmarked area to escape.

[0101] In one embodiment, before obtaining the unmarked area on the map, the method further includes: magnifying the obstacles on the map, the magnification factor being approximately equal to the coverage area of ​​the self-moving device on the map; correspondingly, obtaining the unmarked area on the map, and controlling the self-moving device to travel toward the unmarked area to escape, including: obtaining the uncovered area on the map; controlling the self-moving device to travel toward the uncovered area to escape.

[0102] In one embodiment, before zooming in on an obstacle on the map, the method includes: obtaining a first search range for obstacles in the map, the first search range including: an area larger than the area covered by the self-mobile device on the map; and determining the area covered by the self-mobile device on the map when the self-mobile device reaches the obstacle position in the first search range.

[0103] In one embodiment, if there is no uncovered area on the map, the method further includes: obtaining a second search range for obstacles in the map, the second search range being larger than the area covered by the self-mobile device on the map, and the second search range being smaller than the first search range; and determining the area covered by the self-mobile device on the map when it reaches the obstacle position in the second search range.

[0104] In one embodiment, the method includes: when it is detected that the self-moving device is trapped, determining the driving direction of the self-moving device, the driving direction including the driving linear speed direction; accordingly, obtaining the first search range of obstacles in the map includes: obtaining obstacles in the area near the direction opposite to the driving direction in the map.

[0105] In one embodiment, before obtaining the unmarked area on the map, the method further includes: simulating the area covered by the self-moving device on the map when the self-moving device is located at the obstacle position; accordingly, obtaining the unmarked area on the map, and controlling the self-moving device to travel to the unmarked area to escape, including: obtaining the uncovered area on the map; controlling the self-moving device to travel to the uncovered area to escape.

[0106] In one embodiment, the method further includes: when a sensor installed on the self-moving device detects at least one of the following fault types during driving, marking an area near the sensor's geographical location as an obstacle on the map, the fault type including: detecting an obstacle or detecting that the self-moving device is lifted or detecting a change in motor torque.

[0107] In one embodiment, the method further includes: marking the obstacle in the map and marking the obstacle type according to the fault type identified by the sensor; accordingly, controlling the self-moving device to travel to the unmarked area to escape, including: when the self-moving device cannot escape, deleting the obstacle mark in the map that meets the obstacle type; controlling the self-moving device to travel to the unmarked area to escape.

[0108] In one embodiment, the method further includes: when the torque of the driving wheel motor of the self-moving device is greater than a preset threshold, obtaining the driving speed, driving direction and a first area covered on the map of the self-moving device; simulating a second area covered on the map after the self-moving device travels at the driving speed in the driving direction for a preset time; determining an area in the second area that is not covered by the first area; and marking the uncovered area as an obstacle.

[0109] In one embodiment, simulating the area covered on the map by the self-mobile device when it is located at the obstacle position includes: obtaining the obstacle position closest to the self-mobile device in each direction; and determining the area covered on the map by the self-mobile device when it is located at the nearest obstacle position.

[0110] In one embodiment, controlling the self-moving device to travel toward the unmarked area to escape the distress includes: obtaining the distance between the current driving direction of the self-moving device and the target driving area; determining the driving angular velocity and the driving linear velocity of the self-moving device when traveling toward the target driving area based on the distance, the driving angular velocity is positively correlated with the distance, and the linear velocity is negatively correlated with the distance; and controlling the self-moving device to travel toward the target driving area to escape the distress based on the driving angular velocity and the driving linear velocity.

[0111] In one embodiment, after detecting that the self-moving device is trapped, if the self-moving device travels at least a first preset distance without detecting any abnormality when performing an escape action, it is determined that the self-moving device has escaped successfully.

[0112] In one embodiment, after it is determined that the self-moving device is successfully freed, the area covered in the map when it is detected to be trapped is marked as an obstacle.

[0113] In one embodiment, after determining that the self-moving device has successfully escaped, when it is detected that the self-moving device has traveled to a second preset distance from the trapped location, the obstacle marked in the map by the sensor installed on the self-moving device due to detecting a fault is deleted.

[0114] Another technical solution adopted by the present invention to solve the existing technical problems is: a self-moving device, which travels and / or works in a working area defined by a map, and the self-moving device includes: a controller, when the controller detects that the self-moving device is trapped, obtains the map, in which obstacles are marked; obtains an unmarked area on the map; and controls the self-moving device to travel to the unmarked area to escape.

[0115] Compared to existing technologies, the present invention has the following advantages: when a self-moving device is detected as trapped, a map and areas on the map not marked by obstacles are obtained; the self-moving device is then controlled to move to the unmarked area to escape. When this scenario occurs, the relevant sensors need to quickly identify the trapped situation. Once trapped, the self-moving device is controlled to move to the unmarked area based on the obstacle markings on the map. This method allows the lawn mower to escape quickly, improving work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0116] The above-mentioned objectives, technical solutions and beneficial effects of the present invention can be clearly obtained through the following detailed description of specific embodiments that can implement the present invention, combined with the description of the accompanying drawings.

[0117] The same reference numerals and symbols are used in the drawings and the description to designate the same or equivalent elements.

[0118] FIG1 is a schematic structural diagram of an autonomous robot according to an embodiment of the present disclosure;

[0119] FIG2 is a first schematic diagram of the autonomous robot in FIG1 executing a path planning method in a working area;

[0120] FIG3 is a flow chart of the path planning method disclosed herein;

[0121] FIG4 is a second schematic diagram of the autonomous robot of the present disclosure executing the path planning method in the working area;

[0122] FIG5 is a schematic diagram of the functional structure of an autonomous robot according to an embodiment of the present disclosure;

[0123] FIG6 is a schematic diagram of a path planning method for a specific application scenario of the present disclosure;

[0124] FIG7 is a schematic diagram of a lawn mower provided by an exemplary embodiment of the present application moving within a working area;

[0125] FIG8 is a schematic structural diagram of a self-moving device provided in Example 1 of the present application;

[0126] FIG9 is a schematic diagram of a moving trajectory of a lawn mower in a difficult area according to an embodiment of the present application;

[0127] FIG10 is a schematic diagram of a lawn mower provided by an embodiment of the present application being trapped in a corner;

[0128] FIG11 is a schematic diagram of the position of the second opening found by the lawn mower provided by an embodiment of the present application;

[0129] FIG12 is a schematic diagram of a lawn mower provided by an embodiment of the present application being freed from a third opening;

[0130] FIG13 is a schematic diagram of an application scenario according to an embodiment of the present invention;

[0131] FIG14 is a schematic diagram of an automatic working method according to an embodiment of the present invention;

[0132] FIG15 is a schematic diagram of an obstacle marking according to an embodiment of the present invention;

[0133] 16 to 18 are schematic diagrams of escape scenarios and fan-shaped diagrams according to an embodiment of the present invention. DETAILED DESCRIPTION

[0134] To facilitate understanding of the present invention, the present invention will be described more fully below with reference to the accompanying drawings. Preferred embodiments of the present invention are shown in the accompanying drawings. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and comprehensive understanding of the present disclosure. The embodiments provided in this specification may be combined with each other.

[0135] In the present invention, unless otherwise specified or limited, the terms "installed," "connected," "connect," "fixed," etc. should be understood in a broad sense. For example, they can refer to fixed connection, detachable connection, or integration; mechanical connection, electrical connection; direct connection, or indirect connection through an intermediate medium; internal communication between two components, or interaction between two components, unless otherwise specified. Those skilled in the art will understand the specific meanings of the above terms in the present invention based on specific circumstances.

[0136] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of the technical features being referred to. Thus, a feature specified as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "plurality" means at least two, for example, two, three, etc., unless otherwise specifically defined.

[0137] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this invention pertains. The terms used in this specification of the present invention are for the purpose of describing specific embodiments only and are not intended to limit the present invention. The term "and / or" as used herein includes any and all combinations of one or more of the associated listed items.

[0138] The autonomous robot of the present disclosure is at least configured to perform a work task (e.g., mowing grass) within a work area. Generally, in random mode, the robot can start from any starting position and randomly move in a preset direction, identifying work objects and non-work objects (e.g., grass and non-grass objects) within the work area. Upon identifying a non-work object, the autonomous robot is controlled to change direction and move, thereby completing the work task within the work area during the random movement process.

[0139] Considering that the autonomous robot may be trapped in a narrow working area when it moves randomly within the working area, causing abnormal mowing work, and failing to complete the corresponding work efficiently and quickly, which reduces the user experience. Specifically, the robot may enter a relatively small area B that is easily trapped. As shown in Figure 2, the autonomous robot drives from a larger area A into a smaller area B. In area B, the robot will make countless turns until it leaves area B, and even if the robot makes countless turns, it may not be able to leave area B. In the above process, on the one hand, the robot will consume a lot of time, resulting in a decrease in its work efficiency; on the other hand, the robot's frequent stay in area B will lead to excessive mowing of the area. Based on this, the present disclosure provides a path planning method, and an autonomous robot that applies the path planning method.

[0140] Referring to Figures 1 and 5 , an autonomous robot according to an embodiment of the present disclosure is configured to autonomously navigate and operate within a work area. The autonomous robot comprises a body 1, a processor 2 disposed on body 1, a memory 4, and a sensor 3. The sensor is configured to collect environmental information about the work area and transmit it to processor 2 for processing. Processor 2 then identifies obstacles (i.e., non-working objects) in the work area based on the environmental information, controlling body 1 to randomly move within the work area, thereby completing the task of mowing the lawn in the work area.

[0141] It should be noted that, in the present disclosure, an autonomous robot 100 including a body 1, a processor 2, a memory 4, and a sensor 3 is used as an example for illustration, and the autonomous robot is described as an automatic lawn mower. However, the autonomous robot may also be a cleaning robot, etc. In the embodiments of the present disclosure, the autonomous robot may also include a mobile component for driving the body 1, such as a running wheel; an energy component for providing energy for the operation of the autonomous robot, such as a battery pack; and a work head for performing the corresponding mowing operation, etc., which are conventional structures of existing lawn mowers. Since the aforementioned structures / components are mature structures in the field of autonomous robots, they will not be described in detail in the present disclosure.

[0142] In the present disclosure, the body 1 includes at least a first shell and a second shell that are snap-fitted together. The first shell and the second shell are snap-fitted together to form a receiving space to accommodate at least the processor 2.

[0143] Sensor 3 is used to collect environmental information and other information during the operation of the autonomous robot. Depending on the type of signal it collects, the sensor can be positioned above or housed within body 1. In other words, in this disclosure, the sensor's placement and type can be selected based on practical needs and are not limited here. In one embodiment, the sensor may include, but is not limited to, at least one of the following: an imaging sensor, an ultrasonic sensor, a laser sensor, a radar sensor, an inertial navigation system, a collision sensor, a torque sensor, a GPS, a RTK, a magnetic sensor, and a radar sensor. The inertial navigation system may include an IMU and an ODO.

[0144] Memory 4 is configured to store a map of the working area surrounding the current position of the autonomous robot, as well as information such as obstacles collected by sensors. This map can be created using images collected by sensors or satellite positioning data. This map can be a local map of the area surrounding the robot's current position and is periodically updated as the robot's position changes. Saving only the local map can conserve memory space.

[0145] Processor 2 is used to control the movement of the autonomous robot within the work area and perform corresponding mowing and maintenance tasks. Processor 2 can be an embedded digital signal processor (DSP), a microprocessor unit (MPU), an application specific integrated circuit (ASIC), a programmable logic device (PLD), a system on chip (SOC), a central processing unit (CPU), or a field programmable gate array (FPGA).

[0146] The processor 2 can determine whether the robot encounters an obstacle based on environmental information, and can also control the operation of the autonomous robot according to a preset program or received instructions. In an embodiment of the present disclosure, the processor 2 can also be used to execute a path planning method to control the autonomous robot to quickly plan a path to escape from the trapped area if it is trapped during the random operation of the autonomous robot in the working area. The processor with the above-mentioned obstacle identification and path planning functions can be divided into two parts, one part is integrated with the sensor, that is, the sensor has the function of collecting environmental information and processing the collected environmental information to identify whether the robot encounters an obstacle; the other part exists independently to perform path planning. The processor with the above-mentioned obstacle identification and path planning functions can also be integrated together and exist separately as a whole.

[0147] Referring to FIG. 2 and FIG. 3 , in the present disclosure, the processor 2 may be configured as follows:

[0148] determining, based on environmental information, that the autonomous robot encounters an obstacle, wherein the obstacle includes a non-working object;

[0149] In response to the autonomous robot encountering an obstacle, controlling the autonomous robot to turn;

[0150] Record the position of the autonomous robot in the map when it turns, which is the turning position;

[0151] In response to detecting that the autonomous robot has made multiple turns within a limited time or area, the autonomous robot is controlled to move in a direction away from the area formed by the multiple turning positions to escape; wherein the multiple turning positions correspond to the multiple turns.

[0152] In the disclosed embodiment, in response to detecting that the autonomous robot has made multiple turns within a limited time or area, the autonomous robot is controlled to move in a direction away from the area formed by the multiple turning positions corresponding to the multiple turns to escape. The robot is controlled to move in the direction of the area where the turning position before the multiple turning positions is located to escape as quickly as possible.

[0153] In the present disclosure, obstacles include non-working objects, which correspond to non-working objects in the working scene of the lawn mower. Non-grass objects mainly refer to objects in the working area that the autonomous robot cannot handle, such as road surfaces, stones, etc. Specifically, when the autonomous robot moves in the working area, environmental information such as non-grass objects in the working area is collected by sensors provided on the fuselage 1. In a preferred embodiment of the present disclosure, the sensor is a visual sensor, such as 3D-ToF, binocular vision, monocular vision sensor, etc., to obtain real-time images of the working area during the working process of the autonomous robot. Of course, the sensor in this embodiment can also be an ultrasonic sensor, an infrared sensor, a torque recognition sensor, etc., which is a sensor component for identifying and detecting objects in the working area or the operating status of the autonomous robot.

[0154] Processor 2 is connected to the sensor to receive real-time images and / or other sensor information collected by the sensor, and then identifies non-grass objects in the working area based on the real-time images and / or other sensor information, and records the locations of the non-grass objects in the map. Specifically, in the present disclosure, when the autonomous robot encounters a non-grass object during random operation and determines that it cannot continue in the current direction, processor 2 controls the autonomous robot to execute a steering strategy, records the steering position during the steering operation in the map, and records the location of the non-grass object.

[0155] As an alternative embodiment, the processor 2 can control the autonomous robot to turn each time it encounters a non-grass object and mark the position of the non-grass object. Furthermore, the processor 2 can also mark the moving path from the previous turning position to the current turning position when recording the turning position, so as to at least obtain the running trajectory of the autonomous robot in the working area.

[0156] It's worth noting that when a robot is trapped in an extremely narrow area, it may make multiple turns in a very short period of time. Recording all positions would result in a huge amount of computation and inaccuracy. In this case, only one turn position can be recorded (for example, the first turn position in time), and the remaining turn positions can be deleted as noise. The presence of obstacles in front, on the left, and on the right, as detected by the visual sensor, can be used to determine that the robot is in an extremely narrow area.

[0157] In one embodiment of the present disclosure, based on the environmental information collected above, the processor 2 can also draw a real-time map of the autonomous robot during its random operation in the working area. Furthermore, the processor 2 can record the turning position of the robot when it turns and the moving path between each turning position.

[0158] It should be noted that, in addition to recording the turning position, the present disclosure also records the time at which the robot turns, or the order of multiple turning positions when multiple turns occur. That is, the position in the present disclosure can include three types of attribute information: position attribute and time attribute or sequence attribute. Furthermore, the aforementioned movement path can refer to the movement path between two turning positions that are adjacent in time or sequence.

[0159] In a preferred embodiment of the present disclosure, when it is detected that the robot makes multiple turns within a limited time or area, it can be determined that the robot is in trouble.

[0160] In one embodiment, the processor can determine whether the robot is in distress based on the distribution of the detected multiple turning positions. If the distribution density is greater than a preset threshold, it is determined to be in distress; otherwise, it indicates that the robot is moving normally in the work area.

[0161] In one embodiment, the distribution density can be determined to be greater than a preset threshold, i.e., the robot is in distress, based on at least one of the following technical means: the processor detects that the area of ​​the region formed by N consecutive turning positions is less than a first preset threshold, or that the area of ​​the region formed by N consecutive turning positions undergoes a sudden change and is smaller than the area of ​​the region formed by other N consecutive turning positions, or that the distance between N consecutive turning positions is less than a second preset threshold; wherein N is greater than or equal to 3. The first preset threshold and the second preset threshold are both positively correlated with the area and length of the working area, and at least one of the other N consecutive turning positions is different from the N consecutive turning positions. The region formed by the N turning positions can be a closed area formed by connecting adjacent points in the plurality of turning positions.

[0162] For example: the robot continuously records the turning position when turning during movement; starting from the current position, it traces back N turning positions in sequence, and continuously calculates the area of ​​the area formed by the N consecutive turning positions. When it is found that the area is less than the first preset threshold (such as 10 square meters), the robot is determined to be in trouble. For example: when it is found that the area of ​​the area determined by the N consecutively recorded turning positions is less than the average of the areas formed by other N consecutive turning positions, or less than (average / N), that is, when the area suddenly drops significantly, the robot is determined to be in trouble. For example: when the distance between adjacent turning positions is continuously recorded and it is found that the distance suddenly drops significantly, the robot is determined to be in trouble.

[0163] Furthermore, when the processor 2 determines that the autonomous robot is trapped, it can control the autonomous robot to move in a direction away from the area formed by multiple turning positions to escape, by planning an obstacle-free navigation path for the autonomous robot to leave the predicament area, and controlling the autonomous robot to leave the predicament area along the obstacle-free navigation path.

[0164] In the present disclosure, planning an obstacle-free navigation path includes: generating an escape path based on the autonomous robot's current position and a target turning position that was previously set multiple times; and controlling the autonomous robot to move along the escape path to escape the predicament. Specifically, when the robot is trapped, it is controlled to seek the target turning position that is outside the predicament to escape.

[0165] Specifically, the planning method is described through the following three embodiments. These three embodiments can be performed in pairs or simultaneously in the same robot. If one of the embodiments still fails to escape, another embodiment is adopted.

[0166] In one embodiment, upon reaching a current position, in response to detecting that the area formed by N consecutive turning positions is smaller than the area formed by other N consecutive turning positions, a turning position recorded in the detected area with the larger area is obtained as a target turning position; and an escape path is generated based on the current position and the target turning position. The at least one turning position is a point earlier in time or sequence among the N turning positions, typically one of the first (N / 2) points, or the second earliest turning position or the first earliest turning position in chronological order, i.e., the turning position recorded first is used as the target turning position. For example, when a robot finds itself in trouble during movement, it obtains a first area of ​​an area defined by N consecutive turning positions recorded in time or sequence up to the current position; and obtains a second area of ​​the area defined by the other N turning positions, excluding the turn closest to the current position in time. If the second area is larger than the first area, the turning position with the earliest time in the area corresponding to the second area is used as the target turning position. Alternatively, N turning positions other than the two turning positions closest in time to the current position may be obtained, and a third area of ​​the region defined by these N turning positions may be obtained. If the third area is larger than the first area, the turning position with the earliest time in the region corresponding to the third area may be used as the target turning position. Alternatively, the turning position with the second earliest time in the region corresponding to the third area may be used as the target turning position. In this way, a target turning position outside the predicament is found.

[0167] In another embodiment, upon reaching the current position, in response to detecting that the area formed by N consecutive turning positions is greater than a third preset threshold, the previously recorded turning position in the detected area is retrieved as the target turning position; and an escape path is generated based on the current position and the target turning position. For example, if the robot finds itself in a difficult situation during movement, it retrieves N turning positions, excluding the turn closest in time to the current position, and obtains a fourth area of ​​the area defined by these N turning positions. If the fourth area is greater than a third preset threshold, the earliest turning position in the area corresponding to the third area is used as the target turning position. Alternatively, it retrieves N turning positions, excluding the two turns closest in time to the current position, and obtains a fifth area of ​​the area defined by these N turning positions. If the fifth area is greater than the third preset threshold, the earliest or second earliest turning position in the area corresponding to the fifth area is used as the target turning position. In this manner, a target turning position outside the difficult situation is found.

[0168] In another embodiment, when the robot reaches the current position, the robot is controlled to perform at least one area determination step until the area of ​​the area is greater than a fourth preset threshold; wherein the area determination step includes: obtaining N consecutive turning positions when the robot reaches the current position; determining the area of ​​the area formed by the N consecutive turning positions; wherein, if the area of ​​the area is less than the fourth preset threshold, adding a turning position and continuing to perform the area determination step; wherein N is greater than or equal to 3; and generating an escape path based on the current position and the target turning position added when the area is greater than the fourth preset threshold. In this way, the target turning position outside the predicament is found.

[0169] Specifically, when processor 2 recognizes that the area of ​​the polygon enclosed by N turning position marks at time T is less than an area threshold (e.g., an area threshold of 1.5 m2), the autonomous robot is determined to be trapped in the current area. T and N correspond one-to-one in time. At this time, processor 2 marks the position mark at time T as the backtracking starting point. Processor 2 backtracks information based on each turning position obtained. Specifically, processor 2 backtracks from time T in reverse chronological order, that is, sequentially obtains the turning positions at times T, T-1, T-2, T-3, ..., and further obtains the areas of the areas enclosed by the multiple turning positions at times T-1, T-2, T-3, .... Furthermore, when backtracking to time TX, and the area enclosed by the multiple turning positions corresponding to time TX meets the area threshold (e.g., an area threshold of 4 m2), the turning position mark corresponding to time TX is obtained as the backtracking end point. That is, the backtracking end point is located outside the dilemma area. In other words, when the autonomous robot moves to the backtracking end point, it can be guaranteed to be out of the dilemma.

[0170] After determining the target turning position using at least one of the above methods, the robot can be controlled to obtain a connecting path within its movement path that passes through its current position and the target turning position, and use this connecting path as an escape route. The connecting path can be the shortest path within its movement path that passes through its current position and the target turning position. By controlling the robot to move along the connecting path, rather than returning along the original movement path that led to the trap, a faster escape can be achieved.

[0171] In this embodiment, the connecting path may also include: obtaining the moving path between two turning positions at adjacent times in the moving path, and obtaining the intersection points between each moving path; dividing the moving path based on the intersection points to obtain multiple path segments; the shortest path is a combination of multiple path segments from the current position to the target turning position.

[0172] After obtaining the escape path through at least one of the above methods, the autonomous robot is controlled to move along the escape path. During the movement, if no obstacle is identified through the real-time collected sensor data within a preset time period, for example: no obstacle is identified within 1 minute in the image collected by the image sensor, it indicates that the escape is successful.

[0173] The robot successfully escapes through at least one of the above methods. In response to the successful escape, the robot is controlled to enter a random mode. In the random mode, the robot moves randomly in a direction within the work area defined by the boundaries until it recognizes an obstacle again. In this way, the robot can quickly return to normal operation.

[0174] As an alternative embodiment, in response to a successful escape, the robot can be controlled to change its movement direction, with the changed movement direction being different from the direction between the robot and the predicament area, thereby preventing the robot from re-entering the predicament area within a short period of time. After the movement mode is changed, the robot can be controlled to enter the random mode.

[0175] As an alternative embodiment, in response to the robot successfully escaping, an area containing multiple turning positions is set as a restricted area on the map; when the autonomous robot is detected to have reached the restricted area, it is controlled to turn or move along the boundary of the restricted area. In this way, the robot is prevented from repeatedly entering the difficult area and being trapped repeatedly. For example, the area enclosed by multiple turning positions can be expanded a certain distance to obtain an expanded area, and the area corresponding to the expanded area in the local map is marked as a restricted area. When the robot successfully escapes and moves randomly, it is detected that the autonomous robot has reached the restricted area, and it is controlled to turn or move along the boundary of the restricted area. When sampling this method of setting the restricted area, the implementation method of entering the random mode or changing the movement method can also be executed at the same time, and this application does not limit this.

[0176] After the robot fails to escape through at least one of the above methods, it controls the autonomous robot to move along the boundary of the obstacle, searching for an exit during movement. The robot can search for an exit through at least one of the following methods. If one method still fails, the robot can use another method.

[0177] In one embodiment, the robot, while moving, uses collected sensor data to identify an obstacle-free area and controls the autonomous robot to move to the obstacle-free area, thereby freeing the autonomous robot. The obstacle-free area is defined as a spatial area where the distance between obstacles is no less than the width of the autonomous robot. Once the robot identifies the obstacle-free area, it is controlled to move to and out of the obstacle-free area, thereby successfully freeing the autonomous robot.

[0178] In another embodiment, when the collected sensor data during the movement of the robot identifies that it has moved near the target turning position or near the area determined by multiple turning positions and the target turning position, it is determined that the autonomous robot has successfully escaped.

[0179] In another embodiment, when non-grass objects are detected in front of, on both the left and right sides of the robot's direction of travel, or when the turning positions recorded by processor 2 are substantially aligned, the movement path leading to the current position can be obtained, and the robot can be controlled to retreat along this movement path to exit the current area. When the robot is identified as being in this scenario, it may be trapped in a dead end or its turning direction is blocked, thus failing to escape using other path strategies. In this case, the movement path leading to the current position can be obtained, and the robot can be controlled to retreat along this movement path to exit the current area.

[0180] Among them, the processor 2 determines through the environmental information collected by the sensor that during the process of the robot moving to the current position, there are non-grass objects on both sides of the path, and the distance between the non-grass objects is less than the turning distance required when the autonomous robot executes the turning strategy. When the processor 2 confirms that the autonomous robot is trapped in a dead end, it can backtrack the movement path of the autonomous robot before it moves to the current position, and control the autonomous robot to retreat along the backtracked movement path to get out of the predicament. Furthermore, in order to ensure the timeliness of the autonomous robot retreating out of the current area, the sensor will identify the non-grass objects on both sides of the movement path in real time during the retreat of the autonomous robot. When it is identified that there is a gap on either side of the running path for the autonomous robot to enter to escape the predicament, the autonomous robot is controlled to turn to the gap and pass through the opening. While leaving the current area, it enters other locations in the work area to continue mowing.

[0181] In the disclosed embodiments, an autonomous robot is determined to have encountered an obstacle based on environmental information; in response to encountering an obstacle, the autonomous robot is controlled to turn; the turning positions of the autonomous robot as it turns are recorded in a map; and in response to detecting multiple turns within a restricted time or area, the autonomous robot is controlled to move in a direction away from the area formed by the multiple turning positions to escape. The robot's turning positions are used to find a direction to escape, rather than randomly colliding or directly returning to the original path, thereby improving the robot's work efficiency. This can help the autonomous robot successfully escape from the trapped area, allowing it to complete mowing work in the remaining area, effectively improving the autonomous robot's work efficiency and enhancing its user-friendliness.

[0182] The following describes the implementation of the present disclosure through a specific application scenario.

[0183] As shown in Figure 6, the robot moves in an open area A from turning position O to turning position Q, and from turning position Q to turning position P1 in a narrow area B. It then makes multiple turns at turning positions P2-P5 to reach the current position M shown in the figure. During the movement, the turning positions are recorded, along with the movement paths between each turning position. The area formed by the five consecutive turning positions P5-P1 is calculated as A1, and the area formed by Q and P4-P1 is calculated as A2. If A1 is less than (A2 / 5), the robot is determined to be in trouble. The first recorded turning position Q in the larger area A2 is taken as the target turning position. Based on the recorded movement paths between each turning position and the movement path between the current position and the robot, the shortest path between the current position and the target turning position is determined. The movement paths MR and RQ, indicated by the arrows in the figure, are used as escape paths, and the robot is controlled to move along these escape paths. If the visual sensor detects no obstacles for a period of time while the robot moves along this escape path, the robot is considered to have escaped successfully. In response to the robot successfully getting out of trouble, it is controlled to enter a random mode, that is, to turn randomly and move in a straight line until a non-working object is recognized again.

[0184] The present disclosure also provides an autonomous robot, which is also used to automatically walk and work in a working area. In this embodiment, the autonomous robot has the same structure as the aforementioned autonomous robot, and the difference is only that the processor 2 housed in the body 1 is used to control the operation of the autonomous robot in a different control method. Therefore, the following description will only describe the differences between the two, and the same and similar parts will not be repeated in the following description.

[0185] Referring to FIG4 , in this embodiment, the processor 2 is used to execute a control method for controlling the autonomous robot to escape from a trapped area. The control method specifically includes:

[0186] executing a steering strategy based on the identified non-grass objects;

[0187] In response to the autonomous robot satisfying an escape condition when executing the steering strategy, executing an escape strategy;

[0188] The escape strategies include:

[0189] Obtaining a movement path of the autonomous robot to a current position;

[0190] Controlling the autonomous robot to retreat along the moving path and acquiring environmental information around the autonomous robot in real time;

[0191] Based on the environmental information, it is determined whether there is a passable path that can be turned and passed, so that the autonomous robot (which can also be called a self-moving robot) can leave the current area.

[0192] Specifically, when the sensor identifies a non-grass object in the working area, it transmits the information of the non-grass object to the processor for processing. When the processor determines the information of the non-grass object, it controls the autonomous robot to execute a steering strategy to escape from the location of the non-grass object.

[0193] Furthermore, the processor will further monitor and identify the operating device of the autonomous robot in real time. When the processor identifies that the autonomous robot meets the escape condition when executing the steering strategy, it controls the autonomous robot to execute the escape strategy.

[0194] When the processor confirms that there is a non-grass object in front of the autonomous robot's running direction, it can mark the turning position when executing the steering strategy based on the identified non-grass object; and after marking, it can obtain the moving path between the two turning positions at adjacent times, which makes it convenient for the processor to plan the escape path according to the moving path.

[0195] At this point, the processor executes the following escape strategies:

[0196] Obtaining the turning position that is adjacent to the current position in time;

[0197] Obtaining a movement path of the autonomous robot from the turning position to the current position;

[0198] The autonomous robot is controlled to retreat along the moving path to the turning position, and the posture of the robot is adjusted at the turning position so that the autonomous robot avoids the turning trapped position and continues to operate.

[0199] The current position is the turning position at the current time sequence when the processor controls the autonomous robot to execute the turning strategy and meet the trapped condition.

[0200] Furthermore, the adjustment of the posture of the autonomous robot at least includes the adjustment of the steering angle and steering direction of the autonomous robot. In fact, when the autonomous robot executes the steering strategy, the steering angle may be predicted. Therefore, in order to avoid the autonomous robot from re-entering the current area when continuing to execute the steering strategy from the steering position that is adjacent in time sequence when exiting the current area, the processor will adjust the posture when retreating to the steering position that is adjacent in time sequence to the current position, and then execute the steering with the adjusted posture, thereby avoiding the occurrence of the aforementioned situation.

[0201] In this embodiment, the processor is used to control the autonomous robot to execute the escape strategy, and the escape conditions that must be met include at least the autonomous robot turning into a trapped state when executing the turning strategy or the autonomous robot executing the turning strategy multiple times in a row in the current area.

[0202] Specifically, the autonomous robot is stuck in turning when executing the steering strategy because the processor determines through the environmental information collected by the sensor that there are non-grass objects on both sides of the autonomous robot's current position and the running path to the current position, and the distance between the non-grass objects is smaller than the turning distance when the autonomous robot executes the steering strategy.

[0203] When the processor confirms that the autonomous robot has run to the current position and is stuck in turning, the processor can further identify the turning position corresponding to the adjacent time before the current time, and obtain the moving path between the current position and the turning position at the adjacent time to control the autonomous robot to retreat along the moving path and out of the current area.

[0204] It should be noted that, in the embodiment of the present disclosure, "the turning position that is adjacent in time sequence to the current position" specifically refers to the turning position at which the autonomous robot can retreat along the moving path and out of the current area. In fact, when the autonomous robot runs to the current position, it may pass through multiple turning positions, and the times of the multiple turning positions are adjacent, that is, the processor controls the sensor to collect environmental information in real time during the execution of the escape strategy, that is, at time sequence T, the autonomous robot runs to the current position that meets the escape conditions, and further, the processor controls the autonomous robot to backtrack to the turning position at time T-1 and the autonomous robot's movement from the turning position at time T-1. The processor controls the autonomous robot to move backward along the moving path until the processor recognizes that a gap or path appears on at least one side during the retreat process that allows the autonomous robot to turn away from the current area, thereby facilitating the autonomous robot to leave the current area.

[0205] Furthermore, in this embodiment, when the escape condition is "the autonomous robot executes the turning strategy multiple times in a row in the current area", whether the autonomous robot is trapped can be determined by the area of ​​the polygon formed between the turning positions when the autonomous robot executes the turning strategy multiple times in the current area, or the moving distance between the turning positions and the time interval between the turning positions.

[0206] Taking the area condition as an example of the escape condition, when the autonomous robot is running in the current area, it is affected by the non-grass objects at the edge of the current area, and executes the turning strategy multiple times in the current area, and then obtains N turning positions of adjacent time sequences. Further, the obtained N turning positions are connected to obtain a polygon and the area of ​​the polygon is calculated, and then the area of ​​the polygon is compared with the area condition. If the area of ​​the polygon meets the area condition, such as the area condition is 1.5㎡, and the area of ​​the polygon is less than 1.5㎡, it is determined that the autonomous robot meets the escape condition, and the autonomous robot is controlled to execute the escape strategy.

[0207] To sum up, the autonomous robot provided in another embodiment of the present disclosure can control the autonomous robot to call historical trajectories and collect environmental information by executing the control method provided in the present disclosure, so that the autonomous robot can quickly exit the current area along the moving path, and turn and leave the current area after leaving the area, avoiding accidentally entering the trapped area again, thereby further improving the efficiency of the autonomous robot in escaping.

[0208] In one embodiment, the above control method is applied to the random mode of the self-moving device (in some embodiments of the present application, the self-moving device may also be referred to as an autonomous robot). When the self-moving device enters the random mode, the escape control steps corresponding to the random mode may be taken to escape. Wherein, the random mode refers to that the robot moves and / or works inside the working area limited by the boundary, and may be planned cutting or random work. Similarly, if in the process of executing the escape step in the random mode, the robot enters an obstructed and trapped working condition or a slipping working condition, the obstructed and trapped working condition or the slipping working condition may be processed first, and the escape may be continued after the obstructed and trapped working condition or the slipping working condition is ended.

[0209] In the random mode, if the self-moving device still cannot escape after executing the escape control steps corresponding to the random mode, the self-moving device can call the escape control steps based on the single-frame image, and the self-moving device can perform image recognition processing on the real-time image of the single frame to obtain the grass area and non-grass area in the image (in some implementation methods of the present application, the non-grass area can also be called a non-grass object), and according to the positional relationship between the grass area and the non-grass area, determine the grass area with appropriate width located between the non-grass areas, and use the grass area as the first opening. According to the relative positional relationship between the first opening and the self-moving device, control the self-moving device to move toward the first opening, and then pass through the first opening to escape from the predicament area.

[0210] When encountering a slipping condition in random mode, the accuracy of the real-time local map is greatly reduced due to the low positioning accuracy of the self-moving device during slipping. At this time, the real-time local map of the self-moving device can be cleared, and the local map can be re-established after the slipping condition ends, and the escape steps corresponding to the internal cutting mode are re-executed.

[0211] In one embodiment, in the edge mode of the self-moving device, the escape control steps corresponding to the edge mode can be taken to escape. The edge mode refers to the self-moving device moving and / or working along the boundary of the working area. That is to say, in the edge mode, if it is determined based on the sensor information that the self-moving device meets the dilemma condition, the above-mentioned escape steps can be executed. If in the process of executing the escape step, the machine enters an obstructed or trapped working condition or a slipping working condition, the obstructed or trapped working condition or the slipping working condition can be processed first, and the escape steps corresponding to the edge mode can be continued after the obstructed or slipping working condition ends.

[0212] When encountering a slipping condition in the edge mode, the accuracy of the real-time local map is greatly reduced due to the low positioning accuracy of the self-moving device during slipping. At this time, the real-time local map of the self-moving device can be cleared, and the local map can be re-established after the slipping condition ends, and the escape steps in the edge mode can be re-executed.

[0213] Furthermore, in one embodiment, during the robot's escape process in the various scenarios described above, it detects the positional relationship between the mower and the boundary in real time. Based on the detected positional relationship between the robot and the boundary, the robot is controlled to execute a corresponding strategy. Specifically, when the robot is identified as being within the work area, the robot is simulated to determine whether continuing to move from its current position and direction will result in it leaving the boundary. If the robot will not leave the boundary, the robot is controlled to continue moving in that direction. If the robot will leave the boundary, the robot is controlled to rotate in place and / or move backward, and repeat this process to prevent it from leaving the boundary. When the robot is identified as being outside the work area (possibly due to a collision or other reasons causing the robot to deviate from its original trajectory), the robot is simulated to determine whether continuing to move from its current position and direction will result in it returning to the work area. If the robot can, the robot is controlled to move in that direction. If moving in that direction does not result in it returning to the work area, but instead will cause it to move further away from the boundary, the robot is controlled to rotate in place and / or move backward, and repeat this process to find a suitable direction, and then control the robot to move in that direction to return to the work area.

[0214] In order to facilitate those skilled in the art to understand the technical solution provided by the embodiment of the present disclosure, the technical environment in which the technical solution is implemented will be described below.

[0215] The embodiments provide a self-moving device, a control method, and a computer-readable storage medium. The self-moving device may be an autonomous smart device, such as an autonomous lawn mower, an autonomous vacuum cleaner, an autonomous mop, or an autonomous snow blower. The self-moving device can automatically move within a specified work area and perform corresponding tasks, or it can return to a docking station along the boundary of the work area for docking or charging.

[0216] This embodiment provides a self-moving device. As shown in FIG. 7 and FIG. 8 , the self-moving device includes a body 100 , an imaging sensor 200 , a position sensor 300 , and a control circuit 600 .

[0217] Specifically, the body 100 includes a drive device 700, which is used to drive the body 100 on the work surface according to received drive commands. The drive device 700 generally includes rollers and a motor that drives the rollers. The rollers may include a driving wheel and a driven wheel. The rollers may be distributed on both sides of the body 100, with one or two rollers on each side.

[0218] The body 100 also includes a working module, which is used to perform specific work tasks. For example, if the self-moving device is an automatic lawn mower, the working module includes mowing blades, a cutting motor, and other components. It may also include auxiliary components such as a mowing height adjustment mechanism to optimize or adjust the mowing effect. For example, if the self-moving device is an automatic vacuum cleaner, the working module includes a vacuum motor, a vacuum port, a vacuum tube, a vacuum chamber, a dust collection device, and other working components used to perform the vacuuming task.

[0219] The body 100 may also include an energy module, which is used to provide energy for various operations of the self-mobile device. The energy module may include a rechargeable battery and a charging connection structure, wherein the charging connection structure is usually a charging electrode sheet, which can be used in conjunction with a charging electrode sheet set at a docking station to charge the self-mobile device.

[0220] The body 100 further includes a memory 400 , which is used to store data generated by sensors or control circuits, or to pre-store data for use by the control circuits.

[0221] The body 100 further includes a position sensor 500 , which may include an inertial sensor IMU or an odometer ODO installed on the driving device 700 , etc., for obtaining a relative position according to the movement of the body 100 .

[0222] In addition to the above modules, the body 100 may also include a shell for accommodating and installing each module, a control panel for user operation, etc. It may also include various environmental sensors, such as humidity sensors, temperature sensors, acceleration sensors, light sensors, etc. The above sensors can assist the mobile device in determining the working environment to execute the corresponding program.

[0223] The control circuit 600 is the core component of the self-moving device, which is used to control the automatic movement and operation of the self-moving device. The functions it performs include controlling the working module to start or stop working, generating a moving path and controlling the drive device 700 to move according to the path, judging the power level of the energy module and promptly controlling the self-moving device to return to the docking station for automatic docking and charging, and executing corresponding programs based on the data from the environmental sensor.

[0224] 7 and 8 , the self-propelled device includes an imaging sensor 200. The imaging sensor 200 is connected to the body 100 and is configured to capture images in the forward direction of the body 100. These images are at least partially images of the work surface in the forward direction. The captured images are within the field of view 210 of the imaging sensor 200. The imaging sensor 200 can be a commonly used camera or lidar.

[0225] Typically, the imaging sensor 200 is mounted near the front upper portion of the fuselage 100, preferably centered, with its viewing angle facing forward and downward to capture images of the work surface. Its field of view 210 can be adjusted based on actual needs. A larger field of view 210 captures more images in the forward direction of the fuselage 100, and vice versa. The forward direction of the fuselage 100 can be various, such as normal forward movement, backward movement, and turning. In this embodiment, the forward direction of the fuselage refers to the normal forward direction, i.e., the direction of the fuselage's central axis.

[0226] To address the technical issue of improving work efficiency, this embodiment provides a control method for a self-propelled device. The self-propelled device is configured to move and / or operate within a work area. The self-propelled device is provided with a camera, which may be located on the front of the device and capable of photographing the work area. The number of cameras may be one or more.

[0227] When a self-moving device faces a complex environment, it may be trapped in a difficult area, making it impossible to move outside the difficult area and unable to work in other places, resulting in low work efficiency.

[0228] In one embodiment, the number of cameras is one, that is, the self-mobile device is equipped with a monocular camera. However, the information obtained by the monocular camera is relatively small, so the self-mobile device equipped with a monocular camera is more difficult to escape.

[0229] In one embodiment, a control method is provided for a self-moving device configured to move and / or work in a working area. The self-moving device is provided with a sensing module. The control method includes:

[0230] Step S1: Control the mobile device to move in the working area;

[0231] Step S2: acquiring sensing information based on the sensing module;

[0232] Step S3: When it is determined based on the sensor information that the self-moving device meets the dilemma condition, an escape step is executed to control the self-moving device to leave the dilemma area; wherein the dilemma area is an area that limits the movement range of the self-moving device, and the dilemma area has at least one dilemma object, and the dilemma object includes a dilemma obstacle and / or a dilemma boundary.

[0233] After the user turns on the self-moving device, the self-moving device can automatically move and / or work within the working area, or move and / or work along the boundary of the working area. During the movement and / or work process, the self-moving device can collect sensor information based on the sensor module, analyze the surrounding environment based on the sensor information, and generate control instructions. The control instructions can indicate the moving direction, moving speed, steering angle, etc.

[0234] Difficulty zones can restrict the range of movement of a mobile device, making it difficult for the device to escape. Difficulty zones can include difficult obstacles and / or difficult boundaries. Difficulty obstacles can include static obstacles (such as isolated islands or trees), dynamic obstacles (such as movable people or animals), and temporary obstacles temporarily set up by the user. Difficulty boundaries can also be part of the work area boundary.

[0235] When a mobile device moves into a predicament area, it can represent a state of the mobile device. The predicament area can be reflected in the program, and the mobile device can determine whether the mobile device is in the state of moving into the predicament area by comparing certain parameters / conditions. For example, when it is impossible to search for a path (it is impossible to plan a passable path), or the area is too narrow and it cannot be left within the preset time, or it is close to surrounding obstacles, etc.; when certain conditions are met, the state of the mobile device is determined to be in the predicament area.

[0236] For example, it can be determined based on sensor information whether the mobile device has moved into a difficult area. If the mobile device meets the difficult condition, it means that the mobile device has moved into the difficult area and further needs to perform escape steps to escape the difficult area. If the mobile device does not meet the difficult condition, it means that the mobile device is moving and / or operating normally and has not moved into the difficult area.

[0237] In one embodiment, the sensing module includes at least one of the following: a camera, an inertial navigation unit, a collision sensor, a torque sensor, a GPS, a RTK, a magnetic sensor, and a radar sensor. The inertial navigation unit may include an IMU and an ODO.

[0238] In one embodiment, the movement information of the self-mobile device can be analyzed based on sensor information. The movement information includes at least one of the following: movement direction, steering angle, movement trajectory, movement duration, movement speed, images during movement, and the relative positional relationship between non-grass objects and the self-mobile device during movement. Non-grass objects are any objects other than grass, such as boundaries, trees, rocks, and animals. Based on this movement information, it can be determined whether the self-mobile device meets the distress condition.

[0239] In one embodiment, the distress condition includes:

[0240] A target position relationship is maintained between the mobile device and the non-grass object, a target angle is greater than a first threshold, and a spatial parameter corresponding to the target trajectory is less than a second threshold;

[0241] Alternatively, a target position relationship is maintained between the self-mobile device and the non-grass object, a target angle is greater than a first threshold, and a target duration is less than a third threshold;

[0242] Among them, the target position relationship is that the non-grass object is located on the first side of the self-moving device, the target angle is the cumulative turning angle of the self-moving device in the process of maintaining the target position relationship, the target trajectory is the moving trajectory of the self-moving device in the process of maintaining the target position relationship, and the target duration is the duration of maintaining the target position relationship.

[0243] For example, if the default edge mode of the self-moving device is to keep the border on the right side of the self-moving device, the first side can be set to the right side of the self-moving device. If the default edge mode of the self-moving device is to keep the border on the left side of the self-moving device, the first side can be set to the left side of the self-moving device.

[0244] As shown in FIG9 , the dilemma area 20 may be an area surrounded by a portion of the boundary 10 and an obstacle 21. The opening 22 of the dilemma area is relatively small, and the self-moving device may inadvertently enter the dilemma area 20 through the opening 22. The self-moving device will detect the boundary and obstacles in the dilemma area, and take certain avoidance measures. For example, a bypass method will be adopted to try to bypass the boundary and obstacles. In this process, the self-moving device can be set to the left side of the boundary and obstacle, and the boundary and obstacle can be kept on the right side of the self-moving device. The implementation method is: based on the image, the position of the boundary or obstacle is judged, the relative position relationship between the self-moving device and the boundary / obstacle is determined, and the posture of the self-moving device is adjusted so that the boundary / obstacle is always on the right side of the self-moving device.

[0245] As shown in Figure 9, the self-moving device moves in the direction indicated by the arrow in the figure, the first side is the right side, and the target position relationship is that the non-grass object is located on the right side of the self-moving device. In the process of moving while maintaining the target position relationship, a target trajectory 30 is formed. In the process of moving while maintaining the target position relationship, the self-moving device will determine the cumulative turning angle in this process, that is, the target angle. If the cumulative turning angle is greater than the first threshold (such as 540 degrees), it means that the self-moving device is circling. At the same time, if the spatial parameter corresponding to the target trajectory is less than the second threshold, or the target duration is less than the third threshold, it means that the self-moving device covers a very small space while circling, which means that the self-moving device is trapped / moved into a difficult area.

[0246] As shown in Figure 9, the target trajectory and target duration are determined as follows. The spatial parameters corresponding to the target trajectory 30 can represent the size of the space covered by the target trajectory 30. For example, the spatial parameters can be the area, length, width, or side length of the space covered by the target trajectory 30. While moving while maintaining the target position, the self-moving device determines the cumulative duration of this process, which is the target duration.

[0247] In other embodiments, the dilemma area may be an area surrounded only by obstacles.

[0248] In one embodiment, executing the escape step to control the self-moving device to leave the difficult area includes:

[0249] When the self-moving device meets the dilemma condition and the first preset condition, a real-time image is acquired, and the self-moving device is controlled to leave the dilemma area according to the real-time image.

[0250] The first preset condition indicates that the corresponding distress area is relatively small. When the mobile device meets the distress condition, it can be said that the mobile device is trapped in the distress area. If the mobile device also meets the first preset condition, it can be said that the distress area in which the mobile device is trapped is relatively small. In this case, the real-time image captured by the camera can be used to control the movement direction of the mobile device based on the real-time image, thereby navigating away from the distress area.

[0251] In one embodiment, the first preset condition includes: a maximum side length of the target polygon is less than a fourth threshold; wherein the target polygon is a circumscribed polygon of the target trajectory.

[0252] Exemplarily, the first preset condition includes: the maximum side length of the circumscribed polygon of the target trajectory 30 is less than 1.5 meters.

[0253] In one embodiment, acquiring real-time images and controlling the mobile device to leave the difficult area based on the real-time images includes:

[0254] Acquire real-time images;

[0255] determining a first opening based on the real-time image, the first opening corresponding to a grassy area between adjacent distressed objects;

[0256] According to the real-time image, the self-moving device is controlled to move toward the first opening and pass through the first opening to leave the difficult area.

[0257] If the predicament area is relatively small, a real-time image can be captured by a camera. The self-mobile device can perform image recognition processing on a single frame of the real-time image to obtain grass areas and non-grass areas in the image. Based on the positional relationship between the grass areas and the non-grass areas, a grass area of ​​appropriate width located between the non-grass areas is determined. This grass area is used as the first opening. Based on the relative positional relationship between the first opening and the self-mobile device, the self-mobile device is controlled to move toward the first opening, and then pass through the first opening to exit the predicament area. For example, the width of the first opening is at least greater than the width of the self-mobile device.

[0258] The method of using a single-frame image to find an opening is more suitable for situations where the distress area is relatively small. It can accurately, quickly and efficiently determine the opening and control the self-moving equipment to escape efficiently.

[0259] In one embodiment, determining the first opening according to the real-time image includes:

[0260] Converting a real-time image into a raster image, wherein the raster image includes a grass raster and a non-grass raster, wherein the grass raster represents a grass object, and the non-grass raster represents a non-grass object;

[0261] A first opening in the grid image is determined according to the relative positional relationship between the grass grid and the non-grass grid.

[0262] In one embodiment, controlling the self-moving device to move toward the first opening and pass through the first opening includes:

[0263] determining a target direction based on a first opening in the raster image;

[0264] Controlling the self-moving device to move toward the target direction, so as to control the self-moving device to move to the first opening;

[0265] The self-moving device is controlled to move forward to pass through the first opening.

[0266] For example, the camera is a 2D camera, and the real-time image it captures is a two-dimensional image. This makes it difficult to directly determine the opening based on the two-dimensional image. Therefore, image recognition processing can be performed on the two-dimensional image to determine grass and non-grass areas within the image. The two-dimensional image is then converted into a raster image, retaining the grass or non-grass attributes corresponding to each location point in the raster image, resulting in a grass grid / non-grass grid. Determining the first opening based on the raster image can more accurately determine distance information between objects, thereby accurately determining an opening of appropriate width. The raster image can also more accurately determine the relative position information between non-grass objects and the self-moving device, thereby more accurately controlling the movement of the self-moving device toward the opening.

[0267] In one embodiment, the control method further includes:

[0268] When the movement information satisfies a first preset condition, a first map is obtained, and the self-moving device is controlled to avoid obstacles based on the first map.

[0269] In the process of determining the opening based on the real-time image and controlling the self-moving device to move toward the opening, the self-moving device may be controlled to avoid obstacles based on the first map.

[0270] The first map can be a global map of the work area or a local map of the work area. The first map can mark grass, boundaries, obstacles, etc.

[0271] Obstacle avoidance is performed based on a map obtained from multiple images, and movement toward an opening is performed based on a real-time single-frame image. The combination of these two methods allows efficient obstacle avoidance while searching for an opening, enabling the self-moving device to escape from trouble more accurately and efficiently, and is more suitable for situations where the troubled area is smaller.

[0272] In one embodiment, the first map is updated periodically. The first map may be a local map, which may represent an environment within a certain range centered on the machine. The local map may be updated as the location of the mobile device changes. The local map may be based on multiple images taken within a recent period of time. The local map may be updated periodically, i.e., updated periodically, at regular intervals.

[0273] In one embodiment, executing the escape step to control the self-moving device to drive out of the predicament area includes: controlling the self-moving device to retreat and turn when the self-moving device meets a third preset condition, and the third preset condition includes the self-moving device continuously turning in the opposite direction multiple times.

[0274] As shown in Figure 10, after the self-moving device executes the action of turning in the first direction, if an obstacle is found, it will then execute the action of turning in the second direction. If the first direction and the second direction are opposite directions, it can be said that the self-moving device is stuck in a corner. You can first control the self-moving device to move backward, then turn around and leave the trapped corner.

[0275] The self-propelled vehicle can detect obstacles based on vision, collision sensors, or torque sensors.

[0276] In one embodiment, executing the escape step to control the self-moving device to leave the difficult area includes:

[0277] When the self-moving device meets the dilemma condition and does not meet the first preset condition, obtaining a second map, and controlling the self-moving device to leave the dilemma area according to the second map;

[0278] Among them, satisfying the first preset condition indicates that the mobile device is located in a first dilemma area, not satisfying the first preset condition indicates that the mobile device is located in a second dilemma area, the dilemma area parameter of the first dilemma area is smaller than the dilemma area parameter of the second dilemma area, and the dilemma area parameter indicates at least one of the area, length and width of the dilemma area.

[0279] Failure to meet the first preset condition indicates that the corresponding predicament area is relatively large. When the mobile device meets the predicament condition, it can be indicated that the mobile device is trapped in the predicament area. If the mobile device does not meet the first preset condition, it can be indicated that the predicament area in which the mobile device is trapped is relatively large. In this case, the movement direction of the mobile device can be controlled based on the second map to escape the predicament area.

[0280] In one embodiment, the dilemma conditions include: the self-mobile device is moving along the right edge (the non-grass object is located on the right side of the self-mobile device), the cumulative turning angle when the self-mobile device maintains the right edge is greater than 540 degrees, and the maximum side of the circumscribed polygon of the historical trajectory when the self-mobile device maintains the right edge is less than 4 meters and not less than 1.5 meters.

[0281] In one embodiment, the dilemma conditions include: the self-mobile device moves to the right edge (non-grass is located on the right side of the self-mobile device), the cumulative turning angle when the self-mobile device maintains the right edge is greater than 540 degrees, and the cumulative time when the self-mobile device maintains the right edge is less than 40 seconds.

[0282] In one embodiment, the second map may be a local map, which may represent an environment within a certain range centered on the mobile device, and may mark grass and non-grass areas (obstacles, boundaries). The local map may be updated periodically.

[0283] In one embodiment, the second map may be a global map of the work area.

[0284] In one embodiment, controlling the mobile device to leave the difficult area according to the second map includes:

[0285] determining a second opening according to the second map, the second opening corresponding to a grassy area between adjacent dilemma objects, and the second opening satisfying a position constraint;

[0286] According to the second map, the self-moving device is controlled to move toward the second opening and pass through the second opening to leave the difficult area.

[0287] In the case of a large predicament area, the method of determining the opening position according to the map can more accurately, quickly and efficiently control the mobile device to escape from the predicament area.

[0288] In one embodiment, the position constraint conditions include: there is no difficult object (boundary / obstacle) within a preset surrounding range, the area is located at the junction of the difficult object and the grass area, and the two opposite sides are connected.

[0289] For example, the location points in the second map are traversed to determine whether they meet the location constraint condition. If so, the location can be used as the second opening.

[0290] Using the location to be determined as the center point, determine whether there are obstacles within a certain range around it. If there are no obstacles, it indicates that the space near the location is wide enough for the aircraft to pass through. Determine whether the location to be determined is located at the intersection of the dilemma object and the grass area; if so, it is near the dilemma area and not in an open area far from the dilemma. Determine whether the two sides of the location to be determined are connected. If so, there is a passable path through the location. If not, it indicates that the location may be surrounded by dilemma objects on three sides.

[0291] For example, in combination with FIG11 , based on the above position constraints, positions far away from the dilemma area (such as position 24) can be excluded, and positions adjacent to the dilemma object on three sides (such as position 25) can also be excluded, so that position 23 can be accurately selected as the second opening.

[0292] By making judgments based on position constraints, erroneous positions can be screened out and filtered to accurately find the opening position.

[0293] For example, the local map can be a grid map, and all grids in the local map can be traversed and judged one by one to determine whether the grid meets the position constraint conditions. After determining the grid to be judged, the following judgments can be performed: first, whether there are obstacles within the 25 grids around the grid to be judged; second, whether the grid to be judged is located at the intersection of the dilemma object and the grassland; third, whether there are any line segments passing through the grid to be judged that do not pass through the dilemma object, with the length of the line segment being 16 grids; where the width of each grid represents 5CM space length.

[0294] The parameters in this embodiment, such as length, width, threshold, duration, area, etc., can be set according to actual conditions.

[0295] After performing traversal judgment or selective judgment on the position of the map, if an opening cannot be found, the self-mobile device can be controlled to move along the boundary of the difficult area and search for an opening during the movement.

[0296] The two methods of searching for an opening by traversing or selectively judging the position of the map and moving along the boundary of the dilemma area can have a priority, and the order of priority can be set according to the actual situation. Alternatively, only one method can be used.

[0297] In one embodiment, the method of moving along the boundary of the dilemma area to find an opening is as follows: Controlling the mobile device to leave the dilemma area according to the second map includes:

[0298] controlling the mobile device to travel along the difficult object according to the second map;

[0299] When the third opening is detected, the self-moving device is controlled to move toward the third opening and pass through the third opening to leave the dilemma area, wherein the third opening corresponds to a grass area between adjacent dilemma objects.

[0300] According to the distribution position of the dilemma object in the second map, a path extending along the edge of the dilemma object can be planned, and the mobile device can be controlled to move along the planned path.

[0301] While moving along the edge of the precarious object, the self-moving device can collect images and update the map. If the map detects that the edge of the precarious object suddenly disappears or becomes discontinuous, it indicates that a third opening may have been encountered. The self-moving device can then be controlled to perform a drilling action, redirecting its forward direction toward the extension of the third opening.

[0302] As shown in Figure 12, taking the example of a self-moving device moving along the edge of a predicament object, where the predicament object is located on the right side of the self-moving device, when it is detected that the edge of the predicament object suddenly disappears / is discontinuous, the self-moving device can move in an arc to the left, and then move in an arc to the right, thereby turning the forward direction to the direction of the third opening 28, and continue to move forward, trying to pass through the third opening 28.

[0303] In one embodiment, controlling the mobile device to leave the difficult area according to the second map includes:

[0304] If the self-moving device fails to successfully pass through the third opening within the preset time, the process returns to the step of controlling the self-moving device to travel along the difficult object according to the second map.

[0305] For example, the preset time length is 6 seconds. The self-moving device may start by moving the self-moving device in an arc to the left. If the self-moving device cannot pass through the third opening within 6 seconds, the self-moving device may retreat and continue to move along the edge of the difficult object.

[0306] In one embodiment, the control method includes:

[0307] When the position of the self-moving device is outside the space corresponding to the target trajectory, it is determined that the self-moving device has successfully escaped.

[0308] For example, the method of determining whether the self-moving device has successfully escaped may include: determining whether the current position of the self-moving device is outside the circumscribed polygon of the target trajectory; if so, it indicates that the self-moving device has successfully escaped.

[0309] In one embodiment, whether searching for an opening based on a single-frame image or searching for an opening based on a local map, the mobile device can be controlled to preferentially turn to a location with fewer obstacles.

[0310] This embodiment can be applied to the edge mode or internal cutting mode of the self-moving device. The edge mode refers to the self-moving device moving and / or cutting along the boundary of the working area, and the internal cutting mode refers to moving and / or cutting within the boundary of the working area.

[0311] In addition, an embodiment is provided, a control device applied to a self-moving device, the self-moving device being configured to move and / or work in a working area, the self-moving device being provided with a sensing module, the control device comprising:

[0312] A first control module is configured to control the movement of the mobile device in the working area;

[0313] a sensing module configured to obtain sensing information;

[0314] The second control module is configured to execute an escape step to control the self-moving device to leave the dilemma area when it is determined based on the sensor information that the self-moving device meets the dilemma condition; wherein the dilemma area is an area that limits the movement range of the self-moving device, and the dilemma area has at least one dilemma object, and the dilemma object includes a dilemma obstacle and / or a dilemma boundary.

[0315] The first control module and the second control module may be integrated into a controller of the mobile device.

[0316] In one embodiment, whether in the edge mode or the internal cutting mode, if the self-moving device enters an obstructed, trapped or slipping condition, the obstructed, trapped or slipping condition is processed first.

[0317] The following describes the steps for removing a mobile device from an obstructed or trapped working condition.

[0318] FIG13 shows an automatic operation system according to this embodiment, which may include: a mobile device 1, a boundary 7, and a base station 3. The mobile device 1 travels and operates within a working area 4 defined by the boundary 7. The base station 3 can be used to return energy to the mobile device when it runs low on energy. The boundary 7 may be the perimeter of the entire working area, referred to as the outer boundary. It is typically connected end to end, enclosing the working area 4. It can be electronic or physical. A physical boundary can simply be a natural physical boundary formed by the intersection of the working area 4 and a non-working area, such as the boundary between grass and non-grass, or a boundary formed by a wall, fence, or railing. For example, if a user's lawn is adjacent to a neighbor's, a fence 2 as shown in FIG13 can be used to form a boundary. An electronic boundary can be established by laying wires around the working area 4 and using a boundary signal generator connected to the wires to generate a virtual boundary signal, such as an electromagnetic signal, an acoustic signal, or a light signal. The working area may also contain an area 5 that is unsuitable for the mobile device 1 to operate. This area 5 forms a boundary, such as a flower bed, a pool, or an obstacle. This area 5 can be referred to as the inner boundary, with the area outside the inner boundary forming the working area.

[0319] The self-moving device 1 can be an automatic lawn mower, a robot vacuum, an automatic snow blower, or other unmanned equipment that automatically moves on the surface of the work area to mow the grass, vacuum, or sweep the snow. Of course, the self-moving device is not limited to an automatic lawn mower, a robot vacuum, or an automatic snow blower, and can also be other unmanned equipment, which is not limited in this application.

[0320] In the following specific embodiments, a detailed description is given by taking the automatic working system as an automatic lawn mower system, that is, the self-mobile device 1 as an automatic lawn mower.

[0321] The automatic lawn mower includes a housing, a travel module, an operating module, a controller, and an energy module. The controller connects to and controls the travel module and the operating module to enable the automatic lawn mower to travel and operate automatically. In an embodiment of the present application, the automatic lawn mower may also include a visual sensor 11 for capturing images. After capturing the images, the lawn mower performs image segmentation to identify grass, non-grass, soil, fallen leaves, fences, stone slabs, etc., and controls the lawn mower to travel within the segmented grass or other areas corresponding to user-defined categories (e.g., stone slabs). The lawn mower can use a random driving method to mow the interior of the work area. After completing the internal mowing, it can also use a side-by-side driving method to cut grass on the edge or return to recharge. The automatic lawn mower may also include a position detection sensor (e.g., an IMU, odo) for capturing the current geographic location. The position detection sensor creates a map of the work area, and the machine's travel and operation are controlled based on the map. Of course, the solutions in the following embodiments of the present application are also applicable to the case where the automatic lawn mower does not have a visual sensor and is only equipped with a position detection sensor such as an RTK to create a map of the work area.

[0322] As shown in the scenario of Figure 13, when the automatic lawn mower is driving in the working area, it drives into an area that is roughly at an inner right angle surrounded by two obstacles. Since it cannot accurately identify the barrier-free area, it collides with the inner right angle area 6 multiple times and cannot escape from this dilemma. Alternatively, when the automatic lawn mower is driving in the working area, it cannot accurately identify the boundary, resulting in intermittent collisions with the boundary. When the boundary is an obstacle such as a wall, the machine may be damaged to a certain extent, but the machine cannot escape from this dilemma. Alternatively, when the automatic lawn mower drives into a narrow area (such as an area surrounded by table legs), since it cannot accurately identify the exit that can be driven out, it may collide with an obstacle (such as a table leg) while looking for an exit in the narrow area, but the machine cannot escape from this dilemma. All of the above dilemmas may cause a certain degree of damage to the machine and low working efficiency.

[0323] In response to the above problems, the present application proposes an automatic working method, in which, when it is detected that the self-moving device is trapped, a map and an area on the map that is not marked by obstacles are obtained; and the self-moving device is controlled to travel to the unmarked area to escape. When the above scenario occurs, it is necessary to quickly identify the above trapped situation through relevant sensors. When it is identified as trapped, the self-moving device is controlled to travel to the unmarked area to escape according to the marking of obstacles on the map. Through this method, the trapped situation in the above scenario can be solved. Specifically, as shown in Figure 14, the automatic working method includes the following steps:

[0324] S201: When it is detected that the self-moving device is trapped, the map is obtained, where obstacles are marked on the map.

[0325] In one embodiment of the present application, when it is detected that the automatic lawn mower is trapped, a map of the area surrounding the lawn mower is obtained, and subsequent escape operations are performed based on the map.

[0326] In one embodiment of the present application, when it is detected that the lawn mower, such as a camera, has collided more than a preset number of times, the driving wheel of the lawn mower has been blocked, or the lift sensor set on the universal wheel of the lawn mower has detected that it has been lifted, it can be determined that the lawn mower is trapped. Alternatively, when the lawn mower is turning left, the IMU installed on it recognizes that the yaw angle value changes by more than a preset angle value, such as 540 degrees; and the longest side of the circumscribed rectangle of the driving route where the yaw angle value changes is less than or equal to a preset length value, such as 5m, it can be determined that the lawn mower is in a trapped scene due to being unable to escape. When the lawn mower is in a trapped scene due to being unable to escape, if it is detected that the lawn mower has collided, blocked, or lifted once, it can be determined that the lawn mower is trapped. When it is determined that the lawn mower is trapped in the above scenarios, the solution mentioned in this application can be used to use the map of the area around the lawn mower to escape.

[0327] Furthermore, when the lawn mower is detected to be trapped, a local map centered on the lawn mower can be obtained. The map is a rectangular area with a side length of 2 meters centered on the lawn mower, and the initial value of the grid in the rectangular area is 0. When an obstacle is detected, the value in the grid can be updated, for example, to 1.

[0328] Furthermore, obstacles are marked on the map, and boundaries also qualify as obstacles. In embodiments of the present application, the location and size of obstacles on the map can be determined using a visual sensor, an obstacle detection sensor, or a related algorithm. Specifically, as shown in Figure 15 , when a sensor mounted on the lawn mower detects at least one of the following fault types during operation: detecting an obstacle, detecting the machine lifting, or detecting a change in motor torque, the area near the sensor's geographic location can be marked as an obstacle on the map. If the map is a grid map, a fixed number of grid cells near the sensor can be marked as obstacles, or a corresponding number of grid cells can be marked as obstacles based on the obstacle's size or torque, with larger obstacles resulting in a greater number of marked grid cells. As shown in Figure 15 , when the obstacle detection sensor detects that the camera has encountered an obstacle, six grid cells K in front of the camera's location can be marked as obstacles. When the obstacle detection sensor detects that the universal wheel has lifted, six grid cells in front of the universal wheel's location can be marked as obstacles. Of course, obstacles can also be identified directly using images captured by the visual sensor and marked at the corresponding locations on the map.

[0329] When the wheel motor torque of the mower exceeds a preset threshold, the system obtains the mower's speed, direction, and first area covered on the map. Simulates the second area covered by the mower after traveling at the same speed and direction for a preset time. Determine any areas within the second area that are not covered by the first area, and mark the uncovered areas as obstacles. This area can be a grid. If the uncovered area is half a grid, the entire grid is marked as an obstacle for safety reasons.

[0330] Furthermore, based on the type of fault identified by the sensor, obstacles can be marked on the map, along with the obstacle type. Thus, when the mower is unable to escape, the obstacle marks on the map that meet the obstacle type are deleted, and the mower is controlled to move to an unmarked area to escape. Multiple tests conducted by staff have shown that there may not be an insurmountable obstacle at the location where lift is detected. Therefore, in some scenarios, it is not necessary to mark the obstacle on the map at the location where lift is detected. Compared to marking the fault as soon as it is detected, this approach increases the number of unmarked areas on the map, thereby significantly increasing the probability of the mower escaping.

[0331] In an embodiment of the present application, when it is detected that the automatic lawn mower is trapped, a map of the area around the lawn mower is obtained, and the lawn mower is controlled to travel to an area not marked as an obstacle in the map to perform subsequent escape operations.

[0332] S202: Acquire an unmarked area on the map.

[0333] In this application, obtaining an unmarked area on a map means obtaining an area with a grid value of 0 on the map.

[0334] In one embodiment of the present application, before zooming in on an obstacle on a map, the method includes: obtaining a first search range for obstacles on the map, where the first search range includes: a grid area larger than the grid area covered by the mobile device on the map; and determining the area covered on the map when the mobile device reaches the location of an obstacle within the first search range. Specifically, when a lawn mower is detected to be trapped, a map of the area near the mower is first obtained. Then, with the mower's location as the center, information about obstacles within the grid map's coverage area is obtained. For example, information about obstacles within a circle within the grid map, with the mower's location as the center and a radius greater than the mower's body length, can be obtained.

[0335] Furthermore, when the lawn mower's body is divided into two parts with unequal lengths, the corresponding obstacle search range on the map can also be divided into two unequal parts, and obstacles in these two parts of the map can be searched separately. For example, the front half of the body covers 4 grid cells in the length direction of the map, the back half covers 8 grid cells in the length direction of the map, and the body covers 10 grid cells in the width direction. Therefore, in the map corresponding to the front half of the body, obstacle information within a circle with a radius of 8 grid cells (40 cm) centered on the lawn mower's location can be obtained; in the map corresponding to the back half of the body, obstacle information within a circle with a radius of 10 grid cells (40 cm) centered on the lawn mower's location can be obtained.

[0336] Furthermore, the first search range can be determined based on the direction the mower was traveling when it was detected as trapped. Specifically, obstacles in the area of ​​the map opposite to the direction of travel are retrieved. Setting the first search range reduces the amount of data computation required for the mower. In one embodiment, when the mower is detected as trapped, the linear velocity direction of the mower is first retrieved. If the linear velocity direction is directly forward, obstacle information is retrieved within a radius of 10 grid cells directly behind the mower's location on the map.

[0337] In one embodiment of the present invention, after obtaining the obstacle information, the area covered by the self-moving device on the map when it is located at the obstacle position can be simulated, thereby controlling the self-moving device to travel to the uncovered area to escape. Obstacles are marked in the grids of the map, and the algorithm is used to simulate the multiple grids covered by the lawn mower when it reaches each grid, and uncovered grids are obtained (the median value of the grid is 0), so that the lawn mower can travel to these grids to find a passable direction without controlling it to randomly bump around in various directions to try to find a passable direction where there are no obstacles. Alternatively, the obstacles on the map can be magnified, and the magnification factor is roughly equal to the coverage grid of the self-moving device on the map. Specifically, the area of ​​the self-moving device is magnified for each grid in the obstacle.

[0338] In another embodiment, in the difficult scenario shown in FIG16 , after obtaining obstacle information, multiple rays as shown in FIG17 can be drawn with the lawn mower as the center and within a 360-degree range around the lawn mower at equal angles. Two adjacent rays define a sector, resulting in N sectors. The sector value in each direction is determined based on whether there is an obstacle in the grid covered by each sector. If an obstacle is present, the sector value in that direction is marked as 1. Furthermore, the distance of the nearest obstacle relative to the lawn mower in the map grid covered by each sector in each direction is obtained. Based on the distance D relative to the lawn mower obtained for each sector, the width d of the vehicle body, and the sector resolution (2pi / N), the number of sectors required to be expanded for each sector is determined. In this case, the number of sectors required to be expanded for each sector is calculated as: (Arcsin(d / D)) / (2pi / N). The number of sectors required to be expanded represents the number of sectors that will be covered when the lawn mower reaches that sector. For example: if the calculated number of sectors is 2, the 4 sector values ​​near the current sector can be marked as 1. Get the direction of the sector ray with a sector value of 0. This direction or this sector area can be the direction or area where the lawn mower can escape. By simulating the area that the lawn mower will cover when it reaches the obstacle through the sector, compared with the method of simulating the grids covered when the fuselage is located at each obstacle in the above embodiment, the sector simulation method does not need to simulate all the grids covered by the obstacle when the machine is traveling. Therefore, while ensuring that the obstacles around the lawn mower are simulated and covered, there is no redundancy and the algorithm is simpler. Therefore, when the lawn mower detects that it is trapped, it can escape from the predicament faster.

[0339] In another embodiment of the present application, multiple driving directions can be randomly generated on the map with the location of the lawn mower as the center, and the locations it will reach after driving along these directions are simulated, and it is identified whether these locations overlap with obstacle points (grid value is 1); non-overlapping driving directions are selected; and evaluation parameters of each non-overlapping driving direction are calculated. The evaluation parameter is related to the distance between the location reached by the lawn mower after the simulated driving and the obstacle point, for example: 80 / distance squared, and the direction with the smaller evaluation parameter is selected as the driving direction of the machine to escape.

[0340] In an embodiment of the present application, the lawn mower simulates the area it covers on the map when it reaches the obstacle through an algorithm or by zooming in on the obstacle, so as to obtain the area on the map that is not marked by the obstacle.

[0341] S203: Control the self-moving device to move toward the unmarked area to escape.

[0342] In an embodiment of the present application, when an area on the map that is not marked by obstacles is obtained, the lawn mower is controlled to move toward the unmarked area to escape.

[0343] In one embodiment of the present application, when there are multiple unmarked areas, the lawn mower is controlled to move to an area or direction that is closer to the unmarked area to escape, based on the distance between the lawn mower and the unmarked area. Preferably, when there is a mark in front, the lawn mower moves directly forward.

[0344] If no unmarked areas exist, obstacles in the direction opposite to the original direction are retrieved on the map. For example, in the above embodiment, when the lawn mower is detected to be stuck, the linear velocity direction of the machine is first obtained. If the linear velocity direction is directly forward, obstacle information within a radius of 10 grid cells directly behind the machine position on the map is obtained. If there are obstacles within the radius of 10 grid cells directly behind, obstacle information within the radius of 8 grid cells directly in front is obtained.

[0345] If there are no uncovered areas on the map, a second search range for obstacles on the map can be obtained. The second search range is larger than the area covered by the mobile device on the map, but smaller than the first search range. The area covered on the map when the mobile device reaches the obstacle position within the second search range is determined. That is, if obstacles exist within the search range in the front and rear directions of the lawn mower on the map, the search range is narrowed, but the search range is larger than the lawn mower itself.

[0346] After determining the target driving area, the distance between the current driving direction of the mobile device and the target driving area is obtained; based on this distance, the driving angular velocity and driving linear velocity of the lawn mower when driving toward the target driving area are determined, with the driving angular velocity being positively correlated with the distance and the driving linear velocity being negatively correlated with the distance; based on the driving angular velocity and driving linear velocity, the lawn mower is controlled to drive toward the target driving area to escape. For example, for the above-mentioned fan-shaped embodiment, if the distance between the current direction of the lawn mower and the target ray direction is greater than N / 4, the linear velocity is set to 0.03m / s and the angular velocity is set to 0.025m / s×d; if the distance between the current direction of the lawn mower and the target ray direction is less than N / 4 and greater than N / 6, the linear velocity is set to 0.05m / s and the angular velocity is set to 0.02m / s×d. By setting the speed in this way, the lawn mower can turn to the target position or target direction more quickly when the position change is relatively small.

[0347] In an embodiment of the present application, during the process of getting out of trouble, when there is an unmarked area that can be escaped in the search range selected for the first time, only the obstacle information in the search range is obtained during the subsequent driving process. For example: when it is determined that there is an unmarked area directly behind the lawn mower in the map when it is trapped, only the map within the rear search range is obtained during the subsequent process of getting out of trouble. By controlling the machine to continuously escape in the same direction in this way, it is prevented that the lawn mower repeatedly switches the search range, resulting in the lawn mower choosing to drive forward when there is an unmarked area in front of the lawn mower, and choosing to drive backward when there is an unmarked area behind the lawn mower, which is similar to the defect of the lawn mower oscillating back and forth.

[0348] After detecting that the self-moving device is trapped, if the self-moving device travels at least a first preset distance without detecting any abnormality during the self-moving device's escape action, the self-moving device is determined to have successfully escaped. For example, during the execution of the obstruction, if the self-moving device travels 15 cm after the actual collision is resolved, the single obstruction is determined to have ended.

[0349] In one embodiment of the present application, if a collision is still detected during the escape process, the obstacle continues to be marked on the map in the above manner.

[0350] Furthermore, after determining that the self-mobile device has been successfully freed, the area covered in the map when it was detected to be trapped will be marked as an obstacle to prevent the machine from mistakenly driving into the trapped area during subsequent driving, resulting in reduced work efficiency.

[0351] After the self-moving device is determined to have successfully escaped, if it is detected that the self-moving device has traveled to a second preset distance from the trapped location, obstacles marked on the map by sensors installed on the self-moving device due to a fault detected are deleted. For example, after the lawn mower is determined to have successfully escaped, if it is detected that it has traveled to 5 meters from the trapped location, obstacles marked due to abnormal conditions such as camera collision, torque change, or universal wheel lift are deleted. When map accuracy is low, the accuracy of obstacle marks decreases as the lawn mower travels longer, so they can be deleted. This is because the visual sensor updates data as it captures images, so its marked obstacles can be retained.

[0352] In one embodiment of the present application, in an inner right-angle scenario as shown in FIG13 , when multiple collisions are detected, if the above-mentioned sector embodiment is adopted, the search range in the map can be judged as the marking situation of the sector in the right half of the lawn mower. If there are parts marked as 1 in the right half of the sector distributed on both sides of the right half, the center point of the grid marked as 0 is obtained as the target direction, and the machine is controlled to travel to the target direction by retreating in an arc to escape.

[0353] In another embodiment of the present application, when it is detected that half of the sectors corresponding to the search range that are 1 are more than half and half are less, it means that the machine is most likely in the edge process as shown in Figure 18. At this time, due to the low accuracy of the visual sensor, the lawn mower may recognize the boundary for a while and then fail to recognize the boundary, and collisions occur continuously during driving. At this time, the direction of 2 / 3 of the side with less in the sector can be taken as the target direction, and the machine can be controlled to escape by driving to the target direction.

[0354] When these two scenarios are detected during escape, the vehicle is judged to have escaped successfully if it travels 1m after the actual collision is resolved or travels 0.75m after deflecting 30 degrees.

[0355] In an embodiment of the present application, when a self-moving device is detected as trapped, a map and an area on the map not marked by obstacles are obtained; the self-moving device is controlled to move to the unmarked area to escape. When this scenario occurs, it is necessary to quickly identify the trapped situation through relevant sensors. When the trapped situation is identified, the self-moving device is controlled to move to the unmarked area to escape based on the obstacle markings on the map. This method can resolve the trapped situation in the above scenario.

[0356] The following describes how a slip condition is detected from a mobile device.

[0357] In one embodiment, the self-moving device can detect a slipping condition based on an image. If the image feature points change little within 6 seconds, it can be said that the self-moving device has entered a slipping condition. At this time, the external manifestation of the slipping condition may include both wheels of the self-moving device slipping and idling, causing the machine to be almost motionless.

[0358] In one embodiment, the self-moving device may also detect changes in the machine posture based on the IMU and odo respectively. If the values ​​are inconsistent, it may indicate that the self-moving device has entered a slipping condition. At this time, the external manifestation of the slipping condition may include a wheel slipping and idling.

[0359] In one embodiment, during the driving process of the self-moving device, the driving motor torque of the driving wheel is obtained. Multiple motor torques in a preset time period (such as 2s) are intercepted respectively. When it is identified that the rate of change of the motor torque in the preset time period is greater than a preset threshold, multiple motor torques and the duration of the motor torque detection are detected. When the motor torque is detected to be greater than a first preset value (such as 40N·m) for a first preset time period (such as 0.1s), it can be determined that the machine is slipping / stuck; when the motor torque is detected to be greater than a second preset value (30N·m) for a second preset time period (0.6s), it is determined that the machine is slipping / stuck; when the motor torque is detected to be less than the second preset value (such as: 30N·m), no instruction is output. Among them, the first preset time period is less than the second preset time period, and the first preset value is greater than the second preset value. In this embodiment, if the method of the previous embodiment is used to detect the posture change of the machine when it is moving straight by using the IMU and odo to determine whether slipping has occurred, since the IMU may not be able to detect the angle change when the machine is moving straight, its detection result will be consistent with odo, and thus slipping cannot be identified. This embodiment can be used to supplement the detection result of the previous embodiment. Furthermore, since stalling can be determined by whether the left and right wheel motors are stalled, in most cases, when the motors are stalled, the torque has not yet begun to rise, and the torque change rate is not large. Therefore, the method of torque change rate determination in this embodiment will identify slipping in most cases. That is, when slipping / stalling is detected using the method in this embodiment, the corresponding processing method for slipping can be executed preferentially.

[0360] Furthermore, before obtaining the driving motor torque for driving the wheels, it is detected whether the robot is in at least one of the following working conditions, including: starting stage, acceleration and deceleration, or uphill and downhill stages. Because the motor torque under these working conditions is roughly the same as the motor torque change under the slipping working condition, it can be controlled to ignore the driving motor torque when the robot is in these working conditions, thereby avoiding misidentification of these working conditions as slipping or stalling. Specifically, by obtaining the motor torque or wheel speed, when the motor torque or wheel speed changes from 0 to non-zero, the machine is in the starting stage; when the difference in the speed of the robot at adjacent moments meets a preset threshold (such as 8m / s), or when the robot changes from reverse driving to forward driving, the robot is in the acceleration and deceleration stage; when the IMU identifies that the robot is at a position with a slope greater than a preset threshold (more than 25 degrees), the machine is in the uphill and downhill stage.

[0361] The following describes the control steps performed by the mobile device when the mobile device enters a slipping condition.

[0362] In one embodiment, when the self-moving device enters a slipping condition, extreme processing methods such as backward rotation and twisting can be performed.

[0363] In one embodiment, the priority of processing a slipping condition is higher than the priority of processing an obstructed escape condition.

[0364] In one embodiment, the priority of handling a slipping condition is lower than the priority of handling an obstructed escape condition.

[0365] In addition, an embodiment is provided, which is a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program is used to execute the above method.

[0366] In addition, an embodiment is provided, which is a self-moving device, comprising:

[0367] processor;

[0368] a memory for storing processor-executable instructions;

[0369] A processor is used to execute the above method.

[0370] The following describes the control steps performed when a dense grass condition is detected by the mobile device.

[0371] In one embodiment, when it is identified that the robot has a heavy load, the lawn mower is first controlled to reduce its moving speed. If the load is detected to be smaller after the lawn mower slows down, it is controlled to continue moving forward. The way to identify a heavy load includes: detecting that the motor torque is greater than a preset threshold or the cutter disc speed is low. If the lawn mower detects that the cutter disc speed is still low after slowing down, the machine is controlled to move backward. If the cutter disc speed increases after moving backward, it is controlled to move forward slowly; if the cutter disc speed is still low after moving backward, it is controlled to change the direction of movement. Furthermore, if the cutter disc speed is still low after moving backward, it is controlled to pause and an alarm is sounded. In this embodiment, when the robot moves on dense grass, it is promptly controlled to take action to move away from the dense grass to avoid triggering the robot's overheating protection and prevent the robot from shutting down.

[0372] It should be noted that the figures of the present invention are merely illustrative of the processes included in the methods according to exemplary embodiments of the present invention and are not intended to be limiting. It is readily understood that the processes illustrated in the figures of the present invention do not indicate or limit the temporal order of these processes. Furthermore, it is readily understood that these processes may be executed synchronously or asynchronously, for example, in multiple modules.

[0373] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0374] The above embodiments merely illustrate several implementations of the present invention, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the scope of the present invention, all of which fall within the scope of protection of the present invention.

Claims

1. An autonomous robot, characterized in that: The autonomous robot comprises: A sensor configured to collect environmental information; A memory configured to store a map of a working area around a current position of the autonomous robot; A processor is connected to the sensor and the memory signal, and the processor is configured to: Determining, according to the environmental information, that the autonomous robot encounters an obstacle, wherein the obstacle includes a non-working object; In response to the autonomous robot encountering an obstacle, controlling the autonomous robot to turn; Recording the position of the autonomous robot in the map when it turns, the position being the turning position; In response to detecting that the autonomous robot has made multiple turns within a limited time or area, the autonomous robot is controlled to move in a direction away from an area formed by multiple turning positions to escape; the multiple turning positions correspond to the multiple turns.

2. The autonomous robot according to claim 1, characterized in that: In order to detect that it makes multiple turns within a limited time or area, the processor is configured to: It is detected that a distribution density of the plurality of turning positions is greater than a preset threshold.

3. The autonomous robot according to claim 1 or 2, characterized in that: In order to detect that the distribution density of the plurality of turning positions is greater than a preset threshold, the processor is configured to: It is detected that the area of ​​the region formed by N consecutive turning positions is smaller than a first preset threshold, or that a sudden change occurs and is smaller than the area of ​​the region formed by other N consecutive turning positions; wherein N is greater than or equal to 3.

4. The autonomous robot according to claim 1 or 2, characterized in that: In order to detect that the distribution density of the plurality of turning positions is greater than a preset threshold, the processor is configured to: It is detected that the distance between N consecutive turning positions is less than a second preset threshold; wherein N is greater than or equal to 3.

5. The autonomous robot according to any one of claims 1 to 4, characterized in that: The processor is further configured to: The time when the autonomous robot turns or the sequence of the multiple turning positions is recorded.

6. The autonomous robot according to claim 5, characterized in that: In order to control the autonomous robot to move in a direction away from the area formed by the multiple turning positions to escape, the processor is configured to: generating an escape path based on a current position of the autonomous robot and a target turning position before the plurality of turning positions; The autonomous robot is controlled to move along the escape path.

7. The autonomous robot according to claim 6, characterized in that: In order to generate an escape path based on the current position of the autonomous robot and the target turning positions before the plurality of turning positions, the processor is configured to: When the current position is reached, in response to detecting that the area formed by the N consecutive turning positions is smaller than the area formed by the other N consecutive turning positions, obtaining the turning position recorded first in the detected area with a larger area as the target turning position; An escape path is generated based on the current position and the target turning position.

8. The autonomous robot according to claim 6, characterized in that: In order to generate an escape path based on the current position of the autonomous robot and the target turning positions before the plurality of turning positions, the processor is configured to: When the current position is reached, in response to detecting that the area of ​​the region formed by the N consecutive turning positions is greater than a third preset threshold, obtaining the turning position recorded first in the detected region as the target turning position; An escape path is generated based on the current position and the target turning position.

9. The autonomous robot according to any one of claims 1 to 8, characterized in that: The processor is further configured to: The processor is configured to record a movement path of the autonomous robot as it moves.

10. The autonomous robot according to claim 9, characterized in that: In order to generate an escape path based on the current position of the autonomous robot and the turning positions before the plurality of turning positions, the processor is configured to: The shortest path in the moving path passing through the current position and the target turning position is obtained, and the shortest path is used as an escape path.

11. The autonomous robot according to any one of claims 6 to 10, characterized in that In order to control the autonomous robot to move along the escape path, the processor is configured to: During the process of controlling the autonomous robot to move along the escape path, if no obstacle is identified through the sensor data collected in real time within a preset time period, the escape is successful.

12. The autonomous robot according to any one of claims 1 to 11, characterized in that: The processor is further configured to: In response to the autonomous robot successfully escaping from trouble, setting an area including the multiple turning positions as a restricted area on the map; When it is detected that the autonomous robot reaches the restricted area, it is controlled to turn or move along the boundary of the restricted area.

13. The autonomous robot according to any one of claims 1 to 12, characterized in that: The processor is further configured to: In response to the autonomous robot failing to escape, controlling the autonomous robot to move along the boundary of the obstacle; During the movement, an obstacle-free area is identified through the collected sensor data, and the autonomous robot is controlled to travel to the obstacle-free area to help the autonomous robot escape; wherein the obstacle-free area is a spatial area where the distance between obstacles is not less than the body width of the autonomous robot.

14. The autonomous robot according to any one of claims 1 to 13, characterized in that: The processor is further configured to: In response to the autonomous robot failing to escape, controlling the autonomous robot to move along the boundary of the obstacle; When the collected sensor data during the movement identifies that the robot has moved to the vicinity of the target turning position, it is determined that the autonomous robot has successfully escaped.

15. The autonomous robot according to any one of claims 1 to 14, characterized in that: The processor is further configured to: In response to the autonomous robot successfully escaping from the obstacle, the autonomous robot is controlled to enter a random mode; in the random mode, the autonomous robot randomly moves in a direction until the obstacle is identified.

16. The autonomous robot according to any one of claims 1 to 15, characterized in that: The sensor includes at least one of the following: an imaging sensor, an ultrasonic sensor, a laser sensor, and a radar sensor.

17. The autonomous robot according to any one of claims 1 to 16, characterized in that: The map is updated periodically.

18. A path planning method, characterized in that: The method is applied to an autonomous robot, and the method comprises: Determining, based on environmental information, that the autonomous robot encounters an obstacle, wherein the obstacle includes a non-working object; In response to the autonomous robot encountering an obstacle, controlling the autonomous robot to turn; Recording the position of the autonomous robot in the map when it turns, the position being the turning position; In response to detecting that the autonomous robot has made multiple turns within a limited time or area, the autonomous robot is controlled to move in a direction away from an area formed by multiple turning positions to escape; the multiple turning positions correspond to the multiple turns.

Citation Information

Patent Citations

  • Judgement method for trapped robot and control method thereof for rescuing robot

    CN108553041A

  • Robot escape method and device, robot and storage medium

    CN116107309A

  • Robot navigation method and device, robot and storage medium

    CN116125964A

  • Self-moving robot and walking mode conversion method and walking method therefor

    WO2017088811A1