Ο Σχεδιασμός των κινήσεων για τους κινητήρες που είναι υπεύθυνο το Raspberry Pi 3 βασίζεται σε 6 αρχεία:
ElGreco2_Core_info
Καταγράφονται όλες οι συνδέσεις που έχουν γίνει στα δύο Servo Hat ώστε να μπορεί εύκολα να καλείται η κάθε σύνδεση μέσω της αντίστοιχης μεταβλητής της.
ElGreco2_Servo_Limitation
Περιέχει μια κλάση Limitations η οποία έχει τα όρια κίνησης για κάθε έναν κινητήρα τύπου σέρβο που αφορούν την πλακέτα raspberry Pi 3. Πιο συγκεκριμένα κάθε κινητήρας αντιστοιχίζεται με έναν πίνακα ακεραίων με το πολύ 3 τιμές. Οι τιμές αυτές προσδιορίζουν την ελάχιστη την μέση και την μέγιστη γωνία που μπορεί να φτάσει ο κινητήρας. Όλοι οι κινητήρες έχουν 3 θέσεις που είναι απαραίτητες για την σωστή λειτουργία του ρομποτικού συστήματος με τις παρούσες λειτουργίες, εκτός από τα δάχτυλά τα οποία προς το παρόν χρειάζονται μόνο δύο καταστάσεις ανοικτά ή κλειστά.
Η δημιουργία του παραπάνω αρχείου δίνει μεγάλη ευκολία στο χειρισμό και έλεγχο του κάθε κινητήρα καθώς δεν χρειάζεται το κάθε αρχείο να έχει γραμμένες τις μοίρες κίνησης του κινητήρα αλλά να καλεί την προδιαγεγραμμένη θέση του από αυτό το αρχείο είτε να προσθέτει νέες θέσεις για μελλοντική χρήση.
ServoCurrentState
Περιέχει τις παρούσες θέσεις κάθε κινητήρα που σχετίζεται το raspberry Pi 3. Δίνει την δυνατότητα μνήμης στο ρομποτικό σύστημα για την ομαλή κίνηση κινητήρα κάνοντας γνωστή την παρούσα θέσει ώστε να μπορεί να υπολογιστή η καθυστέρηση εναλλαγής μοιρών.
StateManager
Οι συναρτήσεις του αρχείου αρχικοποιούν, ενημερώνουν και κάνουν ανάκτηση πληροφοριών του ServoCurrentState. Έτσι για κάθε κίνηση του συστήματος χρησιμοποιούνται οι συναρτήσεις αρχικά για την ανάκτηση της παρούσας θέσης ενός κινητήρα και έπειτα για την ενημέρωση της καινούργιας θέσης του. Η συνάρτηση αρχικοποίησης χρησιμοποιείτε μόνο σε περιπτώσεις σύγχυσης του συστήματος ώστε να μπορεί να ανακτήσει την αρχική του θέσει για όλους τους κινητήρες.
ServoManager
Περιέχει συναρτήσεις οι οποίες είναι υπεύθυνες για την ομαλή κίνηση του κάθε κινητήρα, χρησιμοποιώντας την βιβλιοθήκη των servo hat για την δημιουργία κατάλληλων παλμικών σημάτων. Οι συναντήσεις αυτές δέχονται τις πληροφορίες των παραπάνω 2 αρχείων και δίνουν τα κατάλληλα σήματα στον κινητήρα για να φτάσει στην επιθυμητή θέση.
Rpi_HatManager
Η κίνηση των κινητήρων του σώματος γίνονται μέσα από την πλακέτα raspberry Pi 3 η οποία είναι συνδεδεμένη με δύο Servo Hat. Οι εντολές που θα πρέπει να σταλούν από το raspberry Pi 3 προς τα Servo Hat δίνονται με την χρήση της βιβλιοθήκης Adafruit_PCA9685. Η σύνδεση πολλαπλών Servo Hat με το raspberry Pi 3 προαπαιτεί την σωστή διευθυνσιοδότηση των Servo Hat. Όλη η διαδικασία αρχικοποίησης διευθύνσεων και χρήση συναρτήσεων της παραπάνω βιβλιοθήκης γίνονται σε αυτό το αρχείο.
Μεμονωμένες κινήσεις
Κάθε κίνηση του ρομποτικού συστήματος βρίσκεται σε ξεχωριστό αρχείο για το εύκολο κάλεσμα από χειριστή που έχει πρόσβαση στο τερματικό του συστήματος. Όσον αφορά τις κλήσεις που γίνονται κατά την συνεργασία των πλακετών με τα κατάλληλα ερεθίσματα (άγγιγμα εντολής στην οθόνη αφής ή φωνητικές εντολές) γίνονται script αρχεία τα οποία έχουν μαζεμένες όλες τις ενέργειες που πρέπει να γίνουν με την σωστή χρονική εκτέλεση τους.