zauberzeug / field_friend

A Development Platform for Mechanical Weeding.

Home Page:https://feldfreund.de

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Field Friend rendering

Zauberzeug Field Friend

This is the full source code of the Field Friend (aka Feldfreund) weeding robot. The software is based on RoSys and fully Open Source. The hardware is build by Zauberzeug and intended as a platform to advance organic and regenerative agriculture.

Features

  • full control via web interface
  • manual steering with touch-joystick and keyboard
  • camera/motor calibration for real world coordinate system (unit: meters)
  • ...

Getting Started

Run these commands on your local machine to start the Field Friend simulation:

git clone git@github.com:zauberzeug/field_friend.git
cd field_friend
python3 -m pip install -r requirements.txt
./main.py

This will open the user interface with a simulated robot in your browser.

NOTE: The software is intended to run on Linux and Unix systems. If you are using windows please consider running in a Docker container or virtual machine.

On Real Hardware

Development

The following instructions will only work if you have a real "Zauberzeug Field Friend" at your disposal. Contact sales@zauberzeug.com if you are interested in a non-profit purchase of this development hardware.

Setup

  1. ensure you can login via ssh without providing a password (via ssh-copy-id command)
  2. ensure you have LiveSync installed with
    python3 -m pip install livesync
  3. ensure the latest version of the docker image is installed on the Field Friend by syncing the code as described below and then running
    ./docker.sh uppull
  4. Optional: ensure the correct docker containers are loaded on startup by running
    ./docker.sh stopall && ./docker.sh uppull && ./docker.sh install
  5. Optional: update the Lizard microcontroller firmware on your Robot Brain by accessing the Field Friend web interface and navigating to the "Developer" options

Deploy and Change Code

  1. go to your local field_friend folder and start the LiveSync script:
    ./sync.py <ssh-host-name-of-field-friend>
  2. this will deploy your local code to the Field Friend
  3. as long as LiveSync is active, all code change are automatically pushed to the machine
  4. any code changes will automatically trigger a reload on the Field Friend

Update RoSys and NiceGUI

To utilize personal versions of RoSys and NiceGUI instead of the default ones provided in the docker image, modify the sync.py file by uncommenting the specific folders.

Debugging

You can see the current log with

./docker.sh l rosys

About

A Development Platform for Mechanical Weeding.

https://feldfreund.de

License:MIT License


Languages

Language:Python 98.7%Language:Shell 0.9%Language:Dockerfile 0.5%