Σχεδίαση, ανάπτυξη και προγραμματιζόμενος έλεγχος μη επανδρωμένου σκάφους επιφανείας με τη χρήση τεχνολογιών του διαδικτύου των πράγματων
Design, development and programmable control of an unmanned surface vessel using internet of things technologies
Keywords
Unmanned surface vessel ; Internet of things ; Robot ; Flight controller ; ArduPilot ; MAVLink ; MQTT ; Node-RED ; Cloud computing ; Microcontrollers ; Διαδίκτυο πραγμάτων ; Ρομπότ ; Υπολογιστικό νέφος ; Μικροελεγκτές ; Μη επανδρωμένο σκάφος επιφανείας ; Ελεγκτής πλοήγησης ; Ρομποτική ; Ρομποτικό όχημαAbstract
Στην εποχή μας, παρατηρείται η ενσωμάτωση ολοένα και περισσοτέρων μηχανών στον κόσμο του διαδικτύου των πραγμάτων (IoT, Internet of Things). Σκοπός της διατριβής αυτής είναι να διερευνηθούν οι δυνατότητες ενσωμάτωσης των IoT τεχνολογιών για τον έλεγχο ενός αυτόνομου ρομποτικού συστήματος. Πιο συγκεκριμένα, το σύστημα πάνω στο οποίο έγινε η διερεύνηση, είναι ένα μη επανδρωμένο σκάφος επιφανείας, το οποίο σχεδιάστηκε, αναπτύχθηκε και δοκιμάστηκε η λειτουργία του σε πραγματικές συνθήκες. Ο έλεγχος του οχήματος, βασίστηκε σε τεχνολογίες του διαδικτύου των πραγμάτων. Για την επικοινωνία μεταξύ μηχανών (MTC) και την μετάδοση δεδομένων στο διαδίκτυο, χρησιμοποιήθηκε το πρωτόκολλο MQTT. Η διαχείριση του οχήματος και των πληροφοριών που σχετίζονται με αυτό, έγινε μέσω της πλατφόρμας υπηρεσιών Node-RED (IoT PaaS). Για να επιτευχθεί ο απομακρυσμένος έλεγχος η παραπάνω υπηρεσία και ο MQTT Server/Broker αναπτύχθηκαν σε ένα υπολογιστικό σύστημα νέφους (Cloud Computer). H οδήγηση του ρομποτικού σκάφους βασίστηκε στην δημοφιλή, ανοικτού κώδικα πλατφόρμα αυτόματου πιλότου Ardupilot και έγινε εκτεταμένη χρήση του αντίστοιχου πρωτόκολλου επικοινωνίας MAVLink. Απαραίτητη ήταν η δημιουργία μιας εφαρμογής σε πλατφόρμα ανάπτυξης μικροελεγκτή ESP32, ώστε να γεφυρωθούν τα πρωτόκολλα MQTT και MAVLink. Στο πλαίσιο της εργασίας αυτής, γίνεται αναφορά στις σχετικές τεχνολογίες και βασικές θεωρητικές αρχές. Έπειτα παρουσιάζεται η μελέτη σχετικά με την αρχιτεκτονική του συστήματος και το υλικό, λογισμικό που επιλέχθηκαν να χρησιμοποιηθούν. Επίσης περιγράφεται, η διαδικασία υλοποίησης του ρομποτικού οχήματος, ανά υποσύστημα και όπου χρειάστηκε αναφέρθηκαν τα προβλήματα που προέκυψαν, αλλά και πώς αντιμετωπίστηκαν. Επιπρόσθετα παρουσιάζονται, τα αποτελέσματα και τα συμπεράσματα που προέκυψαν από τις δοκιμές του οχήματος. Τέλος προτείνονται μελλοντικά αντικείμενα έρευνας για τη βελτίωση των επιμέρους υποσυστημάτων του μη επανδρωμένου σκάφους επιφανείας που αναπτύχθηκε.
Abstract
Nowadays, more and more machines are getting integrated into the world of the Internet of Things (IoT, Internet of Things). The purpose of the present thesis is to explore the possibilities of integrating IoT technologies to control an autonomous robotic system. More specifically, the research was carried out on an unmanned surface vessel, which was designed, developed and tested in real conditions. The control of this vessel was based on the use of technologies related with the Internet of Things. Specifically, the MQTT protocol was used for machine type communication (MTC) and data transfer over the internet. Also, the vehicle as well as the information related to it were managed through the Node-RED service platform (IoT PaaS). In order to achieve remote control, the aforementioned services together with the MQTT Server/Broker were developed on cloud computing system (Cloud Computer). Additionally, the robotic vehicle was based on the popular, open-source coding platform for automatic pilot Ardupilot and extensive use of the corresponding communication protocol MAVLink was made. Moreover, an application on the ESP32 microcontroller development platform was createad in order to bridge the MQTT and MAVLink protocols.
In the context of this work, the reader is introduced to the relevant technologies and their basic theoretical principles. Next, the study on the system architecture, and the chosen hardware and software are presented. Also, the implementation process of the robotic vehicle per subsystem is described. Additionally, problems that occurred are mentioned along with the procedures that were adopted in order to address these problems. Furthermore, the results of the vehicle tests along with conclusions drawn are presented. Finally, future research is proposed regarding the improvement of the individual subsystems of the unmanned surface vessel that was developed.