Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



16 Commits

Repository files navigation

CSE 571 Homework 3

For the homework 3, we're going to implement motion planning methods: A*, RRT, RRT*. For the details, please check the homework 3 pdf file. What you need to do is to fill in some parts marked with TODO of the files stated in


  1. You may only modify the files we mention (those in the script). We will not grade files outside of these.
  2. You may not change the signatures or return types of functions; otherwise you will fail our tests. You may add object fields (e.g. or helper functions within the files.
  3. You may talk with others about the homework, but you must implement by yourself.
  4. Feel free to test as you go and modify whatever you want, but we will only grade the files from

Environment setup

As you did in Homework 0, you may use the same conda environment robotics-class.
In this case, we are using a different repo and not creating a new environment:

git clone
cd cse571-hw3
conda deactivate
conda activate robotics-class

If there is an update from the repository, you may need to pull from the remote repository. Note that the branch in this repository is called main (

git pull origin main


  1. Every planner returns PlanResult instance from plan function. Please check if you return the actual values (including elapsed time) in the PlanResult instance. This may be used in grading.
  2. Do not implement and use a custom sampling or random function other than the provided functions (MapEnvironment.sample, CarEnvironment.sample). Using a custom sampling or random function may cause problems in grading.

Turn it in

Run the script by running:


This will create the file in your directory with all the code you need to submit. Submit to Homework 3 (Programming problems) at gradescope.