Innehållsförteckning:

Installera ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi  4b: 5 steg
Installera ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi 4b: 5 steg

Video: Installera ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi 4b: 5 steg

Video: Installera ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi  4b: 5 steg
Video: ROS and Raspberry Pi for Beginners | Tutorial #0 - Topics Packages RosMaster 2024, November
Anonim
Installera ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi 4b
Installera ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi 4b

TurtleBot3 Burger levereras med Raspberry Pi 3 B/B+ och stöder inte den nya (från och med 9/2019) Raspberry Pi 4b. Följ stegen nedan för att få TurtleBot3 att fungera på Raspberry Pi 4b, inklusive

  • bygga ROS Kinetic från källor på Raspberry Pi 4b Raspbian Buster
  • lägga till TurtleBot3-specifika paket
  • lägga till raspicam-nod till

Steg 1: Installera Raspbian och konfigurera Raspberry Pi 4b

Installera Raspbian och konfigurera Raspberry Pi 4b
Installera Raspbian och konfigurera Raspberry Pi 4b

Ladda ner en Raspbian -bild. Jag använde Raspbian Buster daterad 2019–07–10.

Bränn den nedladdade Raspbian -bilden till ett SD -kort (minst 8 GB i storlek). Anslut en skärm, tangentbord och mus till din Raspberry Pi 4b, starta och anslut till WiFi. Förläng filsystemet för att ta upp hela ditt SD -kort och aktivera eventuellt SSH och VNC genom att köra

sudo raspi-config

Steg 2: Ladda ner ROS Kinetic Sources

Ladda ner ROS kinetiska källor
Ladda ner ROS kinetiska källor

Instruktionerna nedan följer den officiella ROS -handledningen samt DmitryM8 instruerbar.

Logga in på din Raspberry Pi 4b och kör dessa kommandon för att lägga till ROS -paketförråd, bygga verktyg och initiera ROS -beroendeverktyg.

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-ws-install python-rosinstall build-essential cmake sudo rosdep init rosdep-uppdatering

Skapa en arbetsyta för att bygga ROS Kinetic från källan.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Ladda ner källkoden för "ros_comm" -paketet, som innehåller viktiga moduler avsedda att köras på robotens fordonsdator. Här skapar rosinstall_generator en lista över källkodförråd för nedladdning. wstool fortsätter sedan med att ladda ner källkoden.

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

wstool init -j8 src kinetic-ros_comm-wet.rosinstall rosdep installera-från-sökvägar src --ignore-src --rosdistro kinetic -y

För att köra TurtleBot3 och raspicam behöver du dessa ROS -paket utöver ros_comm: common_msgs, rosserial, image_common, image_transport_plugins och diagnostik. Kör dessa kommandon för att lägga till dessa paket.

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

wstool merge -t src kinetic -extra -wet.rosinstall wstool update -j8 -t src rosdep installera -från -path src --ignore -src --rosdistro kinetic -y

Eftersom beroendetsversioner ändras över tiden kan det finnas fel som "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): försöker skriva över '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', som också finns i paketet python-rosdistro 0.7.2-1 ". Lös dessa "försöker skriva över" -fel:

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

// eller sudo apt ta bort sudo apt --fix-trasig installation

Steg 3: Fixa ROS -kompileringsfel manuellt

Åtgärda ROS -kompileringsfel manuellt
Åtgärda ROS -kompileringsfel manuellt

Att bygga ROS vid denna tidpunkt kommer att misslyckas med olika fel. Låt oss åtgärda dessa fel genom att manuellt redigera ROS -källkoden.

Redigera

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

Byta ut

char* str = PyString_AsString (obj);

med

const char* str = PyString_AsString (obj);

Redigera filer nedan.

/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

Ta bort alla förekomster av

/tr1

och ersätta alla förekomster av

std:: tr1

med

lyft

Redigera filer nedan.

/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/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/pc/home/p/// /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

Ersätt alla fall av

boost:: posix_time:: millisekunder (…)

med

boost:: posix_time:: millisekunder (int (…))

Redigera filen nedan.

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

Ersätt alla

logWarn

med

CONSOLE_BRIDGE_logWarn

och

logError

med

CONSOLE_BRIDGE_logError

Steg 4: Bygg ROS Kinetic

Vid denna tidpunkt bör bygget lyckas.

cd ~/ros_catkin_ws

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

Lägg till ~/.bashrc och kör även i ditt skal:

källa /opt/ros/kinetic/setup.bash

Steg 5: Bygg TurtleBot3 och Raspicam -paket

Bygg TurtleBot3 och Raspicam -paket
Bygg TurtleBot3 och Raspicam -paket

Dessa instruktioner följer ROBOTIS -handledning.

mkdir -p ~/catkin_ws/src

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

Redigera ~/.bashrc och lägg till

källa /home/pi/catkin_ws/devel/setup.bash

Kör nu

cd ~/catkin_ws/src

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

Bygget ska lyckas.

Konfigurera Raspberry Pi 4b för att känna igen TurtleBot3 USB -kringutrustning.

rosrun turtlebot3_bringup create_udev_rules

Kör ifconfig och skriv ner Raspbery Pi: s IP.

ifconfig

Redigera ~/.bashrc. Lägg till raderna nedan och kör dem också i ditt skal.

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

exportera ROS_HOSTNAME = DIN. RASPBERRY. PI. IP

Synkronisera Raspberry Pi och PC -tid:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Vid denna tidpunkt bör din installation vara klar. Nu kan du använda din Raspberry Pi 4b istället för Raspberry Pi 3/3+ i din TurtleBot3.

Rekommenderad: