Περίληψη: | To Industry 4.0 είναι ένα νέο βιομηχανικό στάδιο κατά το οποίο πραγματοποιούνται
θεμελιώδεις αλλαγές στον τρόπο με τον οποίο λειτουργεί το παγκόσμιο δίκτυο
παραγωγής και προμήθειας μέσω της συνεχούς αυτοματοποίησης των
παραδοσιακών κατασκευαστικών και βιομηχανικών πρακτικών. Αυτό επιτυγχάνεται
με την χρήση σύγχρονης έξυπνης τεχνολογίας, επικοινωνίας μεγάλης κλίμακας από
μηχανή με μηχανή (M2M) και το Διαδίκτυο των Αντικειμένων (IoT). Αυτή η
ενοποίηση έχει ως αποτέλεσμα την αύξηση της αυτοματοποίησης, τη βελτίωση της
επικοινωνίας και της αυτο-παρακολούθησης και τη χρήση έξυπνων μηχανών που
μπορούν να αναλύουν και να διαγνώσουν προβλήματα χωρίς την ανάγκη
ανθρώπινης παρέμβασης. Η εξατομίκευση των προϊόντων και η ικανότητα ενός
συστήματος να προσαρμόζεται στις ανάγκες του καταναλωτή και συνεπώς της
παραγωγής, θα είναι πρωτογενής φορέας της παραπάνω εξέλιξης.ου
Στην εργασία αυτή χρησιμοποιήθηκε ως μελέτη περίπτωσης το Gregor Chair Assembly System, ένα σύστημα παραγωγής μιας καρέκλας τύπου Gregor, με στόχο να
παρέχει την απαραίτητη υποδομή, δηλαδή μια σειρά από ρομπότ, πάγκους
εργασίας και τα Raspberry Pis που δρουν ως ελεγκτές των προηγουμένων, για να
τρέξει το λογισμικό που υλοποιήθηκε και να χρησιμοποιηθούν εργαλεία όπως τα
επόμενα που θα αποτελέσουν βάση για την επικοινωνία των ρομπότ και του
λογισμικού για την κατασκευή της καρέκλας.
Μελετήθηκαν τα containers, το Argo και το Kubernetes. Τα containers
χρησιμοποιήθηκαν ώστε να μπορέσουμε να καλουπώσουμε όλες τις απαραίτητες
βιβλιοθήκες και τα βοηθητικά εργαλεία των microservices που αναπτύχθηκαν κατά
τη διάρκεια της εργασίας και να τα τρέξουμε πάνω στο λειτουργικό σύστημα των
Raspberry Pis, χωρίς αυτό να πρέπει να έχει εγκαταστημένες όλες τις βιβλιοθήκες
και τα εργαλεία που χρειάστηκαν. Τα microservices αυτά αποτελούνται από τις
πρωτογενείς υπηρεσίες που μπορούν να προσφέρουν τα ρομπότ και οι πάγκοι
εργασίας, όπως η μετακίνηση ενός κομματιού της καρέκλας σε ένα συγκεκριμένο
σημείο, και οι κωδικοποιημένες διαδικασίες συναρμολόγησης (Assembly Tasks) της
καρέκλας που χρησιμοποιούν τις παραπάνω πρωτογενείς υπηρεσίες. Το Kubernetes με τη σειρά του, είναι μια πλατφόρμα για τη διαχείριση και ενορχήστρωση
workload και υπηρεσιών με containers. Αξιοποιήθηκε για να κατασκευαστεί ένα
σύμπλεγμα κόμβων που είναι τα Raspberry Pis, πάνω στα οποία θα γίνονται scheduled τα containers των μικρουπηρεσιών που προαναφέρθηκαν. Επίσης το Kubernetes παρείχε στο σύστημα μας δικτυακή υποδομή καθώς όλοι οι κόμβοι του
συμπλέγματος μπορούν να επικοινωνήσουν μεταξύ τους, με συνέπεια τα containers
που τρέχουν σε αυτούς τους κόμβους να μπορούν και αυτά να επικοινωνήσουν με
οποιοδήποτε πρωτόκολλο πάνω από τα πρωτόκολλα TCP/UDP του επιπέδου
μεταφοράς. Μελετήθηκαν και αναφέρονται οι αρχιτεκτονικές επικοινωνίας microservices, και επιλέχθηκαν να χρησιμοποιηθούν τα μοτίβα χορογραφίας και
ενορχήστρωσης υλοποιημένα με event-based επικοινωνία και HTTP κλήσεις σε REST
APIs. Τα μοτίβα αυτά είναι υπεύθυνα να συντονίσουν και να συγχρονίσουν τις
διαδικασίες παραγωγής για την επίτευξη του τελικού προιόντος και ταυτόχρονα να
μπορούν να επικοινωνήσουν με τις πρωτογενείς υπηρεσίες των ρομπότ.
Το Argo Workflows είναι ένα συνονθύλευμα υπηρεσιών που τρέχει στο Kubernetes
και χρησιμοποιήθηκε ώστε να καταφέρουμε να μοντελοποιήσουμε σε γράφο την
παραγωγική διαδικασία της κατασκευής της καρέκλας. Αυτή αποτελείται από τα Assembly Tasks που θα συγχρονιστούν με βάση το προαναφερθέν μοντέλο και το
Argo.
Η υλοποίηση του γράφου που αντικατοπτρίζει τη διαδικασία κατασκευής της
καρέκλας μπορεί να αλλάζει εύκολα και ταχύρρυθμα χρησιμοποιώντας μια από τις
φιλοσοφίες DevOps που είναι το Continuous Integration και Continuous Deployment (CI/CD). Το CI σημαίνει ότι κάθε αλλαγή σε αυτό το γράφο είναι committed
στο Git repository του συστήματος και μπορεί να υπόκειται σε διαρκείς και συχνές
αλλαγές. Το CD σημαίνει ότι αυτές οι αλλαγές μπορούν να φανούν γρήγορα και
αυτοματοποιημένα στο Kubernetes και το Argo, ώστε αυτά να μπορέσουν να
κάνουν χρήση των νέων αλλαγών στον γράφο, καθώς και σε οποιοδήποτε container
μικρουπηρεσίας. Σε αντίθεση με παραδοσιακές μεθόδους αναβάθμισης λογισμικού
όπου χρειαζόταν χειροκίνητη αλλαγή κώδικα στις μικρουπηρεσίες, ο γράφος αυτός
αποτελείται απλά από ένα αρχείο που μπορεί εύκολα να αναβαθμιστεί ή και να
γυρίσει σε προηγούμενη έκδοσή του. Τέλος δόθηκε βάση στη μείωση της
κατανάλωσης πόρων των κόμβων του συστήματος, κάνοντας τα Assembly Tasks και
τις πρωτογενείς υπηρεσίες να μην χρειάζεται να τρέχουν αέναα στα Raspberry Pis
και να ενορχηστρώνονται κάθε φορά που δίνεται μια παραγγελία κατασκευής της
καρέκλας τύπου Gregor.
|