Suche

Recycling Smart

Illustration mit Schülern, Laptop und Recyclingtonnen

Überblick

Sekundarstufe

Naturwissenschaft und Technik, Informatik

Künstliche Intelligenz, Machine Learning, Coding, Nachhaltigkeit

Deutsch

Auf einen Blick

Schlüsselwörter: KI, Machine Learning, Recycling, Objekterkennung, Nachhaltigkeit
Fächer: Informatik, Technik
Weitere Disziplinen: Umweltwissenschaften
Altersstufe der Schüler*innen: 14–18
Benötigte Vorkenntnisse: Grundkenntnisse im Programmieren (Python), Grundkenntnisse in Robotik, KI-Grundverständnis
Zeitrahmen: 4 x 2 Unterrichtsstunden
Mögliche Partner*innen: Softwareunternehmen, Recyclingunternehmen, andere Schulen

Benötigte Materialien/Hardware/Software

  • Hardware: Raspberry Pi, Webcam, Servomotoren (4), Steckbrücken, Coral USB Accelerator
  • Kartons/Schachteln (4)
  • Laptop
  • Raspberry Pi Betriebssystem

Autoren: Dr. Selçuk Yusuf Arslan, Timur Gündoğan (Türkei)
Ko-Autor*innen: Abdüssamed Kuru, Cafer Berat Gülsoy, Melissa Asya Yıldırım (Türkei)

Logo des UN-Nachhaltigkeitsziels 11: Nachhaltige Städte und Gemeinden  Logo des UN-Nachhaltigkeitsziels 13: Maßnahmen zum Klimaschutz

Inhaltsübersicht

Einführung in das Projekt
Anleitung für Lehrkräfte
Schritt-für-Schritt-Anleitung
Weitere Aktivitäten und Kooperationsmöglichkeiten
Berufsorientierung
Schlussbemerkung

Eine Liste aller im Folgenden erwähnten Links und Materialien finden Sie unter Materialien & Referenzen.

Zusammenfassung

Recyling ist ein wichtiger Schritt hin zu einer nachhaltigeren Welt. Die Recyclingquote variiert jedoch stark von Land zu Land. Die Türkei, in der dieses Projekt entwickelt wurde, hat im Vergleich zu vielen anderen Ländern mit 13 Prozent eine sehr niedrige Recyclingquote – der europäische Durchschnitt beträgt 46 Prozent.[1]
Das Projekt „Recycling Smart“ kombiniert die Fähigkeiten maschinellen Lernens mit Technologie zur Objekterkennung, um Recycling zu erleichtern und zu fördern. Werden recycelbare Abfälle wie Glas, Plastik oder Biomüll vor eine einfache Webcam gehalten, wird das Objekt erkannt und der richtige Behälter in einem Set aus Recyclingtonnen geöffnet. So wird Mülltrennung niedrigschwellig verständlich und macht mehr Spaß[2].

Auszug aus der Illustration zur Unterrichtseinheit

Recycling ist eine wichtige Praxis mit ökologischen, wirtschaftlichen und sozialen Vorteilen und sollte sowohl auf individueller als auch auf gesellschaftlicher Ebene unterstützt werden. Wenn Schulen das Prinzip der Mülltrennung und Wiederverwertung aktiv vermitteln, fördern sie das Umwelt- und Verantwortungsbewusstsein der jungen Generation und sensibilisieren die Schüler*innen dafür, wie sie zu einer nachhaltigen Zukunft beitragen können. Mithilfe von KI-Technologie lässt sich Recycling niedrigschwelliger und motivierender gestalten. Der Erwerb von Kenntnissen in KI-bezogenen Themenfeldern kann die Kreativität der Lernenden fördern und ihre Fähigkeit stärken, innovative Lösungen für die Herausforderungen der Zukunft zu entwickeln.

Dieses Unterrichtsmaterial beruht auf der Idee, Recycling mithilfe von KI-gestützter Objekterkennung zu erleichtern. Die Konstruktion und Programmierung eines intelligenten Recyclingsystems fördern Fähigkeiten in den Bereichen Künstliche Intelligenz und Robotik. Das Material basiert auf einem Projekt, mit dem Schüler*innen einer Berufsschule zum Recyceln motiviert werden sollten. Es wurde im Rahmen des Wahlfachs „Künstliche Intelligenz und Machine Learning“ entwickelt und gewann den ersten Preis in seiner Kategorie beim Wettbewerb des Atatürk Mesleki ve Teknik Anadolu Lisesi in Ankara sowie den ersten Preis beim Wettbewerb „STEM Alliance – Lenovo Competition 2023: Turning Waste into Educational Wonder“. 

Recycling ist eine Praxis mit vielen wichtigen Vorteilen: Schonung natürlicher Ressourcen, Energieeinsparung, Abfallvermeidung, Umweltschutz, Schaffung von Arbeitsplätzen und Förderung von Nachhaltigkeit. Recycling kann dazu beitragen, den Verbrauch natürlicher Ressourcen zu reduzieren, und ermöglicht die Wiederverwendung von Rohstoffen, was zu einer nachhaltigeren Nutzung der natürlichen Ressourcen führt, sie für künftige Generationen bewahrt und das ökologische Gleichgewicht erhält. Durch die Verringerung der Abfallmenge entfällt die Notwendigkeit, bestehende Mülldeponien zu erweitern oder neue Flächen zu erschließen. Dadurch verringern sich die Umweltbelastung und die Probleme der Abfallentsorgung. Schließlich schafft der Recyclingsektor auch Arbeitsplätze und trägt damit zum Wirtschaftswachstum bei.

Video des Umweltprogramms der Vereinten Nationen zum #ZeroWasteDay (auf Englisch mit optionalen automatisch übersetzten Untertiteln):

Zum Schutz Ihrer persönlichen Daten ist die Verbindung zu YouTube blockiert.
Mit Klick auf den Play-Button heben Sie die Blockierung auf. Gleichzeitig erhalten YouTube/Google personenbezogene Daten über Ihren Zugriff auf die Webseite.

Video abspielen

Anleitung für Lehrkräfte

Vor der praktischen Phase recherchieren die Schüler*innen zu Projekten, die mit Künstlicher Intelligenz und Objekterkennung arbeiten, und stellen diese in Referaten vor. So können sie sich im Vorfeld mit der grundlegenden Funktionsweise von Künstlicher Intelligenz und Machine Learning vertraut machen.

Im ersten Schritt wird das Betriebssystem auf dem Raspberry Pi installiert. Danach bekommen die Schüler*innen die Information, welche Bibliotheken sie installieren müssen, um die Anwendung zu programmieren. Die benötigten Bibliotheken und Quellcodes sowie ein bereits trainiertes Machine-Learning-Modell finden Sie in den einzelnen Arbeitsschritten auf dieser Seite bzw. zum Download in diesem Materialordner.

Die Schüler*innen sollten den Code selbst schreiben. Ausgehend von den vorhandenen Programmierkenntnissen entscheidet die Lehrkraft, welche Teile des Codes zur Verfügung gestellt werden und welche die Schüler*innen selbst ergänzen müssen. Zur leichteren Umsetzung des Projekts wird hier ein bereits trainiertes KI-Modell zur Objekterkennung bereitgestellt[3]; es ist jedoch auch möglich, mit Teachable Machine von Google selbst ein Modell zu trainieren und wie weiter unten beschrieben in den Prozess zu integrieren.

Wenn an Ihrer Schule Arduino statt Raspberry Pi genutzt wird und Ihre Schüler*innen keine oder nur wenige Vorkenntnisse in textbasiertem Programmieren haben, lässt sich das Projekt auch mit blockbasiertem Programmieren umsetzen. Einige Ansatzpunkte und Hinweise hierzu finden sich in dieser englischsprachigen Anleitung. Für jüngere Schüler*innen bietet unsere Unterrichtseinheit KI-Superkräfte für die Umwelt detaillierte Ideen und Anleitungen zum Einsatz von Lernrobotern und blockbasierter Programmierung in Verbindung mit dem Thema Mülltrennung.

Schritt A: Bibliotheken einrichten

Die Schüler*innen geben im Raspberry-Terminal die erforderlichen Befehle ein, um die benötigten Bibliotheken zu installieren.

sudo apt-get update

sudo apt-get upgrade

pip install tensorflow

pip install opencv-python

pip install numpy

pip install keras

pip install pigpio

pip install time

sudo apt-get update && sudo apt-get install python3-rpi.gpio

sudo apt-get update && sudo apt-get install python3-pigpio

sudo pigpiod

https://forums.raspberrypi.com/viewtopic.php?t=340847

CORAL USB:

echo "deb https://packages.cloud.google.com/apt coral-edgetpu-stable main" | sudo tee /etc/apt/sources.list.d/coral-edgetpu.list

curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

sudo apt-get update

sudo apt-get install libedgetpu1-std

sudo apt-get install libedgetpu1-max

##sudo pigpiod: Dieser Befehl muss bei jedem Neustart des Raspberry Pi ausgeführt werden, um die Steuerung zu aktivieren.

Schritt B: Den Code schreiben

Die Schüler*innen sollten den Code selbst schreiben. Um sie durch diesen Prozess zu leiten und sie bei der Umsetzung zu unterstützen, können Sie ihnen die folgenden Code-Beispiele und Erläuterungen an die Hand geben.

import os  # Bibliotheken importieren
import cv2
from pycoral.utils.dataset import read_label_file
from pycoral.utils.edgetpu import make_interpreter
from pycoral.adapters import common
from pycoral.adapters import classify
import pigpio
import time
import RPi.GPIO as GPIO
import numpy as np

# Pfad zum TFLite-Modell definieren (konvertiert für die Nutzung mit Edge TPU)
modelPath = '/home/admin/Desktop/TF/model_edgetpu.tflite'

# Pfad zur Datei "Labels" definieren, die mit dem Modell heruntergeladen wurde
labelPath = '/home/admin/Desktop/TF/labels.txt'

# GPIO-Pins für die Servomotoren definieren
servo1 = 23
servo2 = 24
servo3 = 25
servo4 = 21

# PWM (Pulsweitenmodulation) für die Servosteuerung über die Pigpio-Bibliothek initialisieren
pwm = pigpio.pi()
pwm.set_mode(servo1, pigpio.OUTPUT)
pwm.set_mode(servo2, pigpio.OUTPUT)
pwm.set_mode(servo3, pigpio.OUTPUT)
pwm.set_mode(servo4, pigpio.OUTPUT)

# PWM-Frequenz für die Servomotoren einstellen
pwm.set_PWM_frequency(servo1, 50)
pwm.set_PWM_frequency(servo2, 50)
pwm.set_PWM_frequency(servo3, 50)
pwm.set_PWM_frequency(servo4, 50)

# Ausgangspositionen der Servomotoren einstellen
pwm.set_servo_pulsewidth(servo1, 500)
time.sleep(1)
pwm.set_servo_pulsewidth(servo2, 500)
time.sleep(1)
pwm.set_servo_pulsewidth(servo3, 500)
time.sleep(1)
pwm.set_servo_pulsewidth(servo4, 500)
time.sleep(1)

# Funktion für die Klassifizierung eines Bildes mit dem zur Verfügung gestellten TF Lite Interpreter
def classifyImage(interpreter, image):
    size = common.input_size(interpreter)
    common.set_input(interpreter, cv2.resize(image, size, fx=0, fy=0, interpolation=cv2.INTER_CUBIC))
    interpreter.invoke()
    return classify.get_classes(interpreter)

def main():
    # Das Modell in den TF Lite Interpreter laden
    interpreter = make_interpreter(modelPath)
    interpreter.allocate_tensors()
    labels = read_label_file(labelPath)

    # Das Videoaufnahmegerät öffnen
    cap = cv2.VideoCapture(0)
    last_detection_cam = 0 #"cam" steht für "Glas"
    last_detection_metal = 0 #"metal" steht für "Metall"
    last_detection_plastik = 0
    last_detection_kompost = 0

    while cap.isOpened():
        # Einen Frame vom Videoaufnahmegerät erfassen
        ret, frame = cap.read()
        if not ret:
            break

        # Das Bild horizontal drehen
        frame = cv2.flip(frame, 1)

        # Das Bild klassifizieren und anzeigen
        results = classifyImage(interpreter, frame)
        cv2.imshow('frame', frame)

        # Informationen über das erkannte Objekt extrahieren
        detected_label = labels[results[0].id]
        confidence_score = results[0].score
        print(f'Detected Label: {detected_label}, Score: {confidence_score}')

        # Die Servomotoren entsprechend dem erkannten Objekt und Confidence Score steuern ['cam'=Glas]
        if detected_label == 'cam' and confidence_score > 0.9:
            pwm.set_servo_pulsewidth(servo1, 1700)
            last_detection_cam = time.time()
        elif detected_label == 'metal' and confidence_score > 0.9:
            pwm.set_servo_pulsewidth(servo2, 1700)
            last_detection_metal = time.time()
        elif detected_label == 'kompost' and confidence_score > 0.9:
            pwm.set_servo_pulsewidth(servo3, 1700)
            last_detection_kompost = time.time()
        elif detected_label == 'plastik' and confidence_score > 0.9:
            pwm.set_servo_pulsewidth(servo4, 1700)
            last_detection_plastik = time.time()

        # Servo-Positionen nach einer bestimmten Zeit zurücksetzen, wenn kein Objekt erkannt wurde
        if time.time() - last_detection_cam > 4:
            pwm.set_servo_pulsewidth(servo1, 500)
        if time.time() - last_detection_metal > 4:
            pwm.set_servo_pulsewidth(servo2, 500)
        if time.time() - last_detection_kompost > 4:
            pwm.set_servo_pulsewidth(servo3, 500)
        if time.time() - last_detection_plastik > 4:
            pwm.set_servo_pulsewidth(servo4, 500)

        # Überprüfen, ob die Taste q gedrückt wird, um die Schleife zu verlassen
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    # Das Videoaufnahmegerät freigeben und alle OpenCV-Fenster schließen
    cap.release()
    cv2.destroyAllWindows()

if __name__ == '__main__':
    main()

Schritt C: Das System konstruieren

Der Coral USB Accelerator, der maschinelles Lernen beschleunigen kann, lässt sich an jeden USB-Port des Raspberry Pi anschließen. Die Webcam wird ebenfalls per USB verbunden. Die Servomotoren werden wie folgt angeschlossen: Die schwarzen Kabel der Servomotoren werden mit dem Ground-Pin (GND) der Raspberry-Pi-GPIO-Anschlussleiste verbunden, die gelben Kabel mit den auf den Motoren angegebenen GPIO-Pins (23, 24, 25 und 21) und die roten Kabel mit dem 5V-Pin.

Diagram of connecting the servo motors to the raspberry pi
© Selçuk Yusuf Arslan/Science on Stage

Schritt D: Die Behälter bauen

Die Schüler*innen basteln Behälter aus Altkarton und beschriften sie entsprechend den Abfallarten, nach denen getrennt werden soll. Auch eine Farbkodierung bietet sich an. Die Servomotoren werden so an den Deckeln befestigt, dass die Behälter geöffnet und geschlossen werden können.

Two students preparing the smart recycling system
© Selçuk Yusuf Arslan/Science on Stage

Schritt E: Das System testen

Nun wird das TensorFlow-Lite-Modell heruntergeladen und der Ordner entpackt. Nach Abschluss all dieser Prozesse wird das System getestet, um zu prüfen, ob es korrekt funktioniert. Die Schüler*innen nehmen gegebenfalls Verbesserungen vor.

Hinweis zur Verwendung eines eigenen Machine-Learning-Modells: Die Schüler*innen können auch selbst recycelbare Gegenstände sammeln (Papier, Verpackung, Altmetall und Bioabfälle) und mit ca. 500 gut ausgeleuchteten Fotos auf Teachable Machine ein eigenes Modell trainieren und exportieren.

Weitere Aktivitäten und Kooperationsmöglichkeiten

Wenn die Konstruktion des Systems erfolgreich abgeschlossen ist, können die Schüler*innen ihre intelligenten Recyclingbehälter an einer geeigneten Stelle in der Schule aufstellen, damit die gesamte Schulgemeinschaft sie ausprobieren und davon profitieren kann. Über QR-Codes auf den Behältern könnte man darüber hinaus Feedback von der Schüler*innenschaft einholen. Beispiele für Fragen:

  • Macht dieses Projekt deiner Meinung nach Recycling leichter?
  • Was hat dir an dem Projekt besonders gefallen?
  • Was würdest du an dem Projekt verbessern?

Dies lässt sich mit einem Quiz erweitern, für das die Projektgruppe Multiple-Choice-Fragen selbst entwickelt hat, zum Beispiel:

  • In welche Tonnen gehören jeweils Verpackungsmüll und Altglas? (Die Farbkodierung kann sich je nach Land/Region unterscheiden.)
  • Welche dieser Abfallarten sind recycelbar? 
  • Warum ist Recycling wichtig?

Das in diesem Unterrichtsmaterial beschriebene Projekt kann flexibel ergänzt oder erweitert werden. Beispielsweise lassen sich weitere oder andere Abfallbehälter hinzufügen. Mit der Installation eines Distanzsensors im Innern des Behälters könnte über eine LED-Leuchte angezeigt werden, wenn der Behälter voll ist; ggf. könnte das System so programmiert werden, dass sich in diesem Fall der Deckel nicht mehr öffnet oder das Entsorgungsunternehmen automatisch per E-Mail um Abholung gebeten wird.

Das Projekt lässt sich außerdem auf außerschulische Orte erweitern. Die Schüler*innen könnten ihr Recyclingsystem in lokalen Einrichtungen wie Seniorenheimen oder Kindergärten präsentieren und/oder installieren, um alten Menschen und jüngeren Kindern bei der Mülltrennung zu helfen.

Berufsorientierung

Künstliche Intelligenz ist ein Feld, das neue Ideen und Innovationen fördert. Die Auseinandersetzung mit KI-bezogenen Themen kann dazu beitragen, Kreativität und lösungsorientiertes Denken zu stärken, und sollte ein wichtiger Baustein im schulischen Curriculum sein – nicht nur für diejenigen, die sich für Technologie interessieren, sondern auch mit Hinblick auf die allgemeine Berufsorientierung. Weiterführende Informationen und Ressourcen zur Berufsorientierung unter dem Aspekt von Künstlicher Intelligenz, insbesondere auch zum Thema „KI und Nachhaltigkeit“, finden Sie auf unserer Berufsorientierungsseite.

Schlussbemerkung

Das intelligente Recyclingsystem wurde in drei Schulen in der Türkei getestet. Die teilnehmenden Schulen hatten jeweils fünf Tage Zeit, das System zu implementieren. Die vor die Webcam gehaltenen Abfälle wurden mit etwa 95-prozentiger Genauigkeit erkannt. Die Lehrkräfte beobachteten die Schüler*innen in diesem Prozess, und in den schulinternen Evaluationen beschrieben die Schüler*innen die Nutzung des Systems als leicht, motivierend, unterhaltsam und zeitsparend, während die Lehrkräfte die einfache Handhabung und Anpassbarkeit lobten. Das Feedback wurde genutzt, um das Projekt weiter zu verbessern. Beim Finale der Future League von Science on Stage 2023 wurde eine erweiterte Version mit Behältern für Glas, Papier, Plastik, Biomüll, Batterien und Altmetall präsentiert.

Sehen Sie hier das Projektvideo des Teams für den Future-League-Wettbewerb:

 

Zum Schutz Ihrer persönlichen Daten ist die Verbindung zu YouTube blockiert.
Mit Klick auf den Play-Button heben Sie die Blockierung auf. Gleichzeitig erhalten YouTube/Google personenbezogene Daten über Ihren Zugriff auf die Webseite.

Video abspielen
Schliesse Suche