Today I read a paper on robot path planning , and record it here.
Original: Improved A* and dynamic window method for mobile robot path planning : https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CAPJ&dbname=CAPJLAST&filename=JSJJ2020102300M&v=l5%25mmd2FDG1c37fumFRahpllN7JWV7J8kDILJRNoZEVRg8kDILJNoZEVRg
1. Ask a question
The article proposes a fusion algorithm combining A* algorithm and dynamic window method .
First, use the A* algorithm to plan a global path, and then use a key inflection point extraction algorithm to eliminate redundant inflection points and redundant nodes on the global path to ensure the global optimal path.
Then, the global path is segmented according to the key nodes, and the dynamic window method is combined to optimize each section of the local path to improve the safety and smoothness of the path.
The problems of the A* algorithm: too many inflection points, redundant nodes, close distance to obstacles, etc.
Dynamic window method : It is very easy to fall into the optimal layout, and the path finding success rate is low.
2. Propose an algorithm
(1) Optimize A* algorithm
(A) Obtain all the node sets of the path planned by the A* algorithm , which represents the starting point of the planned path and the end point of the planned path. Creating the initial value of the path contains only the start and end of key set of nodes used to store key turning point in the optimization algorithm.
(B) Make a straight line connection from the beginning to determine whether the straight line passes through obstacles. If the straight line passes through the obstacle, the node is the necessary node of the path and must be the key turning point. Add the node to the set V; if the straight line does not pass the obstacle Then it is determined that the node is a redundant node, from continuing to connect the nodes in the node set U until the end of the path is connected , and all the key nodes are added to the set V. After the completion of key nodes selected collection contains all the critical nodes, the path is assumed that the key set V of nodes contained is m.
(C) Connect all the nodes in set V in turn to complete the global optimization of the path. The steps of path global optimization are shown in the figure
(2) Optimize the dynamic window method
According to the principle of the dynamic window method, the main factors affecting the path are the heading angle and angular velocity of the mobile robot. Since the angular velocity is usually a fixed configuration value, the main factor affecting the smoothness and length of the path is the heading angle. The greater the heading angle deviation, the longer the required turning distance, and the more likely it is to cause path redundancy. Therefore, this article mainly focuses on the improvement and optimization of the heading angle, and the specific steps of local optimization are as follows.
(A) from the starting point Start, critical node set in addition to the end of all the nodes as the starting point for a local path planning ; from the second node starts sequentially set in all nodes as a destination local path planning , the global path points There are m-1 sections in total.
I didn't understand here
(B) Calculate the path , that is , the inclination angle of the original line segment , and the formula for calculating the inclination angle of the line segment is as follows.
(C) Convert the inclination angle of the path into a radian value as the initial heading angle of the mobile robot. The formula for converting the inclination angle to radian value is as follows.
(D) Initialize the state parameter set L{l} of the mobile robot, where l{x,y,yaw,v,w} records the state parameters in the path planning process of the mobile robot, including position, heading angle, linear velocity, and angular velocity.
(E) According to the actual environment, set the initial linear velocity V (m/s) and initial angular velocity w (rad/s) of the mobile robot, and combine the first three steps to obtain the starting point , ending point , and initial heading angle yaw (rad). Get .
(F) Use the dynamic window method for local path planning, and update all the state parameters of the robot to the state parameter set L, record all the nodes of the path and the pose information of the robot. After each path is completed, the state parameter set becomes Indicates the latest status parameter of the mobile robot.
(G) Calculate the inclination angle of the next path according to formula (b) , and at the same time convert the yaw in the last state parameter l of the robot into an angle value, and the formula for converting the radian value into an angle value is as follows.
Why is the heading angle of the robot set to yaw/2 here? ? ?
(H) Repeat (g),
The pictures and texts are all from the paper, which is for learning only, and the infringement is deleted.