Skip to content

Agroecology-Lab/feldfreund_devkit

 
 

Repository files navigation

Feldfreund rendering

Feldfreund Dev Kit

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.

Development

  1. 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
  1. install dependencies:
make sync # or directly:
uv sync
  1. start your project:
uv run ./main.py
  1. run your tests:
uv run pytest

Updating template settings

To update your project configuration from the nicegui-template, run:

copier update --skip-answered

This 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_project

Be 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

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 install

You can also run the hooks manually by running:

make pre-commit # which runs:
# pre-commit run --all-files

About

A sturdy development platform for autonomous outdoor robotics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.9%
  • Other 1.1%