Control method and device of self-moving equipment, electronic equipment and storage medium
By detecting the location and power wheel status of the self-moving device, performing extrication operations and path planning, the problem of the self-moving device slipping on landslide sections was solved, ensuring that the equipment could quickly resume normal operation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ECOFLOW INC
- Filing Date
- 2023-03-31
- Publication Date
- 2026-04-21
AI Technical Summary
When mobile equipment encounters landslide sections during its movement, it may slip on the spot and be unable to continue moving, affecting the progress of the operation.
By detecting the location information of the self-moving device and the change in the mileage of the drive wheel, the slippage state is determined, an escape operation is performed, the drive wheel is rotated to get out of the slippage area, and path planning is performed within the preset sampling space to generate a regression path to return to the pre-planned path.
It enables the self-moving equipment to quickly and accurately detach from the slipping area after slipping, avoiding slipping again and ensuring the continuity and efficiency of the operation.
Smart Images

Figure CN116339344B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent control technology, and in particular to control methods, devices, electronic devices and storage media for self-moving equipment. Background Technology
[0002] As the global market for outdoor power equipment continues to expand, the use of self-moving equipment is becoming more and more widespread. Common self-moving equipment includes lawn mowing robots, sweeping robots, and firefighting robots. Self-moving equipment can usually replace manual labor and improve work efficiency. When there are safety hazards at the work site, it can reduce the risks of manual labor and ensure personnel safety.
[0003] During the operation of the self-moving device, if there are slippery sections on the moving path, the self-moving device may slip in place and be unable to continue moving forward. Summary of the Invention
[0004] In view of this, embodiments of this application provide a control method, apparatus, electronic device, and storage medium for a self-moving device that is in a slipping state, enabling it to move away from the slipping area and quickly and accurately follow the line.
[0005] In a first aspect, embodiments of this application provide a control method for a self-moving device, including:
[0006] When the self-moving device is slipping while moving along the pre-planned path, determine the slipping area;
[0007] Control the self-moving device to perform preset escape operations;
[0008] After the self-moving device leaves the slipping area, based on the current first position of the self-moving device, a path is planned backward within the preset sampling space to determine multiple first sampling paths;
[0009] Determine the second location of the target path point from the path points in the pre-planned path;
[0010] Based on the slippage area, the endpoint and the second position of each first sampling path, a regression path corresponding to each endpoint is generated;
[0011] The target path is determined based on each first sampling path and the corresponding regression path.
[0012] Control the self-moving device to move from the first position to the target path point according to the target path.
[0013] In some embodiments, the self-moving device includes multiple drive wheels; the method for detecting that the self-moving device is slipping includes:
[0014] The location information of the mobile device and the driving distance of each drive wheel are obtained during the first preset time period.
[0015] When the location information remains unchanged but the mileage changes, it is determined that the self-moving device is in a slippery state.
[0016] In some implementations, the method further includes the following steps before controlling the self-moving device to perform a preset escape operation:
[0017] Determine the target wheel that is slipping and the direction of slippage from the drive wheel of the self-moving device.
[0018] In some implementations, controlling the self-moving device to perform a preset escape operation includes:
[0019] Control the target wheel to rotate in the opposite direction to the slippage direction, and control the drive wheel other than the target wheel to rotate in the slippage direction.
[0020] In some implementations, the self-moving device includes a left wheel and a right wheel, comprising:
[0021] If the left wheel slips forward, or the right wheel slips backward, then control the left wheel to rotate backward and the right wheel to rotate forward.
[0022] If the right wheel slips forward, or the left wheel slips backward, then control the right wheel to rotate backward and the left wheel to rotate forward;
[0023] If both the left and right wheels slip forward, or both slip backward, then control one wheel to rotate forward and the other wheel to rotate backward.
[0024] In some implementations, the target path is determined based on each first sampling path and the regression path corresponding to each first sampling path, including:
[0025] Calculate the combined length of each first sampling path and its corresponding regression path;
[0026] The first sampling path and the corresponding regression path corresponding to the longest combination length are determined as the target path.
[0027] In some implementations, based on the current first location of the self-moving device, path planning is performed backward within a preset sampling space to determine multiple first sampling paths, including:
[0028] The system acquires the first location of the mobile device and multiple sets of sampling velocity information within the sampling space. Each set of velocity information includes sampling linear velocity and sampling angular velocity.
[0029] Obtain the preset sampling time;
[0030] Based on the first position, the sampling speed information of each group, and the sampling time, path planning is performed backward to obtain multiple first sampling paths.
[0031] Secondly, embodiments of this application provide a control device for a self-moving device, comprising:
[0032] The first determining module is used to determine the slippage area when the self-moving device is in a slippage state while moving along the pre-planned path;
[0033] The first control module is used to control the self-moving device to perform preset escape operations;
[0034] The second determining module is used to determine multiple first sampling paths by performing path planning backward within a preset sampling space based on the first position of the self-moving device after it leaves the slipping area.
[0035] The third determining module is used to determine the second location of the target path point from the path points in the pre-planned path;
[0036] The generation module is used to generate a regression path corresponding to each endpoint based on the slippage area, the endpoint of each first sampling path, and the second position.
[0037] The fourth determination module is used to determine the target path based on each first sampling path and the regression path corresponding to each first sampling path;
[0038] The second control module is used to control the self-moving device to move from the first position to the target path point according to the target path.
[0039] Thirdly, embodiments of this application provide an electronic device including a processor coupled to a memory, the processor being configured to execute a computer program or instructions stored in the memory, so that the electronic device performs the method in the first aspect.
[0040] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on an electronic device, causes the electronic device to perform the method in the first aspect.
[0041] The advantages of the embodiments in this application compared with related technologies are:
[0042] The self-moving device control method provided in this application can perform a preset escape operation to get out of the slipping area when the self-moving device is slipping during movement. Based on the preset sampling space, it performs path planning backward from the current first position of the self-moving device to obtain multiple sampling paths. Based on the multiple sampling paths, it re-plans the target path, controls the self-moving device to avoid the slipping area, and returns from the target path to the pre-planned path to continue moving forward. This allows the self-moving device to quickly and accurately follow the line after slipping, avoiding slipping in place and affecting the work progress. Attached Figure Description
[0043] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0044] Figure 1 This is a partial structural block diagram of a self-moving device provided in an embodiment of this application;
[0045] Figure 2 This is a schematic diagram of a movement path for a control method for a self-moving device provided in an embodiment of this application;
[0046] Figure 3 This is a schematic flowchart of a control method for a self-moving device provided in an embodiment of this application;
[0047] Figure 4 This is a schematic diagram of another movement path for the control method of the self-moving device provided in the embodiments of this application;
[0048] Figure 5 This is a schematic diagram of the structure of the control device for the self-moving device provided in the embodiments of this application;
[0049] Figure 6 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0050] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application can also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.
[0051] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.
[0052] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0053] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."
[0054] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0055] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0056] The control method for self-moving devices provided in this application can be applied to self-moving devices, which may be devices including self-movement assistance functions. The self-movement assistance function can be implemented by an in-vehicle terminal, and the corresponding self-moving device can be a vehicle equipped with such an in-vehicle terminal. The self-moving device can also be a semi-autonomous device or a fully autonomous device. For example, the self-moving device can be a lawnmower robot, a sweeping robot, a fire-fighting robot, etc. This application does not limit the specific category of self-moving devices; it is understood that the self-moving devices in this application may also include other devices with self-movement functions.
[0057] For example, such as Figure 1 The diagram shown is a structural schematic of a self-moving device provided in an embodiment of this application. Figure 1 As shown, the self-moving device includes: a vehicle body 100, drive wheels 110, a positioning module 120, an odometer 130, and a control module 140. Generally, the control module 140 is mounted on the vehicle body 100. The control module 140 is used to receive control commands from the self-moving device or to generate various control commands for the self-moving device. The control commands can be pre-loaded into the control module 140 or can be commands received from an external server or terminal control device. The control module 140 is also used to drive and control the drive wheels 110. For example, a communication board can also be connected to the control module 140 for communicating with an external server or terminal control device. In other embodiments, a communication unit, such as a 4G unit or a WiFi unit, can be directly integrated into the control module 140 for communicating with an external server or terminal control device; in this case, a communication board is not required. The drive wheels 110 are mounted on the vehicle body 100, and the control module 140 controls the direction of the self-moving device when moving forward, backward, and turning by controlling the wheels. The odometer 130 is connected to the drive wheel 110 and is used to detect the mileage traveled by the drive wheel in the self-moving device, and to feed back the detected mileage to the control module. The positioning module 120 is installed on the vehicle body 100 and is communicatively connected to the control module 140, and is used to monitor the location data of the self-moving device, and to feed back the detected location data to the control module 140.
[0058] The self-moving device can move according to the pre-planned path loaded in the control module 140 to complete the task, or it can execute the task according to the instructions sent by the external server or terminal control device received by the control module 140.
[0059] The pre-planned path can be the complete planned path for the self-moving device during this operation, or it can be a segment of the path within the self-moving device's current operation. For example, ... Figure 2 As shown, the planned route includes a sub-segment from point A1 to point A6.
[0060] The pre-planned path can also be a bow-shaped path, a square-shaped path, or a combination of bow-shaped and square-shaped paths. When the pre-planned path is a bow-shaped path, the longest boundary of the pre-constructed work area can be used as the main planning direction. The work area can then be planned using this main planning direction to obtain the complete planned path. The method of obtaining the pre-planned path is not specifically limited in this embodiment of the application.
[0061] When an automated mobile device encounters slippery sections on its path during operation, it may become stuck and unable to continue moving. To address this, this application provides a control method for automated mobile devices that enables them to automatically escape slippery areas and return to a pre-planned path to continue their work.
[0062] Figure 3 This is a flowchart illustrating the self-moving device control method provided in the embodiments of this application, as shown below. Figure 3 As shown, the method includes the following steps:
[0063] Step 310: When the self-moving device is slipping while moving along the pre-planned path, determine the slipping area.
[0064] In this embodiment, the self-moving device can determine whether it is in a slippery state based on the positioning information collected by the positioning module 120. For example, if the self-moving device determines that the positioning information collected by the positioning module has not changed within a preset time period before moving to the end of the planned path, then the self-moving device can determine that it is currently in a slippery state.
[0065] In some implementations, the self-moving device can also determine whether it is slipping based on the positioning information collected by the positioning module 120 and the mileage information of each drive wheel 110. For example, the self-moving device can first obtain the positioning information and the mileage of each drive wheel in a first preset time period; when the positioning information is detected to be unchanged and the mileage changes, it is determined that the self-moving device is slipping.
[0066] The first preset time period is a time period set by combining the moving speed and working efficiency of the self-mobile device. For example, the first preset time period can be set to 5 seconds, or the length of the first preset time period can be adjusted according to specific circumstances. In this embodiment of the application, the length of the first preset time period is not specifically limited.
[0067] In this application embodiment, the self-moving device may use Real Time Kinematic (RTK) positioning, encoder odometer positioning, ultrasonic navigation positioning, visual navigation positioning, GPS global positioning, etc. This application does not limit the positioning method of the self-moving device.
[0068] After acquiring the location information and the mileage of each drive wheel within a first preset time period, the self-moving device can determine whether the location data contained in the location information of the self-moving device has changed within the first preset time period, and whether the mileage of each drive wheel of the self-moving device has changed within the first preset time period. If the location data remains unchanged within the first preset time period, and the mileage of each drive wheel continues to change, it indicates that the self-moving device has not moved its position within the first preset time period, and the drive wheels are continuously rotating. Therefore, it can be determined that the self-moving device is in a slipping state.
[0069] In some implementations, if the change in position data within a first preset time period is much smaller than the position data of the self-moving device traveling at normal speed within the first preset time period, and the mileage of each drive wheel continues to change, then the self-moving device can also be determined to be in a slipping state.
[0070] In this embodiment, after the self-moving device falls into a slippery state, to prevent the self-moving device from slipping again when moving around the slippery point, a slippery radius can be preset, defining the area within a certain radius centered on the slippery point as the slippery area. It is understood that the slippery area represents the minimum safe distance range, ensuring that the self-moving device can avoid slipping again when moving outside the slippery area. For example, combined with... Figure 4 ,like Figure 4 As shown, when the self-moving device moves to the vicinity of point A3, it is detected that the self-moving device is in a slipping state. Assuming the slipping radius is set to 0.5 meters, the slipping area can be determined based on the position of the self-moving device when it slips, with the slipping point as the center and a circle of 0.5 meters in radius. The specific value of the slipping radius can be adjusted according to the actual working environment of the self-moving device. This application does not limit the specific value of the slipping radius.
[0071] Step 320: The self-moving device performs the preset escape operation.
[0072] In this embodiment, once the self-moving device determines that it is in a slipping state, it can initiate an escape operation, that is, determine the slipping target wheel and the slipping direction of the target wheel from the self-moving device's drive wheels. For example, the self-moving device can determine whether each drive wheel is slipping and the direction of slippage based on the acquired mileage and speed data of each drive wheel. In this embodiment, the drive wheel can be a differential wheel, and the mileage and speed data of different differential wheels are not exactly the same in the slipping state. If the mileage of the drive wheel continuously changes within a first preset time period and the speed data is positive, it can be determined that the drive wheel is slipping forward; if the mileage of the drive wheel continuously changes within the first preset time period and the speed data is negative, it can be determined that the drive wheel is slipping backward.
[0073] It should be noted that a positive speed data for the drive wheel means that the drive wheel of the self-moving device is rotating in the same direction as the self-moving device's travel direction, i.e., the drive wheel is currently rotating forward.
[0074] A negative speed data for the drive wheel means that the drive wheel of the self-moving device is rotating in the opposite direction to the direction of travel of the self-moving device, that is, the drive wheel is currently rotating backward.
[0075] For example, taking a self-moving device as a lawnmower robot with two drive wheels on the left and right as an example, within a preset 8-second time period, if the RTK positioning detects that the position data of the lawnmower robot remains unchanged, the travel distance of the left wheel changes by 24 meters and the travel speed is 3 meters per second, while the travel distance of the right wheel does not change and the travel speed is 0 meters per second, then it can be determined that the self-moving device is currently in a slipping state, and the slipping drive wheel is the left wheel, and the slipping direction is forward slipping.
[0076] In this embodiment, different escape schemes are preset for the possible slippage direction of the drive wheel of the self-moving device. The preset escape scheme may be: controlling the slipping target wheel to rotate in the opposite direction of slippage, while controlling the drive wheel other than the target wheel to rotate in the direction of slippage.
[0077] In some implementations, when a self-moving device has two drive wheels, both wheels may slip forward or backward simultaneously. In this case, one drive wheel can be controlled to rotate in the direction of slippage, while the other drive wheel rotates in the opposite direction. In one example, taking a self-moving device with two drive wheels, when the device is slipping, the following six slippage scenarios may occur:
[0078] (1) The left wheel slips forward, while the right wheel does not slip.
[0079] (2) The left wheel slips backward, while the right wheel does not slip.
[0080] (3) The right wheel slips forward, while the left wheel does not slip.
[0081] (4) The right wheel slips backward, while the left wheel does not slip.
[0082] (5) The left and right wheels both skid forward at the same time.
[0083] (6) The left and right wheels slip backward at the same time.
[0084] For the above six slippage situations, the self-moving device can be controlled to perform preset escape operations, including: controlling the target wheel to rotate in the opposite direction to the slippage direction, and controlling the power wheel other than the target wheel to rotate in the slippage direction. Among them, the specific escape operation scheme is as follows: (1) When the left wheel slips forward and the right wheel does not slip, control the left wheel to rotate backward and the right wheel to rotate forward.
[0085] (2) The left wheel slips backward while the right wheel does not slip, so control the left wheel to rotate forward and the right wheel to rotate backward.
[0086] (3) The right wheel slips forward while the left wheel does not slip. Control the right wheel to rotate backward and the left wheel to rotate forward.
[0087] (4) The right wheel slips backward while the left wheel does not slip. Control the right wheel to rotate forward and the left wheel to rotate backward.
[0088] (5) When the left and right wheels slip forward simultaneously, control the left wheel to rotate backward and the right wheel to rotate forward. Or control the left wheel to rotate forward and the right wheel to rotate backward.
[0089] (6) When both the left and right wheels slip backward, control the left wheel to rotate backward and the right wheel to rotate forward. Alternatively, control the left wheel to rotate forward and the right wheel to rotate backward.
[0090] In summary, if the left wheel slips forward, or the right wheel slips backward, control the left wheel to rotate backward and the right wheel to rotate forward; if the right wheel slips forward, or the left wheel slips backward, control the right wheel to rotate backward and the left wheel to rotate forward; if both the left and right wheels slip forward, or both the left and right wheels slip backward, control one wheel to rotate forward and the other wheel to rotate backward.
[0091] For example, after obtaining the slipping direction of the drive wheel, assuming that the slipping drive wheel is determined to be the left wheel and the direction is forward (the direction in which the lawnmower moves along the pre-planned path), the self-moving device can control the left wheel to rotate backward one revolution, and at the same time control the right wheel to rotate forward one revolution.
[0092] By rotating, the drive wheel of the self-moving device can disengage from the slip point with low friction and stabilize around the slip point with high friction, thereby facilitating the self-moving device to move backward and away from the slip area.
[0093] For example, with Figure 4 For example, if the self-moving device slips around point A3, it can get away from the slipping point by rotating in place. To avoid slipping again, the self-moving device will control the wheels to move backward from around point A3 to near point A2, that is, to exit the range indicated by the radius of the slipping area.
[0094] In some implementations, after detecting a slippage, the self-moving device can rotate to stabilize around the slippage point with high friction. At this point, the self-moving device is at a certain angle to the preset path movement direction. To avoid the self-moving device falling into the slippage point again when it moves backward, the self-moving device can control the wheels to move backward along the current direction to get out of the slippage area.
[0095] Step 330: After the self-moving device leaves the slipping area, based on the current first position of the self-moving device, perform path planning backward within the preset sampling space to determine multiple first sampling paths.
[0096] The preset sampling space represents the sampling space of the movement trajectory, which is used to predict multiple first sampling paths sampling backward from the current first position of the self-moving device. Since the self-moving device deviates from the pre-planned path when exiting the slip zone, path planning based on the backward direction of the self-moving device is required within the sampling space to ensure that the self-moving device returns to the pre-planned path while avoiding the slip zone. In this embodiment, after the self-moving device leaves the slip zone, the current first position of the self-moving device and multiple sets of sampling velocity information within the sampling space are obtained, where each set of velocity information includes sampling linear velocity and sampling angular velocity; a preset sampling time is obtained; and path planning is performed backward based on the first position, each set of sampling velocity information, and the sampling time to obtain multiple first sampling paths.
[0097] The self-moving device can use its current location as the first location, and use the preset sampling time and multiple sets of sampling speed information to plan a path in the opposite direction of the pre-planned path movement direction (i.e., based on the backward direction of the self-moving device), thus obtaining multiple first sampling paths.
[0098] In this embodiment, a certain sampling linear velocity and sampling angular velocity range can be preset. Within the preset sampling linear velocity range, a sampling linear velocity value is taken at certain intervals, and within the preset sampling angular velocity range, a sampling angular velocity value is taken at certain intervals. These sampling linear velocity values and sampling angular velocity values are combined into multiple sets of sampling velocity information.
[0099] In one example, the preset sampling linear velocity and sampling angular velocity ranges can be: linear velocity [-0.8, 0], angular velocity [-0.6, 0.6], respectively. Then, the preset multiple sets of sampling velocity information can be: [linear velocity -0.8, angular velocity -0.6], [linear velocity -0.7, angular velocity -0.6], [linear velocity -0.6, angular velocity -0.6], [linear velocity -0.5, angular velocity -0.6], [linear velocity -0.4, angular velocity -0.6], [linear velocity -0.3, angular velocity -0.6], [linear velocity -0.2, angular velocity -0.6], [linear velocity -0.1, angular velocity -0.6], [linear velocity 0, angular velocity -0.6], ..., [linear velocity -0.1, angular velocity 0.6], [linear velocity 0, angular velocity 0.6], for a total of 117 sets of sampling velocity information.
[0100] Subsequently, the self-moving device can estimate its position and angle within each set of sampling velocity information during the preset sampling time period, according to a preset sampling time. The preset sampling time can be 3 seconds, 4 seconds, 5 seconds, 6 seconds, etc., and this application does not limit this setting; it can be configured based on actual needs.
[0101] Finally, the self-moving device can perform path planning backward based on the first location, the sampling speed information of each group, and the sampling time to obtain multiple first sampling paths.
[0102] In this embodiment of the application, the location points of the mobile device at certain sampling time intervals within a preset sampling time period can be calculated based on a preset calculation formula. By splicing the location points under each set of sampling speed information, multiple first sampling paths can be obtained.
[0103] The sampling time interval can be adjusted according to the sampling speed information of the self-moving device; for example, the sampling time interval can be 0.1 seconds.
[0104] In one example, the preset calculation formula can be:
[0105] x = x0 + vΔt cos(θ) t ) Formula (1)
[0106] y = y0 + vΔt sin(θ) t ) Formula (2)
[0107] θ t =θ t +ωΔt formula (3)
[0108] In this context, the position of the self-moving device under each set of sampling velocity information is denoted as (x, y), where (x0, y0) represents the first position of the self-moving device, v represents the linear velocity under each set of sampling velocity information, ω represents the angular velocity under each set of sampling velocity information, Δt represents the sampling time interval, and θ represents the position of the self-moving device. t This indicates the angle at which the vehicle samples data at any given time.
[0109] Step S340: Determine the second location of the target path point from the path points in the pre-planned path.
[0110] In this embodiment of the application, the pre-planned path may include multiple waypoints. For example, a waypoint may be placed every 0.5 meters along the pre-planned path. Figure 4 Points A1, A2, A3, A4, A5, and A6 in the pre-planned path shown are the path points of the pre-planned path.
[0111] The target path point can be a point forward (in the pre-planned path movement direction) from a path point near the slippage point. This means the slippage point is located between the target path point and the first position, and the target path point is within the slippage area. For example, the target path point could be the third point forward from a path point near the slippage point.
[0112] Step S350: Based on the slippage area, the endpoint and the second position of each first sampling path, generate the regression path corresponding to each endpoint.
[0113] For example, such as Figure 4 As shown, after retreating from the mobile device to near point A2, sampling is planned backward to obtain five first sampling paths A, B, C, D, and E. Then, the A*(A-Star) algorithm is used to plan the regression path from the end position of each sampling path, avoiding the slippage area, to the second position A5 where the target path point is located.
[0114] In this embodiment, after planning multiple first sampling paths, a regression path can be planned from the end point of each first sampling path to the second position, avoiding the slippage area. The path planning method can be A* algorithm, free space method, grid method, quadtree method, etc. This application does not limit the path planning method.
[0115] In one example, the A* algorithm can be used to generate a regression path from the end of each first sampling path, avoiding the slippage area, to the corresponding second position.
[0116] It should be noted that if the self-moving device moves forward away from the slippage area, path planning can be performed within a preset sampling space based on the second position of the target path point and the first position of the self-moving device, resulting in multiple second sampling paths, without executing step 350. Alternatively, the A* algorithm can be used to determine the second sampling path based on the second position of the target path point and the first position of the self-moving device. Since the A* algorithm is used to solve for the optimal obstacle avoidance path, the number of calculated second sampling paths is 1.
[0117] Step 360: Determine the target path based on each first sampling path and the corresponding regression path.
[0118] In this embodiment, the length of each first sampling path and the length of the corresponding regression path can be calculated and added together to obtain the combined length. In order to stay away from the slippage area and enable the self-moving device to safely avoid the slippage area, the first sampling path corresponding to the longest combined length and the corresponding regression path can be determined as the target path.
[0119] It should be noted that if the self-moving device moves forward away from the slippage area, then the second sampling path mentioned above becomes the target path.
[0120] Step 370: Control the self-moving device to move from the first position to the target path point according to the target path.
[0121] Specifically, the self-moving device can be given the driving speed information on the target path according to the preset PID (Proportional Integral Derivative) control mechanism, so that the self-moving device can control the power wheel to move from the first position to the target path point according to the driving speed information and the determined target path.
[0122] The self-moving device control method provided in the above embodiments has the following advantages:
[0123] (1) By detecting the location information of the self-moving device and the change in the mileage of each power wheel within a preset time period, the working status of the self-moving device can be detected in a timely manner.
[0124] (2) By detecting the slipping wheel and slipping direction of the self-moving device's power wheel, the self-moving device can be controlled to perform the corresponding escape operation, thus effectively controlling the self-moving device to escape from trouble.
[0125] (3) By determining the slip zone of the self-moving device and controlling the self-moving device to leave the slip zone, it is possible to prevent the self-moving device from slipping again near the slip point.
[0126] (4) By sampling and planning the regression path within the preset sampling space, the regression path of the self-moving device can be determined and the self-moving device can be controlled to return to the pre-planned path, so that the self-moving device can quickly and accurately follow the line even after slipping.
[0127] It should be understood that, provided there are no logical conflicts, the above-described embodiments can be combined and implemented to adapt to actual application needs. These combined embodiments or implementation schemes are still within the scope of protection of this application.
[0128] Corresponding to the control method of the self-moving device in the above embodiments, Figure 5 A schematic diagram of the structure of the control device for the self-moving device provided in the embodiments of this application is shown. For ease of explanation, only the parts related to the embodiments of this application are shown.
[0129] Please see Figure 5 As shown, the control device for the self-moving device includes:
[0130] The first determining module 501 is used to determine the slipping area when the self-moving device is in a slipping state while moving along a pre-planned path.
[0131] The first control module 502 is used to control the self-moving device to perform preset escape operations.
[0132] The second determining module 503 is used to determine multiple first sampling paths by performing path planning backward within a preset sampling space based on the first position of the self-moving device after it leaves the slipping area.
[0133] The third determining module 504 is used to determine the second location of the target path point from the path points in the pre-planned path.
[0134] The generation module 505 is used to generate a regression path corresponding to each endpoint based on the slippage area, the endpoint of each first sampling path, and the second position.
[0135] The fourth determining module 506 is used to determine the target path based on each first sampling path and the regression path corresponding to each first sampling path.
[0136] The second control module 507 is used to control the self-moving device to move from the first position to the target path point according to the target path.
[0137] In some embodiments, before executing the first determining module 501, the control device of the self-moving device further includes:
[0138] The first acquisition unit is used to acquire the location information of the self-moving device and the mileage of each drive wheel during a first preset time period.
[0139] The first determining unit is used to determine that the self-moving device is in a slipping state when the detected positioning information remains unchanged and the driving mileage changes.
[0140] In some embodiments, before executing the first determining module 501, the control device of the self-moving device further includes:
[0141] The second determining unit is used to determine the slipping target wheel and the slipping direction of the target wheel from the power wheel of the self-moving device.
[0142] In some implementations, the first control module 502 includes:
[0143] The control unit is used to control the target wheel to rotate in the opposite direction to the slippage direction, and to control the drive wheel other than the target wheel to rotate in the slippage direction.
[0144] In some implementations, the fourth determining module 506 includes:
[0145] The first calculation unit is used to calculate the combined length of each first sampling path and its corresponding regression path.
[0146] The third determining unit is used to determine the first sampling path and the corresponding regression path corresponding to the longest combination length as the target path.
[0147] In some implementations, the second determining module 503 includes:
[0148] The second acquisition unit is used to acquire the first position where the self-moving device is currently located and multiple sets of sampling velocity information within the sampling space, wherein each set of velocity information includes sampling linear velocity and sampling angular velocity.
[0149] The third acquisition unit is used to acquire the preset sampling time.
[0150] The second calculation unit is used to perform path planning backward based on the first position, each set of sampling speed information and sampling time to obtain multiple first sampling paths.
[0151] The process by which each module in the control device of the self-moving device provided in this application implements its respective function can be specifically referred to the foregoing. Figure 3 The descriptions of the embodiments shown and other related method embodiments are not repeated here.
[0152] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, and they will not be repeated here.
[0153] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0154] Based on the same inventive concept, embodiments of this application also provide a control device for a self-moving device. Figure 6 This is a schematic diagram of the structure of the control device for the self-moving device provided in the embodiments of this application, as shown below. Figure 6 As shown, the control of the self-moving device provided in this embodiment includes:
[0155] The memory 610 is used to store computer programs; the processor 620 is used to execute the methods of the above method embodiments when the computer programs are invoked.
[0156] The path tracking device provided in this embodiment can execute the above method embodiment, and its implementation principle and technical effect are similar, so it will not be described again here.
[0157] This application provides a computer-readable storage medium storing a computer program that, when run on an electronic device, causes the electronic device to perform the steps described in the various method embodiments above.
[0158] It should be understood that the processor mentioned in the embodiments of this application can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0159] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
[0160] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0161] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0162] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0163] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between devices or units through some interfaces, and may be electrical, mechanical, or other forms.
[0164] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0165] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0166] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a large-screen device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.
[0167] Finally, it should be noted that the above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A control method for a self-moving device, characterized in that, include: When the self-moving device is slipping while moving along the pre-planned path, determine the slipping area; Control the self-moving device to perform a preset escape operation; After the self-moving device leaves the slipping area, based on the current first position of the self-moving device, path planning is performed backward within a preset sampling space to determine multiple first sampling paths; the preset sampling space represents the sampling space of the movement trajectory. Determine the second location of the target path point from the path points in the pre-planned path; Based on the slippage area, the endpoint of each of the first sampling paths, and the second position, a regression path corresponding to each endpoint is generated; The target path is determined based on each of the first sampling paths and the corresponding regression paths. Control the self-moving device to move from the first position to the target path point according to the target path; The step of determining the target path based on each of the first sampling paths and the corresponding regression paths includes: Calculate the combined length of each first sampling path and its corresponding regression path; The first sampling path and the corresponding regression path corresponding to the longest combination length are determined as the target path.
2. The method according to claim 1, characterized in that, The self-moving device includes multiple drive wheels; the method for detecting that the self-moving device is slipping includes: The location information of the self-moving device and the mileage of each of the drive wheels are obtained during a first preset time period. When the location information remains unchanged while the mileage changes, it is determined that the self-moving device is in a slippery state.
3. The method according to claim 1, characterized in that, Before controlling the self-moving device to perform a preset escape operation, the method further includes: The target wheel that is slipping and the direction of slippage of the target wheel are determined from the drive wheels of the self-moving device.
4. The method according to claim 3, characterized in that, The control of the self-moving device to perform a preset escape operation includes: Control the target wheel to rotate in the opposite direction to the slippage direction, and control the drive wheel other than the target wheel to rotate in the slippage direction.
5. The method according to claim 3, characterized in that, The self-moving device includes a left wheel and a right wheel; controlling the self-moving device to perform preset escape operations includes: If the left wheel slips forward, or the right wheel slips backward, then control the left wheel to rotate backward and the right wheel to rotate forward; If the right wheel slips forward, or the left wheel slips backward, then control the right wheel to rotate backward and the left wheel to rotate forward; If both the left and right wheels slip forward, or if both the left and right wheels slip backward, then control one wheel to rotate forward and the other wheel to rotate backward.
6. The method according to any one of claims 1-5, characterized in that, The step of determining multiple first sampling paths by performing path planning backward within a preset sampling space based on the current first location of the self-moving device includes: The first position of the self-moving device and multiple sets of sampling velocity information within the sampling space are obtained, wherein each set of velocity information includes sampling linear velocity and sampling angular velocity; Obtain the preset sampling time; Based on the first position, the sampling speed information of each group, and the sampling time, path planning is performed backward to obtain multiple first sampling paths.
7. A control device for a self-moving device, characterized in that, include: The first determining module is used to determine the slippage area when the self-moving device is in a slippage state while moving along the pre-planned path; The first control module is used to control the self-moving device to perform a preset escape operation; The second determining module is used to determine multiple first sampling paths by performing path planning backward within a preset sampling space based on the current first position of the self-moving device after the self-moving device leaves the slipping area; the preset sampling space represents the sampling space of the movement trajectory. The third determining module is used to determine the second location of the target path point from the path points in the pre-planned path; The generation module is used to generate a regression path corresponding to each endpoint based on the slippage area, the endpoint of each first sampling path, and the second position; The fourth determining module is used to determine the target path based on each of the first sampling paths and the regression path corresponding to each of the first sampling paths; The second control module is used to control the self-moving device to move from the first position to the target path point according to the target path; The fourth determining module includes: The first calculation unit is used to calculate the combined length of each first sampling path and its corresponding regression path; The third determining unit is used to determine the first sampling path and the corresponding regression path corresponding to the longest combination length as the target path.
8. An electronic device, characterized in that, It includes a processor coupled to a memory, the processor being used to execute a computer program or instructions stored in the memory to cause the electronic device to perform the method as claimed in any one of claims 1 to 5.
9. A computer-readable storage medium, characterized in that, A computer-readable storage medium stores a computer program that, when run on an electronic device, causes the electronic device to perform the method as claimed in any one of claims 1 to 5.
Citation Information
Patent Citations
De-trapping method and device for robot
CN108427411A
Robot slipping detection method and device, robot and storage medium
CN115393245A