Path Planning Using AStar Algorithm
This project's objective is to design an algorithm for a 2D car plan a path to its goal and to track it. The ROS Server is given by the company Xytron.
The map coordinate system differs from that of the car. To make calculation simpler and with less error, the points in the car's coordinate system is transformed into the that of the map, and vice versa. For a smooth turn, next nodes can only be on the 30 degrees left and right on both front and back. Say next nodes are selected 10px away from the car. We sample 4 nodes for both front and back, then these nodes are transformed into the map coordinate system. These nodes becomes the candidate nodes. The shortest path is not the optimum path since there can be irrational turns or the end yaw might not meet the requirement. There are 3 main criteria;
-
i) Distance
Distance costs follow euclidian method.
ii) Error between current yaw and target end yaw.
The car trys to match the target end yaw. This means that car trys to make a path that can go straight to its target point and math the target end yaw.
iii) Intersection with the straight line to the end position and virtual barrier around goal.
The virtual barriers are created around the goal where only the entrance is open. The car trys to avoid going straight to the goal when there is a collision with the virtual barrier.>
Reference and error can be calculated by yaw with respect to map coordinate system. The yaw valuable is a global variable therefore no localization is needed. By using P Control of yaw error, the car can be driven to follow the path.