İçindekiler:

Raspberry Pi 4b'ye ROS Kinetic, TurtleBot3, Raspicam yükleyin: 5 Adım
Raspberry Pi 4b'ye ROS Kinetic, TurtleBot3, Raspicam yükleyin: 5 Adım

Video: Raspberry Pi 4b'ye ROS Kinetic, TurtleBot3, Raspicam yükleyin: 5 Adım

Video: Raspberry Pi 4b'ye ROS Kinetic, TurtleBot3, Raspicam yükleyin: 5 Adım
Video: ROS'a Giriş 2: ROS'u Sanal Linux üzerinde kullanma ve temel komutlar 2024, Temmuz
Anonim
Raspberry Pi 4b'ye ROS Kinetic, TurtleBot3, Raspicam yükleyin
Raspberry Pi 4b'ye ROS Kinetic, TurtleBot3, Raspicam yükleyin

TurtleBot3 Burger, Raspberry Pi 3 B/B+ ile birlikte gelir ve yeni (9/2019 itibariyle) Raspberry Pi 4b'yi desteklemez. TurtleBot3'ün Raspberry Pi 4b üzerinde çalışmasını sağlamak için aşağıdaki adımları izleyin:

  • Raspberry Pi 4b Raspbian Buster'daki kaynaklardan ROS Kinetic oluşturma
  • TurtleBot3'e özel paketler ekleme
  • raspicam düğümü ekleme

Adım 1: Raspbian'ı Kurun ve Raspberry Pi 4b'yi Yapılandırın

Raspbian'ı Kurun ve Raspberry Pi 4b'yi Yapılandırın
Raspbian'ı Kurun ve Raspberry Pi 4b'yi Yapılandırın

Bir Raspbian resmi indirin. 2019–07–10 tarihli Raspbian Buster kullandım.

İndirilen Raspbian görüntüsünü bir SD karta yazın (en az 8Gb boyutunda). Raspberry Pi 4b'nize bir ekran, klavye ve fare bağlayın, önyükleyin ve WiFi'ye bağlanın. Dosya sistemini SD kartınızın tamamını kaplayacak şekilde genişletin ve isteğe bağlı olarak çalıştırarak SSH ve VNC'yi etkinleştirin

sudo raspi yapılandırması

2. Adım: ROS Kinetik Kaynaklarını İndirin

ROS Kinetik Kaynaklarını İndirin
ROS Kinetik Kaynaklarını İndirin

Aşağıdaki talimatlar, resmi ROS öğreticisinin yanı sıra DmitryM8 talimatını da takip eder.

Raspberry Pi 4b'nizde oturum açın ve ROS paketi deposu eklemek, araçlar oluşturmak ve ROS bağımlılık aracını başlatmak için bu komutları yürütün.

sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $(lsb_release -sc) ana" > /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get güncellemesi python-rosinstall inşa-temel cmake sudo rosdep init rosdep güncellemesi

Kaynaktan ROS Kinetic oluşturmak için bir çalışma alanı oluşturun.

mkdir ~/ros_catkin_ws

cd ~/ros_catkin_ws

Robotun yerleşik bilgisayarında çalışması amaçlanan temel modülleri içeren "ros_comm" paketinin kaynak kodunu indirin. Burada rosinstall_generator, indirilecek kaynak kod depolarının bir listesini oluşturur. wstool daha sonra kaynak kodunu indirmeye devam eder.

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

wstool init -j8 kaynağı kinetic-ros_comm-wet.rosinstall rosdep kurulumu --from-paths src --ignore-src --rosdistro kinetik -y

TurtleBot3 ve raspicam'ı çalıştırmak için ros_comm'a ek olarak şu ROS paketlerine ihtiyacınız olacak: common_msgs, rosserial, image_common, image_transport_plugins ve tanılama. Bu paketleri eklemek için bu komutları çalıştırın.

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

wstool birleştirme -t kaynağı kinetic-extra-wet.rosinstall wstool güncellemesi -j8 -t kaynağı rosdep kurulumu --from-paths src --ignore-src --rosdistro kinetik -y

Bağımlılık sürümleri zamanla değiştikçe, "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): '/usr/lib/python2.7/dist-packages/rosdistro/_init_ üzerine yazmaya çalışmak gibi hatalar olabilir..py', ayrıca python-rosdistro 0.7.2-1" paketindedir. Bu "üzerine yazmaya çalışmak" hatalarını çözün:

sudo dpkg --remove --force-all python-catkin-pkg python-catkin-pkg-modülleri python-rosdistro python-rosdistro-modülleri python-rospkg python-rospkg-modülleri

// veya sudo apt kaldır sudo apt --fix-bozuk kurulum

3. Adım: ROS Derleme Hatalarını Manuel Olarak Düzeltin

ROS Derleme Hatalarını El İle Düzeltin
ROS Derleme Hatalarını El İle Düzeltin

Bu noktada ROS oluşturmak çeşitli hatalarla başarısız olacaktır. ROS kaynak kodunu manuel olarak düzenleyerek bu hataları düzeltelim.

Düzenlemek

/home/pi/ros_catkin_ws/src/opencv3/modules/python/src2/cv2.cpp satır 885

Yer değiştirmek

char* str = PyString_AsString(obj);

ile birlikte

const char* str = PyString_AsString(obj);

Aşağıdaki dosyaları düzenleyin.

/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

Tüm oluşumlarını kaldır

/tr1

ve tüm oluşumlarını değiştirin

standart::tr1

ile birlikte

artırmak

Aşağıdaki dosyaları düzenleyin.

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

Tüm oluşumlarını değiştir

boost::posix_time::milisaniye(…)

ile birlikte

boost::posix_time::milisaniye(int(…))

Aşağıdaki dosyayı düzenleyin.

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

Hepsini değiştir

logUyarı

ile birlikte

CONSOLE_BRIDGE_logUyarı

ve

logError

ile birlikte

CONSOLE_BRIDGE_logHatası

4. Adım: ROS Kinetiği Oluşturun

Bu noktada yapı başarılı olmalıdır.

cd ~/ros_catkin_ws

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

~/.bashrc'ye ekleyin ve ayrıca kabuğunuzda çalıştırın:

kaynak /opt/ros/kinetic/setup.bash

Adım 5: TurtleBot3 ve Raspicam Paketlerini Oluşturun

TurtleBot3 ve Raspicam Paketleri Oluşturun
TurtleBot3 ve Raspicam Paketleri Oluşturun

Bu talimatlar, ROBOTIS eğitimini takip eder.

mkdir -p ~/catkin_ws/src

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

~/.bashrc'yi düzenleyin ve ekleyin

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

Şimdi, yürüt

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 kaplumbağabot3_description/ kaplumbağabot3_teleop/ kaplumbağabot3_navigation/ kaplumbağabot3_slam/ kaplumbağabot3_example/ cd ~&catkin_ws &

Yapı başarılı olmalıdır.

Raspberry Pi 4b'yi TurtleBot3 USB çevre birimlerini tanıyacak şekilde yapılandırın.

rosrun kaplumbağa botu3_bringup create_udev_rules

ifconfig'i çalıştırın ve Raspbery Pi'nin IP'sini yazın.

ifconfig

~/.bashrc'yi düzenleyin. Aşağıdaki satırları ekleyin ve ayrıca kabuğunuzda çalıştırın.

dışa aktar ROS_MASTER_URI=https://YOUR. ROS. MASTER. IP:11311

dışa aktar ROS_HOSTNAME=YOUR. RASPBERRY. PI. IP

Raspberry Pi ve PC saatini senkronize edin:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

Bu noktada kurulumunuz tamamlanmış olmalıdır. Artık TurtleBot3'ünüzde Raspberry Pi 3/3+ yerine Raspberry Pi 4b'nizi kullanabilirsiniz.

Önerilen: