Obsah:

Nainštalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi  4b: 5 krokov
Nainštalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b: 5 krokov

Video: Nainštalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b: 5 krokov

Video: Nainštalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi  4b: 5 krokov
Video: ROS Kinetic on Raspbian| ROS Kinetic Installation on Raspberry Pi 4 2024, November
Anonim
Nainštalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b
Nainštalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b

TurtleBot3 Burger je dodávaný s Raspberry Pi 3 B/B+ a nepodporuje nový (k 9/2019) Raspberry Pi 4b. Aby TurtleBot3 fungoval na Raspberry Pi 4b vrátane, postupujte podľa nižšie uvedených krokov

  • budovanie ROS Kinetic zo zdrojov na Raspberry Pi 4b Raspbian Buster
  • pridanie balíkov špecifických pre TurtleBot3
  • pridanie uzla raspicam do

Krok 1: Nainštalujte Raspbian a nakonfigurujte Raspberry Pi 4b

Nainštalujte Raspbian a nakonfigurujte Raspberry Pi 4b
Nainštalujte Raspbian a nakonfigurujte Raspberry Pi 4b

Stiahnite si obrázok Raspbian. Použil som Raspbian Buster z roku 2019–07–10.

Stiahnutý obrázok Raspbian napaľujte na kartu SD (najmenej 8 Gb). Pripojte k Raspberry Pi 4b displej, klávesnicu a myš, spustite počítač a pripojte sa k WiFi. Rozšírte súborový systém tak, aby zaberal celú vašu SD kartu, a voliteľne povoľte SSH a VNC spustením

sudo raspi-config

Krok 2: Stiahnite si kinetické zdroje ROS

Stiahnite si kinetické zdroje ROS
Stiahnite si kinetické zdroje ROS

Nasledujúce pokyny sa riadia oficiálnym návodom pre ROS a pokynom DmitryM8.

Prihláste sa do svojho Raspberry Pi 4b a vykonajte tieto príkazy, aby ste mohli pridať úložisko balíkov ROS, vytvárať nástroje a inicializovať nástroj závislosti od 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 --keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get update sudo apt-get install -y python-rosdep python-rosinstall-generator python -st python-rosinstall aktualizácia nevyhnutná pre cmake sudo rosdep init rosdep

Vytvorte pracovný priestor na zostavenie ROS Kinetic zo zdroja.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Stiahnite si zdrojový kód pre balík „ros_comm“, ktorý obsahuje základné moduly určené na spustenie na palubnom počítači robota. Tu rosinstall_generator vytvorí zoznam úložísk zdrojových kódov na stiahnutie. wstool potom pokračuje v sťahovaní zdrojového kódu.

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

wstool init -j8 src kinetický-ros_comm-wet.rosinstall rosdep install --from-roads src --ignore-src --rosdistro kinetický -y

Na spustenie TurtleBot3 a raspicamu budete okrem ros_comm potrebovať tieto balíky ROS: common_msgs, rosserial, image_common, image_transport_plugins a diagnostiku. Ak chcete pridať tieto balíky, spustite tieto príkazy.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins diagnostika nodelet_core --rosdistro kinetický --deps --wet-only --tar> kinetický-extra-wet.rosinstall

wstool merge -t src kinetický -extra -wet.rosinstall wstool update -j8 -t src rosdep install --from -roads src --ignore -src --rosdistro kinetický -y

Keďže sa verzie závislostí v priebehu času menia, môžu sa vyskytnúť chyby ako „python-rosdistro-modules_0.7.5-1_all.deb (--unpack): pokúšam sa prepísať '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', ktorý je tiež v balíku python-rosdistro 0.7.2-1 . Vyriešte tieto chyby „pokúšajúce sa prepísať“:

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

// alebo sudo apt odstrániť sudo apt --fix-broken install

Krok 3: Ručne opravte chyby kompilácie ROS

Ručne opravte chyby kompilácie ROS
Ručne opravte chyby kompilácie ROS

Budovanie ROS v tomto bode zlyhá s rôznymi chybami. Opravme tieto chyby manuálnou úpravou zdrojového kódu ROS.

Upraviť

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

Vymeňte

char* str = PyString_AsString (obj);

s

const char* str = PyString_AsString (obj);

Upravte súbory nižšie.

/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

Odstráňte všetky výskyty z

/tr1

a nahradiť všetky výskyty z

std:: tr1

s

zosilnenie

Upravte súbory nižšie.

/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_kin /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

Vymeňte všetky výskyty z

boost:: posix_time:: milisekundy (…)

s

boost:: posix_time:: milliseconds (int (…))

Upravte súbor nižšie.

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

Nahradiť všetko

logWarn

s

CONSOLE_BRIDGE_logWarn

a

logError

s

CONSOLE_BRIDGE_logError

Krok 4: Zostavte ROS Kinetic

V tomto bode by mala byť zostava úspešná.

cd ~/ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Vydanie --install -space/opt/ros/kinetické

Pripojte k ~/.bashrc a tiež spustite vo svojom shelli:

zdroj /opt/ros/kinetic/setup.bash

Krok 5: Vytvorte balíky TurtleBot3 a Raspicam

Vybudujte balíky TurtleBot3 a Raspicam
Vybudujte balíky TurtleBot3 a Raspicam

Tieto pokyny nasledujú po návode ROBOTIS.

mkdir -p ~/catkin_ws/src

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

Upraviť ~/.bashrc a pripojiť

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

Teraz vykonajte

cd ~/catkin_ws/src

klon git https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git klon git https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git klon git https://github.com/ROBOTIS-GIT/turtlebot3. git git clone https://github.com/UbiquityRobotics/raspicam_node.git cd ~/catkin_ws/src/turtlebot3 rm -r turtlebot3_description/turtlebot3_teleop/turtlebot3_navigation/turtlebot3_slam/turtlebot3_example_ckin&cat

Stavba by mala uspieť.

Nakonfigurujte Raspberry Pi 4b tak, aby rozpoznal periférne zariadenia TurtleBot3 USB.

rosrun turtlebot3_bringup create_udev_rules

Spustite ifconfig a zapíšte si IP Raspbery Pi.

ifconfig

Upraviť ~/.bashrc. Pridajte riadky nižšie a tiež ich vykonajte vo svojom shelli.

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

export ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Synchronizovať čas Raspberry Pi a počítač:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

V tomto okamihu by malo byť vaše nastavenie dokončené. Teraz môžete vo svojom TurtleBot3 namiesto Raspberry Pi 3/3+ použiť svoj Raspberry Pi 4b.

Odporúča: