Improved RRT mobile robot path planning method and related device

By adopting a sampling strategy with target deviation and determining nodes in RRT mobile robot path planning, the problem of traditional RRT lacks goal orientation is solved, and more accurate and efficient path planning is achieved.

CN119779324APending Publication Date: 2025-04-08CHONGQING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411638414.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-17
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

Traditional RRT lacks goal orientation during the sampling process, resulting in large quantities of sampling being unable to help find paths and failing to achieve more accurate and efficient RRT mobile robot path planning.

Method used

A sampling strategy with target deviation is adopted to perform random sampling in the environment, and by traversing existing nodes in the exploration tree, the distance from the random point to the existing nodes is calculated, and the expansion node is determined, thereby determining the exploration path and optimizing the path to meet the robot kinematic constraints.

Benefits of technology

It effectively improves the accuracy of the robot path planning process and achieves more accurate and efficient RRT mobile robot path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119779324A_ABST
    Figure CN119779324A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data processing, and discloses an improved RRT mobile robot path planning method and related device.The method comprises the steps that the initial position of a robot is obtained to serve as an exploration tree path starting point, and the position of a target point serves as an exploration tree path end point; based on the exploration tree path starting point and the exploration tree path end point, random sampling is carried out in the environment by adopting a sampling strategy with target deviation, and random points are obtained; traversing existing nodes in the exploration tree, and calculating distances from the random points to the existing nodes to obtain a reference distance set; taking an existing node closest to the random point in the reference distance set as an expansion node; according to the expansion node, the random point and the target point, determining an exploration path from the exploration tree path starting point to the exploration tree path end point, and obtaining an exploration path set; and optimizing each exploration path in the exploration path set, and determining the exploration path meeting a robot kinematics constraint condition as a target robot exploration path.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data processing, and in particular to an improved RRT mobile robot path planning method and related devices. Background Art

[0002] With the development of industry, mobile robots are intelligent systems that have attracted much attention. In the relevant research on mobile robots, path planning enables robots to complete tasks under unmanned and unknown conditions, which is a basic and indispensable function in the field of mobile robots. In addition, path planning has important applications in many fields, including industrial automation, unmanned driving, service robots, and search and rescue missions. The rapidly expanding random tree (RRT) based on the sampling method has attracted widespread attention due to its probabilistic completeness and asymptotic optimality, and is widely used in path search in various environments. However, the traditional RRT performs random sampling in the sampling process and lacks goal orientation, which will result in a large number of samples that will not help find the path, and cannot achieve the purpose of more accurate and efficient RRT mobile robot path planning. Summary of the invention

[0003] The present invention provides an improved RRT mobile robot path planning method and related devices to solve the technical problem that more accurate and efficient RRT mobile robot path planning cannot be achieved.

[0004] In a first aspect, an improved RRT mobile robot path planning method is provided, comprising:

[0005] Get the robot's initial position as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path;

[0006] Based on the starting point and the end point of the exploration tree path, a sampling strategy with target deviation is adopted to perform random sampling in the environment to obtain random points;

[0007] Traverse the existing nodes in the exploration tree and calculate the distance from the random point to the existing nodes to obtain a reference distance set;

[0008] The existing node closest to the random point in the reference distance set is used as the expansion node;

[0009] According to the expansion nodes, random points and target points, the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path is determined to obtain an exploration path set;

[0010] Each exploration path in the exploration path set is optimized, and the exploration path that satisfies the robot's kinematic constraints is determined as the target robot exploration path.

[0011] In a second aspect, an improved RRT mobile robot path planning device is provided, comprising:

[0012] An acquisition module is used to obtain the initial position of the robot as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path;

[0013] The first processing module is used to perform random sampling in the environment based on the exploration tree path starting point and the exploration tree path end point, using a sampling strategy with target deviation to obtain a random point;

[0014] The second processing module is used to traverse the existing nodes in the exploration tree and calculate the distance from the random point to the existing node to obtain a reference distance set;

[0015] The third processing module is used to use the existing node closest to the random point in the reference distance set as the expansion node;

[0016] The fourth processing module is used to determine the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain the exploration path set;

[0017] The fifth processing module is used to optimize each exploration path in the exploration path set, and determine the exploration path that meets the robot kinematic constraint conditions as the target robot exploration path.

[0018] In a third aspect, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned improved RRT mobile robot path planning method when executing the computer program.

[0019] In a fourth aspect, a computer-readable storage medium is provided, which stores a computer program. When the computer program is executed by a processor, the steps of the above-mentioned improved RRT mobile robot path planning method are implemented.

[0020] In the scheme implemented by the above-mentioned improved RRT mobile robot path planning method and related devices, by obtaining the initial position of the robot as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path, based on the starting point and the end point of the exploration tree path, a sampling strategy with target deviation is adopted to perform random sampling in the environment to obtain random points, and further by traversing the existing nodes in the exploration tree and calculating the distance from the random point to the existing node, a reference distance set is obtained, and the existing node closest to the random point in the reference distance set is used as the expansion node, so that the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path can be determined according to the expansion node, the random point and the target point, and the exploration path set is obtained, and then each exploration path in the exploration path set can be optimized, and the exploration path that meets the robot's kinematic constraints is determined as the target robot exploration path, which can effectively improve the accuracy of the robot path planning process, and is conducive to achieving the purpose of more accurate and efficient RRT mobile robot path planning. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings required for use in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention. For ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without paying creative labor.

[0022] Figure 1 Schematic diagram of an application environment of an improved RRT mobile robot path planning method in one embodiment of the present invention;

[0023] Figure 2 It is a flow chart of an improved RRT mobile robot path planning method in one embodiment of the present invention;

[0024] Figure 3 is a schematic diagram of performing angle detection on the collision direction of random points in one embodiment of the present invention;

[0025] Figure 4 is a schematic diagram of merging multiple target directions into an expansion direction in one embodiment of the present invention;

[0026] Figure 5 is a schematic diagram of collision detection and expansion of new nodes in one embodiment of the present invention;

[0027] Figure 6 is a schematic diagram of optimizing a path using a triangle strategy in one embodiment of the present invention;

[0028] Figure 7It is a schematic diagram of the effect of simulating the improved RRT mobile robot path planning method in MATLAB in one embodiment of the present invention;

[0029] Figure 8 It is a schematic diagram of the operation of the improved RRT mobile robot path planning method on a robot entity in one embodiment of the present invention;

[0030] Fig. 9 is a schematic diagram of verifying the improved RRT mobile robot path planning method in a practical environment in one embodiment of the present invention;

[0031] Fig.10 It is a structural schematic diagram of an improved RRT mobile robot path planning device in one embodiment of the present invention;

[0032] Fig.11 is a schematic diagram of a structure of a computer device in one embodiment of the present invention;

[0033] Fig.12 It is another structural schematic diagram of a computer device in one embodiment of the present invention. DETAILED DESCRIPTION

[0034] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0035] The improved RRT mobile robot path planning method provided by the embodiment of the present invention can be applied in the following aspects: Figure 1In the application environment, the client communicates with the server through the network. For example, taking the RRT mobile robot path planning scenario as an example, the R&D personnel or management personnel can upload the initial position and the target point position of the robot through the client. Correspondingly, the server can obtain the initial position of the robot through the client and use it as the starting point of the exploration tree path, obtain the position of the target point and use it as the end point of the exploration tree path, and based on the exploration tree path starting point and the exploration tree path end point, adopt a sampling strategy with target deviation to perform random sampling in the environment to obtain a random point, and further traverse the existing nodes in the exploration tree and calculate the distance from the random point to the existing node to obtain a reference distance set, so as to use the existing node in the reference distance set that is closest to the random point as an expansion node, so that the exploration path from the exploration tree path starting point to the exploration tree path end point can be determined according to the expansion node, the random point and the target point, and an exploration path set can be obtained, and then each exploration path in the exploration path set can be optimized, and the exploration path that meets the robot's kinematic constraints can be determined as the target robot exploration path, and the target robot exploration path can be fed back to the client, and the target robot exploration path can be displayed on the client for target users to query or browse. By adopting the improved RRT mobile robot path planning method provided in this application, the accuracy of the robot path planning process can be effectively improved, which is conducive to achieving the goal of more accurate and efficient RRT mobile robot path planning.

[0036] The client may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, and portable wearable devices. The server may be implemented by an independent server or a server cluster consisting of multiple servers. The present invention is described in detail below through specific embodiments.

[0037] See also Figure 2 As shown, Figure 2 A flow chart of an improved RRT mobile robot path planning method provided by an embodiment of the present invention includes the following steps:

[0038] S10: Obtain the initial position of the robot as the starting point of the exploration tree path, and take the position of the target point as the end point of the exploration tree path.

[0039] In this application, the initial position of the robot is first determined as the starting point of the exploration tree path, and the target point position is the end point. The exploration tree can be understood as an expanded exploration tree containing connection points, which are connected to each other and then expanded outward to explore the environment and finally find the path from the starting point to the end point.

[0040] It is understandable that in order to solve the problems of traditional RRT that the initial path solution is time-consuming, the path quality is poor, and it is difficult to solve in complex environments, the present application adopts path planning for a miniaturized robot, which can meet the needs of exploration in narrow or cave environments.

[0041] S20: Based on the starting point of the exploration tree path and the end point of the exploration tree path, a sampling strategy with target deviation is adopted to perform random sampling in the environment to obtain a random point.

[0042] The sampling strategy with target bias can increase the probability of sampling points in the target direction to improve the search efficiency. For example, based on the positional relationship between the starting point and the end point, sampling can be biased towards the target point with a certain probability, making the search process more likely to expand in the target direction.

[0043] Optionally, a small probability deviation probability can be set at each sampling, such as P bias indicates (0 <P bias <1) to determine the way random points are generated; each time a random number is generated, such as rand, when rand <P bias When rand ≥ P, the target point can be directly selected as a random point to speed up the target point exploration process; bias , you can perform regular random sampling and generate random points at any position in the environment. Optionally, the formula for generating random points can be as follows:

[0044]

[0045] Among them, X sample Can represent sampling points; X goal can be the target point; rand can be a random number; P bias Can be the deviation probability; X rand It can be a random point. It is understandable that consciously increasing the probability of heading to the target point or target area during the rapid exploration tree random sampling process can accelerate the process of the tree growing toward the target direction.

[0046] S30: traverse the existing nodes in the exploration tree, and calculate the distance from the random point to the existing node to obtain a reference distance set.

[0047] The reference distance set may include one or more reference distances, which may be used to indicate the distance from the random point to the existing node. By calculating the distance from the random point to each existing node in the exploration tree, it is helpful to determine the node closest to the random point in subsequent steps.

[0048] S40: Using the existing node in the reference distance set that is closest to the random point as an expansion node.

[0049] It is understandable that selecting the closest node as the expansion node can make the exploration tree grow in a direction that is more likely to approach the target. Optionally, the server can further determine the collision state between the expansion node and the environment in four directions. The collision state can be preset and saved, and this application does not limit this.

[0050] If the extended node collides with the environment, the angle between the collision direction and the unit vector from the extended node to the random point is calculated; if the angle is greater than 90°, the subsequent process is carried out with the random point; if the angle is less than or equal to 90°, it means that the expansion of the extended node is likely to collide with obstacles in the environment, then random sampling is performed again in the environment, and the above steps are repeated until an extended node that meets the requirements is obtained.

[0051] S50: Determine an exploration path from the exploration tree path starting point to the exploration tree path ending point according to the expansion node, the random point and the target point, and obtain an exploration path set.

[0052] Once the expansion nodes are determined, the exploration path from the starting point to the end point can be gradually constructed by connecting the expansion nodes and random points. As more random points are sampled and expansion nodes are determined, the exploration path set will continue to expand.

[0053] It should be understood that determining the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point to obtain the exploration path set refers to the process of obtaining the exploration path set. Among them, step S50, that is, determining the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point to obtain the exploration path set, includes the following steps:

[0054] S51: performing obstacle detection in the environment to obtain a target obstacle in the environment that is closest to the extended node;

[0055] S52: determining an expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle;

[0056] S53: determining an extension length of the extension point according to the extension node, the random point, the direction of the target point and the area of ​​the obstacle;

[0057] S54: determining a new node according to the extension direction and the extension length;

[0058] S55: Determine an exploration path from the exploration tree path starting point to the exploration tree path ending point according to the new node, and obtain an exploration path set.

[0059] Optionally, obstacle detection can be performed within two fixed step thresholds to obtain the obstacle in the environment closest to the expansion node, i.e., the target obstacle, and further use the fusion of the three directions from the expansion node to the target point, the random point, and the nearest obstacle as the expansion direction of the expansion node, i.e., the growth (exploration) direction of the expansion node.

[0060] It should be understood that the determination of the expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle refers to the process of the expansion direction of the expansion point. In step S52, that is, the determination of the expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle includes the following steps:

[0061] The directions of the expansion points and the target points, the directions of the expansion points and the random points, and the directions of the expansion points and the obstacles are fused to obtain the expansion directions of the expansion points.

[0062] Optionally, the following formula may be used to implement the step of fusing the direction between the expansion point and the target point, the direction between the expansion point and the random point, and the direction between the expansion point and the obstacle to obtain the expansion direction of the expansion point:

[0063]

[0064] Among them, F end represents the expansion direction of the expansion node; α represents the weight of the expansion node to the target point; X nearest Indicates the expansion node; X goal represents the target point; β represents the weight of the extended node to the random point; X rand represents the random point; ω represents the weight of the extended node to the obstacle; X obstacle represents the obstacle closest to the expansion node, wherein α+β+ω=1. It can be understood that by changing the three weight coefficients α, β and ω, the tendency of the node in the growth direction can be controlled.

[0065] It should be understood that the determination of the expansion length of the expansion point according to the expansion node, the random point, the direction of the target point and the area of ​​the obstacle refers to the process of the expansion length of the expansion point. In step S53, that is, the determination of the expansion length of the expansion point according to the expansion node, the random point, the direction of the target point and the area of ​​the obstacle includes the following steps:

[0066] S531: Determine the direction between the extended node and the target point to obtain a first direction;

[0067] S532: Determine the direction between the extended node and the random point to obtain a second direction;

[0068] S533: determining a target angle according to the first direction and the second direction;

[0069] S534: Determine the extension length of the extension point according to the target angle and the ratio of the area occupied by the obstacle to the passable area in the environment area.

[0070] The server can calculate the angle between the expansion node and the target point direction and the expansion node and the random point direction (i.e., the target angle) to further change the step size based on the cosine value of the angle. Optionally, the server can count the ratio of the area occupied by obstacles to the passable area in the environmental area of ​​a square with 10 times the step size to determine the expansion length of the expansion point.

[0071] Optionally, the server may implement the step of determining the extension length of the extension point according to the target angle and the ratio of the area occupied by the obstacle to the passable area in the environment area by the following formula:

[0072]

[0073] Among them, L change represents the extension length; θ represents the target angle, that is, the angle formed by the unit vector of the extension node and the target point and the unit vector of the extension node and the random point; L represents the initial fixed step size in the algorithm; s n It indicates the ratio of the area occupied by the obstacle to the traversable area.

[0074] Furthermore, the server can determine the new node according to the extension length and extension direction. Optionally, after determining the position information of the new node, it can be detected whether the new node will collide with the environment. It is understandable that if no collision occurs, the new node is added to the exploration tree and connected to the extension node; if a collision occurs, the generation of the new node is abandoned, and resampling and subsequent steps are performed.

[0075] Optionally, the expansion node can be used as the predecessor node of the new node to be saved in the data of the new node. After each new node is added to the exploration tree, a temporary node (which can be understood as the expansion node of the new node) is generated in the four directions of the new node with a fixed step size, and the collision between the temporary node and the environment is detected, so that the new node can be determined based on the collision between the new node and the environment in the expansion direction of the four temporary nodes. The collision between the new node and the environment in the four directions of up, down, left and right can be recorded as two states: collision and no collision.

[0076] When performing collision detection on a new node in four directions, the process can be repeated until the new node no longer collides in the collision direction or cannot be expanded. If a collision is detected in a certain direction, the node expansion will continue in the direction where no collision occurs, and the process will be repeated until the new node no longer collides in the collision direction or cannot be expanded.

[0077] For example, Figure 3 As shown, after completing the sampling, determine X nearest After that, a new node X will not be generated directly in the sampling direction. new , but with X neareat and X rand The direction of the composition is X neareat The direction of collision with environmental obstacles is detected, and the angle between the unit vectors in the two directions is calculated. If the angle is greater than 90°, it is considered that X new It will collide with obstacles and try to use X neareat X extend Perform node in X rand If the node fails, a new node will be generated.

[0078] like Figure 4 As shown, the obstacle closest to the node in the environment is detected within the threshold range, and a temporary obstacle point X is generated. obstacle , the direction to the target point, the random point and the opposite direction to the obstacle are fused as the node expansion direction, that is, the unit vector F from the expanded node to the target is constructed 1 , the unit vector F of the extended node to the random point 2 and the unit vector F that is the opposite direction from the extended node to the nearest obstacle 3 ; The three unit vectors are multiplied by different coefficients α, β, and ω to control the tendency of the node in the growth direction, and finally the unit vector F of the final expansion direction is constructed end .

[0079] Perform collision detection on newly generated nodes and expand the nodes when collision occurs. Figure 5As shown, four temporary nodes are generated at each node with a certain length to detect the collision of the node with obstacles in the environment in four directions. In addition, a new set of data is added to the node data structure to store the collision status of the node in the four directions of the environment, which is recorded as collision and free. After the collision detection occurs, if a collision is detected in one direction, the node is expanded in the direction perpendicular to the collision direction until the newly generated node no longer collides in the collision direction or cannot continue.

[0080] S60: Optimize each exploration path in the exploration path set, and determine the exploration path that satisfies the robot kinematic constraint condition as the target robot exploration path.

[0081] Various methods can be used to optimize the exploration path, such as the cubic B-spline optimization mentioned below, which can make the path smoother and more efficient. At the same time, by considering the robot's kinematic constraints, it can be ensured that the planned path is actually executable by the robot, such as the robot's maximum speed, acceleration limit, turning radius and other constraints.

[0082] Optionally, the server can determine whether the new node is the target point, and find the predecessor node through the current node, and iterate the search to finally find the starting point (i.e. the starting point of the exploration tree path) to obtain the path. The above exploration process is repeated continuously. After each new node is generated, the distance from the new node to the target point is calculated. If the distance is less than twice the fixed step size, the target point is considered to be found, and the new node is connected to the target point. Then, through the target point, the predecessor node is continuously traced back to find the starting point and the exploration path is obtained.

[0083] The server can trace back the predecessor node through the target point to find the final path, and use the triangular path optimization strategy to optimize the generated path, such as shortening the path length. Use the end point as the backtracking starting point, backtrack, connect the predecessor node, and determine whether the predecessor node will collide with the obstacle. If not, backtrack all the way; if a collision occurs, connect the predecessor node to the last backtracking starting point; use the predecessor node of the node as the backtracking starting point, and repeat the above process until you reach the starting point, and finally obtain a path that includes all the points that serve as the backtracking starting point, the starting point, and the target point.

[0084] It should be understood that optimizing each exploration path in the exploration path set and determining the exploration path that satisfies the robot kinematic constraints as the target robot exploration path refers to the process of performing path optimization and determining the target robot exploration path. In step S60, that is, optimizing each exploration path in the exploration path set and determining the exploration path that satisfies the robot kinematic constraints as the target robot exploration path, includes the following steps:

[0085] S61: using a cubic B-spline curve to smooth each exploration path in the exploration path set to obtain a smooth exploration path;

[0086] S62: According to the smooth exploration path, an exploration path that satisfies the robot kinematic constraints is determined as a target robot exploration path.

[0087] In order to meet the needs of actual machine control and movement, this application uses a cubic B-spline curve, that is, a curve that can generate a continuous second-order curvature to smooth the acquired path. The B-spline curve can be used to generate a curve by controlling a set of control points. The degree of the B-spline polynomial can be independent of the number of control points, so that the curve meets the needs of continuous and local control.

[0088] Optionally, the server may use the following formula to implement the step of using a cubic B-spline curve to smooth each exploration path in the exploration path set to obtain a smoothed exploration path:

[0089]

[0090] Where P(t) represents the smoothed exploration path obtained by smoothing with a cubic B-spline curve; i represents the control point index; n represents the number of control points; B i,k (t) represents the k-order B-spline basis function; k-1 represents the order of the B-spline basis function; t represents the coordinate information of the control point, satisfying the De Boer recursion formula; P i is the control point of the curve; B(t) represents the basis function when the order is zero; t i represents the i-th control point; t i+k represents the i+kth control point; B i,k-1 (t) represents the B-spline basis function of control point i at order k; t i+k+1 represents the i+k+1th control point; B i+1,k-1 (t) represents the B-spline basis function of control point i+1 at order k.

[0091] It can be understood that a k-order B-spline basis function can include k+1 nodes, each high-order B-spline basis function can be linearly combined by two low-order B-spline basis functions, and the weight of the low-order B-spline basis function can be determined by the node position in the node vector. By using a cubic B-spline curve to smooth each exploration path in the exploration path set, a smooth curve from the starting point to the target point for robot movement can be finally obtained, that is, the target robot exploration path.

[0092] After finding the path, perform triangular optimization on the path. Specifically, Figure 6As shown in the figure, after determining the nodes on the path from the starting point to the end point, the path is backtracked and the triangulation strategy is used to determine whether the path length will be reduced and reconnected; if a collision occurs during the connection, the collision point is used as the starting node for backtracking, and the path is backtracked again until the starting node is reached. After the path is generated, the path is optimized with cubic B-spline, that is, the path is smoothed, which can make the path smoother at the turning point without sudden changes in direction.

[0093] Optional, such as Figure 7 As shown, Figure 7 It is a schematic diagram of verifying the algorithm through simulation. It can be seen that the results show that the improved RRT algorithm speeds up the solution time of the initial path and improves the path quality compared with the original algorithm.

[0094] For example, Figure 8 As shown, Figure 8 The schematic diagram of the operation of the improved RRT mobile robot path planning method on the robot entity is shown as an example. The robot entity can be equipped with a laser radar to scan and sample the environment to construct the point cloud data into a two-dimensional map, and through the position information, the robot plans the global path on the known map through the improved RRT algorithm, so as to further send control instructions through the serial port to control the motor. Optionally, the robot moves along the planned path, and in the actual process of moving towards the target point, the dynamic window approach (DWB) local planning algorithm can be used to achieve real-time obstacle avoidance. Fig. 9 As shown, Fig. 9 This is a schematic diagram of verifying the algorithm in a real environment. It can be seen that this application is deployed in a real robot system to verify the feasibility of the algorithm.

[0095] Through the improved RRT mobile robot path planning method and device proposed in this application for quickly solving a better initial solution, the exploration tree is expanded by introducing node collision, multi-directional fusion and variable step size strategies, and the path is optimized through the triangle strategy. It can reduce the time the robot takes to find the initial path and improve the quality of the initial path. At the same time, the algorithm can also quickly reach the target point in complex scenarios.

[0096] It can be seen that in the above scheme, by obtaining the initial position of the robot as the starting point of the exploration tree path, and taking the position of the target point as the end point of the exploration tree path, based on the starting point of the exploration tree path and the end point of the exploration tree path, a sampling strategy with target deviation is adopted to perform random sampling in the environment to obtain a random point, and further by traversing the existing nodes in the exploration tree and calculating the distance from the random point to the existing node, a reference distance set is obtained, and the existing node in the reference distance set that is closest to the random point is used as an expansion node, so that the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path can be determined according to the expansion node, the random point and the target point, and an exploration path set is obtained, and then each exploration path in the exploration path set can be optimized, and the exploration path that meets the robot's kinematic constraints can be determined as the target robot exploration path, which can effectively improve the accuracy of the robot path planning process, and is conducive to achieving the purpose of more accurate and efficient RRT mobile robot path planning.

[0097] It should be understood that the order of execution of the steps in the above embodiment does not necessarily mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present invention.

[0098] In one embodiment, an improved RRT mobile robot path planning device is provided, and the improved RRT mobile robot path planning device corresponds one-to-one to the improved RRT mobile robot path planning method in the above embodiment. Fig.10 As shown, the improved RRT mobile robot path planning device includes an acquisition module 101, a first processing module 102, a second processing module 103, a third processing module 104, a fourth processing module 105 and a fifth processing module 106. The functional modules are described in detail as follows:

[0099] An acquisition module 101 is used for acquiring the initial position of the robot as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path;

[0100] A first processing module 102 is used to perform random sampling in the environment based on the exploration tree path starting point and the exploration tree path end point, using a sampling strategy with target deviation to obtain a random point;

[0101] The second processing module 103 is used to traverse the existing nodes in the exploration tree and calculate the distance from the random point to the existing node to obtain a reference distance set;

[0102] The third processing module 104 is used to use the existing node in the reference distance set that is closest to the random point as an expansion node;

[0103] A fourth processing module 105 is used to determine an exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain an exploration path set;

[0104] The fifth processing module 106 is used to optimize each exploration path in the exploration path set, and determine the exploration path that meets the robot kinematic constraint condition as the target robot exploration path.

[0105] In one embodiment, the fourth processing module 105 is used to determine the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain an exploration path set, which is specifically used to:

[0106] Perform obstacle detection in the environment to obtain the target obstacle in the environment that is closest to the extended node;

[0107] Determining an expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle;

[0108] Determining an extension length of the extension point according to the extension node, the random point, the direction of the target point and the area of ​​the obstacle;

[0109] Determining a new node according to the extension direction and the extension length;

[0110] According to the new node, an exploration path from the exploration tree path starting point to the exploration tree path ending point is determined to obtain an exploration path set.

[0111] In one embodiment, the fourth processing module 105 is used to determine the expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle, and is specifically used to:

[0112] The direction of the expansion point and the target point, the direction of the expansion point and the random point, and the direction of the expansion point and the obstacle are merged to obtain the expansion direction of the expansion point;

[0113] Among them, the step of fusing the directions of the expansion point and the target point, the directions of the expansion point and the random point, and the directions of the expansion point and the obstacle to obtain the expansion direction of the expansion point is achieved through the following formula:

[0114]

[0115] Among them, F endrepresents the expansion direction of the expansion node; α represents the weight of the expansion node to the target point; X nearest Indicates the expansion node; X goal represents the target point; β represents the weight of the extended node to the random point; X rand represents the random point; ω represents the weight of the extended node to the obstacle; X obstacle represents the obstacle closest to the extended node; wherein α+β+ω=1.

[0116] In one embodiment, the fourth processing module 105 is used to determine the extension length of the extension point according to the extension node, the random point, the direction of the target point and the area of ​​the obstacle, and is specifically used to:

[0117] Determine the direction between the extended node and the target point to obtain a first direction;

[0118] Determine the direction between the extended node and the random point to obtain a second direction;

[0119] determining a target angle according to the first direction and the second direction;

[0120] Determining the extension length of the extension point according to the target angle and the ratio of the area occupied by the obstacle to the passable area in the environment area;

[0121] The step of determining the extension length of the extension point according to the target angle and the ratio of the area occupied by the obstacle to the passable area in the environment area is implemented by the following formula:

[0122]

[0123] Among them, L change represents the extension length; θ represents the target angle, that is, the angle formed by the unit vector of the extension node and the target point and the unit vector of the extension node and the random point; L represents the initial fixed step size in the algorithm; s n It indicates the ratio of the area occupied by the obstacle to the traversable area.

[0124] In one embodiment, the fifth processing module 106 is used to optimize each exploration path in the exploration path set and determine the exploration path that satisfies the robot kinematic constraint as the target robot exploration path, specifically for:

[0125] Using cubic B-spline curve, each exploration path in the exploration path set is smoothed to obtain a smooth exploration path;

[0126] According to the smooth exploration path, determining the exploration path that satisfies the robot kinematic constraint conditions as the target robot exploration path;

[0127] The following formula is used to implement the step of using a cubic B-spline curve to smooth each exploration path in the exploration path set to obtain a smooth exploration path:

[0128]

[0129] Where P(t) represents the smoothed exploration path obtained by smoothing with a cubic B-spline curve; i represents the control point index; n represents the number of control points; B i,k (t) represents the k-order B-spline basis function; k-1 represents the order of the B-spline basis function; t represents the coordinate information of the control point, satisfying the De Boer recursion formula; P i is the control point of the curve; B(t) represents the basis function when the order is zero; t i represents the i-th control point; t i+k represents the i+kth control point; B i,k-1 (t) represents the B-spline basis function of control point i at order k; t i+k+1 represents the i+k+1th control point; B i+1,k-1 (t) represents the B-spline basis function of control point i+1 at order k.

[0130] The present invention provides an improved RRT mobile robot path planning device, which obtains the initial position of the robot as the starting point of the exploration tree path and the position of the target point as the end point of the exploration tree path, and adopts a sampling strategy with a target deviation based on the starting point of the exploration tree path and the end point of the exploration tree path, and performs random sampling in the environment to obtain a random point, and further traverses the existing nodes in the exploration tree and calculates the distance from the random point to the existing node to obtain a reference distance set, and uses the existing node in the reference distance set that is closest to the random point as an expansion node, so that the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path can be determined according to the expansion node, the random point and the target point, and the exploration path set is obtained, and then each exploration path in the exploration path set can be optimized, and the exploration path that meets the robot kinematic constraint condition is determined as the target robot exploration path, which can effectively improve the accuracy of the robot path planning process, and is conducive to achieving the purpose of more accurate and efficient RRT mobile robot path planning.

[0131] For the specific definition of the improved RRT mobile robot path planning device, please refer to the definition of the improved RRT mobile robot path planning method above, which will not be repeated here. Each module in the above-mentioned improved RRT mobile robot path planning device can be implemented in whole or in part by software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0132] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Fig.11 As shown. The computer device includes a processor, a memory, a network interface and a database connected via a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile and / or volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external client via a network connection. When the computer program is executed by the processor, it realizes a function or step on the service side of an improved RRT mobile robot path planning method.

[0133] In one embodiment, a computer device is provided. The computer device may be a client, and its internal structure diagram may be as follows: Fig.12 As shown. The computer device includes a processor, a memory, a network interface, a display screen and an input device connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external server through a network connection. When the computer program is executed by the processor, it realizes a function or step on the client side of an improved RRT mobile robot path planning method.

[0134] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the following steps when executing the computer program:

[0135] Get the robot's initial position as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path;

[0136] Based on the starting point of the exploration tree path and the end point of the exploration tree path, a sampling strategy with target deviation is adopted to perform random sampling in the environment to obtain a random point;

[0137] Traversing the existing nodes in the exploration tree, and calculating the distance from the random point to the existing nodes to obtain a reference distance set;

[0138] Taking the existing node in the reference distance set that is closest to the random point as an expansion node;

[0139] Determine an exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain an exploration path set;

[0140] Each exploration path in the exploration path set is optimized, and the exploration path that satisfies the robot's kinematic constraints is determined as the target robot exploration path.

[0141] The present invention provides a computer device, which obtains the initial position of a robot as the starting point of an exploration tree path and the position of a target point as the end point of the exploration tree path, and adopts a sampling strategy with a target deviation based on the starting point of the exploration tree path and the end point of the exploration tree path, to perform random sampling in the environment to obtain a random point, and further traverses the existing nodes in the exploration tree and calculates the distance from the random point to the existing node to obtain a reference distance set, so that the existing node in the reference distance set that is closest to the random point is used as an expansion node, so that the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path can be determined according to the expansion node, the random point and the target point, and an exploration path set is obtained, and then each exploration path in the exploration path set can be optimized, and the exploration path that meets the robot kinematic constraints is determined as the target robot exploration path, which can effectively improve the accuracy of the robot path planning process and is conducive to achieving the purpose of more accurate and efficient RRT mobile robot path planning.

[0142] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0143] Get the robot's initial position as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path;

[0144] Based on the starting point of the exploration tree path and the end point of the exploration tree path, a sampling strategy with target deviation is adopted to perform random sampling in the environment to obtain a random point;

[0145] Traversing the existing nodes in the exploration tree, and calculating the distance from the random point to the existing nodes to obtain a reference distance set;

[0146] Taking the existing node in the reference distance set that is closest to the random point as an expansion node;

[0147] Determine an exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain an exploration path set;

[0148] Each exploration path in the exploration path set is optimized, and the exploration path that satisfies the robot's kinematic constraints is determined as the target robot exploration path.

[0149] The present invention provides a computer-readable storage medium, which obtains the initial position of a robot as the starting point of an exploration tree path and the position of a target point as the end point of the exploration tree path, and adopts a sampling strategy with a target deviation based on the starting point of the exploration tree path and the end point of the exploration tree path, and performs random sampling in the environment to obtain a random point, and further traverses the existing nodes in the exploration tree and calculates the distance from the random point to the existing node to obtain a reference distance set, so that the existing node in the reference distance set that is closest to the random point is used as an expansion node, so that the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path can be determined according to the expansion node, the random point and the target point, and an exploration path set is obtained, and then each exploration path in the exploration path set can be optimized, and the exploration path that meets the robot kinematic constraints is determined as the target robot exploration path, which can effectively improve the accuracy of the robot path planning process, and is conducive to achieving the purpose of more accurate and efficient RRT mobile robot path planning.

[0150] It should be noted that the above functions or steps that can be implemented by the computer-readable storage medium or computer device can refer to the relevant descriptions on the server side and the client side in the aforementioned method embodiment. To avoid repetition, they will not be described one by one here.

[0151] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0152] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.

[0153] The embodiments described above are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included in the protection scope of the present invention.

Claims

1. An improved RRT mobile robot path planning method, characterized in that: The improved RRT mobile robot path planning method comprises: Get the robot's initial position as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path; Based on the starting point of the exploration tree path and the end point of the exploration tree path, a sampling strategy with target deviation is adopted to perform random sampling in the environment to obtain a random point; Traversing the existing nodes in the exploration tree, and calculating the distance from the random point to the existing nodes to obtain a reference distance set; Taking the existing node in the reference distance set that is closest to the random point as an expansion node; Determine an exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain an exploration path set; Each exploration path in the exploration path set is optimized, and the exploration path that satisfies the robot's kinematic constraints is determined as the target robot exploration path.

2. The improved RRT mobile robot path planning method according to claim 1, characterized in that: The step of determining an exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point to obtain an exploration path set includes: Perform obstacle detection in the environment to obtain the target obstacle in the environment that is closest to the extended node; Determining an expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle; Determining an extension length of the extension point according to the extension node, the random point, the direction of the target point and the area of ​​the obstacle; Determining a new node according to the extension direction and the extension length; According to the new node, an exploration path from the exploration tree path starting point to the exploration tree path ending point is determined to obtain an exploration path set.

3. The improved RRT mobile robot path planning method according to claim 2, characterized in that: The step of determining the expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle includes: The direction of the expansion point and the target point, the direction of the expansion point and the random point, and the direction of the expansion point and the obstacle are merged to obtain the expansion direction of the expansion point; Among them, the step of fusing the directions of the expansion point and the target point, the directions of the expansion point and the random point, and the directions of the expansion point and the obstacle to obtain the expansion direction of the expansion point is achieved through the following formula: Among them, F end represents the expansion direction of the expansion node; α represents the weight of the expansion node to the target point; X nearest represents the expansion node; X goal represents the target point; β represents the weight of the extended node to the random point; X rand represents the random point; ω represents the weight of the extended node to the obstacle; X obstacle represents the obstacle closest to the extended node; wherein α+β+ω=1.

4. The improved RRT mobile robot path planning method according to claim 3 is characterized in that: The step of determining the extension length of the extension point according to the extension node, the random point, the direction of the target point and the area of ​​the obstacle includes: Determine the direction between the extended node and the target point to obtain a first direction; Determine the direction between the extended node and the random point to obtain a second direction; determining a target angle according to the first direction and the second direction; Determining the extension length of the extension point according to the target angle and the ratio of the area occupied by the obstacle to the passable area in the environment area; The step of determining the extension length of the extension point according to the target angle and the ratio of the area occupied by the obstacle to the passable area in the environment area is implemented by the following formula: Among them, L change represents the extension length; θ represents the target angle, that is, the angle formed by the unit vector of the extension node and the target point and the unit vector of the extension node and the random point; L represents the initial fixed step size in the algorithm; s n It indicates the ratio of the area occupied by the obstacle to the traversable area.

5. The improved RRT mobile robot path planning method according to claim 4, characterized in that: The step of optimizing each exploration path in the exploration path set and determining the exploration path that satisfies the robot kinematic constraint condition as the target robot exploration path includes: Using cubic B-spline curve, each exploration path in the exploration path set is smoothed to obtain a smooth exploration path; According to the smooth exploration path, determining the exploration path that satisfies the robot kinematic constraint conditions as the target robot exploration path; The following formula is used to implement the step of using a cubic B-spline curve to smooth each exploration path in the exploration path set to obtain a smooth exploration path: Where P(t) represents the smoothed exploration path obtained by smoothing with a cubic B-spline curve; i represents the control point index; n represents the number of control points; B i,k (t) represents the k-order B-spline basis function; k-1 represents the order of the B-spline basis function; t represents the coordinate information of the control point, satisfying the De Boer recursion formula; P i is the control point of the curve; B(t) represents the basis function when the order is zero; t i represents the i-th control point; t i+k represents the i+kth control point; B i,k-1 (t) represents the B-spline basis function of control point i at order k; t i+k+1 represents the i+k+1th control point; B i+1,k-1 (y) represents the B-spline basis function of control point i+1 at order k.

6. An improved RRT mobile robot path planning device, characterized in that: The improved RRT mobile robot path planning device comprises: An acquisition module is used to obtain the initial position of the robot as the starting point of the exploration tree path, and the position of the target point as the end point of the exploration tree path; A first processing module is used to perform random sampling in the environment based on the exploration tree path starting point and the exploration tree path end point, using a sampling strategy with target deviation to obtain a random point; A second processing module is used to traverse the existing nodes in the exploration tree and calculate the distance from the random point to the existing node to obtain a reference distance set; A third processing module is used to use the existing node in the reference distance set that is closest to the random point as an expansion node; A fourth processing module, configured to determine an exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain an exploration path set; The fifth processing module is used to optimize each exploration path in the exploration path set, and determine the exploration path that meets the robot kinematic constraint conditions as the target robot exploration path.

7. The improved RRT mobile robot path planning device according to claim 6, characterized in that: The fourth processing module is used to determine the exploration path from the starting point of the exploration tree path to the end point of the exploration tree path according to the expansion node, the random point and the target point, and obtain an exploration path set, specifically for: Perform obstacle detection in the environment to obtain the target obstacle in the environment that is closest to the extended node; Determining an expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle; Determining an extension length of the extension point according to the extension node, the random point, the direction of the target point and the area of ​​the obstacle; Determining a new node according to the extension direction and the extension length; According to the new node, an exploration path from the exploration tree path starting point to the exploration tree path ending point is determined to obtain an exploration path set.

8. The improved RRT mobile robot path planning device according to claim 7, characterized in that: The fourth processing module is used to determine the expansion direction of the expansion point according to the expansion node, the random point, the target point and the obstacle, and is specifically used to: The direction of the expansion point and the target point, the direction of the expansion point and the random point, and the direction of the expansion point and the obstacle are merged to obtain the expansion direction of the expansion point; Among them, the step of fusing the directions of the expansion point and the target point, the directions of the expansion point and the random point, and the directions of the expansion point and the obstacle to obtain the expansion direction of the expansion point is achieved through the following formula: Among them, F end represents the expansion direction of the expansion node; α represents the weight of the expansion node to the target point; X nearest Indicates the expansion node; X goal represents the target point; β represents the weight of the extended node to the random point; X rand represents the random point; ω represents the weight of the extended node to the obstacle; X obstacle represents the obstacle closest to the extended node; wherein α+β+ω=1.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the improved RRT mobile robot path planning method as described in any one of claims 1 to 5 is implemented.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the improved RRT mobile robot path planning method as described in any one of claims 1 to 5 is implemented.