A method for a robot to escape from a trap

By filtering point cloud information from low-cost laser sensors, generating escape paths, and utilizing connecting motion paths, the problem of robots failing to escape in narrow or enclosed areas is solved, improving the success rate of escape and navigation intelligence.

CN116009543BActive Publication Date: 2026-05-05HONGYANG HOME APPLIANCES
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HONGYANG HOME APPLIANCES
Filing Date
2022-12-29
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

The low measurement accuracy of existing low-cost laser sensors leads to inaccurate judgment of escape paths for robots in narrow or enclosed areas, resulting in a high failure rate for escape.

Method used

By filtering point cloud information detected by low-cost laser sensors, the location and size of effective obstacles are determined, an escape path is generated, and the success rate of escape is improved by using a combination of specified obstacles and connecting movement paths.

Benefits of technology

This improved the robot's success rate in escaping obstacles and its intelligent automatic navigation, thereby increasing work efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116009543B_ABST
    Figure CN116009543B_ABST
Patent Text Reader

Abstract

This application discloses a method for robot obstacle avoidance, relating to the technical field of smart home appliances. The method is applied to a robot equipped with a laser sensor to detect the distance to surrounding obstacles. The method includes: determining the position information of multiple effective obstacles based on point cloud information detected by the laser sensor; determining a first distance between every two adjacent effective obstacles based on the position information; selecting first distances exceeding a preset obstacle avoidance size from the multiple first distances, and marking the two adjacent effective obstacles corresponding to the selected first distances as a specified obstacle combination; generating an obstacle avoidance path for the robot based on its current position information and the position information of the obstacle avoidance area between two adjacent effective obstacles in the specified obstacle combination. Therefore, this application has the advantages of improving work efficiency and intelligence, and enhancing the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of smart home appliances, and more specifically, to a method for a robot to escape from difficult situations. Background Technology

[0002] In existing technologies, mobile robots use the distance detection function of laser sensors to acquire information about their surrounding environment and create environmental maps, providing data support for real-time positioning and navigation planning. With the rapid development of laser ranging technology, the cost of laser sensors continues to decrease.

[0003] Currently, low-cost laser sensors generally suffer from low measurement accuracy. Their low scanning frequency and angular resolution cause the robot's ranging accuracy to rapidly decrease as the measured distance increases. Furthermore, when robots using low-cost laser sensors are trapped in narrow or large enclosed areas during actual operation, the method of calculating the escape angle based on the measured obstacle distance and then directly determining whether the robot can escape based on the escape angle is inaccurate. Summary of the Invention

[0004] The purpose of this application is to provide a method for robot extrication from obstacles, which enables the robot to automatically extricate itself from obstacles based on data detected by a low-cost laser sensor, thereby improving the intelligence and accuracy of the robot in the process of automatic navigation and obstacle extrication, and increasing the robot's working efficiency.

[0005] The embodiments of this application are implemented as follows:

[0006] The first aspect of this application provides a method for robot extrication from obstacles. The method is applied to a robot equipped with a laser sensor, which detects the distance to surrounding obstacles. The method includes: determining the position information of multiple effective obstacles based on point cloud information detected by the laser sensor; determining a first distance between every two adjacent effective obstacles based on the position information; selecting first distances exceeding a preset extrication size from the multiple first distances, and marking the two adjacent effective obstacles corresponding to the selected first distances as a specified obstacle combination; and generating an extrication path for the robot based on its current position information and the position information of the extrication area between two adjacent effective obstacles in the specified obstacle combination.

[0007] In one embodiment, the location information of multiple valid obstacles is determined based on point cloud information detected by a laser sensor, including: determining the location information of each obstacle based on the point cloud information; determining the obstacle size and / or obstacle boundary angle of each obstacle based on the location information of each obstacle; wherein the obstacle boundary angle is the angle formed by the two outermost endpoints of the obstacle relative to the robot and the robot's current position; and selecting valid obstacles from all obstacles based on the obstacle size and / or obstacle boundary angle, and marking the location information of the valid obstacles.

[0008] In one embodiment, effective obstacles are selected from all obstacles based on the size of each obstacle and / or the boundary angle of the obstacle, including: selecting obstacles whose size exceeds a preset size threshold and / or whose boundary angle exceeds a first preset angle threshold as effective obstacles.

[0009] In one embodiment, the obstacle size and / or obstacle boundary angle of each obstacle are determined based on the position information of each obstacle, including: determining the two outermost endpoints of each obstacle relative to the robot, and the two endpoint angles formed by the robot's current position in a preset angular coordinate system; determining whether the difference between the two endpoint angle values ​​exceeds 180 degrees; if so, recalculating the obstacle boundary angle based on the difference between the endpoint angle values, wherein the obstacle boundary angle does not exceed 180 degrees; if not, determining the obstacle boundary angle as the difference between the two endpoint angle values.

[0010] In one embodiment, determining the location information of each obstacle based on point cloud information includes: clustering the point cloud information to obtain multiple point cloud clusters; wherein, a point cloud cluster indicates the location information of an obstacle.

[0011] In one embodiment, before determining the first distance between every two adjacent effective obstacles based on the location information, the method further includes: marking the intermediate region between every two adjacent effective obstacles, and determining whether the included angle corresponding to the intermediate region exceeds a second preset angle threshold; the included angle is the angle formed by the intermediate region relative to the two outermost endpoints of the robot and the current position of the robot; filtering out intermediate regions whose included angle exceeds the second preset angle threshold as target intermediate regions; and for the two adjacent effective obstacles corresponding to the target intermediate region, continuing to execute the step of determining the first distance between every two adjacent effective obstacles based on the location information.

[0012] In one embodiment, determining the first distance between every two adjacent effective obstacles based on location information includes: calculating a second distance between adjacent endpoints of effective obstacles located on both sides of the intermediate region based on the location information of the effective obstacles, or calculating the shortest distance between effective obstacles located on both sides of the intermediate region, and using the second distance or the shortest distance as the first distance; the intermediate region is located between two adjacent effective obstacles.

[0013] In one embodiment, selecting first distances exceeding a preset escape size from a plurality of first distances, and marking two adjacent effective obstacles corresponding to the selected first distances as a designated obstacle combination, includes: selecting first distances exceeding a preset escape size from a plurality of first distances; marking two adjacent effective obstacles corresponding to the selected first distances as candidate obstacle combinations, and determining whether the number of candidate obstacle combinations is less than one; if the number is not less than one, marking the candidate obstacle combination corresponding to the first distance with the largest value as the designated obstacle combination.

[0014] In one embodiment, after generating the robot's escape path, the method further includes: after the robot escapes the obstacle, determining a connecting motion path between the robot's path adjustment position and the initial motion path based on new point cloud information detected by the laser sensor; and controlling the robot to move along the connecting motion path to the initial motion path and continue moving after moving to the path adjustment position.

[0015] In one embodiment, based on new point cloud information detected by a laser sensor, determining the connecting motion path between the robot's path adjustment position and the initial motion path includes: after the robot escapes from the obstacle, determining the robot's real-time position and direction of movement based on the new point cloud information detected by the laser sensor; the direction of movement is away from a specified combination of obstacles; based on the real-time position, direction of movement, and a preset movement distance, determining the robot's path adjustment position after escaping the obstacle; taking the real-time position as the center and the path adjustment position as the tangent point, determining the tangent line between the initial motion path and the path adjustment position, and marking the tangent line as the connecting motion path.

[0016] In one embodiment, the laser sensor is preferably a lidar.

[0017] The advantages of this application compared to the prior art are:

[0018] This application addresses the high failure rate of robots in existing technologies that directly determine their escape path based on the escape angle formed by obstacles on both sides and the robot itself. The robot escape method provided in this application uses point cloud information detected by a low-cost laser sensor to determine adjacent obstacles with sufficient intermediate distances, ultimately generating an escape path. This application effectively improves the robot's escape success rate and the intelligence of its automatic navigation, while also increasing work efficiency. Attached Figure Description

[0019] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 A schematic diagram illustrating an application scenario of the robot's obstacle-avoidance method provided in an embodiment of this application;

[0021] Figure 2 A flowchart illustrating a robot extrication method according to an embodiment of this application;

[0022] Figure 3 A flowchart illustrating a robot extrication method according to an embodiment of this application;

[0023] Figure 4 This is a schematic diagram of a point cloud obtained by a laser sensor according to an embodiment of this application;

[0024] Figure 5 This is a schematic diagram of a point cloud cluster obtained by a robot clustering point clouds according to an embodiment of this application;

[0025] Figure 6 A schematic diagram illustrating the calculation process of obstacle boundary angles according to an embodiment of this application;

[0026] Figure 7 An obstacle map regenerated by a robot based on obstacle boundary angles is provided in one embodiment of this application;

