Inhaltsverzeichnis:

Roomblock: eine Plattform zum Erlernen der ROS-Navigation mit Roomba, Raspberry Pi und RPLIDAR - Gunook
Roomblock: eine Plattform zum Erlernen der ROS-Navigation mit Roomba, Raspberry Pi und RPLIDAR - Gunook

Video: Roomblock: eine Plattform zum Erlernen der ROS-Navigation mit Roomba, Raspberry Pi und RPLIDAR - Gunook

Video: Roomblock: eine Plattform zum Erlernen der ROS-Navigation mit Roomba, Raspberry Pi und RPLIDAR - Gunook
Video: Der Staubsauger und die KI: Roomba mit Raspberry – Pi and More 10 - Uni Trier - 24. Juni 2017 2024, November
Anonim
Image
Image
Was du brauchst
Was du brauchst

Was ist das?

"Roomblock" ist eine Roboterplattform bestehend aus einem Roomba, einem Raspberry Pi 2, einem Lasersensor (RPLIDAR) und einem mobilen Akku. Der Montagerahmen kann mit 3D-Druckern hergestellt werden. ROS-Navigationssystem ermöglichen es, eine Karte von Räumen zu erstellen und damit autonom zum Ziel zu gelangen.

Wer braucht das?

Alle, die die neuesten Technologien der Roboternavigation, des Mappings und des autonomen Fahrens erlernen möchten. Dieser Roboter kann einfach und kostengünstiger gebaut werden als andere kommerzielle Plattformen. ROS ist heute de facto ein Standardsoftwaresystem für den Roboterforschungsbereich. Dieser Film zeigt, was mit dem ROS-Navigationssystem möglich ist.

Schritt 1: Was Sie brauchen

Was du brauchst
Was du brauchst
Was du brauchst
Was du brauchst
Bauen Sie ein USB-serielles Kabel (optional)
Bauen Sie ein USB-serielles Kabel (optional)
Bauen Sie ein USB-serielles Kabel (optional)
Bauen Sie ein USB-serielles Kabel (optional)

USB-serielles Kabel

Wenn Sie kein USB-serielles Kabel für Roomba haben, können Sie es mit diesem Produkt leicht bauen.

  • FTDI: TTL-232R-5V
  • Akiduki-Denshi: TTL-232R-5V

Beachten Sie, dass die Schnittstelle des Roomba TTL (5V) ist.

Verbinder

Für die serielle Schnittstelle des Roomba benötigen Sie einen 8-poligen Mini-DIN-Anschluss. Der Anschluss von Roomba ist zwar ein 7-Pin-Mini-DIN-Anschluss, jedoch ist es viel einfacher, einen 8-Pin- als einen 7-Pin-Anschluss zu kaufen.

  • Digikey: Mini-DIN-8-Pin-Anschluss
  • Kyoritsu: Mini-DIN 8-Pin-Anschluss

Löten

Löten Sie das serielle Kabel an den 8-Pin-Anschluss. Überprüfen Sie die Verbindung anhand des beigefügten Bildes und des Dokuments der Roomba Open Interface Specification.

Roomba Open Interface Spezifikation

Bitte beachten Sie, dass es sicher ist, Vcc (Rot) und RTS (Grün) zu verbinden, um das Hardwareflussproblem zu vermeiden.

Schritt 4: Raspberry Pi-Kameramodul einrichten (optional)

Einrichten des Raspberry Pi-Kameramoduls (optional)
Einrichten des Raspberry Pi-Kameramoduls (optional)
Einrichten des Raspberry Pi-Kameramoduls (optional)
Einrichten des Raspberry Pi-Kameramoduls (optional)

Wenn Sie ein Raspberry Pi-Kameramodul haben, können Sie es an Raspberry Pi anschließen. Dies ist optional zum Erlernen der Navigation, aber es macht Spaß, einen Blick aus der Robotersicht zu erhalten.

Der Kamerahalterungsteil ist auch in den Rahmendaten auf Thingiverse enthalten. Das Kameramodul kann mit vier M2-Schrauben befestigt werden.

Schritt 5: Lokalen PC einrichten

Lokalen PC einrichten
Lokalen PC einrichten

Ubuntu installieren

Installieren Sie den Ubuntu 16.04-Desktop gemäß der offiziellen Seite

Offizielle Ubuntu-Seite

ROS installieren

Bitte konsultieren Sie die offizielle ROS-Seite. Installieren Sie Kinetic Desktop-Vollpakete.

Installationsanweisungen für ROS Kinetic

Roomblock ROS-Paket installieren

Das Paket für roomblock ist bereits in Kinetic freigegeben. Sie können sie mit dem Befehl apt installieren.

$ sudo apt install ros-kinetic-roomblock

Das ist es.

Wenn Sie das Paket aus dem Quellcode ändern und erstellen möchten, können Sie sie von GitHub abrufen.

