A method and device for escaping a stuck sweeping robot
By detecting the movement and posture data of the sweeping robot in real time, using gyroscopes and accelerometers, performing specific escape steps to solve the problem of the sweeping robot being stuck after it is stuck, and improves the cleaning efficiency and cleaning effect.
Patent Information
- Application Number
- CN202111212375.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-18
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-10-18
AI Technical Summary
When the sweeping robot is stuck, especially when it is wrapped in a cable or is overturned, the conventional escape method is poor, which affects the cleaning effect.
By recording the machine movements and machine posture data of the sweeping robot in real time, using gyroscopes and accelerometers to detect angular velocity, acceleration and angle changes, perform corresponding escape steps, such as backward, rotation and single-wheel drive, judge and take escape actions to improve escape Success rate.
It effectively improves the success rate of the sweeping robot to escape, improves the cleaning efficiency and cleaning effect, and avoids cleaning failure caused by being stuck.
Smart Images

Figure CN114019958B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of sweeping robots, and in particular to a method and a device for escaping a sweeping robot after it is stuck. Background Art
[0002] With the continuous development of artificial intelligence technology, more and more smart homes have emerged. The emergence of sweeping machines has gradually replaced manual cleaning and has been accepted by more and more people. A sweeping robot (abbreviated as a sweeping machine), also known as an automatic sweeping machine, smart vacuum cleaner, robot vacuum cleaner, etc., is a type of smart home appliance and is currently widely used. When the sweeping robot is working, the sweeping robot traverses the area to be cleaned through self-drawn map navigation, but in the actual working process, the placement of materials in the area to be cleaned is mostly complicated, and the sweeping robot is easily stuck during the cleaning work and cannot complete the cleaning work. For example, the sweeping robot may be entangled in the wiring, the sweeping robot may be suspended, or the head of the machine may be stuck, or the head may be downward and the tail may be tilted, or the machine may be stuck in a U-shaped chair, etc., thus failing to complete normal cleaning work.
[0003] When the sweeping robot falls into the above-mentioned stuck situation, the posture of the sweeping robot will be obviously changed compared with the situation when the existing sweeping robot is trapped by furniture such as sofas, coffee tables or beds. If the sweeping robot still uses the conventional escape method when being trapped by furniture such as sofas, coffee tables or beds to escape, the escape effect is poor, which seriously affects the cleaning effect of the sweeping robot. Summary of the invention
[0004] In view of this, the present invention provides a method and device for escaping a sweeping robot after it is stuck, so that the sweeping robot can be effectively escaped after being stuck in situations where there is a significant change in posture, such as being entangled in cables or being suspended.
[0005] To achieve the above object, the present invention provides the following technical solutions:
[0006] A method for escaping a sweeping robot after it is stuck, the method comprising the following steps:
[0007] S30, controlling the sweeping robot to move backward, the backward moving time is T1, and detecting the acceleration A1 of the sweeping robot during the backward movement. If the acceleration A1 is equal to or greater than a preset threshold, proceed to step S70, otherwise proceed to step S40;
[0008] S40, obtaining the data of the machine action M seconds before the sweeping robot is stuck, and controlling the sweeping robot to perform the opposite action to the last action before the sweeping robot is stuck. If the above opposite action is completed within the preset time T2, and the angular velocity B1 of the sweeping robot is equal to or greater than the preset threshold, then proceed to step S30, otherwise proceed to step S50;
[0009] S50, control the sweeping robot to rotate leftward or rightward at a preset angle C in the opposite direction of the movement in step S40, and determine whether the rotation angle exceeds the preset angle c1 within the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold value. If so, determine that the rotation is successful and proceed to step S30;
[0010] S70: Determine that the escape is successful.
[0011] Furthermore, it is characterized in that the method also includes:
[0012] S10, controlling the sweeping robot to escape from trouble, and recording the sweeping robot's escape action and the total escape time T;
[0013] S20: If the total escape time T exceeds the preset time P, it is determined that the escape has failed and the escape process is exited.
[0014] Furthermore, the stripping step S10 further includes:
[0015] S11, detecting and recording the machine motion and machine posture data of the sweeping robot in real time, and when it is detected that the sweeping robot is stuck, recording the current head direction of the sweeping robot.
[0016] After step S70, the method further includes:
[0017] S71. When it is determined that the sweeping robot has escaped successfully, the sweeping robot is controlled to turn and move in a direction opposite to the direction of the head recorded in step S11.
[0018] Furthermore, the step S50 further includes: if not, executing step S60:
[0019] Step S60, control the sweeping robot to move backward, the time of moving backward is T4, and detect the acceleration A2 of the sweeping robot during the backward process, and record the angle change of the sweeping robot during the backward process to determine whether the sweeping robot is suspended. If the acceleration A2 is less than the preset threshold value and the sweeping robot is suspended, execute the overhead escape step S80 to drive the single wheel of the robot to rotate and drive the robot to move, and then execute S60 in a loop until the acceleration A2 is equal to or greater than the preset threshold value, and then go to step S70.
[0020] Furthermore, the overhead escape step includes:
[0021] S81, controlling the sweeping robot to perform a corresponding overhead escape action according to the angle change of the sweeping robot during the backward movement, if the angle change is clockwise, controlling the sweeping robot to spin right, if the angle change is counterclockwise, controlling the sweeping robot to spin left;
[0022] S82, determining whether the rightward or leftward rotation angle of the sweeping robot within the preset time T6 is equal to or greater than the preset angle c2, if so, proceeding to step S60, otherwise proceeding to step S83;
[0023] S83. Obtain the machine posture data of the sweeping robot and determine the roll value of the gyroscope. If the roll value is greater than the preset angle K1, control the right wheel of the sweeping robot to move forward and jump to the step S60, wherein the time for the right wheel to move forward is T7; if the roll value is less than the preset angle K1, control the left wheel of the sweeping robot to move forward and jump to the step S60, wherein the time for the left wheel to move forward is T8.
[0024] Furthermore, the step S60 also includes: if the acceleration A2 is less than a preset threshold and the cleaning robot is not suspended, executing step S40.
[0025] Furthermore, after step S50 and before step S60, the method further includes: if not, then looping and executing the step of rotating to the left and rear or rotating to the right and rear, and determining whether the rotation angle exceeds the preset angle c1 at the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold, until the rotation angle exceeds the preset angle c1 at the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold, then going to step S30, and when the number of times the loop is executed exceeds the preset value, executing step S60.
[0026] In order to solve the above technical problems, the present application also provides a device for escaping a sweeping robot after it is stuck.
[0027] A device for escaping a stuck sweeping robot, comprising:
[0028] The first control processing module is used to control the sweeping robot to move backwards, the backward moving time is T1, and detect the acceleration A1 of the sweeping robot during the backward movement. If the acceleration A1 is equal to or greater than a preset threshold, the escape success judgment module is started, otherwise the second control processing module is started.
[0029] The second control processing module is used to obtain the data of the machine action M seconds before the sweeping robot is stuck, and control the sweeping robot to perform the opposite action to the last action before the sweeping robot is stuck. If the above-mentioned opposite action is completed within a preset time T2, and the angular velocity B1 of the sweeping robot is equal to or greater than a preset threshold, the first control processing module is started, otherwise the third control processing module is started;
[0030] The third control processing module is used to control the sweeping robot to rotate leftward or rightward at a preset angle C in the opposite direction of the movement in step S40, and determine whether the rotation angle exceeds a preset angle c1 within a preset time T3, or the rotation angular velocity B2 is equal to or greater than a preset threshold value. If so, it is determined that the rotation is successful and the first control processing module is started;
[0031] The escape success determination module is used to determine the escape success.
[0032] Furthermore, the escape processing device further includes:
[0033] The escape start processing module is used to control the sweeping robot to escape, and record the escape action and total escape time T of the sweeping robot;
[0034] The backward movement and acceleration processing module is used to determine that the escape fails and exit the escape process if the total escape time T exceeds the preset time P.
[0035] Furthermore, the escape start processing module further includes:
[0036] The orientation recording submodule is used to detect and record the machine motion and machine posture data of the sweeping robot in real time. When the sweeping robot is detected to be stuck, the current head orientation of the sweeping robot is recorded.
[0037] The escape success determination module also includes:
[0038] The direction adjustment submodule is used to control the sweeping robot to turn when it is determined that the sweeping robot has escaped successfully, and to make the sweeping robot move in the opposite direction of the direction of the head recorded in step S11.
[0039] The present invention aims at the situation where the sweeping robot gets stuck when it is entangled in cables or when the sweeping robot is suspended, and the posture thereof changes significantly. The present invention records the machine motion and posture data of the sweeping robot (for example, the pitch angle data and roll angle data of the gyroscope in the sweeping robot) in real time, and then performs corresponding escape processing by detecting the angular velocity, acceleration, pitch and roll angle data of the sweeping robot. The escape effect is good, and the cleaning efficiency and cleaning effect of the sweeping robot can be effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 This is a schematic flowchart of the method for escaping a sweeping robot according to Embodiment 1 of the present invention;
[0041] Figure 2 This is a schematic block diagram of the structure of the escape device of the sweeping robot described in Example 2 of the present invention. DETAILED DESCRIPTION
[0042] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0043] Example 1
[0044] The present embodiment provides a method for a sweeping robot to escape from a stuck state, wherein the sweeping robot has important detection components for detecting angular velocity, pitch angle, roll angle, acceleration, etc. For example, the sweeping robot is provided with a gyroscope (for detecting the angular velocity, pitch angle, roll angle and other data of the sweeping robot) and an accelerometer (for detecting the acceleration of the sweeping robot) and other components, or other acceleration sensors (grating odometers) can be used to detect the acceleration of the sweeping robot; in addition, an angle sensor can also be provided on the sweeping robot to detect the rotation angle of the sweeping robot.
[0045] As attached Figure 1 As shown, the steps of the escape method include:
[0046] S10, controlling the sweeping robot to escape from trouble, and recording the sweeping robot's escape action and the total escape time T;
[0047] S20. If the total escape time T exceeds the preset time P, it is determined that the escape has failed and the escape process is exited, otherwise it goes to step S30; in this embodiment, the preset time P is set taking into account the time required for the robot to perform a normal escape process, combined with the durations of T1, T2, T3, T4, T5, T6, and T7, to preset a duration P so that the robot can at least complete the attempt of all escape methods during the escape process. The value range of the time P is preferably 2 to 3 minutes, and the actual value can be selected as needed. For example, in a specific embodiment, the time P can be 2 minutes, 2.5 minutes, or 3 minutes, etc.;
[0048] S30, control the sweeping robot to move backward, the backward moving time is T1, and detect the acceleration A1 of the sweeping robot during the backward movement. If the acceleration A1 is equal to or greater than the preset threshold, proceed to step S70, otherwise proceed to step S40; in this embodiment, the value range of the time T1 is preferably 150 to 250 ms, and the actual value can be selected as needed. For example, in a specific embodiment, the time T1 can be 150 ms, 180 ms, 200 ms, 220 ms or 250 ms etc.; in this step S30, the acceleration A1 of the sweeping robot during the backward process is detected. If the acceleration A1 is equal to or greater than the preset threshold, it means that the sweeping robot is not stuck, so it can directly proceed to step S70 to determine that the escape is successful; if the acceleration A1 is less than the preset threshold, it means that the sweeping robot is stuck (divided into two types of stuck situations: bottom stuck and overhead stuck). When the sweeping robot is stuck, it enters step S40 for escape processing; in one embodiment, the preset threshold corresponding to A1 is set to 2m / s 2
[0049] S40, obtaining the data of the machine action M seconds before the sweeping robot is stuck, controlling the sweeping robot to perform the opposite action to the last action before the sweeping robot is stuck, if the above opposite action is completed within the preset time T2, and the angular velocity B1 of the sweeping robot is equal to or greater than the preset threshold, then proceeding to step S60, otherwise proceeding to step S50; in this embodiment, the value range of M is preferably 3 to 15, and the actual value can be selected as needed. For example, in a specific embodiment, the value of M can be 3, 5, 8, 10, 12 or 15, etc.; in addition, the value range of the preset time T2 is preferably 2 to 4S; specifically, when the angular velocity B1 of the sweeping robot is equal to or greater than 30° (that is, the preset threshold is 30°), the value of the preset time T2 is 2 seconds; or when the angular velocity B1 of the sweeping robot is equal to or greater than 60° (the preset threshold is 60° at this time), the value of the preset time T2 is 3 seconds; or when the angular velocity B1 of the sweeping robot is equal to or greater than 90° (the preset threshold is 90° at this time), the value of the preset time T2 is 4 seconds;
[0050] S50, control the sweeping robot to rotate to the left or right at a preset angle C in the opposite direction of the movement in step S40, and determine whether the rotation angle exceeds the preset angle c1 within the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold value. If so, it is determined that the rotation is successful and the process goes to step S30. In this embodiment, when controlling the sweeping robot to rotate to the left or right at a preset angle C, first try to control the sweeping robot to rotate to the left or right at a relatively small angle, so the angle of the preset angle C is It is usually relatively small, and the value range of the preset angle C is preferably 5° to 15°. For example, in a specific embodiment, the value of the preset angle C can be 5°, 7°, 10° or 15°, etc.; in addition, the preset time T3 is preferably in the range of 3 to 6 seconds, and the preset angle c1 is preferably in the range of 25° to 45°. In a specific embodiment, the preset time T3 can be 3, 5 or 6 seconds, etc., and the preset angle c1 can be 25°, 30°, 35° or 45°, etc.; in one embodiment, B2 is set to 60° / s.
[0051] As a preferred embodiment, the step S50 may further include:
[0052] After step S50 and before step S60, the method further includes: if not, then looping and executing the step of rotating to the left or right, and determining whether the angle of rotation exceeds the preset angle c1 at the preset time T3, or the angular velocity B2 of rotation is equal to or greater than the preset threshold, until the angle of rotation exceeds the preset angle c1 at the preset time T3, or the angular velocity B2 of rotation is equal to or greater than the preset threshold, and then going to step S30, and when the number of times the loop is executed exceeds the preset value, executing step S60. The number of times the loop is executed is a positive integer, and its value is preferably 3 to 6, and in this embodiment, it is preferably 3 or 5;
[0053] In this embodiment, the sweeping robot is controlled to repeatedly try to rotate to the left rear or right rear at a relatively small angle to improve the success rate of escaping from the trap; for example, the number of repeated attempts is 3, and as long as one is successful, it can be determined that the rotation is successful, and then the process goes to step S60 to continue trying to escape from the trap;
[0054] S60, controlling the sweeping robot to move backward, the backward moving time is T4, and detecting the acceleration A2 of the sweeping robot during the backward movement, and recording the angle change of the sweeping robot during the backward movement to determine whether the sweeping robot is suspended;
[0055] If the acceleration A2 is less than the preset threshold value and the cleaning robot is not suspended, executing step S40;
[0056] If the acceleration A2 is less than the preset threshold and the sweeping robot is suspended, the suspended escape step S80 is executed to drive the robot's single wheel to rotate and drive the robot to move, and then S60 is executed repeatedly until the acceleration A2 is equal to or greater than the preset threshold, and then the process goes to step S70. In this embodiment, the value range of the time T4 is preferably 150-250ms, and the actual value can be selected as needed. For example, in a specific embodiment, the time T4 can be 150ms, 160ms, 180ms, 200ms, 220ms or 250ms, etc.; the value range of the time T5 is preferably 350-650ms, and the actual value can be selected as needed. For example, in a specific embodiment, the time T5 can be 350ms, 380ms, 400ms, 450ms, 500ms, 550ms, 600ms or 650ms, etc.; the angle change refers to the change of one or more angles such as the rotation angle, the pitch angle, the roll angle, etc., and the angle change of one or more angles such as the rotation angle, the pitch angle, the roll angle, etc. is used to determine whether the sweeping robot is overhead.
[0057] In one embodiment, the preset threshold corresponding to A2 is set to 2 m / s 2
[0058] In one embodiment, the acceleration A1 and A2 are judged by the accumulated amount of the accelerometer. Specifically, when the accumulated amount of acceleration A1 or acceleration A2 is greater than the preset value, it is determined that the sweeping robot has completed the backward movement. In one embodiment, the duration T1 of the sweeping robot backward movement is less than T4. The function of the sweeping robot backward movement duration T1 is to retreat when the robot is not blocked by other obstacles to achieve escape; the function of the sweeping robot backward movement duration T4 is to retreat when the robot cannot get rid of the obstruction of other obstacles to determine whether the robot is in a state where the single-sided wheel cannot drive the robot to move. A longer backward distance can accurately determine whether the robot is in a state where the single-sided wheel cannot drive the robot to move. The state where the single-sided wheel cannot drive the robot to move specifically includes that the single-sided wheel of the robot is suspended by an obstacle at the bottom, or the single-sided wheel is squeezed and stuck by an obstacle at the top. Under this premise, the preset value for comparing the accumulated amount of acceleration A1 is less than the preset value for comparing the accumulated amount of acceleration A2.
[0059] S70: Determine that the escape is successful.
[0060] In one of the preferred embodiments, in the step S30, when it is detected that the acceleration A1 is less than a preset threshold value, it means that the sweeping robot is stuck (stuck at the bottom or suspended), and the type of jam can be detected first and then the step S40 can be entered for escape processing; if it is stuck at the bottom, the step S40 can be directly entered for escape processing; preferably, if it is detected that the sweeping machine is stuck at the bottom, then during the backward movement of the sweeping robot, in addition to detecting the acceleration A1, the angle change of the sweeping robot during the backward movement is also detected to determine whether the sweeping robot is suspended, that is, when it is determined that the bottom of the sweeping robot is stuck, it can be synchronously detected whether the sweeping robot is suspended during the backward movement of the sweeping robot.
[0061] Among them, the sweeping robot is detected to be stuck at the bottom. In this embodiment, the sweeping robot is determined to be stuck at the bottom by detecting the change value of the wheel current, the change value of the pitch angle and the roll angle of the sweeping robot. In a specific embodiment, the method for determining whether the sweeping robot is stuck at the bottom is: determine whether the sudden change of the wheel current value of the left wheel or the right wheel of the sweeping robot exceeds a preset value (such as the preset value is 3 times the normal wheel current value), then determine whether the change value of the pitch angle and the roll angle of the sweeping robot exceeds a preset value (such as 2 degrees, or 3 degrees, etc.), and finally determine whether the wheel current value of the left wheel or the right wheel and the pitch angle data continue to exceed the preset value for a time equal to or greater than a preset time value (such as 300ms, 350ms, 500ms, etc.). If the wheel current value of the left wheel or the right wheel and the pitch angle data continue to exceed the preset value for a time equal to or greater than the preset time value, it means that the sweeping robot is stuck at the bottom.
[0062] In this embodiment, whether the sweeping robot is suspended is determined by judging the angle change of the sweeping robot during the backward movement. In this embodiment, it is preferred to judge whether the sweeping robot is suspended by the angle change of the pitch angle and the roll angle; in a specific preferred embodiment, in order to more accurately judge whether the sweeping robot is suspended, the pitch angle value is X, the roll angle value is Y, and by calculating J=X 2 +Y 2 The value of J is then squared, and the The value of is used to judge the angle change of the sweeping robot, thereby judging whether the sweeping robot is suspended.
[0063] In one embodiment, when the sweeping robot is suspended, the contact between the sweeping robot and the ground is determined by the rolling angle, and the wheels that can play a driving role are determined. Specifically, when the robot is suspended, the robot is lifted up by obstacles at the bottom, and one wheel may be lifted up and unable to contact the ground, thereby losing the driving effect on the robot, while the other wheel remains in contact with the ground and can produce a driving effect on the robot. The wheel of the robot that is more likely to contact the ground is determined according to the size of the robot's rolling angle. In one embodiment, the robot rolls counterclockwise along the forward direction, and the output angle is a positive value. The robot rolls clockwise along the forward direction, and the output angle is a negative value. When the robot rotates clockwise along the forward direction, the probability of the right wheel touching the ground is higher; when the robot rotates counterclockwise along the forward direction, the probability of the left wheel of the robot touching the ground is higher. At this time, the angle value K1 is set. When the roll angle output by the gyroscope is greater than k1, it is determined that the probability of the robot's right wheel touching the ground is higher, and the robot's right wheel is driven to rotate in an attempt to drive the robot out of the influence of obstacles. When the roll angle output by the gyroscope is less than K1, it is determined that the robot's left wheel is more likely to touch the ground, and the robot's left wheel is driven to rotate in an attempt to drive the robot out of the influence of obstacles.
[0064] In one preferred embodiment, the stripping step S10 may further include:
[0065] S11, detecting and recording the machine motion and machine posture data of the sweeping robot in real time, and when it is detected that the sweeping robot is stuck, recording the current head direction of the sweeping robot.
[0066] The data of the robot's machine motion and machine posture include the robot's forward and backward movement, left rotation, right rotation, acceleration during the movement of the robot, and the angular velocity, pitch angle, and roll angle of the robot during rotation. In this embodiment, the angular velocity, pitch angle, and roll angle data are obtained by detecting the gyroscope.
[0067] Furthermore, the method for escaping from a predicament further comprises:
[0068] S71. When it is determined that the sweeping robot has escaped successfully, the sweeping robot is controlled to turn and move in a direction opposite to the direction of the head recorded in step S11.
[0069] By recording the direction of the robot's head when it is stuck, when it is successfully freed, the robot is controlled to move in the opposite direction of when it was stuck, so that the robot moves away from the direction in which it was stuck, preventing the robot from getting stuck again.
[0070] In a preferred embodiment, the aerial escape step in step S80 specifically includes:
[0071] S81, controlling the sweeping robot to perform a corresponding overhead escape action according to the angle change of the sweeping robot during the backward movement, specifically: if the angle change is clockwise, controlling the sweeping robot to spin right, and if the angle change is counterclockwise, controlling the sweeping robot to spin left;
[0072] Under normal circumstances, the sweeping robot moves backward in a straight line. If the angle of the sweeping robot changes during the backward movement, it is likely that one of the wheels (left wheel or right wheel) is suspended in the air, causing the angle of the sweeping robot to change; if the angle changes clockwise, it means that the left wheel of the sweeping robot is not exerting force and is suspended in the air, so only the right wheel can be controlled to move backward, so the sweeping robot is controlled to spin right to get out of trouble; if the angle changes counterclockwise, it means that the right wheel of the sweeping robot is not exerting force and is suspended in the air, so only the left wheel can be controlled to move backward, so the sweeping robot is controlled to spin left to get out of trouble;
[0073] S82, determining whether the rightward or leftward rotation angle of the sweeping robot within the preset time T6 is equal to or greater than the preset angle c2, if so, proceeding to step S60, otherwise proceeding to step S83;
[0074] S83, obtaining the machine posture data of the sweeping robot and determining the roll value of the gyroscope. If the roll value is greater than the preset angle K1, the right wheel of the sweeping robot is controlled to move forward and jump to the step S60, wherein the time for the right wheel to move forward is T7; if the roll value is less than the preset angle K1, the left wheel of the sweeping robot is controlled to move forward and jump to the step S20, wherein the time for the left wheel to move forward is T8.
[0075] It should be noted that the roll value described in this embodiment refers to the roll angle data obtained by detecting the gyroscope.
[0076] In one of the preferred embodiments, in step S82, the value range of the preset time T6 is preferably 3 to 6 seconds, and the actual value can be selected as needed. In a specific embodiment, the time T6 is 4 seconds; the value range of the preset angle c2 is preferably 50° to 70°, and in a specific embodiment, the preset angle c2 is 60°. Usually, the preset angle c2 is greater than the preset angle c1. When the angle c2 is rotated to determine whether the single wheel of the robot is suspended or stuck, the robot's freedom of movement is usually greater than when the robot is stuck as a whole. Therefore, c2 is set to be greater than c1 to achieve accurate judgment on whether the single wheel of the sweeping robot cannot drive the robot to move.
[0077] In one of the preferred embodiments, in step S83, the value range of the preset angle K1 is preferably 3° to 5°, and the actual value can be selected as needed. In a specific embodiment, the preset angle K1 is 3°; the value range of the time T7 and the time T8 is preferably 1.5 to 3 seconds, and the actual value can be selected as needed. In a specific embodiment, the values of the time T7 and the time T8 are both 1.5 seconds. The values of the time T7 and the time T8 can be the same or different.
[0078] The method for escaping a sweeping robot after it is stuck provided in Example 1 of the present invention provides a targeted method for escaping according to the situations in which the sweeping robot is stuck, such as when the sweeping robot is entangled in cables or when the sweeping robot is suspended and has obvious posture changes. The method records the machine motion and posture data of the sweeping robot (for example, the pitch angle data and roll angle data of the gyroscope in the sweeping robot) in real time, and judges the acceleration or angular velocity and other parameters of the sweeping robot during movement or rotation, so as to take corresponding steps for escaping. The success rate of escaping is greatly improved, thereby effectively improving the cleaning efficiency and cleaning effect of the sweeping robot.
[0079] Example 2
[0080] Based on the inventive concept of the method for escaping a cleaning robot after it is stuck as described in Example 1, this embodiment provides a device for escaping a cleaning robot after it is stuck, as shown in the attached Figure 2 As shown, the escape processing device comprises:
[0081] The escape start processing module 100 is used to control the sweeping robot to escape, and record the escape action and the total escape time T of the sweeping robot;
[0082] The escape time statistics and processing module 200 is used to count the total escape time T of the sweeping robot. If the total escape time T exceeds the preset time P, it is determined that the escape fails and the escape process is exited. Otherwise, the backward movement and acceleration processing module is started;
[0083] The backward movement and acceleration processing module 300 is used to control the sweeping robot to move backward for a preset time T1, and detect the acceleration A1 of the sweeping robot during the backward movement. If the acceleration A1 is equal to or greater than a preset threshold, the escape success determination module is started, otherwise the first control processing module is started;
[0084] The first control processing module 400 is used to obtain the data of the machine action M seconds before the sweeping robot is stuck, and control the sweeping robot to perform the opposite action to the last action before the sweeping robot is stuck. If the above-mentioned opposite action is completed within a preset time T2, and the angular velocity B1 of the sweeping robot is equal to or greater than a preset threshold, the escape time statistics and processing module is started, otherwise the second control processing module is started;
[0085] The second control processing module 500 is used to control the sweeping robot to rotate leftward or rightward at a preset angle C. If the rotation angle exceeds the preset angle c1 at the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold, it is determined that the rotation is successful and the escape time statistics and processing module is started, otherwise the third control processing module is started;
[0086] The third control processing module 600 is used to control the sweeping robot to move backwards, the backward movement time is T4, and detect the acceleration A2 of the sweeping robot during the backward movement, and record the angle change of the sweeping robot during the backward movement to determine whether the sweeping robot is suspended. If the acceleration A2 is less than the preset threshold value and the sweeping robot is suspended, the fourth control processing module is started to drive the single wheel of the robot to rotate and drive the robot to move until the acceleration A2 is equal to or greater than the preset threshold value, and then the escape success judgment module is started. ;
[0087] The fourth control processing module 700 is used to drive the single wheel of the robot to rotate and drive the robot to move, and then cyclically start the third control processing module 6;
[0088] The escape success determination module 800 is used to determine whether the sweeping robot is successfully escaped from an obstacle.
[0089] Among them, the sweeping robot has important detection components for detecting angular velocity, pitch angle, roll angle, acceleration, etc. For example, the sweeping robot is provided with a gyroscope (for detecting the angular velocity, pitch angle, roll angle, etc. of the sweeping robot) and an accelerometer (for detecting the acceleration of the sweeping robot) and other components, or other acceleration sensors (grating acceleration sensors) can be used to detect the acceleration of the sweeping robot. In addition, an angle sensor can also be provided in the sweeping robot to detect the rotation angle of the sweeping robot. The angular velocity, pitch angle, roll angle, acceleration, etc. data detection is data that can be detected and obtained by existing components, and will not be described in detail here.
[0090] In one of the preferred embodiments, in the backward movement and acceleration processing module, when it is detected that the acceleration A1 is less than a preset threshold value, it means that the sweeping robot is stuck (stuck at the bottom or suspended), and the type of jam can be detected and determined before the first control processing module is started to perform an escape process; if it is stuck at the bottom, the first control processing module is directly started to perform an escape process; preferably, if it is detected that the sweeping machine is stuck at the bottom, then during the backward movement of the sweeping robot, in addition to detecting the acceleration A1, the angle change of the sweeping robot during the backward movement is also detected to determine whether the sweeping robot is suspended, that is, when it is determined that the bottom of the sweeping robot is stuck, it can be simultaneously detected whether the sweeping robot is suspended during the backward movement of the sweeping robot.
[0091] Among them, the sweeping robot is detected to be stuck at the bottom. In this embodiment, the sweeping robot is determined to be stuck at the bottom by detecting the change value of the wheel current, the change value of the pitch angle and the roll angle of the sweeping robot. In a specific embodiment, the method for determining whether the sweeping robot is stuck at the bottom is: determine whether the sudden change of the wheel current value of the left wheel or the right wheel of the sweeping robot exceeds a preset value (such as the preset value is 3 times the normal wheel current value), then determine whether the change value of the pitch angle and the roll angle of the sweeping robot exceeds a preset value (such as 2 degrees, or 3 degrees, etc.), and finally determine whether the wheel current value of the left wheel or the right wheel and the pitch angle data continue to exceed the preset value for a time equal to or greater than a preset time value (such as 300ms, 350ms, 500ms, etc.). If the wheel current value of the left wheel or the right wheel and the pitch angle data continue to exceed the preset value for a time equal to or greater than the preset time value, it means that the sweeping robot is stuck at the bottom.
[0092] In this embodiment, whether the sweeping robot is suspended is determined by judging the angle change of the sweeping robot during the backward movement. In this embodiment, it is preferred to judge whether the sweeping robot is suspended by the angle change of the pitch angle and the roll angle; in a specific preferred embodiment, in order to more accurately judge whether the sweeping robot is suspended, the pitch angle value is X, the roll angle value is Y, and by calculating J=X 2 +Y 2 The value of J is then squared, and the The value of is used to judge the angle change of the sweeping robot, thereby judging whether the sweeping robot is suspended.
[0093] As one of the preferred embodiments, the escape start processing module is also used to detect and record the machine action and machine posture data of the sweeping robot in real time, and when the sweeping robot is detected to be stuck, the current head direction of the sweeping robot is recorded.
[0094] When it is determined that the sweeping robot has escaped successfully, the sweeping robot is controlled to turn and move in a direction opposite to the direction of the head recorded by the escape start processing module.
[0095] As one of the preferred embodiments, the overhead escape step in the fourth control processing module specifically includes:
[0096] According to the angle change of the sweeping robot during the backward movement, the sweeping robot is controlled to perform the corresponding overhead escape action. If the angle change is clockwise, the sweeping robot is controlled to spin right, and if the angle change is counterclockwise, the sweeping robot is controlled to spin left;
[0097] If the right or left rotation angle of the sweeping robot is equal to or greater than the preset angle c2 within the preset time T6, or the rotation angle is equal to or greater than the preset threshold, the escape time statistics and processing module is started, otherwise the machine posture data of the sweeping robot is obtained and the roll value of the gyroscope is determined;
[0098] If the roll value is greater than the preset angle K1, the right wheel of the sweeping robot is controlled to move forward and the third control processing module is started, wherein the time for the right wheel to move forward is T7; if the roll value is less than the preset angle K1, the left wheel of the sweeping robot is controlled to move forward and the escape time statistics and processing module is started, wherein the time for the left wheel to move forward is T8.
[0099] As one of the preferred embodiments, the second control processing module is further used for:
[0100] When it is determined that the rotation fails, the sweeping robot is repeatedly controlled to rotate to the left or right at a preset angle C. If the rotation fails after N repetitions, the third control processing module is started, otherwise the escape time statistics and processing module is started.
[0101] In this embodiment, the working principle and working process of the escape processing device are the same as or similar to the working principle and working process of the escape method described in Example 1, so they will not be described in detail here.
[0102] The device for escaping a sweeping robot after it is stuck provided in Example 2 of the present invention is mainly designed for situations where the sweeping robot is stuck and has obvious posture changes, such as when the sweeping robot is entangled in wiring harnesses or when the sweeping robot is suspended. It records the data of the machine motion and posture of the sweeping robot in real time, and judges parameters such as the acceleration or angular velocity of the sweeping robot during movement or rotation, thereby activating the corresponding escape processing module. It has a high success rate in escaping, and can effectively improve the cleaning efficiency and cleaning effect of the sweeping robot.
[0103] The above embodiments only express several implementation methods of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for those of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
Claims
1. A method for escaping a stuck sweeping robot, characterized in that: The method for escaping from a difficult situation comprises the following steps: S30, controlling the sweeping robot to move backward, the backward moving time is T1, and detecting the acceleration A1 of the sweeping robot during the backward movement. If the acceleration A1 is equal to or greater than a preset threshold, proceed to step S70, otherwise proceed to step S40; S40, obtaining the data of the machine action M seconds before the sweeping robot is stuck, and controlling the sweeping robot to perform the opposite action to the last action before the sweeping robot is stuck. If the above opposite action is completed within the preset time T2, and the angular velocity B1 of the sweeping robot is equal to or greater than the preset threshold, then proceed to step S30, otherwise proceed to step S50; S50, control the sweeping robot to rotate leftward or rightward at a preset angle C in the opposite direction of the movement in step S40, and determine whether the rotation angle exceeds the preset angle c1 within the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold value. If so, determine that the rotation is successful and proceed to step S30; S70: Determine that the escape is successful.
2. A method for escaping a stuck sweeping robot according to claim 1, characterized in that: The method further includes: S10, controlling the sweeping robot to escape from trouble, and recording the sweeping robot's escape action and the total escape time T; S20: If the total escape time T exceeds the preset time P, it is determined that the escape has failed and the escape process is exited.
3. A method for escaping a stuck sweeping robot according to claim 2, characterized in that: The step S10 further includes: S11, detecting and recording the machine motion and machine posture data of the sweeping robot in real time, and when the sweeping robot is detected to be stuck, recording the current head direction of the sweeping robot; After step S70, the method further includes: S71. When it is determined that the sweeping robot has escaped successfully, the sweeping robot is controlled to turn and move in a direction opposite to the direction of the head recorded in step S11.
4. The method for escaping a stuck sweeping robot according to claim 1, characterized in that: The step S50 further includes: if not, executing step S60, S60, control the sweeping robot to move backward, the time of moving backward is T4, and detect the acceleration A2 of the sweeping robot during the backward process, and record the angle change of the sweeping robot during the backward process to determine whether the sweeping robot is suspended. If the acceleration A2 is less than the preset threshold value and the sweeping robot is suspended, execute the overhead escape step S80 to drive the single wheel of the robot to rotate and drive the robot to move, and then execute S60 in a loop until the acceleration A2 is equal to or greater than the preset threshold value, and then go to step S70.
5. The method for escaping a stuck sweeping robot according to claim 4, characterized in that: The overhead escape step S80 includes: S81, controlling the sweeping robot to perform a corresponding overhead escape action according to the angle change of the sweeping robot during the backward movement, if the angle change is clockwise, controlling the sweeping robot to spin right, if the angle change is counterclockwise, controlling the sweeping robot to spin left; S82, determining whether the rightward or leftward rotation angle of the sweeping robot within the preset time T6 is equal to or greater than the preset angle c2, if so, proceeding to step S60, otherwise proceeding to step S83; S83. Obtain the machine posture data of the sweeping robot and determine the roll value of the gyroscope. If the roll value is greater than the preset angle K1, control the right wheel of the sweeping robot to move forward and jump to the step S60, wherein the time for the right wheel to move forward is T7; if the roll value is less than the preset angle K1, control the left wheel of the sweeping robot to move forward and jump to the step S60, wherein the time for the left wheel to move forward is T8.
6. The method for escaping a stuck sweeping robot according to claim 4, characterized in that: The step S60 further includes: if the acceleration A2 is less than a preset threshold and the cleaning robot is not suspended, executing step S40.
7. The method for escaping from a difficult situation according to claim 4, characterized in that: After step S50 and before step S60, the method further includes: if not, then looping and executing the step of rotating to the left or right, and determining whether the rotation angle exceeds the preset angle c1 at the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold, until the rotation angle exceeds the preset angle c1 at the preset time T3, or the rotation angular velocity B2 is equal to or greater than the preset threshold, then going to step S30; when the number of times the loop is executed exceeds the preset value, executing step S60.
8. A device for escaping a stuck sweeping robot, characterized in that: The escape processing device comprises: The first control processing module is used to control the sweeping robot to move backwards, the backward movement time is T1, and detect the acceleration A1 of the sweeping robot during the backward movement. If the acceleration A1 is equal to or greater than a preset threshold, the escape success determination module is started, otherwise the second control processing module is started; The second control processing module is used to obtain the data of the machine action M seconds before the sweeping robot is stuck, and control the sweeping robot to perform the opposite action to the last action before the sweeping robot is stuck. If the above-mentioned opposite action is completed within a preset time T2, and the angular velocity B1 of the sweeping robot is equal to or greater than a preset threshold, the first control processing module is started, otherwise the third control processing module is started; The third control processing module is used to control the sweeping robot to rotate leftward or rightward at a preset angle C in the opposite direction of the movement in step S40, and determine whether the rotation angle exceeds a preset angle c1 within a preset time T3, or the rotation angular velocity B2 is equal to or greater than a preset threshold value. If so, it is determined that the rotation is successful and the first control processing module is started; The escape success determination module is used to determine the escape success.
9. The device for escaping a stuck sweeping robot according to claim 8, characterized in that: The device also includes: The escape start processing module is used to control the sweeping robot to escape, and record the escape action and total escape time T of the sweeping robot; The backward movement and acceleration processing module is used to determine that the escape fails and exit the escape process if the total escape time T exceeds the preset time P.
10. The escape device according to claim 9, characterized in that: The escape start processing module further includes: The orientation recording submodule is used to detect and record the machine motion and machine posture data of the sweeping robot in real time. When the sweeping robot is detected to be stuck, the current head orientation of the sweeping robot is recorded; The escape success determination module also includes: The direction adjustment submodule is used to control the sweeping robot to turn when it is determined that the sweeping robot has escaped successfully, and to make the sweeping robot move in the opposite direction of the head direction recorded by the direction recording submodule.
