background image

Το σενάριο κώδικα που έχει αναπτυχθεί για τον υπολογισμό των απαιτούμε-

νων κινήσεων και τελικώς την εκτέλεση αυτών είναι το Control. Κύριες λειτουργίες

που υλοποιούνται είναι η λειτουργία αναζήτησης αντικειμένων, μετατροπής συντε-

ταγμένων κέντρου σε θέση του βραχίονα στο χώρο, προσέγγιση και ανασήκωση

αντικειμένου και τέλος αποδέσμευσης αυτού στο χέρι του χρήστη.

3.4.1

Niryo‐One Python API

Η σύνδεση του σεναρίου Control με το ρομποτικό βραχίονα Niryo-One επιτυγ-

χάνεται μέσω του Python API που προσφέρεται από την κατασκευάστρια εταιρεία.

Όπως έχει αναφερθεί η Niryo διαθέτει ελεύθερα τόσο τα σχέδια εκτύπωσης του βρα-

χίονα όσο και το λογισμικό που το συνοδεύει. Σε αυτό το πλαίσιο έχει δημιουργήσει

Python API το οποίο επιτρέπει την ενσωμάτωσή του σε σενάριο κώδικα Python για

το χειρισμό του βραχίονα. Με τη χρήση ειδικών εντολών δίνεται πρόσβαση στην πα-

ραμετροποίηση και εκτέλεση κινήσεων. Αρχικά για να επιτευχθεί η αποστολή των

εντολών στο βραχίονα θα πρέπει να δημιουργηθεί μια σύνδεση. Για την σύνδεση

αυτή απαιτείται ο βραχίονας και ο ελεγκτής (υπολογιστής) να βρίσκονται στο ίδιο

δίκτυο. Αυτό μπορεί να επιτευχθεί είτε ασύρματα είτε ενσύρματα. Στην αρχή εκτέ-

λεσης του σεναρίου δημιουργείται αντικείμενο τύπου NiryoOneClient() και μέσω

αυτού συνδέεται στο ρομποτικό βραχίονα θέτοντας στη συνάρτηση connect() την

IP του βραχίονα. Ακολούθως εκτελείται αυτόματη βαθμονόμηση που περιλαμβάνει

ουσιαστικά μια ρουτίνα κίνησης του βραχίονα ώστε να βαθμονομηθούν σωστά τα

κινητήρια μοτέρ και την αρχικοποίηση του τελικού εργαλείου δράσης.

3.4.2

Μετατροπή συντεταγμένων μηχανικής όρασης σε συντεταγμένες χώρου

Βασική λειτουργία του σεναρίου είναι η μετατροπή των συντεταγμένων κέντρου

του αντικειμένου στην κατάλληλη θέση (pose) που θα πρέπει να πάρει ο βραχίονας.

Το σενάριο κώδικα Control δέχεται τις εντολές προς εκτέλεση από το σενάριο κώ-

δικα Speech. Οι συντεταγμένες κέντρου αποτελούνται από τιμές που κυμαίνονται

από 0 έως 640 για τον οριζόντιο άξονα και από 0 έως 480 για τον κάθετο άξονα. Οι

τιμές αυτές αναφέρονται στον αριθμό των pixel που υπάρχουν στο παράθυρο που

«βλέπει» η κάμερα μιας και γίνεται υποβάθμιση της ανάλυσης εισόδου σε 640x480.

126