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

ROS Melodic على Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 خطوات
ROS Melodic على Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 خطوات

فيديو: ROS Melodic على Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 خطوات

فيديو: ROS Melodic على Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 خطوات
فيديو: [F1tenth (F1/10) Lecture 3]: ROS Filesystem and Catkin Make 2024, يوليو
Anonim
Image
Image
ROS Melodic على Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Melodic على Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

ستغطي هذه المقالة عملية تثبيت ROS Melodic Morenia على Raspberry Pi 4 الذي يشغل أحدث إصدار من Debian Buster وكيفية استخدام RPLIDAR A1M8 مع التثبيت الخاص بنا.

منذ أن تم إصدار Debian Buster رسميًا قبل بضعة أسابيع فقط (حتى لحظة كتابة هذا المقال) ، لا توجد حزم ROS مسبقة التركيب لتثبيتها باستخدام apt-get ، وهي طريقة التثبيت المفضلة. ومن ثم سنحتاج إلى بنائه من المصدر. صدقني ، ليس الأمر مخيفًا كما يبدو. تم وصف العملية في هذا البرنامج التعليمي الرسمي ، ولكن لبناء ROS Melodic على Raspberry Pi ، سنحتاج إلى إجراء بعض التعديلات.

إذا كنت لا تزال خائفًا ، فإليك صورة مضحكة * قد * تساعدك على الاسترخاء. يرجى تقديم ملاحظات إذا كان مستوى الاسترخاء المقدم كافياً. إذا لم يكن كذلك ، فسيتم استبدالها بصورة قطة مضحكة.

يناير 2020 EDIT: نظرًا لمرور نصف عام منذ أن نشرت هذا المقال ، ربما كانت هناك بعض التغييرات على ROS أو Buster. لقد صنعت صورة لـ Raspberry Pi 4 منذ فترة ، بعد كتابة هذا البرنامج التعليمي. قام أحد المساهمين بتحميله على Google Drive

تحرير أبريل 2020: لقد وجدت وقتًا مؤخرًا لإعادة تثبيت ROS Melodic على أحدث صورة Raspbian من موقع Raspberry Pi الرسمي ، وقد قمت بتحرير هذه التعليمات وفقًا لذلك. لقد قمت أيضًا بإنشاء صور نظيفة ومضغوطة ومشاركتها:

إصدار Raspbian Buster Lite 2020-02-13 مع ROS Melodic Bare-bones يحتاج إلى بطاقة SD سعة 8 جيجابايت

إصدار Raspbian Buster مع سطح المكتب 2020-02-13 مع ROS Melodic Desktop يحتاج إلى بطاقة SD سعة 16 جيجابايت

قد تكون أسرع طريقة لإعداد نظامك وتشغيله. إذا كنت ترغب في تجميع ROS بنفسك ، فاستمر في قراءة المقالة.

الخطوة 1: تثبيت تبعيات Bootstrap وتنزيل الحزم

لنبدأ بإعداد المستودعات وتثبيت التبعيات الضرورية

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-basic cmake

ثم قم بتهيئة rosdep وقم بتحديثه

sudo rosdep init

تحديث rosdep

عند الانتهاء من ذلك ، فلنقم بإنشاء مساحة عمل مخصصة من نوع catkin لبناء ROS والانتقال إلى هذا الدليل.

mkdir ~ / ros_catkin_ws

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

الآن لديك خياران:

ROS-Comm: تثبيت (Bare Bones) - قم بتثبيت هذا إذا كنت معتادًا على ROS وتعرف ما تفعله والحزم التي ستحتاج إليها. إذا كنت بحاجة إلى حزم غير مضمنة في ROS-Comm ، فستحتاج إلى تجميعها من المصدر أيضًا.

تثبيت سطح المكتب: يتضمن أدوات واجهة المستخدم الرسومية ، مثل مكتبات rqt و rviz و robot-generic. قد يكون الخيار الأفضل للمبتدئين لـ ROS.

سأذهب مع تثبيت تثبيت سطح المكتب هنا.

سطح المكتب rosinstall_generator --rosdistro melodic --deps - wet-only --tar> melodic-desktop-wet.rosinstall

wstool init -j8 src melodic-desktop-wet.rosinstall

سيستغرق الأمر بضع دقائق لتنزيل جميع حزم ROS الأساسية في مجلد src.

إذا فشلت wstool init أو تمت مقاطعتها ، يمكنك استئناف التنزيل عن طريق تشغيل:

تحديث wstool -j4 -t src

الخطوة الثانية: إصلاح المشكلات

أصلح المشاكل
أصلح المشاكل

تحرير أبريل 2020: تخطي هذه الخطوة ، يبدو أنه تم إصلاح جميع المشكلات الآن

لنقم بتثبيت الإصدار المتوافق من Assimp (مكتبة استيراد الأصول المفتوحة) لإصلاح مشكلة التبعية collada_urdf.

mkdir -p ~ / ros_catkin_ws / external_src

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

wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip

قم بفك ضغط assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

سميك.

صنع

sudo جعل التثبيت

لنقم أيضًا بتثبيت OGRE لـ rviz

sudo apt-get install libogre-1.9-dev

تحديث يناير 2020: لقد تم بالفعل إصلاح المشكلات المتعلقة بـ libbost بواسطة مطوري ROS ، يمكنك تخطي هذا الجزء

/// skip /// أخيرًا سنحتاج إلى إصلاح مشكلات libboost. أنا أستخدم الحل من هذا المنشور على stackoverflow:

تحدث الأخطاء أثناء التجميع بسبب وظيفة 'boost:: posix_time:: milliseconds' التي في الإصدارات الأحدث من التعزيز تقبل فقط وسيطة عدد صحيح ، لكن حزمة actionlib في ROS تمنحها عددًا عشريًا في عدة أماكن. يمكنك سرد جميع الملفات باستخدام هذه الوظيفة (! في مجلد ros_catkin_ws!):

find -type f -print0 | xargs -0 grep 'boost:: posix_time:: مللي ثانية' | قطع -d: -f1 | فرز -u

افتحها في محرر النصوص الخاص بك وابحث عن استدعاء الوظيفة "boost:: posix_time:: milliseconds".

واستبدل المكالمات مثل هذا:

دفعة:: posix_time:: مللي ثانية (loop_duration.toSec () * 1000.0f)) ؛

مع:

boost:: posix_time:: مللي ثانية (int (loop_duration.toSec () * 1000.0f))) ؛

و هؤلاء:

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

مع:

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

أوصيك باستخدام محرر نصوص nano ، وهو أبسط من VIM ؛) Ctrl + O قيد الحفظ ، Ctrl + X قيد الإنهاء ويبحث Ctrl + W.

/// continue_from_here ///

الخطوة 3: بناء التثبيت ومصدره

بعد ذلك ، نستخدم أداة rosdep لتثبيت جميع التبعيات المتبقية:

تثبيت rosdep - من المسارات src --ignore-src --rosdistro melodic -y

بمجرد الانتهاء من تنزيل الحزم وحل التبعيات ، تكون جاهزًا لإنشاء حزم catkin. (قم بتشغيل هذا الأمر من مجلد ros_catkin_ws)

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

إذا تجمدت عملية الترجمة (من المحتمل جدًا ، إذا قمت بتثبيت إصدار سطح المكتب) ، فأنت بحاجة إلى زيادة مساحة التبادل المتاحة. بشكل افتراضي 100 ميغا بايت ، حاول زيادتها إلى 2048 ميغا بايت.

حظا طيبا وفقك الله! تستغرق عملية التجميع بأكملها حوالي ساعة واحدة (أقل بالنسبة لنسخة Bare-bones) ، لذا اذهب لتحضير بعض الشاي.

الآن يجب تثبيت ROS Melodic على Raspberry Pi 4. سنصدر التثبيت الجديد بالأمر التالي:

صدى "المصدر /opt/ros/melodic/setup.bash" >> ~ /.bashrc

افتح غلافًا جديدًا حتى تصبح التغييرات سارية المفعول. حاول إطلاق roscore للتحقق مما إذا كان كل شيء ناجحًا.

الخطوة 4: قم بتثبيت حزمة RPLIDAR ROS

قم بتثبيت حزمة RPLIDAR ROS
قم بتثبيت حزمة RPLIDAR ROS

لنقم بإنشاء مساحة عمل منفصلة للحزم الأخرى ، والتي ليست جزءًا من ROS الأساسي.

من مجلد منزلك ، قم بما يلي:

mkdir -p ~ / catkin_ws / src

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

catkin_make

ومصدره إلى باشرك:

صدى "source $ HOME / catkin_ws / devel / setup.bash" >> ~ /.bashrc

حسنًا ، نحن جاهزون لبدء تثبيت حزمة RPLIDAR ROS.

قرص مضغوط src

sudo git clone

قرص مضغوط..

catkin_make

انتظر حتى تنتهي عملية تجميع الحزمة. حاول تشغيل الحزمة لمعرفة ما إذا كان التجميع ناجحًا:

roslaunch rplidar_ros rplidar. إطلاق

إذا لم تظهر أي أخطاء ، فقم برقصة احتفال سريعة (* اختياري).

الآن فقط القطعة الأخيرة مفقودة - نظرًا لأنك ربما تقوم بتشغيل Raspberry Pi 4 في وضع مقطوعة الرأس ، لا يمكننا تصور رسائل lidar. لذلك سنحتاج إلى إعداد ROS للتشغيل على أجهزة متعددة.

الخطوة 5: إعداد ROS للتشغيل على أجهزة متعددة

قم بإعداد ROS للتشغيل على أجهزة متعددة
قم بإعداد ROS للتشغيل على أجهزة متعددة

في هذا الجزء ، ستحتاج إلى كمبيوتر Ubuntu 18.04 مثبت عليه ROS Melodic. نظرًا لأنه يمكن تثبيت Ubuntu ROS ببساطة باستخدام apt-get كما هو موضح في هذا البرنامج التعليمي.

بعد الانتهاء من تثبيت ROS على كل من Raspberry Pi وجهاز سطح المكتب ، تحقق من عناوين IP لكلا الجهازين. يجب أن يكونوا على نفس الشبكة!

قم بتشغيل roscore على كمبيوتر سطح المكتب الخاص بك وقم بتصدير ROS_MASTER_URI

روزكور

تصدير ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

التالي على Raspberry PI تنفيذ

تصدير ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

تصدير ROS_IP = [your-raspberry-pi-ip]

وابدأ تشغيل ملف RPILIDAR

roslaunch rplidar_ros rplidar. إطلاق

إذا تم إطلاقه بنجاح ، فتحقق من الموضوعات الموجودة على جهاز سطح المكتب الخاص بك مع قائمة rostopic

إذا كان بإمكانك رؤية / مسح المساحات ، فكل شيء يعمل كما يفترض أن يعمل. ثم قم بتشغيل RVIZ على جهاز سطح المكتب الخاص بك ، وأضف رسائل Laser Scan واختر / امسح الموضوع. ستحتاج أيضًا إلى تغيير الإطار الثابت إلى / ليزر.

هاهو!

الخطوة 6: تم

منتهي!
منتهي!
منتهي!
منتهي!

يمكن أن يكون هذا الدليل خطوة أولى نحو بناء روبوت ROS الخاص بك فوق Raspberry Pi 4. لقد قمنا بتثبيت ROS Melodic وأعدنا التثبيت للتشغيل بدون رأس والاتصال بجهاز سطح المكتب الخاص بنا عبر الشبكة اللاسلكية للتحكم عن بعد.

تعتمد الخطوات التالية على نوع الروبوت الذي تريد بناءه. يمكنك إضافة محركات ومشفرات لقياس المسافات وكاميرا استريو لـ Visual SLAM وجميع أنواع الأشياء الأخرى المثيرة والمفيدة.

تم توفير الأجهزة الخاصة بهذه المقالة من خلال Seeed studio. تحقق من Raspberry Pi 4 و RPLIDAR A1M8 والأجهزة الأخرى للصانعين في متجر Seeed studio Store!

أضفني على LinkedIn إذا كان لديك أي سؤال واشترك في قناتي على YouTube لتلقي إخطارات حول المزيد من المشاريع المثيرة للاهتمام التي تتضمن التعلم الآلي والروبوتات.

موصى به: