Reference: An Algorithm for Planning Collision-Free Paths Among Polyhedral Obstacles by Lozano-Perez and Wesley.
Part I: Write a progam to do 2-D collision-free motion planning. Your program will take as input a set of ordered vertices of convex polygons which represents a set of obstacles in your world, along with a polygon representing the boundary (walls) of the environment. You will grow the obstacles by the size of the PER robot using the reflection algorithm and the convex hull algorithm discussed in class. Then, given an arbitrary start and end point in this environment, create a Visibility graph on these grown obstacles, and search it using Dijkstra's algorithm to find a safe, collision free path. Your JAVA program should use the provided framework to render all of the following:
Note your program should create a safe path (if one exists) for any
file of obstacles we give you, not just the test case.
Part II: Use your solution to generate path commands to have your PER
robot follow the solution. We will set up an obstacle course and see
which group's solution is the best: fastest and collision free.
NOTES:
To allow your team to focus on the algorithmic aspects of the assignment, a GUI and basic framework
is being provided to facilitate the loading of the files and rendering of the GUI.