Warning
This page is located in archive. Go to the latest version of this course pages.

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 lab04_resource_files
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.

courses/b4m36uir/hw/hw01.txt · Last modified: 2017/11/04 15:17 by cizekpe6