Skip to main content

الدرس 1: ما هي الخوارزمية ؟

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

مخرجات التعلم

  • حدد أن الخوارزميات تتكون من التسلسل والاختيار والتكرار (الحلقات).
  • حدد أن الخوارزميات هي تسلسلات دقيقة من التعليمات، يتم تنفيذها باستخدام لغات البرمجة، للعمليات التي سيتم تنفيذها بواسطة روبوت الواقع الافتراضي.

الخوارزميات

الخوارزميات هي تسلسلات دقيقة من التعليمات، يتم تنفيذها باستخدام لغات البرمجة، مثل VEXcode VR Python، للعمليات التي سيتم تنفيذها بواسطة روبوت VR.

العناصر الأساسية للخوارزمية هي التسلسل والاختيار والتكرار.

  • التسلسل - الترتيب الذي يتم به دمج السلوكيات والأوامر في مشروع من أجل تحقيق النتيجة المرجوة.     
  • الاختيار  - استخدام العبارات الشرطية في المشروع. تؤثر العبارات الشرطية، مثل إذا أو إذا كان وإلا ، على سير المشروع.
  • التكرار - غالبًا ما تستخدم الخوارزميات التكرار لتنفيذ الخطوات لعدد معين من المرات، أو حتى يتم استيفاء شرط معين. يُعرف هذا أيضًا باسم "التكرار الحلقي". يمكن أن يغير التكرار تدفق المشروع عن طريق تكرار سلوك عدد محدد من المرات أو حتى يتم استيفاء شرط.  

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

def main ():
	للقيمة في النطاق(3): 		 		للقيمة
		
		في النطاق(3):
			# 1. قم بالقيادة إلى القرص باستخدام مستشعر العين السفلي
			بينما لا يكون down_eye.near_object ():
				drivetrain.drive(للأمام)
				انتظر(5، مللي ثانية
			) 			drivetrain.stop ()
			
			# 2. التقط مغناطيس القرص.
			قم بتنشيط (تعزيز)
			
			رقم 3. القيادة إلى المرمى باستخدام مستشعر المسافة
			drivetrain.turn_to_heading(180، درجة)
			بينما front_distance.get_distance(MM) > 200:
				drivetrain.drive(للأمام)
				انتظر(5، مللي ثانية
			) 			drivetrain.stop ()
			
			# 4. إسقاط القرص في الهدف
			magnet.energize(إسقاط)
			drivetrain.drive_for(عكس، 100، مم)
			
			# 5. انتقل إلى مواجهة القرص التالي drivetrain.turn_to_heading
			(0، درجة)
			انتظر(5، مللي ثانية)
			
		# 6. قم بالدوران والقيادة إلى الهدف التالي drivetrain.turn_to_heading
		(90 درجة) drivetrain.drive_for
		(إلى الأمام، 800، مم)
		
		# 7. انتقل إلى الأقراص
		drivetrain.turn_to_heading(0، درجة)
		
	انتظر(5، مللي ثانية)

التسلسل

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

الاختيار

يتضمن هذا المشروع أيضًا اختيارًا يحدد أجزاء المشروع التي يتم تشغيلها بناءً على ظروف المستشعر. أولاً، يتم استخدام مستشعر العين السفلية لتحديد متى يكون روبوت الواقع الافتراضي بالقرب من القرص، بحيث يمكن التقاط القرص. بعد ذلك، يتم استخدام مستشعر المسافة لتحديد متى يتجاوز روبوت الواقع الافتراضي الهدف، بحيث يمكن إسقاط القرص.  يتضمن مقتطف التعليمات البرمجية من الوحدة 8 اثنين من الظروف المميزة التي تتحكم في حركة الروبوت بناءً على قراءات المستشعر. الشرط الأول المميز، على الرغم من أنه ليس down_eye.near_object ()، يوجه الروبوت للقيادة للأمام حتى يكتشف مستشعر العين السفلي كائنًا قريبًا، مما يسمح له بالاقتراب من القرص قبل التوقف. الشرط الثاني المميز، في حين أن front_distance.get_distance (MM) > 200، يوجه الروبوت للقيادة إلى الأمام حتى يكون على بعد 200 ملم من الهدف، باستخدام مستشعر المسافة الأمامية لقياس القرب. تخلق هذه الظروف حلقات تجعل الروبوت يتوقف فقط عند استيفاء كل حالة مستشعر محددة.

في الحلقة الأولى بينما ، يعتمد اختيار الأوامر التي سيتم تشغيلها على قيم المستشعر التي تم الإبلاغ عنها بواسطة مستشعر العين السفلية.

  • في حين لم يتم اكتشاف أي كائن، فإن روبوت الواقع الافتراضي سوف يتقدم للأمام.
  • أثناء اكتشاف كائن، سيتوقف روبوت الواقع الافتراضي.

في الحلقة الثانية بينما ، يعتمد اختيار الأمر الذي سيتم تشغيله على قيم المستشعر المبلغ عنها بواسطة مستشعر المسافة.

  • في حين أن المسافة المبلغ عنها أكبر من 200 ملليمتر (مم)، فإن روبوت الواقع الافتراضي سيتقدم للأمام.
  • في حين أن المسافة المبلغ عنها أقل من 50 ملم (مم)، فإن روبوت الواقع الافتراضي سيتوقف عن القيادة وينتقل إلى الجزء التالي من المشروع لتنشيط المغناطيس الكهربائي.

التكرار

يستخدم المشروع التكرار، أو "الحلقات"، لتكرار الإجراءات والتحقق بشكل متكرر من قيم المستشعر المبلغ عنها. يحتوي هذا المشروع على حلقات متداخلة – حلقة واحدة حتى يتمكن روبوت الواقع الافتراضي من جمع جميع الأقراص الثلاثة من لون واحد ؛ وحلقة ثانية لتكرار هذه العملية لجمع جميع الأقراص في الملعب. يستخدم الرمز حلقتين متداخلتين للتحكم في عملية جمع أقراص الروبوت. تتكرر الحلقة الخارجية، المسماة حلقة لجمع الأقراص من كل لون، من خلال كل لون قرص. داخله، تتكرر الحلقة الداخلية، المسماة Loop لجمع 3 أقراص من لون واحد، ثلاث مرات لجمع ووضع ثلاثة أقراص من اللون الحالي. يضمن هذا الإعداد أن يجمع الروبوت ثلاثة أقراص من كل لون قبل الانتقال إلى اللون التالي، مع تركيز كل تكرار حلقة على الجمع المنهجي والموضع.

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

الأسئلة

يرجى تحديد رابط أدناه للوصول إلى اختبار الدرس.

Google Doc / .docx / .pdf