Self-help method for coping with virtual expansion layer of obstacle, robot and storage medium
By acquiring the global planning path and current pose, calculating the shortest path point, and adjusting the operation control variables based on laser data, the robot can safely escape the obstacle expansion layer, solving the problem of robots getting stuck in the expansion layer in existing technologies and improving operational intelligence and safety.
Patent Information
- Application Number
- CN202211540937.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-02
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2042-12-02
AI Technical Summary
In existing technologies, robots are prone to entering obstacle expansion layers due to narrow environments, control deviations, or sensor accuracy errors, leading to operational stoppages or reduced safety. Existing solutions either affect efficiency or fail to completely solve the problem.
By acquiring the global planning path and current pose, the shortest path point is calculated. Obstacles ahead are judged based on laser data. The operation control variables are adjusted to safely escape the expansion layer, and a self-rescue strategy is formulated to avoid human intervention and changes to the original safety strategy.
This technology enables robots to automatically formulate self-rescue strategies without altering their original safety policies, safely escaping the obstacle expansion layer, improving operational intelligence and user experience, and reducing collision risks.
Smart Images

Figure CN115933655B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of artificial intelligence, in particular to a self-rescue method for a virtual obstacle inflation layer, a robot and a storage medium. BACKGROUND
[0002] In order to ensure the safe operation of an artificial intelligence robot, especially an indoor service robot, a virtual wall is drawn to limit the robot in a dangerous or non-operation area in a running scene. In order to ensure the safe operation of the robot, an obstacle inflation technology (the obstacle is inflated outward by a certain radius such as 0.3, and a dangerous area is marked) is used around the obstacle and the virtual wall in the scene, so that the robot is kept away from the obstacle during operation, and the safe operation of the robot is ensured.
[0003] However, due to narrow scenes, control deviations, sensor precision deviations and other reasons, the robot often has part of the outline entering the obstacle inflation layer during operation, resulting in the robot stopping moving too close to the obstacle and needing to wait for rescue.
[0004] When the robot is stuck in the inflation layer, the following methods are usually used in the prior art:
[0005] (1) sending state, waiting for rescue; (2) setting a small inflation layer range; (3) increasing the prediction distance to perceive the passability in front; (4) improving control and sensor precision.
[0006] However, the above methods have the following disadvantages:
[0007] (1) If the sending state and waiting for rescue are used, the running efficiency of the robot will be affected, and the user experience will be affected;
[0008] (2) If the collision layer range is set small, the safety will also be reduced;
[0009] (3) If the prediction distance is increased, the blind area problem cannot be solved;
[0010] (4) If the control and sensor precision are improved, it cannot be guaranteed that the robot will not be stuck in the inflation layer.
[0011] Therefore, it is necessary to provide a self-rescue method for a robot stuck in an obstacle inflation layer to improve the above-mentioned disadvantages of the prior art. SUMMARY
[0012] In view of the above problems, the present application provides a self-rescue method for a virtual obstacle inflation layer, a robot and a storage medium, which can formulate a feasible self-rescue strategy to escape safely according to the environment when the inflation layer is stuck, reduce human intervention, and does not need to change the original safety strategy, and ensures the safe operation.
[0013] To achieve the above object, the inventors provide a self-rescue method for a virtual expansion layer of an obstacle, comprising:
[0014] If it is identified that the robot contour enters the expansion layer, a global planning path and a current pose are acquired;
[0015] According to the global planning path and the current pose, a nearest path point in the global planning path that is at least separated from the robot by a first preset distance and has not been run to is calculated and acquired;
[0016] If it is determined according to laser data that there is no obstacle within a second preset distance range in front of the robot, the nearest path point is taken as a running target point; if there is an obstacle, each point position is traversed from the nearest path point to the terminal point of the global planning path, a point position meeting a preset requirement is acquired, and the point position is taken as the running target point;
[0017] The preset requirement comprises that an included angle with the current pose is within a first preset angle range, and there is no obstacle within a range expanded by a second preset angle to the left side and the right side, respectively.
[0018] Different from the prior art, the above technical solution can automatically formulate a feasible self-rescue strategy according to the current environment in the case of robot contour entering the obstacle expansion layer and planning control failure, so as to safely escape from the expansion layer without human intervention and changing the original safety strategy, thereby improving the intelligence of the robot and optimizing the user experience.
[0019] In some embodiments, there is no obstacle within the range expanded by the second preset angle to the left side and the right side, respectively, specifically:
[0020] Each point position within the range expanded by the second preset angle to the left side and the right side, respectively, has no obstacle within a third preset distance radius.
[0021] In some embodiments, the method further comprises:
[0022] According to the current pose of the robot and the running target point, a running control amount is calculated.
[0023] In some embodiments, after the running control amount is calculated, the method further comprises:
[0024] If the running target point is not the nearest path point, and the obstacle is located in front of the robot, the speed in the running control amount is adjusted to 0;
[0025] If the running target point is not the nearest path point, and the obstacle is located on the right side or the left side of the robot, the angular velocity in the running control amount is adjusted to 0.
[0026] if the speed in the operation control quantity is greater than a preset speed threshold value, or the angular velocity is greater than a preset angular velocity threshold value, the speed in the operation control quantity is adjusted to the preset speed threshold value, or the angular velocity is adjusted to the preset angular velocity threshold value;
[0027] publish the adjusted operation control quantity.
[0028] In some embodiments, the if the robot contour enters the inflation layer includes:
[0029] if the control planning fails, and the robot contour enters the inflation layer is identified by calling the cost map.
[0030] In some embodiments, the first preset distance is 0.08-0.2m; the second preset distance is 0.2-0.6m; the first preset angle is any angle in 60-120 degrees; and the second preset angle is any angle in 15-60 degrees.
[0031] In some embodiments, the first preset distance is 0.1m; the second preset distance is 0.4m; the first preset angle is 90 degrees; and the second preset angle is 30 degrees.
[0032] In these embodiments, by adjusting the operation control quantity according to the current environment of the robot, the operation of the robot is constrained, the collision of the robot is reduced as much as possible, and the safety of the operation of the robot is further improved.
[0033] To achieve the above-mentioned purposes, the inventors also provide a computer readable storage medium having a computer program stored thereon; the computer program can implement the above-mentioned self-rescue method for coping with the virtual inflation layer of obstacles when executed by a processor.
[0034] To achieve the above-mentioned purposes, the inventors also provide a robot comprising a storage medium and a processor; the storage medium has a computer program stored thereon; the computer program can implement the above-mentioned self-rescue method for coping with the virtual inflation layer of obstacles when executed by the processor.
[0035] The above-mentioned content is only a summary of the technical scheme of the present application. In order for those skilled in the art to more clearly understand the technical scheme of the present application, and then implement the content recorded in the specification and drawings, and in order for the above-mentioned purposes, characteristics and advantages of the present application to be more easily understood, the following will be described in combination with the specific embodiments of the present application and the drawings. BRIEF DESCRIPTION OF DRAWINGS
[0036] The accompanying drawings are only used to illustrate the principles, implementation manners, applications, characteristics and effects of the specific embodiments of the present application and cannot be considered as limiting the present application.
[0037] In the drawings:
[0038] Figure 1 is a flow diagram illustrating a self-help method for coping with a virtual expansion layer of an obstacle according to an embodiment;
[0039] Figure 2 is a flow diagram illustrating a self-help method for coping with a virtual expansion layer of an obstacle according to an embodiment;
[0040] Figure 3 is a schematic diagram illustrating a nearest path point according to an embodiment;
[0041] Figure 4 is a schematic diagram illustrating a second preset distance range in front of a robot according to an embodiment. EMBODIMENTS
[0042] To make the possible application scenarios, technical principles, specific schemes that can be implemented, purposes and effects that can be achieved of the present application clear, the following will be described in detail in combination with the specific embodiments listed and with reference to the drawings. The embodiments described herein are only used to more clearly illustrate the technical schemes of the present application, and therefore only serve as examples, but cannot limit the protection scope of the present application.
[0043] In this document, the term “embodiment” means that the specific features, structures or characteristics described in combination with the embodiments can be included in at least one embodiment of the present application. The term “embodiment” appearing at various positions in the specification does not necessarily refer to the same embodiment, and does not particularly limit the independence or association between other embodiments. In principle, in the present application, as long as there is no technical contradiction or conflict, each technical feature mentioned in each embodiment can be combined in any manner to form a corresponding implementable technical scheme.
[0044] Unless otherwise defined, the meanings of the technical terms used herein are the same as those commonly understood by those skilled in the art to which the present application belongs; the use of related terms herein is only for the purpose of describing specific embodiments and is not intended to limit the present application.
[0045] In the description of the present application, the word “and / or” is a description of the logical relationship between the objects, which means that there can be three relationships, for example, A and / or B, which means that there are three cases: A exists, B exists, and A and B exist at the same time. In addition, the character “ / ” herein generally represents that the associated objects before and after are a “or” logical relationship.
[0046] In the present application, the terms such as "first" and "second" are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual number, primary or secondary, or order relationship between the entities or operations.
[0047] In the present application, the "includes", "contains", "has", or other similar expressions used in the statements are intended to cover non-exclusive inclusion, and do not exclude the presence of additional elements in the process, method or product comprising the elements, so that the process, method or product comprising a series of elements can not only include those defined elements, but also include other elements not explicitly listed, or also include elements inherent to such process, method or product.
[0048] As the same understanding as in the "Guidelines for Examination", in the present application, the expressions such as "greater than", "less than", "exceed" are understood as not including the number; the expressions such as "above", "below", "within" are understood as including the number. In addition, in the description of the embodiments of the present application, the meaning of "multiple" is more than two (including two), and similar expressions related to "multiple" are also understood in this way, for example, "multiple groups", "multiple times", etc., unless otherwise explicitly specified.
[0049] In the description of the embodiments of the present application, the spatial-related expressions used, such as "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "perpendicular", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. The indicated orientation or position relationship is based on the orientation or position relationship shown in the specific embodiment or the drawing, and is only for the convenience of describing the specific embodiments of the present application or for the reader to understand, and does not indicate or imply that the indicated device or component must have a specific position, a specific orientation, or be constructed or operated in a specific orientation, and therefore cannot be understood as a limitation on the embodiments of the present application.
[0050] Unless otherwise explicitly specified or limited, in the description of the embodiments of the present application, the terms "mount", "connect", "connect", "fix", "set", etc. should be understood in a broad sense. For example, the "connection" can be a fixed connection, or a detachable connection, or an integral setting; it can be a mechanical connection, or an electrical connection, or a communication connection; it can be directly connected, or indirectly connected through an intermediate medium; it can be the internal communication of two elements or the interaction relationship between two elements. For those skilled in the art to which the present application belongs, the specific meaning of the above terms in the embodiments of the present application can be understood according to the specific circumstances.
[0051] Please refer toFigure 1 , Figure 1 is a flowchart illustrating an embodiment of a self-help method for coping with a virtual inflation layer of obstacles. As shown in Figure 1 , the method comprises:
[0052] If it is identified that the robot profile enters the inflation layer, the global planning path and the current pose are acquired;
[0053] According to the global planning path and the current pose, the nearest path point in the global planning path that is at least separated from the robot by a first preset distance and has not been run to is calculated and acquired;
[0054] If it is determined according to the laser data that there is no obstacle within a second preset distance range in front of the robot, the nearest path point is taken as a running target point; if there is an obstacle, each point position is traversed from the nearest path point to the terminal point direction of the global planning path, a point position meeting a preset requirement is acquired, and the point position is taken as a running target point;
[0055] The preset requirement includes that an included angle with the current pose is within a first preset angle range, and there is no obstacle within a range extended by a second preset angle to the left side and the right side, respectively.
[0056] Please refer to Figure 2 , Figure 2 is a flowchart illustrating an embodiment of a self-help method for coping with a virtual inflation layer of obstacles. As shown in Figure 2 , the self-help method comprises:
[0057] S1: If the control planning fails and it is identified that the robot profile enters the inflation layer;
[0058] Wherein, the control planning failure is informed by a robot control global planning algorithm module; the way of identifying whether the robot profile enters the inflation layer can be to call a cost map in the control global planning algorithm module to identify whether the robot profile enters the inflation layer, and if yes, proceed to step S2; if no, no processing is performed.
[0059] S2: Acquire the global planning path and the current pose;
[0060] Wherein, the global planning path is acquired from a global planning algorithm module and includes a running path from a starting point to a terminal point.
[0061] S3: According to the global planning path and the current pose, the nearest path point in the global planning path that is at least separated from the robot by a first preset distance and has not been run to is calculated and acquired; if there is no nearest path point, the state is sent up and the processing is exited; if there is the nearest path point, the S4 is executed;
[0062] Wherein, the current pose refers to the point position of the robot on the cost map. The nearest path point needs to meet three conditions at the same time: (1) located in the path that has not been run in the global planning path; (2) the distance from the robot current pose exceeds the first preset distance; (3) the nearest distance from the robot current pose. Please refer to Figure 3 , Figure 3 is a schematic diagram showing the nearest path point according to the embodiment.
[0063] In an embodiment, the current pose is named as pose0; the nearest path point is named as pose1; optionally, the optional range of the first preset distance is 0.08-0.2m; preferably, 0.1m.
[0064] S4: Obtain laser data, judge whether there is an obstacle in the second preset distance range in front of the robot; if not, execute S5; if yes, execute S6;
[0065] Wherein, the second preset distance refers to the distance from the robot center (i.e. the current pose). The optional range of the second preset distance is 0.2-0.6m; preferably, 0.4m, then the distance from the robot contour is about 0.2m.
[0066] Here, a certain range in front of the robot is limited by the second preset distance, and whether there is an obstacle in the range is judged to help decide the self-rescue direction subsequently. The schematic diagram of the range limited by this step can be referred to Figure 4 , Figure 4 is a schematic diagram showing the second preset distance range in front of the robot according to the embodiment.
[0067] S5: Corresponding to the case that there is no obstacle in a certain range in front of the robot, the nearest path point is taken as the running target point, and step S7 is executed at the same time;
[0068] That is to say, in this round of self-rescue, the running target point of the robot is the nearest path point pose1.
[0069] S6: Corresponding to the case that there is an obstacle in a certain range in front of the robot, each point position is traversed from the nearest path point to the terminal point of the global planning path, the point position meeting the preset requirement is obtained, and the point position is taken as the running target point, and step S7 is executed;
[0070] The preset requirement comprises: an included angle with the current pose is within a first preset angle range, and there is no obstacle within a range extended by a second preset angle to the left side and the right side respectively. The first preset angle is any angle in 60-120 degrees, preferably 90 degrees; and the second preset angle is any angle in 15-60 degrees, preferably 30 degrees. Here, the angle limitation can achieve the effect of limiting the executable range of the robot in self-rescue, thereby improving the success rate of robot self-rescue, and also making the safety of robot self-rescue higher, and less likely to bump.
[0071] According to the above specific embodiment, on the global planning path, starting from the nearest path point pose1, each point is traversed in the rear direction (i.e. in the direction of the end point of the global planning path), and it is judged whether the currently traversed point meets the preset requirement. If it meets the preset requirement, the traversal is stopped, and the point is taken as the running target point. If no point meets the preset requirement after traversing to the end point of the global planning path, it is determined that the running target point cannot be found, which means that the robot cannot escape, and the state is sent up and the processing is exited.
[0072] Specifically, the traversal process comprises:
[0073] (1) naming the currently traversed point as pose2;
[0074] (2) judging whether the included angle between pose2 and pose0 (i.e. the current pose of the robot) is within 90 degrees; if not, the next point is traversed, and returns to (1); if yes, (3) is executed;
[0075] (3) taking the laser beam in which pose2 is located in the laser polar coordinate as the center line, and extending 30 degrees to the left side and the right side respectively; then judging whether there is an obstacle in the range covered by the 60 degrees obtained by extension according to the laser data;
[0076] It can be understood that the laser data is polar coordinate data with pose0 as the origin, and the data format is (distance, angle), and the angle resolution is 0.03 degrees, and the intervals are evenly distributed. Therefore, the laser beam corresponding to pose2 in the laser polar coordinate can be calculated by the included angle between pose2 and pose0 and the resolution.
[0077] In a preferred specific embodiment, it is further judged whether there is an obstacle within a third preset distance radius of each point in the above obtained range, so as to determine the best self-rescue target point, and further improve the self-rescue success rate and the safety of operation. The optional range of the third preset distance is 0.2-0.8m; and the optimal value is 0.4m.
[0078] S7: determining a self-rescue strategy according to the current pose of the robot and the determined running target point;
[0079] According to the above embodiment, if there is no obstacle in front of the robot, the running target point pose3 = pose1; otherwise, pose3 = pose2;
[0080] Then, according to the current pose pose0 of the robot and the running target point pose3, the running control quantity is calculated;
[0081] The running control quantity is represented as:
[0082] dx = pose3.x - pose0.x;
[0083] dy = pose3.y - pose0.y;
[0084] dyaw = pose3.yaw - pose0.yaw;
[0085] v = sqrt(dx*dx + dy*dy) / dt, where dt is the estimated running time, which can be set to 1s;
[0086] w = dyaw / dt;
[0087] S8: Determine the legality of the self-help strategy;
[0088] That is, according to the legality of the control quantity in step S4, the judgment process includes:
[0089] If there is an obstacle in front of the robot according to step S4, the speed V in the control quantity is greater than 0 (forward), and the speed V in the running control quantity is adjusted to 0 (the robot is not allowed to move forward);
[0090] If there is an obstacle on the right side of the robot according to step S4, the angular velocity W in the control quantity is less than 0 (clockwise rotation), and the angular velocity W in the running control quantity is adjusted to 0;
[0091] If there is an obstacle on the left side of the robot according to step S4, the angular velocity W in the control quantity is greater than 0 (counterclockwise rotation), and the angular velocity W in the running control quantity is adjusted to 0;
[0092] If the speed in the running control quantity is greater than the preset speed threshold, the speed in the running control quantity is adjusted to the preset speed threshold;
[0093] If the angular velocity in the running control quantity is greater than the preset angular velocity threshold, the angular velocity in the running control quantity is adjusted to the preset angular velocity threshold.
[0094] S9: Publish the adjusted running control quantity.
[0095] By adjusting the operation control quantity, the operation control quantity is constrained, so that the operation is not too fast, thereby reducing the probability of collision and improving the safety of operation in the self-help process.
[0096] The application also provides a computer readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, can realize the self-help method for coping with the virtual inflation layer of obstacles according to the above embodiment. The steps of the method are not repeated here, and please refer to the description of the above embodiment for details.
[0097] The application also provides a robot comprising a storage medium and a processor, wherein the storage medium has a computer program stored thereon, and the computer program, when executed by the processor, can realize the self-help method for coping with the virtual inflation layer of obstacles according to the above embodiment. The steps of the method are not repeated here, and please refer to the description of the above embodiment for details.
[0098] The self-help method for coping with the virtual inflation layer of obstacles, the robot and the storage medium provided by the application can self-perceive the collision with the obstacle and formulate a self-help strategy without changing the original safety strategy and planning path on the premise that the robot is currently in an environment, so as to realize safe escape from the inflation layer and reduce human intervention, and ensure operation safety and reduce collision.
[0099] Finally, it should be noted that although the above embodiments have been described in the specification and drawings of the application, the patent protection scope of the application should not be limited. Any equivalent structure or equivalent flow replacing or modifying the technical solutions of the above embodiments based on the essential concept of the application, and directly or indirectly implementing the technical solutions of the above embodiments in other related technical fields, etc., are all included in the patent protection scope of the application.
Claims
1. A self-rescue method against a virtual expansion layer of an obstacle, characterized by, The method comprises the following steps: If it is identified that the robot profile enters the inflation layer, the global planning path and the current pose are obtained; According to the global planning path and the current pose, the nearest path point in the global planning path which is at least separated from the robot by a first preset distance and has not been run to is calculated and obtained; If it is determined according to the laser data that there is no obstacle within a second preset distance range in front of the robot, the nearest path point is taken as a running target point; if there is an obstacle, each point position is traversed from the nearest path point to the terminal point of the global planning path, a point position meeting a preset requirement is obtained, and the point position is taken as the running target point; The preset requirement comprises that the included angle with the current pose is within a first preset angle range, and there is no obstacle within a range extended by a second preset angle to the left side and the right side respectively; The method further comprises the following steps:
2. The self-rescue method of a virtual inflation layer of an obstacle according to claim 1, wherein, If the control planning fails and it is identified that the robot profile enters the inflation layer, the control planning failure is informed by a robot control global planning algorithm module; a cost map in the control global planning algorithm module is called to identify whether the robot profile enters the inflation layer, and if yes, the step of obtaining the global planning path and the current pose is entered; if not, no processing is performed. There is no obstacle within the range extended by the second preset angle to the left side and the right side respectively, specifically:
3. The self-rescue method of a virtual inflation layer of an obstacle according to claim 1, wherein, There is no obstacle within a third preset distance radius for each point position within the range extended by the second preset angle to the left side and the right side respectively. The method further comprises the following steps:
4. The self-rescue method of a virtual inflation layer of an obstacle according to claim 3, wherein, According to the current pose of the robot and the running target point, a running control amount is calculated. The calculation of the running control amount further comprises the following steps: If the running target point is not the nearest path point and the obstacle is located in front of the robot, the speed in the running control amount is adjusted to 0; If the running target point is not the nearest path point and the obstacle is located on the right side or the left side of the robot, the angular velocity in the running control amount is adjusted to 0; If the speed in the running control amount is greater than a preset speed threshold value or the angular velocity is greater than a preset angular velocity threshold value, the speed in the running control amount is adjusted to the preset speed threshold value or the angular velocity is adjusted to the preset angular velocity threshold value; 5. The self-rescue method of a virtual inflation layer of an obstacle according to claim 1, wherein, The adjusted running control amount is published.
6. The self-rescue method of a virtual inflation layer of an obstacle according to claim 5, wherein, The first preset distance is 0.08-0.2 m; the second preset distance is 0.2-0.6 m; the first preset angle is any angle in 60-120 degrees; and the second preset angle is any angle in 15-60 degrees.
7. A computer readable storage medium characterized in that, The first preset distance is 0.1 m; the second preset distance is 0.4 m; the first preset angle is 90 degrees; and the second preset angle is 30 degrees.
8. A robot, characterized in that The computer program is stored on the storage medium and can be executed by the processor to implement the self-rescue method against the virtual inflation layer of the obstacle according to any one of claims 1-6. The storage medium and the processor are included, and the computer program is stored on the storage medium and can be executed by the processor to implement the self-rescue method against the virtual inflation layer of the obstacle according to any one of claims 1-6.
Citation Information
Patent Citations
Avoidance path planning method based on closest distance vector field histogram
CN103455034A
Robot path planning method and device in indoor dynamic environment and robot
CN106774347A