Dies ist eine alte Version des Dokuments!
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.
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.
Benötigt werden vorallem:
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.