Taula de continguts:
- Pas 1: Instal·lació de les dependències de Bootstrap i descàrrega dels paquets
- Pas 2: solucioneu els problemes
- Pas 3: Creeu i origen la instal·lació
- Pas 4: Instal·leu el paquet RPLIDAR ROS
- Pas 5: configureu ROS perquè s'executi en diverses màquines
- Pas 6: Fet
Vídeo: ROS Melodic on Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Aquest article tractarà sobre el procés d’instal·lació de ROS Melodic Morenia al Raspberry Pi 4 que executa l’últim Debian Buster i sobre com utilitzar RPLIDAR A1M8 amb la nostra instal·lació.
Des que Debian Buster es va llançar oficialment fa poques setmanes (a partir del moment d’escriure aquest article), no hi ha cap paquet ROS preinstal·lat per instal·lar amb apt-get, que és un mètode d’instal·lació preferit. Per tant, haurem de construir-lo des de la font. Confia en mi, no és tan aterrador com sembla. El procés es descriu en aquest tutorial oficial, però per construir ROS Melodic a Raspberry Pi haurem de fer algunes modificacions.
Per si encara teniu por, aquí teniu una imatge divertida que * us pot * ajudar a relaxar-vos. Si us plau, proporcioneu comentaris si el nivell de relaxació proporcionat era suficient. Si no, es substituirà per la imatge d’un gat divertit.
EDICIÓ de gener de 2020: ja que ha passat mig any des que vaig publicar aquest article, és possible que hi hagués alguns canvis a ROS o Buster. Fa poc que he fet una imatge per a Raspberry Pi 4, després d’escriure aquest tutorial. Un col·laborador l'ha penjat a Google Drive
EDITAR d'abril de 2020: recentment he trobat temps per refer la instal·lació de Melodic ROS a la imatge Raspbian més recent del lloc oficial de Raspberry Pi. He editat aquesta informació instructiva en conseqüència. També he creat i compartit imatges comprimides i netes:
Llançament de Raspbian Buster Lite 2020-02-13 amb ROS Melodic Bare-bones Necessita targeta SD de 8 GB
Raspbian Buster amb escriptori 2020-02-13 Llançament amb ROS Melodic Desktop Necessita targeta SD de 16 GB
Pot ser la forma més ràpida de posar en marxa el vostre sistema. Si voleu compilar ROS vosaltres mateixos, continueu llegint l'article.
Pas 1: Instal·lació de les dependències de Bootstrap i descàrrega dels paquets
Comencem per configurar els dipòsits i instal·lar les dependències necessàries
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 --keyyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
A continuació, inicialitzeu rosdep i actualitzeu-lo
sudo rosdep init
actualització de rosdep
Quan ho hàgiu acabat, creem un espai de treball dedicat per a la construcció de ROS i anem a aquest directori.
mkdir ~ / ros_catkin_ws
cd ~ / ros_catkin_ws
Ara teniu dues opcions:
Instal·lació de ROS-Comm: (Bare Bones): instal·leu-la si esteu familiaritzat amb ROS i sabeu què feu i quins paquets necessitareu. Si necessiteu paquets no inclosos a ROS-Comm, també haureu de compilar des de la font.
Instal·lació d’escriptori: inclou eines GUI, com ara biblioteques rqt, rviz i robot-genèriques. Podria ser una millor opció per a principiants amb ROS.
Vaig a instal·lar Desktop Install aquí.
rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
L'ordre trigarà uns minuts a descarregar tots els paquets ROS bàsics a la carpeta src.
Si wstool init falla o s’interromp, podeu reprendre la descàrrega executant:
wstool update -j4 -t src
Pas 2: solucioneu els problemes
EDIT d'abril de 2020: Omet aquest pas, sembla que tots els problemes s'han solucionat ara
Instal·lem la versió compatible d'Assimp (Open Asset Import Library) per solucionar el problema de dependència 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
descomprimir assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake.
fer
sudo make install
Instal·lem també OGRE per a rviz
sudo apt-get install libogre-1.9-dev
ACTUALITZACIÓ de gener de 2020: els desenvolupadors de ROS ja han solucionat els problemes amb libbost. Podeu ometre aquesta part
/// saltar /// Finalment haurem de solucionar els problemes amb libboost. Estic fent servir la solució d’aquest post a stackoverflow:
Els errors durant la compilació són causats per la funció 'boost:: posix_time:: millisegons', que a les versions de boost més recents només accepta un argument enter, però el paquet actionlib a ROS li dóna un flotador a diversos llocs. Podeu llistar tots els fitxers utilitzant aquesta funció (! a la carpeta ros_catkin_ws!):
find -type f -print0 | xargs -0 grep 'boost:: posix_time:: milisegons' | tall -d: -f1 | ordenar -u
Obriu-los a l'editor de text i cerqueu la trucada a la funció "boost:: posix_time:: milliseconds".
i substituïu trucades així:
boost:: time_posix:: milisegons (loop_duration.toSec () * 1000.0f));
amb:
boost:: posix_time:: milisegons (int (loop_duration.toSec () * 1000.0f)));
i aquests:
boost:: posix_time:: milisegons (1000.0f)
amb:
boost:: posix_time:: milisegons (1000)
Us recomano que utilitzeu un editor de text nano, que és més senzill que VIM;) Ctrl + O s’està desant, Ctrl + X surt i Ctrl + W busca.
/// continuar_de_aquí ///
Pas 3: Creeu i origen la instal·lació
A continuació, fem servir l'eina rosdep per instal·lar la resta de dependències:
rosdep install --from-routes src --ignore-src --rosdistro melodic -y
Un cop hagueu completat la descàrrega dels paquets i la resolució de les dependències, esteu preparats per crear els paquets catkin. (Executeu aquesta ordre des de la carpeta ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Release --install-space / opt / ros / melodic -j2
Si el procés de compilació es bloqueja (molt probablement, si instal·leu la versió d'escriptori), haureu d'augmentar l'espai d'intercanvi disponible. Per defecte són 100 MB, intenteu augmentar-los a 2048 MB.
Bona sort! Tot el procés de compilació triga aproximadament 1 hora (menys per a la versió de Bare-bones), així que aneu a fer una mica de te.
Ara ROS Melodic s’hauria d’instal·lar al vostre Raspberry Pi 4. Procedirem a la nova instal·lació amb l’ordre següent:
echo "font /opt/ros/melodic/setup.bash" >> ~ /.bashrc
Obriu un intèrpret d’ordres nou perquè els canvis entrin en vigor. Proveu d'iniciar roscore per comprovar si tot ha funcionat correctament.
Pas 4: Instal·leu el paquet RPLIDAR ROS
Creem un espai de treball separat per a altres paquets, que no formen part del nucli ROS.
Des de la vostra carpeta inicial feu:
mkdir -p ~ / catkin_ws / src
cd ~ / catkin_ws /
fer_aurina
i envieu-lo a bashrc:
echo "font $ HOME / catkin_ws / devel / setup.bash" >> ~ /.bashrc
D’acord, estem preparats per començar a instal·lar el paquet RPLIDAR ROS.
cd src
clon sudo git
cd..
fer_aurina
Espereu que acabi la compilació del paquet. Proveu d'iniciar el paquet per veure si la compilació ha estat correcta:
rplidar_ros rplidar.launch
Si no produeix cap error, feu un ball de celebració ràpid (* opcional).
Ara només falta l’última peça: ja que probablement esteu executant Raspberry Pi 4 en mode sense cap, no podem visualitzar els missatges lidar. Per a això, haurem de configurar ROS per executar-se en diverses màquines.
Pas 5: configureu ROS perquè s'executi en diverses màquines
Per a aquesta part necessitareu un equip Ubuntu 18.04 amb ROS Melodic instal·lat. Com que és Ubuntu, ROS es pot instal·lar simplement utilitzant apt-get tal com es descriu en aquest tutorial.
Un cop hàgiu treballat la instal·lació de ROS tant a Raspberry Pi com a la vostra màquina d'escriptori, comproveu les adreces IP d'ambdues màquines. Han d’estar a la mateixa xarxa.
Executeu roscore a l'ordinador d'escriptori i exporteu ROS_MASTER_URI
roscore
exportació ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311
A continuació, executeu Raspberry PI
exportació ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311
exportació ROS_IP = [vostre-raspberry-pi-ip]
i inicieu el fitxer d'inici RPILIDAR
rplidar_ros rplidar.launch
Si es llança correctament, comproveu els temes presents a la vostra màquina d'escriptori amb una llista rostòpica
Si podeu veure / escanejar missatges, tot funciona com hauria de funcionar. A continuació, inicieu RVIZ a la màquina d'escriptori, afegiu missatges d'escaneig làser i trieu / escanegeu el tema. També haureu de canviar el marc fix a / làser.
Voila!
Pas 6: Fet
Aquesta guia pot ser un primer pas per construir el vostre robot ROS a sobre del nou Raspberry Pi 4. Hem instal·lat ROS Melodic i hem preparat la instal·lació per funcionar sense cap i connectar-nos a la nostra màquina d'escriptori a través de la xarxa sense fils per al control remot.
Els passos següents depenen del tipus de robot que vulgueu construir. Podeu afegir motors i codificadors per a odometria, càmera estèreo per a Visual SLAM i tota mena d’altres coses interessants i útils.
El maquinari d’aquest article va ser proporcionat amablement per Seeed studio. Mireu Raspberry Pi 4, RPLIDAR A1M8 i altres elements de maquinari per a fabricants a la botiga d’estudi Seeed.
Afegiu-me a LinkedIn si teniu alguna pregunta i subscriviu-vos al meu canal de YouTube per rebre notificacions sobre projectes més interessants que impliquen aprenentatge automàtic i robòtica.
Recomanat:
Introducció a RPLIDAR de baix cost amb Jetson Nano: 5 passos
Introducció a RPLIDAR de baix cost amb Jetson Nano: breu descripció La detecció i la distància de la llum (LiDAR) funciona de la mateixa manera que s’utilitzen telèmetres ultrasònics amb pols làser en lloc d’ones de so. Yandex, Uber, Waymo, etc., inverteixen molt en tecnologia LiDAR per als seus vehicles autònoms
Com utilitzar l'escàner làser 360 ° RPLIDAR amb Arduino: 3 passos (amb imatges)
Com utilitzar l’escàner làser 360 ° RPLIDAR amb Arduino: sóc un gran fan de la creació de robots de sumo i sempre busco nous materials i sensors interessants per construir un robot millor, més ràpid i més intel·ligent. Em vaig assabentar del RPLIDAR A1 que podeu obtenir per 99 dòlars a DFROBOT.com. Vaig dir que era inte
Roomblock: una plataforma per aprendre la navegació ROS amb Roomba, Raspberry Pi i RPLIDAR: 9 passos (amb imatges)
Roomblock: una plataforma per aprendre la navegació ROS amb Roomba, Raspberry Pi i RPLIDAR: què és això? &Quot; Roomblock " és una plataforma robot composta per un Roomba, un Raspberry Pi 2, un sensor làser (RPLIDAR) i una bateria mòbil. El marc de muntatge el poden fer impressores 3D. El sistema de navegació ROS permet fer un mapa de les habitacions i utilitzar i