[0027] Figure 8 A schematic diagram illustrating how a robot calculates obstacle dimensions based on point cloud cluster boundaries, as provided in an embodiment of this application;

[0028] Figure 9 An obstacle map generated by a robot based on obstacle boundary angle filtering is provided in one embodiment of this application;

[0029] Figure 10This is a schematic diagram illustrating how a robot determines multiple intermediate regions based on the positions of various obstacles, as provided in an embodiment of this application.

[0030] Figure 11 This is a schematic diagram illustrating how a robot determines a target intermediate region based on the included angles of multiple intermediate regions, according to an embodiment of this application.

[0031] Figure 12 A schematic diagram illustrating the robot calculating a first distance according to an embodiment of this application;

[0032] Figure 13 This is a schematic diagram illustrating the determination of a connecting motion path for a robot after it escapes from a difficult situation, according to an embodiment of this application.

[0033] Reference numerals: 100 - Robot; 110 - Laser sensor; 120 - Obstacle; 130 - Trapped area. Detailed Implementation

[0034] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0035] Similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0036] The technical solution of this application will now be clearly and completely described with reference to the accompanying drawings.

[0037] Please see Figure 1 , Figure 1 This is a schematic diagram illustrating an application scenario of the robot's obstacle avoidance method provided in one embodiment of this application, such as... Figure 1 As shown, this application provides a robot 100, which is equipped with a laser sensor 110. The laser sensor 110 is used to detect the distance of obstacles 120 around the robot 100. The robot 100 has at least one processor and at least one memory inside. The memory stores instructions to be executed by the at least one processor, so that the at least one processor performs the robot's escape method as described in the following embodiments.

[0038] The laser sensor 110 is preferably a lidar sensor.

[0039] like Figure 1As shown, the robot moves continuously during operation. When working in an indoor environment, the robot can obtain distance information between itself and obstacles in the surrounding environment through laser sensors. Then, based on the distance information and motion records, it builds a map and achieves real-time positioning. The motion records include the direction of movement and the distance traveled. In special circumstances, the robot may fail to locate itself if it mistakenly enters an area with significant changes in the surrounding environment (such as a walled area or a dead end) or is repeatedly blocked by nearby obstacles. In this case, the robot needs to find an escape path to leave the current area and restore its positioning, or continue to build a map based on the existing map, and resume its original path after leaving the trapped area.

[0040] Please see Figure 2 , Figure 2 This is a flowchart illustrating a robot extrication method according to an embodiment of this application. Figure 2 As shown in the figure, this application provides a method for a robot to escape from a difficult situation, which includes the following steps.

[0041] S110: Based on point cloud information detected by laser sensors, determine the location information of multiple effective obstacles.

[0042] Effective obstacles refer to the obstacles obtained by the robot after filtering out small, redundant obstacles that hinder the generation of the correct escape path based on point cloud information.

[0043] In this step, the robot processes the point cloud information of surrounding obstacles detected by the laser sensor to obtain a point cloud map, and then obtains the effective obstacles corresponding to multiple point cloud sets (also known as point cloud clusters) in the point cloud map. Then, a map is built based on the point cloud data in the point cloud map to determine the location information of multiple effective obstacles in the map.

[0044] S120: Determine the first distance between every two adjacent valid obstacles based on the location information.

[0045] The first distance refers to the distance between two adjacent valid obstacles on the map, or the shortest distance between two adjacent valid obstacles.

[0046] In this step, after determining the location information of multiple valid obstacles, the robot calculates the first distance between all adjacent valid obstacles on the map based on the multiple location information.

[0047] S130: From multiple first distances, select the first distances that exceed the preset escape size, and mark the two adjacent valid obstacles corresponding to the selected first distances as the specified obstacle combination.

[0048] Preset obstacle avoidance dimensions refer to the minimum dimensions at which a robot can normally pass between obstacles during movement. Preset obstacle avoidance dimensions are usually calculated and stored in advance based on the robot's maximum span and the minimum distance requirements when the robot walks along an edge or along an obstacle.

[0049] In this step, after calculating the first distance between multiple sets of adjacent effective obstacles, the robot marks the two adjacent effective obstacles corresponding to the first distance that exceed the preset escape size as a specified obstacle combination, so that the robot can generate an escape path based on the position information of the two adjacent effective obstacles in the specified obstacle combination in subsequent steps.

[0050] S140: Generate an escape path for the robot based on its current position information and the position information of the escape area between two adjacent effective obstacles in the specified obstacle combination.

[0051] An escape path refers to the navigation route a robot must follow to leave its current stuck area. In this step, after determining a specified obstacle combination, the robot can determine the position it should take to leave the current stuck area by passing between two adjacent obstacles corresponding to that combination and moving away from the current stuck area. Therefore, based on its current position information and the position information corresponding to the area between two adjacent effective obstacles in the specified obstacle combination, the robot generates an escape path. The area between two adjacent effective obstacles in the specified obstacle combination is the escape area.

[0052] Please see Figure 3 , Figure 3 This is a flowchart illustrating a robot extrication method according to an embodiment of this application. Figure 3 As shown in the figure, this application provides a method for a robot to escape from a difficult situation, which includes the following steps.

[0053] S211: Determine the location information of each obstacle based on point cloud information.

[0054] Please see Figure 4 As shown, Figure 4 This is a schematic diagram of a point cloud obtained by a laser sensor according to an embodiment of this application. Figure 4 As shown, the robot acquires point cloud information detected by its laser sensor and constructs a point cloud map during its movement. Point O represents the robot's current position, and the arrow indicates the robot's current direction of movement. When the laser sensor on the robot has a low angular resolution, gaps appear in the point cloud representing the walls surrounding the robot.

[0055] In this step, the robot first filters the point cloud for points that are too far or too close. Then, the robot clusters all the point clouds in the point cloud information to obtain multiple point cloud clusters (i.e., the set of point clouds corresponding to obstacles). Clustering is the process by which the robot divides all point clouds into different classes or clusters according to a preset criterion (such as a distance criterion), maximizing the similarity of point clouds within the same cluster and maximizing the differences between point clouds in different clusters. Point clouds of the same class are clustered together as much as possible after clustering, while point clouds of different classes are separated as much as possible. In this embodiment, the DBSCAN method (Density-Based Spatial Clustering of Applications with Noise) can be selected to integrate point clouds that are relatively close together. Please refer to [link to relevant documentation]. Figure 5 As shown, Figure 5 This is a schematic diagram of point cloud clusters obtained by a robot clustering point clouds according to an embodiment of this application. Figure 5 As shown, the robot obtains the following after performing point cloud clustering: Figure 5 The diagram shows nine point cloud clusters. Each point cloud cluster indicates the location information of an obstacle.

[0056] S212: Determine the obstacle size and / or obstacle boundary angle of each obstacle based on the location information of each obstacle.

[0057] For calculations of obstacle boundary angles, please refer to [link / reference]. Figures 6 to 7 , Figure 6 This is a schematic diagram illustrating the calculation process for the obstacle boundary angle according to an embodiment of this application. The calculation steps include the following sub-steps S2121 to S2124. Figure 7 An obstacle map regenerated by a robot based on obstacle boundary angles, as provided in one embodiment of this application. Figure 6 , Figure 7 As shown, the robot establishes a coordinate system with the current direction of movement as the positive X-axis (0 degrees). Counterclockwise is counted as positive angles, and clockwise is counted as negative angles. The maximum positive angle is 180 degrees, and the minimum negative angle is -180 degrees. The maximum and minimum positive angles correspond to the same direction and are both in the negative X-axis direction. Regarding obstacles around the robot, the boundary points at both ends may appear simultaneously on both sides of the negative X-axis, causing errors in the calculation of obstacle boundary angles. Therefore, the robot... Figure 6 The calculation method shown is used for the calculation.

[0058] S2121: Determine the angle values ​​of the two endpoints of each obstacle relative to the outermost two endpoints of the robot in the preset angular coordinate system, which are respectively formed by the two endpoints of the robot's current position O.

[0059] Preset angular coordinate system can be as follows Figure 7 As shown, the robot's current direction of motion is taken as 0 degrees and is also the positive direction of the X-axis. Counterclockwise is the positive angle count, and clockwise is the negative angle count. The maximum positive angle is 180 degrees, and the minimum negative angle is -180 degrees. The maximum positive angle and the minimum negative angle correspond to the same direction and are both in the negative direction of the X-axis. The angle corresponding to the straight line formed by the boundary point of each point cloud cluster (obstacle) and the robot's current position is the endpoint angle value.

[0060] The preset angular coordinate system can also be set with the robot's current direction of movement as 0 degrees. The robot uses a counter-clockwise direction as positive to measure the angles corresponding to the straight lines formed by the boundary points of each point cloud cluster (obstacle) and the robot's current position. These angles are the endpoint angle values. The maximum measured endpoint angle value is less than 360 degrees, and the straight line containing 360 degrees coincides with the straight line containing 0 degrees. The robot obtains two endpoint angle values ​​for each point cloud cluster (obstacle) based on the two outermost boundary points of the obstacle relative to the robot.

[0061] S2122: Determine whether the difference between the angle values ​​of the two endpoints exceeds 180 degrees.

[0062] like Figure 7 As shown, the point cloud cluster corresponding to the obstacle in interval 1 jumps from a proximity of -180 degrees to a proximity of 180 degrees. This causes the first endpoint angle value we measure to be the maximum positive value (close to 180°), and the second endpoint angle value to be the maximum negative value (close to -180°). When calculating the difference between the two endpoint angle values, the difference is greater than 180 degrees. However, the actual robot boundary angle value formed by the obstacle relative to the robot's two outermost endpoints and the robot's current position is less than 180 degrees. Therefore, in this step, the robot needs to determine whether the difference between the two endpoint angle values ​​exceeds 180 degrees. The difference between the endpoint angle values ​​is the larger endpoint angle value minus the smaller endpoint angle value, and is a positive value.

[0063] S2123: If so, recalculate the obstacle boundary angle based on the difference in endpoint angle values, provided that the obstacle boundary angle does not exceed 180 degrees.

[0064] If the difference between the endpoint angle values ​​calculated by the robot in step S2122 exceeds 180 degrees, the robot will use the absolute value of the difference between the endpoint angle values ​​and the difference between 360 degrees as the new obstacle boundary angle value. At this time, the obstacle boundary angle value is less than 180 degrees.

[0065] S2124: If not, determine the obstacle boundary angle as the difference between the angle values ​​of the two endpoints.

[0066] Based on the method for calculating obstacle boundary angles in the above steps, the robot can calculate the correct obstacle boundary angle when the obstacle spans the negative X-axis direction of the preset angular coordinate system (or the positive direction in other embodiments).

[0067] For calculations of obstacle dimensions, please refer to [link / reference]. Figure 8 , Figure 8 This is a schematic diagram illustrating how a robot calculates obstacle dimensions based on point cloud cluster boundaries, as provided in one embodiment of this application. Figure 8 As shown, the robot's current position is O. Based on the distance information corresponding to each point cloud obtained in advance by the laser sensor, the robot's current position and the distance between each obstacle and the robot and the outermost endpoint (i.e. the distance between the endpoint of the point cloud cluster and point O) are known, as well as the obstacle boundary angles corresponding to each obstacle calculated in the above steps. The robot can calculate the obstacle size according to the trigonometric function formula.

[0068] For example, such as Figure 8 As shown, the robot calculates the distance between the two endpoints A and B of the obstacle in interval 4 based on the distances OA and OB between the current position O and the outermost two endpoints A and B of the obstacle in interval 4, as well as the obstacle boundary angle ∠AOB calculated by the robot in the preset angular coordinate system. The distance between the two endpoints A and B is the obstacle size of the obstacle in interval 4.

[0069] S213: Based on the size of each obstacle and / or the angle of the obstacle boundary, filter out the valid obstacles from all obstacles and mark the location information of the valid obstacles.

[0070] Please see Figure 9 , Figure 9 An obstacle map generated by a robot based on obstacle boundary angle filtering, as provided in one embodiment of this application. Figure 9 As shown, when obstacles detected by low-cost laser sensors are at a relatively long distance, the robot will generate small point cloud clusters. These point cloud clusters interfere with the identification of effective obstacles or the generation of escape paths. Therefore, in this step, the robot needs to filter out the more obvious obstacles that can help the robot identify the passage or escape area in subsequent steps, based on the obstacle size, obstacle boundary angle, or obstacle size and obstacle boundary angle calculated in the above steps, as effective obstacles.

[0071] In one embodiment, the robot selects obstacles whose size exceeds a preset size threshold and / or whose boundary angle exceeds a first preset angle threshold as valid obstacles. The values ​​of the preset size threshold and the first preset angle threshold are generated by the designers or a computer based on interference data from multiple test results before the robot leaves the factory, and are pre-stored in the robot's memory.

[0072] In one embodiment, the robot selects obstacles whose size exceeds a preset size threshold and whose boundary angle exceeds a first preset angle threshold as valid obstacles. Figure 9 As shown, the original obstacles 5 to 7 were eliminated, and the effective obstacles are obstacles 1 to 4 and 8 to 9.

[0073] S221: Mark the middle region between every two adjacent valid obstacles, and determine whether the included angle corresponding to the middle region exceeds the second preset angle threshold.

[0074] Please see Figure 10 , Figure 10 This is a schematic diagram illustrating how a robot, according to an embodiment of this application, determines multiple intermediate regions based on the positions of various obstacles. For example... Figure 10 As shown, the robot defines the area between every two adjacent effective obstacles as the intermediate region, and marks it as intervals 1′, 2′, 3′, 4′, 8′, and 9′. To ensure the robot can successfully pass through the intermediate region, it can first compare the intermediate angle corresponding to the intermediate region to determine whether the intermediate angle value exceeds a second preset angle value. The calculation method for the intermediate angle is similar to the calculation method for the obstacle boundary angle value in the above embodiment. The intermediate angle is the angle formed by the two outermost endpoints of the intermediate region relative to the robot and the robot's current position; the two boundary lines forming the intermediate angle are the two straight lines formed by connecting the two adjacent boundary points of two adjacent effective obstacles to the robot's current position O.

[0075] S222: Select the middle region whose included angle exceeds the second preset angle threshold as the target middle region.

[0076] Please see Figure 11 , Figure 11 This is a schematic diagram illustrating how a robot, according to an embodiment of this application, determines a target intermediate region based on the included angles corresponding to multiple intermediate regions. For example... Figure 11 As shown, the robot selects at least one intermediate region with an included angle exceeding the second preset angle threshold as the target intermediate region. That is, the robot pre-selects a portion of intermediate regions with a large span so as to further calculate the first distance corresponding to the target intermediate region in subsequent steps. Figure 11 The image shows the robot selecting the middle region 4′ and using it as the target middle region.

[0077] In other embodiments of this application, the robot may also directly execute step S231 after executing step S212, so that after the robot calculates the first distance corresponding to the middle area, it can directly mark the combination of obstacles based on the first distance.

[0078] Please see Figure 12 , Figure 12 This is a schematic diagram illustrating a method for calculating a first distance using a robot, as provided in an embodiment of this application. Figure 12 As shown, taking the middle area or target middle area 4′ as an example, the robot calculates the first distance corresponding to the middle area. The robot can execute step S231 to calculate the distance between adjacent endpoints of the effective obstacles constituting the middle area (or target middle area) and use it as the first distance. The robot can also execute step S232 to calculate the shortest distance between the effective obstacles constituting the middle area (or target middle area) as the first distance. The specific details are as follows.

[0079] S231: Based on the location information of the effective obstacles, calculate the second distance between the adjacent endpoints of the effective obstacles located on both sides of the middle area or the middle area of ​​the target, and use the second distance as the first distance.

[0080] like Figure 12 As shown, the robot obtains the position information of two adjacent obstacles on both sides of the middle region or the middle region of the target based on the point cloud information detected by the laser sensor. Then, it obtains the position information of the adjacent endpoints A′ and B′ of the two adjacent obstacles. Based on the distances OA′ and OB′ between the adjacent endpoints A′ and B′ and the robot's current position O, and the pre-calculated intermediate angle value ∠A′OB′, the robot calculates the second distance between the adjacent endpoints of the effective obstacles, namely A′B′, according to the trigonometric function formula, and uses it as the first distance.

[0081] S232: Based on the location information of effective obstacles, calculate the shortest distance between effective obstacles located on both sides of the middle area or the middle area of ​​the target, and use the shortest distance as the first distance.

[0082] like Figure 12 As shown, the robot obtains the position information of two adjacent obstacles on both sides of the central region or the central region of the target based on the point cloud information detected by the laser sensor, and then obtains the position information of the adjacent endpoints A′ and B′ of the two adjacent obstacles. Then the robot calculates the shortest distance between the two adjacent effective obstacles that constitute the central region or the central region of the target, that is, the perpendicular distance B′C′ between the extension direction of the obstacle where point A′ is located and point B′, and uses it as the first distance.

[0083] In one embodiment, the robot can also construct a coordinate system based on the point cloud information detected by the laser sensor, take the current position O as the origin of the coordinate system, calculate the set of coordinate values ​​corresponding to each obstacle, and further calculate the second distance or shortest distance in the above embodiment.

[0084] S240: From multiple first distances, select the first distances that exceed the preset escape size, and mark the two adjacent valid obstacles corresponding to the selected first distances as the specified obstacle combination.

[0085] In this step, the robot filters out first distances that exceed a preset escape size from multiple first distances. When there are multiple first distances exceeding the preset escape size, the adjacent valid obstacle combinations corresponding to the filtered first distances are also multiple, and cannot be directly marked as a specified obstacle combination. Therefore, after filtering out the first distances that exceed the preset escape size, the robot marks the two adjacent valid obstacles corresponding to each filtered first distance as candidate obstacle combinations. Then the robot determines whether the number of candidate obstacle combinations is less than one.

[0086] If there is at least one candidate obstacle combination, the robot marks the candidate obstacle combination corresponding to the first distance with the largest value as the designated obstacle combination. If there is less than one candidate obstacle combination, the robot interrupts the current execution process, moves a certain distance again, and then re-executes step S211 based on the point cloud information re-detected by the laser sensor.

[0087] S250: Generate an escape path for the robot based on its current position information and the position information of the escape area between two adjacent effective obstacles in the specified obstacle combination.

[0088] The escape zone refers to the area between two adjacent valid obstacles in a specified obstacle combination. In this step, the robot determines the location information corresponding to the escape zone based on the position information of the two adjacent valid obstacles in the specified obstacle combination. Then, the robot generates an escape path based on its current location information and the location information of the escape zone, so that it can move along the escape path and leave the current trapped area in subsequent steps.

[0089] S261: After the robot escapes its predicament, based on the new point cloud information detected by the laser sensor, determine the connecting motion path between the robot's path adjustment position and the initial motion path.

[0090] The initial motion path refers to the robot's motion path before entering the trapped area and facing the wall; it can also refer to the robot's pre-set work path that it has not yet completed before entering the trapped area. Please see [link to relevant documentation]. Figure 13 , Figure 13This is a schematic diagram illustrating the determination of a connecting motion path for a robot after it has escaped a difficult situation, according to an embodiment of this application. Figure 13 As shown, after leaving the trapped area 130, the robot moves in a direction away from the trapped area. After escaping the trap, the robot uses laser sensors to detect new point cloud information in real time, and then clusters the point cloud clusters corresponding to the surrounding obstacles to generate a point cloud map and obtain the robot's current position information.

[0091] After the robot escapes its predicament, based on new point cloud information detected by the laser sensor, its real-time position O′ and direction of movement O′S are determined. The direction of movement O′S moves away from the trapped area and a specified combination of obstacles. Based on the real-time position O′, the direction of movement O′S, and the preset movement distance R, the robot determines its post-existence path adjustment position S.

[0092] Then, the robot uses its real-time position as the center point O′ and the path adjustment position S as the tangent point to determine the tangent line of the circle located between the initial motion path L0 and the path adjustment position S, and marks the tangent line L1 as the connecting motion path.

[0093] S262: After the robot moves to the path adjustment position, it moves along the connecting motion path to the initial motion path and continues to move.

[0094] The robot generates a connecting motion path, and after moving to the path adjustment position S, it moves along the connecting motion path L1 to the initial motion path L0 to continue moving, so as to restore the normal operation of the robot before entering the trapped area.

[0095] The robot obstacle avoidance method provided in this application can determine adjacent obstacles with sufficient intermediate distance based on point cloud information detected by a low-cost laser sensor, and ultimately generate an escape path. This solves the obstacle avoidance problem caused by the low angular resolution and slow scanning frequency of low-cost laser sensors, thus improving the accuracy of the detection results. This application also ensures that the robot can promptly reconnect to its initial motion path after escaping the obstacle, allowing it to continue performing its normal work before being trapped. This application effectively improves the robot's obstacle avoidance success rate and the intelligence of its automatic navigation, thereby increasing the robot's work efficiency.

[0096] In the visual infringement assessment, if the robot uses a laser sensor (such as lidar) to determine the passage area based on acquired environmental features (including but not limited to using laser point clouds to determine the passable angle and passable distance), or performs feature extraction (including but not limited to fitting a straight line through laser point clouds to find the nearest wall) after its wall-following action is interrupted, then infringement is proven.

[0097] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for robot extrication from obstacles, the method being applied to a robot equipped with a laser sensor for detecting the distance to surrounding obstacles, characterized in that, The method includes: Based on the point cloud information detected by the laser sensor, the location information of multiple effective obstacles is determined; Mark the middle region between every two adjacent effective obstacles, and determine whether the included angle corresponding to the middle region exceeds a second preset angle threshold; the included angle is the angle formed by the middle region relative to the two outermost endpoints of the robot and the current position of the robot; The middle region whose included angle exceeds the second preset angle threshold is selected as the target middle region; For each pair of adjacent effective obstacles corresponding to the central area of ​​the target, a first distance between each pair of adjacent effective obstacles is determined based on the location information. From a plurality of first distances, select first distances that exceed a preset escape size, and mark the two adjacent effective obstacles corresponding to the selected first distances as a specified obstacle combination; Based on the robot's current position information and the position information of the escape area between two adjacent effective obstacles in the specified obstacle combination, an escape path for the robot is generated.

2. The robot escape method according to claim 1, characterized in that, The determination of the location information of multiple effective obstacles based on the point cloud information detected by the laser sensor includes: The location information of each obstacle is determined based on the point cloud information; Based on the position information of each obstacle, determine the obstacle size and / or obstacle boundary angle of each obstacle; wherein, the obstacle boundary angle is the angle formed by the two outermost endpoints of the obstacle relative to the robot and the current position of the robot; Based on the size of each obstacle and / or the boundary angle of the obstacle, the effective obstacles are selected from all the obstacles, and the position information of the effective obstacles is marked.

3. The robot extrication method according to claim 2, characterized in that, The process of selecting the effective obstacles from all the obstacles based on their dimensions and / or boundary angles includes: Obstacles whose size exceeds a preset size threshold and / or whose boundary angle exceeds a first preset angle threshold are selected as valid obstacles.

4. The robot escape method according to claim 2, characterized in that, The step of determining the obstacle size and / or obstacle boundary angle of each obstacle based on the position information of each obstacle includes: Determine the angle values ​​between each obstacle and the robot's current position relative to the two outermost endpoints of the obstacle in a preset angular coordinate system. Determine whether the difference between the angle values ​​of the two endpoints exceeds 180 degrees; If so, the obstacle boundary angle is recalculated based on the difference in the endpoint angle values, and the obstacle boundary angle does not exceed 180 degrees; If not, the obstacle boundary angle is determined to be the difference between the two endpoint angle values.

5. The robot extrication method according to claim 2, characterized in that, Determining the location information of each obstacle based on the point cloud information includes: The point cloud information is clustered to obtain multiple point cloud clusters; wherein, a point cloud cluster indicates the location information of one of the obstacles.

6. The robot extrication method according to claim 1, characterized in that, Determining the first distance between every two adjacent effective obstacles based on the location information includes: Based on the location information of the effective obstacles, calculate the second distance between the adjacent endpoints of the effective obstacles located on both sides of the middle region, or calculate the shortest distance between the effective obstacles located on both sides of the middle region, and use the second distance or the shortest distance as the first distance; the middle region is located between two adjacent effective obstacles.

7. The robot escape method according to claim 1, characterized in that, The step of selecting first distances exceeding a preset escape size from a plurality of first distances, and marking two adjacent effective obstacles corresponding to the selected first distances as a specified obstacle combination, includes: Filter out the first distances that exceed the preset escape size from a plurality of first distances; The two adjacent valid obstacles corresponding to the first distance selected are marked as candidate obstacle combinations, and it is determined whether the number of candidate obstacle combinations is less than one. If the number is not less than one, the candidate obstacle combination corresponding to the first distance with the largest value is marked as the designated obstacle combination.

8. The robot extrication method according to claim 1, characterized in that, After generating the robot's escape path, the method further includes: After the robot escapes its predicament, based on the new point cloud information detected by the laser sensor, a connecting motion path between the robot's path adjustment position and its initial motion path is determined. After the robot moves to the path adjustment position, it moves along the connecting motion path to the initial motion path and continues to move.

9. The robot escape method according to claim 8, characterized in that, The determination of the connecting motion path between the robot's path adjustment position and the initial motion path based on the new point cloud information detected by the laser sensor includes: After the robot escapes its predicament, its real-time position and direction of movement are determined based on new point cloud information detected by the laser sensor; the direction of movement is away from the designated combination of obstacles. Based on the real-time location, the direction of movement, and the preset movement distance, the path adjustment position of the robot after escaping the predicament is determined; Using the real-time position as the center and the path adjustment position as the tangent point, determine the tangent line between the initial motion path and the path adjustment position, and mark the tangent line as the connecting motion path.

Citation Information

Patent Citations

  • Robot system, robot, and robot navigation method based on laser radar

    CN110554696A

  • Robot control method and robot

    CN112306061A