Installer ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi  4b: 5 trinn
Installer ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi 4b: 5 trinn
Anonim
Installer ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi 4b
Installer ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi 4b

TurtleBot3 Burger kommer med Raspberry Pi 3 B/B+ og støtter ikke den nye (per 9/2019) Raspberry Pi 4b. Følg trinnene nedenfor for å få TurtleBot3 til å fungere på Raspberry Pi 4b, inkludert

  • bygge ROS Kinetic fra kilder på Raspberry Pi 4b Raspbian Buster
  • legge til TurtleBot3-spesifikke pakker
  • legge raspicam-node til

Trinn 1: Installer Raspbian og konfigurer Raspberry Pi 4b

Installer Raspbian og konfigurer Raspberry Pi 4b
Installer Raspbian og konfigurer Raspberry Pi 4b

Last ned et Raspbian -bilde. Jeg brukte Raspbian Buster datert 2019–07–10.

Brenn det nedlastede Raspbian -bildet til et SD -kort (minst 8 GB i størrelse). Koble en skjerm, et tastatur og en mus til Raspberry Pi 4b, start og koble til WiFi. Utvid filsystemet for å ta opp hele SD -kortet ditt, og aktiver eventuelt SSH og VNC ved å kjøre

sudo raspi-config

Trinn 2: Last ned ROS kinetiske kilder

Last ned ROS kinetiske kilder
Last ned ROS kinetiske kilder

Instruksjonene nedenfor følger den offisielle ROS -opplæringen, så vel som DmitryM8 instruerbar.

Logg deg på Raspberry Pi 4b og utfør disse kommandoene for å legge til ROS -pakkelager, bygge verktøy og initialisere ROS -avhengighetsverktøy.

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 oppdatering sudo apt-get install -y python-rosdep python-rosinstall-generator python-wpstool python-rosinstall build-essential cmake sudo rosdep init rosdep oppdatering

Lag et arbeidsområde for å bygge ROS Kinetic fra kilde.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Last ned kildekoden for "ros_comm" -pakken, som inneholder viktige moduler som er beregnet til å kjøre på robotens kjørecomputer. Her oppretter rosinstall_generator en liste over kildekodelagre som skal lastes ned. wstool fortsetter deretter med å laste ned kildekoden.

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 install--fra-stier src --ignore-src --rosdistro kinetic -y

For å kjøre TurtleBot3 og raspicam trenger du disse ROS -pakkene i tillegg til ros_comm: common_msgs, rosserial, image_common, image_transport_plugins og diagnostikk. For å legge til disse pakkene, kjør disse kommandoene.

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 install - -from -path src --ignore -src --rosdistro kinetic -y

Etter hvert som avhengighetsversjoner endres over tid, kan det være feil som "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): prøver å overskrive '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', som også er i pakken python-rosdistro 0.7.2-1 ". Løs disse "prøver å overskrive" feilene:

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 fjerne sudo apt --fix-ødelagt installasjon

Trinn 3: Reparer ROS -kompilasjonsfeil manuelt

Reparer ROS -kompilasjonsfeil manuelt
Reparer ROS -kompilasjonsfeil manuelt

Å bygge ROS på dette tidspunktet vil mislykkes med forskjellige feil. La oss fikse disse feilene ved å redigere ROS kildekoden manuelt.

Redigere

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

Erstatte

char* str = PyString_AsString (obj);

med

const char* str = PyString_AsString (obj);

Rediger filer nedenfor.

/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

Fjern alle forekomster av

/tr1

og erstatte alle forekomster av

std:: tr1

med

øke

Rediger filer nedenfor.

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

Erstatt alle forekomster av

boost:: posix_time:: millisekunder (…)

med

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

Rediger filen nedenfor.

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

Bytt alle

logWarn

med

CONSOLE_BRIDGE_logWarn

og

logError

med

CONSOLE_BRIDGE_logError

Trinn 4: Bygg ROS Kinetic

På dette tidspunktet bør bygget lykkes.

cd ~/ros_catkin_ws

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

Legg til ~/.bashrc og kjør også i skallet ditt:

kilde /opt/ros/kinetic/setup.bash

Trinn 5: Bygg TurtleBot3 og Raspicam -pakker

Bygg TurtleBot3 og Raspicam -pakker
Bygg TurtleBot3 og Raspicam -pakker

Disse instruksjonene følger opplæringen til ROBOTIS.

mkdir -p ~/catkin_ws/src

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

Rediger ~/.bashrc og legg til

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

Utfør nå

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

Byggingen skal lykkes.

Konfigurer Raspberry Pi 4b til å gjenkjenne TurtleBot3 USB -enheter.

rosrun turtlebot3_bringup create_udev_rules

Kjør ifconfig og skriv ned Raspbery Pi sin IP.

ifconfig

Rediger ~/.bashrc. Legg til linjene nedenfor og kjør dem også i skallet ditt.

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

eksport ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Synkroniser Raspberry Pi og PC -tid:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

På dette tidspunktet bør oppsettet ditt være fullført. Nå kan du bruke Raspberry Pi 4b i stedet for Raspberry Pi 3/3+ i TurtleBot3.

Anbefalt: