Πίνακας περιεχομένων:
Βίντεο: Roomblock: μια πλατφόρμα για εκμάθηση πλοήγησης ROS με Roomba, Raspberry Pi και RPLIDAR: 9 βήματα (με εικόνες)
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Τι είναι αυτό?
Το "Roomblock" είναι μια πλατφόρμα ρομπότ που αποτελείται από ένα Roomba, ένα Raspberry Pi 2, έναν αισθητήρα λέιζερ (RPLIDAR) και μια μπαταρία για κινητά. Το πλαίσιο στερέωσης μπορεί να κατασκευαστεί από 3D εκτυπωτές. Το σύστημα πλοήγησης ROS επιτρέπει τη δημιουργία ενός χάρτη των δωματίων και τη χρήση του για να φτάσει στον στόχο αυτόνομα.
Ποιος το χρειάζεται αυτό;
Όποιος θέλει να μάθει τις τεχνολογίες αιχμής της ρομποτικής πλοήγησης, χαρτογράφησης και αυτόνομης οδήγησης. Αυτό το ρομπότ μπορεί να κατασκευαστεί εύκολα και με χαμηλότερο κόστος από άλλες εμπορικές πλατφόρμες. Το ROS είναι πλέον de facto τυπικό σύστημα λογισμικού για το πεδίο της ρομποτικής έρευνας. Αυτή η ταινία δείχνει τι είναι δυνατό με το σύστημα πλοήγησης ROS.
Βήμα 1: Αυτό που χρειάζεστε
Σειριακό καλώδιο USB
Εάν δεν έχετε σειριακό καλώδιο USB για το Roomba, μπορείτε να το κατασκευάσετε εύκολα με αυτό το προϊόν.
- FTDI: TTL-232R-5V
- Akiduki Denshi: TTL-232R-5V
Παρατηρήστε ότι η εσωτερική επιφάνεια του Roomba είναι TTL (5V).
Συνδετήρας
Χρειάζεστε μια υποδοχή mini-DIN 8 ακίδων για τη σειριακή διεπαφή του Roomba. Στην πραγματικότητα, ο σύνδεσμος του Roomba είναι μίνι-DIN 7 ακίδων, ωστόσο, είναι πολύ πιο εύκολο να αγοράσετε έναν συνδετήρα 8 ακίδων από έναν σύνδεσμο 7 ακίδων.
- Digikey: υποδοχή mini-DIN 8pin
- Kyoritsu: υποδοχή mini-DIN 8pin
Συγκόλληση
Συγκολλήστε το σειριακό καλώδιο στην υποδοχή 8 ακίδων. Ελέγξτε τη σύνδεση με τη συνημμένη εικόνα και το έγγραφο της προδιαγραφής ανοιχτής διεπαφής Roomba.
Προδιαγραφή ανοιχτού διεπαφής Roomba
Λάβετε υπόψη, είναι ασφαλές να συνδέσετε Vcc (Κόκκινο) και RTS (Πράσινο) για να αποφύγετε το πρόβλημα ροής υλικού.
Βήμα 4: Ρύθμιση μονάδας κάμερας Raspberry Pi (προαιρετικό)
Εάν διαθέτετε μονάδα κάμερας Raspberry Pi, μπορείτε να το επισυνάψετε στο Raspberry Pi. Αυτό είναι προαιρετικό για εκμάθηση πλοήγησης, ωστόσο, είναι διασκεδαστικό να βλέπετε από την όραση του ρομπότ.
Το τμήμα στήριξης της κάμερας περιλαμβάνεται επίσης στα δεδομένα καρέ στο Thingiverse. Η μονάδα της κάμερας μπορεί να στερεωθεί με τέσσερις βίδες M2.
Βήμα 5: Ρύθμιση τοπικού υπολογιστή
Εγκαταστήστε το Ubuntu
Εγκαταστήστε την επιφάνεια εργασίας του Ubuntu 16.04 ακολουθώντας την επίσημη σελίδα
Επίσημη σελίδα του Ubuntu
Εγκαταστήστε το ROS
Συμβουλευτείτε την επίσημη σελίδα της ROS. Εγκαταστήστε πλήρη πακέτα Kinetic desktop.
Οδηγίες εγκατάστασης ROS Kinetic
Εγκαταστήστε το πακέτο Roomblock ROS
Το πακέτο για το roomblock κυκλοφορεί ήδη στο Kinetic. Μπορείτε να τα εγκαταστήσετε με εντολή apt.
$ sudo apt install ros-kinetic-roomblock
Αυτό είναι.
Εάν θέλετε να τροποποιήσετε και να δημιουργήσετε το πακέτο από τον πηγαίο κώδικα, μπορείτε να το λάβετε από το GitHub.
GitHub - κλείδωμα δωματίου
Ακολουθήστε τις οδηγίες στο README.md.
Εάν έχετε οποιοδήποτε πρόβλημα ή ερώτηση σχετικά με το λογισμικό, παρακαλώ δημιουργήστε ένα ζήτημα σχετικά με ζητήματα GitHub, ώστε να μπορούμε να παρακολουθούμε αποτελεσματικά τα προβλήματα. Αποφύγετε να τα δημοσιεύσετε στο Instructables.
Βήμα 6: Ρύθμιση Raspberry Pi
Εγκαταστήστε το Ubuntu
Εγκαταστήστε το Ubuntu 16.04 στο Raspberry Pi ακολουθώντας τον οδηγό εγκατάστασης:
Ubuntu Wiki: RaspberryPi
Εγκαταστήστε το ROS
Εγκαταστήστε το ROS Kinetic ακολουθώντας τον οδηγό εγκατάστασης:
Εγκατάσταση Ubuntu του ROS Kinetic
Εγκαταστήστε το πακέτο Roomblock ROS
Πρέπει να εγκαταστήσετε το πακέτο roomblock από τον πηγαίο κώδικα. Ο πηγαίος κώδικας του πακέτου βρίσκεται στο GitHub.
GitHub - κλείδωμα δωματίου
Ακολουθήστε τις οδηγίες στο README.md.
Εάν έχετε οποιοδήποτε πρόβλημα ή ερώτηση σχετικά με το λογισμικό, παρακαλώ δημιουργήστε ένα ζήτημα σχετικά με ζητήματα GitHub, ώστε να μπορούμε να παρακολουθούμε αποτελεσματικά τα προβλήματα. Αποφύγετε να τα δημοσιεύσετε στο Instructables.
Ενότητα κάμερας Raspberry Pi (προαιρετικό)
Εάν διαθέτετε μονάδα κάμερας Rasberry Pi, πρέπει να εγκαταστήσετε το libraspberrypi-dev. Συμβουλευτείτε το README.md στο Github.
Βήμα 7: Τηλελειτουργία
Ενημερώστε το βασικό σύστημα στο Raspberry Pi
Πρώτα απ 'όλα, πρέπει να αναδείξετε το σύστημα. Στο τερματικό Raspberry Pi, ξεκινήστε το βασικό σύστημα ως:
$ εξαγωγή ROS_IP = IP_ADDRESS_OF_RASPBERRY_PI
$ roslaunch roomblock_bringup roomblock.launch
Το RPLIDAR αρχίζει να περιστρέφεται και τώρα μπορείτε να συνδεθείτε στο κύριο ρομπότ ROS από τον τοπικό υπολογιστή σας.
Τηλελειτουργία από τοπικό υπολογιστή
Μπορείτε να χρησιμοποιήσετε ένα μαξιλάρι χαράς για να χειριστείτε το ρομπότ. Εάν διαθέτετε ένα joy pad του XBox, μπορείτε να χρησιμοποιήσετε αυτό το αρχείο εκκίνησης. Διαφορετικά, μπορεί να χρειαστεί να τροποποιήσετε το αρχείο εκκίνησης για να ταιριάζει στο μαξιλάρι χαράς σας. Συμβουλευτείτε τις σελίδες wiki του ROS για λεπτομέρειες.
ROS wiki - teleop_twist_joy
$ εξαγωγή ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ roslaunch roomblock_bringup teleop.launch
Τώρα μπορείτε να ελέγξετε το Roomba με χειριστήριο.
Αντ 'αυτού, μπορείτε να χρησιμοποιήσετε ένα πληκτρολόγιο.
$ εξαγωγή ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Συμβουλευτείτε τις σελίδες wiki του ROS για λεπτομέρειες.
ROS wiki - teleop_twist_keyboard
Βήμα 8: Εκκινήστε το λογισμικό χαρτογράφησης
Εμφανίστε το λογισμικό χαρτογράφησης στον τοπικό υπολογιστή
Εμφανίστε το λογισμικό χαρτογράφησης για να δημιουργήσετε τον χάρτη γύρω από το ρομπότ.
$ εξαγωγή ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ εξαγωγή ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch
Τώρα μπορείτε να δείτε το Rviz (λογισμικό οπτικοποίησης). Λειτουργήστε το ρομπότ γύρω από το δωμάτιο για να δημιουργήσετε έναν χάρτη του δωματίου.
Μπορείτε να συμβουλευτείτε τη σελίδα wiki ROS για σύστημα χαρτογράφησης.
- ROS wiki - gmapping
- ROS wiki - διακομιστής map_server
Βήμα 9: Εκκινήστε την Αυτόνομη Πλοήγηση
Δημιουργήστε αυτόνομο λογισμικό πλοήγησης
Τώρα μπορείτε να ξεκινήσετε αυτόνομο σύστημα πλοήγησης στον τοπικό υπολογιστή ως εξής:
$ εξαγωγή ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ εξαγωγή ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch
Μπορείτε να χρησιμοποιήσετε το Rviz για να καθορίσετε τον στόχο. Το ρομπότ πρέπει να πηγαίνει στον στόχο αυτόνομα.
Συμβουλευτείτε τη σελίδα wiki του ROS για το αυτόνομο σύστημα.
- ROS wiki - πλοήγηση
- ROS wiki - amcl
Καλα να περνατε
Εάν έχετε γενικές ερωτήσεις ή προβλήματα σχετικά με το ROS, συμβουλευτείτε το wiki του ROS. Δεν μπορούμε να απαντήσουμε σε γενικές ερωτήσεις σχετικά με το ROS.
ROS wiki - Υποστήριξη
Εάν έχετε οποιοδήποτε πρόβλημα ή ερώτηση σχετικά με το λογισμικό Roomblock, παρακαλώ δημιουργήστε ένα ζήτημα σχετικά με ζητήματα GitHub, ώστε να μπορούμε να παρακολουθούμε αποτελεσματικά τα προβλήματα. Αποφύγετε να τα δημοσιεύσετε στο Instructables.