Robot escape method, robot, storage medium, equipment and program product

By predicting the probability of a robot being trapped and dynamically adjusting the escape strategy, the problem of low efficiency of a robot being trapped in a complex environment in the prior art is solved, and more efficient escape operations and higher success rates are achieved.

CN119247954AActive Publication Date: 2025-01-03ZHEJIANG ZHIDING ROBOT CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411341499.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2025-01-03
Estimated Expiration
2044-09-24

AI Technical Summary

Technical Problem

Existing robots are easily trapped in complex environments, resulting in low timeliness and low success rate, mainly due to the lack of active prediction of events that will occur and early measures to escape.

Method used

By predicting the probability of a trapped event that a robot will encounter, using environmental data and historical paths to deal with the trap, including the combination of local and global escape strategies, dynamically adjusting the trapped probability value, promptly triggering the escape mechanism, and optimizing the escape path.

Benefits of technology

It improves the timeliness and success rate of robots in complex environments, reduces dependence on manual intervention, enhances the ability to escape independently, and ensures that the robot works efficiently.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119247954A_ABST
    Figure CN119247954A_ABST
Patent Text Reader

Abstract

The invention provides a robot escape method, a robot, a storage medium, equipment and a program product, and the method comprises the steps: carrying out the escape of the robot under the condition of predicting that the robot is about to be trapped. According to the method, the robot is subjected to escape treatment in advance through active prediction of the to-be-trapped event of the robot, so that the timeliness and success rate of robot escape can be effectively improved, and the robot is ensured to work more efficiently in a complex environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control technology, and in particular to a robot escape method, a robot, a storage medium, a device and a program product. Background Art

[0002] With the development of robotics technology, robots have been widely used in indoor and outdoor environments. However, in complex environments, robots often face the challenge of being trapped. For example, when a robot enters an area with dense obstacles, or a scene with sunken or raised ground, due to its limited perception of the surrounding environment, it is often difficult for the robot to find a suitable path to escape, causing it to be stuck in place or move back and forth in the same place, seriously affecting its work efficiency. At present, most of the related robot escape methods are passive escape methods.

[0003] Based on this, the present application provides a robot escape method, a robot, a storage medium, a device and a program product to improve the relevant technology. Summary of the invention

[0004] The purpose of this application is to provide a robot escape method, robot, storage medium, device and program product, actively predict entrapment, and improve the timeliness and success rate of the robot's escape.

[0005] The purpose of this application is achieved by the following technical solutions:

[0006] In a first aspect, the present application provides a robot escape method, the method comprising:

[0007] In the case where it is predicted that the robot is about to be trapped, the robot is rescued.

[0008] In some embodiments, the process of predicting whether the robot is about to be trapped includes:

[0009] In the case where the current environment data does not match the historical environment data, initializing the trapped probability value of the robot;

[0010] Accumulating the duration during which the position change of the robot is less than the target position change as the accumulated duration;

[0011] Using the accumulated time, updating the trapped probability value;

[0012] When the trapped probability value is greater than the target probability value, it is predicted that the robot will be trapped; or, when the trapped probability value is not greater than the target probability value, it is predicted that the robot will not be trapped.

[0013] In some embodiments, the process of determining whether the current environment data matches the historical environment data includes:

[0014] Calculating the similarity between the current environment data and the historical environment data;

[0015] When the similarity is greater than the target similarity, it is determined that the current environment data matches the historical environment data; or, when the similarity is not greater than the target similarity, it is determined that the current environment data does not match the historical environment data.

[0016] In some embodiments, the position change of the robot is determined based on the position information and / or motion information of the robot, and the motion information includes a motion distance and / or a motion angle.

[0017] In some embodiments, the updating of the trapped probability value by using the accumulated duration includes:

[0018] The trapped probability value is calculated according to the corresponding relationship between the accumulated time and the target;

[0019] The target corresponding relationship is represented by a corresponding formula or a corresponding model.

[0020] In some embodiments, the step of performing rescue operations on the robot includes:

[0021] In the case where the local escape times of the robot are greater than the target times, a global escape process is performed on the robot, and the local escape times of the robot are cleared; or,

[0022] In a case where the number of partial escapes of the robot is not greater than the target number, a partial escape treatment is performed on the robot, and the number of partial escapes of the robot is increased by one.

[0023] In some embodiments, the global escape process for the robot includes:

[0024] Determine the global escape location using historical path and / or historical environmental data;

[0025] A motion path of the robot moving from a current position to the global escape position is obtained, and the motion path is used to guide the robot to complete the global escape.

[0026] In some embodiments, the performing local rescue treatment on the robot includes:

[0027] Controlling the robot to perform one or more target actions so that the robot can escape from a local situation;

[0028] The target action includes one or more of forward, backward, left turn and right turn.

[0029] In a second aspect, the present application provides a robot, comprising a control module, wherein the control module is used to execute any one of the above methods.

[0030] In a third aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program implements any of the above methods when executed by a processor.

[0031] In a fourth aspect, the present application provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements any one of the above methods when executing the computer program.

[0032] In a fifth aspect, the present application provides a computer program product, wherein the computer program product comprises a computer program, and the computer program implements any one of the above methods when executed by a processor.

[0033] The present application provides a robot escape method, a robot, a storage medium, a device and a program product, and performs escape measures on the robot when it is predicted that the robot is about to be trapped. By actively predicting that the robot is about to be trapped and performing escape measures on the robot in advance, the timeliness and success rate of the robot's escape can be effectively improved, and the robot can be ensured to work more efficiently in a complex environment. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] The present application is further described below in conjunction with the accompanying drawings and specific implementation methods.

[0035] Figure 1 It is a flow chart of a robot escape method provided in an embodiment of the present application.

[0036] Figure 2 It is a flow chart of another robot escape method provided in an embodiment of the present application.

[0037] Figure 3 It is a structural block diagram of a robot provided in an embodiment of the present application.

[0038] Figure 4 It is a structural block diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0039] The following will be combined with the drawings in this application to clearly and completely describe the technical solutions in the implementation mode of this application. Obviously, the described implementation mode is only a part of the implementation mode of this application, not all implementation modes. Based on the implementation mode in this application, all other implementation modes obtained by those skilled in the art without creative work are within the scope of protection of this application.

[0040] In the description of the embodiments of the present application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.

[0041] With the development of robotics technology, cleaning robots have been widely used in indoor and outdoor environments, such as homes, shopping malls, hospitals, factories, etc. However, in complex environments, cleaning robots often face the challenge of being trapped. For example, when a robot enters an area with dense obstacles, or a scene with sunken or raised ground, due to its limited perception of the surrounding environment, it is often difficult for the robot to find a suitable path to escape, causing it to get stuck in place or move back and forth in the same place, seriously affecting its work efficiency and cleaning effect.

[0042] At present, most of the related robot escape methods are passive escape methods, that is, when the robot is detected to have been trapped, such as slipping or repeatedly moving in the same position for a long time, a certain escape strategy is triggered. However, this passive escape method often has the following disadvantages: first, the escape process is judged and processed only after the robot has been trapped, which easily leads to low timeliness of escape; second, the related escape methods are prone to fall into local optimal solutions, resulting in the robot being unable to find an effective escape path, and ultimately can only wait for timeout, the robot fails to escape, and waits for manual processing, which has low escape efficiency and low success rate.

[0043] The implementation methods of the present application will be described in detail below.

[0044] See also Figure 1 , Figure 1 It is a flow chart of a robot escape method provided in an embodiment of the present application.

[0045] In order to improve the relevant technology, an embodiment of the present application provides a robot escape method, the method comprising: in the event that it is predicted that the robot is about to be trapped, performing escape measures on the robot.

[0046] In the above embodiments, the robot may be, for example, a cleaning robot, a disinfection robot, a delivery robot, an inspection robot, a lawnmower robot, a companion robot, a robotic arm, etc. Furthermore, the robot may be a wheeled robot, a bipedal robot (also known as a humanoid robot, a humanoid robot), a quadrupedal robot, etc. The above embodiments do not limit the moving speed of the robot, and the robot may be a low-speed moving robot or a high-speed moving robot. In addition, the robot may work indoors or outdoors, and the above embodiments do not limit this.

[0047] Prediction, for example, refers to estimating whether the robot may be trapped in the future by sensing and analyzing the robot's corresponding environmental data (for example, including current environmental data and historical environmental data). In other words, the prediction mechanism can use environmental data, historical paths and other information to estimate the probability (or possibility) of the robot being trapped during work, so as to take escape measures in advance. The robot is trapped, for example, because the robot is difficult to continue to perform the scheduled task due to the complex environment or its own limited movement. For example, the robot is blocked by obstacles, stuck in a depression in the ground, and cannot climb uphill. These can be identified as trapped events. When it is predicted that the robot is about to be trapped or it is detected that the robot has been trapped, escape measures can be taken to get the robot out of the trapped situation. For example, escape measures can include adjusting the current motion path, executing a predefined sequence of actions (such as forward, backward, turn), replanning the motion path, etc.

[0048] In the related robot escape method, passive judgment is mainly relied on, that is, the escape process is not started until the robot is trapped. Such a processing method often leads to untimely escape, which reduces the efficiency and success rate of the robot's escape. Due to the lack of active prediction of the robot's impending trapping, it is difficult to fully utilize environmental data, historical path information and other information to take escape measures in advance. The above-mentioned embodiment can effectively improve the timeliness and success rate of the robot's escape by actively predicting the robot's impending trapping and taking measures to escape the robot in advance, thereby ensuring that the robot works more efficiently in a complex environment.

[0049] In some embodiments, the process of predicting whether the robot is about to be trapped may include: when the current environmental data does not match the historical environmental data, initializing the trapped probability value of the robot; accumulating the time duration when the position change of the robot is less than the target position change as the accumulated time duration; using the accumulated time duration, updating the trapped probability value; when the trapped probability value is greater than the target probability value, predicting that the robot is about to be trapped; or, when the trapped probability value is not greater than the target probability value, predicting that the robot will not be trapped.

[0050] In some embodiments, the position change of the robot can be determined based on the position information and / or motion information of the robot. In some embodiments, the motion information may include a motion distance and / or a motion angle. The motion distance and / or motion angle may be obtained by an odometer and / or an IMU (i.e., an inertial measurement unit), which is not limited in the above embodiments.

[0051] The above embodiment uses a trapped probability value (a value range of, for example, 0 to 1) to characterize the possibility of the robot being trapped. In addition, parameters such as a trapped degree score (a value range of, for example, 0 to 100 points) may also be used to characterize the possibility of the robot being trapped, and this application does not limit this.

[0052] Environmental data (including current environmental data and historical environmental data) refers to the surrounding environmental information acquired by the robot through sensors (such as image sensors, 2D laser sensors, 3D laser sensors, etc.), including, for example, obstacle locations, terrain features, etc. The above embodiments do not limit the data type of environmental data, which may include, for example, one or more of image data (for example, obstacle grid map data), 2D laser data, and 3D laser data. Among them, the current environmental data may be the environmental information currently perceived by the robot, and the historical environmental data may be the environmental information recorded and stored by the robot during previous work.

[0053] The trapped probability value is used to characterize the possibility of the robot being trapped. The trapped probability value can be dynamically adjusted according to the current environmental data and the behavioral characteristics of the robot (such as the accumulated duration) to predict whether the robot will be trapped. The position change, for example, refers to the position change of the robot within a unit time (for example, 100 milliseconds, 1 second, 3 seconds), which is used to characterize the degree of position change of the robot. The target position change, for example, is a preset numerical threshold, which characterizes the minimum position change of the robot within a unit time under normal motion. If the robot's position change is less than the target position change, the duration is accumulated to achieve dynamic update of the accumulated duration. The accumulated duration is used to accumulate the duration when the robot's position change is less than the target position change. The longer the accumulated duration, the longer the robot stays in place and the greater the probability of being trapped.

[0054] It should be noted that a small change in the robot's position per unit time does not necessarily mean that the robot has been trapped. For example, when faced with a difficult-to-clean floor, the cleaning robot may need a long time to clean the same position (or within a specific position range). Here, the cumulative duration is updated, and the trapped probability value is continuously updated by the cumulative duration. Only when the trapped probability value is greater than the target probability value is it predicted that the robot will be trapped. On the one hand, it conforms to the objective situation of the real application scenario, and on the other hand, it reduces the risk of misjudging the normal operation of the robot as a trapped event, thereby reducing unnecessary consumption of computing resources.

[0055] It should be noted that the above embodiment accumulates the duration when the robot's position change is less than the target position change as the accumulated duration, and during the accumulation of the duration, the robot's position change is always less than the target position change. Once the robot's position change is not less than the target position change (for example, the robot is displaced during the detection process), the accumulated duration is cleared and the accumulation is restarted. In addition, after the robot is rescued, the accumulated duration can also be cleared and the accumulation is restarted.

[0056] The target probability value is, for example, a preset numerical threshold. When the trapped probability value exceeds the target probability value, it is predicted that the robot will be trapped, triggering the escape mechanism. The target probability value can be selected according to actual needs. For example, the target probability value can be 0.8, 0.9, 0.95, 0.99, etc.

[0057] In the above embodiment, the trapped probability value of the robot is initialized and set. For example, the trapped probability value can be set to 0.1, 0.2, 0.3, etc., which is not limited in the present application.

[0058] In the above embodiment, when it is found that the current environmental data does not match the historical environmental data, it indicates that the environment around the robot has changed significantly (or, a change worthy of attention), and the robot's trapped probability value is initialized at this time. Then, the robot's position change is monitored in real time, and the duration when the robot's position change is less than the target position change is accumulated as the accumulated duration. The trapped probability value is updated by the accumulated duration. For example, as the accumulated duration increases, the trapped probability value gradually increases. When the trapped probability value exceeds the preset target probability value, it is predicted that the robot will be trapped and take the initiative to get out of the trapped state; if the trapped probability value does not exceed the target probability value, it is predicted that the robot will not be trapped and continue to operate normally. Through the real-time dynamic adjustment of the trapped probability, accurate prediction and rapid response to the robot's trapped state are achieved.

[0059] By comparing the current environmental data with the historical environmental data, the above-mentioned embodiment can timely identify changes in the environment and make advance predictions of potential trapped events, thus reducing the passive situation of dealing with the robot after it is trapped. Secondly, by real-time monitoring of the robot's position change and dynamically updating the trapped probability value using the accumulated time, the possibility of the robot being trapped is accurately quantified, thereby improving the accuracy of the trapped prediction. This method enhances the robot's ability to escape autonomously in complex environments, improves overall work efficiency, and reduces reliance on manual intervention.

[0060] In some embodiments, the process of determining whether current environmental data matches historical environmental data may include: calculating the similarity between the current environmental data and the historical environmental data; when the similarity is greater than the target similarity, determining that the current environmental data matches the historical environmental data; or, when the similarity is not greater than the target similarity, determining that the current environmental data does not match the historical environmental data.

