A quick escape method for mobile robot
By constructing obstacle angle and distance functions to filter feasible paths, the mobile robot can extricate itself from difficult situations in complex environments, solving the problem of low cleaning efficiency in existing technologies and achieving efficient escape.
Patent Information
- Application Number
- CN201910714220.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-08-03
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2039-08-03
AI Technical Summary
Existing mobile robots are prone to getting stuck in complex environments, especially under tables and chairs, where they have difficulty escaping on their own, resulting in low cleaning efficiency.
By acquiring the distance and angle between the robot and obstacles, a function is constructed to filter out discontinuous angles or angle ranges, and the robot moves along the selected angles or angle ranges to escape the obstacle. Navigation is performed by combining a range sensor and a gyroscope.
It improves the efficiency and success rate of mobile robots in escaping from complex environments and reduces the need for human intervention.
Smart Images

Figure CN112415992B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robotics, and in particular relates to a method for a mobile robot to quickly escape from difficult situations. Background Technology
[0002] Currently, mobile robots possess a certain degree of intelligence and can replace humans in cleaning homes. However, because mobile robots primarily rely on sensors to detect obstacles and employ bow-shaped and edge-walking control methods for cleaning, they have no problem cleaning open areas. But in complex areas with multiple obstacles, such as under tables and chairs, mobile robots easily get stuck. When trapped under these objects, existing mobile robots often collide randomly and erratically, sometimes even becoming unable to escape the trapped area, requiring human rescue. This significantly reduces the cleaning efficiency of mobile robots. To effectively solve these problems, it is necessary to design a new control method. Summary of the Invention
[0003] To address the technical problems in the background art, the present invention provides the following technical solution:
[0004] A method for rapid escape of a mobile robot, comprising:
[0005] S1: Obtain the distance and angle between the mobile robot and surrounding obstacles at the current moment;
[0006] S2: Construct a function with angle as the independent variable and distance as the dependent variable;
[0007] S3: Filter out angles or angle ranges where function values are discontinuous;
[0008] S4: The mobile robot moves a certain distance along the selected angle or angle range to perform an escape action.
[0009] Furthermore, in order to make the mobile robot more efficient at getting out of trouble, in an optimized embodiment of the present invention, there is a step S31 between steps S3 and S4: selecting angles or angle ranges that the mobile robot can pass through from the angles or angle ranges selected in step S3.
[0010] Specifically, in order to help the mobile robot get out of trouble as soon as possible, in an optimized solution of the present invention, the screening method in step S31 is: if the discontinuous function value is a single point, then determine whether the amount of the function value jump is greater than the minimum width required for the mobile robot to pass through; if so, retain it, otherwise remove it.
[0011] If the function values are discontinuous and fall within an interval, the exit width is calculated based on the cosine theorem, the angle between the intervals, and the lengths of the sides of the angle. If the width is greater than the minimum width required for the mobile robot to pass through, it is retained; otherwise, it is removed.
[0012] Furthermore, in order for the mobile robot to escape from trouble with a small rotation angle, in an optimized embodiment of the present invention, step S4 includes:
[0013] S42: Attempt to escape and determine if it is successful. If successful, proceed to step S45; otherwise, proceed to step S43.
[0014] S43: Determine whether there are any untried angles or angle ranges among the selected angles or angle ranges. If yes, proceed to step S44; otherwise, if the escape fails, proceed to step S45.
[0015] S44: The mobile robot moves toward an angle or angle range that has not been tried, proceeding to step S42;
[0016] S45: The extrication operation is complete.
[0017] Furthermore, in order for the mobile robot to escape from trouble with a small rotation angle, in an optimized embodiment of the present invention, in steps S41 and S44, when the mobile robot moves along the angle or angle range selected in the previous step, it selects the angle or angle range with the smallest rotation amplitude among the angles or angle ranges that have not been tried yet.
[0018] Furthermore, in order to improve the success rate of the mobile robot in escaping obstacles, in an optimized embodiment of the present invention, if the mobile robot is moving along an angle range, it moves along the middle angle of that angle range.
[0019] The present invention also provides a mobile robot, comprising: a distance sensor, a gyroscope, a controller, and a drive device. The distance sensor can measure the distance between the robot and obstacles, the gyroscope can measure the robot's motion angle, the controller can construct a function based on the measured distance and angle, and filter and calculate the function values, the drive device can drive the mobile robot to move, and the controller can control the drive device.
[0020] Furthermore, considering both cost and effectiveness, in an optimized embodiment of the present invention, the ranging sensor may be an ultrasonic ranging sensor, a lidar sensor, or an infrared ranging sensor.
[0021] The present invention also provides a mobile robot control device, including a processor and a memory, wherein the memory stores computer program instructions that can be executed by the processor, and when the processor executes the computer program instructions, it implements the above-described method steps.
[0022] The beneficial effects of this invention are: when a mobile robot is trapped, it can find the exit direction simply by using a distance sensor mounted on the robot body, achieving good results at a lower cost. Attached Figure Description
[0023] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0024] Figure 1 This is a general control flowchart of the present invention;
[0025] Figure 2 This is the optimized control flowchart of the present invention;
[0026] Figure 3 This is a control flowchart for step S4 of the present invention;
[0027] Figure 4 This is a scene diagram of the first embodiment of the present invention;
[0028] Figure 5 This is a coordinate diagram of the first embodiment of the present invention;
[0029] Figure 6 This is a scene diagram of the second embodiment of the present invention;
[0030] Figure 7 This is a scene diagram of the second embodiment of the present invention. Detailed Implementation
[0031] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to specific embodiments and the accompanying drawings. Furthermore, for ease of explanation, directional terms such as left, right, inner, and outer are used in this description, but this does not limit the scope of protection of this invention.
[0032] The mobile robot of this invention includes a coordinate system establishment system, comprising an odometer and a gyroscope. The coordinate system establishment system can remember the coordinates of the starting point and the walking path, construct a coordinate system, and simultaneously calculate and plan the walking route. The odometer is used to obtain the walking distance of the mobile robot, and the gyroscope is used to obtain the walking angle of the mobile robot, correcting the mobile robot's path to prevent it from veering off course.
[0033] In addition, mobile robots also include power modules, walking modules, sensor modules, controllers, storage modules, functional modules, timers, etc.
[0034] The power module can supply power to the mobile robot. The power supply can be repeatedly charged and discharged. Due to the advantages of lithium batteries, such as high output power, low self-discharge, wide operating temperature range, and fast charging and discharging, lithium batteries are the preferred choice as the power source for mobile robots.
[0035] The walking module includes a drive motor and walking wheels, which are used to enable the mobile robot to move within the working area. The drive motor drives the walking wheels. In addition to the walking wheels, an appropriate number of omnidirectional wheels can be added to help the mobile robot maintain its balance.
[0036] The sensor module is used to receive environmental information from the working area and feed it back to the control module. The sensors may include ranging sensors, collision sensors, displacement sensors, battery power detection sensors, etc. Among them, the ranging sensors may be lidar sensors, ultrasonic ranging sensors, infrared ranging sensors, etc.
[0037] The control module is used to control the movement of the mobile robot based on the information fed back from the sensor module;
[0038] The storage module is used to store the mobile robot's control program and sensor information acquired from the outside world;
[0039] Functional modules refer to specific functions of a mobile robot, such as a mobile robot having a cleaning function, or a lawnmower robot having a lawnmower function.
[0040] Because mobile robots operate in complex environments, they may get stuck in certain areas. The following criteria can be used to determine whether a mobile robot is stuck:
[0041] If, within a certain time period, the number of collisions of the mobile robot exceeds a threshold, and the maximum width of the motion area obtained from the displacement and angle measurements obtained from the odometer and gyroscope is less than the threshold, then the mobile robot can be determined to be in a trapped state.
[0042] The threshold can be set according to the sweeping speed of the robot vacuum. Here, the time is set to 120 seconds, the maximum width of the movement area is 1 meter, and the collision threshold can be set to 5 times. If the robot vacuum collides 5 times within 120 seconds and the maximum width of the movement area is 1 meter, it means that the mobile robot is stuck. At this time, a signal is sent to the controller to make the controller drive the distance sensor to work and enter the escape mode.
[0043] This invention provides a method for a mobile robot to quickly escape from difficult situations:
[0044] S1: Obtain the distance and angle between the mobile robot and surrounding obstacles at the current moment;
[0045] There are two ways to measure the distance between a mobile robot and an obstacle:
[0046] (1) The mobile robot rotates one revolution
[0047] The ranging sensor on the mobile robot using this method only needs to be fixed to the robot body, and the sensor itself is not required to rotate. The distance measured by this method is the distance between the robot body and the obstacle around its circumference.
[0048] (2) The ranging sensor mounted on the mobile robot rotates one revolution.
[0049] The ranging sensor on the mobile robot using this method needs to move itself. It can be a lidar ranging sensor set on the top of the mobile robot. The lidar can rotate 360 degrees, so that the distance to the surrounding obstacles can be measured without moving the mobile robot body. The distance measured by this method is the distance between the sensor and the obstacle.
[0050] The mobile robot records the measured distance and the corresponding rotation angle in the storage module.
[0051] Mobile robots are in such a state Figure 4 In the environment shown.
[0052] S2: Construct a function with angle as the independent variable and distance as the dependent variable;
[0053] Based on the distance and rotation angle measured in step S1, plot the graph of the function ρ(θ) with the rotation angle as the horizontal axis and the distance as the vertical axis; here, the vertically upward direction is the direction where θ = 0, and the plotted graph is as follows. Figure 5 As shown.
[0054] S3: Filter out angles or angle ranges where function values are discontinuous;
[0055] according to Figure 5 As shown, there are three angles or angle intervals where the function values are discontinuous, namely θ a θ b 、[θ c ,θ d ].
[0056] S31: Select angles or angle ranges that the mobile robot can pass through from the angles or angle ranges selected in step S3.
[0057] The angles or angle ranges selected in step S3 are finite; in this embodiment, there are three, namely θ. a θ b 、[θ c ,θ d ].
[0058] The filtering methods are divided into two types based on the different ways in which function values are discontinuous:
[0059] (1) Discontinuous function values at a single point
[0060] This means that the function value is discontinuous with both sides, so there is only one angle value in the corresponding subinterval. The amount of the function value jump is L = ρ, which is the difference before and after the jump, i.e., the angle θ. a θ b If the change in function value corresponding to the jump at a given point is not greater than 2R (2R is the minimum width required for the mobile robot to pass through the gap; if the mobile robot is a circular sweeping robot, then 2R is the diameter of the sweeping robot), then that angle is excluded.
[0061] From Figure 4 As can be seen, there is an exit between obstacle 1 and obstacle 2, with a jump value of La. If La > 2R, then the angle θ is retained. a If La ≤ 2R, then the angle is excluded. For θ = θ b The selection method is the same as θ = θ a .
[0062] Therefore, only angles with a jump value L greater than 2R are retained from the filtered angles.
[0063] (2) Discontinuous function values are in intervals
[0064] Since a function value jump occurs, the corresponding subinterval contains a subset of continuous angle values. Because there are two endpoints, there are two jump values. The distances from a point on the mobile robot to the two edges of the exit, Lc and Ld, and the included angle (θd-θc) are all known. Using the law of cosines, the length of the side opposite the included angle, i.e., the maximum width of the pseudo-gap, can be calculated. (Due to other extreme cases, the maximum width of the pseudo gap here may not be the actual maximum width.) Compare the maximum width W of the pseudo gap with the width 2R of the mobile robot. If W>2R, then the range is reserved to the angle range that the mobile robot can pass through.
[0065] It is understandable that measuring the distance between a mobile robot and an obstacle, whether based on the sensor's own rotation or the robot's rotation, yields two distance values, Lc and Ld. If based on the sensor's own rotation, the calculated distance values Lc and Ld represent the sensor's measurement results, so a point on the mobile robot is the sensor's measurement point. However, if based on the robot's rotation, since the sensor is located at the robot's edge, the starting point for each measurement changes, and the angle between the intersecting points of the extended distance measurement lines is (θ). d -θ cThe distance extended to the intersection point is the distance from the edge of the mobile robot to the sensor, which is known. Therefore, a certain point on the mobile robot is the locking point when the mobile robot rotates in place. Thus, regardless of the method used, the two required distance values Lc and Ld can be obtained.
[0066] Therefore, only the angle intervals with W greater than 2R are retained in the filtered angle intervals.
[0067] It should be noted that the angles or angle ranges retained here are only the angles or angle ranges that the mobile robot may be able to pass through.
[0068] S4: The mobile robot moves a certain distance along the angle or angle range selected in the previous step to perform the escape action.
[0069] Step S4 includes:
[0070] S41: The mobile robot moves along the angle or angle range selected in the previous step;
[0071] In step S41, when the mobile robot moves along the angle or angle range selected in the previous step, it selects the angle or angle range with the smallest rotation amplitude among the angles or angle ranges that have not been tried. If the mobile robot is moving along the angle range, it moves along the middle angle of the angle range.
[0072] S42: Attempt to escape and determine if it is successful. If successful, proceed to step S45; otherwise, proceed to step S43.
[0073] Since the range selected in step S3 is only a general direction, the mobile robot attempts to escape along the angle or angle range selected in the previous step. If a collision still occurs, it moves in the opposite direction of the collision; for example, if it is collided on the left, it rotates slightly to the right. If it is also collided on the right, it means this is not the exit, and the mobile robot fails to escape in this range. If the mobile robot successfully escapes, it proceeds to step S45; if it fails, it proceeds to step S43.
[0074] The sign of a successful escape is that the distance traveled from the starting point exceeds a threshold, which can be set to 1 meter.
[0075] S43: Determine whether there are any untried angles or angle ranges among the selected angles or angle ranges. If yes, proceed to step S44; otherwise, if the escape fails, proceed to step S45.
[0076] S44: The mobile robot moves toward an angle or angle range that has not been tried, proceeding to step S42;
[0077] Continue rotating until you reach an untried angle or angle range. The method for determining the rotation angle is the same as in step S41. After rotating to the corresponding angle, return to step S42.
[0078] S45: The extrication operation is complete.
[0079] As mentioned above, when the extrication work is completed, the mobile robot may successfully escape the obstacle. If it does, it can continue working. If it fails to escape, it can remain in place to conserve power and wait for human intervention.
[0080] If only the universal control method of the present invention is followed, that is, after step S3 is completed, the process directly proceeds to step S4 without performing the screening process of step S31.
[0081] like Figure 4 As shown, if the selection process is skipped and the movement proceeds directly towards the angle or angle range selected in step S3, based on the principle of moving towards the angle or angle range with the smallest current rotation amplitude, it will first move towards angle θ. a The robot moves, but since La≤2R, then even if the robot moves towards an angle θ a Moving won't get you out of trouble; you need to return to the starting point and try to move towards the next angle or angle range to escape.
[0082] If the optimized control method of the present invention is followed, and S31 is added, the exit direction θ can be eliminated by comparing the size of La and the width 2R of the mobile robot. a Instead, they only need to move towards the more likely exit θ. b and [θ c ,θ d The forward attempt to escape the predicament improved the efficiency of the escape.
[0083] The following two specific embodiments, combined with different scenarios, provide a detailed explanation of the method steps of the present invention:
[0084] First embodiment;
[0085] Scenes such as Figure 4 As shown, there are obstacles 1, 2, and 3 around the mobile robot. After multiple collisions in a short period of time, the mobile robot enters the escape mode.
[0086] The function constructed after obtaining the angle and distance between the mobile robot and surrounding obstacles at the current moment is as follows: Figure 5 As shown.
[0087] Depend on Figure 5 It can be seen that the angle or angle interval where the function value is discontinuous has θ. a θ b 、[θ c ,θ dThen, according to the principle of step S31 in the optimization scheme, the angles or angle ranges that may be accessible to the mobile robot are selected.
[0088] like Figure 4 The jump values are: La; Lb; Lc; Ld; Lc; Ld; Lc; Ld; and θ. d -θ c Both the width 2R of the mobile robot and the width of the robot are known.
[0089] First, we filter out cases where discontinuous function values are at a single point. We then compare each of La and Lb individually with 2R. Since La is not greater than 2R and Lb is greater than 2R, we only retain the angle θ here. b .
[0090] Then, filtering out cases where discontinuous function values are within an interval, the exit width between obstacle 2 and obstacle 3 is calculated using the law of cosines. Here W is less than 2R, so the angle interval [θ] is not retained. c ,θ d ].
[0091] Therefore, after filtering, only angle θ remains as the angle or angle range. b The mobile robot only needs to move towards angle θ b It moves in the direction it was in, attempting to escape, and eventually succeeds in escaping and continues the task it was in before it became trapped.
[0092] If only a universal control method is used, by Figure 5 It can be seen that the angle or angle interval where the function value is discontinuous has θ. a θ b 、[θ c ,θ d Then the mobile robot first moves towards θ, where the rotation amplitude is the smallest. a If the attempt to move fails, return to the starting point and rotate towards the angle that was not attempted or the angle range with the smallest rotation amplitude [θ]. c ,θ d The movement starts at the middle angle, fails, returns to the starting point, and finally moves towards the angle θ with the highest probability. b Moving is easier, but if an optimized scheme is adopted to screen before movement, useless attempts can be effectively avoided, and the efficiency of getting out of trouble can be improved.
[0093] Second embodiment:
[0094] Scenes such as Figure 6 As shown, there are obstacles 4, 5, and 6 around the mobile robot. After multiple collisions in a short period of time, the mobile robot enters the escape mode.
[0095] The function constructed after obtaining the angle and distance between the mobile robot and surrounding obstacles at the current moment is as follows: Figure 5 As shown.
[0096] Depend on Figure 7 It can be seen that the angle or angle interval where the function value is discontinuous has θ. e θ f 、[θ g ,θ h Then, according to the principle of step S31 in the optimization scheme, the angles or angle ranges that may be accessible to the mobile robot are selected.
[0097] like Figure 4 Le, Lf, Lg, Lh, and θ are the jump values in the diagram. The distance from the midpoint of the mobile robot to the edge of obstacle 6 is Lg. The distance from the midpoint of the mobile robot to the edge of obstacle 5 is Lh. The angle θ between Lg and Lh is θ. g -θ h Both the width 2R of the mobile robot and the width of the robot are known.
[0098] First, we filter out cases where discontinuous function values are at a single point. We then compare Le and Lf separately with 2R. Since Le is greater than 2R and Lf is not greater than 2R, we only retain the angle θ here. e .
[0099] Then, filtering out cases where discontinuous function values are within an interval, the exit width between obstacle 5 and obstacle 6 is calculated using the law of cosines. Here W is greater than 2R, so the angle interval [θ] is retained. g ,θ h ].
[0100] Therefore, after filtering, the remaining angle or angle range is angle θ. e and interval [θ g ,θ h The mobile robot first moves towards the angle θ where the movement angle is smallest. e Directional movement, from Figure 6 It can be concluded that the exit gradually narrows, so the mobile robot cannot escape even when heading towards that exit. Therefore, it returns to the starting point of the tugboat and heads towards the interval [θ]. g ,θ h The robot attempts to escape by moving at the middle angle of W. Since W is already the narrowest width, it eventually escapes successfully and continues the task it was in before it became trapped.
[0101] If only a universal control method is used, by Figure 7 It can be seen that the angle or angle interval where the function value is discontinuous has θ. e θ f 、[θ g ,θ h Then the mobile robot first moves towards θ, where the rotation amplitude is the smallest.e If the attempt to move fails, return to the starting point and rotate towards the angle that was not attempted or the angle range with the smallest rotation amplitude [θ]. g ,θ h Moving at the middle angle of the object successfully freed it from the obstacle. If an optimized solution is adopted and screening is performed before movement, useless attempts can be effectively avoided, thus improving the efficiency of freeing the object from the obstacle.
[0102] In both of the above embodiments, the mobile robot successfully escaped the obstacle at the end of the escape operation. If, in embodiment 2, the width W between obstacles 5 and 6 is less than 2R, the mobile robot cannot escape the obstacle. In this case, the mobile robot stops trying to escape, conserves its power, and waits for human intervention.
[0103] The present invention discloses a mobile robot, characterized in that it comprises: a collision sensor, a ranging sensor, a coordinate system establishment system, a controller, a drive device, and a timer. The collision sensor can detect that the mobile robot has collided and send the information to the controller. The ranging sensor is used to detect the distance between the mobile robot and the obstacle and record the information in the controller. The coordinate system establishment system includes an odometer and a gyroscope.
[0104] The present invention also provides a mobile robot control device, including a processor and a memory, wherein the memory stores computer program instructions that can be executed by the processor, and when the processor executes the computer program instructions, it implements the method steps of Embodiment 1 or 2.
[0105] Compared with the prior art, the beneficial effects of the present invention are: when the mobile robot is trapped, it can find the exit direction by simply using the distance sensor mounted on the body, achieving better results at a lower cost.
[0106] Those skilled in the art should understand that the above description is merely a specific embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for rapid escape of a mobile robot, characterized in that, include: S1: Obtain the distance and angle between the mobile robot and surrounding obstacles at the current moment; S2: Construct a function with angle as the independent variable and distance as the dependent variable; S3: Filter out angles or angle ranges where function values are discontinuous; S4: The mobile robot moves a certain distance along the selected angle or angle range to perform an escape action; Between steps S3 and S4, there is step S31: selecting angles or angle ranges that the mobile robot can pass through from the angles or angle ranges selected in step S3. The filtering method in step S31 is as follows: if the discontinuous function value is a single point, then determine whether the amount of the function value jump is greater than the minimum width required for the mobile robot to pass through. If so, keep it; otherwise, remove it. If the function values are discontinuous and fall within an interval, the exit width is calculated based on the cosine theorem, the angle between the intervals, and the lengths of the sides of the angle. If the width is greater than the minimum width required for the mobile robot to pass through, it is retained; otherwise, it is removed.
2. The method for rapid escape of a mobile robot according to claim 1, characterized in that, Step S4 includes: S41: The mobile robot moves along the angle or angle range selected in the previous step; S42: Attempt to escape and determine if it is successful. If successful, proceed to step S45; otherwise, proceed to step S43. S43: Determine whether there are any untried angles or angle ranges among the selected angles or angle ranges. If yes, proceed to step S44; otherwise, if the escape fails, proceed to step S45. S44: The mobile robot moves toward an angle or angle range that has not been tried, proceeding to step S42; S45: The extrication operation is complete.
3. The method for rapid escape of a mobile robot according to claim 2, characterized in that, In steps S41 and S44, when the mobile robot moves along the selected angle or angle range, it selects the angle or angle range with the smallest rotation amplitude among the angles or angle ranges that have not been tried yet.
4. A method for rapid escape of a mobile robot according to claim 3, characterized in that, If the mobile robot moves along an angle range, it will move along the middle angle of that angle range.
5. A mobile robot, comprising the rapid escape method for a mobile robot as described in any one of claims 1-4, characterized in that, include: The system includes a distance sensor, a gyroscope, a controller, and a drive unit. The distance sensor measures the distance between the robot and an obstacle. The gyroscope measures the robot's motion angle. The controller constructs a function based on the measured distance and angle and filters and calculates the function values. The drive unit moves the mobile robot, and the controller controls the drive unit.
6. The mobile robot according to claim 5, characterized in that, The ranging sensor is an ultrasonic ranging sensor, a lidar sensor, or an infrared ranging sensor.
7. A mobile robot control device, characterized in that, It includes a processor and a memory, the memory storing computer program instructions executable by the processor, wherein when the processor executes the computer program instructions, it implements the steps of the method according to any one of claims 1-4.
Citation Information
Patent Citations
Robot autonomous obstacle avoidance moving control method based on distance vectors
CN104460666A
Mobile robot and method of controlling the same
US20170332862A1