نظام نقل الحركة#
مقدمة#
يمتلك الروبوت 123 نظام دفع ثنائي العجلات يسمح له بالتحرك والانعطاف. وتتحكم وحدات نظام الدفع في كيفية تحرك الروبوت.
يمكن لنظام نقل الحركة قياس المسافة بطريقتين: الخطوات والمليمترات. الخطوة الواحدة تعادل مربعًا واحدًا على خريطة 123.
توجد طرق عديدة لبرمجة نظام نقل الحركة. فيما يلي قائمة بجميع مكونات نظام نقل الحركة:
الإجراءات — تحريك الروبوت وتدويره.
drive — يحرك الروبوت للأمام أو للخلف إلى الأبد.
drive for — يحرك الروبوت للأمام أو للخلف لمسافة محددة.
القيادة حتى — يحرك الروبوت للأمام أو للخلف حتى يكتشف جسمًا أو اصطدامًا أو خطًا.
turn — يقوم بتدوير الروبوت إلى اليسار أو اليمين إلى الأبد.
turn for — يقوم بتدوير الروبوت إلى اليسار أو اليمين لعدد محدد من الدرجات.
استدارة إلى اتجاه — يُدير الروبوت ليواجه اتجاهًا محددًا من -359 إلى 359 درجة. سيسلك الروبوت أقصر مسار للوصول إلى الاتجاه المستهدف.
توقف عن القيادة — يوقف حركة الروبوت.
الإعدادات — ضبط إعدادات نظام نقل الحركة.
set drive timeout — يحدد عدد الثواني التي سيحاول فيها الروبوت إنهاء الحركة.
set drive heading — يغير اتجاه الروبوت الحالي إلى اتجاه جديد.
القيم — تحقق من حالة الحركة.
تم الانتهاء من القيادة — يشير إلى ما إذا كان الروبوت قد انتهى من الحركة.
اتجاه القيادة — يُبلغ عن اتجاه الروبوت الحالي من 0 إلى 359 درجة.
الإجراءات#
يقود#
تقوم كتلة drive بتحريك الروبوت للأمام أو للخلف بشكل مستمر. سيستمر الروبوت في الحركة حتى يتم إعطاؤه إجراءً آخر، مثل الانعطاف أو التوقف.
تشغيل [للأمام v]
حدود |
وصف |
|---|---|
اتجاه |
اتجاه حركة الروبوت: إلى الأمام أو إلى الخلف. |
مثال
عند البدء
[Drive for 2 seconds.]
تشغيل [للأمام v]
انتظر (2) ثانية
إيقاف القيادة
القيادة من أجل#
تقوم كتلة drive for بتحريك الروبوت للأمام أو للخلف لمسافة محددة. سينتظر البرنامج حتى ينتهي الروبوت من الحركة قبل تشغيل الكتلة التالية في المجموعة.
تشغيل [للأمام v] لمسافة (1) [خطوات v]
حدود |
وصف |
|---|---|
اتجاه |
اتجاه حركة الروبوت: إلى الأمام أو إلى الخلف. |
مسافة |
المسافة التي يقطعها الروبوت. يمكن أن تكون هذه المسافة عددًا صحيحًا أو عددًا عشريًا. |
وحدة |
وحدة قياس المسافة: خطوات أو مم. |
مثال
عند البدء
[Drive back and forth.]
تشغيل [للأمام v] لمسافة (3) [خطوات v]
تشغيل [للخلف v] لمسافة (3) [خطوات v]
استمر بالقيادة حتى#
تقوم كتلة drive until بتحريك الروبوت للأمام حتى يكتشف مستشعر العين جسمًا أو اصطدامًا أو خطًا.
تحرك للأمام حتى [كائن v]
حدود |
وصف |
|---|---|
حالة |
الشرط الذي يُوقف الروبوت:
|
مثال
عند البدء
[Reverse after a crash.]
تحرك للأمام حتى [تصادم v]
تشغيل [للخلف v] لمسافة (1) [خطوات v]
دور#
تقوم كتلة الدوران بتدوير الروبوت يمينًا أو يسارًا بشكل دائم. سيستمر الروبوت في الدوران حتى يتم إعطاؤه إجراءً آخر، مثل القيادة أو التوقف.
استدر [يمين v]
حدود |
وصف |
|---|---|
اتجاه |
اتجاه دوران الروبوت: يسار أو يمين. |
مثال
عند البدء
[Turn for 2 seconds.]
استدر [يمين v]
انتظر (2) ثانية
إيقاف القيادة
استدر لـ#
تقوم كتلة turn for بتدوير الروبوت يمينًا أو يسارًا بزاوية محددة. ويكون الدوران نسبيًا لموقع الروبوت الحالي. سينتظر البرنامج حتى ينتهي الروبوت من الدوران قبل تنفيذ الكتلة التالية في المكدس.
استدر [يمين v] بمقدار (90) درجة
حدود |
وصف |
|---|---|
اتجاه |
اتجاه دوران الروبوت: يسار أو يمين. |
زاوية |
عدد الدرجات التي يدور بها الروبوت. يمكن أن يكون هذا عددًا صحيحًا أو عددًا عشريًا. |
مثال
عند البدء
[Turn left, then turn around to the right.]
استدر [يسار v] بمقدار (90) درجة
استدر [يمين v] بمقدار (180) درجة
انعطف إلى العنوان#
الاتجاه هو المسار الذي يواجهه الروبوت، ويُقاس بالدرجات. تقوم كتلة الانعطاف إلى اتجاه بتوجيه الروبوت نحو اتجاه محدد من -359 إلى 359 درجة. سيسلك الروبوت أقصر مسار للوصول إلى الاتجاه المستهدف.
اتجاه بدء الروبوت هو 0 درجة.
استدر نحو الاتجاه (90) درجة
حدود |
وصف |
|---|---|
عنوان |
الاتجاه الذي يجب أن يواجهه الروبوت، بالدرجات. يمكن أن يكون هذا عددًا صحيحًا أو عشريًا من -359 إلى 359. |
مثال
عند البدء
[Turn to face the cardinal directions.]
استدر نحو الاتجاه (90) درجة
انتظر (2) ثانية
استدر نحو الاتجاه (180) درجة
انتظر (2) ثانية
استدر نحو الاتجاه (270) درجة
انتظر (2) ثانية
استدر نحو الاتجاه (0) درجة
انتظر (2) ثانية
توقف عن القيادة#
تقوم كتلة إيقاف القيادة بإيقاف حركة الروبوت.
إيقاف القيادة
حدود |
وصف |
|---|---|
لا يحتوي هذا الجزء على أي معلمات. |
مثال
عند البدء
[Stop driving after 4 seconds.]
تشغيل [للأمام v]
انتظر [4] ثانية
إيقاف القيادة
إعدادات#
ضبط مهلة محرك الأقراص#
تحدد كتلة set drive timeout عدد الثواني التي سيحاول فيها الروبوت إكمال حركة معينة. إذا لم يتمكن الروبوت من إكمالها خلال هذا الوقت، فسيتوقف عن المحاولة وينتقل إلى الكتلة التالية في المكدس. هذا يمنع الروبوت من التوقف في حركة معينة.
اضبط مهلة القيادة إلى (1) ثانية
حدود |
وصف |
|---|---|
وقت |
عدد الثواني التي يمكن للروبوت خلالها محاولة إكمال حركة معينة. يمكن أن يكون هذا العدد صحيحًا أو عشريًا. |
مثال
عند البدء
[Turn right after driving for 1 second.]
اضبط مهلة القيادة إلى (1) ثانية
تشغيل [للأمام v] لمسافة (1000) [مم v]
استدر [يمين v] بمقدار (90) درجة
حدد اتجاه القيادة#
الاتجاه هو المسار الذي يواجهه الروبوت، ويُقاس بالدرجات. تقوم كتلة set drive heading بتغيير اتجاه الروبوت الحالي إلى قيمة اتجاه جديدة.
على سبيل المثال، إذا استدار الروبوت ليواجه اليمين، فإن ضبط اتجاهه على صفر درجة يجعل وضعية مواجهة اليمين هي الصفر الجديدة. بعد ذلك، يمكن للروبوت أن يستدير إلى أوضاع أخرى بناءً على هذا الاتجاه الجديد.
اضبط اتجاه القيادة إلى (0) درجة
حدود |
وصف |
|---|---|
عنوان |
قيمة الاتجاه، بالدرجات، التي سيتم ضبطها للروبوت. يمكن أن تكون هذه القيمة عددًا صحيحًا أو عشريًا من 0 إلى 359. |
مثال
عند البدء
[Face the new 0 degree heading.]
اضبط اتجاه القيادة إلى (90) درجة
استدر نحو الاتجاه (0) درجة
قيم#
تم الانتهاء من القيادة#
تُشير كتلة “انتهى التحرك” المنطقية إلى ما إذا كان الروبوت قد انتهى من الحركة. ويمكن استخدام هذه الكتلة للتحكم في توقيت سلوكيات أخرى بناءً على حركة الروبوت.
صحيح — انتهى الروبوت من الحركة.
خطأ — الروبوت لا يزال يتحرك.
تعمل هذه الكتلة مع كتل نظام الدفع التالية: drive for, drive until, turn for, و turn to heading.
<القيادة انتهت؟>
حدود |
وصف |
|---|---|
لا يحتوي هذا الجزء على أي معلمات. |
مثال
عند البدء
[Glow blue after a crash.]
تحرك للأمام حتى [تصادم v]
للأبد
إذا <القيادة انتهت؟> إذن
توهج [أزرق v]
وإلا
توهج [أخضر v]
اتجاه القيادة#
الاتجاه هو المسار الذي يواجهه الروبوت، ويُقاس بالدرجات. تُبلغ وحدة drive heading عن اتجاه الروبوت الحالي من 0 إلى 359 درجة.
اتجاه بدء الروبوت هو 0 درجة.
(اتجاه القيادة بالدرجات)
حدود |
وصف |
|---|---|
لا يحتوي هذا الجزء على أي معلمات. |
مثال
عند البدء
[Display the heading after turning.]
استدر [يمين v] بمقدار (450) درجة
اطبع (اتجاه القيادة بالدرجات) ▶