top of page

A* Graph Search (Motion Planning)

Motion planning consists in finding a set of configurations that will take a robot from a start point to a destination.

Here I implemented the A* Search algorithm to find the minimum-cost path to travel through a graph or set of nodes. 

 

​First, it takes as input an array of nodes where each one represents a coordinate X-Y valid for the robot to travel to. Each node also has the distance to the goal. Also as input, it takes an array of edges, and each edge represents the distance or cost-to-go from one node to another.​

This method searches though the set of nodes and evaluates the cost-to-go of its edges. It uses a list called 'CLOSED', where it saves the nodes that evaluates with each iteration. With each node, it evaluates all neighboors and their edge with the cost-to-go to each one, and chooses the best. 

Finally, a path is generated by connecting the nodes with the most cost-effective edges from the start to the goal node.

A* Search Algorithm

I used Python 3.7 to develop this program, with the libraries numpy and csv. I also used the library 'modern_robotics' provided in the Modern Robotics wiki website.
http://hades.mech.northwestern.edu/index.php/Modern_Robotics
For the simulations, I used the software V-REP EDU PRO software.

python.png
v-rep-pro-edu.png

I followed the assignments in the Course 4: Motion Planning, which is part of the online specialization Modern Robotics: Mechanics, Planing and Control, offered by Nortwestern University and Coursera.

f76415d3d9779400d610a0f089f551e5.jpg
nu-horizontal.gif

©  2022 by Marissa Campa. Created with Wix.com

bottom of page