Path & Motion Planning for Autonomous Robots
Robot Maze Navigation
​
Coded in C++.
A robot navigates through a maze to reach the center.
A program computes a path from the current position (S) of a robot in a maze to the center of the maze (G). Once a path is generated, the robot is tasked to follow the path. The micromouse simulator (https://github.com/mackorone/mms) is used to visualize the result. The program exits when either the robot reaches G or there is no solution from S to G.

Motion Planning on Baxter
​
Pick and place operation of an object performed by a Baxter arm in simulated environment avoiding the obstacles on the table. Two blocks are placed, one on each table. Each block is picked from its current table and placed safely on the other table, starting with the red block.
Path Planning using Dijkstra's Algorithm for a Rigit Robot
​
Using the half plane method to form the configuration space from the obstacle space using Minkoski distance we implement Dijsktra's algorithm. Using OpenCV package from Python we simulate the final output where the rigid robot traverses from the start position to the goal position.
​
The rigid robot is a customizable circular robot which has its dimensions being defined by the user on input. The rigid robot maintains a certain clearance distance from the obstacles which is also defined by the user on input.
Dijkstra algorithm is implemented to find an optimal solution from the start position to the goal position where priority queue is used which pops the last element but also pops the element which has the least cost attached to it. In Djikstra when we reach an already visited node forming a new path, the cost and the parent node is updated which ensures that the most efficient path is taken to reach the goal.
All the various paths are traversed from the initial node to the goal node and then the path with the least total cost is selected to find the optimal solution.
​


Path Planning of a TurtleBot
​
Coded in Python and simulated in V-rep, A* Search Algorithm used to path plan a non-holonomic turtlebot.
8 Puzzle Game Solver
​
Coded in Python. Brute Force Search Algorithm used to solve an 8 puzzle solver from the initial state provided by the user. Backtracking implemented to obtain the solution tree from the parent node.
