ड्राइवट्रेन#

परिचय#

VEX IQ (दूसरी पीढ़ी) रोबोट चलने और मुड़ने के लिए ड्राइवट्रेन का उपयोग करता है। ड्राइवट्रेन मोटरों और पहियों से मिलकर बना होता है जो रोबोट को गति प्रदान करने के लिए एक साथ काम करते हैं।

कॉन्फ़िगर किया गया ड्राइवट्रेन कनेक्टेड जाइरो सेंसर, ब्रेन के बिल्ट-इन इनर्शियल सेंसर, या बिना किसी सेंसर के भी काम कर सकता है। सेंसर का उपयोग करने पर, ड्राइवट्रेन रोबोट को सटीक रूप से चलने और मुड़ने में मदद करने के लिए इसका उपयोग करता है। प्रत्येक प्रोजेक्ट की शुरुआत में, ड्राइवट्रेन सेंसर को स्वचालित रूप से कैलिब्रेट करता है। कैलिब्रेशन के दौरान रोबोट को लगभग 2 सेकंड तक स्थिर रखें, ताकि रोबोट सही ढंग से चल और मुड़ सके।

इस पृष्ठ पर उदाहरण के तौर पर ड्राइवट्रेन का नाम 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 — रोबोट अपने मोड़ों को कितनी मजबूती से ठीक करता है, इसे बदलता है।

गेटर्स — गतिविधि की स्थिति जांचें।

  • heading — रोबोट की वर्तमान हेडिंग 0 से 359 डिग्री तक लौटाता है।

  • rotation — रोबोट का वर्तमान रोटेशन लौटाता है।

  • velocity — रोबोट कितनी तेज़ी से चल रहा है, यह लौटाता है।

  • current — यह बताता है कि ड्राइवट्रेन कितनी विद्युत धारा का उपयोग कर रहा है।

  • is_moving — यह बताता है कि रोबोट चल रहा है या नहीं, बूलियन मान के रूप में।

  • is_done — यह बताता है कि रोबोट चलना समाप्त कर चुका है या नहीं, बूलियन मान के रूप में।

  • is_turning — यह बताता है कि रोबोट मुड़ रहा है या नहीं, बूलियन मान के रूप में।

  • power — यह बताता है कि ड्राइवट्रेन कितनी तेज़ी से ऊर्जा का उपयोग कर रहा है।

  • torque — यह बताता है कि ड्राइवट्रेन कितना टॉर्क इस्तेमाल कर रहा है।

  • efficiency — यह बताता है कि ड्राइवट्रेन कितनी कुशलता से शक्ति का उपयोग कर रहा है।

  • temperature — ड्राइवट्रेन कितना गर्म है, यह लौटाता है।

कंस्ट्रक्टर — ड्राइवट्रेन को मैन्युअल रूप से बनाएं और कॉन्फ़िगर करें।

  • DriveTrain — जाइरो सेंसर या इनर्टियल सेंसर के बिना ड्राइवट्रेन बनाता है।

  • SmartDrive — जाइरो सेंसर या इनर्टियल सेंसर के साथ ड्राइवट्रेन बनाता है।

कार्रवाई#

drive#

drive रोबोट को निरंतर आगे या पीछे ले जाता है। रोबोट तब तक चलता रहेगा जब तक उसे कोई और क्रिया, जैसे मुड़ना या रुकना, करने का निर्देश नहीं दिया जाता।

Usage:
drivetrain.drive(direction, velocity, units)

पैरामीटर

विवरण

direction

रोबोट की गति की दिशा: FORWARD या REVERSE।

velocity

Optional. The velocity to drive with from 0% to 100% when using PERCENT, from 0 to 120 rpm when using RPM, or from 0 to 720 degrees per second when using VelocityUnits.DPS. This can be an integer or decimal (float). If no velocity is provided, the robot drives at the current drive velocity.

units

वैकल्पिक। वेग इकाई: PERCENT (डिफ़ॉल्ट), RPM (प्रति मिनट घूर्णन), या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

# Drive slowly in reverse then stop
drivetrain.drive(REVERSE, 20, PERCENT)
wait(2, SECONDS)
drivetrain.stop()

drive_for#

drive_for कमांड रोबोट को एक निश्चित दूरी तक आगे या पीछे ले जाता है। प्रोजेक्ट रोबोट के चलने के पूरा होने तक प्रतीक्षा करेगा, उसके बाद ही कोड की अगली पंक्ति चलेगी।

Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)

पैरामीटर

विवरण

direction

रोबोट की गति की दिशा: FORWARD या REVERSE।

distance

रोबोट द्वारा तय की गई दूरी। यह integer या दशमलव (float ) हो सकता है।

units

वैकल्पिक। दूरी की इकाई: INCHES (डिफ़ॉल्ट), MM (मिलीमीटर), या DistanceUnits.CM (सेंटीमीटर)।

velocity

Optional. The velocity to drive with from 0% to 100% when using PERCENT, from 0 to 120 rpm when using RPM, or from 0 to 720 degrees per second when using VelocityUnits.DPS. This can be an integer or decimal (float). If no velocity is provided, the robot drives at the current drive velocity.

units_v

वैकल्पिक। वेग इकाई: RPM (प्रति मिनट घूर्णन, डिफ़ॉल्ट), PERCENT, या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) कोड की अगली पंक्ति चलने से पहले रोबोट के चलने के पूरा होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False कोड की अगली पंक्ति तुरंत चलती है।

# Drive forward and backward
drivetrain.drive_for(FORWARD, 10)
drivetrain.drive_for(REVERSE, 10)

# Quickly drive forward and backward
drivetrain.drive_for(FORWARD, 200, MM, 100, PERCENT)
drivetrain.drive_for(REVERSE, 200, MM, 100, PERCENT)

turn#

turn रोबोट को हमेशा के लिए बाएँ या दाएँ घुमाता है। रोबोट तब तक घूमता रहेगा जब तक उसे कोई और क्रिया, जैसे चलाना या रोकना, करने को न कहा जाए।

Usage:
drivetrain.turn(direction, velocity, units)

पैरामीटर

विवरण

direction

रोबोट के मुड़ने की दिशा: LEFT या RIGHT।

velocity

Optional. The velocity to turn with from 0% to 100% when using PERCENT, from 0 to 120 rpm when using RPM, or from 0 to 720 degrees per second when using VelocityUnits.DPS. This can be an integer or decimal (float). If no velocity is provided, the robot turns at the current turn velocity.

units

वैकल्पिक। वेग इकाई: RPM (प्रति मिनट घूर्णन, डिफ़ॉल्ट), PERCENT, या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

# Turn right and left, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.turn(LEFT)
wait(2, SECONDS)
drivetrain.stop()

# Quickly turn right and left, then stop
drivetrain.turn(RIGHT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.turn(LEFT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.stop()

turn_for#

turn_for रोबोट को एक निश्चित संख्या में डिग्री या घुमावों के लिए बाएँ या दाएँ घुमाता है। यह घुमाव रोबोट की वर्तमान स्थिति के सापेक्ष होता है। प्रोजेक्ट रोबोट के पूरा घुमाव के बाद ही कोड की अगली पंक्ति चलाएगा।

Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)

पैरामीटर

विवरण

direction

रोबोट के मुड़ने की दिशा: LEFT या RIGHT।

angle

रोबोट के घूमने की मात्रा। यह integer या दशमलव (float ) हो सकता है।

units

वैकल्पिक। घुमाव की इकाई: DEGREES (डिफ़ॉल्ट) या TURNSएक घुमाव 360 डिग्री के बराबर होता है।

velocity

Optional. The velocity to turn with from 0% to 100% when using PERCENT, from 0 to 120 rpm when using RPM, or from 0 to 720 degrees per second when using VelocityUnits.DPS. This can be an integer or decimal (float). If no velocity is provided, the robot turns at the current turn velocity.

units_v

वैकल्पिक। वेग इकाई: RPM (प्रति मिनट घूर्णन, डिफ़ॉल्ट), PERCENT, या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) कोड की अगली पंक्ति चलने से पहले रोबोट के मुड़ने के पूरा होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False कोड की अगली पंक्ति तुरंत चलती है।

# Turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES)

# Quickly turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES, 100, PERCENT)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES, 100, PERCENT)

turn_to_heading#

हेडिंग रोबोट की दिशा है, जिसे डिग्री में मापा जाता है। turn_to_heading रोबोट को -359 से 359 डिग्री के बीच किसी विशिष्ट हेडिंग की ओर मोड़ता है। रोबोट लक्ष्य हेडिंग तक पहुँचने के लिए सबसे छोटी दिशा में मुड़ेगा।

रोबोट की प्रारंभिक दिशा 0 डिग्री है।

अगली कोड लाइन चलने से पहले प्रोजेक्ट रोबोट के पूरी तरह से घूमने का इंतजार करेगा।

Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)

पैरामीटर

विवरण

angle

रोबोट का मुख किस दिशा में होना चाहिए, डिग्री में। यह -359 से 359 तक का पूर्णांक ( integer ) या दशमलव (float) मान हो सकता है।

units

वैकल्पिक। हेडिंग इकाई: DEGREES (डिफ़ॉल्ट)।

velocity

Optional. The velocity to turn with from 0% to 100% when using PERCENT, from 0 to 120 rpm when using RPM, or from 0 to 720 degrees per second when using VelocityUnits.DPS. This can be an integer or decimal (float). If no velocity is provided, the robot turns at the current turn velocity.

units_v

वैकल्पिक। वेग इकाई: PERCENT (डिफ़ॉल्ट), RPM (प्रति मिनट घूर्णन), या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) कोड की अगली पंक्ति चलने से पहले रोबोट के मुड़ने के पूरा होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False कोड की अगली पंक्ति तुरंत चलती है।

# 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 रोबोट को एक विशिष्ट रोटेशन में घुमाता है।

रोटेशन वह मात्रा है जो रोबोट घूम चुका है, जिसे डिग्री या घुमावों में मापा जाता है। किसी प्रोजेक्ट की शुरुआत में, रोटेशन का मान 0 डिग्री पर सेट किया जाता है। रोटेशन को set_rotation विधि का उपयोग करके भी सेट किया जा सकता है।

घूर्णन मान निरपेक्ष होते हैं। इसका अर्थ है कि मुड़ने की दिशा रोबोट के वर्तमान घूर्णन पर निर्भर करती है। दाईं ओर मुड़ने से घूर्णन बढ़ता है, और बाईं ओर मुड़ने से घूर्णन घटता है।

उदाहरण के लिए, यदि रोबोट 0 डिग्री से शुरू होता है और आप उसे 720 डिग्री घुमाते हैं, तो वह दो बार दाईं ओर मुड़ेगा। यदि आप फिर उसे 360 डिग्री घुमाते हैं, तो वह एक बार बाईं ओर मुड़ेगा, क्योंकि 360, 720 से कम है।

अगली कोड लाइन चलने से पहले प्रोजेक्ट रोबोट के पूरी तरह से घूमने का इंतजार करेगा।

Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)

पैरामीटर

विवरण

angle

रोबोट के घूमने का मान (डिग्री या घुमावों में)। यह integer पूर्णांक या दशमलव (float फ्लोट) हो सकता है।

units

वैकल्पिक। घूर्णन इकाई: DEGREES (डिफ़ॉल्ट) या TURNSएक चक्कर 360 डिग्री के बराबर होता है।

velocity

Optional. The velocity to turn with from 0% to 100% when using PERCENT, from 0 to 120 rpm when using RPM, or from 0 to 720 degrees per second when using VelocityUnits.DPS. This can be an integer or decimal (float). If no velocity is provided, the robot turns at the current turn velocity.

units_v

वैकल्पिक। वेग इकाई: PERCENT (डिफ़ॉल्ट), RPM (प्रति मिनट घूर्णन), या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) कोड की अगली पंक्ति चलने से पहले रोबोट के मुड़ने के पूरा होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False कोड की अगली पंक्ति तुरंत चलती है।

# 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)

पैरामीटर

विवरण

mode

वैकल्पिक। रोबोट कैसे रुकेगा: BRAKE (डिफ़ॉल्ट), BRAKE, या COAST

  • COAST — तुरंत रुक जाता है।
  • HOLD — धीरे-धीरे रुक जाता है।
  • HOLD — तुरंत रुक जाता है और पहियों की स्थिति को स्थिर रखता है।

# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

# Drive forward and coast to a stop
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop(COAST)

calibrate_drivetrain#

calibrate_drivetrain एक अंतर्निर्मित फ़ंक्शन है जो ड्राइवट्रेन के साथ कॉन्फ़िगर किए गए जाइरो सेंसर या इनर्टियल सेंसर को कैलिब्रेट करता है।

कैलिब्रेशन से सेंसर को गति को सही ढंग से मापने में मदद मिलती है। कैलिब्रेशन के दौरान रोबोट को लगभग 2 सेकंड तक स्थिर रखें। यदि कैलिब्रेशन के दौरान रोबोट हिलता है, तो सेंसर गति को सही ढंग से नहीं माप पाएगा।

कैलिब्रेशन पूरा होने तक प्रोजेक्ट कोड की अगली पंक्ति को चलाने से पहले प्रतीक्षा करेगा।

ध्यान दें: इस फ़ंक्शन का उपयोग VS कोड के अंदर नहीं किया जा सकता है।

Usage:
calibrate_drivetrain()

पैरामीटर

विवरण

इस फ़ंक्शन में कोई पैरामीटर नहीं है।

उत्परिवर्तक#

set_drive_velocity#

set_drive_velocity रोबोट को बताता है कि उसे कितनी गति से चलना है। उच्च प्रतिशत होने पर रोबोट तेजी से चलता है और निम्न प्रतिशत होने पर रोबोट धीरे चलता है।

प्रत्येक परियोजना की शुरुआत में रोबोट डिफ़ॉल्ट रूप से 50% वेग से चलता है।

ध्यान दें: अधिक वेग से रोबोट की गति बढ़ जाती है, लेकिन सटीकता कम हो सकती है। कम वेग से रोबोट की गति धीमी हो जाती है, लेकिन सटीकता अधिक हो सकती है।

Usage:
drivetrain.set_drive_velocity(velocity, units)

पैरामीटर

विवरण

velocity

PERCENTका उपयोग करते समय 0% से 100% तक, RPMका उपयोग करते समय 0 से 120 rpm तक, या VelocityUnits.DPSका उपयोग करते समय 0 से 720 डिग्री प्रति सेकंड तक ड्राइव करने की गति। यह एक integer या दशमलव (float ) हो सकता है।

units

वैकल्पिक। वेग इकाई: PERCENT (डिफ़ॉल्ट), RPM (प्रति मिनट घूर्णन), या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

# Drive forward at different velocities
# Default velocity
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)

set_turn_velocity#

set_turn_velocity रोबोट को बताता है कि उसे कितनी तेज़ी से मुड़ना है। उच्च प्रतिशत होने पर रोबोट तेज़ी से मुड़ता है और निम्न प्रतिशत होने पर रोबोट धीरे मुड़ता है।

प्रत्येक परियोजना की शुरुआत में रोबोट डिफ़ॉल्ट रूप से 50% वेग से घूमना शुरू करता है।

ध्यान दें: अधिक वेग से रोबोट तेजी से मुड़ता है, लेकिन सटीकता कम हो सकती है। कम वेग से रोबोट धीरे मुड़ता है, लेकिन सटीकता अधिक हो सकती है।

Usage:
drivetrain.set_turn_velocity(velocity, units)

पैरामीटर

विवरण

velocity

PERCENTका उपयोग करते समय 0% से 100% तक, RPMका उपयोग करते समय 0 से 120 rpm तक, या VelocityUnits.DPSका उपयोग करते समय 0 से 720 डिग्री प्रति सेकंड तक घूमने की गति। यह एक integer या दशमलव (float ) हो सकता है।

units

वैकल्पिक। वेग इकाई: PERCENT (डिफ़ॉल्ट), RPM (प्रति मिनट घूर्णन), या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

# Turn at different velocities
# Default velocity
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 360)

set_stopping#

set_stopping यह निर्धारित करता है कि रोबोट चलना कैसे बंद करेगा: ब्रेक लगाकर, बिना एक्सीलरेटर दबाए चलते हुए या रुककर।

Usage:
drivetrain.set_stopping(mode)

पैरामीटर

विवरण

mode

रोबोट कैसे रुकेगा:

  • BRAKE — तुरंत रुक जाता है।
  • COAST — धीरे-धीरे रुक जाता है।
  • HOLD — तुरंत रुक जाता है और पहियों की स्थिति को बनाए रखता है।

यदि इस विधि का उपयोग नहीं किया जाता है, तो रोबोट रुकते समय BRAKE का उपयोग करेगा।

set_timeout#

set_timeout निर्धारित करता है कि रोबोट किसी गतिविधि को पूरा करने के लिए कितना समय लेगा। यदि रोबोट उस समय में गतिविधि पूरी नहीं कर पाता है, तो वह प्रयास करना बंद कर देगा और कोड की अगली पंक्ति पर चला जाएगा। इससे रोबोट को गतिविधि में अटकने से बचाया जा सकता है।

Usage:
drivetrain.set_timeout(value, units)

पैरामीटर

विवरण

value

रोबोट को किसी गतिविधि को पूरा करने के लिए मिलने वाला समय। यह एक धनात्मक पूर्णांक integer ) या दशमलव (float ) हो सकता है।

units

वैकल्पिक। समय की इकाई: MSEC (डिफ़ॉल्ट) या SECONDS

# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)

set_heading#

हेडिंग वह दिशा है जिस ओर रोबोट का मुख है, जिसे डिग्री में मापा जाता है। set_heading रोबोट की वर्तमान हेडिंग को एक नए हेडिंग मान में बदल देता है।

उदाहरण के लिए, यदि रोबोट दाईं ओर मुड़ गया है, तो दिशा को 0 डिग्री पर सेट करने से वह दाईं ओर की स्थिति ही नई 0 डिग्री बन जाती है। फिर रोबोट उस नई दिशा के आधार पर अन्य स्थितियों में मुड़ सकता है।

Usage:
drivetrain.set_heading(heading, units)

पैरामीटर

विवरण

heading

रोबोट के लिए निर्धारित की जाने वाली दिशा का मान (डिग्री या घुमाव में)। यह integer या दशमलव (float ) हो सकता है।

units

वैकल्पिक। दिशा इकाई: DEGREES (डिफ़ॉल्ट) या TURNSएक चक्कर 360 डिग्री के बराबर होता है।

# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)

set_rotation#

रोटेशन वह मात्रा है जो रोबोट ने डिग्री या चक्करों में मापी है। किसी प्रोजेक्ट की शुरुआत में, रोटेशन का मान 0 डिग्री पर सेट होता है। set_rotation कमांड रोबोट के वर्तमान रोटेशन को एक नए मान में बदल देता है।

उदाहरण के लिए, यदि रोबोट ने दाईं ओर दो पूरे चक्कर लगा लिए हैं, तो उसका घूर्णन मान 720 डिग्री होगा। घूर्णन को 0 डिग्री पर सेट करने से यह 720 से 0 डिग्री पर रीसेट हो जाएगा। फिर रोबोट उस नए मान के आधार पर घूर्णन कर सकता है।

Usage:
drivetrain.set_rotation(rotation, units)

पैरामीटर

विवरण

rotation

रोबोट के लिए निर्धारित घूर्णन मान, डिग्री या घुमावों में। यह integer या दशमलव (float ) हो सकता है।

units

वैकल्पिक। घूर्णन इकाई: DEGREES (डिफ़ॉल्ट) या TURNSएक चक्कर 360 डिग्री के बराबर होता है।

# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)

set_turn_threshold#

set_turn_threshold यह निर्धारित करता है कि रोबोट को मुड़ने से पहले लक्ष्य कोण के कितने करीब पहुंचना होगा।

कम सीमा होने पर मोड़ अधिक सटीक हो सकते हैं, लेकिन रोबोट को मुड़ने में अधिक समय लग सकता है। अधिक सीमा होने पर मोड़ जल्दी पूरे हो सकते हैं, लेकिन वे कम सटीक हो सकते हैं।

Usage:
drivetrain.set_turn_threshold(value)

पैरामीटर

विवरण

value

डिग्री में टर्न थ्रेशहोल्ड। यह integer या दशमलव (float) हो सकता है। डिफ़ॉल्ट टर्न थ्रेशहोल्ड 1 डिग्री है।

# Set the turn threshold to 5 degrees
drivetrain.set_turn_threshold(5)

set_turn_constant#

set_turn_constant यह बदलता है कि रोबोट अपने मोड़ों को कितनी मजबूती से ठीक करता है।

उच्च मान होने पर रोबोट अधिक मजबूती से मुड़ता है। निम्न मान होने पर रोबोट अधिक धीरे से मुड़ता है। डिफ़ॉल्ट मान 1.0 है।

Usage:
drivetrain.set_turn_constant(value)

पैरामीटर

विवरण

value

टर्न स्थिरांक। यह 0.1 से 4.0 तक का दशमलव (float) हो सकता है। डिफ़ॉल्ट मान 1.0 है।

# Increase the turn constant to 2.0
drivetrain.set_turn_constant(2.0)

टिककर खेल#

heading#

हेडिंग रोबोट की दिशा को दर्शाती है, जिसे डिग्री में मापा जाता है। heading रोबोट की वर्तमान हेडिंग को 0 से 359 डिग्री के बीच दर्शाती है।

रोबोट की प्रारंभिक दिशा 0 डिग्री है।

Usage:
drivetrain.heading(units)

पैरामीटर

विवरण

units

वैकल्पिक। दिशा बदलने के लिए इकाई: DEGREES (डिफ़ॉल्ट) या TURNSएक चक्कर 360 डिग्री के बराबर होता है।

# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())

rotation#

रोटेशन वह मात्रा है जो रोबोट ने डिग्री या चक्करों में मापी है। किसी प्रोजेक्ट की शुरुआत में, रोटेशन का मान 0 डिग्री पर सेट होता है। rotation रोबोट का वर्तमान रोटेशन दर्शाता है।

दाहिनी ओर मुड़ने से घूर्णन बढ़ता है, और बाईं ओर मुड़ने से घूर्णन घटता है। उदाहरण के लिए, दाहिनी ओर दो पूरे चक्कर लगाने से 720 डिग्री का घूर्णन प्राप्त होगा।

Usage:
drivetrain.rotation(units)

पैरामीटर

विवरण

units

वैकल्पिक। घूर्णन की इकाई: DEGREES (डिफ़ॉल्ट) या TURNSएक चक्कर 360 डिग्री के बराबर होता है।

# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())

velocity#

velocity यह बताता है कि रोबोट कितनी तेजी से चल रहा है।

यह वेग को प्रतिशत के रूप में -100% से 100% तक, RPM से -127 rpm से 127 rpm तक, या VelocityUnits.DPSमें लौटा सकता है। धनात्मक मान का अर्थ है कि रोबोट आगे की ओर चल रहा है। ऋणात्मक मान का अर्थ है कि रोबोट पीछे की ओर चल रहा है।

Usage:
drivetrain.velocity(units)

पैरामीटर

विवरण

units

वैकल्पिक। वेग लौटाने की इकाई: PERCENT (डिफ़ॉल्ट), RPM (प्रति मिनट घूर्णन), या VelocityUnits.DPS (डिग्री प्रति सेकंड)।

current#

current मान ड्राइवट्रेन द्वारा उपयोग की जा रही विद्युत धारा की मात्रा को दर्शाता है, जिसे एम्पीयर में मापा जाता है। धारा ड्राइवट्रेन से प्रवाहित होने वाली विद्युत की मात्रा है।

उच्च विद्युत धारा का मान यह दर्शाता है कि ड्राइवट्रेन अधिक विद्युत धारा का उपयोग कर रहा है। ऐसा तब हो सकता है जब रोबोट किसी वस्तु को धक्का दे रहा हो या किसी वस्तु में फंस जाने पर आगे बढ़ने का प्रयास कर रहा हो।

इसका उपयोग यह जांचने के लिए किया जा सकता है कि गति के दौरान ड्राइवट्रेन को कोई समस्या तो नहीं हो रही है। यदि करंट अधिक बना रहता है, तो ड्राइवट्रेन गर्म हो सकती है या बिजली का उपयोग कम कुशलता से कर सकती है।

Usage:
drivetrain.current(units)

पैरामीटर

विवरण

units

वैकल्पिक। वर्तमान लौटाने की इकाई: CurrentUnits.AMP (एम्प्स, डिफ़ॉल्ट)।

is_moving#

is_moving बूलियन मान के रूप में बताता है कि रोबोट चल रहा है या नहीं। इसका उपयोग रोबोट की गति के आधार पर अन्य व्यवहारों के समय को नियंत्रित करने के लिए किया जा सकता है।

  • True — रोबोट चल रहा है।

  • False — रोबोट हिल नहीं रहा है।

यह विधि निम्नलिखित ड्राइवट्रेन विधियों के साथ मिलकर काम करती है जिनमें wait पैरामीटर है: drive_for, turn_for, turn_to_heading, और turn_to_rotation।

Usage:
drivetrain.is_moving()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

is_done#

is_done बूलियन मान के रूप में बताता है कि रोबोट ने चलना समाप्त कर दिया है या नहीं। इसका उपयोग रोबोट की गति के आधार पर अन्य व्यवहारों के समय को नियंत्रित करने के लिए किया जा सकता है।

  • True — रोबोट का चलना समाप्त हो गया है।

  • False — रोबोट अभी भी चल रहा है।

यह विधि निम्नलिखित ड्राइवट्रेन विधियों के साथ मिलकर काम करती है जिनमें wait पैरामीटर है: drive_for, turn_for, turn_to_heading, और turn_to_rotation।

Usage:
drivetrain.is_done()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

is_turning#

is_turning बूलियन मान के रूप में यह बताता है कि रोबोट मुड़ रहा है या नहीं। इसका उपयोग रोबोट की गति के आधार पर अन्य व्यवहारों के समय को नियंत्रित करने के लिए किया जा सकता है।

  • True — रोबोट मुड़ रहा है।

  • False — रोबोट नहीं घूम रहा है।

यह विधि निम्नलिखित ड्राइवट्रेन विधियों के साथ मिलकर काम करती है जिनमें wait पैरामीटर है: turn_for, turn_to_heading, और turn_to_rotation।

Usage:
drivetrain.is_turning()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

power#

power ड्राइवट्रेन द्वारा उपयोग की जा रही शक्ति की मात्रा को वाट में दर्शाता है। पावर यह भी दर्शाता है कि ड्राइवट्रेन कितनी तेजी से ऊर्जा का उपयोग कर रहा है।

उच्च शक्ति मान का अर्थ है कि ड्राइवट्रेन तेजी से ऊर्जा का उपयोग कर रहा है। ऐसा तब हो सकता है जब रोबोट किसी वस्तु को धकेल रहा हो या फंस जाने पर आगे बढ़ने की कोशिश कर रहा हो।

इसका उपयोग गतिविधियों की तुलना करने या ड्राइवट्रेन की कार्यक्षमता की जाँच करने के लिए किया जा सकता है। यदि पावर का स्तर उच्च बना रहता है, तो ड्राइवट्रेन गर्म हो सकती है या ऊर्जा का उपयोग कम कुशलता से कर सकती है।

Usage:
drivetrain.power()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

torque#

टॉर्क यह दर्शाता है कि पहिए घूमते समय ड्राइवट्रेन कितनी ताकत से धक्का दे सकता है या खींच सकता है।

torque यह बताता है कि ड्राइवट्रेन कितना टॉर्क इस्तेमाल कर रहा है, जिसे न्यूटन-मीटर (Nm) या इंच-पाउंड (InLb) में मापा जाता है।

टॉर्क का उच्च मान यह दर्शाता है कि ड्राइवट्रेन अधिक बल से धक्का दे रहा है या खींच रहा है। ऐसा तब हो सकता है जब रोबोट किसी वस्तु के विरुद्ध धक्का दे रहा हो या फंस जाने पर आगे बढ़ने का प्रयास कर रहा हो।

इसका उपयोग यह जांचने के लिए किया जा सकता है कि ड्राइवट्रेन में कोई समस्या तो नहीं है या विभिन्न गतिविधियों के लिए कितनी ताकत की आवश्यकता होती है, इसकी तुलना करने के लिए किया जा सकता है।

Usage:
drivetrain.torque(units)

पैरामीटर

विवरण

units

वैकल्पिक। टॉर्क लौटाने की इकाई: TorqueUnits.NM (न्यूटन मीटर, डिफ़ॉल्ट) या TorqueUnits.INLB (इंच पाउंड)।

efficiency#

efficiency यह बताता है कि ड्राइवट्रेन कितनी कुशलता से बिजली का उपयोग कर रहा है, प्रतिशत के रूप में, 0% से 100% तक।

दक्षता दर्शाती है कि ड्राइवट्रेन की कितनी शक्ति गति के लिए उपयोग हो रही है। उच्च दक्षता मान का अर्थ है कि ड्राइवट्रेन की अधिक शक्ति गति में उपयोग हो रही है। कम दक्षता मान तब हो सकता है जब ड्राइवट्रेन कड़ी मेहनत कर रहा हो लेकिन गति कम हो रही हो, जैसे कि जब रोबोट कहीं फंस गया हो या किसी वस्तु से टकरा रहा हो।

इसका उपयोग गतिविधियों की तुलना करने या यह जांचने के लिए किया जा सकता है कि क्या ड्राइवट्रेन गति के लिए उपयोग करने के बजाय शक्ति को बर्बाद कर रहा है।

Usage:
drivetrain.efficiency()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

temperature#

temperature चयनित तापमान इकाई में ड्राइवट्रेन का औसत तापमान लौटाता है।

तापमान से पता चलता है कि ड्राइवट्रेन मोटर कितनी गर्म हैं। अधिक तापमान का मतलब है कि मोटर काम करते समय गर्म हो रही हैं। मोटरों को पूरी क्षमता से काम करने के लिए 55°C से नीचे तापमान पर रखना चाहिए।

यदि मोटरें बहुत अधिक गर्म हो जाती हैं, तो वे स्वयं को बचाने के लिए अपनी अधिकतम धारा कम कर देती हैं। 70°C पर, मोटरें तब तक चलना बंद कर देंगी जब तक वे ठंडी नहीं हो जातीं।

इसका उपयोग यह जांचने के लिए किया जा सकता है कि बार-बार चलने, लंबे समय तक चलने या किसी वस्तु के विरुद्ध धक्का देने के दौरान ड्राइवट्रेन बहुत अधिक गर्म तो नहीं हो रहा है।

Usage:
drivetrain.temperature(units)

पैरामीटर

विवरण

units

वैकल्पिक। तापमान लौटाने की इकाई: TemperatureUnits.CELSIUS (डिफ़ॉल्ट) या TemperatureUnits.FAHRENHEIT।

कंस्ट्रक्टर्स#

कोड में DriveTrain और SmartDrive ऑब्जेक्ट बनाने के लिए कंस्ट्रक्टर का उपयोग किया जाता है। यह तब उपयोगी होता है जब डिवाइसेस विंडो का उपयोग किए बिना ड्राइवट्रेन को कॉन्फ़िगर करना हो।

ड्राइवट्रेन बनाने से पहले कम से कम दो Motor या MotorGroup ऑब्जेक्ट बनाए जाने चाहिए।

DriveTrain#

DriveTrain एक ड्राइवट्रेन बनाता है बिना जड़त्वीय सेंसर या जाइरो सेंसर।

Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

पैरामीटर

विवरण

lm

बायां मोटर या मोटर समूह.

rm

दायाँ मोटर या मोटर समूह.

wheelTravel

वैकल्पिक। ड्राइवट्रेन के पहियों की परिधि। डिफ़ॉल्ट मान 300 मिलीमीटर है।

trackWidth

यह वैकल्पिक है। बाएँ और दाएँ पहियों के बीच की चौड़ाई। डिफ़ॉल्ट मान 320 मिलीमीटर है।

wheelBase

यह वैकल्पिक है। आगे और पीछे के पहियों के बीच की दूरी। डिफ़ॉल्ट मान 320 मिलीमीटर है।

units

वैकल्पिक। wheelTravel, trackWidth, और wheelBaseके लिए इकाई: MM (डिफ़ॉल्ट), INCHES, या DistanceUnits.CM (सेंटीमीटर)।

externalGearRatio

यह वैकल्पिक है। यदि गियर का उपयोग किया जाता है, तो ड्राइव दूरी को समायोजित करने के लिए उपयोग किया जाने वाला गियर अनुपात। यह integer या दशमलव (float) हो सकता है। डिफ़ॉल्ट मान 1.0 है।

# Create left and right drive motor objects
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT2, 1.0, True)

'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)

# Create two motor group objects for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)

right_motor_a = Motor(Ports.PORT3, 1.0, True)
right_motor_b = Motor(Ports.PORT4, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)

'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)

SmartDrive#

SmartDrive एक ड्राइवट्रेन बनाता है जो जड़त्वीय सेंसर या जाइरो सेंसर के साथ कॉन्फ़िगर किया गया है।

Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

पैरामीटर

विवरण

lm

बायां मोटर या मोटर समूह.

rm

दायाँ मोटर या मोटर समूह.

g

ड्राइवट्रेन द्वारा उपयोग किया जाने वाला जड़त्वीय सेंसर या जाइरो सेंसर।

wheelTravel

वैकल्पिक। ड्राइवट्रेन के पहियों की परिधि। डिफ़ॉल्ट मान 300 मिलीमीटर है।

trackWidth

यह वैकल्पिक है। बाएँ और दाएँ पहियों के बीच की चौड़ाई। डिफ़ॉल्ट मान 320 मिलीमीटर है।

wheelBase

यह वैकल्पिक है। आगे और पीछे के पहियों के बीच की दूरी। डिफ़ॉल्ट मान 320 मिलीमीटर है।

units

वैकल्पिक। wheelTravel, trackWidth, और wheelBaseके लिए इकाई: MM (मिलीमीटर, डिफ़ॉल्ट) या INCHES।

externalGearRatio

यह वैकल्पिक है। यदि गियर का उपयोग किया जाता है, तो ड्राइव दूरी को समायोजित करने के लिए उपयोग किया जाने वाला गियर अनुपात। यह integer या दशमलव (float) हो सकता है। डिफ़ॉल्ट मान 1.0 है।

# Create the Inertial Sensor
brain_inertial = Inertial()

# Make left and right drive motors
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT6, 1.0, True)

# Create a SmartDrive object with wheelTravel 200
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)

यदि आप कई मोटरों के साथ एक स्मार्ट ड्राइवट्रेन बना रहे हैं, तो आपको मोटरों को एक मोटर समूह में समूहित करने से पहले उन्हें अलग-अलग बनाना होगा।

# Create the Inertial Sensor
brain_inertial = Inertial()

# Create two motor groups for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)

right_motor_a = Motor(Ports.PORT5, 1.0, True)
right_motor_b = Motor(Ports.PORT6, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)

# Create a SmartDrive object with wheelTravel 200 mm
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)