This is the source code of the Feldfreund Dev Kit for autonomous outdoor robotics made by Zauberzeug. The software is based on RoSys and NiceGUI. The micro controller is programmed with Lizard.
Our agricultural weeding robot Feldfreund is based on this platform and is intended to advance organic and regenerative agriculture. There is also a ROS2 implementation based on this repository.
Please see the documentation for details on installation, setup and usage.
- create a virtual environment and activate it (you can skip this if you use uv, it creates and manages the venv for you):
uv venv -p 3.11
source .venv/bin/activate # to activate your virtual environment- install dependencies:
make sync # or directly:
uv sync- start your project:
uv run ./main.py- run your tests:
uv run pytestTo update your project configuration from the nicegui-template, run:
copier update --skip-answeredThis will prompt you to review and update your template settings interactively. If you changed a lot of the template files and have the feeling that not everything you expected to update was updated, you can also run:
copier recopy ./path_to_your_projectBe careful with this command, as it will overwrite any local changes you made to the template files. It's recommended to then thoroughly review the changes generated by copier with git.
pre-commit is a tool to help you manage and run pre-commit hooks in your code. It is used to check your code for e.g. extra whitespace or formatting errors before committing it. Install the pre-commit hooks by running:
pre-commit installYou can also run the hooks manually by running:
make pre-commit # which runs:
# pre-commit run --all-files