Skip to content

ben-sheng/ernte_elite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌾 Ernte Elite

Ernte Elite is an AI-driven agricultural automation system running on Raspberry Pi.
It integrates AI vision, OCR, and robotic arm control for intelligent field and lab automation.


🧩 Project Overview

Folder Description
app/ Backend web service (API + frontend serving).
libs/ AI model libraries, OCR utilities, and SDKs (e.g., Igus robotic arm).
robot/ Robotic arm control logic and Jupyter notebooks.
web/ Frontend web interface source code.
daten/ Collected AI and experiment data.

🧠 Features

  • Real-time AI inference using TensorFlow Lite (tflite-runtime)
  • OCR recognition with PaddleOCR
  • Image processing via OpenCV
  • Robotic arm control through Igus CRI SDK
  • Auto-starting JupyterLab for web monitoring and control
  • Built-in Wi-Fi hotspot for local access
  • Direct Ethernet connection with the robotic arm

⚙️ System Requirements

Component Specification
Hardware Raspberry Pi 4 (4GB/8GB)
Operating System Debian GNU/Linux 12 (Bookworm) — 64-bit
Python Version 3.11.2 only
Optional Camera module for AI vision
Required Igus robotic arm and Yahboom gripper module

🚀 Installation Guide

Step 1. Enable VNC and I2C

  1. Open Raspberry Pi Configuration:
    sudo raspi-config
  2. Enable VNC under
    Interface Options → VNC → Enable
  3. Enable I2C under
    Interface Options → I2C → Enable

Step 2. Configure Raspberry Pi Hotspot

  1. Open Wi-Fi Settings and configure Raspberry Pi as a hotspot (e.g., name: pi_hotspot).
  2. Choose WPA & WPA2 Personal and choose a password
  3. Enable auto-connect on boot:
    sudo nmcli connection modify pi_hotspot connection.autoconnect yes

Step 3. Configure Ethernet

  1. Open Network SettingsWired Connection
  2. Set the static IP configuration:
    • priority: 99
    • Method: manuel
    • IP Address: 192.168.3.10
    • Subnet Mask: 255.255.255.0
    • Gateway: 192.168.3.1
    • DNS: 192.168.3.1
  3. This ensures the robotic arm and Raspberry Pi are on the same network.

Step 4. Enable SSH Password Login

sudo nano /etc/ssh/sshd_config

Update the following lines:

PermitRootLogin yes
PasswordAuthentication yes

Then restart SSH:

sudo systemctl restart ssh

Step 5. Install JupyterLab

pip install jupyterlab --break-system-package

If you see a PATH warning:

echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
source ~/.bashrc

Then deploy "ernte_elite" Programm code

in Pycharm, click on the Programm --> Deployment --> deploy to ernte_elite

Step 6. Enable Auto Start for JupyterLab

Create the service:

sudo nano /etc/systemd/system/jupyterlab.service

Paste:

[Unit]
Description=JupyterLab
After=network.target

[Service]
User=pi 
ExecStart=/home/pi/.local/bin/jupyter-lab --ip=0.0.0.0 --port=8888 --no-browser
WorkingDirectory=/home/pi/ernte_elite
Restart=always

[Install]
WantedBy=multi-user.target

Then enable and start:

sudo systemctl daemon-reload
sudo systemctl enable jupyterlab
sudo systemctl start jupyterlab

Step 7. Install Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker pi
sudo reboot

Step 7. Install Required AI Packages

pip install tflite-runtime --break-system-packages
pip install opencv-python --break-system-packages
pip install paddleocr --break-system-packages
pip install paddlepaddle==2.6.2 --break-system-packages

Step 8. Fix NumPy Compatibility

pip install -U numpy==1.26.4 --break-system-packages

Step 9. Install Robotic Arm SDK

cd /home/pi/ernte_elite/libs/igus-cri-python-lib
pip install . --break-system-packages

Step 10. Install Yahboom Gripper Library

cd /home/pi/ernte_elite/libs/py_install
sudo python3 setup.py install

Step 11. Deploy "app" (on raspberry pi)

cd ernte_elite
docker compose build --no-cache
docker compose up -d

Step 12. Build Web(in pycharm)

cd web
npm run build

🌐 Access Web Interface

After reboot, JupyterLab will auto-start.
Access it from any device connected to the hotspot:

http://(ip-adress):8888

copy the token from:

sudo systemctl status jupyterlab

and past it into jupyterlab Interface and set the new password


🧰 Maintenance

Restart JupyterLab manually:

sudo systemctl restart jupyterlab

View logs:

journalctl -u jupyterlab -n 30

How to train AI

1. Upload and annotate the image in Roboflow
2. Anootate Every Picture
3. Move them to "Dataset"
4. Click "Version"
5. Run through the steps
6. Click "Download Dataset"
7. Choose "Show download code"
8. Copy the URL that is shown
9. Train the YOLOv8s model with the Ultralytics library(https://colab.research.google.com/drive/10UOMV4dm-H_-0qPE-noP1Q4AdeQOFWek#scrollTo=4HNIA3TT0-5J)
10. Exchange the URL

UML-diagram

UML Diagramm


🪪 License

© 2025 Ernte Elite Project — All rights reserved.
Developed by Ao Sheng for AI and robotic automation research.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •