Table of Contents
It is essential to develop techniques that allow a robot or any vehicle to automatically decide on how to move from one position or configuration to another. This can be done by finding a path that minimizes some cost or distance metric to reach to the ultimate goal. This project aims to study and test different such path planning algorithms for autonomous navigation of vehicles.
Following are some of the motion planning algorithms implemented on 2D space.
Since, in the real world, most of the robots move continuously through space, therefore, it is essential to have a complete specification of the position of every point in the system for motion planning. The configuration space of a robot is the set of all configurations and/or positions that the robot can attain.
It is used to calculate the shortest distance between the source (initial state) and the destination (final state). Here, a square grid is provided as a map which possesses many obstacles, scattered randomly. The initial and the final cells are known. The aim is to reach the final cell in the shortest amount of time.
It finds a shortest path tree from a single source node, by building a set of nodes that have minimum distance from the source. It has been found that A* is a more time efficient approach as it chooses which node to explore at the next iteration.
The artificial potential field repels the robot from obstacles and guides it to the desired location. A total potential function is generated as a sum of attractive and repulsive potential functions based on configuration space. The robot then continually evaluates the gradient of the artificial potential field and steps in that direction until it is close enough to the desired goal.
These fields are constructed based on a function that gives high values as it approaches towards the obstacles and low values as it moves away from them.
It is an alternate method to depict the same information, where the arrows indicate the direction of the gradient field at various locations in the configuration space.
The robot is steered by choosing the velocity based on the gradient of the total function.