Σχεδιασμός και κατασκευή ενός υβριδικού αμυντικού αυτοματοποιημένου ρομποτικού συστήματος
195
Εξίσωση 1: Εξίσωση μετατροπής τιμών pixel σε μοίρες με βάση τριγωνομετρικές σχέσεις. Με βάση το
αποτέλεσμα της εξίσωσης αυτής γίνεται η κίνηση του όπλου.
Το αποτέλεσμα που προκύπτει από την Εξίσωση 1 αφαιρείται από τις 90 μοίρες (κέντρο
του όπλου) για να πάρουμε τις μοίρες στις οποίες θα κινηθεί το όπλο στον οριζόντιο άξονα.
Για παράδειγμα, εάν το αντικείμενο βρίσκεται στη θέση 100 (pixel) στον άξονα x, τότε το
αποτέλεσμα της Εξίσωση 1 είναι:
𝛽 = tan
−1
((320 − 100) ∗
tan (29
𝜊
)
320
) = 20,8 ≈ 21
Επειδή το offset είναι θετικό, σημαίνει ότι το αντικείμενο βρίσκεται σε θέση μικρότερη
από το κέντρο της κάμερας. Επομένως, το όπλο θα μετακινηθεί από τη θέση που βρίσκεται,
στις 90-21 = 69
ο
μοίρες.
Η ίδια λογική ακολουθείται και για τη μετατροπή της θέσης του αντικειμένου σε μοίρες,
μόνο που το
a είναι ίσο με 240, ενώ η γωνία 𝑎 είναι ίση με 22,5 μοίρες.
Τέλος, μετά την κίνηση του όπλου ακολουθεί η αναγνώριση του ατόμου, όπως φαίνεται
στην Εικόνα 98.
Εικόνα 98: Στιγμιότυπο από την εκτέλεση του προγράμματος όπου έχει αναγνωριστεί ο χρήστης "nikoleta", ο
οποίος φέρει την ετικέτα μηδέν (0) και τη στιγμή της εκτέλεσης του προγράμματος βρίσκεται στη θέση (276,
186). Η τιμή 2758,36 αντιστοιχεί στο ποσοστό αναγνώρισης του αλγορίθμου.
Από την πλευρά του μικροελεγκτή γίνεται μόνο λήψη των δεδομένων και αποστολή τους
στον κατάλληλο servo (μέσω του pin), ώστε να δοθεί η εντολή για την κίνηση στις
αντίστοιχες μοίρες. Η βιβλιοθήκη που χρησιμοποιείται είναι η “Servo.h” και οι κύριες