التطبيق:

تقسيم مشروع سيارة التحكم عن بُعد إلى قسمين:

  • القسم الأول: هيكل سيارة التحكم عن بُعد.
  • القسم الثاني: بيئة البرمجيات.

القسم الأول:

بعد بناء هذه الأجزاء، حان الوقت لوضعها معًا في هيكل سيارة التحكم عن بُعد.
تم بناء سيارة التحكم عن بُعد في عدة مراحل:
1- بناء نظام طاقة قابل للنقل وقابل للشحن بجهد 12 فولت لتشغيل كاميرا Kinect ومنفذ USB-A 5 فولت لتشغيل Raspberry Pi، واستخدام منفذ USB Type-C لشحن البطارية.
2- تكامل نظام الحركة مع هيكل سيارة التحكم عن بُعد.

الصورة ١: نظام الطاقة والحركة داخل هيكل السيارة.

3- تثبيت مكونات جمع البيانات أعلاه فوق هيكل السيارة:

الصورة ٢: سيارة التحكم عن بُعد النهائية مع جميع المكونات من الجانب الأيمن.
الصورة ٣: سيارة R/C النهائية مع جميع المكونات من الجهة الأمامية.
الصورة ٤: توصيل جميع مكونات سيارة R/C.

القسم الثاني: البيئة البرمجية

  1. حمل نسخة Ubuntu 20.4 على جهاز الكمبيوتر الخاص بك.
  2. حمل برنامج Raspberry Pi Imager لحرق نظام Ubuntu 20.4 على بطاقة SD بسعة 64 جيجابايت.
  3. قم بتثبيت Ubuntu 20.4 على Raspberry Pi.
  4. قم بتمكين خادم SSH على Raspberry Pi وعميل SSH على جهاز الكمبيوتر الخاص بك للتحكم عن بُعد.
  5. عند الحصول على رسالة خطأ “Permission denied (publickey)”.
  6. تلقيت هذه الرسالة خطأ؟

حل المشكلة بهذه الخطوات.

  1. قم بتثبيت توزيعة ROS Noetic على الكمبيوتر وعلى Raspberry Pi
  2. إعداد Kinect Xbox360.
  3. إعداد جهاز استشعار RPLIDAR A1.
  4. تعلم كيفية عمل حزمة tf.
  5. تعلم URDF لبناء نموذج الروبوت الخاص بك على التصور Rviz.
  6. بناء ملف URDF لمكونات جمع البيانات مع Kinect_description، rplidar_model.
  7. ملف URDF لسيارة التحكم عن بُعد الخاصة بنا يتضمن turtlebot3، rosbot، articubot_one، و RoboCar.
  8. ربط كاميرا Kinect وماسح RPLIDAR على Raspberry Pi باستخدام كبل USB.
  9. افتح نافذة تيرمينال جديدة على جهاز الكمبيوتر الخاص بك وقم بتشغيل “ssh <اسم المستخدم>@<عنوان IP لـ Raspberry Pi>” استخدم عميل SSH على سطح المكتب للتحكم في Raspberry Pi.
  10. لتمكين تبادل البيانات بين Raspberry Pi والكمبيوتر الخاص بك، تحتاج إلى اختيار من هو الرئيسي باستخدام هذه التعليمات.
  11. افتح نافذة تيرمينال جديدة على Raspberry Pi وقم بتشغيل هذا الأمر:

لتشغيل ماسح RPLIDAR وكاميرا Kinect.
ثم قم بتشغيل الأمر:

في نافذة تيرمينال جديدة على الكمبيوتر.
سيتم عرض RobotModel و LaserScan و PointCloud2 مدمجة في تصور Rviz.

الصورة ٥: نموذج الروبوت في تصور URDF.
الصورة ٦: تصور مسح الليزر لماسح RPLIDAR.
الصورة ٧: تصور PointCloud2 لكاميرا Kinect.

هذا المشروع لم يكتمل بعد، حيث يهدف إلى جمع البيانات من ماسح الليزر RPLIDAR وكاميرا Kinect لعرضها على Rviz للاستخدام في تطبيقات متعددة.

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

فيما يتعلق بنظام المضمنات، ستحتاج إلى استخدام مكتبة rosserial على كل من Arduino وRaspberry Pi لإرسال التعليمات مثل الذهاب إلى الأمام، الخلف، اليسار، واليمين. بالإضافة إلى ذلك، ستحتاج أيضًا إلى فهم كيفية استخدام الأسلاك الأربعة لمحرك سيرفو.

الخاتمة:

كما رأيتم في هذا التقرير، قمنا بتوفير الدافع وبيان الهدف، والمسح البحثي الذي ساعدنا على فهم التقنيات المستخدمة والتأكد من متطلبات هذا المشروع.
واجهنا العديد من التحديات، بما في ذلك إعداد البيئة واختيار الحزم المناسبة لبناء المشروع. هناك العديد من المكتبات بسبب وجود مجتمع كبير من المبرمجين، مما يجعل من الصعب التعامل معها وربطها ببعضها البعض.
لتحسين هذا المشروع، أوصي بتبديل Raspberry Pi بجهاز كمبيوتر فردي أكثر قوة مثل Nvidia Jetson Nano. بالإضافة إلى استبدال كاميرا Kinect بكاميرا RGB-D عالية الدقة بزاوية رؤية أوسع، وبحجم أصغر، وبوجود منفذ طاقة خاص بها.

المصادر:

[1]“The top 10 causes of death,” World Health Organization, 2020. [Online]. Available: https://www.who.int/news-room/fact-sheets/detail/the-top-10-causes-of-death.
[2]“Najm announces launching the Comprehensive Auto Insurance Management Solutions center “CAMS”,” Najm, 30 January 2019. [Online]. Available: https://najm.sa/sites/en/News/55.
[3]“Automated Vehicles for Safety,” [Online]. Available: https://www.nhtsa.gov/technology-innovation/automated-vehicles-safety#:~:text=The%20continuing%20evolution%20of%20automotive,can’t%20do%20it%20ourselves..
[4]“SLAM (Simultaneous Localization and Mapping),” mathworks, [Online]. Available: https://www.mathworks.com/discovery/slam.html.
[5]Z. Shishun, Z. Longyu and T. Wenbing, “Survey and Evaluation of RGB-D SLAM,” 21 January 2021. [Online]. Available: https://ieeexplore.ieee.org/document/9330596.
[6]M. Lili, Y. Pantao, Z. Yuchen, C. Kai, W. Fangfang and Q. Nana, “Research on SLAM Algorithm of Mobile Robot Based on the Fusion of 2D LiDAR and Depth Camera,” 26 August 2020. [Online]. Available: https://ieeexplore.ieee.org/document/9178302#full-text-header.
[7]P. Yoonseok, C. Hancheol and J. Leon, ROS Robot Programming (in English), ROBOTIS Co.,Ltd., 2017.
[8]“Robot Operating System (ROS),” [Online]. Available: https://www.ros.org/.
[9]“RGB-D Sensors and 3D Reconstruction,” [Online]. Available: https://ieee-sensors.org/wp-content/uploads/2019/05/SJ_Special_Issue_RGB-D_Sensors.pdf.
[10]G. Sara, L. Manuel, R. Jennifer and G. Anton, “Concept of an Automotive LiDAR Target Simulator for Direct Time-of-Flight LiDAR,” 8 AUGUST 2015. [Online]. Available: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9618816.
[11]G. Ziming, C. Baigen, J. Wei and W. Jian, “Feature-based detection and classification of moving objects using LiDAR sensor,” 26 March 2019. [Online]. Available: https://ietresearch.onlinelibrary.wiley.com/doi/full/10.1049/iet-its.2018.5291.
[12]Z. Jiaheng, H. Shoudong, Z. Liang, C. Yongbo and L. Xiao, “Conic Feature Based Simultaneous Localization and Mapping in Open Environment via 2D Lidar,” 28 November 2019. [Online]. Available: https://ieeexplore.ieee.org/document/8917627.
[13]“Turtlebot3,” [Online]. Available: https://emanual.robotis.com/docs/en/platform/turtlebot3/slam/#run-slam-node.
[14]S. Yogamani, C. Hughes, J. Horgan, G. Sistu and S. Chennupati, “WoodScape: A multi-task, multi-camera fisheye dataset for autonomous driving,” 27 October 2019. [Online]. Available: https://ieeexplore.ieee.org/document/9008254.
[15]C. David, E. Jakob and C. Daniel , “Large-scale direct SLAM for omnidirectional cameras,” 2015. [Online]. Available: https://ieeexplore.ieee.org/document/7353366/authors#authors.
[16]“Instrumentation of an array of ultrasonic sensors and data processing for unmanned aerial vehicle (UAV) for teaching the application of the kalman filter,” 2015. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S1877050915037217.
[17]“How Does A Servo Motor Work?,” [Online]. Available: https://www.electricaleasy.com/2015/01/how-does-servo-motor-work.html.
[18]“RPLIDAR A1,” [Online]. Available: https://www.slamtec.com/en/Lidar/A1.
[19]“Xbox 360 Kinect Teardown – iFixit,” iFixit, 2010. [Online]. Available: https://www.ifixit.com/Teardown/Xbox+360+Kinect+Teardown/4066.
[20]“Raspberry pi 4B Specification,” Raspberry Pi Foundation, [Online]. Available: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/.
[21]“Interface L298N DC Motor Driver Module with Arduino,” [Online]. Available: https://lastminuteengineers.com/l298n-dc-stepper-driver-arduino-tutorial/.
[22]“rosserial – ROS Wiki,” [Online]. Available: http://wiki.ros.org/rosserial.
[23]“gmapping – ROS Wiki,” [Online]. Available: http://wiki.ros.org/gmapping.
[24]“hector_mapping – ROS Wiki,” [Online]. Available: http://wiki.ros.org/hector_mapping.
[25]“RTAB-Map | Real-Time Appearance-Based Mapping,” [Online]. Available: https://introlab.github.io/rtabmap/.
[26]“urdf – ROS Wiki,” [Online]. Available: http://wiki.ros.org/urdf.
[27]“ASTRA,” [Online]. Available: https://shop.orbbec3d.com/Astra.
[28]J. Dong-Won, L. Zhong-Soo, K. Byung-Geuk and K. Nak-Ku , “Multi-channel ultrasonic sensor system for obstacle detection of the mobile robot,” 2007. [Online]. Available: https://ieeexplore.ieee.org/document/4406722/authors#authors.
Previous post مشروع سيارة ذاتية القيادة: الفصل الثاني

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *