IoT broker-based remote robot management (collaboration with Tero Ltd)

Project code: ΚΜΕ5-0077135

Στόχος του έργου είναι η ανάπτυξη εργαλείων μέσω των οποίων θα είναι δυνατός ο έλεγχος της λειτουργικότητας ενός ρομποτικού συστήματος μέσω γραφικής διεπαφής, ακόμη και ευρισκόμενοι σε απομακρυσμένο δίκτυο (όχι τοπικό – LAN).

Για να είναι δυνατός ο χειρισμός ενός ρομποτικού οχήματος από οπουδήποτε, ακόμη και εκτός τοπικού δικτύου, κρίθηκε αναγκαία η χρήση μίας Internet of Things πλατφόρμας (IoT broker), στην οποία θα γίνεται η διασύνδεση ενός γραφικού συστήματος διεπαφής και του ρομπότ. Έτσι η μεθοδολογία που ακολουθήθηκε είναι η χρήση ρομποτικών αλγορίθμων στο ρομπότ, η συγγραφή λογισμικού το οποίο κάνει wrap τους ρομποτικούς αλγορίθμους και τους κάνει διαθέσιμους στον IoT broker και η γραφική διεπαφή η οποία επικοινωνεί με τον broker ώστε να δείχνει αποτελέσματα ή να εκτελεί εντολές. Ο IoT broker που χρησιμοποιήθηκε είναι το RabbitMQ. Τα πρωτόκολλα επικοινωνίας που χρησιμοποιήθηκαν είναι το AMQP, το MQTT και το WebStomp.

Για να υλοποιηθεί και να ελεγχθεί η προτεινόμενη λύση, έγινε χρήση ενός ρομπότ τύπου Turtlebot. Από πλευράς υλικού, το ρομπότ διαθέτει μία υπολογιστική μονάδα Intel NUC i5 8GB RAM, μία κάμερα βάθους Asus Xtion Pro και ένα RPLIDAR-A2 Laser Range Scanner. Από πλευράς λογισμικού, το λειτουργικό σύστημα που χρησιμοποιήθηκε ήταν το Ubuntu 16.04, το μεσολογισμικό ήταν το ROS1 Kinetic και τα κύρια πακέτα ήταν τα turtlebot_bringup (βασικός έλεγχος ρομπότ), karto SLAM (χαρτογράφηση), move_base (αυτόνομη μετακίνηση) και ΑMCL (εντοπισμός θέσης σε γνωστό χάρτη).

Όπως αναφέρθηκε, για να είναι δυνατός ο απομακρυσμένος έλεγχος του οχήματος από τον IoT broker, έγινε συγγραφή ενός πακέτου λογισμικού με το όνομα turtlebot_manager. Εκτός αυτού, έγινε χρήση της βιβλιοθήκης Commlib η οποία επιτρέπει επικοινωνία μέσω IoT πρωτοκόλλων, παρέχοντας λειτουργικότητες pub/sub, RPC και actions.

Οι βασικές λειτουργικότητες που υλοποιήθηκαν είναι οι εξής:

  • Λειτουργία χαρτογράφησης
  • Λειτουργία εντοπισμού θέσης σε γνωστό χάρτη
  • Αυτόνομη πλοήγηση σε θέση ή σε τοποθεσία
  • Τηλεκίνηση ρομπότ
  • Διαχείριση χαρτών
  • Διαχείριση τοποθεσιών σε γνωστούς χάρτες
  • Εμφάνιση πληροφοριών

Για την δημιουργία της γραφικής διεπαφής, χρησιμοποιήθηκε η πλατφόρμα Codin (http://codin.issel.ee.auth.gr/) η οποία επιτρέπει την δημιουργία dashboards για επίβλεψη IoT-based συστημάτων. Το dashboard που δημιουργήθηκε είναι το παρακάτω:

Η πλήρης λειτουργικότητα του συστήματος παρουσιάζεται συνοπτικά στο παρακάτω βίντεο: