Isi kandungan:

Pasang ROS Kinetic, TurtleBot3, Raspicam di Raspberry Pi  4b: 5 Langkah
Pasang ROS Kinetic, TurtleBot3, Raspicam di Raspberry Pi 4b: 5 Langkah

Video: Pasang ROS Kinetic, TurtleBot3, Raspicam di Raspberry Pi 4b: 5 Langkah

Video: Pasang ROS Kinetic, TurtleBot3, Raspicam di Raspberry Pi  4b: 5 Langkah
Video: ROS and Raspberry Pi for Beginners | Tutorial #0 - Topics Packages RosMaster 2024, Julai
Anonim
Pasang ROS Kinetic, TurtleBot3, Raspicam pada Raspberry Pi 4b
Pasang ROS Kinetic, TurtleBot3, Raspicam pada Raspberry Pi 4b

TurtleBot3 Burger dilengkapi dengan Raspberry Pi 3 B / B + dan tidak menyokong Raspberry Pi 4b baru (mulai 9/2019). Ikuti langkah di bawah untuk menjadikan TurtleBot3 berfungsi pada Raspberry Pi 4b, termasuk

  • membina ROS Kinetic dari sumber pada Raspberry Pi 4b Raspbian Buster
  • menambah pakej khusus TurtleBot3
  • menambahkan node raspicam ke

Langkah 1: Pasang Raspbian dan Konfigurasikan Raspberry Pi 4b

Pasang Raspbian dan Konfigurasikan Raspberry Pi 4b
Pasang Raspbian dan Konfigurasikan Raspberry Pi 4b

Muat turun gambar Raspbian. Saya menggunakan Raspbian Buster bertarikh 2019–07–10.

Bakar gambar Raspbian yang dimuat turun ke kad SD (sekurang-kurangnya berukuran 8Gb). Sambungkan paparan, papan kekunci dan tetikus ke Raspberry Pi 4b anda, boot dan sambungkan ke WiFi. Panjangkan sistem fail untuk memenuhi keseluruhan kad SD anda dan, secara pilihan, aktifkan SSH dan VNC dengan berjalan

sudo raspi-config

Langkah 2: Muat turun Sumber Kinetik ROS

Muat turun Sumber Kinetik ROS
Muat turun Sumber Kinetik ROS

Arahan di bawah mengikuti tutorial ROS rasmi dan juga arahan DmitryM8.

Log masuk ke Raspberry Pi 4b anda dan laksanakan perintah ini untuk menambahkan repositori paket ROS, membina alat dan memulakan alat pergantungan ROS.

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

Buat ruang kerja untuk membina ROS Kinetic dari sumber.

mkdir ~ / ros_catkin_ws

cd ~ / ros_catkin_ws

Muat turun kod sumber untuk pakej "ros_comm", yang mengandungi modul penting yang bertujuan untuk berjalan di komputer on-board robot. Di sini rosinstall_generator membuat senarai repositori kod sumber untuk dimuat turun. wstool kemudian meneruskan memuat turun kod sumber.

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

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

Untuk menjalankan TurtleBot3 dan raspicam, anda memerlukan pakej ROS ini selain ros_comm: common_msgs, rosserial, image_common, image_transport_plugins dan diagnostik. Untuk menambah pakej ini jalankan arahan ini.

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 kinetik-extra-wet.rosinstall kemas kini wstool -j8 -t src rosdep install --from-paths src --ignore-src --rosdistro kinetic -y

Oleh kerana versi dependensi berubah dari masa ke masa, mungkin terdapat ralat seperti "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): cuba menimpa '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py ', yang juga terdapat dalam paket python-rosdistro 0.7.2-1 ". Selesaikan ralat "cuba menimpa" ini:

sudo dpkg --rove --force-all python-catkin-pkg python-catkin-pkg-modules python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modul

// atau sudo apt hapus sudo apt --fix-rusak install

Langkah 3: Selesaikan Kesalahan Kompilasi ROS Secara Manual

Selesaikan Ralat Penyusunan ROS secara manual
Selesaikan Ralat Penyusunan ROS secara manual

Membangun ROS pada ketika ini akan gagal dengan pelbagai kesalahan. Mari perbaiki kesilapan tersebut dengan mengedit kod sumber ROS secara manual.

Edit

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

Ganti

char * str = PyString_AsString (obj);

dengan

const char * str = PyString_AsString (obj);

Edit fail di bawah.

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

Buang semua kejadian

/ tr1

dan ganti semua kejadian

std:: tr1

dengan

galakan

Edit fail di bawah.

/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 / rumah / pi / ros_catkin_ws / src / include / src /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.cp / sc / home_cr / sc / home /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

Gantikan semua keadaan

meningkatkan:: posix_time:: milisaat (…)

dengan

meningkatkan:: posix_time:: milisaat (int (…))

Edit fail di bawah.

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

Ganti semua

logWarn

dengan

CONSOLE_BRIDGE_logWarn

dan

Ralat log

dengan

Ralat CONSOLE_BRIDGE_log

Langkah 4: Bina ROS Kinetic

Pada tahap ini pembinaannya mesti berjaya.

cd ~ / ros_catkin_ws

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

Tambahkan ke ~ /.bashrc dan jalankan juga di cengkerang anda:

sumber /opt/ros/kinetic/setup.bash

Langkah 5: Bina Pakej TurtleBot3 dan Raspicam

Bina Pakej TurtleBot3 dan Raspicam
Bina Pakej TurtleBot3 dan Raspicam

Arahan ini mengikuti tutorial ROBOTIS.

mkdir -p ~ / catkin_ws / src

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

Edit ~ /.bashrc dan tambahkan

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

Sekarang, laksanakan

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 git klon 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 / turtle_ws_m / cat_wajah_wajah

Pembinaan harus berjaya.

Konfigurasikan Raspberry Pi 4b untuk mengenali persisian USB TurtleBot3.

rosrun turtlebot3_bringup create_udev_rules

Jalankan ifconfig dan tuliskan IP Raspbery Pi.

ifconfig

Edit ~ /.bashrc. Tambahkan baris di bawah dan jalankan juga di cengkerang anda.

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

eksport ROS_HOSTNAME = ANDA. RASPBERRY. PI. IP

Segerakkan masa Raspberry Pi dan PC:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Pada ketika ini, persediaan anda harus selesai. Kini anda boleh menggunakan Raspberry Pi 4b anda dan bukan Raspberry Pi 3/3 + di TurtleBot3 anda.

Disyorkan: