Obstacle avoidance control method and device, electronic equipment and computer readable storage medium

By classifying obstacles and setting corresponding expansion radii and path sampling parameters, a target obstacle avoidance path is generated, which solves the safety and efficiency problems caused by improper obstacle avoidance path planning of self-moving equipment, and improves obstacle avoidance efficiency and operational efficiency while ensuring safety.

CN116225023BActive Publication Date: 2026-05-29ECOFLOW INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ECOFLOW INC
Filing Date
2023-03-30
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

When planning obstacle avoidance, existing self-moving devices will affect safety and efficiency if the obstacle avoidance path is too far or too short, making it difficult to improve obstacle avoidance efficiency while ensuring safety.

Method used

By classifying obstacles, determining the corresponding expansion radius and path sampling parameters, and generating target obstacle avoidance paths, different expansion radii and path sampling parameters are set for static and dynamic obstacles respectively. Dynamic obstacles are set with larger expansion radii to improve safety, while static obstacles are set with smaller expansion radii to reduce path deviation.

Benefits of technology

While ensuring the safety of the self-moving equipment, it improves obstacle avoidance efficiency, reduces deviation from the pre-planned path during obstacle avoidance, and enhances operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116225023B_ABST
    Figure CN116225023B_ABST
Patent Text Reader

Abstract

An obstacle avoidance control method and device, electronic equipment and computer readable storage medium, the obstacle avoidance control method comprises: when detecting that there is an obstacle in the advancing direction of the pre-planned path of the self-moving device, determining the obstacle category to which the obstacle belongs; determining the inflation radius and path sampling parameters matched with the obstacle category; wherein the inflation radius is used to describe the minimum safety distance of the self-moving device to the obstacle; determining the target obstacle avoidance path of the self-moving device to bypass the obstacle based on the path sampling parameters and the inflation radius; and controlling the self-moving device to avoid obstacles based on the target obstacle avoidance path. The application can improve the obstacle avoidance efficiency of the self-moving device while ensuring the safety of the autonomous mobile device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of self-moving device control, and more specifically to an obstacle avoidance control method, apparatus, electronic device, and computer-readable storage medium. Background Technology

[0002] When an automated mobile device is operating on a planned path, in order to ensure the safety of the automated mobile device, an obstacle avoidance path is often planned to bypass the obstacle when it is detected.

[0003] However, if the planned obstacle avoidance path is too far from the obstacle, or if the obstacle disappears when the autonomous mobile device performs obstacle avoidance, it will result in ineffective obstacle avoidance and low obstacle avoidance efficiency. If the planned obstacle avoidance path is too close to the obstacle when performing obstacle avoidance, there may be a risk of collision, affecting safety. Therefore, how to improve the obstacle avoidance efficiency of autonomous mobile devices while ensuring their safety is an urgent problem to be solved. Summary of the Invention

[0004] Therefore, embodiments of this application provide an obstacle avoidance control method, apparatus, electronic device, and computer-readable storage medium, which can improve the obstacle avoidance efficiency of autonomous mobile devices while ensuring their safety.

[0005] This application provides a path planning method, including: when an obstacle is detected in the forward direction of a self-moving device on a pre-planned path, determining the obstacle category to which the obstacle belongs; determining an expansion radius and path sampling parameters that match the obstacle category; wherein the expansion radius is used to describe the minimum safe distance from the self-moving device to the obstacle; determining a target obstacle avoidance path for the self-moving device to bypass the obstacle based on the path sampling parameters and the expansion radius; and controlling the self-moving device to avoid obstacles based on the target obstacle avoidance path.

[0006] This technical solution detects obstacles in the direction of travel of the autonomous mobile device during its operation, determines the matching expansion radius and path sampling parameters based on the obstacle category, and obtains the target obstacle avoidance path accordingly. This allows the target obstacle path to fit the obstacle category, and adaptive matching is used to obtain the target obstacle avoidance path, thereby improving the obstacle avoidance efficiency of the autonomous mobile device while ensuring its safety.

[0007] In some embodiments, the obstacle category includes a static obstacle category and a dynamic obstacle category; determining an expansion radius that matches the obstacle category includes: when the obstacle belongs to the static obstacle category, determining the expansion radius as a first radius; when the obstacle belongs to the dynamic obstacle category, determining the expansion radius as a second radius; wherein the first radius is smaller than the second radius.

[0008] Since dynamic obstacles have a larger range of motion than static obstacles, in the above technical solution, setting a larger expansion radius for dynamic obstacles can maximize the safety of the self-moving device in avoiding dynamic obstacles, while setting a smaller expansion radius for static obstacles can reduce the deviation of the self-moving device from the pre-planned path when avoiding static obstacles, thereby avoiding excessive obstacle avoidance by the self-moving device and improving the operating efficiency of the self-moving device.

[0009] In some embodiments, the path sampling parameters include the target path interval. Determining the target obstacle avoidance path for the self-moving device to bypass the obstacle based on the path sampling parameters and the expansion radius includes: taking the location of the self-moving device as the obstacle avoidance starting point; determining the obstacle avoidance ending point in the pre-planned path; planning a preset number of candidate obstacle avoidance paths from the self-moving device to the obstacle based on the target path interval, the obstacle avoidance starting point, and the obstacle avoidance ending point; and determining the target obstacle avoidance path from the preset number of candidate obstacle avoidance paths based on the location and expansion radius of the obstacle.

[0010] This technical solution determines the path interval (target path interval) of each candidate obstacle avoidance path by considering the dynamic and static states of the obstacle category. The target path interval reflects the degree of deviation between each candidate obstacle avoidance path and the obstacle. Based on this, a more suitable target obstacle avoidance path can be determined for the obstacle category, thereby further improving obstacle avoidance efficiency.

[0011] In some embodiments, determining a target obstacle avoidance path from a preset number of candidate obstacle avoidance paths based on the location and expansion radius of the obstacle includes: determining a score value for each candidate obstacle avoidance path based on a preset path evaluation function, the location and expansion radius of the obstacle; and selecting a target obstacle avoidance path from the preset number of candidate obstacle avoidance paths based on each score value.

[0012] In some embodiments, the path sampling parameters include the number of target paths. Determining the target obstacle avoidance path for the self-moving device to bypass obstacles based on the path sampling parameters and the expansion radius includes: taking the location of the self-moving device as the obstacle avoidance starting point; determining the obstacle avoidance ending point in the pre-planned path; planning candidate obstacle avoidance paths for the target number of paths based on the obstacle avoidance starting point, the obstacle avoidance ending point, and the preset path interval; and determining the target obstacle avoidance path from the candidate obstacle avoidance paths for the target number of paths based on the location and expansion radius of the obstacle.

[0013] In some embodiments, the length of the candidate obstacle avoidance path is positively correlated with the expansion radius.

[0014] In some embodiments, when an obstacle is detected in the forward direction of the self-moving device along a pre-planned path, determining the obstacle category to which the obstacle belongs includes: acquiring an environmental image of the self-moving device along the forward direction of the pre-planned path; performing obstacle category detection on the environmental image to obtain the obstacle category to which the obstacle belongs.

[0015] This application also provides an obstacle avoidance control device, comprising: a detection module for determining the obstacle category of an obstacle when an obstacle is detected in the forward direction of a pre-planned path of a self-moving device; a matching module for determining an expansion radius and path sampling parameters that match the obstacle category; wherein the expansion radius is used to describe the minimum safe distance from the self-moving device to the obstacle; a route selection module for determining a target obstacle avoidance path for the self-moving device to bypass the obstacle based on the path sampling parameters and the expansion radius; and an obstacle avoidance module for controlling the self-moving device to avoid obstacles based on the target obstacle avoidance path.

[0016] This application also provides an electronic device, which includes a processor and a memory. The memory is used to store instructions, and the processor is used to call the instructions in the memory, so that the self-moving device executes the above-described obstacle avoidance control method.

[0017] This application also provides a computer-readable storage medium that stores computer instructions that, when executed on a self-moving device, cause the self-moving device to perform the obstacle avoidance control method described above. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying 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 flowchart of the steps of an obstacle avoidance control method according to an embodiment of this application;

[0020] Figure 2 This is a schematic diagram of an obstacle classification scenario according to an embodiment of this application;

[0021] Figure 3 This is a schematic diagram showing the expansion radius of various types of obstacles according to an embodiment of this application;

[0022] Figure 4 This is a schematic diagram illustrating the target path length according to an embodiment of this application;

[0023] Figure 5This is a flowchart of the sub-steps of step 103 provided according to an embodiment of this application;

[0024] Figure 6 This is a schematic diagram of the obstacle avoidance control device provided according to an embodiment of this application;

[0025] Figure 7 This is a schematic diagram of the structure of an electronic device provided according to an embodiment of this application. Detailed Implementation

[0026] To better understand the above-mentioned objectives, features, and advantages of this application, the application will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in these embodiments can be combined with each other.

[0027] The following description sets forth many specific details to provide a full understanding of this application. The described embodiments are only some, not all, of the embodiments of this application.

[0028] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein in the specification of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this application.

[0029] It should be further noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0030] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The terms "first," "second," "third," "fourth," etc. (if present) in the specification, claims, and drawings of this application are used to distinguish similar objects, not to describe a specific order or sequence.

[0031] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0032] The obstacle avoidance control method of this application can be applied to one or more electronic devices. An electronic device is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions. Its hardware includes, but is not limited to, processors, microprogrammed control units (MCUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.

[0033] In some embodiments, the electronic device can be a self-moving device, that is, the self-moving device can execute the obstacle avoidance control method of this application to achieve safe and efficient obstacle avoidance. The self-moving device can be a device including self-movement assistance functions. These self-movement assistance functions can be implemented by an on-board terminal, and the corresponding self-moving device can be a vehicle equipped with such an on-board terminal. The self-moving device can also be a semi-self-moving device or a fully autonomous device. For example, it can be a robot with navigation functions such as a lawnmower robot, a food delivery robot, or a package delivery robot. This application does not limit the type of self-moving device.

[0034] In other embodiments, other electronic devices communicating with the self-moving device may also execute the obstacle avoidance control method of this application to remotely control the movement of the self-moving device, enabling the self-moving device to safely and efficiently avoid obstacles.

[0035] Figure 1 This is a flowchart illustrating the steps of an embodiment of the obstacle avoidance control method of this application. Depending on different requirements, the order of the steps in the flowchart can be changed, and some steps can be omitted.

[0036] Step 101: When an obstacle is detected in the forward direction of the self-moving device on the pre-planned path, determine the obstacle category to which the obstacle belongs.

[0037] The pre-planned path of the self-moving device can be obtained by using path planning algorithms in related technologies based on the constructed work area. This embodiment does not limit the pre-planned path of the self-moving device. The pre-planned path can be a parallel arc-shaped path, a loop-shaped path, or a combination of arc-shaped and loop-shaped paths.

[0038] Obstacles can be categorized according to actual needs. For example, they can be categorized based on the activity level of the obstacle or the degree of protection provided to the obstacle, but are not limited to these categories.

[0039] In some embodiments, obstacles can be categorized based on their activity level. Activity level can be represented by the duration or frequency of an obstacle's presence in the same location. For example, if an obstacle's duration in the same location is less than a preset duration threshold or its frequency is less than a preset frequency threshold, it indicates that the obstacle has high activity level, and such obstacles can be defined as dynamic obstacles. Otherwise, they are classified as static obstacles (which can be abbreviated as Class D). Static obstacles include trees, buildings, fences, or pools, while dynamic obstacles can include animals, temporarily placed items, etc.

[0040] Furthermore, dynamic obstacles can be further categorized based on the degree of protection they provide. For example, refer to... Figure 2 As shown, dynamic obstacles are further categorized according to their level of protection, from highest to lowest, into three categories: Advanced Dynamic Obstacles (Category A), Intermediate Dynamic Obstacles (Category B), and Low-Level Dynamic Obstacles (Category C). Advanced Dynamic Obstacles can include dynamic obstacles with a high level of protection, such as people and vehicles. Intermediate Dynamic Obstacles can include dynamic obstacles with a moderate level of protection, such as cats and dogs. Low-Level Dynamic Obstacles include, but are not limited to, dynamic obstacles other than those in the Advanced and Intermediate categories.

[0041] In some embodiments, step 101 may include:

[0042] First, environmental images of the self-moving device along the pre-planned path are acquired. For example, a camera is installed on the self-moving device, and environmental images of the self-moving device along the pre-planned path are acquired at preset time intervals to improve the real-time performance of obstacle detection. The environmental images captured by the camera can include point cloud images and RGB images of the objects being photographed. The position of the objects relative to the self-moving device can be obtained from the point cloud information in the point cloud image, and the obstacle classification can be identified from the RGB image.

[0043] Then, obstacle category detection is performed on the environmental image to obtain the obstacle category to which each obstacle belongs. For example, obstacle category detection can be performed on the RGB image using an object detection model to obtain the obstacle category to which each detected obstacle belongs. The object detection model can be trained based on a deep learning model and sample images of obstacle categories.

[0044] Step 102: Determine the expansion radius and path sampling parameters that match the obstacle category.

[0045] The expansion radius is used to describe the minimum safe distance between the self-moving device and the obstacle.

[0046] In some embodiments, the higher the motion activity and protection level corresponding to the obstacle category, the larger the expansion radius.

[0047] For example, when the obstacle belongs to the static obstacle category, the expansion radius is determined as the first radius; when the obstacle belongs to the dynamic obstacle category, the expansion radius is determined as the second radius; wherein, the first radius is smaller than the second radius.

[0048] Furthermore, given the above classification of obstacles into categories A, B, C, and D, the following can be referenced: Figure 3 As shown, Figure 3 The diagram shows the expansion radius of obstacles corresponding to each obstacle category. The smaller circles in the concentric circles represent obstacles, and the radius of the larger circle in the concentric circles represents the expansion radius that matches the obstacle category to which the obstacle belongs.

[0049] For example, the expansion radii corresponding to obstacle categories A to D are 1 meter, 0.7 meters, 0.4 meters, and 0.1 meters, respectively. The specific value of the expansion radius can be set according to requirements, and this application embodiment does not limit it.

[0050] The above is an example of determining the expansion radius that matches the obstacle category in step 102. The following is a brief example of determining the path sampling parameters that match the obstacle category.

[0051] Path sampling parameters characterize the data sampled when generating obstacle avoidance paths. Path sampling parameters may include any one or a combination of the following: number of target paths, target path interval, and target path length, but are not limited to these.

[0052] Among them, the number of target paths is the number of target candidate obstacle avoidance paths obtained by sampling, the candidate obstacle avoidance paths are each obstacle avoidance path obtained by sampling, the target path interval is the distance between each candidate obstacle avoidance path obtained by sampling, and the target path length is the length of each candidate obstacle avoidance path obtained by sampling.

[0053] The following examples illustrate the implementation of determining the path sampling parameters that match the obstacle category in step 102, using path sampling parameters including the number of target paths, the distance between target paths, and the length of target paths as examples.

[0054] The higher the activity level and protection level of an obstacle category, the greater the number of target paths. For example, the number of target paths matched by a static obstacle category is less than the number of target paths matched by a dynamic obstacle category, thus increasing the path selection range for obstacle avoidance.

[0055] For example, in the case where obstacles are categorized into classes A, B, C, and D, the number of target paths corresponding to obstacle classes A through D can be 9, 7, 5, and 3, respectively.

[0056] In this embodiment, the higher the motion activity and protection level of the obstacle category, the larger the target path spacing. For example, the target path spacing matched by dynamic obstacle categories is greater than that matched by static obstacle categories, so that the generated obstacle avoidance path maintains a certain distance from the obstacle to reduce the possibility and danger of collision between the self-moving device and the obstacle.

[0057] For example, when obstacles are categorized into classes A, B, C, and D, the target path spacing corresponding to obstacle classes A through D can be 0.4 meters, 0.3 meters, 0.2 meters, and 0.1 meters, respectively.

[0058] In this embodiment, the higher the motion activity and protection level corresponding to the obstacle category, the longer the target path length. For example, the target path length matched by a static obstacle category is shorter than the target path length matched by a dynamic obstacle category. The target path length determines the time when the self-moving device initiates the obstacle avoidance task, where the obstacle avoidance task represents the task of the self-moving device to bypass the obstacle. If the target path length is longer, the time point at which the self-moving device initiates the obstacle avoidance task is earlier. The self-moving device executes the obstacle avoidance task at the corresponding time point, enabling it to safely bypass the obstacle on the obstacle avoidance path, thereby effectively improving the obstacle avoidance performance of the self-moving device. The shorter the target path length, the shorter the obstacle avoidance path of the self-moving device, thereby improving obstacle avoidance efficiency.

[0059] For example, refer to Figure 4 As shown, the target path length from the current location of the mobile device to the planned obstacle avoidance endpoint is divided into three segments: 1, 2, and 3. When obstacles are categorized into classes A, B, C, and D, the path interval for each segment corresponding to obstacle class A to D can be set to 0.6 meters, 0.5 meters, 0.4 meters, and 0.3 meters, respectively.

[0060] Based on the above example, the path sampling parameters and expansion radius matching each obstacle category can be shown in Table 1 below. The obstacle category classification and the specific values ​​of the obstacle avoidance parameters in the table are for illustrative purposes only. In specific applications, they can be set according to requirements.

[0061] Table 1

[0062]

[0063] The larger the expansion radius, the farther the self-moving device is from the current obstacle position when avoiding the obstacle; the more target paths there are, the more candidate obstacle avoidance paths are available, and the wider the coverage of each candidate obstacle avoidance path; the longer the target path is, the earlier the time point before obstacle avoidance begins; the larger the target path spacing, the wider the coverage of each candidate obstacle avoidance path.

[0064] In other words, the larger the obstacle avoidance parameters mentioned above, the farther away the self-moving device may be from the obstacle when it avoids it, the lower the probability of the obstacle colliding with the self-moving device when it moves, and the higher the safety.

[0065] Considering that the higher the mobility of obstacles, the greater the possibility of collisions between self-moving devices during movement, obstacle avoidance parameters should be set higher for obstacles with high mobility, such as dynamic obstacles, to minimize the occurrence of collisions and improve safety.

[0066] However, since the obstacles detected in this embodiment are located in the direction of the pre-planned path, the farther away from the obstacle during obstacle avoidance, the greater the deviation from the pre-planned path may be. The pre-planned path is generally designed in conjunction with the task to be completed by the self-moving device. For example, when a lawnmower robot is working, it is generally desirable for its pre-planned path to achieve full area coverage, meaning the lawnmower robot can pass through all planned mowing areas in the lawn. Similarly, the pre-planned path of a food delivery robot aims to quickly reach the corresponding table to improve food delivery efficiency.

[0067] Therefore, if the self-moving device deviates significantly from the pre-planned path, it may lead to a decrease in the operating efficiency of the self-moving device. To address this, the obstacle avoidance parameters for static obstacle matching in this application embodiment, such as a smaller expansion radius, reduce the deviation of the self-moving device from the pre-planned path during obstacle avoidance, thereby mitigating the decrease in operating efficiency caused by obstacle avoidance.

[0068] In other words, the embodiments of this application can adaptively match the corresponding expansion radius and path sampling parameters for each obstacle encountered by the self-moving device during operation, thereby mitigating the adverse effects of obstacle avoidance on the operation efficiency of the self-moving device while ensuring its safety.

[0069] For example, by using the aforementioned expansion radius and path sampling parameters, the lawnmower robot can safely avoid obstacles during the mowing process, while minimizing the deviation between the planned obstacle avoidance path and the pre-planned path, reducing the area of ​​grass that has not been mowed, and improving mowing efficiency.

[0070] Step 103: Determine the target obstacle avoidance path for the self-moving device to bypass the obstacle based on the path sampling parameters and the expansion radius.

[0071] For example, a preset local path planning algorithm can be used, combined with path sampling parameters and expansion radius, to determine the target obstacle avoidance path for the self-moving device to bypass obstacles.

[0072] The local path planning algorithm can be a preset path planning algorithm, such as the DWA (dynamic window approach) algorithm or the lattice planner algorithm, but is not limited to these.

[0073] In some embodiments, path sampling parameters may include target path intervals, referenced from... Figure 5 As shown, step 103 may include:

[0074] Step 1031: Use the location of the self-moving device as the obstacle avoidance starting point.

[0075] Step 1032: Determine the obstacle avoidance endpoint in the pre-planned path.

[0076] Step 1033: Based on the target path interval, obstacle avoidance start point and obstacle avoidance end point, plan a preset number of candidate obstacle avoidance paths for the self-moving device to bypass obstacles.

[0077] Step 1034: Based on the location and expansion radius of the obstacle, determine the target obstacle avoidance path from a preset number of candidate obstacle avoidance paths.

[0078] The obstacle avoidance endpoint is a path point in the pre-planned path that the self-moving device has not yet traversed. The preset number can be set according to the actual scenario. The length of the target obstacle avoidance path is positively correlated with the expansion radius.

[0079] Specifically, the system acquires the current linear velocity and angular velocity of the automated device, samples the current linear velocity based on a preset linear acceleration, and samples the current angular velocity based on a preset angular acceleration to obtain different sampled linear velocities and sampled angular velocities. These different sampled linear velocities and sampled angular velocities are combined to obtain different sets of sampled velocity combinations, where each sampled velocity combination includes a sampled linear velocity and a corresponding sampled angular velocity. Based on the obstacle avoidance start point, obstacle avoidance end point, sampled linear velocity, and corresponding sampled angular velocity, a sampling path is constructed for each sampled velocity combination. The interval between adjacent sampled paths is adjusted to the target path interval to obtain multiple candidate obstacle avoidance paths. Using the location of the automated device as the center, a preset number of candidate obstacle avoidance paths close to the center are extracted from the multiple candidate obstacle avoidance paths. Alternatively, a preset number of sampled velocity combinations are extracted, and a preset number of sampled paths are constructed based on these preset number of sampled velocity combinations, the obstacle avoidance start point, and the obstacle avoidance end point. Based on the target path interval, the interval between adjacent sampled paths is adjusted to the target path interval to obtain a preset number of candidate obstacle avoidance paths. In some embodiments, step 1034 may include: determining a score value for each candidate obstacle avoidance path based on a preset path evaluation function, the location of the obstacle, and the expansion radius; and selecting a target obstacle avoidance path from a preset number of candidate obstacle avoidance paths based on each score value.

[0080] The path evaluation function can be set based on actual needs. For example, the path evaluation function can be the path evaluation function in the DWA algorithm or the path evaluation function in the lattice planner algorithm, but it is not limited to these.

[0081] In this embodiment, the distances between each path point on the same candidate obstacle avoidance path and the obstacle can be obtained. If the distance is greater than or equal to the expansion radius of the obstacle, a first score value is assigned to that path point; otherwise, a second score value is assigned. The first score value is less than the second score value. Alternatively, the distance and score value can be inversely proportional; a smaller score value indicates a greater distance between the candidate obstacle avoidance path and the obstacle, reducing the likelihood of a collision between the mobile device and the obstacle, thus increasing safety. Therefore, the score value can be set based on the expansion radius and the distances between path points on the candidate obstacle avoidance path, and the sum of the score values ​​of all path points on the same candidate path can be used as the score value of the candidate obstacle avoidance path. For example, the evaluation function could be... Where g represents the score of the candidate obstacle avoidance path, and cost i This represents the score value corresponding to each path point i in the same candidate obstacle avoidance path, where n is the number of path points.

[0082] Step 104: Based on the target obstacle avoidance path, control the self-moving device to perform obstacle avoidance.

[0083] Based on the target linear velocity and target angular velocity required for the self-moving device to reach the target obstacle avoidance path, the target linear velocity and target angular velocity are input into the PID (proportional integration differentiation) controller. Then, based on the feedback results of the PID controller, the actual linear velocity and actual angular velocity of the self-moving device are adjusted in real time, so that the self-moving device travels along the target obstacle avoidance path based on the actual linear velocity and actual angular velocity, so as to bypass the obstacle and return to the pre-planned path, thus achieving precise obstacle avoidance.

[0084] This application embodiment improves obstacle avoidance efficiency by identifying and classifying obstacles and adaptively adjusting the obstacle avoidance path based on the obstacle category, while ensuring the safety of the self-moving device.

[0085] In addition, the obstacle avoidance path obtained adaptively in this embodiment can reduce the degree of deviation of the self-moving device from the pre-planned path during obstacle avoidance, thereby mitigating the adverse effects of obstacle avoidance on the operating efficiency of the self-moving device.

[0086] Based on the same concept as the obstacle avoidance control method in the above embodiments, this application also provides an obstacle avoidance control device, which can be used to execute the above obstacle avoidance control method. For ease of explanation, the structural schematic diagram of the obstacle avoidance control device embodiment only shows the parts related to the embodiments of this application. Those skilled in the art will understand that the illustrated structure does not constitute a limitation on the device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0087] like Figure 6 As shown, the obstacle avoidance control device includes a detection module 601, a matching module 602, a route selection module 603, and an obstacle avoidance module 604. In some embodiments, the above modules can be programmable software instructions stored in memory and executable by a processor. It is understood that in other embodiments, the above modules can also be program instructions or firmware embedded in the processor.

[0088] The detection module 601 is used to determine the obstacle category to which the obstacle belongs when an obstacle is detected in the forward direction of the self-moving device along the pre-planned path;

[0089] The matching module 602 is used to determine the expansion radius and path sampling parameters that match the obstacle category; wherein, the expansion radius is used to describe the minimum safe distance from the mobile device to the obstacle;

[0090] The routing module 603 is used to determine the target obstacle avoidance path for the self-moving device to bypass obstacles based on the path sampling parameters and the expansion radius.

[0091] The obstacle avoidance module 604 is used to control the self-moving device to avoid obstacles based on the target obstacle avoidance path.

[0092] In some embodiments, the obstacle categories include static obstacle categories and dynamic obstacle categories; the matching module 302 includes:

[0093] The first determining unit is used to determine the expansion radius as the first radius when the obstacle belongs to the static obstacle category;

[0094] The second determining unit is used to determine the expansion radius as a second radius when the obstacle belongs to the category of dynamic obstacles; wherein the first radius is smaller than the second radius. Since dynamic obstacles have a larger range of motion than static obstacles, in the above technical solution, setting a larger expansion radius for dynamic obstacles can maximize the safety of the self-moving device in avoiding dynamic obstacles, while setting a smaller expansion radius for static obstacles can reduce the deviation of the self-moving device from the pre-planned path when avoiding static obstacles, thereby preventing excessive obstacle avoidance by the self-moving device and improving the operating efficiency of the self-moving device.

[0095] In some embodiments, the path sampling parameters include the target path interval, and the route selection module 603 is further configured to: take the location of the self-moving device as the obstacle avoidance starting point; determine the obstacle avoidance endpoint in the pre-planned path; plan a preset number of candidate obstacle avoidance paths from the self-moving device to the obstacle based on the target path interval, the obstacle avoidance starting point, and the obstacle avoidance endpoint; and determine the target obstacle avoidance path from the preset number of candidate obstacle avoidance paths based on the location and expansion radius of the obstacle.

[0096] This technical solution determines the path interval (target path interval) of each candidate obstacle avoidance path by considering the dynamic and static states of the obstacle category. The target path interval reflects the degree of deviation between each candidate obstacle avoidance path and the obstacle. Based on this, a more suitable target obstacle avoidance path can be determined for the obstacle category, thereby further improving obstacle avoidance efficiency.

[0097] In some embodiments, the matching module 602 determines a target obstacle avoidance path from a preset number of candidate obstacle avoidance paths based on the position and expansion radius of the obstacle, including: determining a score value for each candidate obstacle avoidance path based on a preset path evaluation function, the position and expansion radius of the obstacle; and selecting a target obstacle avoidance path from the preset number of candidate obstacle avoidance paths based on each score value.

[0098] In some embodiments, the length of the candidate obstacle avoidance path in the matching module 602 is positively correlated with the expansion radius.

[0099] In some embodiments, when the detection module 601 detects an obstacle in the forward direction of the self-moving device along the pre-planned path, it determines the obstacle category to which the obstacle belongs, including: acquiring an environmental image of the self-moving device along the forward direction of the pre-planned path; performing obstacle category detection on the environmental image to obtain the obstacle category to which the obstacle belongs.

[0100] Figure 7 This is a schematic diagram of an embodiment of the electronic device of this application.

[0101] The electronic device 100 includes a memory 20, a processor 30, and a computer program 40 stored in the memory 20 and executable on the processor 30. When the processor 30 executes the computer program 40, it implements the steps described in the obstacle avoidance control method embodiments above, for example... Figure 1 Steps 101 to 104 are shown.

[0102] For example, computer program 40 can also be divided into one or more modules / units, one or more of which are stored in memory 20 and executed by processor 30. One or more modules / units can be a series of computer program instruction segments capable of performing a specific function, and these instruction segments describe the execution process of computer program 40 in electronic device 100. For example, it can be divided into... Figure 6 The detection module 601, matching module 602, route selection module 603, and obstacle avoidance module 604 are shown.

[0103] Those skilled in the art will understand that the schematic diagram is merely an example of the electronic device 100 and does not constitute a limitation on the electronic device 100. It may include more or fewer components than shown, or combine certain components, or different components. For example, the electronic device 100 may also include input / output devices, network access devices, buses, etc.

[0104] Processor 30 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. The general-purpose processor can be a microprocessor, a single-chip microcomputer, or any conventional processor.

[0105] The memory 20 can be used to store computer programs 40 and / or modules / units. The processor 30 implements various functions of the electronic device 100 by running or executing the computer programs and / or modules / units stored in the memory 20 and by calling data stored in the memory 20. The memory 20 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device 100 (such as audio data), etc. In addition, the memory 20 may include high-speed random access memory, and may also include non-volatile memory, such as hard disk, RAM, plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, at least one disk storage device, flash memory device, or other non-volatile solid-state storage device.

[0106] If the modules / units integrated in the electronic device 100 are implemented as software functional units and sold or used as independent products, they 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 also 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: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium can be appropriately added or removed according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0107] In the several embodiments provided in this application, it should be understood that the disclosed electronic devices and methods can be implemented in other ways. For example, the electronic device embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and other division methods may be used in actual implementation.

[0108] Furthermore, the functional units in the various embodiments of this application can be integrated into the same processing unit, or each unit can exist physically separately, or two or more units can be integrated into the same unit. The integrated units described above can be implemented in hardware or in the form of hardware plus software functional modules.

[0109] It will be apparent to those skilled in the art that this application is not limited to the details of the exemplary embodiments described above, and that this application can be implemented in other specific forms without departing from the spirit or essential characteristics of this application. Therefore, the embodiments should be considered exemplary and not restrictive in all respects. Furthermore, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or electronic devices recited in the electronic device claims may also be implemented by the same unit or electronic device through software or hardware. The terms "first," "second," etc., are used to indicate names and do not indicate any particular order.

[0110] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application and are not intended to limit it. Although this application has been described in detail with reference to the above embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of this application without departing from the spirit and scope of the technical solutions of this application.

Claims

1. An obstacle avoidance control method, characterized in that, include: When an obstacle is detected in the direction of travel of the self-moving device along the pre-planned path, the obstacle category to which the obstacle belongs is determined; Determine the expansion radius and path sampling parameters that match the obstacle category; wherein the expansion radius is used to describe the minimum safe distance from the self-moving device to the obstacle; Determining a target obstacle avoidance path for the self-moving device to bypass the obstacle based on the path sampling parameters and the expansion radius includes: taking the location of the self-moving device as the obstacle avoidance starting point; determining the obstacle avoidance ending point in the pre-planned path; planning a preset number of candidate obstacle avoidance paths for the self-moving device to bypass the obstacle based on the target path interval, the obstacle avoidance starting point, and the obstacle avoidance ending point; and determining the target obstacle avoidance path from the preset number of candidate obstacle avoidance paths based on the location of the obstacle and the expansion radius, wherein the path sampling parameters include the target path interval; Based on the target obstacle avoidance path, the self-moving device is controlled to avoid obstacles.

2. The obstacle avoidance control method as described in claim 1, characterized in that, The obstacle categories include static obstacle categories and dynamic obstacle categories; Determining the expansion radius that matches the obstacle category includes: When the obstacle belongs to the category of static obstacles, the expansion radius is determined to be the first radius; When the obstacle belongs to the category of dynamic obstacles, the expansion radius is determined to be the second radius; wherein the first radius is smaller than the second radius.

3. The obstacle avoidance control method as described in claim 2, characterized in that, The step of determining a target obstacle avoidance path from a preset number of candidate obstacle avoidance paths based on the position of the obstacle and the expansion radius includes: Based on the preset path evaluation function, the location of the obstacle, and the expansion radius, a score value is determined for each candidate obstacle avoidance path; Based on the aforementioned score values, the target obstacle avoidance path is selected from a preset number of candidate obstacle avoidance paths.

4. The obstacle avoidance control method as described in claim 2, characterized in that, The length of the target obstacle avoidance path is positively correlated with the expansion radius.

5. The obstacle avoidance control method as described in any one of claims 1 to 4, characterized in that, When an obstacle is detected in the forward direction of the self-moving device along the pre-planned path, determining the obstacle category to which the obstacle belongs includes: Acquire an environmental image of the self-moving device in the direction of travel along the pre-planned path; Obstacle category detection is performed on the environmental image to obtain the obstacle category to which the obstacle belongs.

6. An obstacle avoidance control device, characterized in that, include: The detection module is used to determine the obstacle category to which the obstacle belongs when it detects an obstacle in the forward direction of the self-moving device along the pre-planned path. A matching module is used to determine an expansion radius and path sampling parameters that match the obstacle category; wherein the expansion radius is used to describe the minimum safe distance from the self-moving device to the obstacle; A route selection module is used to determine a target obstacle avoidance path for the self-moving device to bypass the obstacle based on the path sampling parameters and the expansion radius, including: taking the location of the self-moving device as the obstacle avoidance starting point; determining the obstacle avoidance ending point in the pre-planned path; planning a preset number of candidate obstacle avoidance paths for the self-moving device to bypass the obstacle based on the target path interval, the obstacle avoidance starting point, and the obstacle avoidance ending point; and determining the target obstacle avoidance path from the preset number of candidate obstacle avoidance paths based on the location of the obstacle and the expansion radius, wherein the path sampling parameters include the target path interval; The obstacle avoidance module is used to control the self-moving device to avoid obstacles based on the target obstacle avoidance path.

7. The obstacle avoidance control device as described in claim 6, characterized in that, The obstacle categories include static obstacle categories and dynamic obstacle categories; The matching module includes: The first determining unit is configured to determine the expansion radius as a first radius when the obstacle belongs to the category of static obstacles; The second determining unit is used to determine the expansion radius as a second radius when the obstacle belongs to the dynamic obstacle category; wherein the first radius is smaller than the second radius.

8. An electronic device, the electronic device comprising a processor and a memory, characterized in that, The memory is used to store instructions, and the processor is used to call the instructions in the memory to cause the self-moving device to execute the obstacle avoidance control method as described in any one of claims 1 to 5.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed on the self-moving device, cause the self-moving device to perform the obstacle avoidance control method as described in any one of claims 1 to 5.