Path planning method, path planning device, self-moving device, and storage medium
By detecting the slope environment and adjusting the front wheel angle, the self-moving equipment can plan the optimal climbing path on the slope, solving the problem of poor climbing ability and improving the operation coverage and effect.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ECOFLOW INC
- Filing Date
- 2022-11-04
- Publication Date
- 2026-04-21
AI Technical Summary
Self-moving equipment has poor climbing ability on slopes due to conventional path planning, making it unsuitable for complex terrain and reducing operational coverage and effectiveness.
By detecting the slope environment, the current attitude of the self-moving device and the angle between the front wheel and the slope direction are determined, the optimal climbing direction is planned, and the device is controlled to move along that direction.
It improves the climbing ability and operational coverage of self-moving equipment on slopes, thereby enhancing operational effectiveness.
Smart Images

Figure CN115729237B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of self-moving equipment technology, and particularly relates to a path planning method, a path planning device, a self-moving equipment, and a computer-readable storage medium. Background Technology
[0002] Self-moving equipment operating in outdoor environments may struggle to perform tasks smoothly due to the complex environment of the work area. This is especially true when the work area is on a slope. If conventional path planning methods are used, the path direction may not take into account the terrain's complexity. This can easily lead to the self-moving equipment being unable to climb slopes even on climbable surfaces due to an unreasonable planned path. In other words, conventional path planning results in poor climbing ability for self-moving equipment, making it unsuitable for complex terrain. This significantly reduces the operational coverage of the self-moving equipment and leads to poor operational results. Summary of the Invention
[0003] This application provides a path planning method, a path planning device, a self-moving device, and a computer-readable storage medium, which can improve the climbing ability of the self-moving device, thereby improving the work coverage and work effect.
[0004] In a first aspect, this application provides a path planning method applied to a self-moving device, the self-moving device including a first front wheel and a second front wheel, the first front wheel and the second front wheel being non-parallel, the method comprising:
[0005] When the aforementioned self-moving device is detected to be located on a slope, the slope direction is determined based on the current posture of the aforementioned self-moving device.
[0006] Determine the first angle between the slope direction and the first front wheel, and the second angle between the slope direction and the second front wheel;
[0007] Based on the first included angle and the second included angle, the target movement direction of the self-moving device is determined.
[0008] Plan the slope movement path according to the target movement direction and control the self-moving device to move along the slope movement path.
[0009] Secondly, this application provides a path planning device applied to a self-moving device, the self-moving device including a first front wheel and a second front wheel, the first front wheel and the second front wheel being non-parallel, the path planning device including:
[0010] The first determining module is used to determine the slope direction based on the current posture of the self-moving device when the self-moving device is detected to be located on a slope.
[0011] The second determining module is used to determine the first angle between the slope direction and the first front wheel, and the second angle between the slope direction and the second front wheel.
[0012] The third determining module is used to determine the target movement direction of the self-moving device based on the first included angle and the second included angle.
[0013] The first planning module is used to plan the slope movement path according to the target movement direction and control the self-moving device to move along the slope movement path.
[0014] Thirdly, this application provides a self-moving device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the method described in the first aspect.
[0015] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the method described in the first aspect above.
[0016] Fifthly, this application provides a computer program product comprising a computer program that, when executed by one or more processors, implements the steps of the method described in the first aspect.
[0017] The advantages of this application compared to existing technologies are: in a slope environment, the self-moving device needs to overcome not only the friction of the slope but also gravity during movement. When the driving force is limited, if the self-moving device still follows a conventional movement path, it is highly likely that it will be unable to move forward due to insufficient driving force. To address this issue, the self-moving device can first detect whether its current environment is a slope. Upon detecting a slope, it can determine the slope direction based on its current posture. The self-moving device includes a first front wheel and a second front wheel. When the first and second front wheels are not parallel, a first angle and a second angle between the first and second front wheels and the slope direction can be determined. Based on these two angles, the optimal climbing direction for the first and second front wheels, i.e., the target movement direction, can be determined. A movement path for the slope, i.e., the slope movement path, can be planned based on this target movement direction. When the self-moving device controls its movement based on this slope movement path, even with limited driving force, it can determine the optimal climbing direction by analyzing the angles between the wheels and the slope, allowing the self-moving device to continue moving along the target movement direction on the slope, thus improving its climbing ability. Simultaneously, path planning on the slope based on the analyzed target movement direction helps improve the climbing efficiency of the self-moving device, thereby increasing operational coverage and effectiveness. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art 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.
[0019] Figure 1 This is a bottom view of the self-moving device provided in the embodiments of this application;
[0020] Figure 2 This is a flowchart illustrating the path planning method provided in an embodiment of this application;
[0021] Figure 3 This is a schematic diagram of the slope environment provided in the embodiments of this application;
[0022] Figure 4 This is a schematic diagram of the slope movement path provided in the embodiments of this application;
[0023] Figure 5 This is a schematic diagram of the endpoint of the detour path provided in the embodiments of this application;
[0024] Figure 6 This is a schematic diagram of the path planning device provided in the embodiments of this application;
[0025] Figure 7 This is a schematic diagram of the structure of the self-moving device provided in the embodiments of this application. Detailed Implementation
[0026] 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 may 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.
[0027] In related technologies, when operating on slopes, if self-propelled mobile equipment still uses conventional path planning methods, it may be unable to operate due to unreasonable planning directions, resulting in a significant reduction in the operational coverage of the self-propelled mobile equipment and poor operational results.
[0028] Let's take a lawnmower robot as an example: Lawnmower robots typically operate outdoors, where the terrain may be uneven, including slopes. During operation, the robot's planned path might not account for this terrain complexity, preventing it from climbing slopes and completing its work on the incline. This reduces coverage and results in poor performance.
[0029] To address the aforementioned issues, this application proposes a path planning method that can improve the climbing ability and efficiency of self-moving equipment, thereby enhancing operational coverage and effectiveness.
[0030] It is understood that the path planning method provided in this application can be applied not only to self-moving devices, but also to other electronic devices capable of controlling self-moving devices, such as mobile phones, tablets, in-vehicle devices, augmented reality (AR) / virtual reality (VR) devices, laptops, ultra-mobile personal computers (UMPCs), netbooks, personal digital assistants (PDAs), and other electronic devices. This application does not impose any restrictions on the specific type of electronic device. Specifically, a communication connection channel can be established between the electronic device and the self-moving device, through which the electronic device can control the self-moving device.
[0031] The aforementioned self-moving device can be a device that includes self-movement assistance functionality. This self-movement assistance functionality can be implemented through an in-vehicle terminal, and the corresponding self-moving device can be a vehicle equipped with that in-vehicle terminal. The self-moving device can also be a semi-self-moving device or a fully autonomous device. Examples include lawnmowers, sweepers, or other robots with navigation capabilities.
[0032] Specifically, the self-moving device includes a first front wheel and a second front wheel, which are not arranged in parallel. Furthermore, the first and second front wheels can be symmetrically arranged along the central axis of the self-moving device, or they can be arranged non-symmetrically along the central axis. For example, the first and second front wheels can be arranged in a V-shape at the bottom of the self-moving device. This is merely an example; see below. Figure 1 , Figure 1 One possible arrangement of the first front wheel 11 and the second front wheel 12 is shown (only to illustrate the positional relationship between the two front wheels).
[0033] The types of the first and second front wheels can be set according to actual needs. Optionally, both the first and second front wheels can be omnidirectional wheels. For example, rollers can be provided on both the first and second front wheels to facilitate the self-moving device to adjust its movement direction based on the two front wheels.
[0034] In this application, the direction of movement of the self-moving device is crucial when operating on slopes. For the aforementioned self-moving device with a non-parallel front wheel structure, the two front wheels achieve maximum friction when their angles with the slope direction are aligned. This maximum friction reduces the impact of gravity on the self-moving device, improving its climbing ability. In other words, the self-moving device can use the direction of movement when the angles between its two front wheels and the slope direction are aligned as its target direction, and plan its slope movement path accordingly. Thus, even with limited driving force, the self-moving device can perform operations along the slope movement path, thereby improving work coverage and effectiveness.
[0035] The path planning method proposed in this application is illustrated below through specific embodiments. As examples and not limitations, the self-moving device will be used as the execution subject in the following embodiments.
[0036] Figure 2 A schematic flowchart of the path planning method provided in this application is shown, the path planning method comprising:
[0037] Step 110: When the self-moving device is detected to be on a slope, determine the slope direction based on the current posture of the self-moving device.
[0038] In this embodiment, the path planning method is a path planned for uneven slopes to improve the self-moving device's crawling ability on slopes. Thus, the self-moving device can detect its surrounding terrain in real time; and when it detects that it is on a slope, it determines the slope direction based on its current posture. The slope direction refers to the direction from the bottom of the slope to the top, and can be defined as a direction parallel to the slope and perpendicular to the intersection of the plane containing the slope and the horizontal plane. This slope direction is opposite to the direction of the self-moving device's specified acceleration; specifically, the specified acceleration is the component of gravitational acceleration in the slope direction.
[0039] Step 120: Determine the first angle between the slope direction and the first front wheel, and the second angle between the slope direction and the second front wheel.
[0040] Based on the structure and positional relationship of the two front wheels of the self-moving device, the angle formed by the first front wheel and the slope direction should be equal to the angle formed by the second front wheel and the slope direction to minimize the resistance experienced by the self-moving device. Therefore, after determining the slope direction, the self-moving device can determine the angles between the two front wheels and the slope direction, obtaining the first angle and the second angle, thus improving the accuracy of determining the target's motion direction. The first and second angles can be determined by the attitude of the two front wheels and the slope direction.
[0041] Step 130: Determine the target movement direction of the self-moving device based on the first included angle and the second included angle.
[0042] After determining the first and second included angles, the direction of motion of the self-propelled mobile device when going uphill can be further determined based on the relationship between the two included angles, that is, the target direction of motion. It can be understood that this target direction of motion is the optimal direction for the self-propelled mobile device to exert force when climbing uphill. Moving based on this target direction of motion can reduce the resistance experienced by the self-propelled mobile device and improve its climbing ability.
[0043] Step 140: Plan the slope movement path according to the target movement direction, and control the self-moving device to move along the slope movement path.
[0044] After determining the target direction of movement, the automated mobile device can plan a movement path for the slope based on that direction. This slope movement path is understood to be more suitable for the slope terrain because the target direction of movement represents the optimal force direction for climbing. When the automated mobile device controls its movement based on this slope movement path, it improves climbing efficiency, enabling it to operate on the slope and increasing work coverage and effectiveness.
[0045] In some embodiments, because the motor current value of the self-moving device differs when it is on a slope compared to when it is on flat ground, the self-moving device can determine whether it is on a slope by observing changes in the motor current value. The determination steps specifically include:
[0046] Step A1: Obtain the motor current value of the self-moving device.
[0047] To determine whether the self-moving device is located on a slope, the self-moving device can first obtain the motor current value, which can be read from the self-moving device's register or obtained through a specified interface.
[0048] Step A2: When the motor current value does not fall within the preset current value range, determine that the self-moving device is located on the slope.
[0049] After obtaining the motor current value, the motor current value can be compared with a preset current value range to determine whether the device is located on a slope. The current value range can be set according to the current of the self-moving device when running on flat ground. When the motor current value does not fall into the current value range, it means that the device is not running on flat ground or has encountered an obstacle, and it can be determined that the self-moving device is located on a slope.
[0050] As an example only, the direct proportionality between the load torque of a motor and the motor current can be expressed by the following formula:
[0051] T = 9550 * P / n = 9550 * U * I * n
[0052] Where T is the load torque, P is the motor power, n is the speed, U is the motor voltage, and I is the motor current.
[0053] It is known that the load torque of a motor is directly proportional to its current. Therefore, it can be determined that when the mobile device is moving uphill, the motor's load torque increases, leading to an increase in the motor current. Thus, the aforementioned current range can be determined based on the characteristic of increased motor current when moving uphill.
[0054] In some implementations, the motor current value may change not only when going uphill, but also in the following situations:
[0055] (1) Moving the mobile device onto ground with high resistance (such as moving from an asphalt road onto a grassy area);
[0056] (2) The mobile device crosses over larger sand and gravel particles;
[0057] (3) The mobile device is stuck by an obstacle;
[0058] (4) Moving equipment downhill;
[0059] (5) Move from the mobile device to a surface with less resistance (such as from a gravel road to a cement surface);
[0060] (6) The mobile device is lifted;
[0061] (7) The self-moving device slips.
[0062] In cases (1) to (3), the motor current value will increase suddenly, while in cases (4) to (7), the motor current value will decrease suddenly. In order to accurately determine whether the self-moving device is located on a slope, the changes in the motor current value in the above cases can be analyzed to determine a more accurate current value range.
[0063] In some embodiments, since the direction of the specified acceleration is opposite to the slope direction, the self-moving device can first determine its current attitude through the equipped inertial measurement unit (IMU) or other attitude sensors, then determine the direction of the specified acceleration based on the current attitude, and then determine the slope direction based on the direction of the specified acceleration.
[0064] In other embodiments, when the self-moving device is running on a slope, its orientation is necessarily parallel to the slope. Therefore, after obtaining the current orientation of the self-moving device, the plane containing the slope can be determined based on the current orientation, and then the slope direction can be calculated. In other embodiments, the slope direction can also be determined in other ways, and this application does not limit this.
[0065] In some embodiments, the current posture of the self-moving device can be determined based on an attitude sensor equipped on the self-moving device. The current posture may include the current direction of movement of the self-moving device, which can also be understood as the orientation of the self-moving device's head. Since the front wheels of the self-moving device are fixed, the mounting angles corresponding to the first and second front wheels can be obtained. These mounting angles can be understood as the angle between the front wheels and the orientation of the self-moving device's head. Subsequently, the directions of the first and second front wheels can be determined based on the current direction of movement of the self-moving device, the mounting angles corresponding to the first and second front wheels. Then, a first angle between the first front wheel and the slope direction can be determined based on the direction of the first front wheel and the aforementioned slope direction; and a second angle between the second front wheel and the slope direction can be determined based on the direction of the second front wheel and the aforementioned slope direction.
[0066] In some embodiments, there are two possible relationships between the first included angle and the second included angle: the first possible relationship is that the first included angle and the second included angle are different, and the second possible relationship is that the first included angle and the second included angle are the same. For these two possible relationships, the target movement direction can be determined by the following steps:
[0067] Step 131: When the first included angle and the second included angle are different, adjust the posture of the self-moving device until the first included angle and the second included angle are equal.
[0068] Since the resistance experienced by the self-moving device is minimal when the first included angle and the second included angle are the same, the direction of target movement can be determined based on the first included angle and the second included angle.
[0069] If the first included angle is different from the second included angle, it means that the current direction of motion of the self-moving device is inconsistent with the direction of motion of the target. At this time, in order to make the direction of motion of the self-moving device consistent with the direction of motion of the target, the self-moving device can adjust its own posture so that the first included angle is equal to the second included angle, so as to determine the direction of motion of the target.
[0070] Step 132: When the first included angle and the second included angle are equal, determine the current motion direction of the self-moving device as the target motion direction of the self-moving device.
[0071] If the first included angle is the same as the second included angle, it means that the current movement direction of the self-moving device is consistent with the target movement direction. It can be considered that the current movement direction of the self-moving device is the target movement direction, that is, the current movement direction can be determined as the target movement direction.
[0072] In some embodiments, after determining the target motion direction, the self-moving device can first determine the deviation direction of the current motion direction from the target motion direction, and then determine the attitude adjustment direction. This deviation direction is the offset direction, and it can be determined by the relationship between the magnitudes of the first and second included angles. Based on this, the following steps can be used to address different deviation situations and adjust the attitude of the self-moving device to make the first and second included angles equal:
[0073] Step 1311: When the first included angle is greater than the second included angle, control the self-moving device to deflect in the first direction until the first included angle and the second included angle are equal.
[0074] When the first included angle and the second included angle are different, it is possible that the first included angle is greater than the second included angle. When the first included angle is greater than the second included angle, it indicates that the deviation direction is from the first front wheel to the second front wheel; correspondingly, the attitude adjustment direction is from the second front wheel to the first front wheel. For ease of distinction, the direction from the second front wheel to the first front wheel can be denoted as the first direction. That is, after determining the first direction, the self-moving device can control itself to deflect in that first direction to achieve attitude adjustment, making the first included angle equal to the second included angle.
[0075] Step 1312: When the first included angle is less than the second included angle, control the self-moving device to deflect in the second direction until the first included angle and the second included angle are equal.
[0076] When the first included angle and the second included angle are different, it's also possible that the first included angle is smaller than the second included angle. When the first included angle is smaller than the second included angle, it indicates that the deviation direction is from the second front wheel to the first front wheel; correspondingly, the attitude adjustment direction is from the first front wheel to the second front wheel. Again, for ease of distinction, the direction from the first front wheel to the second front wheel can be denoted as the second direction. After determining the second direction, the self-moving device can control itself to deflect in this second direction to achieve attitude adjustment, making the first included angle equal to the second included angle. The second direction and the first direction are opposite directions.
[0077] As an example only, assume that the left and right sides are determined by the self-moving device itself, where the first front wheel is the left front wheel and the second front wheel is the right front wheel. When the first included angle is greater than the second included angle, it means that the current direction of movement of the self-moving device is biased to the right relative to the target direction of movement. Correspondingly, the attitude adjustment direction is to the left. That is, the self-moving device can adjust its attitude by controlling its current forward direction to deflect to the left, so that the first included angle is equal to the second included angle.
[0078] In some embodiments, when the first front wheel and the second front wheel are symmetrically arranged along the central axis of the self-moving device, and the target movement direction is the slope direction, the self-moving device can adjust its own attitude by the following steps after determining the attitude adjustment direction, so that the first included angle is equal to the second included angle:
[0079] Step B1: Determine the deviation angle between the current direction of motion and the slope direction.
[0080] When the first and second front wheels are symmetrically arranged along the central axis of the self-moving device, if the first included angle is different from the second included angle, it can be assumed that there is a deviation between the current direction of motion and the slope direction. To determine the degree to which the current direction of motion deviates from the slope direction, the included angle between the two directions, i.e., the deviation angle, can be determined. It can be assumed that by reducing this deviation angle based on the attitude adjustment direction, the self-moving device can adjust its current direction of motion to the target direction of motion.
[0081] As an example, let's assume the left and right sides are determined from the self-moving device itself. After obtaining the slope direction and the self-moving device's current direction of movement, the deviation angle of the self-moving device's current direction of movement relative to the slope direction can be determined, either simultaneously with determining the deviation direction. For example, if the deviation direction is determined to be to the left, and the self-moving device determines its current direction of movement to deviate 35° to the left relative to the climbing direction, then the deviation angle can be determined to be 35°. In this case, the self-moving device can deflect 35° to the right in the attitude adjustment direction to reduce the deviation angle to 0°, making the first included angle equal to the second included angle. Alternatively, if the deviation direction is determined to be to the right, and the self-moving device determines its current direction of movement to deviate 15° to the right relative to the climbing direction, then the deviation angle can be determined to be 15°. In this case, the self-moving device can deflect 35° to the left in the attitude adjustment direction to reduce the deviation angle to 0°, making the first included angle equal to the second included angle.
[0082] Step B2: Determine the speed difference between the drive wheels based on the deviation direction so that the deviation angle is reduced to zero, making the first included angle equal to the second included angle.
[0083] Specifically, the drive wheels of the self-moving device may be the front wheel and / or the rear wheel. Taking the rear wheel as the drive wheel as an example, when the rotational speed of the left rear wheel is greater than that of the right rear wheel, the self-moving device will veer to the right; when the rotational speed of the right rear wheel is greater than that of the left rear wheel, the self-moving device will veer to the left.
[0084] Therefore, after determining the direction of deviation, the speed difference between the drive wheels can be determined based on the direction of deviation. At this time, the self-moving device can move in the opposite direction of deviation so that the deviation angle is reduced to zero, making the first included angle equal to the second included angle.
[0085] As an example, assume the left and right sides are determined by the self-moving device itself, with the left and right rear wheels as the driving wheels. The deviation direction is to the left, and the deviation angle is 20°. The self-moving device needs to control itself to veer to the right. At this time, the self-moving device can control the rotation speed of the right rear wheel to be lower than that of the left rear wheel, so that the current direction of movement deviates to the right, aligning with the slope direction. When the deviation angle decreases from 20° to 0°, it indicates that the current direction of movement of the self-moving device is consistent with the slope direction, and the attitude adjustment can be considered complete, i.e., the first included angle equals the second included angle.
[0086] In some embodiments, after the self-moving device adjusts its posture, it may be unable to move due to obstacles in the target direction of movement. To further improve the climbing ability of the self-moving device, after step 132, the path planning method may further include:
[0087] Step C1: If the self-moving device cannot move along the target direction, determine the current position of the self-moving device as the obstacle point.
[0088] After determining that the current direction of movement is the target direction of movement, if the self-moving device detects that it cannot move, it means that there is an obstacle in the target direction of movement. At this time, the self-moving device can first mark its current position, for example, as an obstacle point, so that when working in the same area later, it can automatically avoid obstacles based on the pre-marked obstacle points, reduce collisions between the self-moving device and obstacles, and reduce wear and tear on the self-moving device.
[0089] Step C2: Plan the detour path to the obstacle point and control the self-moving device to detour along the detour path.
[0090] After marking an obstacle, the self-moving device can plan a detour path around the obstacle and control itself to move along the detour path to avoid the obstacle and continue working.
[0091] In some embodiments, the detour path is planned only after the self-moving device becomes immobile. If it is directly controlled to detour along the detour path, it is highly likely that it will still be unable to move. To avoid this situation, before controlling the self-moving device to detour, the method further includes controlling the self-moving device to move backward a preset distance.
[0092] Specifically, this preset distance can be determined based on the width of the self-moving device to ensure that the self-moving device avoids collisions with obstacles after retreating the preset distance. The preset distance can be set according to actual conditions, but the setting range should not be too large or too small, so as not to reduce the operational coverage of the self-moving device or increase the risk of the self-moving device colliding with obstacles. For example, the preset distance can be a distance equal to the width of the self-moving device.
[0093] Optionally, when it is detected that the self-moving device cannot move, the self-moving device is controlled to retreat from its current position to a new position within a preset distance from the obstacle point, and a passable detour path is replanned based on the new position. The self-moving device then detours around the obstacle point based on the planned detour path. The detour path can be considered to be a path along the edge of the obstacle and within a threshold distance from the obstacle edge.
[0094] As an example, the self-moving device can move along the detour path after retreating a distance equal to its own length, thereby avoiding situations where it is impossible to detour based on the detour path and improving the reliability of the self-moving device when working on slopes.
[0095] In some embodiments, see Figure 3 , Figure 3A schematic diagram of a slope environment is shown. Assuming the self-moving device detects an obstacle in its direction of travel while moving forward from its current position d, the self-moving device can mark the obstacle as obstacle point a and control itself to reverse by a preset distance equal to half the vehicle's length, i.e., reversing to... Figure 3 The position is determined by D, and the current direction of motion is adjusted to the target direction of motion based on position D, and the subsequent steps are then executed.
[0096] In some embodiments, since the position of the self-moving device changes continuously during movement, the process by which the self-moving device determines that it cannot move can be as follows: after detecting whether its own position has stopped changing, when the position stops changing, the self-moving device is determined to be in a motion state where it cannot move.
[0097] In practical applications, when a self-moving device cannot move on a slope, it can be divided into two scenarios: slippage and stalling. The motor current of the self-moving device exhibits different characteristics in these two scenarios: in slippage, the motor current is lower; in stalling, the motor current is higher. Based on this, the process by which the self-moving device determines that it cannot move can also be as follows: different current thresholds are pre-set based on the changes in motor current in these two scenarios. By comparing the current value with the current threshold, it can be determined whether the self-moving device is unable to move.
[0098] As an example only, for slippage, a slippage current threshold can be set. When the detected motor current value is less than the slippage current threshold, it can be determined that the self-moving device is unable to move due to slippage and rollover. For stalling, a stall current threshold can be set. When the detected motor current value is greater than the stall current threshold, it is considered that the self-moving device is likely encountering an obstacle in its forward direction. In this case, even if the motor load torque is increased (load torque is proportional to the motor current), the self-moving device cannot move. In this situation, it can be determined that the self-moving device is unable to move due to stalling.
[0099] In some embodiments, as can be seen from the above, the target movement direction refers to the direction in which the self-moving device is moving uphill. In order to improve the operation coverage, when planning the slope movement path based on the target movement direction, a "U"-shaped path planning method can be adopted.
[0100] As an example only, assuming the first and second front wheels of the self-propelled mobile device are symmetrically positioned along its central axis, the optimal force direction for the device on a slope is the slope direction. In this case, the self-propelled mobile device can plan its movement path by moving directly uphill and downhill along the slope direction. See also... Figure 4 , Figure 4 A schematic diagram of a possible slope movement path is shown. Wherein, Figure 4The vertical solid line represents the slope movement path of the mobile device when going uphill, while the horizontal solid line represents the path the mobile device needs to move when switching from uphill to downhill. The dashed line represents the slope movement path of the mobile device when going downhill, and the horizontal dashed line represents the path the mobile device needs to move when switching from downhill to uphill. In other words, the movement of the mobile device based on this slope movement plan can be divided into four parts: uphill part P1, first horizontal movement part P2, downhill part P3, and second horizontal movement part P4. It should be noted that the labels in the figure are for illustrative purposes only and do not represent all the labels.
[0101] For the uphill section P1: The self-moving device moves uphill from the bottom of the slope based on the target movement direction. When it reaches the top in the vertical direction, it performs the first horizontal movement section P2.
[0102] For the first horizontal movement part P2: deflect 90° towards the unworked area and move a specified distance; after moving the specified distance, adjust the current movement direction to the opposite direction of the target movement direction and execute the downhill part P3.
[0103] For the downhill section P3: descend the slope from the top of the slope in the opposite direction of the target movement direction. When the movement reaches the bottom of the slope in the vertical direction, the second horizontal movement section P4 is executed.
[0104] For the second horizontal movement section P4: deflect 90° towards the unworked area and move a specified distance; after moving the specified distance, adjust the current movement direction to the target movement direction and execute the uphill section P1.
[0105] It is understandable that the self-moving device can complete the work on the slope by repeatedly performing the above four parts.
[0106] Alternatively, if we assume that the width of the work path is w when the self-moving device passes through once, then the specified distance can be 2w. That is, by performing the above-mentioned uphill and downhill sections, the self-moving device can improve the work coverage by making the two sections complement each other.
[0107] In some embodiments, if the self-moving device encounters an obstacle while moving along a slope path, it can also avoid the obstacle using steps C1 and C2 described above: marking the obstacle point and planning a detour path. At this time, as... Figure 5 As shown, the endpoint of the detour path refers to the starting point S corresponding to the nearest slope movement path after crossing the obstacle.
[0108] Optionally, to accurately determine whether the detour route has reached its end, the self-moving device can continuously locate its own position during the detour to obtain current location information. If it is determined that the current location information matches a path point (denoted as the target path point) on the slope planning path, the detour can be stopped, and the current direction of movement can be adjusted to the direction of movement corresponding to the target path point.
[0109] For example, regarding the direction of movement corresponding to a target path point: If the target path point is a path point on an uphill path, the self-moving device can adjust its current direction of travel to the target direction of movement; conversely, if the target path point is a path point on a downhill path, the current direction of travel can be adjusted to the opposite direction of the target direction of movement. Of course, the target path point could also be a path point on a horizontal movement path. In this case, the direction of movement corresponding to the horizontal movement path can be calculated by determining the direction of movement before the detour.
[0110] In some embodiments, after slope operation is completed, the self-moving device can update the slope movement path by combining all obstacle points and detour paths within the slope to obtain a new slope movement path. For known obstacle points on the slope, the new slope movement path already includes corresponding detour paths; therefore, if the obstacles within the slope remain unchanged, when the self-moving device operates again on the same slope, it can move along the new slope movement path, saving detour path planning time and further improving operational efficiency.
[0111] Corresponding to the path planning method in the above embodiments, Figure 6 A structural block diagram of a path planning device 6 provided in an embodiment of this application is shown. This path planning device can be applied to a self-moving device, wherein the self-moving device includes a first front wheel and a second front wheel, which are not arranged in parallel. For ease of explanation, only the parts relevant to the embodiment of this application are shown.
[0112] Reference Figure 6 The path planning device 6 includes:
[0113] The first determining module 61 is used to determine the slope direction based on the current posture of the self-moving device when the self-moving device is detected to be located on the slope.
[0114] The second determining module 62 is used to determine the first angle between the slope direction and the first front wheel, and the second angle between the slope direction and the second front wheel;
[0115] The third determining module 63 is used to determine the target movement direction of the self-moving device based on the first included angle and the second included angle;
[0116] The first planning module 64 is used to plan the slope movement path according to the target movement direction and control the self-moving device to move along the slope movement path.
[0117] Optionally, the third determining module 63 mentioned above may include:
[0118] An adjustment unit is used to adjust the posture of the self-moving device until the first angle and the second angle are equal when the first angle and the second angle are different.
[0119] The determining unit is used to determine the current motion direction of the self-moving device as the target motion direction of the self-moving device when the first included angle and the second included angle are equal.
[0120] Optionally, the aforementioned adjustment unit may include:
[0121] The first adjustment subunit is used to control the self-moving device to deflect in a first direction when the first included angle is greater than the second included angle, until the first included angle and the second included angle are equal; the first direction is the direction from the second front wheel to the first front wheel;
[0122] The second adjustment subunit is used to control the self-moving device to deflect in the second direction when the first included angle is less than the second included angle, until the first included angle and the second included angle are equal; the second direction is the direction from the first front wheel to the second front wheel.
[0123] Optionally, the path planning device 6 may further include:
[0124] The fourth determining module is used to determine the current movement direction of the self-moving device as the target movement direction of the self-moving device when the first included angle and the second included angle are equal. If the self-moving device cannot move along the target movement direction, the current position of the self-moving device is determined as the obstacle point.
[0125] The second planning module is used to plan detour paths around obstacle points and control the self-moving device to detour along the detour paths.
[0126] Optionally, the path planning device 6 may further include:
[0127] The control module is used to control the self-moving device to retreat a preset distance before controlling the self-moving device to revolve along the detour path.
[0128] Optionally, the path planning device 6 may further include:
[0129] The acquisition module is used to acquire the motor current value of the self-moving device before determining the slope direction based on the current posture of the self-moving device when it is detected that the self-moving device is located on a slope.
[0130] The fifth determining module is used to determine that the self-moving device is located on the slope when the motor current value does not fall within the preset current value range.
[0131] 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.
[0132] Figure 7 This is a schematic diagram of the physical layer structure of a self-moving device provided in an embodiment of this application. For example... Figure 7 As shown, the self-moving device 7 of this embodiment includes: at least one processor 70 ( Figure 7 (Only one is shown) a processor, a memory 71, and a computer program 72 stored in the memory 71 and executable on at least one processor 70. When the processor 70 executes the computer program 72, it implements the steps in any of the above-described path planning method embodiments, for example... Figure 2 Steps 110-140 are shown.
[0133] The processor 70 may be a Central Processing Unit (CPU), or it may be 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 may be a microprocessor or any conventional processor.
[0134] In some embodiments, memory 71 may be an internal storage unit of the self-moving device 7, such as a hard disk or memory of the self-moving device 7. In other embodiments, memory 71 may also be an external storage device of the self-moving device 7, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., provided on the self-moving device 7.
[0135] Furthermore, the memory 71 may include both internal storage units and external storage devices of the terminal device 7. The memory 71 is used to store operating devices, application programs, bootloaders, data, and other programs, such as program code for computer programs. The memory 71 can also be used to temporarily store data that has been output or will be output.
[0136] 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 above 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.
[0137] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above.
[0138] This application provides a computer program product that, when run on a mobile terminal, enables the mobile terminal to implement the steps described in the above-described method embodiments.
[0139] 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 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 the computer program code to a photographic device / electronic 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, such as a USB flash drive, a portable hard drive, a magnetic disk, or an optical disk.
[0140] 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.
[0141] 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.
[0142] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network devices and methods can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely illustrative. For instance, the division of modules or units described above 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 through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0143] The units described above 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.
[0144] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. A path planning method characterized by, Applied to a self-moving device, the self-moving device including a first front wheel and a second front wheel, the first front wheel and the second front wheel being arranged in a figure-eight shape and not parallel, the method includes: When the self-moving device is detected to be on a slope, the slope direction is determined based on the current posture of the self-moving device. Determine the first angle between the slope direction and the first front wheel, and the second angle between the slope direction and the second front wheel; The target movement direction of the self-moving device is determined based on the first included angle and the second included angle. Plan a slope movement path according to the target movement direction, and control the self-moving device to move along the slope movement path; Determining the target movement direction of the self-moving device based on the first included angle and the second included angle includes: When the first included angle and the second included angle are different, adjust the posture of the self-moving device until the first included angle and the second included angle are equal; When the first included angle and the second included angle are equal, the current motion direction of the self-moving device is determined as the target motion direction of the self-moving device.
2. The path planning method of claim 1, wherein, When the first included angle and the second included angle are different, adjusting the posture of the self-moving device until the first included angle and the second included angle are equal includes: When the first included angle is greater than the second included angle, the self-moving device is controlled to deflect in the first direction until the first included angle and the second included angle are equal; the first direction is the direction in which the second front wheel points to the first front wheel; When the first included angle is less than the second included angle, the self-moving device is controlled to deflect in the second direction until the first included angle and the second included angle are equal; the second direction is the direction from the first front wheel to the second front wheel.
3. The path planning method of claim 1, wherein, When the first included angle and the second included angle are equal, after determining the current motion direction of the self-moving device as the target motion direction of the self-moving device, the method further includes: If the self-moving device cannot move along the target direction of movement, the current position of the self-moving device will be determined as an obstacle point; Plan a detour path around the obstacle points and control the self-moving device to detour along the detour path.
4. The path planning method of claim 3, wherein, Before controlling the self-moving device to circumvent the detour path, the method includes: Control the self-moving device to move backward a preset distance.
5. The path planning method of claim 1, wherein, Before determining the slope direction based on the current posture of the self-moving device when it is detected that the self-moving device is located on a slope, the method further includes: Obtain the motor current value of the self-moving device; When the motor current value does not fall within the preset current value range, it is determined that the self-moving device is located on the slope.
6. A route planning apparatus characterized by comprising: Applied to a self-moving device, the self-moving device includes a first front wheel and a second front wheel, the first front wheel and the second front wheel being arranged in a figure-eight shape and not parallel, the path planning device includes: The first determining module is used to determine the slope direction based on the current posture of the self-moving device when the self-moving device is detected to be located on a slope. The second determining module is used to determine the first angle between the slope direction and the first front wheel, and the second angle between the slope direction and the second front wheel; The third determining module is used to determine the target movement direction of the self-moving device based on the first included angle and the second included angle; The first planning module is used to plan a slope movement path according to the target movement direction and control the self-moving device to move along the slope movement path; The third determining module includes: An adjustment unit is used to adjust the posture of the self-moving device until the first angle and the second angle are equal when the first angle and the second angle are different. The determining unit is used to determine the current motion direction of the self-moving device as the target motion direction of the self-moving device when the first included angle and the second included angle are equal.
7. A self-moving device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the path planning method as described in any one of claims 1 to 5.
8. A computer-readable storage medium storing a computer program, the computer program comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 7. When the computer program is executed by a processor, it implements the path planning method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Antiskid climbing control method for wheeled robot
CN114115227A