...
If you haven’t already, create an account on GitHub. You can use either your UW email or something else. Otherwise, log in with the GitHub account you would like to use with WARG.
Click on the Fork button (towards the top right, above the About section).
Click on the green Create fork button.
GitHub redirects you to your own copy of the repository.
Git setup (General for all autonomy projects)
Include Page | ||||
---|---|---|---|---|
|
...
If you haven’t already, activate the virtual environment.
Follow the instructions in the tasks below.
Code away! Run the tests! Please follow our style guide: Python Style Convention
Ask questions if you need help!
Linter Make sure the linter and formatter commands for reference:pass:
Running Black is sufficient for it to pass:
black .
Flake8 outputting nothing is a pass:
flake8 .
Pylint outputting a code rating of 10.00/10 is a pass (9.99/10 is not passing):
pylint modules
Make a commit:
Check which files have changed:
git status
Run:
git add [files you changed]
, where[files you changed]
are the files you want to add to the commit.Use
git add .
if you want to add all of them (the dot means wildcard in Git).
Run:
git commit -m "Your commit message"
When you’re ready to push your latest commits to GitHub:
git push
No harm in doing this after every commit.
When you’re done, make sure to either close the terminal or run:
Windows command prompt:
venv\Scripts\deactivate.bat
Everything else:
deactivate
This is important to avoid going to a different project and then accidentally polluting your current project’s virtual environment.
...
Info |
---|
Machine learning uses a LOT of memory (approximately 3-4GB of RAM). Make sure your computer has enough to spare. |
The linters and formatters should also pass:.
Name | Command | Description | Passing criteria |
---|---|---|---|
Black |
...
| Black is a formatter that edits the code layout (e.g. indentation, multiline). |
...
Running Black is sufficient for it to pass. | |||
Flake8 |
| Flake8 is a linter that reports whether function and methods are correctly type annotated. | Flake8 outputting nothing is a pass. |
Pylint |
...
| Pylint is a general linter. | Pylint outputting a code rating of 10.00/10 is a pass. It must be exactly 10.00 , so 9.99/10 is not passing. |
Info |
---|
I don’t know what to do! I have no idea what’s going on! When you get stuck, the first thing to do is to find documentation and examples. Then, experiment! Use the debugger and print statements to figure out what’s going on. If you’re still stuck, then reach out for help, bringing the information of what you tried and what worked/didn’t work. Independence and problem solving skills are important for the Autonomy subteam, as members are students volunteering their limited time, and often themselves don’t know either. That being said, we don’t expect you to know everything about the system from day 1, so asking questions is expected. |
...
Note |
---|
Hints:
|
Task 2: Running the simulator
...
Your task is to implement the code in __init__()
and run()
to travel to and land at the designated waypoint if the drone is within self.acceptance_radius
.
Once your code is implemented, the simulator should exit after the drone lands, which should occur within 60 seconds of start. The difference between the coordinates of the drone position and waypoint under the text file in log/
should be less than 0.1 . You can also confirm with the screenshot.
The linters and formatters should also pass.
Note |
---|
Hints:
|
Note |
---|
Bonus:
|
...
Once your code is implemented, the simulator should exit after the drone lands, which should occur within 60 seconds of start. The difference between the coordinates of the drone position and the landing pad under the text file in log/
should be less than 0.1 . You can also confirm with the screenshot.
The linters and formatters should also pass.
Note |
---|
Hints:
|
...