[0061] In some embodiments, the calculating the similarity between the current environment data and the historical environment data may include: calculating the similarity between the current environment data and the historical environment data according to a target matching algorithm. In other embodiments, the calculating the similarity between the current environment data and the historical environment data may include: inputting the current environment data and the historical environment data into a target similarity model to obtain the similarity between the current environment data and the historical environment data; the target similarity model is, for example, a model based on deep learning. In some further embodiments, the calculating the similarity between the current environment data and the historical environment data may include: finding a frame of historical environment data that is closest in position to the current environment data from multiple frames of historical environment data as the target historical environment data; and calculating the similarity between the current environment data and the target historical environment data.

[0062] Similarity is, for example, a numerical indicator that measures the degree of similarity between current environmental data and historical environmental data. As described above, similarity can be calculated by a specific algorithm, and the value range can be between 0 and 1, or between 0 and 100 points. The larger the value, the more similar the two sets of data are. A high similarity means that the current environment is more similar to the environment pre-modeled by the robot. Target similarity is, for example, a preset numerical threshold used to determine whether the current environmental data matches the historical environmental data, which can be determined based on the robot's operating environment and task requirements. As an example, the target similarity can be 0.5, 0.6, 0.8, etc.

[0063] The above embodiment first calculates the similarity between the current environment data and the historical environment data. When the calculated similarity is greater than the preset target similarity, it is determined that the current environment data matches the historical environment data, indicating that the environment has not changed significantly, and the robot can continue to perform tasks according to the established path; when the similarity is not greater than the target similarity, it is determined that the current environment data does not match the historical environment data, indicating that the environment has changed significantly, and the possibility of the robot being trapped has increased. It is necessary to initialize the trapped probability value and dynamically update the trapped probability value so as to timely predict that the robot will be trapped. The above embodiment can accurately judge environmental changes by calculating the similarity between the current environment data and the historical environment data. Through similarity calculation, the robot can monitor changes in the surrounding environment in real time, trigger the trapped prediction mechanism in time, and reduce passive waiting for being trapped in a complex environment. In addition, the method reduces misjudgment and unnecessary escape operations, and improves the robot's adaptability in a dynamic environment.

[0064] In some embodiments, the updating of the trapped probability value by using the accumulated time may include: calculating the trapped probability value according to the accumulated time and the target correspondence relationship; wherein the target correspondence relationship is represented by a corresponding formula or a corresponding model.

[0065] In the above embodiment, the target correspondence is a correspondence established between the cumulative duration and the trapped probability value, which is used to calculate the trapped probability value. The target correspondence can be represented by a corresponding formula or a corresponding model, and the cumulative duration can be mapped to the trapped probability value according to the target correspondence. The corresponding formula is, for example, a mathematical expression for describing the relationship between the cumulative duration and the trapped probability value. The corresponding model is, for example, a model based on deep learning, which is not limited in the above embodiment.

[0066] In some embodiments, the target correspondence relationship can be expressed by a corresponding formula. As an example, the corresponding formula can be expressed as: P = 1-0.8 t ; Where P represents the probability of being trapped, and t represents the cumulative duration. The corresponding formula is used to dynamically adjust the probability of being trapped so that it is updated as the cumulative duration changes.

[0067] In the above embodiment, first, the position change of the robot is monitored in real time, and when the position change is continuously less than the target position change, the cumulative time begins. Then, the trapped probability value is calculated based on the cumulative time and the target correspondence. As the cumulative time t increases, the trapped probability value P gradually increases. When P exceeds the set threshold value (i.e., the target probability value), it is predicted that the robot will be trapped, and the escape strategy is started in advance. This method achieves accurate quantification of the possibility of the robot being trapped by establishing a target correspondence between the cumulative time and the trapped probability value, reduces the possibility of misjudgment, and improves the accuracy of the trapped prediction. Secondly, by using the target correspondence, the trapped probability value can be updated in real time according to the actual performance of the robot in the environment, so as to achieve accurate grasp of the escape timing and reduce unnecessary escape operations. This method enhances the robot's autonomous escape ability in a complex environment, improves the escape success rate and work efficiency, and reduces dependence on manual intervention.

[0068] In some embodiments, the robot may be subjected to escape measures, including: when the number of local escape times of the robot is greater than a target number, the robot is subjected to global escape measures, and the local escape times of the robot are cleared; or, when the number of local escape times of the robot is not greater than the target number, the robot is subjected to local escape measures, and the local escape times of the robot are added by one.

[0069] The above embodiment does not limit the order of performing global escape processing and executing the zeroing operation. For example, the robot may be firstly subjected to global escape processing, and then the local escape times of the robot may be cleared; or, the local escape times of the robot may be cleared first, and then the robot may be subjected to global escape processing; or, the above two operations may be performed at the same time, and the above embodiment does not limit this. Similarly, the above embodiment does not limit the order of performing local escape processing and executing the plus one operation, and will not be described in detail here.

[0070] For example, local escape means that when the robot is trapped, it attempts to escape from the predicament locally through a series of simple actions, such as moving forward, backward, and turning. Local escape generally does not rely on global path planning, but makes instant decisions based on the robot's surrounding environment information. It is suitable for simple obstacles and short-term trapped scenarios. The number of local escapes is used to record how many times the robot has performed local escapes and determine whether it needs to switch to a global escape strategy.

[0071] Global escape, for example, means that after multiple local escape attempts have failed, the robot uses global path planning to find an escape path. Global escape, for example, can use the robot's historical path and historical environment data to search for a historical path to the global escape position as a motion path, or re-plan a motion path to the global escape position. It is suitable for complex environments and scenarios where multiple local escape attempts have failed. After the global escape is processed, the local escape times are reset.

[0072] The target number of times is, for example, a preset maximum number of times for local escape. When it is predicted that the robot is about to be trapped and the number of local escapes reaches the target number of times, the global escape strategy will be switched. The target number of times can be determined based on the complexity of the environment and the robot's escape ability. As an example, the target number of times can be 2, 3, 5, 10, etc.

[0073] In the above embodiment, the escape strategy is dynamically determined by recording the number of local escape attempts. After detecting the trapped event, the robot performs a local escape operation and records the number of local escape attempts. When the local escape is successful, the robot continues its normal task; when the number of local escape attempts is not greater than the preset target number, the robot continues to try the local escape and adds one to the number of local escape attempts. If the number of local escape attempts exceeds the target number, indicating that the local escape method is difficult to work in the current environment, the robot switches to a global escape strategy and clears the number of local escape attempts. In this way, the robot can switch strategies in time when the local escape is ineffective, thereby improving the escape efficiency.

[0074] The above embodiment adopts a treatment method combining global escape and local escape, with a high success rate of escape, and has advantages over the treatment methods of adopting all global escape or all local escape. The specific application scenarios of the robot have diverse characteristics. For simple robot trapped scenes, the local escape treatment method can achieve the purpose of escape, without wasting more time and computing power to solve the global target point (i.e., the global escape position), so the local escape treatment method can be tried first. However, in the face of more complex scenes, such as large unknown obstacles, long corridors, etc., the local escape treatment method is difficult for the robot to successfully escape. At this time, switch to the global escape treatment method, determine a reasonable global escape position as the global target point from the historical path and / or historical environment data, and further determine the motion path from the current position to the global escape position, and guide the robot to complete the escape faster. The above embodiment establishes a flexible escape strategy switching mechanism through the local escape number and the target number. By recording the local escape number, the effectiveness of the local escape can be dynamically judged, the blind repetition of the local escape operation is reduced, and the escape time is shortened. Secondly, in the case of repeated failures in local escape, the robot can switch to the global escape strategy in time, and use global path planning to improve the success rate of escape, which adapts to the needs of complex environments. This method effectively combines the immediacy of local escape and the comprehensiveness of global escape, and improves the robot's autonomous escape ability in diverse and complex environments.

[0075] In some embodiments, the global escape operation for the robot may include: determining a global escape position using historical paths and / or historical environmental data; obtaining a motion path for the robot to move from a current position to the global escape position, the motion path being used to guide the robot to complete a global escape.

[0076] The global escape process can, for example, first determine the specific position that the robot needs to reach, i.e., the global escape position, in order to achieve the escape purpose. Therefore, a reasonable global escape position can be determined from historical paths and historical environmental data (e.g., historical grid map data) as the global target point, and then a motion path from the current position to the global escape position can be searched out or replanned as the escape path to guide the robot to complete the global escape.

[0077] In some embodiments, the local escape treatment of the robot may include: controlling the robot to perform one or more target actions so that the robot can complete the local escape; wherein the target action includes one or more of forward, backward, left turn and right turn.

[0078] As an example, local escape handling may not determine the specific location that the machine needs to reach, but rather try to get the robot out of the trapped situation through simple actions. For example, the robot can perform target actions such as forward, backward, left turn, right turn, or a combination of target actions. In some embodiments, during the local escape handling process, a local map of the robot's current location (for example, obstacle grid map data corresponding to the local environment) can be obtained, and based on the local map, the robot is controlled to perform one or more target actions to keep the robot away from obstacles, so as to achieve the purpose of escape.

[0079] The above embodiments improve the robot's escape effect from the two perspectives of escape timeliness and success rate. First, improvements are made for passive detection of robot entrapment, that is, if the environmental data perceived by the robot is relatively different from the historical environmental data when the map is built, then it is considered that the robot is more likely to be trapped in the subsequent work process. Therefore, the historical area information (as an example of historical environmental data) and historical paths where the robot is not trapped can be saved in advance as a priori input for the subsequent escape process. Through the initialization operation, the initial value of the trapped probability value (for example, 0.2) is set. As the trapped probability value increases, it will be predicted at a faster speed that the robot will be trapped. On the other hand, if the escape disposal is triggered, the robot can give priority to the local escape disposal method, and when the local escape number is greater than the target number, the global escape disposal method is used. When performing the global escape disposal, the previously saved historical area information and historical paths can be used to increase the escape success rate.

[0080] Specifically, the robot first determines whether the perceived current environment and the mapping environment are very different. Generally speaking, before the actual work, the robot can establish a map of the working environment (or the working area, which can be located indoors or outdoors) as historical environmental data. As an example, the type of map established can be an obstacle grid map, the map is discretized, and the probability of obstacles in the environment at specific grid positions is stored. In the actual working process of the robot, in the absence of dynamic obstacles, the obstacle grid map perceived by the robot in real time (as an example of current environmental data) and the obstacle grid map when mapping (as an example of historical environmental data) should be similar, so the similarity between the two can be calculated to determine whether the current environment has changed significantly compared to the mapping environment. When the similarity is lower than the target similarity (for example, 0.5), it is considered that the current environment has changed significantly. The setting of the target similarity can adopt an empirical value, for example. The judgment period for whether the current environmental data matches the historical environmental data is, for example, the update period of the sensor, or an integer multiple or non-integer multiple of the update period of the sensor, etc., and the above embodiment does not limit this.

[0081] When it is detected that the current environment has changed significantly compared to the mapping environment, an initial trapped probability value P0 is established. P0 can be determined, for example, based on the similarity described above (i.e., the similarity between the current environment data and the historical environment data). Alternatively, in order to simplify the processing, P0 can also be directly set to a fixed value (e.g., 0.2), which can be selected as needed, and the above embodiment does not limit this.

[0082] During the robot's operation, historical area information and historical paths can also be saved. Historical area information, for example, includes an obstacle grid map around the robot at a specific location, which is used to characterize the distribution of obstacles around the machine. Historical area information can be accumulated in time and space to update historical environmental data. Historical paths, for example, include historical trajectory information before the robot was trapped. As an example, the maximum time length for saving the historical trajectory information can be set.

[0083] It should be noted that the step of establishing the initial trapped probability value and the step of saving the historical area information and the historical path have no sequential relationship in terms of time sequence and can be performed according to the needs of the actual application, which is not limited in the above embodiment.

[0084] Under normal circumstances, the robot can follow a preset route during operation. For example, a cleaning robot can follow a designated cleaning route during operation. However, if the robot gets stuck, it will stay where it is. In addition, if the cleaning robot needs to clean a floor that is difficult to clean, it will also cause the position to change little over a long period of time. Therefore, it is possible to determine whether the robot is about to be trapped by detecting the time the robot has been stationary. The longer the robot has been stationary, the greater the probability of it being trapped (i.e., the probability of being trapped). As an example, the corresponding formula for calculating the probability of being trapped can be as follows. P = 1-0.8 t ; Wherein, P represents the probability of being trapped, and t represents the cumulative duration, and its unit is, for example, milliseconds or seconds. When t=0, P0=0. This corresponding formula is used to dynamically adjust the probability of being trapped so that it is updated as the cumulative duration changes. By superimposing on P0, the probability value of judging that the robot is trapped at the current moment can be obtained. When the probability of being trapped exceeds the target probability value (for example, 0.9), the escape mechanism is triggered.

[0085] In practical applications, a combination of local escape and global escape can be used to escape the robot. In addition, the local escape method with high execution efficiency and small calculation amount can be used first. For example, if the local escape method is used for three consecutive times and still cannot escape, the global escape method can be used next.

[0086] See also Figure 2 , Figure 2 It is a flow chart of another robot escape method provided in an embodiment of the present application.

[0087] In a specific application scenario, an embodiment of the present application also provides a robot escape method, which may include the following steps.

[0088] Calculate the similarity between the current environment data and the historical environment data; if the similarity is greater than the target similarity, determine that the current environment data matches the historical environment data; or, if the similarity is not greater than the target similarity, determine that the current environment data does not match the historical environment data.

[0089] In the case where the current environment data does not match the historical environment data, the robot's trapped probability value is initialized and set; the duration when the robot's position change is less than the target position change is accumulated as the accumulated duration; the trapped probability value is calculated based on the accumulated duration and the target correspondence; when the trapped probability value is greater than the target probability value, it is predicted that the robot will be trapped; or, when the trapped probability value is not greater than the target probability value, it is predicted that the robot will not be trapped. Wherein, the robot's position change is determined based on the robot's position information and / or motion information, and the motion information includes motion distance and / or motion angle; the target correspondence is represented by a corresponding formula or a corresponding model.

[0090] In the case where it is predicted that the robot is about to be trapped: when the number of local escapes of the robot is greater than the target number, the global escape position is determined using historical paths and / or historical environmental data, the motion path of the robot from the current position to the global escape position is obtained, and the local escape times of the robot are cleared; or, when the number of local escapes of the robot is not greater than the target number, the robot is controlled to perform one or more target actions to enable the robot to complete the local escape, and the local escape times of the robot are increased by one. Wherein, the motion path is used to guide the robot to complete the global escape; the target action includes one or more of forward, backward, left turn and right turn.

[0091] An embodiment of the present application further provides a robot escape device, which includes an escape handling module for performing escape handling on the robot when it is predicted that the robot is about to be trapped.

[0092] In some embodiments, the device may further include a prediction module for predicting whether the robot is about to be trapped.

[0093] In some embodiments, the prediction module can predict whether the robot is about to be trapped in the following manner: when the current environmental data does not match the historical environmental data, the trapped probability value of the robot is initialized; the time duration when the position change of the robot is less than the target position change is accumulated as the accumulated time duration; using the accumulated time duration, the trapped probability value is updated; when the trapped probability value is greater than the target probability value, it is predicted that the robot is about to be trapped; or, when the trapped probability value is not greater than the target probability value, it is predicted that the robot will not be trapped.

[0094] In some embodiments, the prediction module can determine whether the current environmental data matches the historical environmental data in the following manner: calculate the similarity between the current environmental data and the historical environmental data; when the similarity is greater than the target similarity, determine that the current environmental data matches the historical environmental data; or, when the similarity is not greater than the target similarity, determine that the current environmental data does not match the historical environmental data.

[0095] In some embodiments, the position change of the robot may be determined based on the position information and / or motion information of the robot, and the motion information may include a motion distance and / or a motion angle.

[0096] In some embodiments, the prediction module may update the trapped probability value using the accumulated duration in the following manner: the trapped probability value is calculated based on the accumulated duration and the target correspondence; wherein the target correspondence is represented by a corresponding formula or a corresponding model.

[0097] In some embodiments, the escape handling module may perform an escape handling on the robot in the following manner: when the number of local escape times of the robot is greater than a target number, a global escape handling is performed on the robot, and the local escape times of the robot are cleared; or, when the number of local escape times of the robot is not greater than the target number, a local escape handling is performed on the robot, and the local escape times of the robot are added by one.

[0098] In some embodiments, the escape handling module can perform global escape handling on the robot in the following manner: determine the global escape position using historical paths and / or historical environmental data; obtain the motion path of the robot from the current position to the global escape position, and the motion path is used to guide the robot to complete the global escape.

[0099] In some embodiments, the escape handling module can perform local escape handling on the robot in the following manner: control the robot to perform one or more target actions to enable the robot to complete local escape; wherein the target actions include one or more of forward, backward, left turn and right turn.

[0100] See also Figure 3 , Figure 3 It is a structural block diagram of a robot provided in an embodiment of the present application.

[0101] An embodiment of the present application also provides a robot, comprising a control module, and the control module is used to execute any one of the above methods.

[0102] In some embodiments, the robot may further include one or more target sensors, including one or more of an image sensor, a laser sensor, an odometer, and an IMU.

[0103] In some embodiments, the robot may further include an image sensor. The image sensor may include one or more cameras (or camera modules). Furthermore, the camera may be an optical camera or an infrared camera.

[0104] In some embodiments, the robot may further include a laser sensor. The laser sensor may include a 2D laser sensor and / or a 3D laser sensor.

[0105] In some embodiments, the robot may also include an odometer and / or an IMU.

[0106] In some embodiments, the robot may further include one or more of an angle encoder, a torque sensor, and a PIR sensor.

[0107] In some embodiments, the robot may be a multi-jointed robot.

[0108] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, any of the above methods is implemented.

[0109] An embodiment of the present application further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, any of the above methods is implemented.

[0110] The computer program product may be a portable compact disk read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the computer program product of the present application is not limited thereto, and the computer program product may be any combination of one or more computer readable media.

[0111] An embodiment of the present application further provides a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor implements any of the above methods when executing the computer program.

[0112] See also Figure 4 , Figure 4 It is a structural block diagram of a computer device provided in an embodiment of the present application.

[0113] The embodiments of the present application do not limit the computer device, which may be, for example, a local computer device, a cloud computer device, a distributed computer device, etc.

[0114] The computer device may include: a memory 110, a processor 120, and a communication interface 130. The memory 110, the processor 120, and the communication interface 130 are connected via an internal connection path.

[0115] The memory 110 is used to store computer programs. In some implementations, the computer programs may include codes for implementing the methods of the embodiments of the present application.

[0116] The processor 120 is used to execute the computer program stored in the memory 110 to control the communication interface 130 to receive input data and information and output data such as operation results. In some implementations, when the solution of the embodiment of the present application is implemented by software or firmware, the computer program for implementing the solution of the embodiment of the present application can be stored in the processor 120 and executed by the processor 120.

[0117] The memory 110 may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electrically erasable programmable read-only memory (EEPROM) or a flash memory. The volatile memory may be a random access memory (RAM). It should be noted that the memory 110 described herein is intended to include, but is not limited to, any memory of these and other suitable types. As an example, the memory 110 includes a random access memory (RAM), a cache memory, and a read-only memory (ROM). Among them, the memory 110 stores a computer program, and the computer program can be executed by the processor 120 so that the processor 120 implements the steps of any of the above methods.

[0118] The processor 120 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor, or the processor 120 may be any conventional processor, etc.

[0119] In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor 120 or an instruction in the form of software. The method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware processor for execution, or a combination of hardware and software modules in the processor 120 for execution. The software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 110, and the processor 120 reads the information in the memory 110 and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.

[0120] In some implementations, in addition to the hardware units described above, the computer device may also include software modules, where the software modules may be, for example, an operating system, a basic input output system (BIOS), application software, etc.

[0121] The operating system is used to manage the hardware and / or software resources of computer devices and is the core and cornerstone of computer devices. The operating system needs to handle basic tasks such as managing and configuring memory, determining the priority of system resource supply and demand, controlling input and output devices, operating networks, and managing file systems. In order to facilitate user operations, most operating systems will provide an operating interface for users to interact with the system.

[0122] BIOS is used to run hardware initialization during the power-on boot phase and provide runtime services for the operating system and application programs. In some implementations, BIOS can also monitor and display processor temperature and execute functions such as adjusting temperature protection strategies.

[0123] Application software is also called application program, which can be understood as software written for a specific application purpose of the user. It is one of the main categories of computer software. For example, application software can be a program used to achieve power control, temperature management, etc.

[0124] It should be noted that although some embodiments of the present application take mobile robots as examples, the present application can be applied to other bionic robots, such as AGVs, drones, etc., and the present application is not limited to this.

[0125] It should be understood that the specific examples in this application are only intended to help those skilled in the art to better understand the implementation methods of this application, rather than to limit the scope of protection of this application.

[0126] It can be understood that in various implementations of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the present application.

[0127] It can be understood that the various implementation modes described in this application can be implemented individually or in combination, and this application is not limited to this.

[0128] Unless otherwise stated, all technical and scientific terms used in this application have the same meaning as those generally understood by those skilled in the art of the technical field of this application. The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit the scope of this application. The term "and / or" used in this application includes any and all combinations of one or more related listed items. The singular forms of "a kind of", "above" and "the" used in this application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings.

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

[0130] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of each embodiment described above can refer to the corresponding process in other embodiments and will not be repeated here.

[0131] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0132] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the technical solution of the present application.

[0133] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0134] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can essentially be embodied in the form of a software product, or the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.

[0135] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A robot escape method, characterized in that: The method comprises: In the case where it is predicted that the robot is about to be trapped, the robot is rescued.

2. The robot escape method according to claim 1, characterized in that: The process of predicting whether the robot is about to be trapped includes: In the case where the current environment data does not match the historical environment data, initializing the trapped probability value of the robot; Accumulating the duration during which the position change of the robot is less than the target position change as the accumulated duration; Using the accumulated time, updating the trapped probability value; When the trapped probability value is greater than the target probability value, it is predicted that the robot will be trapped; or, when the trapped probability value is not greater than the target probability value, it is predicted that the robot will not be trapped.

3. The robot escape method according to claim 2, characterized in that: The process of determining whether the current environment data matches the historical environment data includes: Calculating the similarity between the current environment data and the historical environment data; When the similarity is greater than the target similarity, it is determined that the current environment data matches the historical environment data; or, when the similarity is not greater than the target similarity, it is determined that the current environment data does not match the historical environment data.

4. The robot escape method according to claim 2, characterized in that: The position change amount of the robot is determined based on the position information and / or motion information of the robot, and the motion information includes a motion distance and / or a motion angle.

5. The robot escape method according to claim 2, characterized in that: The updating of the trapped probability value by using the accumulated time includes: The trapped probability value is calculated according to the corresponding relationship between the accumulated time and the target; The target corresponding relationship is represented by a corresponding formula or a corresponding model.

6. The robot escape method according to claim 1, characterized in that: The step of performing rescue operations on the robot comprises: In the case where the local escape times of the robot are greater than the target times, a global escape process is performed on the robot, and the local escape times of the robot are cleared; or, In a case where the number of partial escapes of the robot is not greater than the target number, a partial escape treatment is performed on the robot, and the number of partial escapes of the robot is increased by one.

7. The robot escape method according to claim 6, characterized in that: The global escape process for the robot includes: Determine the global escape location using historical path and / or historical environmental data; A motion path of the robot moving from a current position to the global escape position is obtained, and the motion path is used to guide the robot to complete the global escape.

8. The robot escape method according to claim 6, characterized in that: The local rescue treatment of the robot includes: Controlling the robot to perform one or more target actions so that the robot can escape from a local situation; The target action includes one or more of forward, backward, left turn and right turn.

9. A robot, characterized in that: The robot comprises a control module for executing the method according to any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

11. A computer device, characterized in that: The computer device comprises a memory and a processor, the memory stores a computer program, and the processor implements the method according to any one of claims 1 to 8 when executing the computer program.

12. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Patent Citations

  • Vehicle fault early warning method and system based on OBD computing technology

    CN110673036A

  • Robot escape method and device, robot and storage medium

    CN115167448A

  • Robot escape method and device, robot and storage medium

    CN116107309A

  • Method, device and product for predicting endurance mileage of railway vehicle

    CN116279601A

  • Trapped detection method, out-of-trap method, pose detection system and robot

    CN117398020A