GitHub - Raumblock

Bitte folgen Sie den Anweisungen in README.md.

Wenn Sie ein Problem oder eine Frage bezüglich der Software haben, stellen Sie bitte ein Issue auf GitHub Issues, damit wir die Probleme effizient verfolgen können. Bitte vermeiden Sie, sie auf Instructables zu veröffentlichen.

Schritt 6: Raspberry Pi einrichten

Raspberry Pi einrichten
Raspberry Pi einrichten

Ubuntu installieren

Installieren Sie Ubuntu 16.04 auf dem Raspberry Pi gemäß der Installationsanleitung:

Ubuntu-Wiki: RaspberryPi

ROS installieren

Installieren Sie ROS Kinetic gemäß der Installationsanleitung:

Ubuntu-Installation von ROS Kinetic

Roomblock ROS-Paket installieren

Sie müssen das roomblock-Paket aus dem Quellcode installieren. Der Quellcode des Pakets befindet sich auf GitHub.

GitHub - Raumblock

Bitte folgen Sie den Anweisungen in README.md.

Wenn Sie ein Problem oder eine Frage bezüglich der Software haben, stellen Sie bitte ein Issue auf GitHub Issues, damit wir die Probleme effizient verfolgen können. Bitte vermeiden Sie, sie auf Instructables zu veröffentlichen.

Raspberry Pi Kameramodul (optional)

Wenn Sie ein Rasberry Pi-Kameramodul haben, müssen Sie libaspberrypi-dev installieren. Bitte konsultieren Sie README.md in Github.

Schritt 7: Telebetrieb

Telebetrieb
Telebetrieb
Tele-Betrieb
Tele-Betrieb

Rufen Sie das Basissystem auf Raspberry Pi. auf

Zunächst müssen Sie das System aufrufen. Starten Sie auf dem Raspberry Pi-Terminal das Basissystem als:

$ exportieren ROS_IP=IP_ADDRESS_OF_RASPBERRY_PI

$ roslaunch roomblock_bringup roomblock.launch

RPLIDAR beginnt sich zu drehen, und jetzt können Sie von Ihrem lokalen PC aus eine Verbindung zum ROS-Master des Roboters herstellen.

Tele-Bedienung vom lokalen PC

Sie können den Roboter mit einem Joypad bedienen. Wenn Sie ein Joypad von XBox haben, können Sie diese Startdatei verwenden. Andernfalls müssen Sie möglicherweise die Startdatei an Ihr Joypad anpassen. Bitte konsultieren Sie die ROS-Wiki-Seiten für Details.

ROS-Wiki - teleop_twist_joy

$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ roslaunch roomblock_bringup teleop.launch

Jetzt können Sie den Roomba mit dem Joystick steuern.

Stattdessen können Sie eine Tastatur verwenden.

$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Bitte konsultieren Sie die ROS-Wiki-Seiten für Details.

ROS-Wiki - teleop_twist_keyboard

Schritt 8: Starten Sie die Kartensoftware

Starten Sie die Kartensoftware
Starten Sie die Kartensoftware
Starten Sie die Kartensoftware
Starten Sie die Kartensoftware

Rufen Sie die Kartensoftware auf dem lokalen PC auf

Rufen Sie die Mapping-Software auf, um die Karte um den Roboter herum zu erstellen.

$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ export ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch

Jetzt können Sie Rviz (Visualisierungssoftware) sehen. Führen Sie den Roboter durch den Raum, um eine Karte des Raums zu erstellen.

Sie können die ROS-Wiki-Seite für das Mapping-System konsultieren.

  • ROS-Wiki - gmapping
  • ROS-Wiki - map_server

Schritt 9: Starten Sie die autonome Navigation

Starten Sie die autonome Navigation
Starten Sie die autonome Navigation
Starten Sie die autonome Navigation
Starten Sie die autonome Navigation

Rufen Sie autonome Navigationssoftware auf

Jetzt können Sie das autonome Navigationssystem auf dem lokalen PC starten als:

$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ export ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch

Sie können Rviz verwenden, um das Ziel anzugeben. Der Roboter soll autonom zum Ziel fahren.

Bitte konsultieren Sie die ROS-Wiki-Seite für das autonome System.

  • ROS-Wiki - Navigation
  • ROS-Wiki - amcl

Spaß haben

Bei allgemeinen Fragen oder Problemen zu ROS konsultieren Sie bitte das ROS-Wiki. Allgemeine Fragen zu ROS können wir nicht beantworten.

ROS-Wiki - Support

Wenn Sie ein Problem oder eine Frage bezüglich der Roomblock-Software haben, stellen Sie bitte ein Problem auf GitHub Issues, damit wir die Probleme effizient verfolgen können. Bitte vermeiden Sie, sie auf Instructables zu veröffentlichen.

Empfohlen: