Mobile robot path planning method and device

Through adaptive neighborhood search and improved DWA algorithm optimization path planning, the shortcomings of A-star and DWA algorithms in complex scenarios are solved, and efficient and secure navigation of mobile robots in complex environments is achieved.

CN120353232AActive Publication Date: 2025-07-22ZHEJIANG CHAOBO TECHNOLOGY CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202510845636.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-23
Publication Date
2025-07-22
Estimated Expiration
2045-06-23

AI Technical Summary

Technical Problem

In the prior art, the A-star algorithm has poor adaptability in complex scenarios, resulting in low path planning efficiency. The path scientific nature of the DWA algorithm often has problems of passing through obstacles or circling too far, which limits the application and performance improvement of mobile robots.

Method used

Adaptive neighborhood search is adopted to dynamically adjust the search range of the initial center point according to the obstacle distribution, and combined with the improved DWA algorithm, local path planning is optimized through azimuth difference, priming-repulsive force and velocity evaluation functions to ensure the scientificity and efficiency of the path.

Benefits of technology

Improve the efficiency and scientific nature of path planning, and robots can reach targets efficiently and safely in complex environments, reduce collision risks, and improve autonomous navigation performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120353232A_ABST
    Figure CN120353232A_ABST
Patent Text Reader

Abstract

The invention provides a mobile robot path planning method and device. The method provided by the invention comprises the following steps: constructing a map model, taking a starting point as an initial center point, and determining a search range of the initial center point according to an obstacle; deleting sub-nodes coinciding with the previous calculation period from all the sub-nodes of the current calculation period, calculating an evaluation function value of each sub-node in the remaining sub-nodes, and determining the sub-node with the minimum evaluation function value as the optimal sub-node; determining the optimal child node as a new initial center point, and returning to the step of determining the search range according to the obstacle until the initial center point coincides with an end point in the global path; and when the mobile robot advances according to the global path, planning a local path between inflection points in the global path according to the improved DWA algorithm. According to the mobile robot path planning method and device provided by the invention, the mobile robot can be helped to safely, efficiently and accurately move from the starting point to the terminal point.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of mobile robot path planning, and particularly to a mobile robot path planning method and device. Background Art

[0002] Mobile robots are widely used in fields such as logistics, services, and industry. Planning a path is crucial for the movement of mobile robots. Combining the A-star algorithm and the DWA algorithm for path planning is the current conventional path planning method. However, in terms of global path planning, the neighborhood search parameter of the traditional A-star algorithm path planning algorithm is fixed, usually set according to experience, and it is difficult to adaptively select in complex scenarios. Manually setting usually results in the neighborhood search value being too large or too small in the scenario, leading to low path planning efficiency; while the path planned by the DWA algorithm lacks scientificity, often passing through faults or traveling along a longer path to bypass faults, resulting in insufficient scientificity of the mobile robot's movement trajectory and too long planning time, severely restricting the application and performance improvement of mobile robots. There is an urgent need for new path planning methods and devices to solve these problems. Summary of the Invention

[0003] In view of this, this application provides a mobile robot path planning method and device to accurately consider the position of obstacles and more scientifically plan the movement path of the mobile robot.

[0004] Specifically, this application is implemented through the following technical solutions:

[0005] The first aspect of this application provides a mobile robot path planning method, and the method includes:

[0006] Construct a map model, determine the start point and end point positions, use the start point as the initial center point, and determine the search range of the initial center point according to the obstacle positions in the map model. The search range radius corresponding to the initial center point in different calculation cycles is different;

[0007] Traverse all child nodes within the search range, delete the child nodes that overlap with the previous calculation cycle from all child nodes in the current calculation cycle as the remaining child nodes, calculate the evaluation function values of each child node among the remaining child nodes, and determine the child node with the smallest evaluation function value as the optimal child node;

[0008] Determine the optimal child node as the new initial center point, and return to the step of determining the search range of the initial center point according to the obstacles in the map model until the initial center point coincides with the end point in the global path;

[0009] Connect the starting point, each optimal sub-node, and the end point in sequence to obtain a global path, and the mobile robot walks along the global path;

[0010] Obtain the real-time position of the mobile robot walking, determine the inflection point on the global path that is closest to the real-time position as the temporary end point, determine the position information of all obstacles between the real-time position and the temporary end point, adjust the constraint conditions and evaluation function in the DWA algorithm according to the position information of all obstacles and the position of the temporary end point, and use the improved DWA algorithm to plan the local path between the real-time position and the temporary end point. The mobile robot travels along the local path until it reaches the end point.

[0011] The second aspect of the present application provides a mobile robot path planning device, which includes a determination module, a calculation module, and a planning module; among them,

[0012] The determination module is used to construct a map model, determine the starting point and the end point position, use the starting point as the initial center point, and determine the search range of the initial center point according to the obstacle positions in the map model. The search range radii corresponding to the initial center points in different calculation cycles are different;

[0013] The calculation module is used to traverse all sub-nodes within the search range, delete the sub-nodes that coincide with the previous calculation cycle from all sub-nodes in the current calculation cycle as the remaining sub-nodes, calculate the evaluation function values of each sub-node among the remaining sub-nodes, and determine the sub-node with the smallest evaluation function value as the optimal sub-node;

[0014] The calculation module is further used to determine the optimal sub-node as the new initial center point, and return to the step of determining the search range of the initial center point according to the obstacles in the map model until the initial center point coincides with the end point in the global path;

[0015] The planning module is used to connect the starting point, each optimal sub-node, and the end point in sequence to obtain a global path, and the mobile robot walks along the global path;

[0016] The planning module is further used to obtain the real-time position of the mobile robot walking, determine the inflection point on the global path that is closest to the real-time position as the temporary end point, determine the position information of all obstacles between the real-time position and the temporary end point, adjust the constraint conditions and evaluation function in the DWA algorithm according to the position information of all obstacles and the position of the temporary end point, and use the improved DWA algorithm to plan the local path between the real-time position and the temporary end point. The mobile robot travels along the local path until it reaches the end point.

[0017] The mobile robot path planning method and device provided by this application start from the overall goal of improving the efficiency and scientific nature of path planning. Considering that the DWA algorithm will correct it after global path planning to optimize the efficiency of global path planning. On the one hand, an adaptive neighborhood search method is adopted. With the starting point as the initial center point, the search range of each initial center point is dynamically adjusted based on the distribution of obstacles in the map model. The size of the search neighborhood is adaptively determined according to the position of the obstacles based on the environment itself, ensuring that there are no obstacles in the search area of each calculation cycle, that is, without affecting the scientific nature of global path planning, and improving the efficiency of path planning as much as possible in each calculation cycle, avoiding path planning with too small area steps; on the other hand, while expanding the single planning space, the overlapping sub-nodes in the previous calculation cycle are removed, further reducing the calculation amount while ensuring the scientific nature of the global path.

[0018] In addition, on the basis of global path planning, due to the expansion of the search range resulting in insufficient fineness at difficult path planning positions, as a further supplement, the DWA algorithm is used to refine and optimize the local path at the inflection point position. In the case where there are irregularly shaped obstacles and multiple obstacles, the traditional DWA algorithm tends to bypass at the position farthest from the direction of the maximum side length of the distance, that is, using the most prominent position of the obstacle as the preferred position planning point and being far away from all obstacles. This method usually results in a large detour in the planned path. At this time, by adjusting the azimuth difference evaluation function, it can consider the short side of the irregular obstacle, and by adjusting the attraction-repulsion evaluation function, the path planning can implement a path selection scheme that passes through multiple obstacles. By improving the speed evaluation function, the speed without obstacles is further increased, and the safety distance when there are obstacles is increased, enabling the DWA algorithm to safely pass through the path planning scenario of multiple obstacles in a closer and passing-through manner, ensuring that the robot reaches the target end point in an efficient, safe and stable manner, and significantly enhancing the autonomous navigation performance of the mobile robot in complex scenarios. Description of the Drawings

[0019] Figure 1 It is a flowchart of the first embodiment of the mobile robot path planning method provided by this application;

[0020] Figure 2 It is a schematic diagram of the initial search range exemplarily shown by this application;

[0021] Figure 3 It is a schematic diagram of the azimuth difference exemplarily shown by the exemplary embodiment of this application;

[0022] Figure 4Schematic diagram of the first embodiment of the mobile robot path planning device provided by this application. Detailed implementation manners

[0023] Here, exemplary embodiments will be described in detail, and examples thereof are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with this application.

[0024] The terms used in this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The singular forms "a", "the", and "said" used in this application are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more of the associated listed items.

[0025] It should be understood that although terms such as first, second, and third may be used in this application to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of this application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "when" or "while" or "in response to determining".

[0026] The following specific embodiments are given to introduce the technical solutions of this application in detail.

[0027] Figure 1 Flowchart of the first embodiment of the mobile robot path planning method provided by this application. Please refer to Figure 1 , the method provided in this embodiment may include:

[0028] S101. Construct a map model, determine the starting point and the ending point positions, use the starting point as the initial center point, and determine the search range of the initial center point according to the obstacle positions in the map model. The search range radii corresponding to the initial center point in different calculation cycles are different.

[0029] Specifically, the mobile robot path planning method provided in this embodiment is used to plan the moving path of a four-wheel differential mobile robot. The map model refers to the digital representation of the real environment where the mobile robot is located. The shapes and sizes of the obstacles in the real environment will be presented in the map model in corresponding forms. By planning a path in the map model, the mobile robot can move in the real environment along the planned path, avoid colliding with obstacles, and improve the efficiency and success rate of task execution.

[0030] Optionally, the implementation steps of constructing the map model may include:

[0031] (1) Determine the application site range and resolution of the mobile robot;

[0032] Specifically, the application site range refers to the area range of the real environment where the mobile robot is located, and the resolution refers to the actual physical size of each area into which the application site range is divided. The length and width of the application site range can be obtained through actual measurement, and the size of the resolution is set according to actual needs. In this embodiment, it is not limited.

[0033] (2) Divide the application site range into m*n grids according to the resolution;

[0034] Specifically, according to the determined application site range and resolution, use the resolution to divide the application site range into m*n grids, and the size of each grid is the same.

[0035] (3) Obtain the obstacle information within the application site range;

[0036] Specifically, various sensors can be used to obtain the obstacle information in the map environment. Common sensors include lidar, depth cameras, ultrasonic sensors, etc. These sensors can measure the distance from the mobile robot to surrounding objects, thereby determining the position of the obstacles.

[0037] (4) Determine the grids corresponding to the obstacle information, and assign a status value to the grids. The status value is used to indicate that the grid is an obstacle.

[0038] Specifically, map the collected sensor data into the divided grids, and assign a status value to each grid to represent the situation within the grid. If no obstacle is detected in a grid, it is marked as the idle state, usually represented by the numerical value 0. If an obstacle is detected in a grid, it is marked as the obstacle state, usually represented by the numerical value 1. In this way, a map model that can represent the distribution of obstacles in the real environment is constructed.

[0039] Furthermore, a grid in the map model represents a point. Determine the starting and ending position information of the mobile robot according to the task of the mobile robot, and determine the search range for the initial center point based on the distribution of obstacles in the map model. The search range radii corresponding to different initial center points may be different. For example, in an area with dense obstacles, the search range radius may be smaller; while in an open area, the search range radius may be larger. This is done to more efficiently avoid obstacles when searching for a path.

[0040] Further, the implementation steps for determining the search range of the initial center point include:

[0041] (1) Determine the basic neighborhood. With the initial center point as the center, the basic neighborhood is used as the initial search range with a certain size.

[0042] Specifically, the basic neighborhood is a pre-set regional range with a fixed size. In a possible implementation, the basic neighborhood can be set as the range of 3×3 grids around the current point. Taking the initial center point as the center and using the size of the basic neighborhood as the initial search range is equivalent to delimiting a preliminary "exploration area" for path search. Subsequent child node searches will start within this range.

[0043] (2) Determine the new size unit. Expand the outer side of the initial search range by the range of the new size unit to define the candidate search range.

[0044] Specifically, the new size unit refers to a pre-determined incremental value with a fixed size used to expand the search range. Expanding the outer side of the initial search range by the range of the new size unit, the resulting new range is the candidate search range. The candidate search range can be regarded as a "to-be-explored area" further expanded on the basis of the initial search range.

[0045] (3) Determine whether there are obstacles in the non-overlapping range between the initial search range and the candidate search range, and adjust the initial search range according to the judgment result.

[0046] Specifically, check whether there are obstacles in the non-overlapping part (i.e., the newly added area) between the initial search range and the candidate search range, which can be achieved through the obstacle information recorded in the map model. For example, in the map model, if the value of a certain grid indicates that there is an obstacle at that position, it can be judged that there is an obstacle in this area.

[0047] Further, the implementation steps for adjusting the initial search range according to the judgment result include:

[0048] 3.1 If the judgment result is that there are no obstacles, use the vertical distance from the obstacle to the initial search range as the new size unit to adjust the initial search range.

[0049] Specifically, if the result of the judgment is that there is no obstacle in the non-overlapping range, it means that the search range can continue to be expanded outward. At this time, it is necessary to measure the vertical distance of the obstacle from the initial search range. The vertical distance refers to the shortest vertical distance from the boundary of the initial search range to the nearest obstacle. For example, in a two-dimensional grid map, if the initial search range is a rectangular area, then measure the shortest vertical distance from the boundary of the rectangle to the grid where the nearest obstacle is located, and use the measured vertical distance as the newly added size unit. Based on the initial search range, expand the range of the newly added size unit outward, that is, use the candidate search range as the new search range to search for nodes.

[0050] Optionally, in a possible implementation, Figure 2 For an example of the initial search range shown in this application, please refer to Figure 2 , Figure 2 The yellow grid shown in the figure is the starting point, the area formed by the green grid is the initial search area, and the gray grid is the obstacle. When it is judged that there is no obstacle, the shortest distance between the green grid and the obstacle is measured, and the shortest distance is used as a new size unit to adjust the initial search range.

[0051] 3.1. If the judgment result is that there is an obstacle, the initial search range is used as the search range.

[0052] Specifically, if the judgment result is that there are obstacles in the non-overlapping range, it means that continuing to expand the search range outward may encounter obstacles, which is not conducive to path planning. At this time, the current initial search range is kept unchanged and the search range is not further expanded to avoid searching for infeasible path points. In this case, the initial search range is used as the search range for node search.

[0053] Furthermore, the traditional A-star algorithm usually uses an adjacent 8-node search, that is, when the traditional A-star algorithm searches for nodes between the starting point and the end point, it usually only uses a fixed search range for the search. This will result in the traditional A-star algorithm being able to only perceive the obstacle situation within the search range, and having poor perception of the overall obstacle situation. The area beyond the search range is equivalent to a black box for the mobile robot, which can only determine the node based on the obstacle information within the search range, and cannot perceive the obstacle distribution outside the search range. The present application adaptively determines the node search range based on the obstacle position, thereby realizing obstacle perception and deeper node search.

[0054] S102. Traverse all child nodes within the search range, delete the child nodes that overlap with the previous calculation cycle from all child nodes in the current calculation cycle as the remaining child nodes, calculate the evaluation function values of each child node among the remaining child nodes, and determine the child node with the minimum evaluation function value as the optimal child node.

[0055] Specifically, in combination with the above description, a grid in the map model represents a node. The current calculation cycle refers to the complete process starting from a certain point as the initial center point until the optimal child node within the cycle is determined. In each calculation cycle, steps of determining the search range of the initial center point, searching for child nodes according to the search range, and calculating and determining the optimal child node from multiple child nodes are performed. When these steps are completed, a calculation cycle ends. Then, the optimal child node is used as the new initial center point to enter the next calculation cycle, repeating the above operations until the initial center point coincides with the end point in the global path.

[0056] Furthermore, deleting the child nodes that overlap with the previous calculation cycle from all child nodes in the current calculation cycle to obtain the remaining child nodes can avoid repeated calculations and improve the efficiency of path planning. Using the evaluation function to calculate the evaluation function values of the remaining child nodes and determining the child node with the minimum evaluation function value as the optimal child node means that this child node is the most suitable choice as the next step of the path within the current search range.

[0057] Furthermore, the evaluation function value of a child node can be calculated through the following formula:

[0058] ;

[0059] where is the x-axis coordinate value of the child node;

[0060] is the y-axis coordinate value of the child node;

[0061] is the x-axis coordinate value of the starting point;

[0062] is the y-axis coordinate value of the starting point;

[0063] is the x-axis coordinate value of the end point;

[0064] is the y-axis coordinate value of the end point.

[0065] By calculating the straight-line distance between the child node and the starting point in the plane rectangular coordinate system and the straight-line distance between the child node and the end point, summing up the straight-line distances between the child node and the starting point and the end point, and using the sum value as the evaluation function value of the child node.

[0066] S103. Determine the optimal sub-node as the new initial center point, and return to the step of determining the search range of the initial center point according to the obstacles in the map model until the initial center point coincides with the end point in the global path.

[0067] Specifically, take the searched optimal sub-node as the initial center point, and repeat the above steps of determining the search range, screening sub-nodes, and determining the optimal sub-node until the initial center point coincides with the end point in the global path. For the steps of confirming the search range, screening sub-nodes, and determining the optimal sub-node, please refer to the above description and will not be elaborated here.

[0068] S104. Connect the start point, each optimal sub-node, and the end point in sequence to obtain the global path, and the mobile robot walks according to the global path.

[0069] Specifically, connect the start point, each optimal sub-node, and the end point in sequence to obtain a global path from the start point to the end point. The mobile robot will walk according to this global path.

[0070] S105. Obtain the real-time position of the mobile robot walking, determine the inflection point on the global path that is closest to the real-time position as the temporary end point, determine the position information of all obstacles between the real-time position and the temporary end point, adjust the constraint conditions and evaluation function in the DWA algorithm according to the position information of all obstacles and the position of the temporary end point, use the improved DWA algorithm to plan the local path between the real-time position and the temporary end point, and the mobile robot travels according to the local path until the mobile robot reaches the end point.

[0071] Specifically, the DWA (Dynamic Window Approach) algorithm is a local path planning algorithm based on a dynamic window. The improved DWA algorithm is based on improving the DWA algorithm and can more accurately plan the local path. When the mobile robot walks in the global path, the obstacles in the global path are not static, and there may be some unpredictable obstacles. At this time, it is necessary to use the improved DWA algorithm to plan the local path of the mobile robot during the walking process. The improved DWA algorithm more precisely plans the local path by improving the evaluation function. The improved evaluation function includes the azimuth difference function, the attraction-repulsion force function, and the speed function. Among them, the azimuth difference function is used to measure the difference between the current direction of the robot and the target direction; the attraction-repulsion force function takes into account the attraction of the target point and the repulsion of the obstacle; the speed function is related to the movement speed of the robot.

[0072] Furthermore, an inflection point refers to a point where the direction changes on the global path. When the mobile robot travels along the global path, due to the dynamic changes in the environment and the need for obstacle avoidance, the local path needs to be continuously adjusted. At this time, the inflection point on the global path that is closest to the real-time position of the robot is selected as the temporary end point. The robot plans the local path with the current real-time position as the starting point and this inflection point as the temporary end point according to the improved DWA algorithm, enabling the robot to flexibly respond to local environmental changes, effectively avoid dynamic obstacles, and travel along a reasonable local path towards the temporary end point. It can be understood that the global path is divided into multiple path segments by multiple inflection points, and the improved DWA algorithm performs local planning on each of the multiple path segments respectively, thereby effectively avoiding dynamic obstacles and optimizing the movement path of the mobile robot.

[0073] Furthermore, the implementation steps for planning the local path according to the improved DWA algorithm include:

[0074] (1) Determine the speed range within the sampling time interval according to the current speed and kinematic constraints of the mobile robot to form a dynamic window;

[0075] Specifically, during the movement of the mobile robot, its actual traveling speed includes the linear speed and the angular speed. The linear speed (the straight-line distance moved per unit time) and the angular speed (the angle rotated per unit time) are restricted by its own physical properties and the environment. According to the current speed and kinematic constraints of the mobile robot, where the kinematic constraints refer to the physical limitation conditions for the mobile robot, including the maximum and minimum speeds determined by the motor performance and the acceleration and deceleration limitations. Since the kinematic constraints limit the speed limit of the robot, the feasible ranges of its linear speed and angular speed within the sampling time interval can be determined, constituting the speed range of the mobile robot. The area formed by this speed range is the dynamic window, and the dynamic window defines the possible speed combination range for the mobile robot at the next moment in the current state. The role of the dynamic window is to limit the speed combinations that the robot can select at each sampling moment, ensuring that the movement of the robot is physically feasible and safe.

[0076] (2) Perform speed sampling based on the dynamic window, and simulate the movement trajectory of the mobile robot within the sampling time interval according to each sampled speed combination;

[0077] Specifically, speed sampling is performed within the linear speed and angular speed ranges determined by the dynamic window. Each sampled speed combination refers to selecting a value v from the determined linear speed range and a value ω from the angular speed range. Such a pair of values (v, ω) constitutes a speed combination.

[0078] Furthermore, a dynamic model of the mobile robot can be established using a four-wheel differential model. For the motion state of the mobile robot, speed and angular velocity are selected to characterize it, and the position state is characterized by coordinates and direction. For each sampled speed combination, the dynamic model of the mobile robot is used to simulate the motion trajectory of the robot within the sampling time interval. Assuming that the sampling time interval is 1 second, according to the kinematic model calculation, the robot starts from the current position and moves with a certain speed combination, and reaches a new position after 1 second. By continuously repeating this calculation process, a series of position points can be obtained, and these points connected together form a motion trajectory. By simulating the motion trajectories under different speed combinations, it can provide a basis for selecting the optimal path in the follow-up.

[0079] (3) Calculate the DWA evaluation function value of each motion trajectory, where the DWA evaluation function value includes azimuth deviation, obstacle avoidance distance, and motion state;

[0080] Specifically, for each motion trajectory obtained by simulation, calculate its DWA evaluation function value. The DWA evaluation function value comprehensively considers several important factors such as azimuth deviation, obstacle avoidance distance, and motion state. The azimuth deviation is used to measure the degree of difference between the target direction of the motion trajectory and the direction from the current position of the robot to the end target, and the smaller the difference, the better; the obstacle avoidance distance represents the distance between the motion trajectory and the surrounding obstacles, and the larger the distance, the better the obstacle avoidance effect; the motion state can be considered from aspects such as the rationality of the speed, for example, whether the speed is stable and whether it conforms to the motion ability of the robot.

[0081] Furthermore, the DWA evaluation function can be expressed by the following formula:

[0082] ;

[0083] Where is the azimuth difference evaluation function;

[0084] is the attractive-repulsive force evaluation function;

[0085] is the speed evaluation function;

[0086] 、 、 are the weights corresponding to each function respectively.

[0087] (4) Take the speed combination corresponding to the motion trajectory with the largest DWA evaluation function value as the control speed of the mobile robot at the next moment, and update the motion state and trajectory of the mobile robot;

[0088] Specifically, compare the DWA evaluation function values of all motion trajectories, and select the speed combination corresponding to the motion trajectory with the largest DWA evaluation function value as the control speed of the mobile robot at the next moment. Then, update the motion state and trajectory of the mobile robot according to this control speed, including information such as position and speed. For example, if the current position of the robot is, and this speed combination is used as the control speed, after a time Δt, the motion state of the new position can be updated according to the corresponding kinematic formula.

[0089] (5) After updating the motion state and trajectory of the mobile robot, return to the step of performing speed sampling based on the dynamic window until the mobile robot reaches the end point and stops.

[0090] Specifically, re-perform speed sampling according to the updated motion state to obtain new multiple motion trajectories, calculate the DWA evaluation function values of these motion trajectories again, and then select the optimal speed combination and update the motion state. Continuously repeat this process until the mobile robot reaches the end point and stops.

[0091] Furthermore, adjust the constraint conditions and evaluation function in the DWA algorithm according to all obstacle position information and the position of the temporary end point; including:

[0092] (1) Calculate the first angle between the traveling direction of the current trajectory of the mobile robot and the temporary end point, and the second angle between the traveling direction of the alternative trajectory and the temporary end point;

[0093] Specifically, Figure 3 is a schematic diagram of the azimuth difference shown in the exemplary embodiment of the present application. Please refer to Figure 3 , Figure 3 shows two alternative trajectories obtained by DWA planning when the mobile robot is at the current position. The first angle between the traveling direction of the current trajectory of the mobile robot and the temporary end point refers to the angle between the vector pointing from the current position of the mobile robot to the temporary end point and the vector of the traveling direction of the robot's current trajectory (i.e., ), and the second angle between the traveling direction of the alternative trajectory and the temporary end point refers to the angle between the vector pointing from a certain alternative trajectory to be evaluated to the temporary end point and the vector of the traveling direction of the robot according to the alternative trajectory (i.e., or ). The first angle and the second angle can be calculated through trigonometric function relationships.

[0094] (2) Calculate the angle difference according to the first angle and the second angle, and take the minimum of the angle differences as the evaluation target of the azimuth difference evaluation function.

[0095] Specifically, calculate the angular difference between the first angle and the second angle. The angular difference reflects the degree of deviation of each trajectory position relative to the current position of the robot in the direction pointing to the end point. Please refer to Figure 3 , Figure 3 in which the second angle of trajectory 1 shown is , and the second angle of trajectory 2 is . Calculate the angular difference between the first angle and trajectory 1 and the angular difference between the first angle and trajectory 2 respectively, and compare the magnitudes of the two angular differences. Make the mobile robot select the mobile trajectory with the smallest angular difference as the moving trajectory, because the smaller the angular difference, the closer the direction of the trajectory is to the direction directly pointing from the current position of the robot to the end point, which means that choosing this trajectory can make the robot move more directly towards the end point and is a better choice in path planning.

[0096] Furthermore, by calculating the angular difference and taking its minimum as the evaluation objective of the azimuth difference evaluation function, the robot can preferentially select a trajectory closer to the direction directly pointing to the temporary end point when planning the path. In a complex obstacle environment or when the temporary end point is blocked by obstacles, the trajectory with a small angular difference usually does not cause the mobile robot to penetrate deep into the dense obstacle area, but moves along a relatively open and safe direction; if a trajectory with a large angular difference is selected, the mobile robot may move in a direction deviating from the temporary end point and approaching the obstacle, increasing the collision risk; while the trajectory with a small angular difference can enable the robot to effectively avoid obstacles while approaching the end point, ensuring its own safety, thereby avoiding the dilemma of the mobile robot being surrounded by obstacles.

[0097] Furthermore, the implementation steps of determining the moving trajectory of the local path according to the attraction-repulsion force evaluation function include:

[0098] (1) Calculate the attraction force values of multiple moving trajectories of the mobile robot according to the attraction force evaluation function;

[0099] Specifically, the attraction force function is used to measure the degree of attraction of the end point target to the mobile robot.

[0100] The attraction force function can be expressed by the following formula:

[0101] ;

[0102] Among them, is the attraction force adjustment parameter;

[0103] is the distance between the mobile robot and the end point target.

[0104] (2) Calculate the repulsion force values of multiple moving trajectories of the mobile robot according to the repulsion force function;

[0105] Specifically, the implementation steps for calculating the repulsive force values of multiple movement trajectories of the mobile robot according to the repulsive force function include:

[0106] 2.1. Calculate the distance traveled by the mobile robot after calculating the acquisition time interval;

[0107] Specifically, within the sampling time interval, according to the current speed (linear speed v) of the mobile robot, use the formula d = v×Δt to calculate the distance d it travels, where Δt is the acquisition time interval. This step is to prepare for determining the scanning area range later, because it is necessary to know the position range that the robot may reach during this period, so as to determine the spatial area to be scanned to detect surrounding obstacles.

[0108] 2.2. With the current position as the radiation center, scan the spatial area according to the preset radiation radius, and calculate the repulsive force of the current position;

[0109] Specifically, with the current position of the mobile robot as the radiation center, scan the spatial area according to the preset radiation radius. It should be noted that the value of the radiation radius is set according to actual needs and is not limited in this embodiment.

[0110] Further, the repulsive force function can be expressed by the following formula:

[0111] ;

[0112] Wherein, is the repulsive force adjustment parameter;

[0113] is the distance between the mobile robot and the obstacle;

[0114] is the magnitude of the speed of the current position of the mobile robot.

[0115] Calculate the repulsive force of the current position through the repulsive force function.

[0116] 2.3. Mark the scanned obstacles, calculate the third distance between the obstacle and the current position, and calculate the repulsive force at the position of the obstacle;

[0117] Specifically, within the scanned area, mark all detected obstacles. For each marked obstacle, calculate its third distance from the current position of the mobile robot, and then calculate the repulsive force at the position of the obstacle according to the repulsive force function. In this way, the magnitude of the repulsive force generated by each obstacle on the current position of the robot can be obtained.

[0118] 2.4. Screen the target obstacles according to the repulsive force at the position of the obstacle;

[0119] Specifically, compare the repulsive force of each calculated obstacle with the repulsive force at the current position, and select the obstacles with the largest repulsive force as the target obstacles. These target obstacles are the obstacles that have a greater impact on the movement of the robot and need to be considered key for avoidance.

[0120] 2.5. For each target obstacle, calculate the distance from all trajectories to the target obstacle. If the distance is less than the preset safety distance, discard the trajectory to obtain a set of target trajectories.

[0121] Specifically, for each target obstacle, calculate the distance from all movement trajectories to the target obstacle, and discard the trajectories with a distance less than the preset safety distance, because the trajectory is too close to the obstacle, which may lead to a collision risk. After screening, a set of target trajectories that meet the safety distance requirements is obtained. It should be noted that the size of the safety distance is set according to actual needs and is not limited in this embodiment.

[0122] 2.6. Calculate the repulsive force of the target trajectory to the target obstacle, calculate the sum of the repulsive forces of all target obstacles on the same trajectory, and determine the sum of the repulsive forces as the repulsive force value of the movement trajectory.

[0123] Specifically, for each trajectory in the set of target trajectories, calculate the repulsive force of the trajectory to each target obstacle, and then add up the repulsive forces of all target obstacles on the same trajectory to obtain the sum of the repulsive forces. This sum of the repulsive forces is the repulsive force value of the movement trajectory. By comparing the repulsive force values of different movement trajectories, the ability of each trajectory to avoid obstacles can be evaluated. The smaller the repulsive force value of a trajectory, the less affected it is by obstacles and the more conducive it is to the safe passage of the robot.

[0124] (3) For multiple movement trajectories of the mobile robot, calculate the weighted value of its gravitational force value and repulsive force value, and take the maximum weighted value as the evaluation target of the attraction-repulsion force evaluation function.

[0125] Specifically, the weighted value can be calculated by the following formula:

[0126] ;

[0127] Where is the weight of the gravitational force value;

[0128] is the gravitational force value;

[0129] is the weight of the repulsive force value;

[0130] is the repulsive force value.

[0131] It should be noted that the weights corresponding to the gravitational value and the repulsive value are set according to actual needs. In this embodiment, they are not limited. For example, in one embodiment, there are many obstacles in the map model, and it is necessary to control the mobile robot to avoid obstacles, so the weight of the repulsive value can be increased; in another embodiment, the map model is an open area with fewer obstacles. At this time, the weight of the gravitational value can be increased so that the mobile robot can reach the end point faster.

[0132] Specifically, the repulsive evaluation function enables the mobile robot to consider the influence of obstacles during path planning. When the robot approaches an obstacle, the repulsive value will increase. By calculating the repulsive values of multiple movement trajectories and incorporating them into the attraction-repulsion evaluation function, the robot will tend to select the trajectory with a smaller repulsive value; the attraction evaluation function reflects the attraction of the end point to the mobile robot. By calculating the attraction values of multiple movement trajectories, the mobile robot will tend to select the trajectory with a larger attraction value because the larger the attraction value means the closer the trajectory is to the end point. The attraction-repulsion evaluation function comprehensively considers the weighted values of the attraction value and the repulsive value, enabling the robot to avoid obstacles while not deviating too much from the target direction. In this way, when the mobile robot needs to avoid obstacles, it will not choose an overly long path due to excessive obstacle avoidance. By adjusting the weights of the attraction value and the repulsive value, a suitable balance point can be found between obstacle avoidance and approaching the target, enabling the mobile robot to select a path that can both avoid obstacles and reach the end point fastest from among many possible trajectories, thus achieving effective obstacle avoidance and optimizing the path length in a complex environment.

[0133] Furthermore, the implementation steps for confirming the movement trajectory of the local path according to the speed evaluation function include:

[0134] (1) Determine the safety distance according to the obstacle closest to the current position;

[0135] Specifically, the safety distance is a key parameter to ensure a safe interval between the mobile robot and obstacles. Its determination needs to consider factors such as the robot's own size, motion performance, and obstacle characteristics. For example, if the robot is large in size and fast in speed, or the obstacle is sharp and dangerous, the safety distance should be increased; otherwise, it can be appropriately reduced. This distance provides a safety benchmark for subsequent planning to prevent the robot from colliding with obstacles during operation. The safety distance can be determined by identifying the characteristics of the obstacles. For example, for sharp obstacles such as metal corners and protruding nails, a larger safety distance needs to be set because they may cause serious damage to the robot; while for soft obstacles such as foam and plastic films, the safety distance can be appropriately reduced on the premise of ensuring that they will not damage the key components of the robot; also, for unstable obstacles such as shaking objects and possibly collapsing shelves, the safety distance should be increased to prevent their sudden movement or collapse from affecting the robot; for stable obstacles such as fixed walls and large machinery and equipment, the safety distance can be relatively smaller.

[0136] (2) Calculate the sum of the safety distance and the distance from the current position to the nearest obstacle as the deceleration constraint distance;

[0137] Specifically, the distance from the current position to the nearest obstacle can be calculated by the formula for the straight-line distance in the coordinate system, and then added to the safety distance. The sum value is used as the deceleration constraint distance, which can allow the robot to prepare for deceleration in advance. If the distance of the robot approaching the obstacle is close to or reaches the deceleration constraint distance, it is necessary to decelerate to avoid being unable to avoid the obstacle in time due to too high a speed.

[0138] (3) Calculate the product of the deceleration constraint distance and the maximum deceleration and the maximum deceleration angular velocity, and obtain the obstacle deceleration constraint according to the product;

[0139] (4) Determine the constraint trigger distance;

[0140] Specifically, the maximum deceleration and the maximum deceleration angular velocity determine the deceleration ability of the mobile robot. Multiply the deceleration constraint distance by these two parameters to obtain the obstacle deceleration constraint, which can clarify the speed limit that the robot should follow when approaching the obstacle, ensure that there is enough time and space to decelerate outside the safety distance, and prevent collisions.

[0141] Furthermore, the constraint trigger distance is used to define when the robot starts the response mechanism to the obstacle. It is usually greater than the deceleration constraint distance and is the range of the robot's early warning. Once it is detected that the obstacle is within the constraint trigger distance, the robot starts to pay attention to the obstacle and prepares for subsequent possible deceleration operations. The setting of this distance is based on the sensor detection range, reaction time, and motion performance of the robot to ensure that the robot has sufficient time to respond.

[0142] (5) Determine whether there is an obstacle within the range of the distance from the current position to the constraint departure distance;

[0143] Specifically, the surrounding environment can be continuously scanned by means of sensors to determine whether there is an obstacle within the constraint trigger distance. Sensors such as lidar and ultrasonic sensors can obtain environmental information in real time. If no detection is made, the robot operates according to the original plan.

[0144] (6) If there is one, delete the obstacle deceleration constraint from the constraint conditions in the DWA algorithm.

[0145] Specifically, when there is an obstacle within the range of the distance from the current position to the constraint departure distance, at close range, the original deceleration constraint based on long-distance planning may no longer be applicable. The robot requires a more flexible control strategy, relying on other constraint conditions and algorithms to quickly avoid obstacles, preventing it from getting stuck due to following the original deceleration constraint, and ensuring that the robot can quickly respond and operate safely in a complex environment.

[0146] The mobile robot path planning method provided in this embodiment improves the A-star algorithm to plan the global path. When the mobile robot travels along the planned global path, the improved DWA algorithm is used to plan the local path of the mobile robot in real time, achieving effective obstacle avoidance and path length optimization. In the first aspect, taking the starting point of the mobile robot as the initial center point, the search range of different initial center points is dynamically determined according to the obstacle distribution in the map model. While ensuring that there are no obstacles within the calculation period, it expands the perception ability of the surrounding environment, provides more path trajectory options, can improve the algorithm from falling into local optimality or oscillating cycles, enables the mobile robot to have an overall understanding of the obstacles in the environment macroscopically, can avoid large-area and fixed obstacle areas, and plan a relatively safe general route, so that the mobile robot can stay away from possible collision risks at the initial stage. Further, the global path planning determines the general direction of the mobile robot from the starting point to the end point, provides an overall path framework for the mobile robot, which connects the starting point, each optimal sub-node and the end point, enables the mobile robot to have a clear traveling direction, avoids blind movement in complex environments, saves the path search time, and realizes the optimization of shortening the node search time and reducing the path in the global path planning; In the second aspect, according to the real-time position of the mobile robot and each inflection point in the global path, the inflection point is determined as the temporary end point on the local path, and the improved DWA algorithm including the azimuth difference evaluation function, the attraction-repulsion force evaluation function and the speed evaluation function is used to plan the local path, enabling the mobile robot to quickly pass through areas without obstacles or with fewer obstacles. In areas with more obstacles, the mobile robot can, under the action of the evaluation function, plan a trajectory with a shorter path and higher obstacle avoidance efficiency. At the same time, when facing suddenly emerging obstacles, it can quickly find the optimal path to bypass the obstacles and reduce path detours. The collaborative work of the global path planning and the local path planning realizes the comprehensive path planning from macro to micro. Under different environmental conditions, the two cooperate with each other, which can not only ensure that the mobile robot successfully avoids obstacles, but also ensure the efficiency of the path. The global path planning provides the first layer of guarantee, enabling the mobile robot to avoid the main obstacles as a whole; the local path planning serves as the second layer of guarantee, and in real time processes the sudden obstacles that are not foreseen in the global planning during the movement of the mobile robot. It reduces the collision risk of the robot in complex environments, improves the running safety, and further enhances the path planning ability and execution efficiency of the mobile robot in various scenarios.

[0147] Corresponding to the foregoing embodiment of a mobile robot path planning method, the present application also provides an embodiment of a mobile robot path planning device.

[0148] Figure 4 It is a schematic structural diagram of the first embodiment of the mobile robot path planning device provided in the present application. Please refer toFigure 4 , the device provided in this embodiment includes a determination module 410, a calculation module 420, and a planning module 430; where

[0149] The determination module 410 is configured to construct a map model, determine the starting point and the ending point positions, use the starting point as the initial center point, and determine the search range of the initial center point according to the obstacle positions in the map model. The search range radii corresponding to the initial center points in different calculation cycles are different;

[0150] The calculation module 420 is configured to traverse all child nodes within the search range, delete the child nodes that coincide with the previous calculation cycle from all child nodes in the current calculation cycle as the remaining child nodes, calculate the evaluation function values of each of the remaining child nodes, and determine the child node with the minimum evaluation function value as the optimal child node;

[0151] The calculation module 420 is further configured to determine the optimal child node as the new initial center point, and return to the step of determining the search range of the initial center point according to the obstacles in the map model until the initial center point coincides with the ending point in the global path;

[0152] The planning module 430 is configured to sequentially connect the starting point, each optimal child node, and the ending point to obtain a global path, and the mobile robot walks according to the global path;

[0153] The planning module 430 is further configured to obtain the real-time position of the mobile robot walking, determine the inflection point on the global path that is closest to the real-time position as the temporary ending point, determine the position information of all obstacles between the real-time position and the temporary ending point, adjust the constraint conditions and the evaluation function in the DWA algorithm according to the position information of all obstacles and the position of the temporary ending point, and use the improved DWA algorithm to plan the local path between the real-time position and the temporary ending point. The mobile robot travels according to the local path until the mobile robot reaches the ending point.

[0154] The device in this embodiment can be used to execute Figure 1 the steps of the method embodiment shown. The specific implementation principle and process are similar and will not be elaborated here.

[0155] For the specific implementation process of the functions and roles of each unit in the above device, please refer to the implementation process of the corresponding steps in the above method, which will not be elaborated here.

[0156] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to the descriptions of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this application. Those of ordinary skill in the art can understand and implement it without creative efforts.

[0157] The above are only the preferred embodiments of this application and are not intended to limit this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of this application shall be included within the scope of protection of this application.

Claims

1. A path planning method for a mobile robot, characterized in that, The method includes: Constructing a map model, determining the starting point and the ending point positions, taking the starting point as the initial center point, and determining the search range of the initial center point according to the obstacle positions in the map model, where the search range radius corresponding to the initial center point in different calculation cycles is different; Traversing all child nodes within the search range, deleting the child nodes that coincide with the previous calculation cycle from all child nodes in the current calculation cycle as the remaining child nodes, calculating the evaluation function values of each of the remaining child nodes, and determining the child node with the minimum evaluation function value as the optimal child node; Determining the optimal child node as the new initial center point, and returning to the step of determining the search range of the initial center point according to the obstacles in the map model until the initial center point coincides with the ending point in the global path; Sequentially connecting the starting point, each optimal child node and the ending point to obtain a global path, and the mobile robot walks along the global path; Obtaining the real-time position of the mobile robot walking, determining the inflection point on the global path that is closest to the real-time position as the temporary ending point, determining all obstacle position information between the real-time position and the temporary ending point, adjusting the constraint conditions and the evaluation function in the DWA algorithm according to all the obstacle position information and the position of the temporary ending point, and using the improved DWA algorithm to plan the local path between the real-time position and the temporary ending point, and the mobile robot travels along the local path until the mobile robot reaches the ending point.

2. The method according to claim 1, wherein The determining the search range of the initial center point; includes: Determining a basic neighborhood, and taking the initial search range with the basic neighborhood as the size centered on the initial center point; Determining an additional size unit, and setting the range obtained by expanding the outside of the initial search range by the additional size unit as the candidate search range; Judging whether there are obstacles in the non-coincident range between the initial search range and the candidate search range, and adjusting the initial search range according to the judgment result.

3. The method according to claim 2, characterized in that, The adjusting the initial search range according to the judgment result; includes: If the judgment result is that there are no obstacles, taking the vertical distance between the obstacle and the initial search range as the additional size unit to adjust the initial search range; If the judgment result is that there are obstacles, then taking the initial search range as the search range.

4. The method according to claim 1, wherein The using the improved DWA algorithm to plan the local path between the real-time position and the temporary ending point; includes: Determining the speed range within the sampling time interval according to the current speed and the kinematic constraints of the mobile robot to form a dynamic window; Performing speed sampling based on the dynamic window, and simulating the motion trajectory of the mobile robot within the sampling time interval according to each sampled speed combination; Calculating the DWA evaluation function value of each motion trajectory, where the DWA evaluation function value includes azimuth deviation, obstacle avoidance distance and motion state; Take the speed combination corresponding to the motion trajectory with the largest DWA evaluation function value as the control speed of the mobile robot at the next moment, and update the motion state and trajectory of the mobile robot; After updating the motion state and trajectory of the mobile robot, return to the step of speed sampling based on the dynamic window until the mobile robot reaches the end point and stops.

5. The method according to claim 1, wherein Adjust the constraint conditions and evaluation function in the DWA algorithm according to all the obstacle position information and the position of the temporary end point; including: Calculate the first angle between the current trajectory traveling direction of the mobile robot and the temporary end point, and the second angle between the alternative trajectory traveling direction and the temporary end point; Calculate the angle difference according to the first angle and the second angle, and take the minimum of the angle differences as the evaluation target of the azimuth difference evaluation function.

6. The method according to claim 1, wherein Adjust the constraint conditions and evaluation function in the DWA algorithm according to all the obstacle position information and the position of the temporary end point; including: Calculate the gravitational values of multiple motion trajectories of the mobile robot according to the gravitational function; Calculate the repulsive values of multiple motion trajectories of the mobile robot according to the repulsive function; For multiple motion trajectories of the mobile robot, calculate the weighted values of their gravitational values and repulsive values, and take the maximum of the weighted values as the evaluation target of the gravitational-repulsive force evaluation function.

7. The method according to claim 6, characterized in that, The calculating the repulsive values of multiple motion trajectories of the mobile robot according to the repulsive function; including: Calculate the distance traveled by the mobile robot after the acquisition time interval; Take the current position as the radiation center, scan the spatial area according to the preset radiation radius, and calculate the repulsive force at the current position; Mark the scanned obstacles, calculate the third distance between the obstacle and the current position, and calculate the repulsive force at the obstacle position; Screen the target obstacles according to the repulsive force at the obstacle position; For each target obstacle, calculate the distance from all trajectories to the target obstacle. If the distance is less than the preset safety distance, discard the trajectory to obtain a set of target trajectories; Calculate the repulsive force from the target trajectory to the target obstacle, calculate the sum of the repulsive forces of all target obstacles on the same trajectory, and determine the sum of the repulsive forces as the repulsive value of the motion trajectory.

8. The method according to claim 1, characterized in that, The constructing the map model; including: Determine the application site range and resolution of the mobile robot; Divide the application site range into m*n grids according to the resolution; Obtain the obstacle information within the application site range; Determine the grids corresponding to the obstacle information, and assign a state value to the grids. The state value is used to indicate that the grid is an obstacle.

9. The method according to claim 1, wherein Adjust the constraint conditions and evaluation function in the DWA algorithm according to all the obstacle position information and the position of the temporary end point, including: Determine the safety distance according to the obstacle closest to the current position; Calculate the sum value of the safety distance and the distance from the current position to the closest obstacle as the deceleration constraint distance; Calculate the product of the deceleration constraint distance and the maximum deceleration and the maximum deceleration angular velocity, and obtain the obstacle deceleration constraint according to the product; Determine the constraint trigger distance; Determine whether there is an obstacle within the range of the departure distance constrained by the current position; If there is, delete the obstacle deceleration constraint from the constraint conditions in the DWA algorithm.

10. A mobile robot path planning device, characterized in that, The device includes a determination module, a calculation module, and a planning module; wherein, The determination module is used to construct a map model, determine the starting point and the ending point positions, use the starting point as the initial center point, and determine the search range of the initial center point according to the obstacle positions in the map model. The search range radii corresponding to the initial center points in different calculation cycles are different; The calculation module is used to traverse all child nodes within the search range, delete the child nodes that coincide with the previous calculation cycle from all child nodes in the current calculation cycle as the remaining child nodes, calculate the evaluation function values of each of the remaining child nodes, and determine the child node with the smallest evaluation function value as the optimal child node; The calculation module is further used to determine the optimal child node as the new initial center point, and return to the step of determining the search range of the initial center point according to the obstacles in the map model until the initial center point coincides with the ending point in the global path; The planning module is used to sequentially connect the starting point, each optimal child node, and the ending point to obtain a global path, and the mobile robot walks according to the global path; The planning module is further used to obtain the real-time position of the mobile robot walking, determine the inflection point on the global path that is closest to the real-time position as the temporary ending point, determine all obstacle position information between the real-time position and the temporary ending point, adjust the constraint conditions and the evaluation function in the DWA algorithm according to the all obstacle position information and the position of the temporary ending point, and use the improved DWA algorithm to plan the local path between the real-time position and the temporary ending point. The mobile robot travels according to the local path until the mobile robot reaches the ending point.

Citation Information

Patent Citations

  • Mobile robot intelligent path planning method

    CN112631294A

  • Autonomous vehicle path planning method based on improved Astar and DWA fusion algorithm

    CN116429144A

  • Unmanned ship path planning method based on improved A* and DWA fusion

    CN116952239A

  • Unmanned vehicle mixed trajectory planning method based on trajectory smoothing optimization

    CN117249842A

  • Mobile robot dynamic path planning method based on improved DWA and PRM algorithms

    CN117804476A