Përmbajtje:

Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi  4b: 5 Hapa
Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi 4b: 5 Hapa

Video: Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi 4b: 5 Hapa

Video: Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi  4b: 5 Hapa
Video: ROS Kinetic on Raspbian| ROS Kinetic Installation on Raspberry Pi 4 2024, Nëntor
Anonim
Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi 4b
Instaloni ROS Kinetic, TurtleBot3, Raspicam në Raspberry Pi 4b

TurtleBot3 Burger vjen me Raspberry Pi 3 B/B+ dhe nuk mbështet Raspberry Pi 4b të re (që nga 9/2019). Ndiqni hapat e mëposhtëm për ta bërë TurtleBot3 të punojë në Raspberry Pi 4b, përfshirë

  • ndërtimi i ROS Kinetic nga burimet në Raspberry Pi 4b Raspbian Buster
  • duke shtuar paketa specifike për TurtleBot3
  • duke shtuar raspicam-nyje në

Hapi 1: Instaloni Raspbian dhe Konfiguroni Raspberry Pi 4b

Instaloni Raspbian dhe Konfiguroni Raspberry Pi 4b
Instaloni Raspbian dhe Konfiguroni Raspberry Pi 4b

Shkarkoni një imazh Raspbian. Kam përdorur Raspbian Buster të datës 2019–07–10.

Djegni imazhin e shkarkuar Raspbian në një kartë SD (të paktën 8Gb në madhësi). Lidhni një ekran, tastierë dhe miun me Raspberry Pi 4b, niseni dhe lidheni me WiFi. Zgjasni sistemin e skedarëve për të zënë të gjithë kartën tuaj SD dhe, sipas dëshirës, aktivizoni SSH dhe VNC duke funksionuar

sudo raspi-config

Hapi 2: Shkarkoni Burimet Kinetike të ROS

Shkarkoni Burimet Kinetike të ROS
Shkarkoni Burimet Kinetike të ROS

Udhëzimet më poshtë ndjekin udhëzimet zyrtare të ROS, si dhe udhëzimet e DmitryM8.

Hyni në Raspberry Pi 4b dhe ekzekutoni këto komanda për të shtuar depon e paketave ROS, për të ndërtuar mjete dhe për të inicuar mjetin e varësisë ROS.

sudo sh -c 'jehonë "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 sudo apt-get install -y python-rosdep python-roston-python-r python-rosinstall build-thelbësor cmake sudo rosdep init rosdep update

Krijoni një hapësirë pune për të ndërtuar ROS Kinetic nga burimi.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Shkarkoni kodin burimor për paketën "ros_comm", e cila përmban module thelbësore të destinuara për të funksionuar në kompjuterin e robotit në bord. Këtu rosinstall_generator krijon një listë të depove të kodit burimor për tu shkarkuar. wstool pastaj vazhdon të shkarkojë kodin burimor.

rosinstall_generator ros_comm --rosdistro kinetic-deps-vetëm me lagështirë-tar> kinetike-ros_comm-wet.rosinstall

wstool init -j8 src kinetic-ros_comm-wet.rosinstall rosdep install-from-paths src --ignore-src --rosdistro kinetic -y

Për të ekzekutuar TurtleBot3 dhe raspicam do t'ju duhen këto pako ROS përveç ros_comm: common_msgs, rosserial, image_common, image_transport_plugins dhe diagnostifikim. Për të shtuar këto pako ekzekutoni këto komanda.

rosinstall_generator common_msgs common_msgs rosserial image_common image_transport_plugins diagnostifikim nodelet_core --rosdistro kinetike-depresione-vetëm me lagështirë-tar> kinetike-ekstra-lagësht.ristinstall

shkrirja e wstool -t src kinetic -extra -wet.rosinstall wstool update -j8 -t src rosdep install -nga -shtigjet src --ignore -src --rosdistro kinetic -y

Ndërsa versionet e varësive ndryshojnë me kalimin e kohës, mund të ketë gabime si "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): duke u përpjekur të mbishkruani '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', e cila është gjithashtu në paketën python-rosdistro 0.7.2-1 ". Zgjidhni këto gabime "duke u përpjekur të mbishkruani":

sudo dpkg-hiqni-forca-të gjitha python-catkin-pkg python-catkin-pkg-module python-rosdistro python-rosdistro-module python-rospkg python-rospkg-module

// ose sudo apt hiq sudo apt-instalim i prishur me ndreqje

Hapi 3: Rregulloni manualisht Gabimet e Përpilimit ROS

Rregulloni manualisht Gabimet e Përpilimit ROS
Rregulloni manualisht Gabimet e Përpilimit ROS

Ndërtimi i ROS në këtë pikë do të dështojë me gabime të ndryshme. Le t'i rregullojmë ato gabime duke redaktuar manualisht kodin burimor ROS.

Ndrysho

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

Zëvendësoj

char* str = PyString_AsString (obj);

me

const char* str = PyString_AsString (obj);

Ndryshoni skedarët më poshtë.

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

Hiqni të gjitha rastet e

/tr1

dhe zëvendësojnë të gjitha dukuritë e

std:: tr1

me

nxitje

Ndryshoni skedarët më poshtë.

/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 / pi / ros_catkin_ws / src / bond_core /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

Zëvendësoni të gjitha rastet e

rrit:: posix_time:: milisekonda (…)

me

rrit:: posix_time:: milisekonda (int (…))

Ndryshoni skedarin më poshtë.

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

Zëvendësoni të gjitha

logWarn

me

CONSOLE_BRIDGE_log Paralajmëro

dhe

logError

me

CONSOLE_BRIDGE_log Gabim

Hapi 4: Ndërtoni ROS Kinetic

Në këtë pikë ndërtimi duhet të ketë sukses.

cd ~/ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated -instaloni -DCMAKE_BUILD_TYPE = Lëshoni -instaloni hapësirën/opt/ros/kinetic

Shtojini ~/.bashrc dhe gjithashtu ekzekutoni në guaskën tuaj:

burimi /opt/ros/kinetic/setup.bash

Hapi 5: Ndërtoni Pakot TurtleBot3 dhe Raspicam

Ndërtoni Pakot TurtleBot3 dhe Raspicam
Ndërtoni Pakot TurtleBot3 dhe Raspicam

Këto udhëzime ndjekin tutorialin ROBOTIS.

mkdir -p ~/catkin_ws/src

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

Redakto ~/.bashrc dhe shto

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

Tani, ekzekutoni

cd ~/catkin_ws/src

git klon 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 / cd ~ / catkin_ws && catkin_make

Ndërtimi duhet të ketë sukses.

Konfiguroni Raspberry Pi 4b për të njohur periferikësh USB TurtleBot3.

rosrun turtlebot3_bringup create_udev_rules

Drejtoni ifconfig dhe shkruani IP -në e Raspbery Pi.

ifconfig

Ndrysho ~/.bashrc. Shtoni rreshtat më poshtë dhe gjithashtu ekzekutojini ato në guaskën tuaj.

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

eksportoni ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

Sinkronizoni kohën e Raspberry Pi dhe PC:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Në këtë pikë, konfigurimi juaj duhet të përfundojë. Tani mund të përdorni Raspberry Pi 4b tuaj në vend të Raspberry Pi 3/3+ në TurtleBot3.

Recommended: