[PYTHON] Installez le module ROS et ROS pour Roomba sur Raspberry Pi 3 et essayez de l'exécuter

introduction

J'ai installé Ubuntu-16.04, ROS Kinetic sur Raspberry Pi 3 et j'ai essayé d'exécuter l'exemple.

Aperçu

--Installation d'Ubuntu-16.04

procédure

Installer Ubuntu-16.04

Télécharger et décompresser

Référence: Utilisation d'Ubuntu 14.04 avec Raspberry Pi 2 Référence: Graver l'image du système d'exploitation Raspberry Pi sur le blog Mac OS X- @ ledsun

Téléchargez l'image Ubuntu-16.04 (ubuntu-16.04-preinstalled-server-armhf + raspi3.img.xz) ci-dessous ARM/RaspberryPi - Ubuntu Wiki

Décompressez ci-dessous.

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

Identification et gravure de la carte SD

Identifiez la carte SD avec diskutil list etc. Cette fois / dev / disk2

Graver sur la carte SD.

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

Se connecter avec SSH, réglage initial

Paramètres LAN sans fil

L'adresse IP de RPi pour Roomba est supposée être fixée à «192.168.0.1».

$ 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  #Dans votre propre environnement
    gateway 192.168.0.254  #Ensemble
    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=**************** #Voir ci-dessous
}

/etc/default/networking


CONFIGURTE_INTERFACES=no

** Référence ** La génération de phrase secrète est la suivante

$ 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=****************
}

Installation ROS

Référence: Installer ROS kinetic sur Ubuntu 16.04 LTS de Raspberry Pi 3 | GarretCafe

Presque identique à Exemple de ROS facile à exécuter sur une machine virtuelle.

Réglage de l'heure

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

Ajout du référentiel ROS et de la clé publique

$ 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 -

Installation ROS

$ 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

Paramètres de l'espace de travail

$ 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

Préférences ROS

$ 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 de roomba_500_series

Référence: Exécutez Roomba avec ROS (compatible catkin) - blog Cryborg Robotics Référence: Catkin Super Introduction (Partie 3) - Utilisez le package rosbuild: Donnez un bouquet à Hanaoka

Référentiel: https://github.com/NetBUG/roomba_500_series

Si c'est une fois, catkin_make ou catkin_make install échouera, mais s'il est exécuté plusieurs fois, il réussira finalement.

$ 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

Créer un package

Création de package

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

Création de fichiers roslaunch et programmes d'exploitation

roscore démarre sans autorisation même s'il n'est pas décrit.

$ 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)

Donner l'autorisation d'exécution

$ roscd roomba_ctl/scripts
$ chmod 755 sample.py

catkin_make

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

Essayez de bouger

roslaunch

$ roslaunch roomba roomba.launch

Transmission directe de rostopic

$ export ROS_IP=<Mon adresse IP> #Vérifier avec 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]"

Ou ci-dessous (opérez à partir de sample.py)

$ export ROS_IP=<Mon adresse IP> #Vérifier avec ifconfig
$ roscd roomba
$ ./sample.py

Recommended Posts

Installez le module ROS et ROS pour Roomba sur Raspberry Pi 3 et essayez de l'exécuter
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Comment installer Fast.ai sur le GPU Alibaba Cloud et l'exécuter sur un ordinateur portable Jupyter
Installez le sélénium sur votre Mac et essayez-le avec python
Installez Docker sur Arch Linux et exécutez-le à distance
Installez et exécutez Dropbox sur Ubuntu 20.04
Installez le fabric sur Ubuntu et essayez
Installez et exécutez Python3.5 + NumPy + SciPy sur Windows 10
Étape 2 pour installer Xenomai sur RaspberryPi 3 modèle B +
(Pour moi-même) AWS_Flask_3 (Installer / exécuter Flask sur AWS)
Comment installer le détecteur Cascade et comment l'utiliser
Installer Python et les bibliothèques pour Python sur MacOS Catalina
Si vous essayez d'installer Python2 pip après avoir installé Python3 pip et qu'il est rejeté
Installez PyCall sur Raspberry PI et essayez d'utiliser la bibliothèque GPIO pour Python de Ruby
Jusqu'à ce que vous puissiez installer Blender et l'exécuter avec python pour le moment
Installez Apache 2.4 sur Ubuntu 19.10 Eoan Ermine et exécutez CGI
Comment installer Git GUI et Gitk sur CentOS
Compilez et installez MySQL-python pour python2.7 sur Amazon Linux
Installez tweepy avec pip et utilisez-le pour l'API 1.1
J'ai essayé d'installer scrapy sur Anaconda et je n'ai pas pu
Essayez de le faire avec GUI, PyQt en Python
Installez pyenv sur MacBookAir et basculez Python à utiliser
[ROS] Comment écrire un éditeur et un abonné sur un nœud
Installer le module sur Anaconda (Mac)
[ROS] Installer ROS (mélodique) sur Ubuntu (18.04)
Installez Ubuntu 18.04 sur le modèle de la barre tactile MacBook Pro et connectez-vous au WIFI
Installez rapidement OpenCV2.4 (+ python) sur OS X et essayez l'exemple
Comment exécuter Jupyter et Spark sur Mac avec des paramètres minimaux
Comment installer des pandas sur EC2 (Comment gérer MemoryError et PermissionError)
Comment bloquer les publicités gratuitement sur les applications iPhone et iPad
Déguisez l'herbe sur GitHub et essayez de devenir ingénieur.
Le module grovepi de python3.8.1 n'a pas pu être installé sur RaspberryPi Model 3B (résolu)
Installez Anaconda sur votre Mac et téléchargez votre notebook Jupyter (IPython) sur Anaconda Cloud
[TensorFlow] Si vous souhaitez exécuter TensorBoard, installez-le avec pip.
Installez lp_solve sur Mac OSX et appelez-le avec python.
Il est maintenant temps d'installer DB avec Docker! Installation de la base de données pour les débutants sur Docker
Préparez un format de projet d'apprentissage automatique et exécutez-le dans SageMaker
Commentaire d'impartialité et de cohérence pour ceux qui ne tombent pas amoureux