[PYTHON] Installieren Sie das ROS- und ROS-Modul für Roomba auf Raspberry Pi 3 und versuchen Sie, es auszuführen

Einführung

Ich habe Ubuntu-16.04, ROS Kinetic auf Raspberry Pi 3 installiert und versucht, das Beispiel auszuführen.

Überblick

--Installation von Ubuntu-16.04 --OS Grundeinstellungen

Verfahren

Ubuntu-16.04 installieren

Herunterladen und entpacken

Referenz: Verwenden von Ubuntu 14.04 mit Raspberry Pi 2 Referenz: Raspberry Pi OS-Image auf Mac OS X- @ ledsun-Blog brennen

Laden Sie das Ubuntu-16.04-Image (ubuntu-16.04-vorinstallierter-Server-Armhf + raspi3.img.xz) von unten herunter ARM/RaspberryPi - Ubuntu Wiki

Entpacken Sie unten.

$ xz -dv ubuntu-16.04-preinstalled-server-armhf+raspi3.img.xz

SD-Kartenidentifikation und Brennen

Identifizieren Sie die SD-Karte mit "diskutil list" usw. Diesmal / dev / disk2

Auf SD-Karte brennen.

$ diskutil unmountDisk /dev/disk2
$ sudo dd if=ubuntu-16.04-preinstalled-server-armhf+raspi3.img of=/dev/rdisk2 bs=1m

Verbindung mit SSH herstellen, Grundeinstellung

WLAN-Einstellungen

Es wird angenommen, dass die IP-Adresse von RPi für Roomba auf "192.168.0.1" festgelegt ist.

$ sudo apt-get install -y wpasupplicant wireless-tools linunx-firmware
$ sudo vi /etc/network/interfaces.d/wlan.cfg
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
$ sudo vi /etc/default/networking
$ sudo ifup wlan0

text:/etc/network/interfaces.d/wlan.cfg


auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.0.1
    netmask 255.255.255.0  #In deiner eigenen Umgebung
    gateway 192.168.0.254  #Zusammen setzen
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant/wpa_supplicant.conf


update_config=1
network={
	proto=WPA2
	key_mgmt=WPA-PSK
	pairwise=CCMP TKIP
	group=CCMP TKIP
	ssid="your_ssid"
	psk=**************** #Siehe unten
}

/etc/default/networking


CONFIGURTE_INTERFACES=no

** Referenz ** Die Passphrasengenerierung ist wie folgt

$ sudo sh -c "wpa_passphrase your_ssid > /etc/wpa_supplicant/wpa_supplicant.conf"
# reading passphrase from stdin
pass_phrase
network={
	ssid="your_ssid"
	#psk="pass_phrase"
	psk=****************
}

ROS-Installation

Referenz: Installieren Sie ROS kinetic unter Ubuntu 16.04 LTS von Raspberry Pi3 | GarretCafe

Fast dasselbe wie Einfach auszuführendes ROS-Beispiel auf einer virtuellen Maschine.

Zeiteinstellung

$ sudo apt-get update
$ sudo apt-get install -y chrony ntpdate
$ sudo ntpdate ntp.nict.jp

ROS-Repository und öffentlicher Schlüssel hinzugefügt

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

ROS-Installation

$ sudo apt-get update
$ sudo apt-get install -y ros-kinetic-ros-base # No GUI tools
$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt-get install -y python-rosinstall

Arbeitsbereichseinstellungen

$ source /opt/ros/kinetic/setup.bash
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

ROS-Einstellungen

$ vi ~/.bashrc
$ source ~/.bashrc

.bashrc


source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash

export ROS_IP=192.168.0.1
export ROS_MASTER_URI=http://${ROS_IP}:11311
export DISPLAY=:0

alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'

Installation von roomba_500_series

Referenz: Roomba mit ROS ausführen (Catkin-kompatibel) --cryborg Robotics-Blog Referenz: Catkin Super Introduction (Teil 3) - Verwenden Sie das Rosbuild-Paket: Geben Sie Hanaoka einen Blumenstrauß

Repository: https://github.com/NetBUG/roomba_500_series

Wenn es einmal ist, schlägt catkin_make oder catkin_make install fehl, aber wenn es mehrmals ausgeführt wird, ist es schließlich erfolgreich.

$ cd ~/catkin_ws/src
$ git clone https://github.com/NetBUG/cereal_port
$ git clone https://github.com/NetBUG/roomba_500_series
$ rosdep install cerial_port
$ rosdep install roomba_500_series
$ cd ~/catkin_ws
$ catkin_make
$ catkin_make install

Paket erstellen

Paketerstellung

$ cd ~/catkin_ws/src
$ catkin_create_pkg roomba rospy std_msgs

Erstellen von Roslaunch-Dateien und Betriebsprogrammen

roscore startet ohne Erlaubnis, auch wenn es nicht beschrieben ist.

$ roscd roomba
$ mkdir launch
$ mkdir scripts
$ vi launch/roomba.launch
$ vi scripts/sample.py

roomba.launch


<launch>
	<node pkg="roomba_500_series" name="roomba560_node" type="roomba560_node" />
</launch>

sample.py


#!/usr/bin/env python

import rospy
from geometry_msgs.msg import Twist

rospy.init_node("sample")

pub = rospy.Publisher("cmd_vel", Twist, queue_size=10)

while not rospy.is_shutdown():
    vel  = Twist()

    direction = raw_input("f: forward, b: backward, l: left, r: right, s: stop,  q: quit > ")

    if "f" in direction:
        vel.linear.x = +0.1

    if "b" in direction:
        vel.linear.x = -0.1

    if "l" in direction:
        vel.angular.z = +1.0

    if "r" in direction:
        vel.angular.z = -1.0

    if "s" in direction:
        vel.linear.x = 0.0
        vel.angular.z = 0.0

    if "q" in direction:
        break

    print vel

    pub.publish(vel)

Ausführungsberechtigung erteilen

$ roscd roomba_ctl/scripts
$ chmod 755 sample.py

catkin_make

$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash

Versuche dich zu bewegen

roslaunch

$ roslaunch roomba roomba.launch

Direkte Übertragung von Rostopic

$ export ROS_IP=<Meine IP-Adresse> #Überprüfen Sie mit ifconfig
$ rostopic pub -1 cmd_vel geometry_msgs/Twist "[0, 0, 0]" "[0, 0, 0.1]" && rostopic pub -1 cmd_vel geometry_msgs/Twist "[0, 0, 0]" "[0, 0, 0]"

Oder unten (arbeiten von sample.py)

$ export ROS_IP=<Meine IP-Adresse> #Überprüfen Sie mit ifconfig
$ roscd roomba
$ ./sample.py

Recommended Posts

Installieren Sie das ROS- und ROS-Modul für Roomba auf Raspberry Pi 3 und versuchen Sie, es auszuführen
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
So installieren Sie Fast.ai auf einer Alibaba Cloud-GPU und führen es auf einem Jupyter-Notebook aus
Installieren Sie Selenium auf Ihrem Mac und probieren Sie es mit Python aus
Installieren Sie Docker unter Arch Linux und führen Sie es remote aus
Installieren Sie Dropbox und führen Sie es unter Ubuntu 20.04 aus
Installieren Sie Fabric unter Ubuntu und versuchen Sie es
Installieren Sie Python3.5 + NumPy + SciPy und führen Sie es unter Windows 10 aus
Schritt 2, um Xenomai auf RaspberryPi 3 Modell B + zu installieren
(Für mich) AWS_Flask_3 (Flask auf AWS installieren / ausführen)
So installieren Sie den Cascade-Detektor und wie verwenden Sie ihn
Installieren Sie Python und Bibliotheken für Python unter MacOS Catalina
Wenn Sie versuchen, Python2 pip nach der Installation von Python3 pip zu installieren, wird dies abgelehnt
Installieren Sie PyCall auf Raspberry PI und versuchen Sie, die GPIO-Bibliothek für Python von Ruby zu verwenden
Bis Sie Blender installieren und vorerst mit Python ausführen können
Installieren Sie Apache 2.4 unter Ubuntu 19.10 Eoan Ermine und führen Sie CGI aus
So installieren Sie Git GUI und Gitk unter CentOS
Kompilieren und installieren Sie MySQL-Python für Python2.7 unter Amazon Linux
Installieren Sie tweepy mit pip und verwenden Sie es für API 1.1
Ich habe versucht, Scrapy auf Anaconda zu installieren und konnte es nicht
Versuchen Sie es mit GUI, PyQt in Python
Installieren Sie pyenv auf MacBookAir und wechseln Sie Python zur Verwendung
[ROS] So schreiben Sie Publisher und Subscriber auf einen Knoten
Installieren Sie das Modul auf Anaconda (Mac)
[ROS] Installiere ROS (melodisch) unter Ubuntu (18.04)
Installieren Sie Ubuntu 18.04 auf dem MacBook Pro Touchbar-Modell und stellen Sie eine Verbindung zu WIFI her
Installieren Sie OpenCV2.4 (+ Python) schnell unter OS X und probieren Sie das Beispiel aus
So führen Sie Jupyter und Spark auf einem Mac mit minimalen Einstellungen aus
So installieren Sie Pandas auf EC2 (Umgang mit MemoryError und PermissionError)
So blockieren Sie Anzeigen kostenlos auf iPhone- und iPad-Apps
Verkleide das Gras auf GitHub und versuche Ingenieur zu werden.
Das grovepi-Modul von python3.8.1 konnte nicht auf RaspberryPi Model 3B installiert werden (gelöst)
Installieren Sie Anaconda auf Ihrem Mac und laden Sie Ihr Jupyter (IPython) -Notebook in die Anaconda Cloud hoch
[TensorFlow] Wenn Sie TensorBoard ausführen möchten, installieren Sie es mit pip.
Installieren Sie lp_solve unter Mac OSX und rufen Sie es mit Python auf.
Jetzt ist es an der Zeit, DB mit Docker zu installieren! DB-Installation für Anfänger auf Docker
Bereiten Sie ein Projektformat für maschinelles Lernen vor und führen Sie es in SageMaker aus
Kommentar zu Unparteilichkeit und Beständigkeit für diejenigen, die sich nicht verlieben