Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Von shahizatMeine persönliche WebsiteFolgen Sie mehr vom Autor:
Über: Ingenieur für Steuerungssysteme und Robotik, [email protected] Mehr über Shahizat »
Kurzübersicht
Light Detection and Ranging (LiDAR) funktioniert genauso wie Ultraschall-Entfernungsmesser mit Laserpuls anstelle von Schallwellen. Yandex, Uber, Waymo usw. investieren stark in die LiDAR-Technologie für ihre autonomen Autoprogramme. Der größte Nachteil von LiDAR-Sensoren sind ihre hohen Kosten. Es gibt jedoch immer mehr kostengünstige Optionen, die bereits auf dem Markt sind. Ein Beispiel hierfür ist der von Slamtec entwickelte RPLiDAR A1M8 mit seiner 360-Grad-2D-Laserscanner (LIDAR)-Lösung. Es kann einen 360-Grad-Scan innerhalb einer Reichweite von 12 Metern durchführen und bis zu 8.000 Abtastungen pro Sekunde aufnehmen. Und es ist für nur 99 USD erhältlich.
RPLIDAR ist ein kostengünstiger LIDAR-Sensor, der für die Indoor-Roboter-SLAM-Anwendung (Simultaneous Localization and Mapping) geeignet ist. Es kann in den anderen Anwendungen verwendet werden, wie zum Beispiel:
- Allgemeine Roboternavigation und -lokalisierung
- Hindernisvermeidung
- Umgebungsscannen und 3D-Modellierung
Das Ziel dieses Tutorials ist es, das Robot Operating System (ROS) auf einem NVIDIA Jetson Nano Developer Kit zu verwenden, um die Leistung des kostengünstigen RPLiDAR A1M8 von Slamtec im SLAM-Problem zu testen.
Schritt 1: Auspacken des RPLIDAR A1 Development Kits
Das RPLIDAR A1 Development Kit enthält:
- RPLIDAR A1
- USB-Adapter mit Kommunikationskabel
- Dokumentation
Hinweis: Das Micro-USB-Kabel ist nicht im Lieferumfang enthalten.
Schritt 2: NVIDIA Jetson Nano-Entwicklerkit
NVIDIA Jetson Nano ist ein kleiner, leistungsstarker und kostengünstiger Einplatinencomputer, der fast alles kann, wozu ein eigenständiger PC fähig ist. Es wird von einer 1,4-GHz-Quad-Core-ARM-A57-CPU, einer 128-Core-Nvidia-Maxwell-GPU und 4 GB RAM angetrieben und kann auch ROS ausführen, wenn ein Linux-Betriebssystem ausgeführt wird.
Schritt 3: Vorbereitung
Stellen Sie sicher, dass Sie über die neueste Version des JetPacks verfügen. Sie können die neueste Version von der offiziellen Website von Nvidia herunterladen. Ich habe vor kurzem bereits eine Kurzanleitung veröffentlicht. Hör zu.
Nach der Installation des Betriebssystems überprüfen wir mit den folgenden Befehlen, ob die neuesten Treiber installiert sind.
sudo apt-get update
Dieser Befehl aktualisiert die Liste der verfügbaren Pakete und ihrer Versionen.
sudo apt-get upgrade
Schließen Sie den RPlidar über einen USB-Adapter mit einem Kommunikationskabel an den USB-Port Ihres NVIDIA Jetson Nano an.
Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus.
ls -l /dev | grep ttyUSB
Die Ausgabe des folgenden Befehls muss sein:
crw-rw---- 1 Root-Dialout 188, 0 31. Dez. 20:33 ttyUSB0
Führen Sie den folgenden Befehl aus, um die Berechtigung zu ändern:
sudo chmod 666 /dev/ttyUSB0
Jetzt können Sie mit diesem Gerät über den Port lesen und schreiben. Überprüfen Sie es mit ls -l /dev | grep ttyUSB-Befehl.
crw-rw-rw- 1 Root-Dialout 188, 0 31. Dezember 20:33 ttyUSB0
Schritt 4: Installation von ROS auf Jetson Nano
Jetzt sind wir bereit, die ROS-Pakete auf Ubuntu 18.04 LTS basierend auf Jetson Nano zu installieren. Richten Sie den Jetson Nano so ein, dass er Software von package.ros.org akzeptiert, indem Sie den folgenden Befehl auf dem Terminal eingeben:
sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
Fügen Sie einen neuen apt-Schlüssel hinzu:
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
Und Sie sehen die folgende Ausgabe:
Ausführen: /tmp/apt-key-gpghome.kbHNkEyTKo/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654gpg: Schlüssel F42ED6FBAB17C65Open4
gpg: Gesamtzahl verarbeitet: 1
gpg: importiert: 1
Aktualisieren Sie Ihre Paketliste mit dem folgenden Befehl:
sudo apt-Update
Derzeit ist die neueste Version von ROS Melodic Morenia. Der folgende Befehl installiert alle Software, Tools, Algorithmen und Robotersimulatoren für ROS, einschließlich der Unterstützung für rqt, rviz und andere nützliche Robotikpakete. Nachdem Sie den Befehl eingegeben und die Eingabetaste gedrückt haben, drücken Sie Y und drücken Sie die Eingabetaste, wenn Sie gefragt werden, ob Sie fortfahren möchten.
sudo apt install ros-melodic-desktop
Es dauert etwa 15-20 Minuten, um einen Befehl herunterzuladen und auszuführen. Machen Sie also ruhig eine Pause.
Initialisieren Sie nun rosdep.
sudo rosdep init
Sie sehen die folgende Ausgabe:
Schrieb /etc/ros/rosdep/sources.list.d/20-default.list
Empfohlen: bitte ausführen
rosdep-Update
Führen Sie dann den folgenden Befehl aus
rosdep-Update
Auf dem Terminal wird möglicherweise der folgende Fehler angezeigt:
FEHLER: Fehler beim Laden der Quellenliste: (https://raw.githubusercontent.com/ros/rosdistro/master/dasching/distribution.yaml)>
Führen Sie rosdep update erneut aus, bis der Fehler verschwindet. In meinem Fall wurde es 2 mal gemacht.
Richten Sie die Umgebungsvariablen ein
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Quelle ~/.bashrc
Hier ist der letzte Schritt des Installationsprozesses. Überprüfen Sie, welche Version von ROS Sie installiert haben. Wenn Sie Ihre ROS-Version als Ausgabe sehen, herzlichen Glückwunsch, dass Sie ROS erfolgreich installiert haben.
rosversion -d
In meinem Fall war es:
melodisch
Jetzt ist der Jetson Nano bereit, ROS-Pakete auszuführen.
Schritt 5: Konfigurieren eines Catkin-Arbeitsbereichs
Sie müssen einen Catkin-Arbeitsbereich erstellen und konfigurieren. Ein Catkin-Arbeitsbereich ist ein Verzeichnis, in dem Sie vorhandene Catkin-Pakete erstellen oder ändern können.
Installieren Sie die folgenden Abhängigkeiten:
sudo apt-get install cmake python-catkin-pkg python-empy python-nose python-setuptools libgtest-dev python-rosinstall python-rosinstall-generator python-wstool build-essential git
Erstellen Sie die Catkin-Stamm- und Quellordner:
mkdir -p ~/catkin_ws/src
Führen Sie in Ihrem Terminal aus
cd ~/catkin_ws/src
Klonen Sie das Github-Repository des RPLIDAR ROS-Pakets.
git-Klon
Lauf
CD..
Führen Sie dann catkin_make aus, um Ihren catkin-Arbeitsbereich zu kompilieren.
catkin_make
Führen Sie dann mit Ihrem aktuellen Terminal aus, um die Umgebung zu sourcen. Schließen Sie das Terminal nicht.
Quelle devel/setup.bash
Führen Sie in einem neuen Terminal den folgenden Befehl aus
roscore
Führen Sie in dem Terminal, von dem Sie die Umgebung bezogen haben, den folgenden Befehl aus
roslaunch rplidar_ros view_rplidar.launch
Eine Instanz von Rviz wird dann mit einer Karte der Umgebung des RPLIDAR geöffnet.
ROS ist ein guter Rahmen, in dem wir die Karte um RPLIDAR herum erstellt haben. Es ist ein großartiges Werkzeug zum Erstellen von Robotersoftwaresystemen, das für eine Vielzahl von Hardwareplattformen, Forschungseinstellungen und Laufzeitanforderungen nützlich sein kann. Diese Arbeit diente dem Beweis, dass das kostengünstige RPLiDAR eine geeignete Lösung für die Implementierung von SLAM ist.
Ich hoffe, Sie fanden diese Anleitung nützlich und danke fürs Lesen. Haben Sie Fragen oder Feedback? Hinterlassen Sie unten einen Kommentar. Bleiben Sie dran!