Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektewise24:projekt6:planung

Dies ist eine alte Version des Dokuments!




Projektplanung Nerf-Bot

Einführung

Wir möchten einen mobilen Roboter bauen, der mithilfe visueller Gesichtserkennung eine NerfGun oder eine selbers Designte und umgesetzte Alternative ausrichten und auf die erkannte Person abfeuern kann. Der Roboter soll außerdem in der Lage sein, ein bestimmtes Areal zu patrollieren.

Ziele und Prioritäten

Was der Roboter auf jeden Fall tun muss

  • Automatisches erkennen von Zielen
  • Automatisches und präzises Ausrichten der Nerf Gun
  • Automatisches Schießen

Was der Roboter tun sollte

  • 360 Grad horizontale und große vertikale Scan Area
  • mobil und beweglich, in der Lage Ziele zu verfolgen oder sich zurückzuziehen

Nice to have

  • Manuell steuerbar per Fernsteuerung oder PC
  • Live Kamera Feed
  • Automatische Rückkehr zu einem Home-Point
  • Bewegung des Turrets unabhängig von Base-Bewegung

Was wir weglassen

  • Automatisches Nachladen des Magazins on Board oder in einer Ladestation

Aktivierungs Szenario

Der Roboter überprüft nach seiner aktivierung, ob alle Systeme (Gun, Kamera, Räder) ordentlich funktionieren, und bricht das Programm bei einem Fehler ab um eine Error-Message auszugeben. Ist alles funktionstüchtig, so beginnt der Roboter zu patroullieren und scan dabei nach Zielen. Wird ein Ziel erfasst, so wird gezielt und dann geschossen. Verliert der Roboter sein Ziel, so bleibt er in einem „Awareness“-Zustand, während dessen er den Bereich, in dem das Ziel zuletzt gesehen wurde, im Blick behält und weiterhin sucht. Nach ablauf eines bestimmten Awareness-Cooldowns fährt der Roboter fort, zu patroullieren. Kann geschossen werde, so wartet der Roboter kurz nach jedem Schuss, dieser Colldown soll anpassbar sein, und überprüft dann, ob noch Munition vorhanden ist. Falls nein werden die gespeicherten Bewegungsdaten genutzt, um zurück zum Anfangspunkt zu fahren, ansonsten fährt das Programm normal fort.

Vorläufiger Ablaufplan:

  1. Design
    1. base vordesignen
    2. Ziele festlegen
  2. Kamera und Ziel Erkennung
    1. funktionierendes Kamera Setup
    2. AI-Gesichtserkennung
    3. entsprechenden output
  3. Schießen
    1. falls nötig: eigene Gun Bauen
    2. Nerf einbauen
    3. Nerf schießen
    4. Nerf bewegen
      1. 360 Grad drehen (Horizontal)
      2. Hoch und runter (Vertical)
    5. Magazinerkennung (voll, leer, wie viele Darts übrig)
  4. Zielen
    1. automatisches bewegen anhand Kamera Output
      1. searching (kein gesicht)
      2. aiming (gesicht erkannt, Nerf wird bewegt um zu zielen)
      3. firing (Nerf schießt sobald ausgerichtet)
  5. Bugs fixen und Code cleanen
  6. User input
    1. remote controlled manuelles zielen, schießen
    2. kamera live feed
  7. Mobil machen
    1. Base neu designen
    2. Räder anbauen
    3. Neuen Code für Verfolgung von erkannten gesichtern
      1. zu nah dran/ zu weit weg
    4. automatisches zurückziehen/parken wenn Munition alle
    5. patroullieren
    6. manuelles fahren

Möglichkeiten für Face-Tracking:

  • Arduino kompatible Kamera (ESP32 10€, OpenMV Cam 90€)
    • –>benötigt viel und sehr komplexen Code, Elektronik
  • Webcam und OpenCV/LFK_Face_Tracking über einen Laptop
    • –>Software und Code zu großen teilen breits vorhanden
    • –>Problem: Wireless Verbindung zwischen Webcam→PC→Arduino ab Schritt 5
    • –>Möglichkeit schon mal anzufangen und sobald es funktioniert Bluetooth einzubauen (neues Wireless Webcam und com zwischen PC und Board)

Materialien

Benötigt werden vorallem:

  • NerfGun, falls möglich motorisiert oder alternativ ein eigenes Design
  • Arduino kompatible Kamera
    • Webcam mit Bluetooth (Bluetooth receiver)
    • Esp32-Cam + FTDI-Programmer oder OpenMV Cam H7 Plus
  • Arduino Uno oder Mega
  • Jumper-Kabel
  • Motoren
    • 2x Servo für Two-Axis-Turret Rotation
    • 2x Servo für Räder und Base-Rotations-Steuerung
    • 1x für Trigger falls mechanisch statt elektrisch

Risiken

Aufgrund hoher Komplexität bei Arbeit mit AI und Gesichtserkennung kann die Fehlerbehebung bei nicht funktionierendem Face Tracking sehr kompliziert und langwierig werden, was Arbeitszeit von andern Teilen des Projekts kosten kann. Dadurch besteht das Risiko, dass wir nicht alle unserer Vorgenommenen Ziele erarbeiten können. Auch sind wir nicht nur von der Funktionstüchtigkeit der Kamera und der Erkennungs-Software abhängig, auch die Nerf muss brauchbar sein und bleiben, und muss vom Arduino angesteuert werden können. Dies kann vorallem ein Problem sein, wenn der Trigger-Mechanismus mechanisch und nicht elektronisch funktioniert.

projektewise24/projekt6/planung.1734264890.txt.gz · Zuletzt geändert: 2024/12/15 13:14 von uszer