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

परिचय#

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

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

ड्राइवट्रेन को कोड करने के कई तरीके हैं। इस पृष्ठ पर उदाहरण के तौर पर ड्राइवट्रेन का नाम 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 – वर्तमान टाइमआउट सेटिंग लौटाता है।

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

कार्रवाई#

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 600 rpm when using RPM, or from 0 to 3600 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

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

# 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 कमांड रोबोट को एक निश्चित दूरी तक आगे या पीछे ले जाता है। प्रोजेक्ट रोबोट के चलने के पूरा होने तक प्रतीक्षा करेगा, उसके बाद ही कोड की अगली पंक्ति चलेगी। RPM (डिग्री प्रति सेकंड) के लिए, सीमा ड्राइवट्रेन के गियर अनुपात द्वारा परिवर्तित की जाती है।

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

पैरामीटर

विवरण

direction

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

distance

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

units

वैकल्पिक। दूरी की इकाई: INCHES (डिफ़ॉल्ट) या MM (मिलीमीटर)।

velocity

Optional. The velocity to drive with from 0% to 100% when using PERCENT, from 0 to 600 rpm when using RPM, or from 0 to 3600 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 forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)

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 600 rpm when using RPM, or from 0 to 3600 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, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()

turn_for#

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

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 600 rpm when using RPM, or from 0 to 3600 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 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 डिग्री है।

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

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

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 600 rpm when using RPM, or from 0 to 3600 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 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 600 rpm when using RPM, or from 0 to 3600 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 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()

calibrate_drivetrain#

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

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

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

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

Usage:
calibrate_drivetrain()

पैरामीटर

विवरण

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

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

set_drive_velocity#

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

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

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

Usage:
drivetrain.set_drive_velocity(velocity, units)

पैरामीटर

विवरण

velocity

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

units

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

# 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 रोबोट को बताता है कि उसे कितनी गति से मुड़ना है। उच्च प्रतिशत मान रोबोट को तेज़ी से घुमाता है और निम्न प्रतिशत मान रोबोट को धीरे घुमाता है। RPM (डिग्री प्रति सेकंड) के लिए, सीमा ड्राइवट्रेन के गियर अनुपात द्वारा परिवर्तित होती है।

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

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

Usage:
drivetrain.set_turn_velocity(velocity, units)

पैरामीटर

विवरण

velocity

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

units

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

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

पैरामीटर

विवरण

mode

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

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

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

set_timeout#

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

Usage:
drivetrain.set_timeout(value, units)

पैरामीटर

विवरण

value

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

units

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

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

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

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

नोट: यह विधि केवल तभी उपलब्ध है जब ड्राइवट्रेन को डिवाइस विंडो में इनर्टियल सेंसर, जीपीएस सेंसर, या जाइरो सेंसर के साथ कॉन्फ़िगर किया गया हो।

Usage:
drivetrain.set_turn_constant(value)

पैरामीटर

विवरण

value

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

set_turn_direction_reverse#

set_turn_direction_reverse यह बदलता है कि स्मार्ट ड्राइवट्रेन की मोड़ने की दिशा उलट दी जाए या नहीं।

This can be used if the drivetrain turns the opposite direction than expected after being manually configured in code. This method works the same as setting the reverse parameter to True when constructing a SmartDrive.

नोट: यह विधि केवल तभी उपलब्ध है जब ड्राइवट्रेन को डिवाइस विंडो में इनर्टियल सेंसर, जीपीएस सेंसर, या जाइरो सेंसर के साथ कॉन्फ़िगर किया गया हो।

Usage:
drivetrain.set_turn_direction_reverse(value)

पैरामीटर

विवरण

value

स्मार्ट ड्राइवट्रेन की मोड़ने की दिशा को उलटना है या नहीं: True मोड़ने की दिशा उलट देता है, और False डिफ़ॉल्ट मोड़ने की दिशा का उपयोग करता है।

टिककर खेल#

is_done#

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

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

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

यह विधि निम्नलिखित ड्राइवट्रेन विधियों के साथ मिलकर काम करती है जिनमें 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 डिग्री है।

नोट: यह विधि केवल तभी उपलब्ध है जब ड्राइवट्रेन को डिवाइस विंडो में इनर्टियल सेंसर, जीपीएस सेंसर, या जाइरो सेंसर के साथ कॉन्फ़िगर किया गया हो।

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में, या VelocityUnits.DPS (डिग्री प्रति सेकंड) में लौटा सकता है। धनात्मक मान का अर्थ है कि रोबोट आगे की ओर चल रहा है। ऋणात्मक मान का अर्थ है कि रोबोट पीछे की ओर चल रहा है।

Usage:
drivetrain.velocity(units)

पैरामीटर

विवरण

units

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

current#

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

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

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

Usage:
drivetrain.current(units)

पैरामीटर

विवरण

units

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

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।

get_timeout#

get_timeout मिलीसेकंड में वर्तमान में सेट टाइमआउट लौटाता है।

Usage:
drivetrain.get_timeout()

पैरामीटर

विवरण

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

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

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

ड्राइवट्रेन बनाने से पहले कम से कम दो 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 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 एक ड्राइवट्रेन बनाता है जो जड़त्वीय सेंसर, जीपीएस सेंसर, या जाइरो सेंसर के साथ कॉन्फ़िगर किया गया है।

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, या DistanceUnits.CM (सेंटीमीटर)।

externalGearRatio

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

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