في عالم التعليم الهندسي ، هناك العديد من الدورات التدريبية الممتازة ، ولكن غالبًا ما يكون للمناهج المبنية عليها عيبًا خطيرًا واحدًا - عدم وجود اتصال جيد بين الموضوعات المختلفة. يمكن للمرء الاعتراض: كيف ذلك؟
عند تشكيل برنامج تدريبي ، تتم الإشارة إلى الشروط الأساسية وترتيب واضح لدراسة التخصصات لكل دورة. على سبيل المثال ، من أجل تجميع وبرمجة روبوت متنقل بدائي ، تحتاج إلى معرفة القليل من الميكانيكا لإنشاء هيكلها المادي ؛ أساسيات الكهرباء على مستوى قوانين أوم / كيرشوف ، تمثيل الإشارات الرقمية والتناظرية ؛ العمليات باستخدام المتجهات والمصفوفات من أجل وصف أنظمة الإحداثيات وحركة الروبوت في الفضاء ؛ أساسيات البرمجة على مستوى عرض البيانات والخوارزميات البسيطة وهياكل نقل التحكم ، إلخ. لوصف السلوك.
هل كل شيء في الدورات الجامعية؟ بالطبع هناك. ومع ذلك ، لقوانين أوم / كيرشوف نحصل على الديناميكا الحرارية ونظرية المجال ؛ بالإضافة إلى العمليات مع المصفوفات وناقلات ، عليك أن تتعامل مع نماذج الأردن. لدراسة تعدد الأشكال في البرمجة - الموضوعات التي ليست هناك حاجة دائما لحل مشكلة عملية بسيطة.
التعليم الجامعي واسع النطاق - يمضي الطالب في مقدمة واسعة وغالبًا لا يرى المعنى والأهمية العملية للمعرفة التي يتلقاها. قررنا عكس نموذج التعليم الجامعي STEM (من عبارة "العلوم والتكنولوجيا والهندسة والرياضيات") وإنشاء برنامج يعتمد على تماسك المعرفة ، مما يتيح تراكم الاكتمال في المستقبل ، وهو ما ينطوي على تطوير مكثف للمواد الدراسية.
يمكن مقارنة دراسة موضوع جديد بدراسة منطقة معينة. وهنا يوجد خياران: إما أن يكون لدينا خريطة مفصلة للغاية تحتوي على كمية هائلة من التفاصيل التي تحتاج إلى دراستها (وهذا يستغرق الكثير من الوقت) لفهم مكان المعالم الرئيسية وكيفية ارتباطها ببعضها البعض ؛ أو يمكنك استخدام الخطة البدائية ، التي تُظهر فقط النقاط الرئيسية ومواضعها النسبية - مثل هذه الخريطة كافية للبدء فورًا في التحرك في الاتجاه الصحيح ، مع توضيح التفاصيل على طول الطريق.
لقد اختبرنا نهج التعلم المكثف STEM في المدرسة الشتوية ، والذي أجريناه مع طلاب معهد ماساتشوستس للتكنولوجيا بدعم من
JetBrains Research.إعداد المواد
كان الجزء الأول من البرنامج المدرسي هو أسبوع من الفصول الدراسية في المجالات الرئيسية ، والتي تضمنت الجبر والدوائر الكهربائية وهندسة الكمبيوتر وبرمجة بيثون ومقدمة إلى نظام التشغيل الروبوت (ROS).
لم يتم اختيار الاتجاهات عن طريق الصدفة: فتكمل بعضها البعض ، كان من المفترض أن تساعد الطلاب على رؤية العلاقة بين الأشياء التي تبدو مختلفة ، للوهلة الأولى ، الأشياء - الرياضيات والإلكترونيات والبرمجة.
بالطبع ، لم يكن الهدف الرئيسي هو إعطاء العديد من المحاضرات ، ولكن إعطاء الطلاب الفرصة لوضع المعرفة التي اكتسبوها للتو في ممارسة أنفسهم.
في قسم الجبر ، يمكن تدريب الطلاب على العمليات باستخدام المصفوفات وأنظمة حل المعادلات التي كانت مفيدة في دراسة الدوائر الكهربائية. التعرف على جهاز الترانزستور والعناصر المنطقية المبنية على أساسه ، يمكن للطلاب رؤية تطبيقهم في جهاز المعالج ، وبعد تعلم أساسيات لغة بيثون ، كتابة برنامج للروبوت الحقيقي عليه.

Duckietown
كانت إحدى مهام المدرسة تقليل العمل باستخدام أجهزة المحاكاة قدر الإمكان. لذلك ، تم إعداد مجموعة كبيرة من الدوائر الإلكترونية ، والتي اضطر الطلاب إلى تجميعها على اللوح من مكونات حقيقية واختبارها في الممارسة العملية ، وتم اختيار Duckietown كأساس للمشاريع.
Duckietown هو مشروع مفتوح المصدر يتضمن روبوتات صغيرة مستقلة ذاتيا تسمى Duckiebot ، وشبكة من الطرق التي يسافرون عبرها. Duckiebot هي عبارة عن منصة بعجلات مجهزة بحاسوب Raspberry Pi الصغير وكاميرا واحدة.
بناءً عليه ، قمنا بإعداد مجموعة من المهام المحتملة ، مثل إنشاء خريطة طريق ، والعثور على الأشياء والتوقف بجانبها ، وعدد آخر. يمكن للطلاب أيضًا اقتراح مشكلتهم الخاصة وليس فقط كتابة برنامج لحلها ، ولكن أيضًا تشغيله فورًا على روبوت حقيقي.
تعليم
خلال المحاضرة ، أخبر المعلمون المواد باستخدام العروض التقديمية المعدة مسبقًا. تم تسجيل بعض الفصول على الفيديو ، لذلك أتيحت للطلاب الفرصة لمشاهدتها في المنزل. خلال المحاضرات ، استخدم الطلاب مواد على أجهزة الكمبيوتر الخاصة بهم ، وطرح الأسئلة ، وحل المشكلات معًا وبشكل مستقل ، وأحيانًا في السبورة. بناءً على نتائج العمل ، تم حساب تصنيف كل طالب على حدة لموضوعات مختلفة.

النظر في إجراء دروس في كل موضوع بمزيد من التفصيل. وكان الموضوع الأول الجبر الخطي. درس الطلاب ليوم واحد المتجهات والمصفوفات وأنظمة المعادلات الخطية ، إلخ. تم بناء المهام العملية في وضع تفاعلي: تم حل المهام المقترحة بشكل فردي ، وقدم المعلم والطلاب الآخرون تعليقات ونصائح.

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

الموضوع التالي هو هندسة الكمبيوتر - بمعنى ما ، جسر يربط بين الفيزياء والبرمجة. درس الطلاب الأسس الأساسية ، وأهميتها أكثر نظريًا منها عملية. كممارسة ، قام الطلاب بتصميم دوائر منطقية للحساب بشكل مستقل في جهاز المحاكاة ، للحصول على النقاط التي حصلوا عليها.
اليوم الرابع هو اليوم الأول للبرمجة. تم اختيار Python 2 كلغة برمجة ، حيث يتم استخدامه في البرمجة تحت ROS. تم بناء هذا اليوم على النحو التالي: أخبر المعلمون المادة ، وقدموا أمثلة على حل المشكلات ، بينما استمع الطلاب إليهم ، وجلسوا على أجهزة الكمبيوتر ، وكرروا ما كتبه المعلم على السبورة أو الشريحة. ثم حل الطلاب مشكلات مماثلة من تلقاء أنفسهم ، وبعد ذلك تم تقييم الحلول من قبل المعلمين.
تم تخصيص اليوم الخامس لشركة ROS: تعرف اللاعبون على برامج الروبوتات. طوال اليوم المدرسي ، جلس الطلاب على أجهزة الكمبيوتر ، وقاموا بتشغيل رمز البرنامج الذي تحدث عنه المعلم. لقد تمكنوا من إطلاق الوحدات الأساسية لـ ROS بشكل مستقل ، كما تعرفوا على مشروع Duckietown. في نهاية هذا اليوم ، كان الطلاب على استعداد للبدء في تصميم جزء من المدرسة - حل المشاكل العملية.

وصف المشاريع المختارة
عرض على الطلاب الانضمام إلى فرق من ثلاثة أشخاص واختيار موضوع المشروع. نتيجة لذلك ، تم اعتماد المشاريع التالية:
1. معايرة اللون. يحتاج Duckiebot إلى معايرة الكاميرا عند تغيير ظروف الإضاءة ، لذلك هناك مهمة المعايرة التلقائية. المشكلة هي أن نطاقات الألوان حساسة للغاية للضوء. قام المشاركون بتنفيذ أداة من شأنها أن تسلط الضوء على الألوان المرغوبة على الإطار (الأحمر والأبيض والأصفر) ونطاقات النطاق لكل من الألوان بتنسيق HSV.
2. بطة تاكسي. فكرة هذا المشروع هي أن Duckiebot يمكن أن يتوقف بالقرب من بعض الأشياء ، ويستلمها ويتبع طريقًا معينًا. تم اختيار بطة صفراء زاهية ككائن.

3. بناء رسم بياني للطرق. هناك مهمة بناء رسم بياني للطرق والتقاطعات. الهدف من هذا المشروع هو بناء رسم بياني للطريق دون تقديم بيانات بيئية مسبقة لـ Duckiebot ، معتمداً فقط على بيانات الكاميرا.
4. سيارة دورية. تم اختراع هذا المشروع من قبل الطلاب أنفسهم. عرضوا تعليم دوكيبوت ، "الدورية" ، لمتابعة الآخر ، "المتسلل". لهذا الغرض ، تم استخدام آلية التعرف المستهدف بواسطة علامة ArUco. بمجرد اكتمال الاعتراف ، يتم إرسال إشارة اكتمال إلى "الدخيل".

معايرة اللون
كان الهدف من مشروع Color Calibration هو ضبط مجموعة ألوان التمييز المعروفة على ظروف الإضاءة الجديدة. بدون مثل هذه التعديلات ، أصبح التعرف على خطوط الإيقاف وفواصل الممرات وحدود الطريق غير صحيح. اقترح المشاركون حلاً يعتمد على قوالب ألوان التخطيط المسبق: الأحمر والأصفر والأبيض.
كل من هذه الألوان لديها مجموعة أولية من قيم HSV أو RGB. باستخدام هذا النطاق ، يتم العثور على جميع المساحات التي تحتوي على ألوان مناسبة على الإطار ، ويتم تحديد أكبر منها. هذه المنطقة هي اللون الذي يجب تذكره. ثم يتم استخدام الصيغ الإحصائية ، مثل حساب المتوسط والانحراف المعياري ، لتقييم نطاق الألوان الجديد.
تتم كتابة هذا النطاق إلى ملفات تكوين كاميرا Duckiebot ويمكن استخدامه لاحقًا. تم تطبيق النهج الموصوف على جميع الألوان الثلاثة ، والتي تشكل في النهاية نطاقات لكل من ألوان العلامات.
أظهرت الاختبارات تقديراً كاملاً تقريبًا لخطوط العلامات ، إلا في حالة استخدام شريط لامع كمواد وضع العلامات ، مما يعكس مصادر الإضاءة بقوة لدرجة أن العلامة تظهر في زاوية عرض الكاميرا بلون أبيض بغض النظر عن لونها الأصلي.

بطة تاكسي
تضمن مشروع Duck Taxi إنشاء خوارزمية بحث لبط الركاب في المدينة ، ثم نقلها إلى النقطة المطلوبة. قسم المشاركون هذه المهمة إلى قسمين: الكشف والحركة على طول الرسم البياني.
قام الطلاب باكتشاف البطة ، مع افتراض أن البطة تسمى أي منطقة على الإطار يمكن التعرف عليها باللون الأصفر ، مع وجود مثلث أحمر (منقار). بمجرد اكتشاف هذه المنطقة في الإطار التالي ، يجب على الروبوت الاقتراب منها ثم يتوقف لبضع ثوان ، محاكياً هبوط الركاب.
بعد ذلك ، بعد أن تم وضع مخطط بياني للطريق مُخزَّن مسبقًا لكامل منطقة الدكتة وموقع الروبوت ، بالإضافة إلى تلقي الوجهة كمدخلات ، يبني المشاركون طريقًا من نقطة المغادرة إلى نقطة الوصول باستخدام خوارزمية Dijkstra للبحث عن مسارات في الرسم البياني. يتم تقديم الإخراج كمجموعة من الأوامر - يتحول في كل من التقاطعات التالية.

رسم بياني للطرق
كان الهدف من هذا المشروع هو بناء رسم بياني - شبكة من الطرق في دكيتاون. العقد من الرسم البياني الناتج هي التقاطعات ، والأقواس والطرق. للقيام بذلك ، يجب على Duckiebot استكشاف المدينة وتحليل مسارها.
أثناء العمل في المشروع ، تم النظر في الفكرة ، ولكن بعد ذلك تم رفض فكرة إنشاء رسم بياني مرجح يتم فيه تحديد تكلفة الحافة حسب المسافة (وقت التغلب) بين التقاطعات. تبين أن تنفيذ هذه الفكرة مرهق للغاية ، ولن يكون هناك وقت كافٍ في إطار المدرسة.
عندما يصل Duckiebot إلى التقاطع التالي ، يختار الطريق الذي يترك التقاطع الذي لم ينتقل إليه بعد. عندما يتم تغطية جميع الطرق في جميع التقاطعات ، تبقى قائمة من التقاطع المتجاورة في ذاكرة الروبوت ، والتي يتم تحويلها إلى صورة باستخدام مكتبة Graphviz.
الخوارزمية التي اقترحها المشاركون ليست مناسبة ل Duckietown التعسفي ، لكنها عملت بشكل جيد في مدينة صغيرة تتكون من أربعة التقاطعات المستخدمة داخل المدرسة. كانت الفكرة تكملة كل تقاطع مع علامة ArUco التي تحتوي على معرف التقاطع من أجل تتبع التقاطع.
يظهر مخطط عمل الخوارزمية التي طورها المشاركون في الشكل.

سيارة دورية
الهدف من هذا المشروع هو البحث عن بوت متسلل في Duckietown ومحاكمته واحتجازه. يجب أن تتحرك دورية السير على طول الطريق الخارجي للطريق في المدينة بحثًا عن روبوت معروف معروف. بعد أن يتم اكتشاف الدخيل ، يجب أن تتبع بوت الدوريات الدخيل وتوقفه.
بدأ العمل بالبحث عن فكرة اكتشاف روبوت على الإطار والتعرف على المتسلل فيه. اقترح الفريق تزويد كل روبوت في المدينة بعلامة فريدة في الخلف - تمامًا مثل السيارات الحقيقية التي لها أرقام تسجيل حكومية. لهذا ، تم اختيار علامات ArUco. لقد تم استخدامها سابقًا في منطقة duckietown ، حيث يسهل عليك العمل معها وتسمح لك بتحديد اتجاه العلامة في المسافة والمسافة إليها.
بعد ذلك ، كان من الضروري جعل روبوت الدورية يتحرك بحزم في الدائرة الخارجية دون التوقف عند التقاطعات. بشكل افتراضي ، يتحرك Duckiebot في ممر ويتوقف عند خط التوقف. ثم ، باستخدام علامات الطريق ، يحدد تكوين التقاطع ويقوم باختيار اتجاه التقاطع. في كل خطوة من الخطوات الموضحة ، تكون إحدى ولايات جهاز حالة الروبوت مسؤولة. من أجل التخلص من نقاط التوقف عند التقاطع ، قام الفريق بتغيير آلة الحالة بحيث عند الاقتراب من خط التوقف ، انتقل الروبوت فورًا مباشرة إلى حالة مرور التقاطع.
والخطوة التالية هي حل مشكلة إيقاف بوت الدخيل. افترض الفريق أن روبوت الدوريات يمكنه الوصول إلى SSH إلى كل روبوت في المدينة ، أي أن لديه بعض المعلومات حول بيانات الترخيص وما هو معرف كل روبوت. وبالتالي ، بعد اكتشاف الدخيل ، بدأت روبوت الدوريات بالاتصال عبر SSH بروبوت الدخيل وأوقف تشغيل نظامه.
بعد التأكد من اكتمال أمر الإغلاق ، توقف روبوت الدوريات أيضًا.
يمكن تمثيل خوارزمية روبوت الدورية كالمخطط التالي:

عمل المشروع
تم تنظيم العمل بتنسيق مشابه لـ Scrum: كل صباح يخطط الطلاب للقيام بالمهام لليوم الحالي ، وفي المساء يتم الإبلاغ عن العمل المنجز.
في اليومين الأول والأخير ، أعد الطلاب العروض التقديمية التي تصف المهمة وكيفية حلها. لمساعدة الطلاب على اتباع خططهم المختارة ، في الغرف التي كانت تعمل فيها المشروعات ، كان هناك دائمًا مدرسون من روسيا وأمريكا يجيبون على الأسئلة. تم التواصل بشكل أساسي باللغة الإنجليزية.
النتائج ومظاهرهم
استمر العمل في المشاريع أسبوع واحد ، وبعد ذلك قدم الطلاب نتائجهم. قام الجميع بإعداد العروض التقديمية التي تحدثوا فيها عن ما تعلموه في هذه المدرسة ، وما هي أهم الدروس التي أحبوها أو لم يعجبهم. بعد ذلك ، قدم كل فريق مشروعهم. تعاملت جميع الفرق مع المهام.
قام الفريق الذي يقوم بتنفيذ معايرة الألوان بإكمال المشروع بشكل أسرع من الآخرين ، لذلك تمكنوا من إعداد الوثائق لبرنامجهم. وقد حاول الفريق المشارك في الرسم البياني للطرق ، حتى في اليوم الأخير قبل عرض المشروع ، وضع اللمسات الأخيرة على خوارزمياتهم وإصلاحها.

استنتاج
بعد المدرسة ، طلبنا من الطلاب تقييم الأنشطة السابقة والإجابة على أسئلة حول كيفية تلبية المدرسة لتوقعاتهم ، وما المهارات التي اكتسبوها ، إلخ. لاحظ جميع الطلاب أنهم تعلموا العمل في فريق ، وتوزيع المهام وتخطيط وقتهم.
كما طُلب من الطلاب تقييم فائدة الدورات وتعقدها. وهنا تم تشكيل مجموعتين من التقييمات: بالنسبة للبعض ، لم تكن الدورات صعبة للغاية ، في حين صنفها الآخرون على أنها الأصعب.
هذا يعني أن المدرسة قد اتخذت الموضع المناسب ، مع إمكانية الوصول إلى المبتدئين في منطقة معينة ، ولكنها توفر أيضًا مواد للتكرار والاندماج للطلاب ذوي الخبرة. تجدر الإشارة إلى أن الجميع تقريبا لاحظوا أن دورة البرمجة (بيثون) غير معقدة ولكنها مفيدة. الأكثر صعوبة ، وفقا للطلاب ، كانت دورة "هندسة الكمبيوتر".
عندما سئل الطلاب عن أوجه القصور والمزايا في المدرسة ، أجاب الكثيرون أنهم يحبون أسلوب التدريس المختار ، حيث قدم المعلمون على الفور مساعدة فردية وأجابوا عن الأسئلة.
لاحظ الطلاب أيضًا أنهم يحبون العمل في وضع التخطيط اليومي لمهامهم وتحديد المواعيد النهائية بشكل مستقل. لاحظ الطلاب عدم وجود المعرفة المقدمة ، والتي كانت مطلوبة عند العمل مع الروبوت: عند الاتصال ، وفهم أساسيات ومبادئ عملها على أنها أوجه قصور.
لاحظ جميع الطلاب تقريبًا أن المدرسة تجاوزت توقعاتهم ، وهذا يشير إلى الاتجاه الصحيح لتنظيم المدرسة. وبالتالي ، ينبغي الحفاظ على الأحكام العامة عند تنظيم المدرسة التالية ، مع مراعاة ، وإذا أمكن ، القضاء على أوجه القصور التي لاحظها الطلاب والمعلمون ، وربما تغيير قائمة الدورات أو وقت التدريس.
المؤلفون: فريق
مختبر خوارزميات روبوت المحمول من JetBrains Researchملاحظة: لدينا مدونة للشركات لها اسم جديد. الآن سيتم تخصيصها لمشاريع JetBrains التعليمية.