====== HW 01 - Grid-based Path Planning ====== The main task of the homework is to implement a grid based path planning approach that will guide the simulated robot through the maze. The homework focus on integration of individual essential phases of map preprocessing, path planning and plan execution. ^ **Deadline** | 6. November 2017, 23:59 PDT\\ Deadline moved ^ ^ **Label in BRUTE** | HW01^ ^ **Files to submit** | archive with ''.py'' files except the ''eval.py'' and ''eval_functions.py'' scripts,\\ and the ''hexapod_vrep'' directory ^ ^ **Mandatory tasks** | **10** Points ^ ^ **Resources** | {{:courses:b4m36uir:hw:lab04.zip| lab04_resource_files}}\\ {{:courses:b4m36uir:labs:scenes.zip| maze1.ttt}} ^ ^ Mandatory tasks - Modify the ''planner.py'' script to implement the following phases of grid-based path planning: ||^ ^ **2** points | **Map preprocessing** - address the problem of robot embodiment (the robot can safely navigate at the distance of 0.3m from obstacles).\\ Consider all the provided maps to have cell size of 0.1m || ^ **5** points | **Path planning and trajectory smoothing** - address the problem of effective path planning by selecting suitable grid-based path planning approach (select one): || ^ | DFS | **2** points | ^ | BFS | **2** points | ^ | DT | **3** points | ^ | Dijkstra | **3** points | ^ | A* | **3** points | ^ | Theta* | **4** points | ^ | JPS | **5** points | ^ | D* lite | **5** points | ^ **3** points | **Plan execution** - address the problem of plan execution with a simulated robot in V-REP simulator. Demonstrate the functionality of your solution on the ''maze1.ttt'' scenario. || === Evaluation - how will be the homeworks evaluated === The solution will be evaluated with a modified version of the ''eval.py'' function. The minimum evaluation function example is: import sys import map as mp import planner as pl import numpy as np #instantiation of map and planner map = mp.Map() planner = pl.Planner() ################################################ # Testing ################################################ #maze name, (size_x, size_y) in vrep, (offset_x, offset_y) for coordinates transformation, voxel_size, start_position in the map, goal_position in the map, execution flag test = ("./mazes/maze1.png",(10,8.6),(5,4.3),0.1,(92,75),(5,20),True) map.from_file(test[0],test[1],test[2],test[3]) start = test[4] goal = test[5] execute = test[6] ###################################### #path planning ###################################### path = planner.plan(map, start, goal) ###################################### #path execution ###################################### ret = planner.execute(map, start, goal) The planner method ''plan(map, start, goal)'' shall return a feasible path to given grid map with a voxel size of 0.1 m. The planner method ''execute(map, start, goal)'' shall guide the simulated robot through the environment.