Skip to content

mongshil553/Path-Planning-and-Following-Using-AStar-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 

Repository files navigation

Path-Planning/Following-Using-AStar-Algorithm

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.


Path Planning

1. Result

 

2. Transformation Matrix

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.

3. Next Node Candidate Selection

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.

4. Heuristic Criteria

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.>

Path Following

1. Result

     

2. Angle Calculation

3. P Control

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.

Releases

No releases published

Packages

No packages published

Languages