General Instructions
This (and every) assignment has a written part and a programming part.
The full assignment with our supporting code and scripts can be downloaded as car.zip.
All written answers must be in order a
...
General Instructions
This (and every) assignment has a written part and a programming part.
The full assignment with our supporting code and scripts can be downloaded as car.zip.
All written answers must be in order and clearly and correctly labeled to receive credit.
You should modify the code in submission.py between
# BEGIN_YOUR_CODE
and
# END_YOUR_CODE
but you can add other helper functions outside this block if you want. Do not make changes to files other than submission.py.
Your code will be evaluated on two types of test cases, basic and hidden, which you can see in grader.py. Basic tests, which are
fully provided to you, do not stress your code with large inputs or tricky corner cases. Hidden tests are more complex and do stress your
code. The inputs of hidden tests are provided in grader.py, but the correct outputs are not. To run the tests, you will need to have
graderUtil.py in the same directory as your code and grader.py. Then, you can run all the tests by typing
python grader.py
This will tell you only whether you passed the basic tests. On the hidden tests, the script will alert you if your code takes too long or
crashes, but does not say whether you got the correct output. You can also run a single test (e.g., 3a-0-basic) by typing
python grader.py 3a-0-basic
We strongly encourage you to read and understand the test cases, create your own test cases, and not just blindly run grader.py.
This assignment is a modified version of the Driverless Car assignment
written by Chris Piech.
A study by the World Health Organization found that road accidents kill a
shocking 1.24 million people a year worldwide. In response, there has been
great interest in developing autonomous driving technology that can can drive
with calculated precision and reduce this death toll. Building an autonomous
driving system is an incredibly complex endeavor. In this assignment, you will
focus on the sensing system, which allows us to track other cars based on
noisy sensor readings.
Getting started. Let's start by trying to drive manually:
python drive.py -l lombard -i none
You can steer by either using the arrow keys or 'w', 'a', and 'd'. The up key
and 'w' accelerates your car forward, the left key and 'a' turns the steering
wheel to the left, and the right key and 'd' turns the steering wheel to the right.
Note that you cannot reverse the car or turn in place. Quit by pressing 'q'.
Your goal is to drive from the start to finish (the green box) without getting in an accident. How well can you do on crooked Lombard
street without knowing the location of other cars? Don't worry if you aren't very good; the teaching staff were only able to get to the finish
line 4/10 times. An accident rate of 60% is pretty abysmal, which is why we're going to build an AI to do this.
a. This icon means a written answer is expected in car.pdf.
b. This icon means you should write code in submission.py.
[Show More]