ড্রাইভট্রেন#

ভূমিকা#

drivetrain একটি রোবটের চালনা ও মোড় নেওয়ার পদ্ধতি নিয়ন্ত্রণ করে। একটি ড্রাইভট্রেন মোটর এবং চাকা দিয়ে গঠিত, যা রোবটটিকে চালনা করার জন্য একত্রে কাজ করে।

একটি drivetrain হেডিং-ভিত্তিক বা ঘূর্ণন-ভিত্তিক মোড় নেওয়ার জন্য জাইরো সেন্সর বা ইনার্শিয়াল সেন্সর ব্যবহার করে না। এটি সামনে বা পিছনে যেতে পারে এবং বাম বা ডানে ঘুরতে পারে, কিন্তু এটি একটি নির্দিষ্ট হেডিং বা ঘূর্ণনে ঘুরতে পারে না। হেডিং-ভিত্তিক এবং ঘূর্ণন-ভিত্তিক মোড় নেওয়ার জন্য, smartdrive ক্লাস ব্যবহার করুন।

এই পৃষ্ঠায় উদাহরণস্বরূপ ড্রাইভট্রেনের নাম হিসেবে myDrivetrain ব্যবহার করা হয়েছে। প্রয়োজন অনুযায়ী এটিকে আপনার নিজের কনফিগার করা নাম দিয়ে প্রতিস্থাপন করুন।

উদ্ভূত শ্রেণী#

drivetrain ক্লাসটি নিম্নলিখিত ডিরাইভড ক্লাসের জন্য বেস ক্লাস হিসেবে কাজ করে:

  • smartdrive - জাইরো সেন্সর বা ইনার্শিয়াল সেন্সর সমর্থন সহ একটি ড্রাইভট্রেন তৈরি করে।

ক্লাস কনস্ট্রাক্টর#

1 - বাম এবং ডান দিকের জন্য বিদ্যমান 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 - বাম এবং ডান দিকের জন্য বিদ্যমান 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
    rightMotor, // right motor
    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
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

কর্ম#

ড্রাইভ#

ড্রাইভ drive রোবটটিকে অনির্দিষ্টকালের জন্য সামনে বা পেছনে চালায়। রোবটটি ততক্ষণ চলতে থাকবে যতক্ষণ না এটিকে মোড় নেওয়া বা থামানোর মতো অন্য কোনো কাজ দেওয়া হয়।

Available Functions

1 - বর্তমান ড্রাইভ বেগ ব্যবহার করে ড্রাইভ করে।

void drive(
    directionType dir );

2 - নির্দিষ্ট গতিতে গাড়ি চালায়।

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

Parameters

প্যারামিটার

প্রকার

বর্ণনা

dir

directionType

রোবটটি যেদিকে চলে: forward বা reverse।

velocity

double

velocityUnits::pctব্যবহার করলে চালনার গতি 0% থেকে 100%, rpmব্যবহার করলে 0 থেকে 120 rpm, অথবা dpsব্যবহার করলে 0 থেকে 720 ডিগ্রি প্রতি সেকেন্ড পর্যন্ত হয়। যদি কোনো গতি প্রদান করা না হয়, তবে রোবটটি বর্তমান চালনার গতিতে চলে।

units

velocityUnits

বেগের একক: velocityUnits::pct (শতাংশ), rpm (প্রতি মিনিটে ঘূর্ণন), অথবা dps (প্রতি সেকেন্ডে ডিগ্রি)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ড্রাইভ drive অপেক্ষারত নয়। প্রজেক্টটি সাথে সাথেই কোডের পরবর্তী লাইনটি চালাবে।

  • stop কল না করা পর্যন্ত অথবা অন্য কোনো ড্রাইভট্রেন মুভমেন্ট ফাংশন না চলা পর্যন্ত রোবটটি চলতে থাকবে।

  • isDone এবং isMoving , drive এর সাথে ব্যবহৃত হয় না কারণ drive কোনো টার্গেট ডিসটেন্স নেই।

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

ড্রাইভফর#

driveFor রোবটটিকে একটি নির্দিষ্ট দূরত্ব পর্যন্ত সামনে বা পিছনে নিয়ে যায়। রোবটটির চলা শেষ না হওয়া পর্যন্ত প্রজেক্টটি অপেক্ষা করবে এবং তারপরেই কোডের পরবর্তী লাইনটি রান করবে।

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

velocityUnits::pctব্যবহার করলে চালনার গতি 0% থেকে 100%, rpmব্যবহার করলে 0 থেকে 120 rpm, অথবা dpsব্যবহার করলে 0 থেকে 720 ডিগ্রি প্রতি সেকেন্ড পর্যন্ত হয়। যদি কোনো গতি প্রদান করা না হয়, তবে রোবটটি বর্তমান চালনার গতিতে চলে।

units_v

velocityUnits

বেগের একক: velocityUnits::pct (শতাংশ), rpm (প্রতি মিনিটে ঘূর্ণন), অথবা dps (প্রতি সেকেন্ডে ডিগ্রি)।

waitForCompletion

bool

true (ডিফল্ট) পরবর্তী কোড লাইনটি চলার আগে রোবটের নড়াচড়া শেষ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায়। false পরবর্তী কোড লাইনটি সাথে সাথে চালিয়ে দেয়।

Return Values

রোবটটি নির্ধারিত দূরত্বে পৌঁছেছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।

  • true - রোবটটি নির্ধারিত দূরত্বে পৌঁছেছে।

  • false - রোবটটি তার চলাচল শেষ করেনি, অথবা চলাচল সম্পূর্ণ হওয়ার আগেই ফাংশনটি রিটার্ন করেছে কারণ waitForCompletion false -এ সেট করা হয়েছিল।

Notes
  • driveFor চালু থাকা অবস্থায় অন্য কোনো ড্রাইভট্রেইন মুভমেন্ট ফাংশন চালালে বর্তমান মুভমেন্টটি বাধাগ্রস্ত হবে।

  • driveFor একটি লক্ষ্য দূরত্ব ব্যবহার করে, তাই isDone এবং isMoving এটির সাথে ব্যবহার করা যেতে পারে।

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

পালা#

turn রোবটটিকে অনির্দিষ্টকালের জন্য বামে বা ডানে ঘোরায়। রোবটটি ততক্ষণ ঘুরতে থাকবে যতক্ষণ না এটিকে চালানো বা থামানোর মতো অন্য কোনো কাজ দেওয়া হয়।

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 থেকে 120 rpm, অথবা dpsব্যবহার করলে 0 থেকে 720 ডিগ্রি প্রতি সেকেন্ড। যদি কোনো গতি প্রদান করা না হয়, তবে রোবটটি বর্তমান ঘোরার গতিতে ঘোরে।

units

velocityUnits

বেগের একক: velocityUnits::pct (শতাংশ), rpm (প্রতি মিনিটে ঘূর্ণন), অথবা dps (প্রতি সেকেন্ডে ডিগ্রি)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • turn হলো অপেক্ষাবিহীন। প্রজেক্টটি সাথে সাথেই কোডের পরবর্তী লাইনটি চালাবে।

  • stop কল না করা পর্যন্ত অথবা অন্য কোনো ড্রাইভট্রেন মুভমেন্ট ফাংশন না চলা পর্যন্ত রোবটটি ঘুরতে থাকবে।

  • isDone এবং isMoving turn এর সাথে ব্যবহৃত হয় না কারণ turn এর কোনো টার্গেট অ্যাঙ্গেল নেই।

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

টার্নফর#

turnFor রোবটটিকে একটি নির্দিষ্ট সংখ্যক ডিগ্রি, ঘূর্ণন বা একক অনুযায়ী বামে বা ডানে ঘোরায়। এই ঘূর্ণনটি রোবটের বর্তমান অবস্থানের সাপেক্ষে হয়। রোবটের ঘূর্ণন শেষ না হওয়া পর্যন্ত প্রজেক্টটি অপেক্ষা করবে এবং তারপরেই কোডের পরবর্তী লাইনটি চলবে।

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 (র ইউনিট)। এক ঘূর্ণন ৩৬০ ডিগ্রির সমান।

velocity

double

velocityUnits::pctব্যবহার করলে ঘোরার গতি 0% থেকে 100%, rpmব্যবহার করলে 0 থেকে 120 rpm, অথবা dpsব্যবহার করলে 0 থেকে 720 ডিগ্রি প্রতি সেকেন্ড। যদি কোনো গতি প্রদান করা না হয়, তবে রোবটটি বর্তমান ঘোরার গতিতে ঘোরে।

units_v

velocityUnits

বেগের একক: velocityUnits::pct (শতাংশ), rpm (প্রতি মিনিটে ঘূর্ণন), অথবা dps (প্রতি সেকেন্ডে ডিগ্রি)।

waitForCompletion

bool

true (ডিফল্ট) পরবর্তী কোড লাইনটি চলার আগে রোবটের ঘোরা শেষ না হওয়া পর্যন্ত প্রজেক্টটিকে অপেক্ষা করায়। false পরবর্তী কোড লাইনটি সাথে সাথে চালিয়ে দেয়।

Return Values

রোবটটি লক্ষ্যমাত্রার কোণে পৌঁছেছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।

  • true - রোবটটি লক্ষ্য কোণে পৌঁছেছে।

  • false - রোবটটি তার পালা শেষ করেনি, অথবা পালা সম্পূর্ণ হওয়ার আগেই ফাংশনটি রিটার্ন করেছে কারণ waitForCompletion false -এ সেট করা হয়েছিল।

Notes
  • turnFor চালু থাকা অবস্থায় অন্য কোনো ড্রাইভট্রেইন মুভমেন্ট ফাংশন চালালে বর্তমান মুভমেন্টটি বাধাগ্রস্ত হবে।

  • turnFor একটি লক্ষ্য কোণ ব্যবহার করে, তাই isDone এবং isMoving এটির সাথে ব্যবহার করা যেতে পারে।

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 রোবটকে বলে দেয় সে কত দ্রুত চলবে। শতাংশ রোবটকে দ্রুত এবং কম শতাংশ রোবটকে ধীরে চালায়।

প্রতিটি প্রকল্প ডিফল্টরূপে রোবটের ৫০% গতিতে চলার মাধ্যমে শুরু হয়।

দ্রষ্টব্য: উচ্চ বেগ রোবটকে দ্রুত চলতে সাহায্য করে, কিন্তু এর নির্ভুলতা কম হতে পারে। কম বেগ রোবটকে ধীরে চলতে সাহায্য করে, কিন্তু এর নির্ভুলতা বেশি হতে পারে।

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

Parameters

প্যারামিটার

প্রকার

বর্ণনা

velocity

double

velocityUnits::pctব্যবহার করলে চালনার গতি 0% থেকে 100%, rpmব্যবহার করলে 0 থেকে 120 rpm, অথবা dps ব্যবহার করলে 0 থেকে 720 ডিগ্রি প্রতি সেকেন্ড।

units

velocityUnits

বেগের একক: velocityUnits::pct (শতাংশ), rpm (প্রতি মিনিটে ঘূর্ণন), অথবা dps (প্রতি সেকেন্ডে ডিগ্রি)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ফাংশন কলে কোনো নির্দিষ্ট বেগ প্রদান করা না থাকলে, ড্রাইভের বেগটি পরবর্তী ড্রাইভট্রেন মুভমেন্ট ফাংশনগুলোতে ব্যবহৃত হয়।

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

সেটটার্নভেলোসিটি#

setTurnVelocity setTurnVelocity রোবটকে বলে দেয় সে কত দ্রুত ঘুরবে। বেশি শতাংশ রোবটকে দ্রুত ঘোরায় এবং কম শতাংশ রোবটকে ধীরে ঘোরায়।

প্রতিটি প্রকল্প ডিফল্টরূপে রোবটের ৫০% গতিতে ঘোরার মাধ্যমে শুরু হয়।

দ্রষ্টব্য: উচ্চ বেগ রোবটকে দ্রুত ঘোরাতে পারে, কিন্তু তা কম নির্ভুল হতে পারে। নিম্ন বেগ রোবটকে ধীরে ঘোরাতে পারে, কিন্তু তা আরও নির্ভুল হতে পারে।

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

Parameters

প্যারামিটার

প্রকার

বর্ণনা

velocity

double

velocityUnits::pctব্যবহার করলে ঘোরার গতি 0% থেকে 100%, rpmব্যবহার করলে 0 থেকে 120 rpm, অথবা dps ব্যবহার করলে 0 থেকে 720 ডিগ্রি প্রতি সেকেন্ড।

units

velocityUnits

বেগের একক: velocityUnits::pct (শতাংশ), rpm (প্রতি মিনিটে ঘূর্ণন), অথবা dps (প্রতি সেকেন্ডে ডিগ্রি)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • ফাংশন কলে কোনো নির্দিষ্ট বেগ প্রদান করা না থাকলে, বাঁকের বেগটি পরবর্তী ড্রাইভট্রেন বাঁক নেওয়ার ফাংশনগুলোতে ব্যবহৃত হয়।

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 কলগুলির জন্য স্টপিং মোডটি ব্যবহৃত হয়।

  • এই ফাংশনটি ব্যবহার না করা হলে, রোবটটি থামার সময় brake ব্রেক ব্যবহার করবে।

setTimeout#

setTimeout setTimeout নির্ধারণ করে যে রোবট একটি মুভমেন্ট শেষ করার জন্য কতক্ষণ চেষ্টা করবে। যদি রোবট সেই সময়ের মধ্যে কাজটি শেষ করতে না পারে, তবে এটি চেষ্টা করা বন্ধ করে দেবে এবং কোডের পরবর্তী লাইনে চলে যাবে। এর ফলে রোবট কোনো একটি মুভমেন্টে আটকে যায় না।

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

Parameters

প্যারামিটার

প্রকার

বর্ণনা

time

int32_t

একটি নড়াচড়া শেষ করার জন্য রোবটটি যে পরিমাণ সময় চেষ্টা করতে পারে। এটি একটি ধনাত্মক পূর্ণ সংখ্যা হওয়া উচিত।

units

timeUnits

সময়ের একক: sec (সেকেন্ড) অথবা msec (মিলিসেকেন্ড)।

Return Values

এই ফাংশনটি কোনো মান ফেরত দেয় না।

Notes
  • টাইমআউট শুধুমাত্র সেইসব ড্রাইভট্রেন ফাংশনের ক্ষেত্রে প্রযোজ্য যেগুলো কোনো লক্ষ্যের দিকে যায়, যেমন driveFor এবং turnFor।

Examples
// Turn right after driving forward.
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 নির্দেশ করে রোবটটি কত দ্রুত চলছে।

এটি বেগ শতাংশ হিসাবে, rpmবা dpsহিসাবে দেখাতে পারে। একটি ধনাত্মক মান মানে রোবটটি সামনের দিকে চলছে। একটি ঋণাত্মক মান মানে রোবটটি পিছনের দিকে চলছে।

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 শতাংশ হিসাবে দেখায়।

দক্ষতা দেখায় যে ড্রাইভট্রেনের শক্তির কতটা চলাচলের জন্য ব্যবহৃত হচ্ছে। দক্ষতার মান যত বেশি হবে, ড্রাইভট্রেনের শক্তির বেশি অংশ চলাচলের জন্য ব্যবহৃত হচ্ছে তা তত বেশি হবে। দক্ষতার মান কম হতে পারে যখন ড্রাইভট্রেন কঠোর পরিশ্রম করেও খুব বেশি নড়াচড়া করে না, যেমন যখন রোবটটি আটকে যায় বা কোনো বস্তুকে ধাক্কা দেয়।

এটি নড়াচড়া তুলনা করতে অথবা ড্রাইভট্রেনটি চলাচলের জন্য শক্তি ব্যবহার না করে অপচয় করছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে।

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

Parameters

প্যারামিটার

প্রকার

বর্ণনা

units

percentUnits

দক্ষতা ফেরত দেওয়ার একক: percent বা pct।

Return Values

নির্বাচিত ইউনিটে ড্রাইভট্রেন দক্ষতা double হিসাবে ফেরত দেয়।

তাপমাত্রা#

temperature ড্রাইভট্রেনের গড় তাপমাত্রা ০% থেকে ১০০% পর্যন্ত শতাংশ হিসাবে ফেরত দেয়।

তাপমাত্রা থেকে বোঝা যায় ড্রাইভট্রেইন মোটরগুলো কতটা গরম। তাপমাত্রা বেশি হওয়ার অর্থ হলো, কাজ করার সময় মোটরগুলো গরম হচ্ছে। পূর্ণ কর্মক্ষমতায় কাজ চালিয়ে যাওয়ার জন্য মোটরগুলোর তাপমাত্রা ৫৫° সেলসিয়াসের নিচে থাকা উচিত।

মোটরগুলো অতিরিক্ত গরম হয়ে গেলে, নিজেদের সুরক্ষার জন্য সেগুলোর সর্বোচ্চ কারেন্ট কমিয়ে দেবে। ৭০° সেলসিয়াস তাপমাত্রায়, মোটরগুলো ঠান্ডা না হওয়া পর্যন্ত চলা বন্ধ করে দেবে।

বারবার নড়াচড়া, দীর্ঘক্ষণ চলা, বা কোনো বস্তুকে ধাক্কা দেওয়ার সময় ড্রাইভট্রেনটি অতিরিক্ত গরম হয়ে যাচ্ছে কিনা, তা পরীক্ষা করতে এটি ব্যবহার করা যেতে পারে।

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. voltageUnits::mV মানে মিলিভোল্ট।

Return Values

ড্রাইভট্রেন ভোল্টেজকে নির্বাচিত এককে double হিসেবে ফেরত দেয়।