Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
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
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
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
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
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:
Instal Windows 10 Penuh pada Raspberry Pi!: 5 Langkah
Instal Windows 10 Penuh pada Raspberry Pi!: Raspberry Pi adalah papan yang bagus untuk melakukan banyak hal. Ada banyak instruksi tentang hal-hal seperti IOT, otomatisasi Rumah, dll. Dalam instruksi ini, saya akan menunjukkan kepada Anda bagaimana Anda dapat menjalankan desktop windows penuh pada Raspberry PI 3B Anda
Instal dan Setup Monitor Jaringan Shinken di Raspberry Pi: 14 Langkah
Instal dan Atur Monitor Jaringan Shinken di Raspberry Pi: CATATAN: shinken terakhir diperbarui pada MAR2016 ke rilis stabil 2.4.3. Jadi, beberapa tahun yang lalu saya beralih ke cara lain untuk melakukan pemantauan jaringan rumah. Selain itu, php5 sepertinya tidak tersedia. Jadi, tolong jangan gunakan instruksi ini! Instal
Instal Ubuntu 18.04.4 LTS di Papan Raspberry Pi Anda: 8 Langkah
Instal Ubuntu 18.04.4 LTS di Papan Raspberry Pi Anda: Tim Ubuntu merilis sistem operasi Dukungan Jangka Panjang Ubuntu 18.04.4 untuk komputer papan tunggal Raspberry Pi 2 / 3 / 4 ARM. Gambaran singkat Seperti yang kita ketahui, Raspbian didasarkan pada Debian distro, yang merupakan sistem operasi resmi untuk Raspber
Instal Raspbian OS ke Raspberry Pi 4: 24 Langkah
Instal Raspbian OS ke Raspberry Pi 4: Ini adalah tutorial pertama dalam seri Raspberry Pi Persiapan Konten: Dr. Ninad Mehendale, Mr. Amit DhimanInstalasi Raspbian OS di Raspberry Pi adalah salah satu langkah paling dasar yang harus diketahui. Kami menyajikan prosedur langkah demi langkah sederhana untuk
Instal Homebridge di Raspberry Pi dan Windows: 9 Langkah
Instal Homebridge di Raspberry Pi dan Windows: Tutorial ini untuk orang yang ingin menginstal Homebridge di Raspberry Pi dan Windows. Awalnya, tutorial ini ditulis dalam bahasa Portugis di sini di Brasil. Saya mencoba yang terbaik untuk menulisnya dalam bahasa Inggris. Jadi maafkan saya untuk beberapa kesalahan yang mungkin ada dalam penulisan