Υλοποίηση αυτόνομου οχήματος με χρήση τεχνικών μηχανικής μάθησης και υπολογιστικού συστήματος χαμηλής κατανάλωσης
Implementation of an autonomous vehicle using machine learning techniques and a low-power computer system
![Thumbnail](/xmlui/bitstream/handle/11400/1395/Provelengios_160001.pdf.jpg?sequence=4&isAllowed=y)
Διπλωματική εργασία
Author
Προβελέγγιος, Χριστόδουλος
Date
2021-10-11Keywords
Raspberry Pi ; Μηχανική μάθηση ; Βαθιά μάθηση ; Συνελικτικά νευρωνικά δίκτυα ; Επιβλεπόμενη μάθηση ; Αυτόνομη οδήγηση ; Αυτόνομο ρομποτικό όχημαAbstract
Η ανάπτυξη αυτόνομων οχημάτων και οχημάτων φιλικότερων προς το περιβάλλον είναι αδιαμφισβήτητα ο οδηγός των τεχνολογικών εξελίξεων στον κόσμο της αυτοκίνησης την τελευταία δεκαετία. Η άνθηση που έχει γνωρίσει η τεχνολογία της αυτόνομης οδήγησης είναι απόρροια των μακροχρόνιων ερευνών οι οποίες δείχνουν ότι ο ανθρώπινος παράγοντας στην οδήγηση είναι η βασική αιτία μιας σειράς αλληλένδετων προβλημάτων που αντιμετωπίζει η σύγχρονη κοινωνία σήμερα. Για παράδειγμα, τα στατιστικά στοιχεία σχετικών μελετών δείχνουν πως τα τροχαία ατυχήματα στην συντριπτική πλειονότητα τους (>90%) οφείλονται σε ανθρώπινο λάθος. Επιπλέον, η κακή κυκλοφοριακή αγωγή των οδηγών συμβάλλει και στο συνεχώς αυξανόμενο πρόβλημα της κυκλοφοριακής συμφόρησης που αντιμετωπίζουν τα αστικά οδικά δίκτυα. Η κυκλοφοριακή συμφόρηση με τη σειρά της συμβάλει στην αύξηση της ατμοσφαιρικής ρύπανσης και του κυκλοφοριακού θορύβου που παρατηρείται στα μεγάλα αστικά κέντρα. Μολονότι ελλιπής, η παραπάνω λίστα παραθέτει τα σημαντικότερα προβλήματα που προκαλεί η κακή οδηγική συμπεριφορά και τα οποία απειλούν άμεσα την υγεία και την ποιότητα ζωής των πολιτών. Ως εκ τούτου, για την αντιμετώπιση αυτών των προβλημάτων, φαίνεται να είναι πλέον μονόδρομος η ανάπτυξη αυτόνομων οχημάτων που εξαλείφουν το ανθρώπινο στοιχείο από την οδήγηση.
Η τεχνολογία της αυτόνομης οδήγησης έχει βασίσει σε μεγάλο βαθμό την πρόοδο της στις τεχνικές και μεθόδους της Τεχνητής Νοημοσύνης και ειδικότερα της Βαθιάς (Μηχανικής) Μάθησης. Εμπνευσμένοι από την αρχιτεκτονική των βιολογικών νευρωνικών δικτύων, οι αλγόριθμοι Βαθιάς Μάθησης μοντελοποιούν πολύπλοκες διαδικασίες με τη χρήση τεχνητών νευρωνικών δικτύων προκείμενου να «μάθουν» να αναγνωρίζουν πρότυπα μέσα σε δεδομένα και να κάνουν προβλέψεις. Στην ανάπτυξη αυτόνομων οχημάτων, οι αλγόριθμοι της Βαθιάς Μάθησης επεξεργάζονται δεδομένα που συλλέγονται από τους αισθητήρες του οχήματος καθώς αυτό κινείται προκειμένου να λαμβάνουν αποφάσεις σχετικά με την πλοήγηση του.
Η πολυπλοκότητα των λειτουργιών που μπορούν να μοντελοποιηθούν από τους αλγόριθμους Μηχανικής Μάθησης εξαρτάται από την υπολογιστική ισχύ της υποκείμενης πλατφόρμας που χρησιμοποιείται για την υλοποίηση τους. Ωστόσο, σε αντίθεση με άλλες εφαρμογές Μηχανικής Μάθησης, τα αυτόνομα οχήματα συνήθως σχεδιάζονται με τέτοιο τρόπο ώστε να απαιτούν περιορισμένους πόρους για τη λειτουργία τους προκειμένου να μειώσουν το ενεργειακό τους αποτύπωμα και το κόστος υλοποίησης τους. Η μείωση των υπολογιστικών πόρων που απαιτεί η αυτόνομη οδήγηση αποτελεί μια σημαντική σχεδιαστική πρόκληση και σκοπός της παρούσας εργασίας ήταν η ανάπτυξη ενός συστήματος αυτόνομης οδήγησης με τη χρήση μιας ενεργειακά και υπολογιστικά αποδοτικής πλατφόρμας.
Το πρώτο μέρος αυτής της εργασίας, αρχικά πραγματοποιεί μια σύντομη ανασκόπηση της τεχνολογίας των αυτόνομων οχημάτων. Στη συνέχεια παρουσιάζεται η πλατφόρμα ανάπτυξης Raspberry Pi πάνω στην οποία υλοποιήθηκε το σύστημα αυτόνομης οδήγησης της εργασίας αυτής και εξετάζονται οι μέθοδοι Βαθιάς Μάθησης που χρησιμοποιήθηκαν για την ανάπτυξη του. Το δεύτερο μέρος της εργασίας, αρχικά περιγράφει το σύστημα αυτόνομης οδήγησης που αναπτύχθηκε και το πρωτότυπο όχημα που κατασκευάστηκε για την επαλήθευση της ορθής λειτουργίας του. Στη συνέχεια, εξετάζονται τα πειραματικά αποτελέσματα από μια σειρά δοκιμών που πραγματοποιήθηκαν με τη χρήση μιας δοκιμαστικής διαδρομής για την αξιολόγηση του πρωτοτύπου. Το όχημα ολοκλήρωσε επιτυχώς 10 και πλέον συνεχόμενους γύρους στη δοκιμαστική διαδρομή (δεξιόστροφα ή αριστερόστροφα). Διαπιστώθηκε ότι το όχημα μπορεί να κινείται αυτόνομα, χωρίς την ανάγκη εξωτερικής παρέμβασης, και είναι σε θέση να αντιδράει άμεσα σε απρόβλεπτα εμπόδια ελέγχοντας την ταχύτητα του. Το αποτέλεσμα αυτό επιβεβαιώνει ότι είναι εφικτή η ανάπτυξη υποσυστημάτων αυτόνομης οδήγησης με τη χρήση υπολογιστικών πλατφορμών χαμηλού κόστους και υποκινεί περεταίρω την υιοθέτηση τους στην σχεδίαση οικονομικά προσιτών αυτόνομων οχημάτων.
Abstract
The development of autonomous and environmentally-friendly vehicles is undoubtedly what drives the technological advancements in the automotive world over the last decade. The growth of autonomous driving technology is the result of multi-year research which shows that the human factor in driving is the root cause of a number of interrelated problems the modern society faces today. For instance, statistics of relevant studies show that the vast majority (> 90%) of road accidents are due to human error. Furthermore, the poor traffic education of the drivers contributes to the ever-deteriorating traffic congestion problem the urban road networks face. Traffic congestion, in turn, contributes to the increase in air pollution and traffic noise that is observed in large urban areas. Although the list is far from complete, it lists the most important problems poor driving behavior causes, and which directly threaten the citizens' health and quality of life. Therefore, to tackle these problems, the development of autonomous vehicles that eliminate the human element from driving seems to be the way forward.
Autonomous driving technology has largely based its progress on the techniques and methods of Artificial Intelligence and in particular that of Deep (Machine) Learning. Inspired by the architecture of biological neural networks, Deep Learning algorithms model complex processes using artificial neural networks to "learn" to recognize patterns in data and make predictions. In the development of autonomous vehicles, Deep Learning algorithms process data collected from the vehicle's sensors as it moves in order to make navigation decisions.
The complexity of the functions that can be modeled by the Machine Learning algorithms depends on the computing power of the underlying platform that is employed to implement them. Unlike other Machine Learning applications, however, autonomous vehicles are usually designed to require limited resources to operate in order to reduce their energy footprint and implementation cost. Reducing the computing resources required for autonomous driving represents a major design challenge and the purpose of the present study was to develop an autonomous driving system using an energy- and computing-efficient platform.
The first part of the present work offers a brief overview of the technology of autonomous vehicles. Then, it presents the development platform Raspberry Pi upon which the autonomous driving system of this work is built and discusses the Deep Learning methods used for its development. The second part of this work details the autonomous driving system that has been developed and the vehicle prototype that has been built to validate the system. Then, it examines the experimental results from a series of tests performed to evaluate the prototype on a test track. The vehicle successfully completed more than 10 consecutive laps on the test track (clockwise or counterclockwise). It was found that the vehicle can move autonomously, without the need for external intervention, and can promptly react to unanticipated obstacles by controlling its speed. This result confirms that it is feasible to develop autonomous driving subsystems using low-cost computing platforms and further stimulates their adoption in the design of affordable autonomous vehicles.