Obsah:

Nainstalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi  4b: 5 kroků
Nainstalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b: 5 kroků

Video: Nainstalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b: 5 kroků

Video: Nainstalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi  4b: 5 kroků
Video: ROS Kinetic on Raspbian| ROS Kinetic Installation on Raspberry Pi 4 2024, Listopad
Anonim
Nainstalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b
Nainstalujte ROS Kinetic, TurtleBot3, Raspicam na Raspberry Pi 4b

TurtleBot3 Burger je dodáván s Raspberry Pi 3 B/B+ a nepodporuje nový (k 9/2019) Raspberry Pi 4b. Postupujte podle níže uvedených kroků, aby TurtleBot3 fungoval na Raspberry Pi 4b, včetně

  • budování ROS Kinetic ze zdrojů na Raspberry Pi 4b Raspbian Buster
  • přidání balíčků specifických pro TurtleBot3
  • přidání uzlu raspicam do

Krok 1: Nainstalujte si Raspbian a nakonfigurujte Raspberry Pi 4b

Nainstalujte si Raspbian a nakonfigurujte Raspberry Pi 4b
Nainstalujte si Raspbian a nakonfigurujte Raspberry Pi 4b

Stáhněte si obrázek Raspbian. Použil jsem Raspbian Buster s datem 2019–07–10.

Stažený obrázek Raspbian vypalte na kartu SD (alespoň 8 Gb). Připojte k Raspberry Pi 4b displej, klávesnici a myš, spusťte a připojte se k WiFi. Rozšiřte souborový systém tak, aby zabíral celou vaši SD kartu, a volitelně povolte SSH a VNC spuštěním

sudo raspi-config

Krok 2: Stáhněte si kinetické zdroje ROS

Stáhněte si kinetické zdroje ROS
Stáhněte si kinetické zdroje ROS

Níže uvedené pokyny se řídí oficiálním tutoriálem ROS a instrukcí DmitryM8.

Přihlaste se ke svému Raspberry Pi 4b a spusťte tyto příkazy, abyste mohli přidat úložiště balíčků ROS, vytvářet nástroje a inicializovat nástroj závislosti 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 build-essential cmake sudo rosdep inicializace aktualizace rosdep

Vytvořte pracovní prostor pro sestavení ROS Kinetic ze zdroje.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Stáhněte si zdrojový kód pro balíček „ros_comm“, který obsahuje základní moduly určené pro běh na palubním počítači robota. Zde rosinstall_generator vytvoří seznam úložišť zdrojových kódů ke stažení. wstool poté pokračuje ve stahování zdrojového kódu.

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

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

Ke spuštění TurtleBot3 a raspicamu budete kromě ros_comm potřebovat tyto balíčky ROS: common_msgs, rosserial, image_common, image_transport_plugins a diagnostiku. Chcete -li přidat tyto balíčky, spusťte tyto pří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

Protože se verze závislostí v průběhu času mění, mohou se vyskytnout chyby jako „python-rosdistro-modules_0.7.5-1_all.deb (--unpack): pokouší se přepsat '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', který je také v balíčku python-rosdistro 0.7.2-1 . Vyřešte tyto chyby při pokusu o přepsání:

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

// nebo sudo apt odebrat sudo apt --fix-broken install

Krok 3: Ručně opravte chyby kompilace ROS

Ručně opravte chyby kompilace ROS
Ručně opravte chyby kompilace ROS

Budování ROS v tomto okamžiku selže s různými chybami. Opravme tyto chyby ruční úpravou zdrojového kódu ROS.

Upravit

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp řádek 885

Nahradit

char* str = PyString_AsString (obj);

s

const char* str = PyString_AsString (obj);

Níže upravte soubory.

/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

Odstraňte všechny výskyty z

/tr1

a nahradit všechny výskyty

std:: tr1

s

posílit

Níže upravte soubory.

/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

Vyměňte všechny výskyty z

boost:: posix_time:: milliseconds (…)

s

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

Upravte soubor níže.

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

Vyměnit vše

logWarn

s

CONSOLE_BRIDGE_logWarn

a

logError

s

CONSOLE_BRIDGE_logError

Krok 4: Postavte ROS Kinetic

V tomto okamžiku by sestavení mělo uspět.

cd ~/ros_catkin_ws

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

Připojit k ~/.bashrc a také spustit ve vašem shellu:

zdroj /opt/ros/kinetic/setup.bash

Krok 5: Vytvořte balíčky TurtleBot3 a Raspicam

Vytvářejte balíčky TurtleBot3 a Raspicam
Vytvářejte balíčky TurtleBot3 a Raspicam

Tyto pokyny se řídí výukovým programem ROBOTIS.

mkdir -p ~/catkin_ws/src

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

Upravte ~/.bashrc a připojte

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

Nyní proveďte

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 měla uspět.

Konfigurujte Raspberry Pi 4b tak, aby rozpoznával periferní zařízení TurtleBot3 USB.

rosrun turtlebot3_bringup create_udev_rules

Spusťte ifconfig a zapište si IP Raspbery Pi.

ifconfig

Upravit ~/.bashrc. Přidejte níže uvedené řádky a také je spusťte ve svém shellu.

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

exportovat ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Synchronizace času Raspberry Pi a PC:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

V tomto okamžiku by mělo být vaše nastavení dokončeno. Nyní můžete ve svém TurtleBot3 místo Raspberry Pi 3/3+ použít svůj Raspberry Pi 4b.

Doporučuje: