Το έργο μας για τον 1ο Πανελλήνιο Διαγωνισμό Ρομποτικής & Physical Computing Ανοιχτών Τεχνολογιών
Το έργο μας έχει σαν σκοπό το σχεδιαμό και τη δημιουργία ενός ρομπότ το οποίο θα συμβάλει στην άμβλυση της εγκληματικότητας σε δημόσιους χώρους στο βαθμό της πρόληψης. Συγκεκριμένα, με τη χρήση κάμερας θα "σαρώνει" με προκαθορισμένη συχνότητα ή μετά από οπτικό ερέθισμα, ένα δημόσιο χώρο (βλ. εμπορικό κέντρο, συναυλιακό χώρο, γήπεδο, κτλ) και θα εντοπίζει φονικά αντικείμενα όπως όπλα διαφόρων μοντέλων. Στην περίπτωση εντοπισμού, άμεσα θα προχωράει σε μια σειρά προκαθορισμένων ενεργειών, όπως για παράδειγμα η ενημέρωση ενός κέντρου διαχείρισης. Επίσης, θα έχει τη δυνατότητα να εντοπίζει σεσημασμένους κακοποιούς "σκανάρωντας" πρόσωπα που βρίσκονται στον ίδιο χώρο και να ενημερώνει τη σχετική Αρχή.
Για την υλοποίηση του παραπάνω έργου θα χρειαστούμε τον παρακάτω εξοπλισμό:
- Raspberry Pi 3 - Model B+
- Raspberry Pi Camera Module V2 (8MP,1080p)
- 16GB Micro SD - TRANSCEND Class 10
- 3x Αισθητήρας Υπερήχων 2 - 400cm SR04
- Servo Standard 6kg.cm Plastic Gears (Feetech FS5106B)
- USB Powered Speakers
- Arduino UNO
- 3x Μπαταρία Λιθίου 18650 3.7V 3350mAh
- Μπαταριοθήκη 3x18650 - με Καλώδια
- Lithium Battery Charger and Protection Module 1A - TP4056
- Μετατροπέας DC-DC Step-Up 2-24V 2A - SX1308
- 3D PRINTING filaments
Τα μέρη του ρομπότ εκτυπώθηκαν από 3D εκτυπωτή που κατασκευάστηκε από τους μαθητές σε παρελθόντα χρόνο. Τα σχέδια του ρομπότ δημιουργήθηκαν με το FreeCAD και σε αυτή την περίπτωση αγοράστηκαν τα νήματα για την εκτύπωση (περίπου 2 κιλά). Όμως, η κατασκευή θα μπορούσε να υλοποιηθεί και με έτοιμα μέρη του εμπορίου τα οποία συναρμολογούνται.
Λειτουργία
Αρχικά, για να δουλέψει σωστά η εφαρμογή, θα πρέπει να εκπαιδεύσουμε το ρομπότ να αναγνωρίζει τα πρόσωπα μιας σειράς συγκεκριμένων ατόμων των οποίων (εν τω προκειμένου των μελών της ομάδας). Έχουμε φτιάξει μια εφαρμογή η οποία φψτογραφίζει 40 φωτογραφίες ενός ατόμου και τις αποθηκεύει με έναν αύξον αριθμό στον φάκελο Dataset. Η εfαρμογή είναι γραμμένη σε python και είναι η faceToDateset. Στη συνέχεια, μια δεύτερη εφαρμογή, η faceTrainer δημιουργεί με τα περιεχόμενα του φακέλου Dataset (φωτογραφίες) το αρχείο "trainer.yml" το οποίο χρησιμοποιείται από το κυρίως πρόγραμμά μας για να αναγνωρίσει τα πρόσωπα.
Η αναγνώριση γίνεται "τρέχοντας" το αρχείο main.py