Προσομοίωση μοντέλου στερεοσκοπικής όρασης για εφαρμογή αυτόνομης πλοήγησης οχημάτων και υλοποίηση σε πλατφόρμα ανοιχτού κώδικα
Simulation of stereoscopic vision model for an autonomous vehicle navigation application and implementation on an open source platform
Keywords
Αυτόνομα οχήματα ; Υπολογιστική όραση ; Raspberry Pi ; Στερεοσκοπική όραση ; SimulinkAbstract
Το αντικείμενο της παρούσας εργασίας είναι η ανάλυση ενός συστήματος στερεοσκοπικής υπολογιστικής όρασης και η προσομοίωσή του σε ένα όχημα αυτόνομης πλοήγησης. Θα εξηγήσουμε τον τρόπο με τον οποίο υπολογίζουμε την απόσταση ενός αντικειμένου στο χώρο σύμφωνα με τις αρχές της στερεοσκοπίας και θα αναλύσουμε την διάταξη του συστήματος στερεοζεύγους και των υποσυστημάτων του. Πιο συγκεκριμένα, το σύστημα σχεδιάστηκε για την αναγνώριση διασταυρώσεων στον δρόμο αλλά και την απόσταση από αυτές. Η αναγνώριση απόστασης πραγματοποιείται με την χρήση δύο καμερών οι οποίες είναι σταθερές μεταξύ τους. Κατά την ανάγνωση των κεφαλαίων που έπονται, γίνεται προσπάθεια ώστε ο αναγνώστης να οικειοποιηθεί με έννοιες όπως αυτή της προβολικής και στη συνέχεια επιπολικής γεωμετρίας καθώς είναι απαραίτητες στην κατανόηση της προσέγγισης. Αναλύονται τα επίπεδα της αυτονομίας στον τομέα της αυτοκίνησης και παρουσιάζονται αναλυτικότερα τρόποι με τους οποίους το σύστημα λαμβάνει πληροφορίες για τον περιβάλλοντα χώρο του. Η επιπολική γεωμετρία είναι η προβολική γεωμετρία ενός στερεοσκοπικού συστήματος και μας βοηθάει να αναλύσουμε με μαθηματικά όλο το σύστημα του στερεοζεύγους. Με βάση την επιπολική γεωμετρία η αναγνώριση της απόστασης πραγματοποιείται με την σύγκριση των δύο εικόνων. Στη συνέχεια ακολουθεί περιγραφή του υλισμικού και του λογισμικού που χρησιμοποιήθηκε για την περάτωση της εργασίας και αναλύεται η δομή του συστήματος και η αρχή λειτουργίας του. Πιο συγκεκριμένα παρουσιάζεται ο τρόπος με τον οποίο εφαρμόζεται η επιπολική γεωμετρία για την επίλυση του προβλήματος του υπολογισμού της απόστασης. Σε αυτό το σημείο γίνεται παρουσίαση του προγραμματιστικού περιβάλλοντος του Simulink στο οποίο αναπτύχθηκε πρόγραμμα για τον υπολογισμό της απόστασης του σημείου ενδιαφέροντος (διασταύρωση σε οδόστρωμα), και αναλύεται ο τρόπος λειτουργίας του και τα δομικά στοιχεία που το απαρτίζουν. Καθώς ο αναγνώστης γνωρίζει τις βαθμίδες, τις υποβαθμίδες του Simulink, και τα χαρακτηριστικά τους, μαθαίνει στη συνέχεια για τον τρόπο λειτουργίας του προγράμματος που αναπτύχθηκε, για την βαθμονόμηση και στη συνέχεια για την πειραματική διαδικασία που πραγματοποιήθηκε.
Abstract
The subject of this paper is the analysis of a stereoscopic computer vision system and its simulation in an autonomous navigation vehicle. We will explain how to calculate the distance of an object in space according to the principles of stereoscopy and analyze the layout of the stereo vision system and its subsystems. More specifically, the system was designed to identify intersections on the road and the distance from them. The distance recognition is performed using two cameras which are fixed relative to each other. While reading the following chapters, an effort is made to familiarize the reader with concepts such as that of projective and then epipolar geometry as they are essential in understanding the approach. The levels of autonomy in the automotive sector are analysed and ways in which the system receives information about its surroundings are detailed. Epipolar geometry is the projective geometry of a stereoscopic system and helps us to mathematically analyze the whole system of the stereocouple. Based on the epipolar geometry, distance recognition is performed by comparing the two images. Then follows a description of the hardware and software used to complete the work and the structure of the system and its operating principle are discussed. In particular, the way in which the epipolar geometry is applied to solve the problem of distance calculation is presented. At this point, the Simulink programming environment in which a program for calculating the distance of the point of interest (intersection on a roadway) was developed is presented, and its mode of operation and the building blocks that make it up are analyzed. As the reader becomes familiar with the tiers, sub-tiers of Simulink, and their characteristics, he or she then learns about how the program developed, the calibration, and then the experimental procedure performed.