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

ভূমিকা#

ড্রাইভট্রেনে চাকা এবং মোটর থাকে যা রোবটের চালনা ও মোড় নেওয়া নিয়ন্ত্রণ করে। কোড বেস ২.০, সুপার কার বা কাস্টম রোবটের মতো কাঠামোতে ড্রাইভট্রেন পাওয়া যায়।

ড্রাইভট্রেন সংঘর্ষ শনাক্ত করতে এবং রোবটকে নির্ভুলভাবে চলতে ও ঘুরতে সাহায্য করার জন্য ব্রেইনে থাকা ইনার্শিয়াল সেন্সর ব্যবহার করে। প্রতিটি প্রকল্পের শুরুতে, ড্রাইভট্রেন স্বয়ংক্রিয়ভাবে ইনার্শিয়াল সেন্সরটি ক্যালিব্রেট করে। ক্যালিব্রেশনের সময় রোবটটিকে প্রায় 2 সেকেন্ডের জন্য স্থির রাখুন, যাতে রোবটটি সঠিকভাবে চলতে ও ঘুরতে পারে।

ড্রাইভট্রেন কোড করার অনেক উপায় আছে। নিচে সমস্ত ড্রাইভট্রেন পদ্ধতির একটি তালিকা দেওয়া হলো:

ক্রিয়াকলাপ — রোবটটিকে চালনা ও ঘোরানো।

  • drive — রোবটটিকে অনির্দিষ্টকালের জন্য সামনে বা পিছনে চালনা করে।

  • drive_for — রোবটটিকে একটি নির্দিষ্ট দূরত্বে সামনে বা পিছনে নিয়ে যায়।

  • drive_until — রোবটটিকে সামনে এগিয়ে নিয়ে যায় যতক্ষণ না আই সেন্সর কোনো বস্তু শনাক্ত করে অথবা রোবটটি কোনো সংঘর্ষ শনাক্ত করে।

  • turn — রোবটটিকে অনির্দিষ্টকালের জন্য বামে বা ডানে ঘোরায়।

  • turn_for — রোবটটিকে নির্দিষ্ট সংখ্যক ডিগ্রিতে বামে বা ডানে ঘোরায়।

  • turn_to_heading — রোবটটিকে -359 থেকে 359 ডিগ্রির মধ্যে একটি নির্দিষ্ট দিকে মুখ করে ঘোরায়। রোবটটি লক্ষ্যস্থলে পৌঁছানোর জন্য সবচেয়ে ছোট দিকটি বেছে নেবে।

  • turn_to_rotation — রোবটটিকে একটি নির্দিষ্ট ঘূর্ণনে ঘোরায়।

  • stop — রোবটের চলাচল থামিয়ে দেয়।

মিউটেটর — ড্রাইভট্রেইন সেটিংস সমন্বয় করুন।

  • set_drive_velocity — রোবটকে বলে দেয় কত দ্রুত চালাতে হবে।

  • set_turn_velocity — রোবটকে বলে দেয় কত দ্রুত ঘুরতে হবে।

  • set_stopping — রোবটটি কীভাবে চলা বন্ধ করবে তা নির্দেশ করে: ব্রেক করে, গতি না কমিয়ে, অথবা স্থির থেকে।

  • set_timeout — রোবট একটি নড়াচড়া শেষ করার জন্য কতক্ষণ চেষ্টা করবে তা নির্ধারণ করে।

  • set_heading — রোবটের বর্তমান দিক পরিবর্তন করে একটি নতুন দিকে নিয়ে যায়।

  • set_rotation — রোবটের বর্তমান ঘূর্ণনকে একটি নতুন ঘূর্ণনে পরিবর্তন করে।

গেটার্স — গতিবিধির অবস্থা পরীক্ষা করুন।

  • get_heading — রোবটের বর্তমান হেডিং ০ থেকে ৩৫৯ ডিগ্রির মধ্যে ফেরত দেয়।

  • get_rotation — রোবটের বর্তমান ঘূর্ণন ফেরত দেয়।

  • get_velocity — রোবটটি কত দ্রুত চলছে তা শতাংশ হিসাবে ফেরত দেয়, যা -100% থেকে 100% পর্যন্ত হতে পারে।

  • get_yaw — রোবটের বর্তমান ইয় (yaw) ফেরত দেয়।

  • get_roll — রোবটের বর্তমান চাল ফেরত দেয়।

  • get_pitch — রোবটের বর্তমান পিচ ফেরত দেয়।

  • get_crashed — রোবটটি কোনো দুর্ঘটনা শনাক্ত করেছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।

  • is_stopped — রোবটটির চলাচল শেষ হয়েছে কিনা, তা একটি বুলিয়ান মান হিসাবে ফেরত দেয়।

কর্ম#

drive#

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

Usage:
drivetrain.drive(direction)

প্যারামিটার

বর্ণনা

direction

রোবটটি যেদিকে চলে: FORWARD বা REVERSE।

# Build Used: Code Base 2.0
def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

drive_for#

drive_for রোবটটিকে একটি নির্দিষ্ট দূরত্ব পর্যন্ত সামনে বা পিছনে নিয়ে যায়।

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

প্যারামিটার

বর্ণনা

direction

রোবটটি যেদিকে চলে: FORWARD বা REVERSE।

distance

রোবটটি যে দূরত্ব অতিক্রম করে। এটি একটি পূর্ণসংখ্যা বা দশমিক সংখ্যা হতে পারে।

units

ঐচ্ছিক। দূরত্বের একক: MM (ডিফল্ট) অথবা INCHES

wait

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

# Build Used: Code Base 2.0
def main():
    # Drive back and forth
    drivetrain.drive_for(FORWARD, 100, MM)
    drivetrain.drive_for(REVERSE, 4, INCHES)
    

# Start threads — Do not delete
start_thread(main)

drive_until#

drive_until রোবটটিকে ততক্ষণ পর্যন্ত সামনে এগিয়ে নিয়ে যায় যতক্ষণ না আই সেন্সর কোনো বস্তু শনাক্ত করে অথবা রোবটটি কোনো সংঘর্ষ শনাক্ত করে।

Usage:
drivetrain.drive_until(condition, wait)

প্যারামিটার

বর্ণনা

condition

যে পরিস্থিতিতে রোবটটি থেমে যায়: OBJECT বা CRASH।

wait

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

# Build Used: Code Base 2.0
def main():
    # Turn right after a crash
    drivetrain.drive_until(CRASH)
    drivetrain.turn_for(RIGHT, 90)

# Start threads — Do not delete
start_thread(main)

turn#

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

Usage:
drivetrain.turn(direction)

প্যারামিটার

বর্ণনা

direction

রোবটটি যেদিকে ঘোরে: LEFT বা RIGHT।

# Build Used: Code Base 2.0
def main():
    # Turn right and left, then stop
    drivetrain.turn(RIGHT)
    wait(2, SECONDS)
    drivetrain.turn(LEFT)
    wait(2, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

turn_for#

turn_for রোবটটিকে একটি নির্দিষ্ট সংখ্যক ডিগ্রিতে বামে বা ডানে ঘোরায়। এই মোড়টি রোবটের বর্তমান অবস্থানের সাপেক্ষে হয়।

Usage:
drivetrain.turn_for(direction, angle, wait)

প্যারামিটার

বর্ণনা

direction

রোবটটি যেদিকে ঘোরে: LEFT বা RIGHT।

angle

রোবটটি যত ডিগ্রি ঘোরে। এটি একটি পূর্ণসংখ্যা বা দশমিক সংখ্যা হতে পারে।

wait

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

# Build Used: Code Base 2.0
def main():
    # Turn right then left
    drivetrain.turn_for(RIGHT, 90)
    drivetrain.turn_for(LEFT, 90)

# Start threads — Do not delete
start_thread(main)

turn_to_heading#

হেডিং হলো রোবটের মস্তিষ্কের অভিমুখ, যা ডিগ্রিতে পরিমাপ করা হয়। turn_to_heading রোবটটিকে -359 থেকে 359 ডিগ্রির মধ্যে একটি নির্দিষ্ট হেডিং-এর দিকে ঘোরায়। রোবটটি লক্ষ্য হেডিং-এ পৌঁছানোর জন্য সবচেয়ে ছোট পথটি বেছে নেবে।

প্রারম্ভিক কোণ ০ ডিগ্রি।

একটি VEX GO কোড বেস 2.0 যা দিকনির্দেশনা দেখাচ্ছে: 0 ডিগ্রি সামনে, 90 ডিগ্রি ডানে, 180 ডিগ্রি পিছনে, এবং 270 ডিগ্রি বামে।

Usage:
drivetrain.turn_to_heading(angle, wait)

প্যারামিটার

বর্ণনা

angle

রোবটটির অভিমুখ একটি পূর্ণসংখ্যা হিসেবে প্রকাশ করতে হবে, যার মান -৩৫৯ থেকে ৩৫৯ ডিগ্রির মধ্যে হতে হবে।

wait

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

# Build Used: Code Base 2.0
def main():
    # Turn to face the cardinal directions
    drivetrain.turn_to_heading(90)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(180)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(270)
    wait(1, SECONDS)
    drivetrain.turn_to_heading(0)

# Start threads — Do not delete
start_thread(main)

turn_to_rotation#

turn_to_rotation রোবটটিকে একটি নির্দিষ্ট ঘূর্ণনে ঘোরায়।

ঘূর্ণন হল রোবটের ঘুরে যাওয়ার পরিমাণ, যা ডিগ্রিতে পরিমাপ করা হয়। একটি প্রকল্পের শুরুতে, ঘূর্ণনের মান 0 ডিগ্রিতে সেট করা হয়। set_rotation ব্যবহার করেও ঘূর্ণন সেট করা যেতে পারে।

ঘূর্ণনের মান পরম। এর মানে হলো, মোড় নেওয়ার দিকটি রোবটের বর্তমান ঘূর্ণনের উপর নির্ভর করে। ডানদিকে ঘুরলে ঘূর্ণন বাড়ে এবং বামদিকে ঘুরলে ঘূর্ণন কমে।

উদাহরণস্বরূপ, যদি রোবটটি ০ ডিগ্রি থেকে শুরু করে এবং আপনি এটিকে ৭২০ ডিগ্রি ঘোরান, তবে এটি দুইবার ডানদিকে ঘুরবে। এরপর যদি আপনি এটিকে ৩৬০ ডিগ্রি ঘোরান, তবে এটি একবার বামদিকে ঘুরবে, কারণ ৩৬০ হলো ৭২০-এর চেয়ে কম।

একটি VEX GO কোড বেস 2.0 যেখানে তীর চিহ্নগুলি ডানে এবং বামে ঘুরছে। বাম তীর চিহ্নটি "মাইনাস" এবং ডান তীর চিহ্নটি "প্লাস" দেখাচ্ছে।

Usage:
drivetrain.turn_to_rotation(angle, wait)

প্যারামিটার

বর্ণনা

angle

রোবটটি যে ঘূর্ণন মানে (ডিগ্রিতে) ঘুরবে। এটি একটি পূর্ণসংখ্যা হতে পারে।

wait

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

# Build Used: Code Base 2.0
def main():
    # Make one full turn to the right
    drivetrain.turn_to_rotation(360)
    # Make another full turn to the right
    drivetrain.turn_to_rotation(720)
    # Make one full turn to the left, returning to 360 degrees
    drivetrain.turn_to_rotation(360)
# Start threads — Do not delete
start_thread(main)

stop#

stop রোবটের চলাচল থামিয়ে দেয়।

Usage:
drivetrain.stop()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Code Base 2.0
def main():
    # Drive forward then stop
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

মিউটেটর#

set_drive_velocity#

set_drive_velocity রোবটকে বলে দেয় সে কত দ্রুত চলবে। উচ্চতর শতাংশ রোবটকে দ্রুত চালায় এবং নিম্নতর শতাংশ রোবটকে ধীরে চালায়।

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

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

Usage:
drivetrain.set_drive_velocity(velocity)

প্যারামিটার

বর্ণনা

velocity

০% থেকে ১০০% পর্যন্ত চালনার গতি।

# Build Used: Code Base 2.0
def main():
    # Drive at different velocities
    drivetrain.drive_for(FORWARD, 100, MM)
    wait(1, SECONDS)
    # Drive slow
    drivetrain.set_drive_velocity(20)
    drivetrain.drive_for(FORWARD, 100, MM)
    wait(1, SECONDS)
    # Drive fast
    drivetrain.set_drive_velocity(100)
    drivetrain.drive_for(FORWARD, 100, MM)

# Start threads — Do not delete
start_thread(main)

set_turn_velocity#

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

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

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

Usage:
drivetrain.set_turn_velocity(velocity)

প্যারামিটার

বর্ণনা

velocity

০% থেকে ১০০% পর্যন্ত মোড় নেওয়ার বেগ।

# Build Used: Code Base 2.0
def main():
    # Turn at different velocities
    drivetrain.turn_for(RIGHT, 180)
    wait(1, SECONDS)
    # Turn fast
    drivetrain.set_turn_velocity(100)
    drivetrain.turn_for(RIGHT, 180)

# Start threads — Do not delete
start_thread(main)

set_stopping#

set_stopping নির্ধারণ করে রোবটটি কীভাবে চলা বন্ধ করবে: ব্রেক করে, গতি না কমিয়ে, বা থেমে গিয়ে।

Usage:
drivetrain.set_stopping(brake)

প্যারামিটার

বর্ণনা

brake

রোবটটি যেভাবে থামবে:

  • BRAKE — সাথে সাথে থেমে যায়।
  • COAST — ধীরে ধীরে থেমে যায়।
  • HOLD — সাথে সাথে থেমে যায় এবং চাকাগুলোর অবস্থান ধরে রাখে।

এই পদ্ধতি ব্যবহার না করা হলে, রোবটটি থামার সময় BRAKE ব্যবহার করবে।

# Build Used: Code Base 2.0
def main():
    # Drive, then coast to a stop
    drivetrain.set_drive_velocity(100)
    drivetrain.set_stopping(COAST)
    drivetrain.drive(FORWARD)
    wait(2, SECONDS)
    drivetrain.stop()

# Start threads — Do not delete
start_thread(main)

set_timeout#

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

Usage:
drivetrain.set_timeout(value, units)

প্যারামিটার

বর্ণনা

value

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

units

ঐচ্ছিক। সময়ের একক: SECONDS (ডিফল্ট) অথবা MSEC।

# Build Used: Code Base 2.0
def main():
    # Drive as far as possible for 1 second before turning right
    drivetrain.set_timeout(1, SECONDS)
    drivetrain.drive_for(FORWARD, 25, INCHES)
    drivetrain.turn_for(RIGHT, 90)

# Start threads — Do not delete
start_thread(main)

set_heading#

হেডিং হলো রোবটের মস্তিষ্কের অভিমুখ, যা ডিগ্রিতে পরিমাপ করা হয়। set_heading রোবটের বর্তমান হেডিংকে একটি নতুন হেডিং মানে পরিবর্তন করে।

উদাহরণস্বরূপ, যদি রোবটটি ডানদিকে মুখ করে থাকে, তবে হেডিং ০ ডিগ্রিতে সেট করলে সেই ডানমুখী অবস্থানটিই নতুন ০ ডিগ্রি হয়ে যায়। এরপর রোবটটি সেই নতুন হেডিং-এর উপর ভিত্তি করে অন্যান্য অবস্থানে ঘুরতে পারে।

Usage:
drivetrain.set_heading(value)

প্যারামিটার

বর্ণনা

value

রোবটের জন্য যে হেডিং ভ্যালুটি ডিগ্রিতে সেট করতে হবে। এটি ০ থেকে ৩৫৯ পর্যন্ত একটি পূর্ণ সংখ্যা হতে পারে।

# Build Used: Code Base 2.0
def main():
    # Face the new 0 degree heading
    drivetrain.set_heading(90)
    drivetrain.turn_to_heading(0)

# Start threads — Do not delete
start_thread(main)

set_rotation#

রোবটটি কতটা ঘুরেছে, তাকেই রোটেশন বলা হয়, যা ডিগ্রিতে পরিমাপ করা হয়। একটি প্রোজেক্টের শুরুতে, রোটেশনের মান ০ ডিগ্রিতে সেট করা থাকে। set_rotation রোবটের বর্তমান রোটেশনকে একটি নতুন মানে পরিবর্তন করে।

উদাহরণস্বরূপ, যদি রোবটটি ডানদিকে দুটি পূর্ণ পাক ঘুরে থাকে, তবে এর ঘূর্ণন মান হবে ৭২০ ডিগ্রি। ঘূর্ণন মান ০ ডিগ্রিতে সেট করলে তা ৭২০ থেকে ০ ডিগ্রিতে রিসেট হয়ে যাবে। এরপর রোবটটি সেই নতুন মানের উপর ভিত্তি করে ঘুরতে পারবে।

Usage:
drivetrain.set_rotation(value)

প্যারামিটার

বর্ণনা

value

রোবটের জন্য ঘূর্ণনের মান, ডিগ্রিতে, নির্ধারণ করতে হবে। এটি একটি পূর্ণসংখ্যা হতে পারে।

# Build Used: Code Base 2.0
def main():
    # Spin counterclockwise two times
    drivetrain.set_rotation(720)
    drivetrain.turn_to_rotation(0)

# Start threads — Do not delete
start_thread(main)

গেটার্স#

get_heading#

হেডিং হলো রোবটের মস্তিষ্কের অভিমুখ, যা ডিগ্রিতে পরিমাপ করা হয়। get_heading কমান্ডটি ০ থেকে ৩৫৯ ডিগ্রির মধ্যে সেই হেডিংটি ফেরত দেয়।

রোবটটির প্রারম্ভিক অভিমুখ ০ ডিগ্রি।

একটি VEX GO মস্তিষ্ক দিকনির্দেশনা দেখাচ্ছে: ০ ডিগ্রি সামনে, ৯০ ডিগ্রি ডানে, ১৮০ ডিগ্রি পেছনে, এবং ২৭০ ডিগ্রি বামে।

Usage:
drivetrain.get_heading()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Code Base 2.0
def main():
    # Display the heading while turning
    monitor_sensor("drivetrain.get_heading")
    drivetrain.turn_for(RIGHT, 450)


# Start threads — Do not delete
start_thread(main)

get_rotation#

রোবটটি কতটা ঘুরেছে, তা-ই হলো রোটেশন, যা ডিগ্রিতে পরিমাপ করা হয়। একটি প্রোজেক্টের শুরুতে, রোটেশনের মান ০ ডিগ্রিতে সেট করা থাকে। get_rotation রোবটটির বর্তমান রোটেশন ফেরত দেয়।

ডানদিকে ঘুরলে ঘূর্ণন বাড়ে এবং বামদিকে ঘুরলে ঘূর্ণন কমে। উদাহরণস্বরূপ, ডানদিকে দুটি পূর্ণ পাক দিলে ৭২০ ডিগ্রি ঘূর্ণন ঘটবে।

একটি VEX GO কোড বেস 2.0 যেখানে তীর চিহ্নগুলি ডানে এবং বামে ঘুরছে। বাম তীর চিহ্নটি "মাইনাস" এবং ডান তীর চিহ্নটি "প্লাস" দেখাচ্ছে।

Usage:
drivetrain.get_rotation()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Code Base 2.0
def main():
    # Display the rotation while turning
    monitor_sensor("drivetrain.get_rotation")
    drivetrain.turn_for(RIGHT, 450)


# Start threads — Do not delete
start_thread(main)

get_velocity#

get_velocity রোবটটি কত দ্রুত চলছে তা ফেরত দেয়, যা -100% থেকে 100% পর্যন্ত শতাংশ হিসাবে প্রকাশ করা হয়।

ধনাত্মক মান মানে রোবটটি সামনের দিকে চলছে। ঋণাত্মক মান মানে রোবটটি পেছনের দিকে চলছে।

Usage:
drivetrain.get_velocity()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Code Base 2.0
def main():
    # Display the velocity of the robot before and while moving
    console.print("Start: ")
    console.print(drivetrain.get_velocity())
    console.new_line()
    drivetrain.drive(FORWARD)
    wait(0.5, SECONDS)
    console.print("Moving: ")
    console.print(drivetrain.get_velocity())
    drivetrain.stop()


# Start threads — Do not delete
start_thread(main)

get_yaw#

ইয়ো হলো রোবটটি তার শুরুর অবস্থান থেকে কতটা বামে বা ডানে ঘুরেছে, যা ডিগ্রিতে পরিমাপ করা হয়। get_yaw রোবটটির বর্তমান ইয়ো মান ফেরত দেয়।

ডানে ঘুরলে ইয়ো ভ্যালু বাড়ে এবং বামে ঘুরলে ইয়ো ভ্যালু কমে।

Usage:
drivetrain.get_yaw()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Super Code Base 2.0
def main():
    # Change the LED color based on the yaw while
    # moving the robot by hand
    monitor_sensor("drivetrain.get_yaw")
    while True:
        if drivetrain.get_yaw() > 0:
            bumper.set_color(GREEN)
        elif drivetrain.get_yaw() < 0:
            bumper.set_color(RED)
        else:
            bumper.set_color(NONE)

# Start threads — Do not delete
start_thread(main)

get_roll#

রোল হলো রোবটটি কতটা বামে বা ডানে হেলে পড়ে, যা ডিগ্রিতে পরিমাপ করা হয়। get_roll রোবটটির বর্তমান রোলের মান ফেরত দেয়।

মস্তিষ্ক সামনের দিকে মুখ করে থাকলে, বাম দিকে কাত করলে রোলের মান বাড়ে এবং ডান দিকে কাত করলে রোলের মান কমে।

Usage:
drivetrain.get_roll()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Super Code Base 2.0
def main():
    # Change the LED color based on the roll while
    # moving the robot by hand
    monitor_sensor("drivetrain.get_roll")
    while True:
        if drivetrain.get_roll() > 0:
            bumper.set_color(GREEN)
        elif drivetrain.get_roll() < 0:
            bumper.set_color(RED)
        else:
            bumper.set_color(NONE)

# Start threads — Do not delete
start_thread(main)

get_pitch#

পিচ হলো রোবটটি কতটা সামনে বা পেছনে হেলে পড়ে, যা ডিগ্রিতে পরিমাপ করা হয়। get_pitch রোবটটির বর্তমান পিচ মান ফেরত দেয়।

মস্তিষ্ক সামনের দিকে মুখ করে থাকলে, সামনের দিকে ঝুঁকালে তীক্ষ্ণতার মান বাড়ে এবং পেছনের দিকে ঝুঁকালে তীক্ষ্ণতার মান কমে।

Usage:
drivetrain.get_pitch()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Super Code Base 2.0
def main():
    # Change the LED color based on the pitch while
    # moving the robot by hand
    monitor_sensor("drivetrain.get_pitch")
    while True:
        if drivetrain.get_pitch() > 0:
            bumper.set_color(GREEN)
        elif drivetrain.get_pitch() < 0:
            bumper.set_color(RED)
        else:
            bumper.set_color(NONE)

# Start threads — Do not delete
start_thread(main)

get_crashed#

get_crashed রোবটটি কোনো দুর্ঘটনা শনাক্ত করেছে কিনা, তা একটি বুলিয়ান মান হিসেবে ফেরত দেয়।

  • True — একটি ক্র্যাশ শনাক্ত করা হয়েছে।

  • False — কোনো দুর্ঘটনা শনাক্ত করা হয়নি।

Usage:
drivetrain.get_crashed()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Super Code Base 2.0
def main():
    # Drive until a crash
    drivetrain.drive(FORWARD)
    while not drivetrain.get_crashed():
        wait(50, MSEC)
    drivetrain.stop()
    drivetrain.turn_for(RIGHT, 90)

# Start threads — Do not delete
start_thread(main)

is_stopped#

is_stopped একটি বুলিয়ান মান হিসাবে ফেরত দেয় যে রোবটটির চলাচল শেষ হয়েছে কিনা। রোবটের চলাচলের উপর ভিত্তি করে অন্যান্য আচরণের সময় নিয়ন্ত্রণ করতে এটি ব্যবহার করা যেতে পারে।

  • True — রোবটটির চলাচল শেষ হয়েছে।

  • False — রোবটটি এখনও চলছে।

এই পদ্ধতিটি নিম্নলিখিত ড্রাইভট্রেন পদ্ধতিগুলির সাথে একত্রে কাজ করে যেগুলিতে wait প্যারামিটার রয়েছে: drive_for, drive_until, turn_for, turn_to_heading, এবং turn_to_rotation।

Usage:
drivetrain.is_stopped()

প্যারামিটার

বর্ণনা

এই পদ্ধতিতে কোনো প্যারামিটার নেই।

# Build Used: Code Base 2.0
def main():
    # Turn when the drivetrain is done moving forward
    drivetrain.drive_for(FORWARD, 100, MM, wait=False)
    wait(0.25, SECONDS)
    while True:
        if drivetrain.is_stopped():
            drivetrain.turn_for(RIGHT, 180)
            break
        else:
            console.print("Still moving...")
            wait(0.1, SECONDS)
            console.clear()

# Start threads — Do not delete
start_thread(main)