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

परिचय#

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

एक drivetrain दिशा-आधारित या घूर्णन-आधारित मोड़ों के लिए जड़त्वीय संवेदक, जाइरो संवेदक, या जीपीएस संवेदक का उपयोग नहीं करता है। यह आगे या पीछे चल सकता है और बाएँ या दाएँ मुड़ सकता है, लेकिन यह किसी विशिष्ट दिशा या घूर्णन पर नहीं मुड़ सकता है। दिशा-आधारित और घूर्णन-आधारित मोड़ों के लिए, smartdrive वर्ग का उपयोग करें।

व्युत्पन्न वर्ग#

drivetrain क्लास निम्नलिखित व्युत्पन्न क्लासों के लिए आधार क्लास के रूप में कार्य करती है:

  • smartdrive - यह क्लास हेडिंग-आधारित और रोटेशन-आधारित मोड़ों को सक्षम करने के लिए इनर्टियल सेंसर, जीपीएस सेंसर या जाइरो सेंसर समर्थन जोड़ता है।

क्लास कंस्ट्रक्टर#

1 - बाएँ (&l) और दाएँ (&r) पक्षों के लिए मौजूदा motor_group ऑब्जेक्ट का उपयोग करके एक ड्राइवट्रेन बनाता है।

drivetrain(
    motor_group      &l,
    motor_group      &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

2 - बाएँ (&l) और दाएँ (&r) पक्षों के लिए मौजूदा motor ऑब्जेक्ट का उपयोग करके एक ड्राइवट्रेन बनाता है।

drivetrain(
    motor            &l,
    motor            &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

क्लास डिस्ट्रक्टर#

drivetrain ऑब्जेक्ट को नष्ट करता है और उससे जुड़े संसाधनों को मुक्त करता है।

virtual ~drivetrain();

पैरामीटर#

पैरामीटर

प्रकार

विवरण

&l / &r

motor_group / motor

बाएँ और दाएँ मोटर या मोटर समूह। दोनों पैरामीटरों में एक ही प्रकार का उपयोग होना चाहिए: या तो दो motor_group ऑब्जेक्ट या दो motor ऑब्जेक्ट।

wheelTravel

double

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

trackWidth

double

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

wheelBase

double

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

unit

distanceUnits

wheelTravel, trackWidth, और wheelBaseके लिए इकाई: mm (मिलीमीटर, डिफ़ॉल्ट) या inches।

externalGearRatio

double

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

उदाहरण#

// Create the left and right motor objects
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor object
    rightMotor, // right motor object
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

सदस्य कार्य#

drivetrain क्लास में निम्नलिखित सदस्य फ़ंक्शन शामिल हैं:

कार्य - रोबोट को हिलाएं और घुमाएं।

  • drive - रोबोट को हमेशा के लिए आगे या पीछे ले जाता है।

  • driveFor - रोबोट को एक विशिष्ट दूरी के लिए आगे या पीछे ले जाता है।

  • turn - रोबोट को हमेशा के लिए बाएँ या दाएँ घुमाता है।

  • turnFor - रोबोट को एक विशिष्ट संख्या में डिग्री के लिए बाएँ या दाएँ घुमाता है।

  • stop - रोबोट की गति को रोकता है।

सेटिंग्स - ड्राइवट्रेन सेटिंग्स समायोजित करें।

  • setDriveVelocity - रोबोट को बताता है कि कितनी तेज़ी से ड्राइव करना है।

  • setTurnVelocity - रोबोट को बताता है कि कितनी तेज़ी से मुड़ना है।

  • setStopping - बताता है कि रोबोट कैसे चलना बंद करेगा: ब्रेकिंग, कोस्टिंग या होल्डिंग द्वारा।

  • setTimeout - यह निर्धारित करता है कि रोबोट किसी गतिविधि को पूरा करने के लिए कितने सेकंड का प्रयास करेगा।

मान - गतिविधि की स्थिति जांचें।

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

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

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

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

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

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

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

  • temperature - बताता है कि ड्राइवट्रेन कितना गर्म है।

  • voltage - ड्राइवट्रेन को आपूर्ति की गई विद्युत वोल्टेज लौटाता है।

किसी भी drivetrain सदस्य फ़ंक्शन को कॉल करने से पहले, एक drivetrain ऑब्जेक्ट बनाना आवश्यक है, जैसा कि नीचे दिखाया गया है:

/* This constructor is required when using VS Code.
Drivetrain configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the left and right motor objects
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor object
    rightMotor, // right motor object
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

कार्रवाई#

गाड़ी चलाना#

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

Available Functions

1 - वर्तमान में कॉन्फ़िगर किए गए ड्राइव वेग का उपयोग करके ड्राइव करता है।

void drive(
    directionType dir );

2 - निर्दिष्ट वेग से चलता है।

void drive(
    directionType dir,
    double        velocity,
    velocityUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

dir

directionType

रोबोट की गति की दिशा: forward या reverse.

velocity

double

वेग 0% से 100% तक होता है जब velocityUnits::pctउपयोग किया जाता है, 0 से 600 rpm तक जब rpmका उपयोग किया जाता है, या 0 से 3600 डिग्री प्रति सेकंड तक जब dpsका उपयोग किया जाता है। यदि कोई वेग प्रदान नहीं किया जाता है, तो रोबोट वर्तमान ड्राइव वेग पर चलता है।

units

velocityUnits

वेग इकाई: velocityUnits::pct (प्रतिशत), rpm (प्रति मिनट घूर्णन), या dps (प्रति सेकंड डिग्री)।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Notes
  • drive प्रतीक्षा नहीं कर रहा है; कॉल के तुरंत बाद प्रोजेक्ट कोड की अगली पंक्ति को निष्पादित करना जारी रखेगा।

  • ड्राइवट्रेन तब तक चलती रहेगी जब तक stop को कॉल नहीं किया जाता है या कोई अन्य ड्राइवट्रेन मूवमेंट फ़ंक्शन (जैसे driveFor या turn) निष्पादित नहीं किया जाता है।

  • isDone और isMoving जैसे फ़ंक्शन driveपर लागू नहीं होते हैं, क्योंकि यह लक्ष्य-आधारित गति का उपयोग नहीं करता है (इसमें distance पैरामीटर नहीं है)।

Examples
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();

ड्राइव के लिए#

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

Available Functions

1 - वर्तमान कॉन्फ़िगर किए गए ड्राइव वेग का उपयोग करके निर्दिष्ट दिशा में दूरी तक ड्राइव करता है।

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

2 - वर्तमान कॉन्फ़िगर किए गए ड्राइव वेग का उपयोग करके दूरी पर निर्भर दिशा में ड्राइव करता है।

bool driveFor(
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

3 - दूरी के आधार पर निर्दिष्ट वेग से दिशा में ड्राइव करता है।

bool driveFor(
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - निर्दिष्ट दिशा में निर्दिष्ट वेग से दूरी तक ड्राइव करता है।

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

पैरामीटर

प्रकार

विवरण

dir

directionType

रोबोट की गति की दिशा: forward या reverse.

distance

double

रोबोट द्वारा तय की गई दूरी।

units

distanceUnits

दूरी की इकाई: mm (मिलीमीटर), inches, या cm (सेंटीमीटर)।

velocity

double

वेग 0% से 100% तक होता है जब velocityUnits::pctउपयोग किया जाता है, 0 से 600 rpm तक जब rpmका उपयोग किया जाता है, या 0 से 3600 डिग्री प्रति सेकंड तक जब dpsका उपयोग किया जाता है। यदि कोई वेग प्रदान नहीं किया जाता है, तो रोबोट वर्तमान ड्राइव वेग पर चलता है।

units_v

velocityUnits

वेग इकाई: velocityUnits::pct (प्रतिशत), rpm (प्रति मिनट घूर्णन), या dps (प्रति सेकंड डिग्री)।

waitForCompletion

bool

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

Return Values

यह एक बूलियन मान के रूप में बताता है कि रोबोट लक्ष्य दूरी तक पहुंचा या नहीं।

  • true - रोबोट लक्ष्य दूरी तक पहुंच गया।

  • false - रोबोट ने गति पूरी नहीं की, या फ़ंक्शन गति पूरी होने से पहले ही लौट आया क्योंकि waitForCompletion false पर सेट किया गया था।

Notes
  • drive प्रगति में रहते हुए किसी अन्य ड्राइवट्रेन मूवमेंट फ़ंक्शन (जैसे turnFor या driveFor) को निष्पादित करने से वर्तमान मूवमेंट बाधित हो जाएगा।

  • क्योंकि driveFor लक्ष्य-आधारित है ( driveFor पैरामीटर का उपयोग करता है), isDone और isMoving जैसे फ़ंक्शन distance के साथ काम करते हैं।

Examples
// Drive 200 mm, then back 200 mm
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);

मोड़#

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

Available Functions

1 - वर्तमान कॉन्फ़िगर किए गए मोड़ वेग का उपयोग करके मुड़ता है।

void turn(
    turnType dir );

2 - निर्दिष्ट वेग पर मुड़ता है।

void turn(
    turnType     dir,
    double       velocity,
    velocityUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

dir

turnType

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

velocity

double

velocityUnits::pctउपयोग करते समय, 0% से 100% तक, rpmका उपयोग करते समय, 0 से 600 rpm तक, या dpsका उपयोग करते समय, 0 से 3600 डिग्री प्रति सेकंड तक घूमने की गति दी जाती है। यदि कोई गति प्रदान नहीं की जाती है, तो रोबोट वर्तमान घूमने की गति से घूमता है।

units

velocityUnits

वेग इकाई: velocityUnits::pct (प्रतिशत), rpm (प्रति मिनट घूर्णन), या dps (प्रति सेकंड डिग्री)।

Return Values This function does not return a value. Notes
  • turn प्रतीक्षा नहीं करता है; कॉल के तुरंत बाद प्रोजेक्ट कोड की अगली पंक्ति को निष्पादित करना जारी रखेगा।

  • ड्राइवट्रेन तब तक घूमता रहेगा जब तक stop को कॉल नहीं किया जाता है या कोई अन्य ड्राइवट्रेन मूवमेंट फ़ंक्शन (जैसे turnFor या drive) निष्पादित नहीं किया जाता है।

  • isDone और isMoving जैसे फ़ंक्शन turnपर लागू नहीं होते हैं, क्योंकि यह लक्ष्य-आधारित गति का उपयोग नहीं करता है (इसमें angle पैरामीटर नहीं है)।

Examples
// Turn right, then left, then stop
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();

मोड़ के लिए#

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

Available Functions

1 - वर्तमान कॉन्फ़िगर किए गए मोड़ वेग का उपयोग करके निर्दिष्ट कोण के लिए मोड़।

bool turnFor(
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

2 - वर्तमान कॉन्फ़िगर किए गए मोड़ वेग का उपयोग करके एक कोण के लिए निर्दिष्ट दिशा में मुड़ता है।

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

3 - निर्दिष्ट वेग पर निर्दिष्ट कोण के लिए घुमाव।

bool turnFor(
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - निर्दिष्ट वेग से एक कोण के लिए निर्दिष्ट दिशा में मुड़ता है।

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

पैरामीटर

प्रकार

विवरण

dir

turnType

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

angle

double

रोबोट के घूमने का कोण।

units

rotationUnits

घूर्णन इकाई: deg (डिग्री), rev (परिक्रमण), या raw (कच्ची इकाई)। एक परिक्रमण 360 डिग्री के बराबर होता है।

velocity

double

velocityUnits::pctउपयोग करते समय, 0% से 100% तक, rpmका उपयोग करते समय, 0 से 600 rpm तक, या dpsका उपयोग करते समय, 0 से 3600 डिग्री प्रति सेकंड तक घूमने की गति दी जाती है। यदि कोई गति प्रदान नहीं की जाती है, तो रोबोट वर्तमान घूमने की गति से घूमता है।

units_v

velocityUnits

वेग इकाई: velocityUnits::pct (प्रतिशत), rpm (प्रति मिनट घूर्णन), या dps (प्रति सेकंड डिग्री)।

waitForCompletion

bool

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

Return Values

यह एक बूलियन मान के रूप में बताता है कि रोबोट लक्ष्य कोण तक पहुंचा या नहीं।

  • true - रोबोट लक्ष्य कोण तक पहुंच गया।

  • false - रोबोट ने बारी पूरी नहीं की, या फ़ंक्शन बारी पूरी होने से पहले ही लौट आया क्योंकि waitForCompletion false पर सेट किया गया था।

Notes
  • किसी अन्य ड्राइवट्रेन मूवमेंट फ़ंक्शन (जैसे turn या drive) को निष्पादित करना जबकि turnFor प्रगति में है, वर्तमान मूवमेंट को बाधित करेगा।

  • क्योंकि turnFor लक्ष्य-आधारित है ( turnFor पैरामीटर का उपयोग करता है), isDone और isMoving जैसे फ़ंक्शन angle के साथ काम करते हैं।

Examples
// Turn right then left
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);

रुकना#

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

Available Functions

1 - वर्तमान में कॉन्फ़िगर किए गए रोकने मोड का उपयोग करके ड्राइवट्रेन को रोकता है।

void stop();

2 - निर्दिष्ट ब्रेक मोड का उपयोग करके ड्राइवट्रेन को रोकता है।

void stop(
    brakeType mode );

Parameters

पैरामीटर

प्रकार

विवरण

mode

brakeType

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

  • brake - तुरंत रुक जाता है।
  • coast - धीरे-धीरे रुक जाता है।
  • hold - तुरंत रुक जाता है और पहियों की स्थिति को बनाए रखता है।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Examples
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

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

सेटड्राइववेलोसिटी#

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

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

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

Available Functions
void  setDriveVelocity(
  double velocity,
  velocityUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

velocity

double

velocityUnits::pctउपयोग करते समय 0% से 100% तक, rpmका उपयोग करते समय 0 से 600 rpm तक, या dps का उपयोग करते समय 0 से 3600 डिग्री प्रति सेकंड तक ड्राइव करने के लिए वेग।

units

velocityUnits

वेग इकाई: velocityUnits::pct (प्रतिशत), rpm (प्रति मिनट घूर्णन), या dps (प्रति सेकंड डिग्री)।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Notes
  • ड्राइव वेलोसिटी सभी बाद के ड्राइवट्रेन मूवमेंट फ़ंक्शन (जैसे drive और driveFor) पर लागू होती है जब तक कि फ़ंक्शन कॉल में एक विशिष्ट वेलोसिटी प्रदान नहीं की जाती है।

Examples
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

सेट टर्न वेलोसिटी#

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

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

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

Available Functions
void  setTurnVelocity(
  double velocity,
  velocityUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

velocity

double

velocityUnits::pctका उपयोग करते समय 0% से 100% तक, rpmका उपयोग करते समय 0 से 600 rpm तक, या dps का उपयोग करते समय 0 से 3600 डिग्री प्रति सेकंड तक घूमने की गति।

units

velocityUnits

वेग की इकाई: percent या pct (प्रतिशत), rpm (प्रति मिनट घूर्णन), या dps (डिग्री प्रति सेकंड)।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Notes
  • टर्न वेलोसिटी बाद के सभी ड्राइवट्रेन टर्निंग फ़ंक्शन (जैसे turn और turnFor) पर लागू होती है जब तक कि फ़ंक्शन कॉल में एक विशिष्ट वेलोसिटी प्रदान नहीं की जाती है।

Examples
// Try default, slow, then fast
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(20, percent);
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(100, percent);
myDrivetrain.turnFor(right, 360, degrees);

सेटस्टॉपिंग#

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

Available Functions
void setStopping(
  brakeType mode );

Parameters

पैरामीटर

प्रकार

विवरण

mode

brakeType

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

  • brake - तुरंत रुक जाता है।
  • coast - धीरे-धीरे रुक जाता है।
  • hold - तुरंत रुक जाता है और पहियों की स्थिति को बनाए रखता है।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Notes
  • स्टॉपिंग मोड सभी बाद के stop कॉल पर लागू होता है जब तक कि फ़ंक्शन कॉल में एक विशिष्ट स्टॉपिंग मोड प्रदान नहीं किया जाता है।

सेटटाइमआउट#

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

Available Functions
void  setTimeout(
  int32_t time,
  timeUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

time

int32_t

रोबोट को किसी गतिविधि को पूरा करने के लिए मिलने वाला समय। यह एक धनात्मक पूर्णांक होना चाहिए।

units

timeUnits

समय की इकाई: sec या msec।

Return Values

इस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।

Notes
  • टाइमआउट केवल लक्ष्य-आधारित ड्राइवट्रेन मूवमेंट फ़ंक्शन (जैसे driveFor और turnFor) पर लागू होता है।

Examples
// Start turning if driving takes too long
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);

टिककर खेल#

कर दिया है#

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

Available Functions
bool isDone( void );

Parameters

यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

Return Values
  • true - रोबोट का चलना समाप्त हो गया है।

  • false - रोबोट अभी भी चल रहा है।

Notes
  • isDone लक्ष्य-आधारित ड्राइवट्रेन आंदोलनों (लक्ष्य की ओर बढ़ने वाले फ़ंक्शन, जैसे driveFor और turnFor) के साथ संगत है।

  • isDone drive और turn जैसे कार्यों के साथ संगत नहीं है, क्योंकि वे लक्ष्य-आधारित गति का उपयोग नहीं करते हैं।

चल रहा है#

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

Available Functions
virtual bool isMoving( void );

Parameters

यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।

Return Values
  • true - रोबोट चल रहा है।

  • false - रोबोट हिल नहीं रहा है।

Notes
  • isMoving लक्ष्य-आधारित ड्राइवट्रेन आंदोलनों (लक्ष्य की ओर बढ़ने वाले फ़ंक्शन, जैसे driveFor और turnFor) के साथ संगत है।

  • isMoving drive और turn जैसे कार्यों के साथ संगत नहीं है, क्योंकि वे लक्ष्य-आधारित गति का उपयोग नहीं करते हैं।

वेग#

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

धनात्मक मान का अर्थ है कि रोबोट आगे की ओर चल रहा है। ऋणात्मक मान का अर्थ है कि रोबोट पीछे की ओर चल रहा है।

Available Functions
double velocity(
  velocityUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

units

velocityUnits

वेग की इकाई: percent या pct (प्रतिशत), rpm (प्रति मिनट घूर्णन), या dps (डिग्री प्रति सेकंड)।

Return Values

चयनित इकाई में ड्राइवट्रेन वेग को double के रूप में लौटाता है।

Examples
// Show velocity before and during motion
Brain.Screen.print("Resting: %f", myDrivetrain.velocity(percent));
myDrivetrain.drive(forward, 100, velocityUnits::pct);
wait(1, seconds);
Brain.Screen.newLine();
Brain.Screen.print("Moving: %f", myDrivetrain.velocity(percent));
myDrivetrain.stop();

मौजूदा#

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

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

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

Available Functions

1 - ड्राइवट्रेन की विद्युत धारा को एम्पीयर में लौटाता है।

double current(
    currentUnits units = currentUnits::amp );

2 - ड्राइवट्रेन की विद्युत धारा को अधिकतम के प्रतिशत के रूप में लौटाता है।

double current(
    percentUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

units

currentUnits

करंट लौटाने की इकाई: amp (एम्पीयर, डिफ़ॉल्ट)।

units

percentUnits

वर्तमान लौटाने की इकाई: percent या pct.

Return Values

चयनित इकाई में ड्राइवट्रेन करंट को double के रूप में लौटाता है।

शक्ति#

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

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

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

Available Functions
double power(
  powerUnits units = powerUnits::watt );

Parameters

पैरामीटर

प्रकार

विवरण

units

powerUnits

शक्ति इकाई: watt (वाट, डिफ़ॉल्ट)।

Return Values

ड्राइवट्रेन पावर को वाट में double के रूप में लौटाता है।

टॉर्कः#

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

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

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

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

Available Functions
double torque(
  torqueUnits units = torqueUnits::nm );

Parameters

पैरामीटर

प्रकार

विवरण

units

torqueUnits

टॉर्क लौटाने की इकाई: Nm (न्यूटन मीटर, डिफ़ॉल्ट) या InLb (इंच पाउंड)।

Return Values

चयनित इकाई में ड्राइवट्रेन टॉर्क को double के रूप में लौटाता है।

क्षमता#

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

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

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

Available Functions
double efficiency(
  percentUnits units = percentUnits::pct );

Parameters

पैरामीटर

प्रकार

विवरण

units

percentUnits

दक्षता लौटाने की इकाई: percent या pct (डिफ़ॉल्ट)।

Return Values

चयनित इकाई में ड्राइवट्रेन दक्षता को double

तापमान#

temperature ड्राइवट्रेन के औसत तापमान को 0% से 100% तक के प्रतिशत के रूप में लौटाता है।

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

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

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

Available Functions
double temperature(
  percentUnits units );

Parameters

पैरामीटर

प्रकार

विवरण

units

percentUnits

तापमान लौटाने की इकाई: percent या pct.

Return Values

चयनित इकाई में ड्राइवट्रेन का औसत तापमान double

Notes
  • 50% का लौटाया गया मान इंगित करता है कि औसत मोटर तापमान लगभग 45°C (113°F ) है।

  • ड्राइवट्रेन के लिए विशिष्ट परिचालन तापमान सीमा लगभग 20°C (68°F) से 70°C (158°F ) है।

वोल्टेज#

voltage ड्राइवट्रेन को आपूर्ति की गई विद्युत वोल्टेज लौटाता है।

वोल्टेज, ड्राइवट्रेन मोटरों को आपूर्ति किया जाने वाला विद्युत दबाव है। इसका उपयोग करंट और पावर मानों के साथ मिलकर यह समझने के लिए किया जा सकता है कि ड्राइवट्रेन विद्युत ऊर्जा का उपयोग कैसे कर रहा है।

Available Functions
double  voltage(
  voltageUnits units = voltageUnits::volt );

Parameters

पैरामीटर

प्रकार

विवरण

units

voltageUnits

वोल्टेज लौटाने की इकाई: volt (वोल्ट, डिफ़ॉल्ट) या voltageUnits::mV (मिलीवोल्ट)।

Return Values

चयनित इकाई में ड्राइवट्रेन वोल्टेज को double के रूप में लौटाता है।