ROS Kinetic, TurtleBot3, Raspicam telepítése a Raspberry Pi -re  4b: 5 lépés
ROS Kinetic, TurtleBot3, Raspicam telepítése a Raspberry Pi -re 4b: 5 lépés
Anonim
Telepítse a ROS Kinetic, TurtleBot3, Raspicam alkalmazást a Raspberry Pi 4b -re
Telepítse a ROS Kinetic, TurtleBot3, Raspicam alkalmazást a Raspberry Pi 4b -re

A TurtleBot3 Burger Raspberry Pi 3 B/B+ csomaggal érkezik, és nem támogatja az új (2019. szeptember 9 -i) Raspberry Pi 4b rendszert. Kövesse az alábbi lépéseket, hogy a TurtleBot3 működjön a Raspberry Pi 4b rendszeren, beleértve

  • a ROS Kinetic építése a Raspberry Pi 4b Raspbian Buster forrásaiból
  • TurtleBot3-specifikus csomagok hozzáadása
  • raspicam-node hozzáadása

1. lépés: A Raspbian telepítése és a Raspberry Pi 4b konfigurálása

Telepítse a Raspbian programot, és konfigurálja a Raspberry Pi 4b -t
Telepítse a Raspbian programot, és konfigurálja a Raspberry Pi 4b -t

Töltsön le egy Raspbian képet. A Raspbian Buster -t használtam, 2019-07-10.

Írja le a letöltött Raspbian képet SD -kártyára (legalább 8 Gb méretű). Csatlakoztasson egy kijelzőt, billentyűzetet és egeret a Raspberry Pi 4b készülékhez, indítsa el és csatlakozzon a WiFi -hez. Bővítse ki a fájlrendszert, hogy elfoglalja az egész SD -kártyát, és opcionálisan engedélyezze az SSH és a VNC futtatását

sudo raspi-config

2. lépés: Töltse le a ROS kinetikai forrásokat

Töltse le a ROS kinetikai forrásokat
Töltse le a ROS kinetikai forrásokat

Az alábbi utasítások követik a hivatalos ROS bemutatót, valamint a DmitryM8 utasítást.

Jelentkezzen be Raspberry Pi 4b készülékébe, és hajtsa végre ezeket a parancsokat a ROS csomagtár hozzáadásához, az eszközök készítéséhez és a ROS függőségi eszköz inicializálásához.

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-kulcsszerver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get update sudo apt-get install -y python-rosdep python-rosinstall-generator python python-rosinstall build-essential cmake sudo rosdep init rosdep frissítés

Hozzon létre egy munkaterületet a ROS Kinetic forrásból történő létrehozásához.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Töltse le a forráskódot a "ros_comm" csomaghoz, amely alapvető modulokat tartalmaz a robot fedélzeti számítógépén való futtatáshoz. Itt a rosinstall_generator listát készít a letölthető forráskód -tárolókról. A wstool ezután folytatja a forráskód letöltését.

rosinstall_generator ros_comm --rosdistro kinetic --deps-csak nedves --tar> kinetic-ros_comm-wet.rosinstall

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

A TurtleBot3 és a raspicam futtatásához ezekre a ROS csomagokra lesz szüksége a ros_comm mellett: common_msgs, rosserial, image_common, image_transport_plugins és diagnosztika. A csomagok hozzáadásához futtassa ezeket a parancsokat.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins diagnosztika nodelet_core --rosdistro kinetic --deps-csak nedves --tar> kinetic-extra-wet.rosinstall

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

Mivel a függőségi verziók idővel változnak, előfordulhatnak olyan hibák, mint a "python-rosdistro-modules_0.7.5-1_all.deb (--unpack):" /usr/lib/python2.7/dist-packages/rosdistro/_init_ "felülírása.py ', amely szintén a python-rosdistro 0.7.2-1 "csomagban található. Oldja meg ezeket a "felülírási kísérletek" hibákat:

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

// vagy sudo apt távolítsa el a sudo apt --fix-broken telepítést

3. lépés: ROS -összeállítási hibák kézi javítása

ROS -összeállítási hibák kézi javítása
ROS -összeállítási hibák kézi javítása

A ROS építése ezen a ponton különböző hibákkal sikertelen lesz. Javítsuk ki ezeket a hibákat a ROS forráskód kézi szerkesztésével.

Szerkesztés

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp 885. sor

Cserélje ki

char* str = PyString_AsString (obj);

val vel

const char* str = PyString_AsString (obj);

Szerkessze az alábbi fájlokat.

/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

Távolítsa el az összes előfordulását

/tr1

és cserélje ki minden előfordulását

std:: tr1

val vel

fellendítés

Szerkessze az alábbi fájlokat.

/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/sr /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_ond_c/scc /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

Cserélje ki a (z) összes előfordulását

boost:: posix_time:: ezredmásodperc (…)

val vel

boost:: posix_time:: ezredmásodperc (int (…))

Szerkessze az alábbi fájlt.

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

Cserélje ki az összeset

logWarn

val vel

CONSOLE_BRIDGE_logWarn

és

logError

val vel

CONSOLE_BRIDGE_logError

4. lépés: Készítse el a ROS kinetikát

Ezen a ponton az építkezésnek sikeresnek kell lennie.

cd ~/ros_catkin_ws

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

Fűzze hozzá a ~/.bashrc fájlhoz, és hajtsa végre a héjában:

forrás /opt/ros/kinetic/setup.bash

5. lépés: Készítse el a TurtleBot3 és Raspicam csomagokat

Készítsen TurtleBot3 és Raspicam csomagokat
Készítsen TurtleBot3 és Raspicam csomagokat

Ezek az utasítások a ROBOTIS bemutatóját követik.

mkdir -p ~/catkin_ws/src

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

Szerkessze a ~/.bashrc fájlt és fűzze hozzá

forrás /home/pi/catkin_ws/devel/setup.bash

Most végre

cd ~/catkin_ws/src

git klón https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git klón https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git klón https://github.com/ROBOTIS-GIT/turtlebot3. git git klón https://github.com/UbiquityRobotics/raspicam_node.git cd ~/catkin_ws/src/turtlebot3 rm -r turtlebot3_description/turtlebot3_teleop/turtlebot3_navigation/turtlebot3_slam/turtlebot3&example/

A kivitelezésnek sikeresnek kell lennie.

A Raspberry Pi 4b konfigurálása a TurtleBot3 USB perifériák felismerésére.

rosrun turtlebot3_bringup create_udev_rules

Futtassa az ifconfig programot, és írja le a Raspbery Pi IP -címét.

ifconfig

Szerkesztés ~/.bashrc. Adja hozzá az alábbi sorokat, és hajtsa végre azokat a héjában.

export ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

export ROS_HOSTNAME = AZ ÖN. RASPBERRY. PI. IP

A Raspberry Pi és a PC idő szinkronizálása:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Ezen a ponton a beállításokat be kell fejezni. Most már használhatja Raspberry Pi 4b -jét a Raspberry Pi 3/3+ helyett a TurtleBot3 -ban.

Ajánlott: