ড্রাইভট্রেন#
ভূমিকা#
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();
প্যারামিটার#
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
বাম এবং ডান মোটর বা মোটর গ্রুপ। উভয় প্যারামিটার অবশ্যই একই ধরনের হতে হবে: হয় দুটি |
|
|
ড্রাইভট্রেন চাকাগুলোর পরিধি। এর ডিফল্ট মান হলো |
|
|
বাম এবং ডান চাকার মধ্যবর্তী দূরত্ব। এর ডিফল্ট মান হলো |
|
|
সামনের ও পেছনের চাকার মধ্যবর্তী দূরত্ব। এর ডিফল্ট মান হলো |
|
|
|
|
|
গিয়ার ব্যবহার করা হলে, ড্রাইভের দূরত্ব সমন্বয় করার জন্য এই গিয়ার অনুপাতটি ব্যবহৃত হয়। এর ডিফল্ট মান হলো |
উদাহরণ#
// 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-এর সীমা ড্রাইভট্রেনের গিয়ার অনুপাতের মাধ্যমে পরিবর্তন করা হয়।
1 - বর্তমানে কনফিগার করা ড্রাইভ বেগ ব্যবহার করে ড্রাইভগুলি।
void drive( directionType dir );
Parameters2 - নির্দিষ্ট গতিতে গাড়ি চালায়।
void drive( directionType dir, double velocity, velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
রোবটটি যেদিকে চলে: |
|
|
|
|
|
বেগের একক: |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesড্রাইভ
driveসাথে সাথেই প্রজেক্টটি কোডের পরবর্তী লাইনটি চালানো শুরু করবে।stopকল না করা পর্যন্ত অথবা অন্য কোনো ড্রাইভট্রেন মুভমেন্ট ফাংশন (যেমনdriveForঅথবাturn) এক্সিকিউট না করা পর্যন্ত ড্রাইভট্রেনটি চলতে থাকবে।isDoneএবংisMovingএর মতো ফাংশনগুলিdriveএর ক্ষেত্রে প্রযোজ্য নয়, কারণ এটি লক্ষ্য-ভিত্তিক চলাচল ব্যবহার করে না (এরdistanceপ্যারামিটার নেই)।
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
ড্রাইভফর#
driveFor রোবটকে একটি নির্দিষ্ট দূরত্ব পর্যন্ত সামনে বা পেছনে চালনা করে। ডিফল্টরূপে, পরবর্তী কোড লাইনটি চলার আগে প্রজেক্টটি রোবটের চলাচল শেষ হওয়া পর্যন্ত অপেক্ষা করবে। RPM বা DPS-এর সীমা ড্রাইভট্রেনের গিয়ার রেশিও দ্বারা পরিবর্তিত হয়।
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 );
Parameters4 - নির্দিষ্ট দিকে নির্দিষ্ট বেগে একটি দূরত্ব অতিক্রম করে।
bool driveFor( directionType dir, double distance, distanceUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
রোবটটি যেদিকে চলে: |
|
|
রোবটটি যে দূরত্ব অতিক্রম করে। |
|
|
দূরত্বের একক: |
|
|
|
|
|
বেগের একক: |
|
|
|
রোবটটি নির্ধারিত দূরত্বে পৌঁছেছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।
true- রোবটটি নির্ধারিত দূরত্বে পৌঁছেছে।false- রোবটটি তার চলাচল শেষ করেনি, অথবা চলাচল সম্পূর্ণ হওয়ার আগেই ফাংশনটি রিটার্ন করেছে কারণwaitForCompletionfalse-এ সেট করা হয়েছিল।
driveForচলাকালীন অন্য কোনো ড্রাইভট্রেন মুভমেন্ট ফাংশন (যেমনdriveঅথবাturnFor) সম্পাদন করলে বর্তমান মুভমেন্টটি বাধাগ্রস্ত হবে।যেহেতু
driveForলক্ষ্য-ভিত্তিক (একটিdistanceপ্যারামিটার ব্যবহার করে),isDoneএবংisMovingএর মতো ফাংশনdriveForএর সাথে কাজ করে।
// Drive 200 mm, then back 200 mm
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);
পালা#
turn রোবটটিকে অনির্দিষ্টকালের জন্য বামে বা ডানে ঘোরায়। রোবটটি ততক্ষণ ঘুরতে থাকবে যতক্ষণ না এটিকে চালানো বা থামানোর মতো অন্য কোনো কাজ দেওয়া হয়। RPM বা DPS-এর সীমা ড্রাইভট্রেনের গিয়ার রেশিও দ্বারা পরিবর্তিত হয়।
1 - বর্তমানে কনফিগার করা বাঁকের বেগ ব্যবহার করে বাঁক নেয়।
void turn( turnType dir );
Parameters2 - নির্দিষ্ট বেগে মোড় নেয়।
void turn( turnType dir, double velocity, velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
রোবটটি যেদিকে ঘোরে: |
|
|
|
|
|
বেগের একক: |
turnহলো একটি নন-ওয়েটিং ব্যবস্থা; কল করার সাথে সাথেই প্রজেক্টটি কোডের পরবর্তী লাইনটি চালানো শুরু করবে।stopকল না করা পর্যন্ত অথবা অন্য কোনো ড্রাইভট্রেন মুভমেন্ট ফাংশন (যেমনturnForঅথবাdrive) এক্সিকিউট না করা পর্যন্ত ড্রাইভট্রেনটি ঘুরতে থাকবে।isDoneএবংisMovingএর মতো ফাংশনগুলিturnএর জন্য প্রযোজ্য নয়, কারণ এটি লক্ষ্য-ভিত্তিক চলাচল ব্যবহার করে না (এরangleপ্যারামিটার নেই)।
// Turn right, then left, then stop
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();
টার্নফর#
turnFor রোবটকে একটি নির্দিষ্ট সংখ্যক ডিগ্রিতে বামে বা ডানে ঘোরায়। এই মোড়টি রোবটের বর্তমান অবস্থানের সাপেক্ষে হয়। ডিফল্টরূপে, পরবর্তী কোড লাইনটি চলার আগে রোবটের মোড় নেওয়া শেষ হওয়া পর্যন্ত প্রজেক্টটি অপেক্ষা করবে। RPM বা DPS-এর সীমা ড্রাইভট্রেনের গিয়ার রেশিও দ্বারা পরিবর্তিত হয়।
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 );
Parameters4 - নির্দিষ্ট বেগে নির্দিষ্ট দিকে একটি কোণে মোড় নেয়।
bool turnFor( turnType dir, double angle, rotationUnits units, double velocity, velocityUnits units_v, bool waitForCompletion = true );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
রোবটটি যেদিকে ঘোরে: |
|
|
রোবটটি যে কোণে ঘোরে। |
|
|
ঘূর্ণনের একক: |
|
|
|
|
|
বেগের একক: |
|
|
|
রোবটটি লক্ষ্যমাত্রার কোণে পৌঁছেছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।
true- রোবটটি লক্ষ্য কোণে পৌঁছেছে।false- রোবটটি তার পালা শেষ করেনি, অথবা পালা সম্পূর্ণ হওয়ার আগেই ফাংশনটি রিটার্ন করেছে কারণwaitForCompletionfalse-এ সেট করা হয়েছিল।
turnForচলাকালীন অন্য কোনো ড্রাইভট্রেন মুভমেন্ট ফাংশন (যেমনturnঅথবাdrive) সম্পাদন করলে বর্তমান মুভমেন্টটি বাধাগ্রস্ত হবে।যেহেতু
turnForলক্ষ্য-ভিত্তিক (একটিangleপ্যারামিটার ব্যবহার করে),isDoneএবংisMovingএর মতো ফাংশনগুলিturnForএর সাথে কাজ করে।
// Turn right then left
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);
থামুন#
stop রোবটের চলাচল থামিয়ে দেয়। যদি কোনো স্টপিং মোড দেওয়া থাকে, তবে এই ফাংশন কলের জন্য রোবটটি কীভাবে থামবে তা এটি নিয়ন্ত্রণ করে।
1 - বর্তমানে কনফিগার করা থামানোর মোড ব্যবহার করে ড্রাইভট্রেন বন্ধ করে।
void stop();
Parameters2 - নির্দিষ্ট ব্রেক মোড ব্যবহার করে ড্রাইভট্রেন বন্ধ করে।
void stop( brakeType mode );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
রোবটটি যেভাবে থামবে:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Examples// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);
মিউটেটর#
সেটড্রাইভভেলোসিটি#
setDriveVelocity setDriveVelocity রোবটকে বলে দেয় সে কত দ্রুত চলবে। উচ্চতর শতাংশ রোবটকে আরও দ্রুত এবং নিম্নতর শতাংশ রোবটকে আরও ধীরে চালায়। RPM বা DPS-এর ক্ষেত্রে, ড্রাইভট্রেনের গিয়ার রেশিও দ্বারা সীমা পরিবর্তন করা হয়।
প্রতিটি প্রকল্প ডিফল্টরূপে রোবটের ৫০% গতিতে চলার মাধ্যমে শুরু হয়।
দ্রষ্টব্য: উচ্চ বেগ রোবটকে দ্রুত চলতে সাহায্য করে, কিন্তু এর নির্ভুলতা কম হতে পারে। কম বেগ রোবটকে ধীরে চলতে সাহায্য করে, কিন্তু এর নির্ভুলতা বেশি হতে পারে।
Available Functionsvoid setDriveVelocity(
double velocity,
velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
|
|
|
বেগের একক: |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesফাংশন কলে কোনো নির্দিষ্ট বেগ প্রদান করা না থাকলে, ড্রাইভ বেগ পরবর্তী সমস্ত ড্রাইভট্রেন মুভমেন্ট ফাংশনে (যেমন
driveএবংdriveFor) প্রযোজ্য হবে।
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);
সেটটার্নভেলোসিটি#
setTurnVelocity setTurnVelocity রোবটকে বলে দেয় সে কত দ্রুত ঘুরবে। উচ্চতর শতাংশ রোবটকে দ্রুত ঘোরায় এবং নিম্নতর শতাংশ রোবটকে ধীরে ঘোরায়। RPM বা DPS-এর ক্ষেত্রে, ড্রাইভট্রেনের গিয়ার রেশিও দ্বারা সীমা পরিবর্তন করা হয়।
প্রতিটি প্রকল্প ডিফল্টরূপে রোবটের ৫০% গতিতে ঘোরার মাধ্যমে শুরু হয়।
দ্রষ্টব্য: উচ্চ বেগ রোবটকে দ্রুত ঘোরাতে পারে, কিন্তু তা কম নির্ভুল হতে পারে। নিম্ন বেগ রোবটকে ধীরে ঘোরাতে পারে, কিন্তু তা আরও নির্ভুল হতে পারে।
Available Functionsvoid setTurnVelocity(
double velocity,
velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
|
|
|
বেগের একক: |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesফাংশন কলে কোনো নির্দিষ্ট বেগ প্রদান করা না থাকলে, মোড় নেওয়ার বেগ পরবর্তী সমস্ত ড্রাইভট্রেন মোড় নেওয়ার ফাংশনগুলিতে (যেমন
turnএবংturnFor) প্রযোজ্য হবে।
// 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 সেট করে রোবটটি কীভাবে থামবে: ব্রেক করে, গতি না বাড়িয়ে, বা স্থির হয়ে।
void setStopping(
brakeType mode );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
রোবটটি যেভাবে থামবে:
|
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesফাংশন কলে কোনো নির্দিষ্ট স্টপিং মোড প্রদান করা না থাকলে, এই স্টপিং মোড পরবর্তী সকল
stopকলের ক্ষেত্রে প্রযোজ্য হবে।
setTimeout#
setTimeout setTimeout নির্ধারণ করে যে রোবটটি একটি মুভমেন্ট শেষ করার জন্য কত সেকেন্ড চেষ্টা করবে। যদি রোবটটি সেই সময়ের মধ্যে কাজটি শেষ করতে না পারে, তবে এটি চেষ্টা করা বন্ধ করে দেবে এবং কোডের পরবর্তী লাইনে চলে যাবে। এর ফলে রোবটটি কোনো একটি মুভমেন্টে আটকে যায় না।
void setTimeout(
int32_t time,
timeUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
একটি নড়াচড়া শেষ করার জন্য রোবটটি যে পরিমাণ সময় চেষ্টা করতে পারে। এটি একটি ধনাত্মক পূর্ণ সংখ্যা হওয়া উচিত। |
|
|
সময়ের একক: |
এই ফাংশনটি কোনো মান ফেরত দেয় না।
Notesটাইমআউট শুধুমাত্র টার্গেট-ভিত্তিক ড্রাইভট্রেন মুভমেন্ট ফাংশনগুলিতে প্রযোজ্য (যেমন
driveForএবংturnFor)।
// Start turning if driving takes too long
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);
গেটার্স#
সম্পন্ন হয়েছে#
isDone একটি বুলিয়ান মান হিসাবে ফেরত দেয় যে রোবটটির চলাচল শেষ হয়েছে কিনা। রোবটের চলাচলের উপর ভিত্তি করে অন্যান্য আচরণের সময় নিয়ন্ত্রণ করতে এটি ব্যবহার করা যেতে পারে।
bool isDone( void );
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuestrue- রোবটটির চলাচল শেষ হয়েছে।false- রোবটটি এখনও চলছে।
সরছে#
isMoving একটি বুলিয়ান মান হিসাবে রোবটটি চলছে কিনা তা ফেরত দেয়। রোবটের চলাচলের উপর ভিত্তি করে অন্যান্য আচরণের সময় নিয়ন্ত্রণ করতে এটি ব্যবহার করা যেতে পারে।
virtual bool isMoving( void );
এই ফাংশনটি কোনো প্যারামিটার গ্রহণ করে না।
Return Valuestrue- রোবটটি চলছে।false- রোবটটি নড়ছে না।
বেগ#
বেগ velocity নির্দেশ করে রোবটটি কত দ্রুত চলছে।
ধনাত্মক মান মানে রোবটটি সামনের দিকে চলছে। ঋণাত্মক মান মানে রোবটটি পেছনের দিকে চলছে।
Available Functionsdouble velocity(
velocityUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
বেগের একক: |
ড্রাইভট্রেনের বেগ নির্বাচিত এককে double এর সমন্বয়ে ফেরত দেয়।
// 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 Functions1 - ড্রাইভট্রেনের বৈদ্যুতিক প্রবাহ অ্যাম্পিয়ারে ফেরত দেয়।
double current( currentUnits units = currentUnits::amp );
Parameters2 - ড্রাইভট্রেনের বৈদ্যুতিক প্রবাহকে সর্বোচ্চের শতাংশ হিসাবে ফেরত দেয়।
double current( percentUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ইনপুট কারেন্ট ফেরত দেওয়ার একক: |
|
|
ফেরত দেওয়ার একক: |
ড্রাইভট্রেন কারেন্টকে নির্বাচিত এককে double এর সমন্বয়ে ফেরত দেয়।
ক্ষমতা#
পাওয়ার power দেখায়। পাওয়ার দেখায় ড্রাইভট্রেনটি কত দ্রুত শক্তি ব্যবহার করছে।
পাওয়ারের মান বেশি হওয়ার অর্থ হলো ড্রাইভট্রেইনটি দ্রুত শক্তি ব্যবহার করছে। এমনটা হতে পারে যখন রোবট কোনো বস্তুকে ধাক্কা দেয় অথবা আটকে যাওয়ার পর নড়াচড়া করার চেষ্টা করে।
এটি নড়াচড়া তুলনা করতে বা ড্রাইভট্রেনটি সমস্যায় পড়ছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে। যদি পাওয়ার বেশি থাকে, তাহলে ড্রাইভট্রেনটি গরম হয়ে যেতে পারে অথবা কম দক্ষতার সাথে শক্তি ব্যবহার করতে পারে।
Available Functionsdouble power(
powerUnits units = powerUnits::watt );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
পাওয়ার ইউনিট: |
ড্রাইভট্রেইন শক্তিকে ওয়াটে double হিসেবে ফেরত দেয়।
টর্ক#
টর্ক দেখায় যে চাকা ঘোরার সময় ড্রাইভট্রেন কতটা জোরে ধাক্কা দিতে বা টানতে পারে।
torque ড্রাইভট্রেন কী পরিমাণ টর্ক ব্যবহার করছে তা দেখায়, যা নিউটন-মিটার (Nm) বা ইঞ্চি-পাউন্ড (InLb) এককে পরিমাপ করা হয়।
টর্কের মান বেশি হওয়ার অর্থ হলো ড্রাইভট্রেনটি আরও জোরে ধাক্কা দিচ্ছে বা টানছে। এমনটা হতে পারে যখন রোবট কোনো বস্তুকে ধাক্কা দেয় অথবা আটকে যাওয়ার পর নড়াচড়া করার চেষ্টা করে।
ড্রাইভট্রেনটি ঠিকমতো কাজ করছে কিনা তা পরীক্ষা করতে অথবা বিভিন্ন নড়াচড়ার জন্য কতটা ধাক্কা প্রয়োজন তা তুলনা করতে এটি ব্যবহার করা যেতে পারে।
Available Functionsdouble torque(
torqueUnits units = torqueUnits::nm );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
টর্ক প্রদানের একক: |
ড্রাইভট্রেইন টর্ককে নির্বাচিত এককে double হিসেবে ফেরত দেয়।
দক্ষতা#
ড্রাইভট্রেইনটি efficiency ০% থেকে ১% শতাংশ হিসাবে দেখায়।
দক্ষতা দেখায় যে ড্রাইভট্রেনের শক্তির কতটা চলাচলের জন্য ব্যবহৃত হচ্ছে। দক্ষতার মান যত বেশি হবে, ড্রাইভট্রেনের শক্তির বেশি অংশ চলাচলের জন্য ব্যবহৃত হচ্ছে তা তত বেশি হবে। দক্ষতার মান কম হতে পারে যখন ড্রাইভট্রেন কঠোর পরিশ্রম করেও খুব বেশি নড়াচড়া করে না, যেমন যখন রোবটটি আটকে যায় বা কোনো বস্তুকে ধাক্কা দেয়।
এটি নড়াচড়া তুলনা করতে অথবা ড্রাইভট্রেনটি চলাচলের জন্য শক্তি ব্যবহার না করে অপচয় করছে কিনা তা পরীক্ষা করতে ব্যবহার করা যেতে পারে।
Available Functionsdouble efficiency(
percentUnits units = percentUnits::pct );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
দক্ষতা ফেরত দেওয়ার একক: |
নির্বাচিত ইউনিটে ড্রাইভট্রেন দক্ষতা double হিসাবে ফেরত দেয়।
তাপমাত্রা#
temperature ড্রাইভট্রেনের গড় তাপমাত্রা ০% থেকে ১০০% পর্যন্ত শতাংশ হিসাবে ফেরত দেয়।
তাপমাত্রা থেকে বোঝা যায় ড্রাইভট্রেইন মোটরগুলো কতটা গরম। তাপমাত্রা বেশি হওয়ার অর্থ হলো, কাজ করার সময় মোটরগুলো গরম হচ্ছে। পূর্ণ কর্মক্ষমতায় কাজ চালিয়ে যাওয়ার জন্য মোটরগুলোর তাপমাত্রা ৫৫° সেলসিয়াসের নিচে থাকা উচিত।
মোটরগুলো অতিরিক্ত গরম হয়ে গেলে, নিজেদের সুরক্ষার জন্য সেগুলোর সর্বোচ্চ কারেন্ট কমিয়ে দেবে। ৭০° সেলসিয়াস তাপমাত্রায়, মোটরগুলো ঠান্ডা না হওয়া পর্যন্ত চলা বন্ধ করে দেবে।
বারবার নড়াচড়া, দীর্ঘক্ষণ চলা, বা কোনো বস্তুকে ধাক্কা দেওয়ার সময় ড্রাইভট্রেনটি অতিরিক্ত গরম হয়ে যাচ্ছে কিনা, তা পরীক্ষা করতে এটি ব্যবহার করা যেতে পারে।
Available Functionsdouble temperature(
percentUnits units );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
তাপমাত্রা ফেরত দেওয়ার একক: |
নির্বাচিত এককে গড় ড্রাইভট্রেইন তাপমাত্রা double এর সমন্বয়ে ফেরত দেয়।
50%এর একটি ফেরত মান নির্দেশ করে যে গড় মোটর তাপমাত্রা আনুমানিক45°C(113°F)।ড্রাইভট্রেনের সাধারণ কার্যকরী তাপমাত্রার পরিসীমা হল প্রায়
20°C(68°F) থেকে70°C(158°F)।
ভোল্টেজ#
voltage ড্রাইভট্রেনে সরবরাহকৃত বৈদ্যুতিক ভোল্টেজ ফিরিয়ে দেয়।
ভোল্টেজ হলো ড্রাইভট্রেন মোটরগুলিতে সরবরাহ করা বৈদ্যুতিক চাপ। ড্রাইভট্রেন কীভাবে বৈদ্যুতিক শক্তি ব্যবহার করছে তা বোঝার জন্য এটিকে কারেন্ট এবং পাওয়ারের মানের সাথে ব্যবহার করা যেতে পারে।
Available Functionsdouble voltage(
voltageUnits units = voltageUnits::volt );
প্যারামিটার |
প্রকার |
বর্ণনা |
|---|---|---|
|
|
ভোল্টেজ ফেরত দেওয়ার একক: |
ড্রাইভট্রেন ভোল্টেজকে নির্বাচিত এককে double হিসেবে ফেরত দেয়।