CS361 - Project 3 2324
CS361 - Project 3 2324
• Form a group of 2-3 students, and send your group details (Name in Arabic, academic No., email
address) to Course Instructor before end of 8th week.
• Read and understand the problem stated below.
Project Description:
Path Planning is a fundamental problem in robotics; it consists of to find an optimal free-obstacle path for a robot
from a starting position to a given destination (a goal). There are many approaches to solve this problem, one of
the most common and widely used is the famous A Star search.
The aim of this project is to design and implement the A* searching technique for solving the path planning
problem. Assume that the environment of the robot is represented by a grid map in which the initial and goal
states (current location and the destination) are clearly localized on the map. Some cells of the map contain
obstacles the robot cannot traverse them to reach the goal. The robot can move horizontally, vertically or
diagonally from a cell to another neighbor free cell (the maximum number of reachable neighbor cells with one
transition is 8).
The following figure illustrates the environment of the robot:
1
Project Objective:
1. Formulate the search problem by defining the initial state (e.g., (1, 1)), goal state (e.g., (100, 100)), and
the successor function that generates valid neighboring states for a given state. [4 marks] (CLO 2.2)
2. Define an adequate data structure to represent each state during the search process. [2 mark] (CLO 2.2)
3. Define a data structure to represent the list fringe containing unexpanded nodes. [2 mark] (CLO 2.2)
4. Write a java/python function implementing A* to explore the solution space of the searching problem and
find the optimal path. [4 marks] (CLO 2.3)
5. Test your program on randomly generated test problems on grids of size 100x100 and varying the
percentage of obstacles from 10 to 90 by steps of 10. [2 marks] (CLO 2.3)
6. For each type of problem (the number of obstacles is fixed) generate 20 random problem tests. The total
number of runs of your code is 180. [2 marks] (CLO 2.3)
7. Analyze and comment your results. Provide for each type of problem the average time, the worst case, the
best case. Draw a figure summarizing all results. Interpret your results. [4 marks] (CLO 2.3)
8. Deployment: Test your A* implementation in a simulated small-scale environment. Consider using
platforms like MATLAB Robotics System Toolbox
https://www.mathworks.com/discovery/path-planning.html [2 marks] (CLO 2.3)
2
9. Project Deliverables: Submit a report via Blackboard before the deadline. The report should include: [3
marks] (CLO 3.1)
10. Develop a graphical user interface (GUI) for visualizing the robot's path-planning process Bonus [2
marks]