جدول المحتويات:
- الخطوة 1: تثبيت تبعيات Bootstrap وتنزيل الحزم
- الخطوة الثانية: إصلاح المشكلات
- الخطوة 3: بناء التثبيت ومصدره
- الخطوة 4: قم بتثبيت حزمة RPLIDAR ROS
- الخطوة 5: إعداد ROS للتشغيل على أجهزة متعددة
- الخطوة 6: تم
فيديو: ROS Melodic على Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
ستغطي هذه المقالة عملية تثبيت 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
لنقم بإنشاء مساحة عمل منفصلة للحزم الأخرى ، والتي ليست جزءًا من 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 للتشغيل على أجهزة متعددة
في هذا الجزء ، ستحتاج إلى كمبيوتر 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 لتلقي إخطارات حول المزيد من المشاريع المثيرة للاهتمام التي تتضمن التعلم الآلي والروبوتات.
موصى به:
بدء استخدام RPLIDAR منخفض التكلفة باستخدام Jetson Nano: 5 خطوات
الشروع في العمل باستخدام RPLIDAR منخفض التكلفة باستخدام Jetson Nano: نظرة عامة موجزة يعمل اكتشاف الضوء وتحديد المدى (LiDAR) بنفس طريقة استخدام محددات المدى بالموجات فوق الصوتية مع نبض الليزر بدلاً من الموجات الصوتية. تستثمر Yandex و Uber و Waymo وما إلى ذلك بكثافة في تقنية LiDAR لعلاقاتهم الخاصة بالسيارات المستقلة
كيفية استخدام الماسح الضوئي بالليزر RPLIDAR 360 درجة مع Arduino: 3 خطوات (بالصور)
كيفية استخدام RPLIDAR 360 ° Laser Scanner مع Arduino: أنا معجب كبير ببناء روبوتات السومو وأنا دائمًا أبحث عن أجهزة استشعار ومواد جديدة مثيرة للاهتمام لاستخدامها في بناء روبوت أفضل وأسرع وأكثر ذكاءً. اكتشفت عن RPLIDAR A1 الذي يمكنك الحصول عليه مقابل 99 دولارًا على موقع DFROBOT.com. قلت إنني كنت inte
Roomblock: منصة لتعلم تنقل ROS مع Roomba و Raspberry Pi و RPLIDAR: 9 خطوات (بالصور)
Roomblock: منصة لتعلم تنقل ROS مع Roomba و Raspberry Pi و RPLIDAR: ما هذا؟ & quot؛ Roomblock & quot؛ عبارة عن منصة روبوت تتكون من Roomba و Raspberry Pi 2 ومستشعر ليزر (RPLIDAR) وبطارية متنقلة. يمكن صنع إطار التثبيت بواسطة طابعات ثلاثية الأبعاد. يمكّن نظام الملاحة ROS من عمل خريطة للغرف واستخدام i