📚 لبنة المسافة الأمامية والتحكم في الروبوت
المفاهيم الأساسية
لبنة المسافة الأمامية (Front Distance Sensor Block): لبنة مستشعر تبين المسافة بين روبوت الواقع الافتراضي وأقرب كائن من خلال قيم رقمية بوحدة المليميتر (mm) أو البوصة (Inches).
خريطة المفاهيم
```markmap
مستشعرات المسافة
وظيفة المستشعرات في الروبوتات
- الإحساس بالبيئة المحيطة ومكوناتها
- قياس المسافات بين الروبوت والمكونات
- معالجة البيانات لإكمال المهمة المطلوبة
مستشعرات فيكس كود في آر (VEXcode VR)
- تمنح القدرة على برمجة روبوت الواقع الافتراضي
- تجعل الروبوت يتصرف مثل المركبة ذاتية القيادة
أنواع المستشعرات
- مستشعر الاصطدام (Bumper)
- مستشعر المسافة (Distance)
- مستشعر العين (Eye)
مقارنة الحواس البشرية بمستشعرات الروبوت
اللمس
- يقابله: مستشعر الاصطدام (Bumper)
الرؤية
- يقابلها: مستشعر المسافة (Distance) ومستشعر العين (Eye)
أجزاء الروبوت في الرسم التوضيحي
- مستشعر العين الأمامية (FrontEye)
- مستشعر المسافة (Distance)
- مستشعر الاصطدام الأيمن (BumperRight)
- مستشعر المغناطيس الكهربائي (Electromagnet)
- مستشعر العين السفلية (DownEye)
- مستشعر الاصطدام الأيسر (BumperLeft)
أنواع مستشعرات المسافة
مستشعر المسافة بالموجات فوق الصوتية
- المبدأ: إرسال موجات فوق صوتية وقياس انعكاسها
- التطبيقات:
- قياس منسوب المياه في الخزانات
- أنظمة السلامة المضادة للتصادم في السيارات
مستشعر المسافة بالليزر
- المبدأ: استخدام شعاع الليزر
- الدقة: من بضع ملليمترات إلى آلاف الأمتار
- التطبيقات:
- مراقبة الجودة
- المراقبة الصناعية (Process Monitoring)
- وضع المكونات بدقة في صناعة السيارات
#### تطبيقات الليزر (تركيزه على بقعة ضيقة)
- القطع بالليزر
- الطباعة الحجرية (Lithography)
- مسحات الباركود الضوئية (Barcode Scanners)
#### مستشعر المسافة لروبوت الواقع الافتراضي
- الموقع: الجزء الأمامي من الروبوت
- الوظيفة: توضيح المسافة بين الروبوت وأقرب كائن
- آلية العمل: حساب المسافة باستخدام وقت ارتداد ضوء الليزر
- نطاق الكشف:
- الكائنات القريبة
- الأشياء البعيدة والجدران في ملاعب فيكس كود في آر
- عند عدم وجود شيء: يبلغ عن مسافة أكبر من 3000 ملليمتر
لبنات فئة الاستشعار (Sensing)
وظيفتها
- تستخدم لبرمجة الواقع الافتراضي للتفاعل مع الشروط واتخاذ القرارات من المستشعرات
لبنات الفراسل (Reporter Blocks)
- شكلها: دائري أو سداسي
- لا يمكن استخدامها بمفردها
- تُستخدم داخل لبنات أخرى (مثل: التحكم، العمليات)
لبنات الفراسل المنطقية (Boolean Reporter)
- شكلها: سداسي
- تُستخدم لتكوين الشروط
- نتيجتها: صواب (True) أو خطأ (False)
أمثلة على لبنات الفراسل المنطقية
- القيامة تم عملها؟
- القائد مازال يتحرك؟
- مضغوط؟
- BumperLeft
- المسافة الأمامية
- وجدت كائنا؟
- العين الأمامية
- يمثل جسم قريب؟
- أحمر؟
لبنات مستشعر المسافات (Distance Sensing)
اللبنتان الأساسيتان
- لبنة المسافة الأمامية وجدت كائنا؟ (FrontDistance found an object?)
- لبنة المسافة الأمامية في ( ) (FrontDistance in ( ))
#### خصائص لبنة المسافة الأمامية في ( )
- تتيح اختيار وحدة قياس المسافة (mm أو Inches).
- ترجع قيماً رقمية (شكل بيضاوي).
- تُستخدم داخل لبنات أخرى مثل "الانتظار حتى ( )".
#### مثال تطبيقي باستخدام "الانتظار حتى ( )"
- الشرط: المسافة أقل من 100 ملليمتر.
- التأثير: توقف المقطع البرمجي مؤقتاً حتى يتحقق الشرط.
- مثال برمجي:
- عندما يبدأ
- تحرك إلى الأمام
- الانتظار حتى (المسافة الأمامية < 100 مم)
- أوقف القيادة
- النتيجة: يتوقف الروبوت على مسافة محددة (مثال: 79 مم) قبل الحاجز.
العلاقة بين مجال وزاوية المستشعر
- يمكن اكتشاف الكائنات البعيدة عندما تكون زاوية المجال قريبة من مركز شعاع الليزر
- المجال 10 درجات ← المدى 1000 ملليمتر
- المجال 5 درجات ← المدى 2000 ملليمتر
- المجال 2 درجة ← المدى أكبر من 2000 ملليمتر
تطبيق عملي للبنة "المسافة الأمامية وجدت كائنا؟"
مثال برمجي
- يتحرك الروبوت إلى الأمام حتى يكتشف مستشعر المسافة كائنًا (مثل جدار الملعب).
- عند اكتشاف الكائن، يتوقف الروبوت.
منطق التدفق (Flowchart)
- البداية
- تحرك إلى الأمام
- الانتظار حتى (المسافة الأمامية وجدت كائنا؟ = صواب)
- أوقف القيادة
- النهاية
وحدة المراقبة (Monitor Console)
- تتيح رؤية النتيجة التي ترجعها اللبنة (صواب أو خطأ).
- تظهر بيانات مثل:
- المسافة (مثال: 1829 مم)
- حالة المستشعر (Object: False)
- موقع الروبوت (X, Y)
```
نقاط مهمة
- لبنة المسافة الأمامية في ( ) ترجع قيماً رقمية (شكل بيضاوي).
- يمكن استخدام هذه اللبنة داخل لبنة "الانتظار حتى ( )" لوقف البرنامج مؤقتاً عند تحقيق شرط مسافي (مثل: أقل من 100 مم).
- مثال تطبيقي: (عندما يبدأ → تحرك إلى الأمام → الانتظار حتى (المسافة < 100 مم) → أوقف القيادة) يؤدي إلى توقف الروبوت على مسافة محددة (مثال: 79 مم) قبل الحاجز.