جدول المحتويات:

قم بتثبيت ROS Kinetic و TurtleBot3 و Raspicam على Raspberry Pi & nbsp؛ 4b: 5 Steps
قم بتثبيت ROS Kinetic و TurtleBot3 و Raspicam على Raspberry Pi & nbsp؛ 4b: 5 Steps

فيديو: قم بتثبيت ROS Kinetic و TurtleBot3 و Raspicam على Raspberry Pi & nbsp؛ 4b: 5 Steps

فيديو: قم بتثبيت ROS Kinetic و TurtleBot3 و Raspicam على Raspberry Pi & nbsp؛ 4b: 5 Steps
فيديو: Learning ROS Through Simulation with TurtleBot3 and Gazebo [Part 1] 2024, يوليو
Anonim
قم بتثبيت ROS Kinetic و TurtleBot3 و Raspicam على Raspberry Pi 4b
قم بتثبيت ROS Kinetic و TurtleBot3 و Raspicam على Raspberry Pi 4b

يأتي TurtleBot3 Burger مع Raspberry Pi 3 B / B + ولا يدعم الجديد (اعتبارًا من 9/2019) Raspberry Pi 4b. اتبع الخطوات أدناه لجعل TurtleBot3 يعمل على Raspberry Pi 4b ، بما في ذلك

  • بناء ROS Kinetic من مصادر Raspberry Pi 4b Raspbian Buster
  • إضافة حزم خاصة بـ TurtleBot3
  • مضيفا عقدة raspicam إلى

الخطوة 1: قم بتثبيت Raspbian وتكوين Raspberry Pi 4b

قم بتثبيت Raspbian وتكوين Raspberry Pi 4b
قم بتثبيت Raspbian وتكوين Raspberry Pi 4b

تنزيل صورة Raspbian. لقد استخدمت Raspbian Buster بتاريخ 2019–07–10.

انسخ صورة Raspbian التي تم تنزيلها على بطاقة SD (بحجم 8 جيجا بايت على الأقل). قم بتوصيل الشاشة ولوحة المفاتيح والماوس بـ Raspberry Pi 4b ، وقم بالتمهيد والاتصال بشبكة WiFi. قم بتوسيع نظام الملفات ليشغل بطاقة SD بالكامل ، ويمكنك اختياريًا تمكين SSH و VNC عن طريق التشغيل

sudo raspi-config

الخطوة الثانية: تنزيل ROS Kinetic Sources

تنزيل مصادر ROS الحركية
تنزيل مصادر ROS الحركية

الإرشادات أدناه تتبع البرنامج التعليمي ROS الرسمي بالإضافة إلى DmitryM8 القابل للتوجيه.

سجّل الدخول إلى Raspberry Pi 4b وقم بتنفيذ هذه الأوامر لإضافة مستودع حزم ROS ، وإنشاء أدوات وتهيئة أداة تبعية 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 pytholon-rosdep pyston-rosinstall python-rosinstall build-أساسي cmake sudo rosdep init rosdep update

قم بإنشاء مساحة عمل لبناء ROS Kinetic من المصدر.

mkdir ~ / ros_catkin_ws

القرص المضغوط ~ / ros_catkin_ws

قم بتنزيل شفرة المصدر لحزمة "ros_comm" ، والتي تحتوي على وحدات أساسية مخصصة للتشغيل على كمبيوتر الروبوت الموجود على متن الطائرة. هنا ينشئ rosinstall_generator قائمة بمستودعات الكود المصدري لتنزيلها. ثم يواصل wstool تنزيل الكود المصدري.

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

لتشغيل TurtleBot3 و raspicam ، ستحتاج إلى حزم ROS هذه بالإضافة إلى ros_comm: common_msgs ، و rosserial ، و image_common ، و image_transport_plugins ، والتشخيصات. لإضافة هذه الحزم ، قم بتشغيل هذه الأوامر.

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 دمج -t src kinetic-extra-wet.rosinstall wstool update -j8 -t src rosdep install --from-paths src --ignore-src --rosdistro kinetic -y

نظرًا لأن إصدارات التبعيات تتغير بمرور الوقت ، فقد تكون هناك أخطاء مثل "python-rosdistro-modules_0.7.5-1_all.deb (--unpack): محاولة الكتابة فوق '/usr/lib/python2.7/dist-packages/rosdistro/_init_.py '، الموجود أيضًا في الحزمة python-rosdistro 0.7.2-1 ". قم بحل أخطاء "محاولة الكتابة" هذه:

sudo dpkg - إزالة - force-all python-catkin-pkg python-catkin-pkg-modules python-rosdistro python-rosdistro-modules python-rospkg python-rospkg-modules

// أو sudo apt remove sudo apt - fix-broken install

الخطوة 3: إصلاح أخطاء تجميع ROS يدويًا

إصلاح أخطاء تجميع ROS يدويًا
إصلاح أخطاء تجميع ROS يدويًا

سيفشل بناء ROS في هذه المرحلة مع وجود العديد من الأخطاء. دعنا نصلح هذه الأخطاء عن طريق تحرير شفرة مصدر ROS يدويًا.

يحرر

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

يحل محل

char * str = PyString_AsString (obj) ؛

مع

const char * str = PyString_AsString (obj) ؛

تحرير الملفات أدناه.

/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

قم بإزالة كافة تكرارات

/ tr1

واستبدل كل تكرارات

الأمراض المنقولة جنسيا:: tr1

مع

تعزيز

تحرير الملفات أدناه.

/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. /actionlib/server/simple_action_server_imp. /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

استبدل جميع مرات حدوث

دفعة:: posix_time:: مللي ثانية (…)

مع

دفعة:: posix_time:: مللي ثانية (int (…))

قم بتحرير الملف أدناه.

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

استبدل الكل

احترس

مع

CONSOLE_BRIDGE_log إحذر

و

سجل خطأ

مع

CONSOLE_BRIDGE_log خطأ

الخطوة الرابعة: بناء نظام ROS الحركي

في هذه المرحلة يجب أن ينجح البناء.

القرص المضغوط ~ / ros_catkin_ws

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = الإصدار - install-space / opt / ros / kinetic

ألحق بـ ~ /.bashrc ونفذ أيضًا في shell الخاص بك:

المصدر /opt/ros/kinetic/setup.bash

الخطوة 5: بناء حزم TurtleBot3 و Raspicam

بناء حزم TurtleBot3 و Raspicam
بناء حزم TurtleBot3 و Raspicam

تتبع هذه التعليمات البرنامج التعليمي الخاص بـ ROBOTIS.

mkdir -p ~ / catkin_ws / src

cd ~ / catkin_ws / catkin_make مصدر تطوير / setup.bash

تحرير ~ /.bashrc وإلحاق

المصدر /home/pi/catkin_ws/devel/setup.bash

الآن ، نفذ

القرص المضغوط ~ / 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 / turtlebotkin3_slam / turtlebot3

يجب أن ينجح البناء.

قم بتكوين Raspberry Pi 4b للتعرف على الأجهزة الطرفية لـ TurtleBot3 USB.

rosrun turtlebot3_bringup create_udev_rules

قم بتشغيل ifconfig واكتب عنوان IP الخاص بـ Raspbery Pi.

ifconfig

تحرير ~ /. أضف الأسطر أدناه وقم بتنفيذها أيضًا في صدفتك.

تصدير ROS_MASTER_URI = https://YOUR. ROS. MASTER. IP: 11311

تصدير ROS_HOSTNAME = YOUR. RASPBERRY. PI. IP

مزامنة Raspberry Pi ووقت الكمبيوتر:

sudo apt-get install ntpdate

sudo ntpdate ntp.ubuntu.com

في هذه المرحلة ، يجب أن يكتمل الإعداد الخاص بك. يمكنك الآن استخدام Raspberry Pi 4b بدلاً من Raspberry Pi 3/3 + في TurtleBot3.

موصى به: