Innholdsfortegnelse:

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

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

Video: Installer ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi  4b: 5 trinn
Video: Install ROS in an LXD Container 2024, Juli
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: