By the way, is there anyone on board who knows how to fly a plane?
The new 2021-2022 auto-aim vision system.
Visit the online documentation
The system design is described in the System Architecture section of our documentation. We highly recommend reviewing it to get a sense of Project Otto.
Project Otto was originally designed and planned in the Auto-aim system end-to-end specification (requires ARUW Drive access). The document is outdated in some ways but still provides a strong reference.
Start with the linked resources and Project Otto Edu tutorial series. It will guide you through learning how to work with Project Otto.
See Development set-up.
- Correctness checks
poetry run test: run unit testspoetry run ui-test: run typing "user interface" tests (requires Pyright)poetry run update-snapshots: updates the snapshots captured by "snapshot tests"- This is only necessary if snapshot tests are failing (including new tests added). (requires Pyright)
poetry run typecheck: check code for type correctness (requires Pyright)
- Policy checks
poetry run lint: run all linter stepspoetry run format: run auto-formatters
- Combined checks
poetry run check: runs lint, typecheck, test, and ui-test (requires Pyright)- Passing this is a requirement prior to submitting a merge request.
- Dependency management
poetry add <package_name>: add and install package dependencypoetry update: update dependenciespoetry run relock: ensure lockfile is up-to-date (alias forpoetry lock --no-update)poetry install: install all required dependencies- This should be run frequently, e.g. whenever you pull or switch branches.
- Documentation
poetry run gen-docs: generate static documentation page indocs/_build/htmlpoetry run serve-docs: serve the generated documentation locally athttp://localhost:8000/poetry run clean-docs: delete generated documentation- This is necessary to pick up changes to
theme.cssand other static files.
- This is necessary to pick up changes to
See the Operations Guide.