Daftar Isi:

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

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

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

TurtleBot3 Burger hadir dengan Raspberry Pi 3 B/B+ dan tidak mendukung Raspberry Pi 4b baru (mulai 9/2019). Ikuti langkah-langkah di bawah ini untuk membuat TurtleBot3 berfungsi di Raspberry Pi 4b, termasuk

  • membangun ROS Kinetic dari sumber di Raspberry Pi 4b Raspbian Buster
  • menambahkan paket khusus TurtleBot3
  • menambahkan raspicam-node ke

Langkah 1: Instal Raspbian dan Konfigurasi Raspberry Pi 4b

Instal Raspbian dan Konfigurasi Raspberry Pi 4b
Instal Raspbian dan Konfigurasi Raspberry Pi 4b

Unduh gambar Raspbian. Saya menggunakan Raspbian Buster tertanggal 2019–07–10.

Bakar gambar Raspbian yang diunduh ke kartu SD (setidaknya berukuran 8 Gb). Hubungkan layar, keyboard, dan mouse ke Raspberry Pi 4b Anda, boot dan sambungkan ke WiFi. Perluas sistem file untuk menempati seluruh kartu SD Anda dan, secara opsional, aktifkan SSH dan VNC dengan menjalankan

sudo raspi-config

Langkah 2: Unduh Sumber Kinetik ROS

Unduh Sumber Kinetik ROS
Unduh Sumber Kinetik ROS

Instruksi di bawah ini mengikuti tutorial ROS resmi serta instruksi DmitryM8.

Masuk ke Raspberry Pi 4b Anda dan jalankan perintah ini untuk menambahkan repositori paket ROS, membangun alat, dan menginisialisasi alat ketergantungan 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-generator python-wstool python-rosinstall build-essential cmake sudo rosdep init rosdep update

Buat ruang kerja untuk membangun ROS Kinetic dari sumber.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Unduh kode sumber untuk paket "ros_comm", yang berisi modul penting yang dimaksudkan untuk dijalankan di komputer terpasang robot. Di sini rosinstall_generator membuat daftar repositori kode sumber untuk diunduh. wstool kemudian melanjutkan untuk mengunduh kode sumber.

rosinstall_generator ros_comm --rosdistro kinetic --deps --wet-only --tar > kinetic-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 paket ROS ini selain ros_comm: common_msgs, rosserial, image_common, image_transport_plugins, dan diagnostik. Untuk menambahkan paket-paket ini, jalankan perintah-perintah ini.

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

wstool merge -t src kinetic-extra-wet.rosinstall pembaruan wstool -j8 -t src rosdep install --from-paths src --ignore-src --rosdistro kinetic -y

Karena versi dependensi berubah seiring waktu, mungkin ada kesalahan seperti "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): mencoba menimpa '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py', yang juga ada dalam paket python-rosdistro 0.7.2-1". Atasi kesalahan "mencoba menimpa" ini:

sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-modules python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modules

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

Langkah 3: Perbaiki Kesalahan Kompilasi ROS Secara Manual

Perbaiki Kesalahan Kompilasi ROS secara Manual
Perbaiki Kesalahan Kompilasi ROS secara Manual

Membangun ROS pada titik ini akan gagal dengan berbagai kesalahan. Mari kita perbaiki kesalahan tersebut dengan mengedit kode sumber ROS secara manual.

Sunting

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

Mengganti

char* str = PyString_AsString(obj);

dengan

const char* str = PyString_AsString(obj);

Edit file di bawah ini.

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

Hapus semua kemunculan

/tr1

dan ganti semua kemunculan

std::tr1

dengan

dorongan

Edit file di bawah ini.

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

Ganti semua kemunculan

boost::posix_time::milidetik(…)

dengan

boost::posix_time::milidetik(int(…))

Edit file di bawah ini.

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

Menggantikan semua

logPeringatan

dengan

CONSOLE_BRIDGE_logPeringatan

dan

logError

dengan

CONSOLE_BRIDGE_logError

Langkah 4: Bangun ROS Kinetic

Pada titik ini build harus berhasil.

cd ~/ros_catkin_ws

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

Tambahkan ke ~/.bashrc dan juga jalankan di shell Anda:

sumber /opt/ros/kinetic/setup.bash

Langkah 5: Bangun Paket TurtleBot3 dan Raspicam

Bangun Paket TurtleBot3 dan Raspicam
Bangun Paket TurtleBot3 dan Raspicam

Instruksi ini mengikuti tutorial ROBOTIS.

mkdir -p ~/catkin_ws/src

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

Edit ~/.bashrc dan tambahkan

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

Sekarang, jalankan

cd ~/catkin_ws/src

git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone 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_ws &&

Membangun harus berhasil.

Konfigurasikan Raspberry Pi 4b untuk mengenali periferal USB TurtleBot3.

rosrun turtlebot3_bringup create_udev_rules

Jalankan ifconfig dan tuliskan IP Raspbery Pi.

ifconfig

Sunting ~/.bashrc. Tambahkan baris di bawah ini dan juga jalankan di shell Anda.

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

ekspor ROS_HOSTNAME=YOUR. RASPBERRY. PI. IP

Sinkronisasi Raspberry Pi dan waktu PC:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Pada titik ini, pengaturan Anda harus selesai. Sekarang Anda dapat menggunakan Raspberry Pi 4b Anda alih-alih Raspberry Pi 3/3+ di TurtleBot3 Anda.

Direkomendasikan: