Πίνακας περιεχομένων:
- Βήμα 1: Εγκατάσταση εξαρτήσεων Bootstrap και λήψη των πακέτων
- Βήμα 2: Διορθώστε τα ζητήματα
- Βήμα 3: Δημιουργήστε και προμηθευτείτε την εγκατάσταση
- Βήμα 4: Εγκαταστήστε το πακέτο RPLIDAR ROS
- Βήμα 5: Ρυθμίστε το ROS για εκτέλεση σε πολλαπλές μηχανές
- Βήμα 6: Τέλος
Βίντεο: ROS Melodic στο Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Αυτό το άρθρο θα καλύψει τη διαδικασία εγκατάστασης του ROS Melodic Morenia στο Raspberry Pi 4 που εκτελεί το πιο πρόσφατο Debian Buster και πώς να χρησιμοποιήσετε το RPLIDAR A1M8 με την εγκατάστασή μας.
Δεδομένου ότι το Debian Buster κυκλοφόρησε επίσημα μόλις πριν από λίγες εβδομάδες (από τη στιγμή που γράφεται αυτό το άρθρο), δεν υπάρχουν προκατασκευασμένα πακέτα ROS για εγκατάσταση με το apt-get, η οποία είναι η προτιμώμενη μέθοδος εγκατάστασης. Ως εκ τούτου, θα χρειαστεί να το κατασκευάσουμε από την πηγή. Πιστέψτε με, δεν είναι τόσο τρομακτικό όσο ακούγεται. Η διαδικασία περιγράφεται σε αυτό το επίσημο σεμινάριο, αλλά για να δημιουργήσουμε το ROS Melodic στο Raspberry Pi θα χρειαστεί να κάνουμε μερικές τροποποιήσεις.
Σε περίπτωση που εξακολουθείτε να φοβάστε, εδώ είναι μια αστεία εικόνα που * μπορεί * να σας βοηθήσει να χαλαρώσετε. Παρακαλείσθε να παράσχετε σχόλια εάν το επίπεδο χαλάρωσης που παρέχεται ήταν επαρκές. Εάν όχι, θα αντικατασταθεί με εικόνα μιας αστείας γάτας.
Ιανουάριος 2020 ΕΠΕΞΕΡΓΑΣΙΑ: Δεδομένου ότι έχει περάσει μισός χρόνος από τότε που δημοσίευσα αυτό το άρθρο, μπορεί να υπήρξαν κάποιες αλλαγές στο ROS ή στο Buster. Έχω δημιουργήσει μια εικόνα για το Raspberry Pi 4 πριν από λίγο, αφού έγραψα αυτό το σεμινάριο. Ένας συνεργάτης το ανέβασε στο Google Drive
Απρίλιος 2020 ΕΠΕΞΕΡΓΑΣΙΑ: Βρήκα χρόνο πρόσφατα να ξανακάνω την εγκατάσταση ROS Melodic στη νεότερη εικόνα Raspbian από την επίσημη ιστοσελίδα Raspberry Pi. Έχω επεξεργαστεί αναλόγως. Δημιούργησα και μοιράστηκα καθαρές, συμπιεσμένες εικόνες:
Raspbian Buster Lite 2020-02-13 Έκδοση με ROS Melodic Bare-bone Χρειάζεται κάρτα SD 8 GB
Raspbian Buster με επιφάνεια εργασίας 2020-02-13 Έκδοση με ROS Melodic Desktop Χρειάζεται κάρτα SD 16 GB
Mightσως είναι ο γρηγορότερος τρόπος για να λειτουργήσει το σύστημά σας. Εάν θέλετε να συντάξετε μόνοι σας ROS, συνεχίστε να διαβάζετε το άρθρο.
Βήμα 1: Εγκατάσταση εξαρτήσεων Bootstrap και λήψη των πακέτων
Ας ξεκινήσουμε με τη δημιουργία των αποθετηρίων και την εγκατάσταση των απαραίτητων εξαρτήσεων
sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get ενημέρωση
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
Στη συνέχεια, προετοιμάστε το rosdep και ενημερώστε το
sudo rosdep init
ενημέρωση rosdep
Όταν τελειώσει αυτό, ας δημιουργήσουμε έναν ειδικό χώρο εργασίας catkin για τη δημιουργία ROS και μεταβείτε σε αυτόν τον κατάλογο.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Τώρα έχετε δύο επιλογές:
Εγκατάσταση ROS -Comm: (Bare Bones) - εγκαταστήστε αυτό εάν είστε εξοικειωμένοι με το ROS και γνωρίζετε τι κάνετε και τι πακέτα θα χρειαστείτε. Εάν χρειάζεστε πακέτα που δεν περιλαμβάνονται στο ROS-Comm, θα πρέπει επίσης να μεταγλωττίσετε από την πηγή.
Εγκατάσταση επιφάνειας εργασίας: περιλαμβάνει εργαλεία GUI, όπως βιβλιοθήκες rqt, rviz και γενικής χρήσης ρομπότ. Beσως είναι καλύτερη επιλογή για αρχάριους σε ROS.
Θα συνεχίσω με την εγκατάσταση του Desktop Install εδώ.
rosinstall_generator desktop --rosdistro melodic --deps-wet-only --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
Η εντολή θα χρειαστεί λίγα λεπτά για να κατεβάσετε όλα τα βασικά πακέτα ROS στο φάκελο src.
Εάν η εγγραφή wstool αποτύχει ή διακοπεί, μπορείτε να συνεχίσετε τη λήψη εκτελώντας:
wstool ενημέρωση -j4 -t src
Βήμα 2: Διορθώστε τα ζητήματα
Απρίλιος 2020 ΕΠΕΞΕΡΓΑΣΙΑ: Παραλείψτε αυτό το βήμα, φαίνεται ότι όλα τα ζητήματα έχουν διορθωθεί τώρα
Ας εγκαταστήσουμε τη συμβατή έκδοση του Assimp (Open Asset Import Library) για να διορθώσουμε το πρόβλημα εξάρτησης collada_urdf.
mkdir -p ~/ros_catkin_ws/external_src
cd ~/ros_catkin_ws/external_src
wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip
αποσυμπίεση assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake.
φτιαχνω, κανω
sudo make install
Ας εγκαταστήσουμε επίσης το OGRE για το rviz
sudo apt-get install libogre-1.9-dev
Ιανουάριος 2020 ΕΝΗΜΕΡΩΣΗ: Τα προβλήματα με το libbost έχουν ήδη διορθωθεί από προγραμματιστές ROS, μπορείτε να παραλείψετε αυτό το μέρος
/// παράλειψη /// Τέλος, θα πρέπει να διορθώσουμε τα προβλήματα με το libboost. Χρησιμοποιώ τη λύση από αυτήν την ανάρτηση στο stackoverflow:
"Τα σφάλματα κατά τη μεταγλώττιση προκαλούνται από τη συνάρτηση" boost:: posix_time:: milliseconds ", η οποία σε νεότερες εκδόσεις ενίσχυσης δέχεται μόνο ένα ακέραιο όρισμα, αλλά το πακέτο actionlib σε ROS, του δίνει τη δυνατότητα να επιπλέει σε πολλά μέρη. Μπορείτε να αναφέρετε όλα τα αρχεία χρησιμοποιώντας αυτήν τη λειτουργία (! στο φάκελο ros_catkin_ws!):
εύρεση -τύπου f -print0 | xargs -0 grep 'boost:: posix_time:: milliseconds' | κοπή -d: -f1 | ταξινόμηση -u
Ανοίξτε τα στον επεξεργαστή κειμένου και αναζητήστε την κλήση συνάρτησης "boost:: posix_time:: milliseconds".
και αντικαταστήστε τις κλήσεις όπως αυτό:
boost:: posix_time:: χιλιοστά του δευτερολέπτου (loop_duration.toSec () * 1000.0f));
με:
boost:: posix_time:: χιλιοστά του δευτερολέπτου (int (loop_duration.toSec () * 1000.0f)));
Και αυτά:
ενίσχυση:: posix_time:: χιλιοστά του δευτερολέπτου (1000.0f)
με:
boost:: posix_time:: χιλιοστά του δευτερολέπτου (1000)
Σας συνιστώ να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας κειμένου nano, το οποίο είναι απλούστερο από το VIM;) Το Ctrl+O εξοικονομεί, το Ctrl+X εξέρχεται και το Ctrl+W κάνει αναζήτηση.
/// Continue_from_here ///
Βήμα 3: Δημιουργήστε και προμηθευτείτε την εγκατάσταση
Στη συνέχεια, χρησιμοποιούμε το εργαλείο rosdep για την εγκατάσταση όλων των υπόλοιπων εξαρτήσεων:
rosdep install-from-paths src --ignore-src --rosdistro melodic -y
Μόλις ολοκληρωθεί η λήψη των πακέτων και η επίλυση των εξαρτήσεων, είστε έτοιμοι να δημιουργήσετε τα πακέτα catkin. (Εκτελέστε αυτήν την εντολή από το φάκελο ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated -εγκατάσταση -DCMAKE_BUILD_TYPE = Κυκλοφορία -εγκατάσταση -χώρος/εγκατάσταση/επιλογή/ros/μελωδικός -j2
Εάν παγώσει η διαδικασία μεταγλώττισης (πολύ πιθανό, αν εγκαταστήσετε την έκδοση για επιτραπέζιους υπολογιστές), πρέπει να αυξήσετε τον διαθέσιμο χώρο ανταλλαγής. Από προεπιλογή είναι 100 MB, δοκιμάστε να το αυξήσετε στα 2048 MB.
Καλή τύχη! Όλη η διαδικασία σύνταξης διαρκεί περίπου 1 ώρα (λιγότερο για την έκδοση Bare-bone), οπότε πηγαίνετε να φτιάξετε λίγο τσάι.
Τώρα το ROS Melodic πρέπει να εγκατασταθεί στο Raspberry Pi 4. Θα προμηθευτούμε τη νέα εγκατάσταση με την ακόλουθη εντολή:
ηχώ "πηγή /opt/ros/melodic/setup.bash" >> ~/.bashrc
Ανοίξτε ένα νέο κέλυφος για να εφαρμοστούν οι αλλαγές. Δοκιμάστε να ξεκινήσετε το roscore για να ελέγξετε αν όλα ήταν επιτυχημένα.
Βήμα 4: Εγκαταστήστε το πακέτο RPLIDAR ROS
Ας δημιουργήσουμε έναν ξεχωριστό χώρο εργασίας για άλλα πακέτα, τα οποία δεν αποτελούν μέρος του βασικού ROS.
Από τον αρχικό σας φάκελο κάντε:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
και πηγαίνετε στο bashrc:
ηχώ "πηγή $ HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
Εντάξει, είμαστε έτοιμοι να ξεκινήσουμε την εγκατάσταση του πακέτου RPLIDAR ROS.
cd src
sudo git clone
cd..
catkin_make
Περιμένετε να ολοκληρωθεί η σύνταξη του πακέτου. Δοκιμάστε να ξεκινήσετε το πακέτο για να δείτε εάν η μεταγλώττιση ήταν επιτυχής:
roslaunch rplidar_ros rplidar. Launch
Εάν δεν βγάζει κανένα σφάλμα, κάντε ένα γρήγορο χορό γιορτής (*προαιρετικό).
Τώρα λείπει μόνο το τελευταίο κομμάτι - αφού πιθανότατα εκτελείτε το Raspberry Pi 4 σε λειτουργία χωρίς κεφάλι, δεν μπορούμε να οπτικοποιήσουμε τα μηνύματα lidar. Για αυτό θα χρειαστεί να εγκαταστήσουμε το ROS για να λειτουργεί σε πολλαπλά μηχανήματα.
Βήμα 5: Ρυθμίστε το ROS για εκτέλεση σε πολλαπλές μηχανές
Για αυτό το μέρος θα χρειαστείτε έναν υπολογιστή Ubuntu 18.04 με εγκατεστημένο το ROS Melodic. Δεδομένου ότι είναι το Ubuntu ROS μπορεί απλά να εγκατασταθεί χρησιμοποιώντας το apt-get όπως περιγράφεται σε αυτό το σεμινάριο.
Αφού ολοκληρώσετε την εγκατάσταση ROS τόσο στο Raspberry Pi όσο και στο επιτραπέζιο μηχάνημά σας, ελέγξτε τις διευθύνσεις IP και των δύο μηχανών. Πρέπει να βρίσκονται στο ίδιο δίκτυο!
Εκτελέστε roscore στον επιτραπέζιο υπολογιστή σας και εξάγετε ROS_MASTER_URI
roscore
εξαγωγή ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311
Στη συνέχεια, εκτελέστε το Raspberry PI
εξαγωγή ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311
εξαγωγή ROS_IP = [your-raspberry-pi-ip]
και ξεκινήστε το αρχείο εκκίνησης RPILIDAR
roslaunch rplidar_ros rplidar. Launch
Εάν ξεκινήσει με επιτυχία, ελέγξτε τα θέματα που υπάρχουν στο επιτραπέζιο μηχάνημά σας με ροστοπική λίστα
Εάν μπορείτε να δείτε / σαρώσετε μηνύματα, όλα λειτουργούν όπως υποτίθεται ότι θα λειτουργούσαν. Στη συνέχεια, εκκινήστε το RVIZ στον επιτραπέζιο υπολογιστή σας, προσθέστε μηνύματα Laser Scan και επιλέξτε /σάρωση θέματος. Θα χρειαστεί επίσης να αλλάξετε το σταθερό πλαίσιο σε /λέιζερ.
Βοϊλα!
Βήμα 6: Τέλος
Αυτός ο οδηγός μπορεί να είναι ένα πρώτο βήμα προς την κατασκευή του ρομπότ σας ROS πάνω από το νέο Raspberry Pi 4. Έχουμε εγκαταστήσει το ROS Melodic και έχουμε προετοιμάσει την εγκατάσταση για λειτουργία χωρίς κεφαλή και σύνδεση με τον επιτραπέζιο υπολογιστή μας μέσω ασύρματου δικτύου για τηλεχειρισμό.
Τα επόμενα βήματα εξαρτώνται από τον τύπο ρομπότ που θέλετε να δημιουργήσετε. Μπορείτε να προσθέσετε κινητήρες και κωδικοποιητές για οδόμετρα, στερεοφωνική κάμερα για Visual SLAM και κάθε είδους άλλα συναρπαστικά και χρήσιμα πράγματα.
Το υλικό για αυτό το άρθρο παραχωρήθηκε ευγενικά από το στούντιο Seeed. Δείτε τα Raspberry Pi 4, RPLIDAR A1M8 και άλλο υλικό για κατασκευαστές στο κατάστημα στούντιο Seeed!
Προσθέστε με στο LinkedIn αν έχετε απορίες και εγγραφείτε στο κανάλι μου στο YouTube για να λαμβάνετε ειδοποιήσεις για πιο ενδιαφέροντα έργα που αφορούν μηχανική εκμάθηση και ρομποτική.
Συνιστάται:
Ξεκινώντας με το χαμηλού κόστους RPLIDAR χρησιμοποιώντας το Jetson Nano: 5 βήματα
Ξεκινώντας με το χαμηλού κόστους RPLIDAR Χρησιμοποιώντας το Jetson Nano: Σύντομη επισκόπηση Η ανίχνευση και οριοθέτηση φωτός (LiDAR) λειτουργεί με τον ίδιο τρόπο όπως τα υπερηχητικά εύρεσης εύρους με παλμό λέιζερ αντί για ηχητικά κύματα. Η Yandex, η Uber, η Waymo κ.λπ. επενδύουν πολύ στην τεχνολογία LiDAR για το αυτόνομο αυτοκίνητό τους
Πώς να χρησιμοποιήσετε το σαρωτή λέιζερ RPLIDAR 360 ° με Arduino: 3 βήματα (με εικόνες)
Πώς να χρησιμοποιήσετε το σαρωτή λέιζερ RPLIDAR 360 ° με Arduino: Είμαι μεγάλος οπαδός της κατασκευής σούμο ρομπότ και είμαι πάντα στην αναζήτηση νέων ενδιαφέρων αισθητήρων και υλικών που θα χρησιμοποιήσω για την κατασκευή ενός καλύτερου, ταχύτερου, πιο έξυπνου ρομπότ. Έμαθα για το RPLIDAR A1 το οποίο μπορείτε να αποκτήσετε για 99 $ στο DFROBOT.com. Είπα ότι ήμουν
Roomblock: μια πλατφόρμα για εκμάθηση πλοήγησης ROS με Roomba, Raspberry Pi και RPLIDAR: 9 βήματα (με εικόνες)
Roomblock: μια πλατφόρμα για εκμάθηση πλοήγησης ROS με Roomba, Raspberry Pi και RPLIDAR: Τι είναι αυτό; " Roomblock " είναι μια πλατφόρμα ρομπότ που αποτελείται από ένα Roomba, ένα Raspberry Pi 2, έναν αισθητήρα λέιζερ (RPLIDAR) και μια μπαταρία για κινητά. Το πλαίσιο στερέωσης μπορεί να κατασκευαστεί από 3D εκτυπωτές. Το σύστημα πλοήγησης ROS επιτρέπει τη δημιουργία χάρτη των δωματίων και τη χρήση i