Λόγω της ακρίβειας που απαιτείται σε διάφορους τομείς, όπως η γεωργία, η αρχαιολογία και οι μεταφορές, Τα λέιζερ χρησιμοποιούνται συχνά για σκοπούς όπως η αποφυγή εμποδίων, η κατασκευή χαρτών ή ακόμα και η αυτόνομη πλοήγηση.
Ας δούμε τα LiDAR, πώς λειτουργούν και πώς μπορείτε να τα χρησιμοποιήσετε για να δημιουργήσετε έναν 2D χάρτη του χώρου σας.
Πράγματα που θα χρειαστείτε για να σαρώσετε το δωμάτιό σας
Ακολουθούν οι προϋποθέσεις για να δημιουργήσετε έναν δισδιάστατο χάρτη του δωματίου σας:
- Φορητός υπολογιστής ή υπολογιστής με διακομιστή Ubuntu
- Εγκατάσταση ROS
- Ένα LiDAR
Τι είναι το LiDAR;
LiDAR, ή Light Detection and Ranging, μπορεί επίσης να βρεθεί με άλλο όνομα, LADAR (Laser Detection and Ranging) μια ενεργή τεχνολογία τηλεπισκόπησης που μετρά την απόσταση χρησιμοποιώντας φως με τη μορφή παλμικού λέιζερ. Η τεχνολογία λειτουργεί εκπέμποντας έναν οπτικό παλμό σε έναν στόχο και μετρώντας τα χαρακτηριστικά του ανακλώμενου σήματος επιστροφής.
Το σύστημα μετρά το χρόνο που χρειάζεται η δέσμη για να επιστρέψει. Σε γενικές γραμμές, είναι ένας μετρητής απόστασης. Το πλάτος του οπτικού παλμού μπορεί να κυμαίνεται από μερικά νανοδευτερόλεπτα έως αρκετά μικροδευτερόλεπτα και μπορεί να στοχεύσει μια ποικιλία υλικών.
Σύνδεση συστήματος και λήψη δεδομένων λέιζερ
Ο RPLIDAR A1, ένας χαμηλού κόστους αισθητήρας LiDAR κατάλληλος για ρομποτικές εφαρμογές εσωτερικού χώρου, θα χρησιμοποιηθεί σε αυτή την περίπτωση. Διαθέτει πεδίο σάρωσης 360 μοιρών, συχνότητα περιστροφής 5,5hz/10hz και απόσταση ranger 8 μέτρων. Το LiDAR διαθέτει σύστημα σαρωτή εμβέλειας, σύστημα κινητήρα καθώς και διεπαφή επικοινωνίας (σειριακή θύρα/USB).
Το σύστημα μετρά δεδομένα απόστασης σε περισσότερες από 2000 φορές ανά δευτερόλεπτο και με έξοδο υψηλής ανάλυσης απόστασης. Κατά συνέπεια, απαιτεί τη χρήση πολλών εργαλείων για την επεξεργασία και την οπτικοποίηση των δεδομένων. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το εργαλείο SlamTech RoboStudio ή το παρεχόμενο πακέτο ROS.
Γιατί ROS;
ROS Το (Robot Operating System) είναι λογισμικό που χρησιμοποιείται από μια παγκόσμια κοινότητα ανοιχτού κώδικα χομπίστων της ρομποτικής αφοσιωμένης στη βελτίωση και στη διάθεση των ρομπότ σε όλους. Αναπτύχθηκε αρχικά από τους Eric Berger και Keenan Wyrobek στο Πανεπιστήμιο του Στάνφορντ. Το ROS σάς επιτρέπει επίσης να οπτικοποιείτε δεδομένα αισθητήρων, να δημιουργείτε διεπαφές και να χρησιμοποιείτε εργαλεία όπως το Rviz και η μηχανή προσομοίωσης Gazebo.
Με το ROS, θα μπορείτε εύκολα να διαχωρίσετε τον κώδικά σας σε πακέτα που περιέχουν μικρά προγράμματα, που ονομάζονται κόμβοι. Αυτοί οι κόμβοι συνδέονται μέσω θεμάτων στα οποία στέλνουν και λαμβάνουν μηνύματα.
Σε αυτό το έργο, θα χρησιμοποιήσετε το rplidar_ros, ένα πακέτο ROS που έχει σχεδιαστεί ειδικά για τη συλλογή δεδομένων LiDAR. Το πακέτο hector_slam θα χρησιμοποιηθεί αργότερα για τη δημιουργία χάρτη.
Βήμα 1: Εγκατάσταση ROS
Μετά εγκατάσταση του διακομιστή Ubuntu, ανοίξτε το τερματικό σας και εκτελέστε την ακόλουθη εντολή για να βεβαιωθείτε ότι το ευρετήριο του πακέτου Debian είναι ενημερωμένο. Η διαφορά μεταξύ ενημέρωσης και αναβάθμισης έχει ήδη καλυφθεί.
sudo apt εκσυγχρονίζω
Το επόμενο βήμα είναι η εγκατάσταση ROS.
sudo apt εγκαθιστώ ros-noetic-desktop-γεμάτος
Μπορείτε να δοκιμάσετε το ROS εκτελώντας το ροσκορ, το οποίο θα χρησιμεύσει ως απόδειξη σωστής εγκατάστασης.
ροσκορ
Βήμα 2: Λήψη της πρώτης σας σάρωσης
Αρχικά, εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το rplidar_ros πακέτο:
sudo apt-παίρνω εγκαταστήστε το ros-noetic-rplidar-ros
ο rplidar_ros Το πακέτο περιλαμβάνει τα σενάρια και τα αρχεία εκκίνησης που απαιτούνται για τη λήψη και την οπτικοποίηση δεδομένων σάρωσης LiDAR.
Μόλις ολοκληρώσετε το λογισμικό σας, συνδέστε το LiDAR στον υπολογιστή σας μέσω της θύρας USB. Το LiDAR θα αρχίσει να περιστρέφεται, αλλά δεν θα εκπέμπει κανένα λέιζερ εκτός και αν εκτελέσετε την ακόλουθη εντολή που καλεί ένα αρχείο εκκίνησης ROS.
roslaunchrplidar_rosrplidar.εκτόξευση
Εκτελώντας αυτήν την εντολή, μπορείτε να δείτε τις ανακλώμενες αποστάσεις που δημοσιεύονται σε ένα θέμα που ονομάζεται /scan.
ροστόπικο ηχώ /scan
Θα πρέπει να δείτε μια αναπαράσταση των μη επεξεργασμένων δεδομένων σάρωσης λέιζερ στο τερματικό σας:
Για να οπτικοποιήσετε αυτά τα δεδομένα, ανοίξτε ένα άλλο τερματικό, φροντίζοντας να μην κλείσετε το άλλο τερματικό σε λειτουργία που ανακτά δεδομένα από το σαρωτή λέιζερ και εκκινήστε Rviz, το εργαλείο οπτικοποίησης.
rosrun rviz rviz
Αλλαξε το Σταθερό πλαίσιο προς την Λέιζερ, μετά κάντε κλικ στο Προσθήκη πατήστε στην κάτω αριστερή γωνία του παραθύρου και επιλέξτε LaserScan. Τέλος, ορίστε το θέμα LaserScan σε /scan, και θα μπορείτε να δείτε τη σάρωση LiDAR σε πραγματικό χρόνο.
Εάν αντιμετωπίζετε προβλήματα με την πρώτη σάρωση, θα μπορούσε να οφείλεται στο ότι η συσκευή σας δεν είναι εξουσιοδοτημένη να επικοινωνεί δεδομένα μέσω σειριακής. Για να το διορθώσετε, εκτελέστε την ακόλουθη εντολή και μετά συνεχίστε με τα προηγούμενα βήματα.
sudo chmod 777 /dev/ttyUSB0
Βήμα 3: Εκκινήστε τη χαρτογράφηση
Αφού δοκιμάσετε το LiDAR σας και επιβεβαιώσετε ότι λειτουργεί σωστά, το επόμενο βήμα είναι να ξεκινήσετε τη σάρωση της περιοχής ενδιαφέροντός σας. Για αυτό, θα χρειαστείτε ένα πρόσθετο πακέτο που ονομάζεται Hector Slam (όπου το "Slam" σημαίνει "Ταυτόχρονη τοπική προσαρμογή και χαρτογράφηση").
Όπως και πριν, εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε αυτό το πακέτο:
sudo apt-παίρνω εγκαταστήστε ros-noetic-hector-slam
Πριν εκτελέσετε τη σάρωση, αλλάξτε μερικές παραμέτρους όπως φαίνεται παρακάτω. Αναζητήστε το tutorial.launch στο πακέτο hector_slam χρησιμοποιώντας το roscd εντολή.
roscd hector_slam_launch
Η εντολή νανο θα σας επιτρέψει να ανοίξετε το αρχείο σας και να το επεξεργαστείτε.
νανοφροντιστήριο.εκτόξευση
μπορεί να συναντήσετε άδεια αρχείου Linux σφάλμα που μπορεί να λυθεί με αυτήν την εντολή:
sudochmod 777 φροντιστήριο.εκτόξευση
Εδώ είναι ένα δείγμα της εκτέλεσης:
Το επόμενο βήμα είναι να αλλάξετε τις γραμμές όπως φαίνεται παρακάτω:
Το τελευταίο βήμα είναι να εκτελέσετε αυτή τη γραμμή.
roslaunchhector_slamφροντιστήριο.εκτόξευση
Ξεκινήστε να μετακινείτε αργά το LiDAR στο δωμάτιό σας για καλύτερα αποτελέσματα, επειδή η δημιουργία χαρτών είναι πιο αποτελεσματική όταν κινείστε αργά. Μπορείτε να ενεργοποιήσετε την τροχιά σας και να πειραματιστείτε με τις ρυθμίσεις σάρωσης λέιζερ.
Μπορείτε να χρησιμοποιήσετε το SLAM εσωτερικού χώρου για να σαρώσετε ολόκληρο το σπίτι χρησιμοποιώντας φορητό υπολογιστή και LiDAR όπως φαίνεται στο παρακάτω βίντεο. Τα αποτελέσματα μπορούν να βελτιωθούν με την ενσωμάτωση πρόσθετων αισθητήρων και, στη συνέχεια, το συνδυασμό των δεδομένων και από τις δύο πηγές.
Βήμα 4: Αποθήκευση και επεξεργασία του χάρτη σας
Εκτελέστε την ακόλουθη εντολή μόλις ολοκληρώσετε τη σάρωση για να αποθηκεύσετε τον χάρτη:
rostopic pub syscommand std_msgs/String "savegeotiff"
Σε αυτό το σενάριο, imagemagick μπορεί να χρησιμοποιηθεί για τη μετατροπή του χάρτη σε αρχείο εικόνας PNG, εκτελέστε και τις δύο αυτές εντολές για να ολοκληρώσετε την εγκατάσταση και τη μετατροπή.
sudo apt-παίρνω εγκαταστήστε το imagemagick
μετατρέπωσαρωμένος χάρτης.pgmMyPngMap.png
Λάβετε περισσότερη χρήση από το LiDAR
Χρησιμοποιώντας ένα LiDAR και έναν υπολογιστή, μπορέσατε να εκτελέσετε μια σάρωση 2D. Μπορείτε να βελτιώσετε τη σάρωση προσθέτοντας μια κάμερα βάθους, όπως το Kinect, και ενσωματώνοντας τους δύο τύπους δεδομένων που συλλέγονται.
Η ίδια τεχνολογία μπορεί να βρεθεί σε ορισμένα μοντέλα iPhone και iPad υψηλής τεχνολογίας, όπου το LiDAR είναι ενσωματωμένο στην κάμερα μονάδα στο πίσω μέρος της συσκευής, που επιτρέπει την ανάπτυξη τρισδιάστατων χαρτών, μέτρησης απόστασης και επαυξημένης πραγματικότητας εφαρμογές.