Πίνακας περιεχομένων:

ROS Melodic στο Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 βήματα
ROS Melodic στο Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 βήματα

Βίντεο: ROS Melodic στο Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 βήματα

Βίντεο: ROS Melodic στο Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 βήματα
Βίντεο: Raspberry Pi Remote Desktop Connection 2024, Ιούλιος
Anonim
Image
Image
ROS Melodic στο Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Melodic στο Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

Αυτό το άρθρο θα καλύψει τη διαδικασία εγκατάστασης του 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

Εγκαταστήστε το πακέτο RPLIDAR ROS
Εγκαταστήστε το πακέτο 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 για εκτέλεση σε πολλαπλές μηχανές

Ρυθμίστε το ROS για λειτουργία σε πολλαπλές μηχανές
Ρυθμίστε το 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 για να λαμβάνετε ειδοποιήσεις για πιο ενδιαφέροντα έργα που αφορούν μηχανική εκμάθηση και ρομποτική.

Συνιστάται: