عمل خريطة لمكان الالغام بمسابقة اكتشاف الالغام !!

عمل خريطة باماكن الالغام بمسابقة اكتشاف الالغام هو من احد التحديات البرمجية للمتسابقين وسنقوم بعض عدة افكار تساعد الفريق على عمل الخريطة وايضا امثلة لذلك وبالاجتهاد بعد ان تاخذ هذذه الامثله والافكار يمكنك ان تحول الروبوت اليدوى الى روبوت اوتوماتيك حيث يقوم بمسح المنطقه وارسال البيانات والتحكم  فيه من محطة الاستقبال والتحكم !!

يكون الحقل المراد مسحه فى المسابقة عبارة عن منطقة فى الصحراء مقسمة الى 19 مربع * 19 مربع وكل مربع 1*1 متر والمطلوب منك ان تقوم بمسح هذه المنطقة وتحديد المربعات الخطرة واللتى تحتوى على الغام وايضا تحديد نوع الللغم سواء ظاهر او مدفون !!

المطلوب هو عمل خريطة باماكن الالغام كما بالصورة او خريطة مشابهه لها

 اول حاجة هنتكلم عن السينسور اللى ممكن تستخده وايه المقترحات !! يوجد العديد ولكن سنقوم بطرح ما اتذكره 

  •  Encoder
  • IMU – Inertial Measurement Unit
  • Digital Magnetic Compass
  • GPS  – Global Positioning System
  • Camera 
  • kinect camera
  • Ultrasonic
  • GPR – Ground-penetrating radar
  • Metal detector sensor 

ازاى تعمل الخريطة دى بطريقة بسيطة وسهلة بس مش هتكون دقيقة وهيكون فى اخطاء باستخدام الانكودر وسينسور اكتشاف المعادن واى سينسور لتحديد المسافة للتعرف ع نوع اللغم

اولا : بعض المواتير تكون مدمجة بالانكودر والبعض الاخر لايحتوى ع انكودر فى هذه الحالة لابد من تركيب انكودر على الموتور او ع جلة حرة على حسب التصميم الخاص بكم و سنقوم بمعايرة الانكودر لمعرفة عدد النبضات التى يحدثها فى اللفة الكاملة ومن ثم نقوم بحساب محيط العجلة وتكون اللفة الواحدة تجعل الروبوت بتحرك مسافة قدرها محيط العجلة وتتم الحسابات بالمعادلات اسفل الصورة ومثال فى اخر الكود هنا 

  • Circumference = pi * Diameter
  • Distance traveled = Wheel rotations * circumference
  • Distance traveled = (Degrees turned / 360) * circumference
  • Distance traveled = (Encoder ticks / 360) * circumference
  • Encoder ticks = (360 / circumference) * Distance to travel

نقوم بارسال البيانات عن طريق الاكسبى او اى وصيلة لا سلكية اخرى عن طريق استخدام منافذ السيريال تقوم الواجهه الرسومية بالتقاط البيانات والبدء فى عمل الخريطة كما فى هذا المثال باستخدام الفيجوال بيزيك 

هذه الصورة اثناء اختبار اداء سينسور المعادن مع الالتراسونيك

وهذه اثناء الجولة الاخيرة فى البرتغال 

تسبب هذه الطريقة بالعديد من الاخطاء والمشاكل ولتحسينها يمكنك استخدام مكتبات مثل 
Arduino PID

ثانيا : استخدام مكتبات معالجة الصور ويمكنك استخدام الماتلاب او حتى استخدام ال اوبن سي فى ايا كان ما ستستخدمه ومن الافكار التى قام بها فريق الجامعة الالمانية العام الماضى قامو بتثبيت بالونه على الروبوت واخذ صورة للروبوت عندما يلتقط كاشف المعادن وبمقارنة بين حجم البالونة ع ابعاد مختلفة يمكن حساب المسافات ومنها عمل الخريطة 

واقترح لمن يريد استخدام هذه الطريقة بتثبيت كاميرا واحدة تكشف الملعب كاملا وتثبيت 4 كرات بنفس الحجم على اطراف الملعب وتثبيت واحدة اخرى خامسة على الروبوت وبالمقارنة بين احجام الكرات والتى ستعطى دائرة من كل الاتجاهات فى حالة ثبوت مستوى المحور الافقى  وعدد البكسلات فى الصورة سيكون المجهول هو بعد الروبوت ومعلوم عدد البكسلات وحجم الكرات حيث ان البعد بين اى كرتين هو 19 متر ما عدا الكرة المثبتة على الروبوت 

وتتحقق المعادلة : البعد المعلوم (19 متر) * عدد البكسلات المعلوم (من معالجة الصورة) = البعد المجهول * عدد البكسلات المعلوم (من معالجة الصورة) بهذا يمكن حسااب المسافات ودى صورة توضيحية لملعب 5*5 والروبوت بالمتر الثالث فى العمود الثانى 

يوجد عدة طرق اخرى يمكنكم الوصول اليها من خلال الانترنت .. 

ثالثا : باستخدام ادوات الملاحة مثل 
GPS & IMU and Digital Magnetic Compass

اولا نبدأ بال جى بى اس وله عيوب اكثر من مميزاته حيث ان نسبة الخطأ المتاحة للاستخدام المدنى تصل 50 اى 100 سم واحيانا الى 9 م وهذا لا يتناسب مع ظروف المسابقة 

ثانيا ال IMU or  Digital Magnetic Compass + encoder 
ساضع لكم طرق استخدامه مع اللاب فيو والماتلاب وهذا يمكنكم من صنع الخريطة ع نفس البرنامج اما الاردوينو ف يمكنكم كما فعلنا بالاعلى باستقبال البيانات عن طريق السيريال وصناعة الخريطة فقط على الكمبيوتر 

Arduino with Digital Magnetic Compass

IMU-9DOF Arduino read to Labview

x-IMU with matlab

تقدر تعدل ف الاكواد وتظبط بيها الخريطة بتاعتك بالشكل اللى انت عاوزه ولو غلبت خالص دور ازاى تقراهم وتطبع القراءة سيريال بلاردوينو واعمل زى اول طريقة فوق ..

رابعا ياستخدام نظام تشغيل الروبوتات ولغة بايثون او لغة بايثون وحدها لمن لا يريد التعقيد 

ROS – Robot Operating System

هو نظام مفتوح المصدر ويمكنك الاعتماد على العديد من المكتبات به ولقوته يمكنك عمل روبوت اوتوماتيكى بكل سهوله فى هذا اللينك طريقة عمل روبوت اوتوماتيكى وايضا بقليل من التعديلات يمكنك عمل الخريطة وليست الخريطة فقط بل عمل محاكاه ف الوقت نفسه 

 تمكنك لغة بايثون من التعامل مع النظام بسهولة كما يمكنك عمل الخرائط بها بعيدا عن النظام ولكن سيتطلب الامر منك كمبتدئ بعض الوقت 

خامسا ايضا هناك مشروع اخر مفتوح المصدر يمكنك الاستعانة به واستخدامه للاسترشاد والتعديل عليه للوصول لغرضك يمكنك الحصول ع كل ملفاته من هنا وايضا طريقة عمله من هنا

اخيرا يمكنك الاستعانة بتقنيات 
3D vision or stereo vision or kinetic camera

ولغة بايثوون او لاب فيو او ماتلاب لصنع صورة ثلاثية الابعاد او حتى ثنائية لوكن ستكتسف كل الالغام الظاهرة وستكون النتيجة مشابهه لما فى الفيديوهات !!

ويمكن الحصول ع ملفات الطريقة الثانية من هنا   

Leave a Reply

Your email address will not be published. Required fields are marked *