Indholdsfortegnelse:

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

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

Video: Installer ROS Kinetic, TurtleBot3, Raspicam på Raspberry Pi  4b: 5 trin
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 leveres med Raspberry Pi 3 B/B+ og understøtter ikke den nye (fra 9/2019) Raspberry Pi 4b. Følg trinene herunder for at få TurtleBot3 til at fungere på Raspberry Pi 4b, inklusive

  • opbygning af ROS Kinetic fra kilder til Raspberry Pi 4b Raspbian Buster
  • tilføjelse af TurtleBot3-specifikke pakker
  • tilføjelse af raspicam-node til

Trin 1: Installer Raspbian og konfigurer Raspberry Pi 4b

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

Download et Raspbian -billede. Jeg brugte Raspbian Buster dateret 2019-07-10.

Brænd det downloadede Raspbian -billede til et SD -kort (mindst 8 GB i størrelse). Tilslut en skærm, et tastatur og en mus til din Raspberry Pi 4b, start og opret forbindelse til WiFi. Forlæng filsystemet til at optage hele dit SD -kort, og aktiver eventuelt SSH og VNC ved at køre

sudo raspi-config

Trin 2: Download ROS kinetiske kilder

Download ROS kinetiske kilder
Download ROS kinetiske kilder

Instruktionerne herunder følger den officielle ROS -tutorial samt DmitryM8 instruerbar.

Log ind på din Raspberry Pi 4b og udfør disse kommandoer for at tilføje ROS -pakkelager, bygge værktøjer og initialisere ROS -afhængighedsværktøj.

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-wstallstool python-rosinstall build-essential cmake sudo rosdep init rosdep opdatering

Opret et arbejdsområde for at bygge ROS Kinetic fra kilden.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Download kildekode til "ros_comm" -pakken, som indeholder væsentlige moduler beregnet til at køre på robotens kørecomputer. Her opretter rosinstall_generator en liste over kildekodelager, der skal downloades. wstool fortsætter derefter med at downloade 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 at køre TurtleBot3 og raspicam skal du bruge disse ROS -pakker ud over ros_comm: common_msgs, rosserial, image_common, image_transport_plugins og diagnostik. Kør disse kommandoer for at tilføje disse pakker.

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

wstool fusion -t src kinetic -extra -wet.rosinstall wstool opdatering -j8 -t src rosdep installation -fra -stier src --ignore -src --rosdistro kinetic -y

Da afhængighedsversioner ændrer sig over tid, kan der være fejl som "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): forsøger at overskrive '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', som også er i pakken python-rosdistro 0.7.2-1 ". Løs disse "forsøger at overskrive" fejl:

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-brudt installation

Trin 3: Fix manuelt ROS -kompilationsfejl

Fix ROS -kompilationsfejl manuelt
Fix ROS -kompilationsfejl manuelt

Opbygning af ROS på dette tidspunkt vil mislykkes med forskellige fejl. Lad os rette disse fejl ved manuelt at redigere ROS -kildekode.

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

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

/tr1

og erstatte alle forekomster af

std:: tr1

med

boost

Rediger filer herunder.

/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

Udskift alle forekomster af

boost:: posix_time:: millisekunder (…)

med

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

Rediger filen herunder.

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

Udskift alle

logWarn

med

CONSOLE_BRIDGE_logWarn

og

logError

med

CONSOLE_BRIDGE_logError

Trin 4: Byg ROS Kinetic

På dette tidspunkt skulle bygningen lykkes.

cd ~/ros_catkin_ws

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

Tilføj til ~/.bashrc og udfør også i din skal:

kilde /opt/ros/kinetic/setup.bash

Trin 5: Byg TurtleBot3 og Raspicam -pakker

Byg TurtleBot3 og Raspicam -pakker
Byg TurtleBot3 og Raspicam -pakker

Disse instruktioner følger ROBOTIS -vejledningen.

mkdir -p ~/catkin_ws/src

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

Rediger ~/.bashrc og tilføj

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

Udfø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 /_turtlebot_3

Byggeriet skulle lykkes.

Konfigurer Raspberry Pi 4b til at genkende TurtleBot3 USB -periferiudstyr.

rosrun turtlebot3_bringup create_udev_rules

Kør ifconfig og skriv Raspbery Pi's IP ned.

ifconfig

Rediger ~/.bashrc. Tilføj linjerne herunder og udfør dem også i din skal.

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

eksporter ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Synkroniser Raspberry Pi og pc -tid:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

På dette tidspunkt skal din opsætning være afsluttet. Nu kan du bruge din Raspberry Pi 4b i stedet for Raspberry Pi 3/3+ i din TurtleBot3.

Anbefalede: