ম্যাক্রো#

ভূমিকা#

VEX AIM পাইথন ম্যাক্রো হলো আগে থেকে তৈরি করা কোড ব্লক, যা একটি পাইথন প্রজেক্টে ড্র্যাগ করে যোগ করা যায়। প্রতিটি ম্যাক্রো হলো পাইথন কমান্ডের একটি সমষ্টি, যা রোবটকে একটি বৃহত্তর আচরণ সম্পন্ন করতে একসাথে কাজ করে।

এগুলো কোড থেকে কল করা হয় এমন কোনো একক মেথড নয়। বরং, প্রতিটি ম্যাক্রো একটি তৈরি কোড সিকোয়েন্স হিসেবে যুক্ত করা হয়, যা কোনো প্রজেক্টে যোগ করার পর সরাসরি ব্যবহার করা বা সম্পাদনা করা যায়।

এই পৃষ্ঠায়, প্রতিটি পাইথন কোড ব্লকে সেই ম্যাক্রোটি ব্যবহার করার সময় সন্নিবেশিত প্রকৃত কোড অনুক্রমটি দেখানো হয়েছে।

নিচে সকল ম্যাক্রোর একটি তালিকা দেওয়া হলো:

আবেগ — রোবটটিকে অভিব্যক্তিপূর্ণভাবে কাজ করতে দিন।

  • act happy — রোবটটিকে খুশি হওয়ার ভান করায়।

  • act sad — রোবটটিকে দুঃখী করে তোলে।

  • act silly — রোবটটিকে বোকার মতো আচরণ করায়।

  • act angry — রোবটকে রাগান্বিত করে তোলে।

  • act excited — রোবটকে উত্তেজিত করে তোলে।

এআই ভিশন (স্পোর্টস বল) — খেলার বলের দিকে ঘুরুন বা বল সংগ্রহ করুন।

এআই ভিশন (কমলা ব্যারেল) — কমলা ব্যারেলগুলোর দিকে ঘুরুন বা সেগুলো সংগ্রহ করুন।

এআই ভিশন (নীল ব্যারেল) — নীল ব্যারেলগুলোর দিকে ঘুরুন বা সেগুলো সংগ্রহ করুন।

এআই ভিশন (এআইএম রোবট) — অন্যান্য এআইএম রোবটগুলোর দিকে ঘোরে বা এগিয়ে যায়।

এআই ভিশন (এপ্রিলট্যাগ) — এপ্রিলট্যাগগুলোর দিকে ঘোরেন বা এগিয়ে যান।

আবেগ#

act happy#

এই ম্যাক্রোটি রোবটকে হাসিমুখ দেখানো, আনন্দদায়ক শব্দ বাজানো, এলইডি-গুলো পরিবর্তন করা এবং সামনে-পিছনে নড়াচড়া করার মাধ্যমে খুশি খুশি আচরণ করতে সাহায্য করে। যখন রোবটকে হাসিখুশি বা ইতিবাচকভাবে সাড়া দিতে হবে, তখন এটি ব্যবহার করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# act happy
robot.screen.show_emoji(HAPPY)
wait(.5,SECONDS)
robot.sound.play(ACT_HAPPY)
wait(115, MSEC)

robot.screen.show_emoji(HAPPY, LOOK_RIGHT)
robot.led.on(ALL_LEDS, YELLOW)
robot.turn_for(RIGHT, 4, 100)
robot.led.on(ALL_LEDS, WHITE)
robot.screen.show_emoji(HAPPY, LOOK_LEFT)
robot.turn_for(RIGHT, -8, 100)
robot.led.on(ALL_LEDS, YELLOW)
robot.screen.show_emoji(HAPPY, LOOK_RIGHT)
robot.turn_for(RIGHT, 4, 100)

wait(100,MSEC)
for i in range(3):
    robot.screen.show_emoji(QUIET)
    robot.led.on(ALL_LEDS, WHITE)
    robot.move_for(1,-90)
    robot.screen.show_emoji(HAPPY)
    robot.led.on(ALL_LEDS, YELLOW)
    robot.move_for(1,90)

robot.stop_all_movement()
robot.led.off(ALL_LEDS)
wait(.5,SECONDS)

act sad#

এই ম্যাক্রোটি রোবটকে দুঃখী মুখভঙ্গি দেখাতে, দুঃখের শব্দ বাজাতে, এলইডি-গুলোর আলো কমিয়ে আনতে এবং বিভিন্ন দিকে ধীরে ধীরে চলতে সাহায্য করে। যখন রোবটের হতাশ বা শক্তিহীন প্রতিক্রিয়া দেখানোর প্রয়োজন হয়, তখন এটি ব্যবহার করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# act sad
robot.screen.show_emoji(SAD)
wait(.5,SECONDS)
robot.sound.play(ACT_SAD)
wait(115, MSEC)

robot.led.on(ALL_LEDS, Color(0, 0, 250))
robot.screen.show_emoji(SAD, LOOK_RIGHT)
robot.move_for(11, 135, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 100))
robot.screen.show_emoji(SAD, LOOK_FORWARD)
robot.move_for(11, 315, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 50))
robot.screen.show_emoji(SAD, LOOK_LEFT)
robot.move_for(11, 225, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 10))
robot.screen.show_emoji(SAD, LOOK_FORWARD)
robot.move_for(11, 45, 70)
wait(.5,SECONDS)
robot.led.off(ALL_LEDS)

act silly#

এই ম্যাক্রোটি রোবটকে ঘোরানো, মুখভঙ্গি পরিবর্তন করা এবং বিভিন্ন এলইডি রঙ ফ্ল্যাশ করানোর মাধ্যমে মজার মজার আচরণ করতে সাহায্য করে। যখন রোবটের কোনো কৌতুকপূর্ণ বা আশ্চর্যজনক প্রতিক্রিয়া দেখানোর প্রয়োজন হয়, তখন এটি ব্যবহার করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# act silly
robot.screen.show_emoji(SILLY)
wait(.5,SECONDS)
robot.sound.play(ACT_SILLY)
wait(115,MSEC)

robot.turn_for(RIGHT, 360, 100, wait=False)
face_list = [SILLY, HAPPY, EXCITED, PROUD, THRILLED, LAUGHING]
colors = [BLUE, CYAN, GREEN, ORANGE, PURPLE, RED, WHITE, YELLOW]

while robot.is_turn_active():
    robot.screen.show_emoji(SILLY)
    robot.led.on(ALL_LEDS, random.choice(colors))
    wait(110,MSEC)
    robot.screen.show_emoji(random.choice(face_list))
    wait(110,MSEC)

robot.screen.show_emoji(SILLY)
robot.led.off(ALL_LEDS)
wait(.5,SECONDS)

act angry#

এই ম্যাক্রোটি রোবটকে রাগান্বিত মুখভঙ্গি দেখাতে, রাগান্বিত শব্দ বাজাতে, এলইডি-গুলো লাল করতে এবং দ্রুত নড়াচড়া করতে সাহায্য করে। যখন রোবটের হতাশ বা সতর্কতামূলক প্রতিক্রিয়া দেখানোর প্রয়োজন হয়, তখন এটি ব্যবহার করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# act angry
robot.screen.show_emoji(ANGRY)
wait(.5,SECONDS)
robot.sound.play(ACT_ANGRY)
wait(115,MSEC)

robot.led.on(ALL_LEDS, RED)
robot.move_for(25, 0, 50)
wait(50,MSEC)

for i in range(5):
    robot.screen.show_emoji(ANNOYED)
    robot.move_for(5, 180, 50)
    robot.screen.show_emoji(ANGRY)
    wait(50,MSEC)

wait(.5,SECONDS)
robot.led.off(ALL_LEDS)

act excited#

এই ম্যাক্রোটি রোবটকে উত্তেজিত মুখভঙ্গি দেখাতে, উত্তেজিত শব্দ বাজাতে, দ্রুত এদিক-ওদিক নড়াচড়া করতে এবং কমলা এলইডি ফ্ল্যাশ করার মাধ্যমে উত্তেজিত আচরণ করতে সাহায্য করে। যখন রোবটের কোনো উদযাপন বা উচ্চ শক্তির সাথে প্রতিক্রিয়া দেখানোর প্রয়োজন হয়, তখন এটি ব্যবহার করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# act excited
robot.screen.show_emoji(EXCITED)
wait(.5,SECONDS)
robot.sound.play(ACT_EXCITED)
wait(115, MSEC)

for angle in [3,-3,2,-2,2,-2,2,-2,1,-1]:
    if angle > 0:
        robot.screen.show_emoji(EXCITED, LOOK_RIGHT)
        robot.led.on(LED4, ORANGE)
        robot.led.on(LED5, ORANGE)
        robot.led.on(LED6, ORANGE)
        robot.led.off(LED1)
    else:
        robot.screen.show_emoji(EXCITED, LOOK_LEFT)
        robot.led.on(LED1, ORANGE)
        robot.led.on(LED2, ORANGE)
        robot.led.on(LED3, ORANGE)
        robot.led.off(LED6)
    robot.turn_for(RIGHT, angle)
    robot.led.off(ALL_LEDS)

robot.screen.show_emoji(EXCITED, LOOK_FORWARD)
wait(.5,SECONDS)

এআই ভিশন (স্পোর্টস বল)#

turn right until sports ball#

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

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn right until sports ball is detected
robot.turn(RIGHT)
while True:
    vision_data = robot.vision.get_data(SPORTS_BALL)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

turn left until sports ball#

এই ম্যাক্রোটি রোবটটিকে বাম দিকে ঘোরাতে থাকে যতক্ষণ না এআই ভিশন সেন্সর একটি খেলার বল শনাক্ত করে, তারপর শনাক্ত করা বস্তুটির দিকে ঘোরে। যখন রোবটটিকে কোনো খেলার বলের দিকে যাওয়ার বা সেটি সংগ্রহ করার আগে বলটি খুঁজতে হয়, তখন এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn left until sports ball is detected
robot.turn(LEFT)
while True:
    vision_data = robot.vision.get_data(SPORTS_BALL)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

get sports ball#

এই ম্যাক্রোটি রোবটকে শনাক্ত করা একটি স্পোর্টস বলের দিকে ততক্ষণ এগিয়ে নিয়ে যায়, যতক্ষণ না রোবটটি সেটি সংগ্রহ করে। রোবট যখন একটি স্পোর্টস বল দেখতে পায়, অথবা একটি স্পোর্টস বল খুঁজে পাওয়ার জন্য ‘টার্ন-আনটিল-স্পোর্টস-বল’ ম্যাক্রো ব্যবহার করার পরে এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_move_velocity এবং set_turn_velocity ব্যবহার করে রোবটের চলার এবং ঘোরার বেগ কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Get sports ball
while True:
    vision_data = robot.vision.get_data(SPORTS_BALL)

    if vision_data[0].exists:
        if robot.has_sports_ball():
            robot.stop_all_movement()
            break
        else:
            robot.move_at(vision_data[0].bearing)
    else:
        robot.move_at(0)
    wait(20, MSEC)

এআই ভিশন (অরেঞ্জ ব্যারেল)#

turn right until orange barrel#

এই ম্যাক্রোটি রোবটটিকে ডানদিকে ঘোরাতে থাকে যতক্ষণ না এআই ভিশন সেন্সর একটি কমলা রঙের ব্যারেল শনাক্ত করে, তারপর শনাক্ত করা বস্তুটির দিকে ঘোরে। যখন রোবটটিকে কোনো কমলা ব্যারেলের দিকে যাওয়ার বা সেটি সংগ্রহ করার আগে সেটি খুঁজতে হয়, তখন এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn right until orange barrel is detected
robot.turn(RIGHT)
while True:
    vision_data = robot.vision.get_data(ORANGE_BARREL)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

turn left until orange barrel#

এই ম্যাক্রোটি রোবটটিকে বাম দিকে ঘোরাতে থাকে যতক্ষণ না এআই ভিশন সেন্সর একটি কমলা রঙের ব্যারেল শনাক্ত করে, তারপর শনাক্ত করা বস্তুটির দিকে ঘোরে। যখন রোবটটিকে কোনো কমলা ব্যারেলের দিকে যাওয়ার বা সেটি সংগ্রহ করার আগে সেটি খুঁজতে হয়, তখন এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn left until orange barrel is detected
robot.turn(LEFT)
while True:
    vision_data = robot.vision.get_data(ORANGE_BARREL)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

get orange barrel#

এই ম্যাক্রোটি রোবটকে শনাক্ত করা একটি কমলা ব্যারেলের দিকে ততক্ষণ এগিয়ে নিয়ে যায়, যতক্ষণ না রোবটটি সেটি সংগ্রহ করে। রোবটটি একটি কমলা ব্যারেল দেখতে পাওয়ার পর, অথবা একটি কমলা ব্যারেল খুঁজে পাওয়ার জন্য ‘টার্ন-আনটিল-অরেঞ্জ-ব্যারেল’ ম্যাক্রো ব্যবহার করার পর এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_move_velocity এবং set_turn_velocity ব্যবহার করে রোবটের চলার এবং ঘোরার বেগ কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Get orange barrel
while True:
    vision_data = robot.vision.get_data(ORANGE_BARREL)

    if vision_data[0].exists:
        if robot.has_orange_barrel():
            robot.stop_all_movement()
            break
        else:
            robot.move_at(vision_data[0].bearing)
    else:
        robot.move_at(0)
    wait(20, MSEC)

এআই ভিশন (ব্লু ব্যারেল)#

turn right until blue barrel#

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

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn right until blue barrel is detected
robot.turn(RIGHT)
while True:
    vision_data = robot.vision.get_data(BLUE_BARREL)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

turn left until blue barrel#

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

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn left until blue barrel is detected
robot.turn(LEFT)
while True:
    vision_data = robot.vision.get_data(BLUE_BARREL)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

get blue barrel#

এই ম্যাক্রোটি রোবটকে শনাক্ত করা একটি নীল ব্যারেলের দিকে ততক্ষণ এগিয়ে নিয়ে যায়, যতক্ষণ না রোবটটি সেটি সংগ্রহ করে। রোবট যখন একটি নীল ব্যারেল দেখতে পায়, অথবা একটি নীল ব্যারেল খুঁজে পাওয়ার জন্য ‘টার্ন-আনটিল-ব্লু-ব্যারেল’ ম্যাক্রো ব্যবহার করার পরে এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_move_velocity এবং set_turn_velocity ব্যবহার করে রোবটের চলার এবং ঘোরার বেগ কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Get blue barrel
while True:
    vision_data = robot.vision.get_data(BLUE_BARREL)

    if vision_data[0].exists:
        if robot.has_blue_barrel():
            robot.stop_all_movement()
            break
        else:
            robot.move_at(vision_data[0].bearing)
    else:
        robot.move_at(0)
    wait(20, MSEC)

এআই ভিশন (এআইএম রোবট)#

turn right until AIM robot#

এই ম্যাক্রোটি রোবটটিকে ডানদিকে ঘোরাতে থাকে যতক্ষণ না এআই ভিশন সেন্সর অন্য একটি VEX AIM কোডিং রোবট শনাক্ত করে, তারপর সেটির দিকে ঘোরে। যখন রোবটটির অন্য কোনো রোবটের দিকে যাওয়ার আগে সেটিকে খোঁজার প্রয়োজন হয়, তখন এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn right until AIM robot is detected
robot.turn(RIGHT)
while True:
    vision_data = robot.vision.get_data(AIM_ROBOT)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

turn left until AIM robot#

এই ম্যাক্রোটি রোবটটিকে বাম দিকে ঘোরাতে থাকে যতক্ষণ না এআই ভিশন সেন্সর অন্য একটি VEX AIM কোডিং রোবট শনাক্ত করে, তারপর সেটির দিকে ঘোরে। যখন রোবটটির অন্য কোনো রোবটের দিকে যাওয়ার আগে সেটিকে খোঁজার প্রয়োজন হয়, তখন এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn left until AIM robot is detected
robot.turn(LEFT)
while True:
    vision_data = robot.vision.get_data(AIM_ROBOT)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

move to AIM robot#

এই ম্যাক্রোটি রোবটটিকে অন্য একটি VEX AIM কোডিং রোবটের দিকে ততক্ষণ এগিয়ে নিয়ে যায়, যতক্ষণ না এটি থামার মতো যথেষ্ট কাছাকাছি আসে। রোবটটি অন্য একটি রোবট দেখতে পাওয়ার পর, অথবা একটি AIM রোবট খুঁজে পাওয়ার জন্য ‘turn-until-AIM-robot’ ম্যাক্রো ব্যবহার করার পর এটি ব্যবহার করুন।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_move_velocity এবং set_turn_velocity ব্যবহার করে রোবটের চলার এবং ঘোরার বেগ কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Move to AIM robot
while True:
    vision_data = robot.vision.get_data(AIM_ROBOT)

    if vision_data[0].exists:
        if vision_data[0].width >= 140:
            robot.stop_all_movement()
            break
        else:
            robot.move_at(vision_data[0].bearing)
    else:
        robot.move_at(0)
    wait(20, MSEC)

এআই ভিশন (এপ্রিলট্যাগ)#

turn right until AprilTag#

এই ম্যাক্রোটি রোবটটিকে ডানদিকে ঘোরাতে থাকে যতক্ষণ না এআই ভিশন সেন্সর এপ্রিলট্যাগ আইডি 0 শনাক্ত করে, তারপর শনাক্ত করা এপ্রিলট্যাগের দিকে ঘোরে। যখন রোবটকে কোনো এপ্রিলট্যাগের দিকে যাওয়ার আগে সেটি খুঁজতে হয়, তখন এটি ব্যবহার করুন। রোবটটি কোন এপ্রিলট্যাগ পর্যন্ত ঘুরবে তা পরিবর্তন করতে, TAG0 এর 0 কে 0 থেকে 37 পর্যন্ত যেকোনো সংখ্যা দিয়ে প্রতিস্থাপন করুন (এপ্রিলট্যাগ 5 থেকে 37 AIM প্রিন্টেবলস থেকে প্রিন্ট করা এপ্রিলট্যাগের সাথে ব্যবহার করা যেতে পারে)।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn right until AprilTag ID 0 is detected
robot.turn(RIGHT)
while True:
    vision_data = robot.vision.get_data(TAG0)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

turn left until AprilTag#

এই ম্যাক্রোটি রোবটটিকে বাম দিকে ততক্ষণ ঘোরায় যতক্ষণ না এআই ভিশন সেন্সর এপ্রিলট্যাগ আইডি 0 শনাক্ত করে, তারপর শনাক্ত করা এপ্রিলট্যাগের দিকে ঘোরে। যখন রোবটকে কোনো এপ্রিলট্যাগের দিকে যাওয়ার আগে সেটি খুঁজতে হয়, তখন এটি ব্যবহার করুন। রোবটটি কোন এপ্রিলট্যাগ পর্যন্ত ঘুরবে তা পরিবর্তন করতে, TAG0 এর 0 কে 0 থেকে 37 পর্যন্ত যেকোনো সংখ্যা দিয়ে প্রতিস্থাপন করুন (এপ্রিলট্যাগ 5 থেকে 37 AIM প্রিন্টেবলস থেকে প্রিন্ট করা এপ্রিলট্যাগের সাথে ব্যবহার করা যেতে পারে)।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_turn_velocity ব্যবহার করে রোবটের মোড় নেওয়ার গতি কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Turn left until AprilTag ID 0 is detected
robot.turn(LEFT)
while True:
    vision_data = robot.vision.get_data(TAG0)

    if vision_data[0].exists:
        # Turn to the object by adding your current heading and the vision bearing offset
        robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
        break
    wait(20, MSEC)

move to AprilTag#

এই ম্যাক্রোটি রোবটকে এপ্রিলট্যাগ আইডি 0-এর দিকে ততক্ষণ নিয়ে যায় যতক্ষণ না এটি থামার জন্য যথেষ্ট কাছাকাছি আসে। রোবট যখন একটি এপ্রিলট্যাগ দেখতে পায়, অথবা একটি এপ্রিলট্যাগ খুঁজে বের করার জন্য ‘টার্ন-আনটিল-এপ্রিলট্যাগ’ ম্যাক্রো ব্যবহার করার পরে এটি ব্যবহার করুন। রোবট কোন এপ্রিলট্যাগে যাবে তা পরিবর্তন করতে, TAG0 এর 0 কে 0 থেকে 37 পর্যন্ত যেকোনো সংখ্যা দিয়ে প্রতিস্থাপন করুন (এপ্রিলট্যাগ 5 থেকে 37 AIM প্রিন্টেবলস থেকে প্রিন্ট করা এপ্রিলট্যাগগুলির সাথে ব্যবহার করা যেতে পারে)।

দ্রষ্টব্য: যদি রোবট বস্তু সনাক্ত করতে অসুবিধা বোধ করে, তাহলে set_move_velocity এবং set_turn_velocity ব্যবহার করে রোবটের চলার এবং ঘোরার বেগ কমানোর চেষ্টা করুন।

নিচের কোডটি সেই পাইথন সিকোয়েন্সটি দেখাচ্ছে যা টুলবক্স থেকে এই ম্যাক্রোটি ড্র্যাগ করে আনলে আপনার প্রোজেক্টে যুক্ত হয়। আপনি সিকোয়েন্সটি সরাসরি ব্যবহার করতে পারেন অথবা যুক্ত করার পর সম্পাদনা করতে পারেন।

# Move to AprilTag ID 0
while True:
    vision_data = robot.vision.get_data(TAG0)

    if vision_data[0].exists:
        if vision_data[0].width >= 60:
            robot.stop_all_movement()
            break
        else:
            robot.move_at(vision_data[0].bearing)
    else:
        robot.move_at(0)
    wait(20, MSEC)