Taula de continguts:

Instal·leu ROS Kinetic, TurtleBot3, Raspicam a Raspberry Pi  4b: 5 passos
Instal·leu ROS Kinetic, TurtleBot3, Raspicam a Raspberry Pi 4b: 5 passos

Vídeo: Instal·leu ROS Kinetic, TurtleBot3, Raspicam a Raspberry Pi 4b: 5 passos

Vídeo: Instal·leu ROS Kinetic, TurtleBot3, Raspicam a Raspberry Pi  4b: 5 passos
Vídeo: Grocery Girls Knit Episode EP 183 - SUMMER KNITS & KNIT CITY FOMO ;) 2024, De novembre
Anonim
Instal·leu ROS Kinetic, TurtleBot3, Raspicam a Raspberry Pi 4b
Instal·leu ROS Kinetic, TurtleBot3, Raspicam a Raspberry Pi 4b

TurtleBot3 Burger inclou Raspberry Pi 3 B / B + i no admet la nova (a partir del 9/2019) Raspberry Pi 4b. Seguiu els passos següents per fer que TurtleBot3 funcioni a Raspberry Pi 4b, inclòs

  • construint ROS Kinetic a partir de fonts de Raspberry Pi 4b Raspbian Buster
  • afegint paquets específics de TurtleBot3
  • afegint raspicam-node a

Pas 1: instal·leu Raspbian i configureu Raspberry Pi 4b

Instal·leu Raspbian i configureu Raspberry Pi 4b
Instal·leu Raspbian i configureu Raspberry Pi 4b

Baixeu-vos una imatge de Raspbian. He utilitzat Raspbian Buster amb data del 2019-07-10.

Graveu la imatge Raspbian descarregada a una targeta SD (de 8 GB com a mínim). Connecteu una pantalla, un teclat i un ratolí al vostre Raspberry Pi 4b, arrenceu i connecteu-vos a WiFi. Amplieu el sistema de fitxers per ocupar tota la vostra targeta SD i, opcionalment, activeu SSH i VNC executant

sudo raspi-config

Pas 2: descarregueu fonts cinètiques ROS

Descarregueu fonts cinètiques ROS
Descarregueu fonts cinètiques ROS

Les instruccions següents segueixen el tutorial oficial de ROS i també es pot instruir DmitryM8.

Inicieu sessió al vostre Raspberry Pi 4b i executeu aquestes ordres per afegir un dipòsit de paquets ROS, construir eines i inicialitzar l'eina de dependència ROS.

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 sudo rosdep init rosdep update

Creeu un espai de treball per crear ROS Kinetic des de la font.

mkdir ~ / ros_catkin_ws

cd ~ / ros_catkin_ws

Descarregueu el codi font del paquet "ros_comm", que conté mòduls essencials destinats a funcionar a l'ordinador de bord del robot. Aquí rosinstall_generator crea una llista de repositoris de codi font per descarregar. wstool continua descarregant el codi font.

rosinstall_generator ros_comm --rosdistro kinetic --deps --wet-only --tar> kinetic-ros_comm-wet.rosinstall

wstool init -j8 src kinetic-ros_comm-wet.rosinstall rosdep install --from-routes src --ignore-src --rosdistro cinetic -y

Per executar TurtleBot3 i raspicam, necessitareu aquests paquets ROS a més de ros_comm: common_msgs, rosserial, image_common, image_transport_plugins i diagnòstics. Per afegir aquests paquets, executeu aquestes ordres.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins diagnostics nodelet_core --rosdistro cinetic --deps --wet-only --tar> kinetic-extra-wet.rosinstall

wstool merge -t src kinetic-extra-wet.rosinstall wstool update -j8 -t src rosdep install --from-routes src --ignore-src --rosdistro cinetic -y

Com que les versions de les dependències canvien amb el pas del temps, pot haver-hi errors com "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): intentant sobreescriure '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', que també es troba al paquet python-rosdistro 0.7.2-1 ". Resoleu aquests errors "intentant sobreescriure":

sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-modules python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modules

// o sudo apt elimina sudo apt --fix-broken install

Pas 3: corregiu manualment els errors de compilació de ROS

Corregiu manualment els errors de compilació de ROS
Corregiu manualment els errors de compilació de ROS

La construcció de ROS en aquest moment fallarà amb diversos errors. Corregim aquests errors editant manualment el codi font ROS.

Edita

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp línia 885

Substitueix

char * str = PyString_AsString (obj);

amb

const char * str = PyString_AsString (obj);

Editeu els fitxers a continuació.

/home/pi/ros_catkin_ws/src/rospack/include/rospack/rospack.h /home/pi/ros_catkin_ws/src/rospack/src/rospack.cpp /home/pi/ros_catkin_ws/src/rospack/src/utils.cpp

Elimina totes les aparicions de

/ tr1

i substituir totes les aparicions de

std:: tr1

amb

estímul

Editeu els fitxers a continuació.

/home/pi/ros_catkin_ws/src/actionlib/include/actionlib/client/simple_action_client.h /home/pi/ros_catkin_ws/src/actionlib/include/actionlib/destruction_guard.h / home / pi / ros_catkin_ws / src / actionlib / include /actionlib/server/simple_action_server_imp.h /home/pi/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp /home/pi/ros_catkin_ws/src/actionlib/test/destruction_guard_test.cpp / home / pi / ros_catkin /bondcpp/src/bond.cpp /home/pi/ros_catkin_ws/src/ros_comm/roscpp/include/ros/timer_manager.h /home/pi/ros_catkin_ws/src/ros/roslib/test/utest.cpp

Substitueix totes les ocurrències de

boost:: posix_time:: milisegons (…)

amb

boost:: posix_time:: milisegons (int (…))

Editeu el fitxer següent.

/home/pi/ros_catkin_ws/src/geometry2/tf2/src/buffer_core.cpp

Substitueix-ho tot

logWarn

amb

CONSOLE_BRIDGE_logWarn

i

logError

amb

CONSOLE_BRIDGE_logError

Pas 4: Creeu ROS Kinetic

En aquest moment, la compilació hauria de tenir èxit.

cd ~ / ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Release --install-space / opt / ros / cinetic

Afegiu-lo a ~ /.bashrc i també executeu-lo al vostre intèrpret d'ordres:

font /opt/ros/kinetic/setup.bash

Pas 5: creeu paquets TurtleBot3 i Raspicam

Creeu paquets TurtleBot3 i Raspicam
Creeu paquets TurtleBot3 i Raspicam

Aquestes instruccions segueixen el tutorial de ROBOTIS.

mkdir -p ~ / catkin_ws / src

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

Editeu ~ /.bashrc i afegiu-lo

font /home/pi/catkin_ws/devel/setup.bash

Ara, executeu

cd ~ / catkin_ws / src

git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone https://github.com/ROBOTIS-GIT/turtlebot3. git git clon https://github.com/UbiquityRobotics/raspicam_node.git cd ~ / catkin_ws / src / turtlebot3 rm -r turtlebot3_description / turtlebot3_teleop / turtlebot3_navigation / turtlebotkin_torn / turtlebot

La construcció hauria de tenir èxit.

Configureu Raspberry Pi 4b per reconèixer els perifèrics USB TurtleBot3.

rosrun turtlebot3_bringup create_udev_rules

Executeu ifconfig i escriviu la IP de Raspbery Pi.

ifconfig

Edita ~ /.bashrc. Afegiu les línies següents i executeu-les al vostre intèrpret d'ordres.

exportació ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

exportació ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Sincronitza el temps de Raspberry Pi i PC:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

En aquest moment, s'hauria de completar la configuració. Ara podeu utilitzar el vostre Raspberry Pi 4b en lloc de Raspberry Pi 3/3 + al vostre TurtleBot3.

Recomanat: