التطبيقات الروبوتية 1 | الوحدة السادسة | الدرس الثاني

التطبيقات الروبوتية 1 هو عنوان الدرس الثاني من الوحدة السادسة التي تحمل اسم “الذكاء الاصطناعي والمجتمع” من مقرر “الذكاء الاصطناعي” الفصل الدراسي الثاني.
ستتعرف في هذا الموضوع على محاكي ويبوتس (Webots) الذي سيتم استخدامه لتطوير نظام تحليل الصور لطائرة مسيَّرة يتم استخدامها في مراقبة منطقة معيَّنة، بالإضافة إلى تعلُّم بعض المبادئ الأساسية في الروبوتات اللازمة لبرمجة الطائرة المُسيَّرة، مثل: موضع الكائن، والدوران في الفضاء ثلاثي الأبعاد، والأجهزة الأساسية للطائرة المُسيَّرة.
قم بقراءة أهداف التعلُّم جيدًا، ثم أعد قراءتها وتأكَّد من تحصيل محتواها بعد انتهائك من دراسة الموضوع.
أهداف التعلٌّم
- معرفة الروبوتية (Robotics) والمحاكيات (Simulators).
- استخدام ويبوتس في محاكاة الروبوت وبيئاتها.
- برمجة أجهزة الطائرة المُسيَّرة على الحركة الذاتية.
هيا لنبدأ!
أحداث ثورة في العَالَم باستخدام الروبوتية (Revolutionizing the World with Robotics)
الروبوتية (Robotics)
تهتم الروبوتية بدراسة الروبوتات، وهي آلات يمكِنها أداء مجموعة متنوعة من المهام بطريقة مستقلة أو شبه مستقلة أو تحت تصرُّف البشر.
الروبوتية هي مجال سريع النمو أحدثَ ثورة في طريقة عمل الناس وفي عيشتهم وتفاعلهم مع بيئتهم وتطبيقاتهم، وتشمل مجموعة واسعة من المجالات: بداية من التصنيع وحتى استكشاف الفضاء، ومن الإجراءات الطبية إلى تنظيف المنزل، ومن الترفيه إلى المهام العسكرية.
وتتمثَّل الميزة الرئيسة للروبوتية في قدرتها على أداء المهام المتكرِّرة بدرجة عالية من الدقة الإتقان، حيث يمكن أن تعمل الروبوتات بلا تعب وبدون أخطاء؛ مما يجعلها مثالية للقيام بالمهام الخطرة أو التي يصعُب على البشر القيام بها.
على سبيل المثال، في العمليات المصنعية يتم استخدام الروبوتات لأداء بعض المهام مثل: اللحام والطلاء وتجميع المُنتَجات، وفي المجال الطبي يتم استخدام الروبوتات لإجراء العمليات الجراحية بدقة أكبر، وفي استكشاف الفضاء يتم استخدام الروبوتات لاستكشاف ودراسة الكواكب البعيدة.
لمعرفة المزيد من المعلومات عن الروبوتية، قم بالاطّلاع على الرابط التالي:
الروبوتية والمُحاكِيات (Robotics and Simulators)
المُحاكي (Simulator)
برنامج يسمح للمطوِّرين باختبار تصميماتهم وخوارزمياتهم وتحسينها في عالم افتراضي قبل بِناء الروبوتات الماديَّة.
هناك تحديان مهمان في مجال الروبوتية هما: التكلفة والوقت اللازمان لبناء أجهزة الروبوت الماديَّة واختبارها، وهنا يأتي دور المُحاكيات (Simulators) التي يتم استخدامها على نطاق واسع في أبحاث الروبوتية وتعليمها وصناعتها؛ لأنها توفِّر طريقة فعَّالة من حيث التكلفة، كما أنها آمنة لاختبار الروبوتات وتجربتها، حيث تتيح المُحاكيات للمطوِّرين إنشاء بيئات افتراضي تُحاكي سيناريوهات العَالَم الحقيقي؛ مما يسمح لهم باختبار قدرات الروبوتات وأدائها في مجموعة متنوعة من المواقف، ويمكِنها محاكاة مختلف الظروف الجوية والتضاريس والعقبات التي قد تواجهها الروبوتات في العَالَم الحقيقي.
كما يمكِن للمُحاكِيات أن تُحاكي التفاعلات بين الروبوتات المتعدِّدة وبين الروبوتات والبشر؛ مما يسمح للمطوِّرين بدراسة وتحسين الطرائق التي تتفاعل بها الروبوتات مع بيئتها.
وهناك ميزة أخرى للمُحاكِيات تتمثَّل في أنها تسمح للمطوِّرين بتعديل تصاميم وخوارزميات الروبوتات المختلفة، واختبارها بسهولة دون الحاجة على مكوِّنات مادية حاسوبية باهظة الثمن؛ حيث تسمح بالتكرار والتجريب بطريقة أسرع؛ مما يؤدي إلى دورات تطوير أكثر سرعة وتصميمات أكثر كفاءة.
وبوجه عام، تعدُّ الروبوتية مجالًا سريع النمو يتضمن مجموعة واسعة من التطبيقات والمُحاكِيات التي تعلب دورًا مهمًّا في تطوير الروبوتات عن طريق السماح للمطوِّرين باختبار تصاميم الروبوتات وخوارزمياتها، وتحسينها بطريقة آمنة وغير مكلفة، ومع استمرار تقدُّم التقنية، فمن المتوقَّع أن تنمو تطبيقات الروبوتية واستخدام المُحاكِيات؛ مما يمهِّد الطريق لعَالَم أكثر أتمتةً وترابطًا.
ويبوتس (Webots)
ويبوتس أداة برمجية قوية يمكِن استخدامها في محاكاة الروبوتات وبيئاتها، وهي منصة ممتازة تستحق إدخالها في عَالَم الروبوتات والذكاء الاصطناعي، حيث يستطيع الطلبة تصميم الأنظمة والخوارزميات الروبوتية ومحاكاتها واختبارها باستخدام هذه الأداة، دون الحاجة إلى معدات حاسوبية باهظة الثمن.
يعدُّ استخدام أداة ويبوتس في الذكاء الاصطناعي مفيدًا بشكل خاص؛ لأنها تتيح للطلبة تجربة خوارزميات تعلُّم الآلة واختبار أدائها في بيئة تعتمد على المُحاكاة، فمن خلال إنشاء روبوتات وبيئات افتراضية يستطيع الطلبة أن يستكشفوا إمكانيات وقيود الذكاء الاصطناعي، وأن يتعلَّموا كيفية برمجة الأنظمة الذكية التي يمكِنها اتّخاذ القرارات بناءً على بيانات الزمن الواقعي.
يمكِنك تنزيل أداة ويبوتس من الرابط التالي:
https://github.com/cyberbotics/webots/releases/download/R2023a/webots-R2023a_setup.exe

التطبيقات الروبوتية 1
مراقبة المنطقة (Area Surveillance)
في هذا الموضوع والموضوع التالي ستستخدِم أداة ويبوتس لعمل محاكاة لطائرة مسيَّرة تحلِّق فوق أحد المنازل، ثم ستقوم بترقيتها لتكتشف الحدود البشرية كمُراقِبة، حيث تتكون المُحاكاة من طائرة مسيَّرة تُقلع من وضع السكون على الأرض وتبدأ في الدوران حول المنزل.
وفي الموضوع التالي، ستقوم بإضافة ميزة رؤية الحاسب للطائرة المُسيَّرة باستخدام الكاميرا الخاصة بها باستخدام مكتبة أوبن سي في (OpenCV)، وهذا سيمكِّنك من تحليل الصور التي التقطتها الكاميرا.
يتم التحكُّم في الطائرة المُسيَّرة بواسطة نص برمجي بلغة البايثون وهو مسؤول عن التحكُّم في جميع الأجهزة المُسيَّرة بما فيها محركات المراوح والكاميرا ونظام تحديد المواقع العالمي (Global Positioning System – GPS) وما إلى ذلك، كما أنه يحتوي على مقطع برمجي لمزامنة جميع المُحركات لتحريك الطائرة المُسيَّرة إلى نقاط الطريق (Waypoint) المتنوعة وجعلها مستقرة في الهواء.
نقطة الطريق (Waypoint)
نقطة الطريق هي موقع جغرافي محدَّد في فضاء ثلاثي الأبعاد تتم برمجة الطائرة المُسيَّرة لتطير إليها أو تمر من خلالها.
ويتم استخدام نقاط الطريق لإنشاء مسارات طيران معرَّفة سابقًا لتتبعها الطائرات المُسيَّرة، ويمكِن ضبطها باستخدام إحداثيات نظام تحديد المواقع العالمي أو أنظمة أخرى قائمة على المواقع.

التطبيقات الروبوتية 1
البدء مع ويبوتس (Starting with Webots)
ستتعرَّف في هذا الموضوع على أداة ويبوتس وبيئتها، حيث تتكوَّن محاكاة ويبوتس من عنصرين:
- التعريف بروبوت واحد أو أكثر وبيئاتها في ملف عَالَم ويبوتس (Webots World).
- برنامج متحكِّم واحد أو أكثر للروبوتات المذكورة.
عَالَم ويبوتس (Webots World) هو وصف ثلاثي الأبعاد لخصائص الروبوت، حيث يتم تعريف كل كائن بما في ذلك موقعه، واتجاهه، وهندسته، ومظهره مثل: لونه أو سطوعه، وخصائصه المادية، ونوعه وما إلى ذلك، كما يمكِن أن تحتوي الكائنات على كائنات أخرى في الأنظمة الهرمية التي تُشكل العوالم.
على سبيل المثال، قد يحتوي الروبوت على عجلتين، ومستشعر مسافة، ومفصل يحتوي على كاميرا، ونحوها.
يحدِّد ملف العَالَم (World File) فقط اسم المُتحكِّم اللازم لكل روبوت، ولا يحتوي على المقطع البرمجي للمُتحكِّم (Controller) في الروبوتات، ويتم حفظ العوالم في ملفات بتنسيق “.wbt”، ويحتوي كل مشروع ويبوتس على مجلد فرعي بعنوان worlds (العَوالِم) يتم تخزين الملفات فيه بتنسيق “.wbt”.
متحكِّم ويبوتس (Webots Controller) هو برنامج حاسب يتحكم في روبوت محدَّد في ملف العَالَم، ويمكن استخدام أي لغة من لغات البرمجة التي يدعمها ويبوتس لتطوير المتحكِّم مثل: لغة سي بلس بلس (C++) ولغة جافا (Java)، ولكنك ستستخدِم في هذا المشروع لغة البايثون.
يُطلِق ويبوتس كل برنامج من برامج المُتحكِّم المُعطاة كعملية منفصلة عندما تبدأ المُحاكاة، ويقوم بربط عمليات المُتحكِّم بالروبوتات التي تمت محاكاتها، وعلى الرغم من أن العديد من الروبوتات يمكِنها مشاركة المقطع البرمجي نفسه لبرنامج المُتحكِّم، إلا أن كل روبوت سيشغِّل العملية الخاصة به.
يتم تخزين مصدر كل برنامج متحكِّم وملفاته الثنائية معًا في مجلد المُتحكِّم (Controller Directory)، حيث يحتوي كل مشروع ويبوتس على مجلد متحكِّم داخل المجلد الفرعي الذي يتخذ اسم controllers (المُتحكِّمات).
بيئة الويبوتس (The Webots Environment)
عندما تفتح البرنامج، ستلاحظ عدة حقول ونوافذ، حيث تشمل المُكوِّنات لواجهة ويبوتس ما يلي:
- شريط القائمة (Menu Bar)
يقع في الجزء العلوي من الواجهة، ويوفر شريط القوائم إمكانية الوصول إلى أوامر وخيارات متنوعة للعمل على المحاكاة، مثل: إنشاء نموذج روبوت أو استيراده، وتهيئة بيئة المحاكاة، وتشغيل عمليات المحاكاة.
- شريط الأدوات (Toolbar)
هو مجموعة من الأزرار الموجودة أسفل شريط القائمة، ويوفر الوصول السريع إلى الوظائف المُستخدَمة بشكل متكرِّر، مثل: إضافة كائنات إلى المشهد، وبدء المحاكاة وإيقافها، وتغيير عرض الكاميرا.
- شجرة المشهد (Scene Tree)
هي تمثل هرمي للكائنات في بيئة المحاكاة، حيث تتيح للمُستخدِمين التنقُّل في المشهد والتعامل معه، مثل: إضافة أو حذف الكائنات، وتغيير خصائص الكائن، وتجميع الكائنات وإدارتها بشكل أسهل.
- محرِّر الحقل (Field Editor)
هو واجهة رسومات لتحرير خصائص الكائنات في بيئة المحاكاة، حيث يمكِن للمُستخدِمين استخدامه لضبط معامِلات الكائن، مثل: موضعه، اتجاهه، حجمه، مادته، وخصائصه الفيزيائية.
- نافذة ثلاثية الأبعاد (3D Window)
هي نافذة العرض الرئيس لبيئة المحاكاة، وتعرض الكائنات وتفاعلاتها في فضاء ثلاثي الأبعاد، حيث يمكِن للمُستخدِمين التنقُّل في النافذة الثلاثية الأبعاد باستخدام عناصر تحكُّم الكاميرا المختلفة، مثل: التحريك، والتكبير أو التصغير، والتدوير.
- محرِّر النص (Text Editor)
هو أداة لتحرير مصدر المقطع البرمجي أو الملفات النصيَّة الأخرى المُستخدَمة في المحاكاة، ويقدِّم تمييزًا لبناء الجمل (Syntax Highlighting) وخصائص مفيدة أخرى لكتابة المقاطع البرمجية وتصحيحها (Debugging)، مثل: الإكمال التلقائي (Auto-Completion) وإبراز الأخطاء (Error Highlighting).
- وحدة التحكم (Console)
هي نافذة تعرض مخرَجات قائمة على النصّ من المحاكاة، بما في ذلك رسائل الخطأ ومعلومات التصحيح، وهي مفيدة في استكشاف الأخطاء التي تحدث أثناء المحاكاة وإصلاحها.
أولًا عليك أن تقوم بتثبيت المكتبات اللازمة التي ستستخدِمها في مشروعك، يمكِنك تثبيت مكتبة أوبن سي في (OpenCV) عن طريق باي تشارم (PyCharm).
لتنصيب مكتبة أوبن سي في (OpenCV):
- في نافذة PyCharm (باي تشارم)، اضغط على Packages (حِزم).
- اكتب “opencv” (أوبن سي في) في شريط البحث.
- اختر opencv-python (أوبن سي في- بايثون).
- ثم اضغط على install (تثبيت).
- ستظهر لك رسالة تخبرك باكتمال التنصيب.
بإمكانك مراجعة محتوى موضوع “التطبيقات الروبوتية 1” من بدايته وحتى هذا القسم، من خلال الرابط التالي:
فتح عَالَم ويبوتس
دعونا نلقي نظرة على المشروع، أولًا: عليك أن تبحث عن ملف عَالَم ويبوتس وتقوم بتحميله.
لفتح عَالَم ويبوتس:
- من Menu bar (شريط القائمة)، اضغط على File (ملف)، ثم على Open World (افتح عَالَم.
- ابحث عن ملف wbt (الطائرة المُسيَّرة_العَالَم) في مجلد worlds (العَوالِم).
- ثم اضغط على Open (فتح).
بعدها افتح ملف النصّ البرمجي بلغة البايثون الذي سيستخدَم في التحكُّم في الطائرة المُسيَّرة.
لفتح النصّ البرمجي للمُتحكِّم:
- اضغط على File (ملف)، ثم Open Text File (افتح ملف نصّي) من شريط القائمة.
- ابحث عن ملف py (مُتحكِّم_الطائرة المُسيَّرة) في مجلد controllers (المُتحكِّمات) ثم مجلد drone_controller (مُتحكِّم_الطائرة المُسيَّرة).
- ثم اضغط على Open (فتح).
موضع الكائن ودورانه (Object Position and Rotation)
يتم استخدام الإحداثيات ثلاثية الأبعاد X وY وZ لتمثيل موضع كائن في الفضاء، حيث يمثِّل X المحور الأفقي، وY المحور الرأسي، وZ محور العمق، وتشبه الإحداثيات العَالَم الحقيقي لخط العرض وخط الطول والارتفاعات المُستخدَمة لوصف المواقع على الأرض.
الانحدار (Pitch) والالتفاف (Roll) والانعراج (Yaw) توجيهات دورانية يمكِن استخدامُها لوصف حركة كائن ما بالنسبة للإطار المرجعي كما يظهر في الشكل 6.11، فالانحدار (Pitch) هو دوران الكائن حول محوره X؛ مما يجعله يميل لأعلى أو لأسفل بالنسبة للمستوى الأفقي، أما الالتفاف (Roll) فهو دوران الكائن حول محوره Y؛ مما يجعل الجسم يميل جانبًا أو من جانب إلى آخر، والانعراج (Yaw) هو دوران الكائن حول محوره Z؛ مما يجعل الجسم يلتف إلى اليسار أو اليمين بالنسبة للإطار المرجعي.
يمكِن استخدام هذه القيم الست معًا (Z، Y، X، الانحدار، الالتفاف، الانعراج) لوصف موضع كائن في الفضاء ثلاثي الأبعاد واتّجاهه، حيث يتم استخدامها بشكل شائع في الروبوتات، وأنظمة الملاحة، والتطبيقات الأخرى التي تتطلَّب تحديد المواقع والتحكُّم بدقة.
أجهزة الطائرة المُسيَّرة (Drone Devices)
تم تجهيز الطائرة المُسيَّرة (Drone) بعدة مستشعرات (Sensors) تتيح لها أن تجمع المُدخَلات من بيئتها، ويوفِّر المُحاكي الدّالتين getDevice() وenable() للتفاعل مع المُستشعرات والمُشغِّلات (Actuators) المختلفة لروبوت المُحاكاة.
يتم استخدام دالة getDecive() للحصول على قراءات جهاز مثل: المُستشعر أو المُشغِّل من نموذج روبوت ويبوتس، وتأخذ معامِلًا نصيًّا وتحدِّد اسم الجهاز المراد الوصول إليه.
يتم استخدام الدالة enable() لتنشيط جهاز، بحيث يمكِنه البدء في تقديم البيانات أو تنفيذ إجراء محدَّد.
يمكِن لوحدة القياس بالقصور الذاتي (Inertial Measurement Unit – IMU) قياس التسارع الخطي للطائرة المُسيَّرة وسرعتها الزاويّة، وقياس القوى، مثل: الجاذبية، بالإضافة إلى قوى الدوران المؤثرة على الطائرة المُسيَّرة، كما يمكِنها أن توفِّر معلومات عن وضع الطائرة المُسيَّرة (الانحدار، والالتفاف، والانعراج)، وهو أمر بالغ الأهمية لتحقيق الاستقرار والتحكُّم.
نظام تحديد المواقع العَالَمي (Global Positioning System – GPS) هو نظام ملاحة يعتمد على القمر الصناعي ويوفِّر للطائرة المُسيَّرة معلومات دقيقة عن المواقع، ويمكِّن نظام تحديد المواقع العَالَمي الطائرة المُسيَّرة من معرفة موقعها الحالي وارتفاعها وسرعتها بالنسبة إلى الأرض، وهذه المعلومات مهمة؛ للتنقُّل والتحكُّم في الطائرة المُسيَّرة.
المُستشعرات (Sensors)
هي أجهزة تكشف الكميات الفيزيائية أو الأحوال البيئية وتقسيمها، وتحوّلها إلى إشارة كهربائية للمراقبة أو التحكُّم.
المُشغِّلات (Actuators)
هي أجهزة تحوِّل الإشارات الكهربائية إلى حركة ميكانيكية لأداء عمل معيَّن أو مهِمَّة معيَّنة.
بينما تقيس السرعة الخطية المسافة التي يقطعها الجسم خلال الثانية، فإن السرعة الزاوية تقيس سرعة دوران الجسم حول نقطة مركزية أو محور، حيث تقيس مقدار التغيُّر في الزاوية المركزية لجسم خلال وحدة الزمن، وعادةً ما تُقاس بالراديان في الثانية (s/rad) أو الدرجات في الثانية (s/° ).
الجيروسكوب (Gyroscope)
هو مستشعر يقيس السرعة الزاويَّة، أو معدل الدوران حول محور معيَّن، ويعدُّ الجيروسكوب مفيدًا بشكل خاص في اكتشاف التغيُّرات الصغيرة في اتّجاه الطائرة المُسيَّرة وتصحيحها، وهو أمر مهم للحفاظ على الاستقرار والتحكُّم أثناء الطيران.
كاميرا الطائرة المُسيَّرة (Drone’s Camera) يتم استخدامها لالتقاط الصور أثناء الطيران، ويمكِن تثبيتها على الطائرة المُسيَّرة بحيث تتمكَّن من التقاط صور من جهات وزوايا مختلفة عن طريق ضبط زاوية انحدار الكاميرا (Camera Pitch) باستخدام الدالة setPosition ().
وفي هذا المشروع، تم ضبط الموقع على 0.7 أي حوالي 45 درجة بالنظر إلى الأسفل.
أجهزة المروحيات الأربعة (Four Propeller) في الطائرة المُسيَّرة هي مشغِّلات تتحكَّم في سرعة دوران المروحية الرباعية (Quadcopter) واتجاهها، وهي طائرات مسيَّرة مجهزة بأربعة دوَّارات (Rotors)، اثنان منهما يدوران في اتّجاه عقارب الساعة والاثنان الآخران يدوران عكس اتجاهها، حيث يولِّد دوران هذه الدوَّارات قوة رفع (Lift) ويسمح للطائرة المُسيَّرة بالإقلاع والمناورة في الهواء.
وكما هو الحال مع باقي الأجهزة، تُسترد المحرِّكات وتوضع في موضعها، ويتم استخدام الدالة setVelocity() كذلك لضبط السرعة الأولية للأجهزة المروحية.
التحرُّك نحو الهدف (Moving to a Target)
للانتقال من موقع إلى آخر، تستخدِم الطائرة المُسيَّرة دالة move_to_target() التي تحتوي على منطق التحكُّم (Control Logic)، حيث تأخذ قائمة الإحداثيات كمُعامِل، في شكل أزواج [X,Y]؛ لاستخدامها كنقاط طريق.
في البداية، تتحقق الدالة ممّا إذا تمّت تهيئة (Initialized) الموضع المُستهدَف (Target Position) أم لا، وفي تلك الحالة تضبطه على نقطة الطريق الأولى، ثم تتحقق مما إذا كانت الطائرة المُسيَّرة قد وصلت إلى الموضع المُستهدف بالدقَّة المُحدَّدة في المُتغيِّر target_precision.
وإذا كان الأمر كذلك، تنتقل الدالة إلى نقطة الطريق المُستهدَفة التالية.
ويجب حساب الزاوية بين الموضع الحالي للطائرة المُسيَّرة وموضعها المُستهدَف؛ لمعرفة مدى قوة الدوران التي يجب أن تكون عليه في الخطوة التالية، حيث تمت معايرة هذه القيمة وضبطها على النطاق [-π, π].
وبعد ذلك، تقوم الدالة بحساب اضطرابات الانعراج والانحدار المطلوبة لتوجيه الطائرة المُسيَّرة نحو نقطة الطريق المُستهدَفة وضبط زاوية انحدار الطائرة المُسيَّرة على التوالي.
حسابات المحرِّكات (Motor Calculations)
أخيرًا، يجب حساب السرعة التي تضبط بها المحرِّكات (Motors)، وذلك بقراءة القيم المبدئية للمُستشعرات، أي قراءة: قيم الالتفاف والانحدار، والانعراج من وحدة القياس بالقصور الذاتي، ويتم الحصول على قيم مواضع X وY وZ من نظام تحديد المواقع العَالَمي، بينما يتم الحصول على قيم تسارع الالتفاف والانحدار من الجيروسكوب.
ويتم استخدام الثوابت (Constants) المختلفة التي تم تعريفها في المقطع البرمجي مسبقًا لإجراء الحسابات والتعديلات بالتزامن مع مدخَلات المُستشعرات، وفي النهاية يتم ضبط الدفع (Thrust) الصحيح.
معلومة
يمكِن للمروحية أن تتحرك في أي اتّجاه وأن تحافظ على طيرانها مستقرًا من خلال التحكُّم في سرعة المروحيات الأربع واتّجاهها، فعلى سبيل المثال، عند زيادة سرعة الدوَّارين الموجودين على جانب واحد وتقليل سرعة الدوَّارين الآخرين، فإن الطائرة المُسيَّرة باستطاعتها الميلان والتحرُّك في اتّجاه معيَّن.
بإمكانك مراجعة محتوى موضوع “التطبيقات الروبوتية 1” بدايةً من عنوان “فتح عالم ويبوتس” وحتى هذه النقطة، من خلال الرابط التالي:

التطبيقات الروبوتية 1

التطبيقات الروبوتية 1
حان الوقت لإدراج النصّ البرمجي في الطائرة المُسيَّرة وتشغيل المُحاكاة.
لإدراج برنامج المُتحكِّم وتشغيل المُحاكاة:
- من Scene tree (شجرة المشهد)، اضغط على Mavic2Pro “Mavic 2 Pro”.
- ثم اضغط على controller “mavic2pro_patrol”.
- من Field editor (محرِّر الحقل)، اضغط على … Select (اختيار).
- حدِّد drone_controller (متحكِّم_الطائرة المُسيَّرة).
- ثم اضغط على OK (موافق).
- من Toolbar (شريط الأدوات)، اضغط على Run the simulation in real-time (شغّل المحاكاة بشكل فوري).
لاحظ أن
عند إجراء تغييرات على النصوص البرمجية، لا تنسَ أن تضغط على Ctrl + S.
عندما تبدأ المُحاكاة، ستعمل محركات الطائرة المُسيَّرة وستُقلع، ثم ستتبع الطريق المحدَّدة مسبقًا حول المنزل، وتمر عبر نقاط الطريق.
بإمكانك مراجعة محتوى موضوع “التطبيقات الروبوتية 1” بدايةً من النص البرمجي لحركة الطائرة المُسيَّرة وحتى نهاية الموضوع، من خلال الرابط التالي:
إلى هنا يكون قد انتهى موضوع “التطبيقات الروبوتية 1“، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!