Mobile robot trapped detection method, chip and mobile robot

By making loop judgments every time the mobile robot updates the grid coordinates, the problem of the visual sweeping robot being trapped by isolated obstacles is solved, and timely escape and improve user experience is achieved.

CN120370899APending Publication Date: 2025-07-25AMICRO SEMICONDUCTOR CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410064831.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-17
Publication Date
2025-07-25

AI Technical Summary

Technical Problem

The visual sweeping robot may be trapped by isolated obstacles during the global edge process, resulting in the inability to complete the cleaning task, affecting the user experience.

Method used

Every time the mobile robot updates the grid coordinates, it performs loop judgment. By determining whether the current grid coordinates and the line segment formed by the historical grid coordinates intersect and the angle difference is within the preset range, it determines whether it is trapped by an island obstacle, and uses a gyroscope to record the angle difference value to improve accuracy.

Benefits of technology

It realizes that mobile robots can detect trapped situations in a timely manner, and can implement escape strategies in a timely manner to avoid affecting work efficiency and improve the level of intelligence and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120370899A_ABST
    Figure CN120370899A_ABST
Patent Text Reader

Abstract

According to the trapped mobile robot detection method, the chip and the mobile robot provided by the invention, in the global edge process, the mobile robot performs loop judgment once every time the grid coordinates are updated; and if a first line segment where the current grid coordinates are located intersects with a second line segment where the historical grid coordinates are located and an angle difference value between the first line segment and the second line segment is within a preset angle range, determining that the mobile robot is trapped by the island obstacle. According to the method, the mobile robot can detect that the mobile robot is trapped by the island obstacle in time, so that a de-trapping strategy can be implemented in time, the working efficiency of the mobile robot is prevented from being influenced, and the intelligent level of the mobile robot and the use experience of a user are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of intelligent mobile robots, and specifically relates to a method for detecting entrapment of a mobile robot, a chip, and a mobile robot. Background Art

[0002] When a vision sweeping robot finishes cleaning, it generally uses a global edge-following method to search for and fill in leaks. However, during the global edge-following process, it may encounter isolated obstacles, and repeatedly follow the edge around the isolated obstacle without knowing it, and finally get trapped on the edge of the isolated obstacle and cannot complete the cleaning task completely, thus affecting the user experience. Summary of the Invention

[0003] This application provides a method for detecting entrapment of a mobile robot, a chip, and a mobile robot. The specific technical solutions are as follows:

[0004] A method for detecting entrapment of a mobile robot, the method for detecting entrapment of the mobile robot specifically includes: during the global edge-following process, the mobile robot makes a loop judgment every time it updates the grid coordinates. If the first line segment where the current grid coordinates are located intersects the second line segment where the historical grid coordinates are located and the angle difference between the first line segment and the second line segment is within a preset angle range, it is determined that the mobile robot is trapped by an isolated obstacle; otherwise, it is determined that the mobile robot is not trapped by an isolated obstacle; wherein, during the global edge-following process, the mobile robot updates the grid coordinates and records them every time it passes through a grid.

[0005] Further, the method for loop judgment includes: Step S1, every time the mobile robot updates the grid coordinates, it forms a first line segment with the previous grid coordinates; Step S2, the mobile robot traces back the historical grid coordinates forward, and then connects two historical grid coordinates to form a second line segment; Step S3, the mobile robot makes a judgment. If the first line segment and the second line segment do not intersect or the angle difference between the first line segment and the second line segment is not within the preset angle range, it returns to Step S2 to continue tracing back the historical grid coordinates forward, and then forms a new second line segment until the mobile robot determines that the first line segment and the second line segment intersect and the angle difference between the first line segment and the second line segment is within the preset angle range or traces back all the historical grid coordinates.

[0006] Furthermore, in the step S3, the method for the mobile robot to determine whether the first line segment and the second line segment intersect includes: step S31, the mobile robot determines whether the projections of the first line segment and the second line segment on the X-axis and the Y-axis coincide with each other, if the projections on both the X-axis and the Y-axis coincide, then proceeds to step S32, otherwise it is determined that the first line segment and the second line segment do not intersect; step S32, the mobile robot determines whether the two endpoints of the first line segment are located on both sides of the second line segment and whether the two endpoints of the second line segment are located on both sides of the first line segment, if both are, then it is determined that the first line segment and the second line segment intersect, otherwise it is determined that the first line segment and the second line segment do not intersect.

[0007] Further, in step S32, when the following formula holds true, the mobile robot determines that the two endpoints of the first line segment are located on both sides of the second line segment and the two endpoints of the second line segment are located on both sides of the first line segment: Among them, A and B represent the two endpoints of the first line segment, C and D represent the two endpoints of the second line segment, → represents a vector, × represents a cross product, and · represents a dot product.

[0008] Furthermore, in step S3, the method for the mobile robot to determine whether the angle difference between the first line segment and the second line segment is within a preset angle range includes: the mobile robot reads the gyroscope angle value at the current grid coordinate and reads the gyroscope angle value at any historical grid coordinate that constitutes the second line segment, then makes a difference and takes the absolute value to obtain the angle difference between the first line segment and the second line segment, and finally compares the angle difference with the upper and lower limits of the preset angle range to determine whether the angle difference between the first line segment and the second line segment is within the preset angle range.

[0009] A chip stores computer program code, and the computer program code implements the mobile robot trapped detection method when executed.

[0010] A mobile robot comprises the chip.

[0011] The mobile robot trapped detection method described in the present application, in the process of global edge following, the mobile robot performs a loop judgment every time the grid coordinates are updated, if the first line segment where the current grid coordinates are located intersects with the second line segment where the historical grid coordinates are located and the angle difference between the first line segment and the second line segment is within a preset angle range, then it is determined that the mobile robot is trapped by an isolated island obstacle. The method can enable the mobile robot to detect being trapped by an isolated island obstacle in a timely manner, so that an escape strategy can be implemented in a timely manner to avoid affecting the working efficiency of the mobile robot, thereby improving the intelligence level of the mobile robot and the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1Schematic flowchart of the mobile robot entrapment detection method according to an embodiment of the present application.

[0013] Figure 2 Schematic diagram of the loop judgment process according to an embodiment of the present application. Detailed implementation manners

[0014] In the following description, specific details such as specific system architectures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.

[0015] It should be understood that when used in this application, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations. It should also be understood that the term "and / or" as used in this application refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0016] As used in this application, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" depending on the context. Similarly, the phrase "if determined" or "if detected [the described condition or event]" can be interpreted as meaning "once determined", "in response to determining", "once detected [the described condition or event]", or "in response to detecting [the described condition or event]" depending on the context.

[0017] In addition, in the description of this application, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance. The reference to "an embodiment" or "some embodiments" etc. in the description of this application specification means that a specific feature, structure, or characteristic described in combination with the embodiment is included in one or more embodiments of this application. Thus, statements such as "in an embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments" etc. that appear in different places in this specification are not necessarily all referring to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "comprising", "including", "having", and their variants all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0018] At the end of cleaning, the visual sweeping robot generally uses a global edge-following method to search and fill in gaps. However, in the global edge-following process, it is possible to encounter isolated obstacles and repeatedly follow the edge of the isolated obstacle without knowing it. Finally, it will be trapped at the edge of the isolated obstacle, resulting in the inability to complete the cleaning task, thus affecting the user experience.

[0019] like Figure 1 As shown, an embodiment of the present application provides a method for detecting when a mobile robot is trapped, and the method for detecting when a mobile robot is trapped specifically includes:

[0020] In the process of global edge following, the mobile robot performs a loop judgment each time it updates the grid coordinates. If the first line segment where the current grid coordinates are located intersects with the second line segment where the historical grid coordinates are located and the angle difference between the first line segment and the second line segment is within the preset angle range, the mobile robot is determined to be trapped by the island obstacle, otherwise it is determined that the mobile robot is not trapped by the island obstacle; wherein, in the process of global edge following, the mobile robot updates the grid coordinates and records them each time it passes through a grid. The method described in the embodiment of the present application can enable the mobile robot to detect being trapped by an island obstacle in a timely manner, so that an escape strategy can be implemented in a timely manner to avoid affecting the working efficiency of the mobile robot, thereby improving the intelligence level of the mobile robot and the user experience.

[0021] It should be noted that an island obstacle refers to an independent obstacle that is not in contact with the environment boundary. An island obstacle is usually located in the middle of the cleaning scene. Common island obstacles include chairs and tables.

[0022] As one of the implementation methods, the loop judgment method includes: step S1, each time the mobile robot updates the grid coordinates, it forms a first line segment with the previous grid coordinates; step S2, the mobile robot traces back the historical grid coordinates, and then connects the two historical grid coordinates to form a second line segment; step S3, the mobile robot makes a judgment, if the first line segment and the second line segment do not intersect or the angle difference between the first line segment and the second line segment is not within the preset angle range, then returns to step S2 to continue to trace back the historical grid coordinates, and then forms a new second line segment, until the mobile robot determines that the first line segment and the second line segment intersect and the angle difference between the first line segment and the second line segment is within the preset angle range or all historical grid coordinates are traced back. Through the loop judgment, it can be known whether the mobile robot has circled the island obstacle. If so, it can be determined that the mobile robot is trapped by the island obstacle.

[0023] It should be noted that when the mobile robot moves along the edge globally, it will continuously record the grid coordinates and store them in the array point[]. The larger the subscript of the array, the earlier the time is recorded. For example, the subscript of point[0] is 0, indicating the point where the mobile robot is currently located, and the subscript of point[1] is 1, indicating the point where the mobile robot was located at the previous moment, which belongs to the historical grid coordinates, and so on.

[0024] As Figure 2 shown in the loop judgment process, the solid circle in the middle is an island obstacle, and the origin of the coordinate axis is set at the lower left of the island obstacle. During the execution of step S1, the currently updated grid coordinate of the mobile robot is point[0], which is connected to the previous grid coordinate point[1] to form the first line segment. During the execution of step S2, since the line segments formed by the grid coordinates such as point[2] that are close to point[0] obviously do not meet the requirement of the angle difference with the first line segment, the mobile robot skips forward several grids and then traces back to the historical grid coordinates to improve the efficiency of loop judgment. For example, skip forward 5 grids and connect point[7] and point[8] to form the second line segment. During the execution of step S3, it is judged whether the first line segment formed by point[0] and point[1] and the second line segment formed by point[7] and point[8] intersect and whether the angle difference is within the preset angle range. If either condition is not met, continue to trace back point[9] forward and form a new second line segment with point[8], and then continue to judge whether they intersect and whether the angle difference is within the preset angle range. And so on, until a second line segment that meets both conditions is found, or all historical grid coordinates are traced back.

[0025] As one of the implementation manners, in step S3, the method for the mobile robot to judge whether the first line segment and the second line segment intersect includes: step S31, the mobile robot judges whether the projections of the first line segment and the second line segment on the X-axis and the Y-axis coincide. If the projections on the X-axis and the Y-axis both coincide, then enter step S32, otherwise it is determined that the first line segment and the second line segment do not intersect; step S32, the mobile robot judges whether the two endpoints of the first line segment are on both sides of the second line segment and whether the two endpoints of the second line segment are on both sides of the first line segment. If both are true, it is determined that the first line segment and the second line segment intersect, otherwise it is determined that the first line segment and the second line segment do not intersect.

[0026] During the execution of step S31, the projection of the first line segment on the X-axis refers to the line segment between the intersections of the perpendiculars drawn from the two endpoints of the first line segment to the X-axis with the X-axis. Similarly, the projection of the first line segment on the Y-axis and the projections of the second line segment on the X-axis and Y-axis can be obtained respectively. Step S31 determines whether the projections of the first line segment and the second line segment on the X-axis coincide. In fact, it is to determine whether the larger x-coordinate in the second line segment is less than the smaller x-coordinate in the first line segment. If so, it means that the two line segments definitely do not intersect. The same applies to the Y-axis. It should be noted that the method described in step S31 can be used to quickly rule out the case where the first line segment and the second line segment do not intersect. When the projections of the first line segment and the second line segment on the X-axis and Y-axis both coincide, it cannot be guaranteed that the first line segment and the second line segment intersect. At this time, step S32 is entered for further judgment. When two line segments intersect, the two endpoints of one line segment will be on both sides of the other line segment. Based on this feature, it can be accurately determined whether the first line segment and the second line segment intersect. It should be emphasized that the case where the two line segments have one coincident endpoint belongs to a special case of line segment intersection. At this time, it is also considered that the two endpoints of one line segment are on both sides of the other line segment.

[0027] As one implementation, in step S32, when the following formula holds, the mobile robot determines that the two endpoints of the first line segment are on both sides of the second line segment and the two endpoints of the second line segment are on both sides of the first line segment: Where A and B represent the two endpoints of the first line segment, C and D represent the two endpoints of the second line segment, → represents a vector, × represents a cross product, and · represents a dot product. The meaning of the above formula is that when the cross products of the vector AD and the vector CD, and the vector BD and the vector CD are of different signs, that is, one positive and one negative, it indicates that the two endpoints of the first line segment are on both sides of the second line segment. Among them, the result equal to 0 represents the special case of endpoint coincidence. Similarly, it can be known whether the two endpoints of the second line segment are on both sides of the first line segment, which will not be elaborated here.

[0028] As one of the implementation modes, in step S3, the method for the mobile robot to determine whether the angle difference between the first line segment and the second line segment is within the preset angle range includes: the mobile robot reads the gyroscope angle value at the current grid coordinate and reads the gyroscope angle value at any historical grid coordinate that constitutes the second line segment, then makes a difference and takes the absolute value to obtain the angle difference between the first line segment and the second line segment, and finally compares the angle difference with the upper and lower limits of the preset angle range to know whether the angle difference between the first line segment and the second line segment is within the preset angle range. Among them, the angle difference between the first line segment and the second line segment is obtained by the gyroscope, and the gyroscope will continuously record and accumulate angle values during the movement of the mobile robot. When the mobile robot walks around the obstacle, the accumulated angle difference of the gyroscope should be close to 2π, so in addition to judging whether the first line segment and the second line segment intersect, further judging whether the angle difference between the first line segment and the second line segment is within the preset angle range can improve the accuracy of judging whether the mobile robot is trapped by the island obstacle. It should be noted that the preset angle range is set according to the empirical value, and the value near 2π is taken.

[0029] In this application, the description of the movement of the mobile robot such as forward and stepping can be understood by those skilled in the art to be either the actual movement of the mobile robot in the working environment or the calculation process of the mobile robot on the map, the latter of which does not require the actual movement of the mobile robot. As for which mode the mobile robot chooses, it is determined by the actual situation and will not be elaborated here.

[0030] The embodiment of the present application provides a chip, wherein the chip stores a computer program code, and when the computer program code is executed, the mobile robot is trapped to implement the method for detecting the mobile robot being trapped. The chip enables the mobile robot to detect being trapped by an island obstacle in a timely manner, so that an escape strategy can be implemented in a timely manner to avoid affecting the working efficiency of the mobile robot, thereby improving the intelligence level of the mobile robot and the user experience.

[0031] The embodiment of the present application provides a mobile robot, which includes the chip. The mobile robot performs a loop judgment each time the grid coordinates are updated during the global edge-adjacent process. If the first line segment where the current grid coordinates are located intersects with the second line segment where the historical grid coordinates are located and the angle difference between the first line segment and the second line segment is within a preset angle range, it is determined that the mobile robot is trapped by an isolated island obstacle. The mobile robot can detect being trapped by an isolated island obstacle in a timely manner, so that an escape strategy can be implemented in a timely manner to avoid affecting work efficiency, thereby improving the intelligence level and user experience.

[0032] Those of ordinary skill in the art can understand that to implement all or part of the processes in the above-described embodiment methods, it can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-described method embodiments. Among them, the references to memories, storage, databases, or other media used in the various embodiments provided in this application can all include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable read-only memory (PROM), electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory.

[0033] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0034] The above embodiments only represent several embodiments of this application, and their descriptions are relatively specific and detailed. However, it should not be construed as a limitation of the scope of the patent application. It should be noted that for those of ordinary skill in the art, without departing from the concept of this application, several modifications and improvements can still be made, and these all belong to the protection scope of this application.

Claims

1. A method for detecting the entrapment of a mobile robot, characterized in that, The mobile robot trapped detection method specifically includes: During the global edge following process, the mobile robot makes a loop judgment every time it updates the grid coordinates. If the first line segment where the current grid coordinates are located intersects with the second line segment where the historical grid coordinates are located and the angular difference between the first line segment and the second line segment is within a preset angular range, it is determined that the mobile robot is trapped by an island obstacle; otherwise, it is determined that the mobile robot is not trapped by an island obstacle. Among them, during the global edge following process, the mobile robot updates the grid coordinates and records them every time it passes through a grid.

2. The method for detecting the entrapment of a mobile robot according to claim 1, wherein, The method for loop judgment includes: Step S1: Every time the mobile robot updates the grid coordinates, it forms a first line segment with the previous grid coordinates. Step S2: The mobile robot traces back the historical grid coordinates forward, and then connects two historical grid coordinates to form a second line segment. Step S3: The mobile robot makes a judgment. If the first line segment and the second line segment do not intersect or the angular difference between the first line segment and the second line segment is not within the preset angular range, it returns to Step S2 to continue tracing back the historical grid coordinates forward and then forms a new second line segment until the mobile robot determines that the first line segment and the second line segment intersect and the angular difference between the first line segment and the second line segment is within the preset angular range or all the historical grid coordinates have been traced.

3. The trapped detection method for a mobile robot according to claim 2, characterized in that, In the above Step S3, the method for the mobile robot to judge whether the first line segment and the second line segment intersect includes: Step S31: The mobile robot judges whether the projections of the first line segment and the second line segment on the X-axis and Y-axis coincide. If the projections on both the X-axis and Y-axis coincide, it enters Step S32; otherwise, it is determined that the first line segment and the second line segment do not intersect. Step S32: The mobile robot judges whether the two endpoints of the first line segment are on both sides of the second line segment and whether the two endpoints of the second line segment are on both sides of the first line segment. If both are true, it is determined that the first line segment and the second line segment intersect; otherwise, it is determined that the first line segment and the second line segment do not intersect.

4. A method for detecting entrapment of a mobile robot according to claim 3, wherein, In the above Step S32, when the following formula holds, the mobile robot determines that the two endpoints of the first line segment are on both sides of the second line segment and the two endpoints of the second line segment are on both sides of the first line segment: Where, A and B represent the two endpoints of the first line segment, C and D represent the two endpoints of the second line segment, → represents a vector, × represents a cross product, and · represents a dot product.

5. A method for detecting the entrapment of a mobile robot according to claim 2, characterized in that, In the above Step S3, the method for the mobile robot to judge whether the angular difference between the first line segment and the second line segment is within the preset angular range includes: The mobile robot reads the gyroscope angle value at the current grid coordinates and reads the gyroscope angle value at any historical grid coordinate that forms the second line segment, then takes the difference and the absolute value to obtain the angular difference between the first line segment and the second line segment. Finally, it compares this angular difference with the upper and lower limits of the preset angular range to know whether the angular difference between the first line segment and the second line segment is within the preset angular range.

6. A chip, the chip storing computer program code, characterized in that, When the computer program code is executed, it implements the mobile robot trapped detection method described in any one of claims 1 to 5.

7. A mobile robot, characterized in that, The mobile robot includes the chip described in claim 6.