نظام نقل الحركة#
مقدمة#
يستخدم روبوت VEX V5 نظام نقل الحركة للتحرك والانعطاف. ويتكون نظام نقل الحركة من محركات وعجلات تعمل معًا لتحريك الروبوت.
A configured drivetrain can use an Inertial Sensor, GPS Sensor, Gyro Sensor, or no sensor. When a sensor is used, the drivetrain uses it to help the robot move and turn precisely. At the start of each project, the drivetrain calibrates the sensor automatically. Keep the robot still during calibration, so the robot can move and turn correctly.
توجد طرق عديدة لبرمجة نظام نقل الحركة. تستخدم هذه الصفحة الاسم drivetrain كمثال. استبدله بالاسم الذي قمت بتكوينه حسب الحاجة.
فيما يلي قائمة بجميع طرق نقل الحركة:
الإجراءات — تحريك الروبوت وتدويره.
drive— يحرك الروبوت للأمام أو للخلف إلى الأبد.drive_for— يحرك الروبوت للأمام أو للخلف لمسافة محددة.turn— يقوم بتدوير الروبوت إلى اليسار أو اليمين إلى الأبد.turn_for— يقوم بتدوير الروبوت إلى اليسار أو اليمين لعدد محدد من الدرجات.turn_to_heading— يُدير الروبوت ليواجه اتجاهًا محددًا من -359 إلى 359 درجة. سيسلك الروبوت أقصر مسار للوصول إلى الاتجاه المستهدف.turn_to_rotation— يقوم بتدوير الروبوت إلى دوران محدد.stop— يوقف حركة الروبوت.calibrate_drivetrain– يقوم بمعايرة المستشعر المُكوّن مع مجموعة نقل الحركة.
المُعدِّلات — اضبط إعدادات نظام نقل الحركة.
set_drive_velocity— يخبر الروبوت بالسرعة التي يجب أن يقود بها.set_turn_velocity— يخبر الروبوت بمدى سرعة الدوران.set_stopping— يحدد كيفية توقف الروبوت عن الحركة: عن طريق الكبح أو الانزلاق أو الثبات.set_timeout— يحدد عدد الثواني التي سيحاول فيها الروبوت إنهاء الحركة.set_heading— يغير اتجاه الروبوت الحالي إلى اتجاه جديد.set_rotation— يغير دوران الروبوت الحالي إلى دوران جديد.set_turn_threshold– يحدد مدى قرب الروبوت من زاوية الهدف قبل اكتمال الدوران.set_turn_constant– يغير مدى قوة تصحيح الروبوت لدورانه.set_turn_direction_reverse– يغير ما إذا كان اتجاه دوران مجموعة نقل الحركة الذكية معكوسًا.
أجهزة الاستشعار — تحقق من حالة نظام نقل الحركة.
is_done— تُرجع ما إذا كان الروبوت قد انتهى من الحركة، كقيمة منطقية.is_moving— تُرجع ما إذا كان الروبوت يتحرك، كقيمة منطقية.heading— يعيد اتجاه الروبوت الحالي من 0 إلى 359.99 درجة.rotation— يعيد الدوران الحالي للروبوت.velocity— تُرجع هذه الدالة مدى سرعة قيادة الروبوت.current— تُرجع مقدار التيار الكهربائي الذي يستخدمه نظام نقل الحركة.power— يعيد مدى سرعة استخدام مجموعة نقل الحركة للطاقة.torque— يعيد مقدار عزم الدوران الذي يستخدمه نظام نقل الحركة.efficiency— يعيد مدى كفاءة استخدام مجموعة نقل الحركة للطاقة.temperature— تُرجع مدى سخونة مجموعة نقل الحركة.get_timeout– تُرجع إعداد المهلة الحالي.
المنشئون – إنشاء وتكوين نظام نقل الحركة يدويًا.
DriveTrain– يقوم بإنشاء مجموعة نقل الحركة بدون مستشعر القصور الذاتي، مستشعر GPS، أو مستشعر الجيروسكوب.SmartDrive– يقوم بإنشاء مجموعة نقل الحركة المجهزة بـ مستشعر القصور الذاتي، مستشعر GPS، أو مستشعر الجيروسكوب.
الإجراءات#
drive#
يُحرّك الأمر drive الروبوت للأمام أو للخلف باستمرار. سيستمر الروبوت في الحركة حتى يُعطى أمرًا آخر، مثل الانعطاف أو التوقف. بالنسبة لعدد الدورات في الدقيقة أو الدرجات في الثانية، يتغير الحد الأقصى للسرعة بنسبة تروس نظام الدفع.
Usage:
drivetrain.drive(direction, velocity, units)
حدود |
وصف |
|---|---|
|
اتجاه حركة الروبوت: |
|
Optional. The velocity to drive with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive forward at 360 degrees per second
drivetrain.drive(FORWARD, 360.0, VelocityUnits.DPS)
drive_for#
يُحرّك drive_for الروبوت للأمام أو للخلف لمسافة محددة. ينتظر البرنامج حتى ينتهي الروبوت من الحركة قبل تنفيذ السطر التالي من التعليمات البرمجية. بالنسبة لعدد دورات المحرك في الدقيقة أو الدرجات في الثانية، يتغير الحد الأقصى للسرعة بناءً على نسبة تروس نظام الدفع.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
حدود |
وصف |
|---|---|
|
اتجاه حركة الروبوت: |
|
المسافة التي يقطعها الروبوت. يمكن أن تكون هذه القيمة |
|
اختياري. وحدة المسافة: |
|
Optional. The velocity to drive with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
|
اختياري. |
# Drive forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)
turn#
يؤدي الضغط على زر turn إلى تدوير الروبوت يمينًا أو يسارًا بشكل مستمر. سيستمر الروبوت في الدوران حتى يتم إعطاؤه إجراءً آخر، مثل القيادة أو التوقف. بالنسبة لعدد الدورات في الدقيقة أو الدرجات في الثانية، يتغير الحد الأقصى للسرعة حسب نسبة تروس نظام الدفع.
Usage:
drivetrain.turn(direction, velocity, units)
حدود |
وصف |
|---|---|
|
اتجاه دوران الروبوت: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
# Turn right, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()
turn_for#
يُدير turn_for الروبوت يمينًا أو يسارًا بزاوية محددة. وتُحسب زاوية الدوران نسبةً إلى الموضع الحالي للروبوت. ينتظر البرنامج حتى يُكمل الروبوت الدوران قبل تنفيذ السطر التالي من التعليمات البرمجية. أما بالنسبة لعدد الدورات في الدقيقة أو عدد الدرجات في الثانية، فيتغير الحد الأقصى للزاوية حسب نسبة تروس نظام الحركة.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
حدود |
وصف |
|---|---|
|
اتجاه دوران الروبوت: |
|
عدد الدرجات التي يدور بها الروبوت. يمكن أن يكون هذا العدد |
|
اختياري. وحدة الدوران: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
|
اختياري. |
# Turn left, then turn around to the right
drivetrain.turn_for(LEFT, 90)
drivetrain.turn_for(RIGHT, 180)
turn_to_heading#
الاتجاه هو المسار الذي يواجهه الروبوت، ويُقاس بالدرجات. يُشير الأمر turn_to_heading إلى توجيه الروبوت نحو اتجاه محدد من -359 إلى 359 درجة. سيسلك الروبوت أقصر مسار للوصول إلى الاتجاه المستهدف.
اتجاه بدء الروبوت هو 0 درجة.
سينتظر المشروع حتى ينتهي الروبوت من الدوران قبل تشغيل سطر التعليمات البرمجية التالي.
ملاحظة: هذه الوظيفة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
حدود |
وصف |
|---|---|
|
الاتجاه الذي يجب أن يواجهه الروبوت، بالدرجات. يمكن أن يكون هذا الاتجاه عددًا |
|
اختياري. وحدة العنوان: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
|
اختياري. |
# Turn to face the cardinal directions
drivetrain.turn_to_heading(90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(270, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(0, DEGREES)
# Turn twice slowly
drivetrain.turn_to_heading(90, DEGREES, 20, PERCENT)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES, 20, PERCENT)
turn_to_rotation#
turn_to_rotation يقوم بتدوير الروبوت إلى دوران محدد.
الدوران هو مقدار دوران الروبوت، ويُقاس بالدرجات. في بداية المشروع، تُضبط قيمة الدوران على صفر درجة. كما يمكن ضبط الدوران باستخدام الدالة set_rotation.
قيم الدوران مطلقة. وهذا يعني أن اتجاه الدوران يعتمد على دوران الروبوت الحالي. الدوران إلى اليمين يزيد من الدوران، والدوران إلى اليسار يقلل منه.
على سبيل المثال، إذا بدأ الروبوت من زاوية صفر درجة، ثم قمت بتدويره بزاوية 720 درجة، فسيدور إلى اليمين مرتين. وإذا قمت بعد ذلك بتدويره بزاوية 360 درجة، فسيدور إلى اليسار مرة واحدة، لأن 360 درجة أقل من 720 درجة.
سينتظر المشروع حتى ينتهي الروبوت من الدوران قبل تشغيل سطر التعليمات البرمجية التالي.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
حدود |
وصف |
|---|---|
|
قيمة الدوران، بالدرجات أو الدورات، التي سيدور إليها الروبوت. يمكن أن تكون هذه القيمة عددًا |
|
اختياري. وحدة الدوران: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
|
اختياري. |
# Turn left, then spin in a circle clockwise and face right
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES)
# Turn left then slowly spin in a circle clockwise
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES, 20, PERCENT)
stop#
stop يوقف حركة الروبوت.
Usage:
drivetrain.stop(mode)
حدود |
وصف |
|---|---|
|
اختياري. كيفية توقف الروبوت:
|
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
calibrate_drivetrain#
calibrate_drivetrain هي وظيفة مدمجة تقوم بمعايرة مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب.
تساعد عملية المعايرة المستشعر على قياس الحركة بدقة. حافظ على ثبات الروبوت لمدة ثانيتين تقريبًا أثناء المعايرة. إذا تحرك الروبوت أثناء المعايرة، فقد لا يقيس المستشعر الحركة بدقة.
سينتظر المشروع حتى يتم الانتهاء من عملية المعايرة قبل تشغيل السطر التالي من التعليمات البرمجية.
ملاحظة: هذه الوظيفة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
calibrate_drivetrain()
حدود |
وصف |
|---|---|
لا تحتوي هذه الدالة على أي معلمات. |
المتحولون#
set_drive_velocity#
يُحدد set_drive_velocity سرعة قيادة الروبوت. فزيادة النسبة المئوية تُسرّع من سرعة الروبوت، بينما تُبطئها النسبة المئوية الأقل. أما بالنسبة لعدد دورات المحرك في الدقيقة (RPM) أو عدد الدرجات في الثانية، فيتم تغيير الحد الأقصى للسرعة بناءً على نسبة تروس نظام نقل الحركة.
يبدأ كل مشروع بالروبوت وهو يقود بسرعة 50% بشكل افتراضي.
ملاحظة: السرعة العالية تجعل الروبوت يتحرك بسرعة أكبر، لكنها قد تكون أقل دقة. السرعة المنخفضة تجعل الروبوت يتحرك ببطء، لكنها قد تكون أكثر دقة.
Usage:
drivetrain.set_drive_velocity(velocity, units)
حدود |
وصف |
|---|---|
|
The velocity to drive with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
# Drive forward at the default velocity
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
set_turn_velocity#
يُحدد set_turn_velocity سرعة دوران الروبوت. كلما زادت النسبة المئوية، زادت سرعة الدوران، وكلما انخفضت، قلت. أما بالنسبة لعدد الدورات في الدقيقة أو الدرجات في الثانية، فيتم تغيير الحد الأقصى للسرعة بناءً على نسبة تروس نظام الدفع.
يبدأ كل مشروع بالروبوت وهو يدور بسرعة 50% بشكل افتراضي.
ملاحظة: السرعة العالية تجعل الروبوت يدور بشكل أسرع، لكنها قد تكون أقل دقة. السرعة المنخفضة تجعل الروبوت يدور بشكل أبطأ، لكنها قد تكون أكثر دقة.
Usage:
drivetrain.set_turn_velocity(velocity, units)
حدود |
وصف |
|---|---|
|
The velocity to turn with from 0% to 100% when using |
|
اختياري. وحدة السرعة: |
# Turn at the default velocity
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
set_stopping#
set_stopping يحدد كيفية توقف الروبوت عن الحركة: عن طريق الكبح، أو الانزلاق، أو الثبات.
Usage:
drivetrain.set_stopping(mode)
حدود |
وصف |
|---|---|
|
كيفية توقف الروبوت:
|
إذا لم يتم استخدام هذه الطريقة، فسيستخدم الروبوت BRAKE عند التوقف.
set_timeout#
يُحدد set_timeout عدد الثواني التي سيحاول فيها الروبوت إكمال حركة معينة. إذا لم يتمكن الروبوت من إكمالها خلال هذا الوقت، فسيتوقف عن المحاولة وينتقل إلى سطر التعليمات البرمجية التالي. هذا يمنع الروبوت من التوقف عند حركة معينة.
Usage:
drivetrain.set_timeout(value, units)
حدود |
وصف |
|---|---|
|
مقدار الوقت الذي يمكن للروبوت أن يحاول فيه إنهاء حركة ما. يمكن أن يكون هذا عددًا صحيحًا موجبًا |
|
اختياري. وحدة الوقت: |
set_heading#
الاتجاه هو المسار الذي يواجهه الروبوت، ويُقاس بالدرجات. يُغيّر set_heading الاتجاه الحالي للروبوت إلى قيمة اتجاه جديدة.
على سبيل المثال، إذا استدار الروبوت ليواجه اليمين، فإن ضبط اتجاهه على صفر درجة يجعل وضعية مواجهة اليمين هي الصفر الجديدة. بعد ذلك، يمكن للروبوت أن يستدير إلى أوضاع أخرى بناءً على هذا الاتجاه الجديد.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.set_heading(heading, units)
حدود |
وصف |
|---|---|
|
قيمة الاتجاه، بالدرجات أو الدورات، التي سيتم ضبطها للروبوت. يمكن أن تكون هذه القيمة عددًا |
|
اختياري. وحدة الاتجاه: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
الدوران هو مقدار دوران الروبوت، ويُقاس بالدرجات. في بداية المشروع، تُضبط قيمة الدوران على صفر درجة. يُغيّر set_rotation قيمة الدوران الحالية للروبوت إلى قيمة جديدة.
على سبيل المثال، إذا أكمل الروبوت دورتين كاملتين إلى اليمين، ستكون قيمة دورانه 720 درجة. ضبط قيمة الدوران على 0 درجة سيعيد ضبطها من 720 إلى 0 درجة. بعد ذلك، يمكن للروبوت الدوران وفقًا لهذه القيمة الجديدة.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.set_rotation(rotation, units)
حدود |
وصف |
|---|---|
|
قيمة الدوران، بالدرجات أو الدورات، التي يتم ضبطها للروبوت. يمكن أن تكون هذه القيمة عددًا |
|
اختياري. وحدة الدوران: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold يحدد مدى قرب الروبوت من زاوية الهدف قبل اكتمال الدوران.
يمكن أن يؤدي استخدام عتبة أصغر إلى زيادة دقة الانعطافات، لكن قد يستغرق الروبوت وقتًا أطول لإتمامها. أما استخدام عتبة أكبر فيمكن أن يؤدي إلى إتمام الانعطافات بشكل أسرع، لكنها قد تكون أقل دقة.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.set_turn_threshold(value)
حدود |
وصف |
|---|---|
|
عتبة الانعطاف، بالدرجات. يمكن أن تكون |
set_turn_constant#
set_turn_constant يغير مدى قوة تصحيح الروبوت لدورانه.
كلما زادت القيمة، زادت قوة استجابة الروبوت عند تصحيح المنعطفات. وكلما انخفضت القيمة، زادت رقة استجابة الروبوت عند تصحيح المنعطفات. القيمة الافتراضية هي 1.0.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.set_turn_constant(value)
حدود |
وصف |
|---|---|
|
ثابت الدوران. يمكن أن يكون هذا عددًا عشريًا ( |
set_turn_direction_reverse#
set_turn_direction_reverse يغير ما إذا كان اتجاه دوران مجموعة نقل الحركة الذكية معكوسًا.
يمكن استخدام هذا الخيار إذا دار نظام نقل الحركة في الاتجاه المعاكس لما هو متوقع بعد ضبطه يدويًا في الكود. تعمل هذه الطريقة بنفس طريقة ضبط المعامل reverse إلى True عند إنشاء SmartDrive.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.set_turn_direction_reverse(value)
حدود |
وصف |
|---|---|
|
ما إذا كان سيتم عكس اتجاه دوران مجموعة نقل الحركة الذكية: |
المحصلون#
is_done#
تُشير القيمة المنطقية is_done إلى ما إذا كان الروبوت قد انتهى من الحركة. ويمكن استخدام هذه القيمة للتحكم في توقيت سلوكيات أخرى بناءً على حركة الروبوت.
True— انتهى الروبوت من الحركة.False— الروبوت لا يزال يتحرك.
تعمل هذه الطريقة جنبًا إلى جنب مع طرق Drivetrain التالية التي تحتوي على المعلمة wait : drive_for, turn_for, turn_to_heading, و turn_to_rotation.
Usage:
drivetrain.is_done()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
is_moving#
تُشير القيمة المنطقية is_moving . ويمكن استخدام هذه القيمة للتحكم في توقيت سلوكيات أخرى بناءً على حركة الروبوت.
True— الروبوت يتحرك.False— الروبوت لا يتحرك.
الاستخدام:
drivetrain.is_moving()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
heading#
الاتجاه هو المسار الذي يواجهه الروبوت، ويُقاس بالدرجات. يُعيد الأمر heading اتجاه الروبوت الحالي من 0 إلى 359.99 درجة.
اتجاه بدء الروبوت هو 0 درجة.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.heading(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة قياس اتجاه العودة: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
الدوران هو مقدار دوران الروبوت، ويُقاس بالدرجات. في بداية المشروع، تُضبط قيمة الدوران على صفر درجة. يُشير rotation إلى الدوران الحالي للروبوت.
يؤدي الانعطاف يمينًا إلى زيادة الدوران، بينما يؤدي الانعطاف يسارًا إلى تقليله. على سبيل المثال، يؤدي القيام بدورتين كاملتين إلى اليمين إلى دوران مقداره 720 درجة.
ملاحظة: هذه الطريقة متاحة فقط إذا تم تكوين مجموعة نقل الحركة باستخدام مستشعر القصور الذاتي، أو مستشعر GPS، أو مستشعر الجيروسكوب في نافذة الأجهزة.
Usage:
drivetrain.rotation(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة قياس الدوران: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
السرعة velocity تُحددان مدى سرعة قيادة الروبوت.
It can return velocity as a percentage from -100% to 100%, in RPM, or in VelocityUnits.DPS (degrees per second). A positive value means the robot is driving forward. A negative value means the robot is driving in reverse.
Usage:
drivetrain.velocity(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة السرعة: |
current#
current returns how much electrical current the drivetrain is using, measured in amps (amperes). Current is the amount of electricity flowing through the drivetrain.
تشير قيمة التيار الأعلى إلى أن نظام نقل الحركة يستهلك تيارًا كهربائيًا أكبر. قد يحدث هذا عندما يدفع الروبوت جسمًا ما أو يحاول التحرك وهو عالق.
يمكن استخدام هذا للتحقق مما إذا كان نظام نقل الحركة يعاني من صعوبة أثناء الحركة. إذا ظل التيار مرتفعًا، فقد يسخن نظام نقل الحركة أو يستهلك الطاقة بكفاءة أقل.
Usage:
drivetrain.current(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة إرجاع التيار: |
power#
power returns how much power the drivetrain is using, measured in watts. Power shows how quickly the drivetrain is using energy.
تشير قيمة الطاقة الأعلى إلى أن نظام نقل الحركة يستهلك الطاقة بشكل أسرع. قد يحدث هذا عندما يدفع الروبوت جسمًا ما أو يحاول التحرك وهو عالق.
يمكن استخدام هذا لمقارنة الحركات أو التحقق مما إذا كان نظام نقل الحركة يعاني من مشكلة. إذا استمرت الطاقة مرتفعة، فقد يسخن نظام نقل الحركة أو يستهلك الطاقة بكفاءة أقل.
Usage:
drivetrain.power()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
torque#
يوضح عزم الدوران مدى قوة دفع أو سحب مجموعة نقل الحركة أثناء دوران العجلات.
torque يعيد مقدار عزم الدوران الذي يستخدمه نظام نقل الحركة، مقاسًا بالنيوتن متر (Nm) أو البوصة رطل (InLb).
تشير قيمة عزم الدوران الأعلى إلى أن نظام الدفع يبذل جهدًا أكبر في الدفع أو السحب. قد يحدث هذا عندما يدفع الروبوت جسمًا ما أو يحاول التحرك وهو عالق.
يمكن استخدام هذا للتحقق مما إذا كان نظام نقل الحركة يعاني من مشكلة أو لمقارنة مقدار الدفع الذي تحتاجه الحركات المختلفة.
Usage:
drivetrain.torque(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة إرجاع عزم الدوران: |
efficiency#
efficiency تُظهر مدى كفاءة استخدام مجموعة نقل الحركة للطاقة، كنسبة مئوية من 0% إلى 100%.
تُشير الكفاءة إلى مقدار الطاقة المُستخدمة في نظام نقل الحركة للحركة. فكلما ارتفعت قيمة الكفاءة، زادت الطاقة المُستخدمة في الحركة. أما انخفاض قيمة الكفاءة فيحدث عندما يعمل نظام نقل الحركة بجهد كبير دون حركة تُذكر، كما هو الحال عندما يكون الروبوت عالقًا أو يدفع جسمًا ما.
يمكن استخدام هذا لمقارنة الحركات أو التحقق مما إذا كان نظام نقل الحركة يهدر الطاقة بدلاً من استخدامها للحركة.
Usage:
drivetrain.efficiency()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
temperature#
temperature تُرجع متوسط درجة حرارة مجموعة نقل الحركة بوحدة درجة الحرارة المحددة.
تُشير درجة الحرارة إلى مدى سخونة محركات نظام نقل الحركة. ارتفاع درجة الحرارة يعني أن المحركات تزداد سخونة أثناء عملها. يجب أن تبقى درجة حرارة المحركات أقل من 55 درجة مئوية للحفاظ على أدائها الأمثل.
إذا ارتفعت درجة حرارة المحركات بشكل مفرط، فإنها ستخفض الحد الأقصى للتيار لحماية نفسها. عند 70 درجة مئوية، ستتوقف المحركات عن العمل حتى تبرد.
يمكن استخدام هذا للتحقق مما إذا كان نظام نقل الحركة يسخن بشكل مفرط أثناء الحركات المتكررة أو الجري لمسافات طويلة أو عندما يضغط على جسم ما.
Usage:
drivetrain.temperature(units)
حدود |
وصف |
|---|---|
|
اختياري. وحدة عرض درجة الحرارة: |
get_timeout#
get_timeout تُرجع قيمة timeout المُحددة حاليًا بالمللي ثانية.
Usage:
drivetrain.get_timeout()
حدود |
وصف |
|---|---|
لا تحتوي هذه الطريقة على أي معلمات. |
المُنشئون#
تُستخدم أدوات الإنشاء لإنشاء كائنات DriveTrain و SmartDrive يدويًا، وهي ضرورية لتكوين مجموعة نقل الحركة خارج VEXcode.
يجب إنشاء كائنين على الأقل من Motor أو MotorGroup قبل إنشاء مجموعة نقل الحركة.
DriveTrain#
DriveTrain يقوم بإنشاء مجموعة نقل الحركة بدون مستشعر القصور الذاتي، مستشعر GPS، أو مستشعر الجيروسكوب.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
المعلمة |
وصف |
|---|---|
|
The left motor or motor group. |
|
The right motor or motor group. |
|
اختياري. محيط عجلات نظام الدفع. القيمة الافتراضية هي 300 مليمتر. |
|
اختياري. المسافة بين العجلتين اليمنى واليسرى. القيمة الافتراضية هي 320 مليمترًا. |
|
اختياري. المسافة بين العجلات الأمامية والخلفية. القيمة الافتراضية هي 320 مليمترًا. |
|
اختياري. وحدة قياس المسافة لـ |
|
اختياري. نسبة التروس المستخدمة لضبط مسافات القيادة في حال استخدام التروس. يمكن أن تكون هذه النسبة عددًا |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a drivetrain with default values
drivetrain = DriveTrain(left_motor, right_motor)
# Create the motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = DriveTrain(left_motor, right_motor, 319.19, 295, 40, MM, 1)
SmartDrive#
SmartDrive يقوم بإنشاء مجموعة نقل الحركة المجهزة بـ مستشعر القصور الذاتي، مستشعر GPS، أو مستشعر الجيروسكوب.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
المعلمة |
وصف |
|---|---|
|
The left motor or motor group. |
|
The right motor or motor group. |
|
المستشعر بالقصور الذاتي، مستشعر نظام تحديد المواقع العالمي، أو مستشعر الدوران المستخدمة بواسطة مجموعة نقل الحركة. |
|
اختياري. محيط عجلات نظام الدفع. القيمة الافتراضية هي 300 مليمتر. |
|
اختياري. المسافة بين العجلتين اليمنى واليسرى. القيمة الافتراضية هي 320 مليمترًا. |
|
اختياري. المسافة بين العجلات الأمامية والخلفية. القيمة الافتراضية هي 320 مليمترًا. |
|
اختياري. وحدة قياس المسافة لـ |
|
اختياري. نسبة التروس المستخدمة لضبط مسافات القيادة في حال استخدام التروس. يمكن أن تكون هذه النسبة عددًا |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
# Create a drivetrain with default values
drivetrain = SmartDrive(left_motor, right_motor, gyro_a)
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = SmartDrive(left_motor, right_motor, gyro_a, 319.19, 295, 40, MM, 1)