৬-অক্ষ বাহু#

ভূমিকা#

VEX ৬-অক্ষীয় রোবোটিক আর্ম হলো একটি রোবোটিক ম্যানিপুলেটর যা CTE ওয়ার্কসেলে ব্যবহৃত হয়। VEXcode EXP-তে, আর্ম মেথডগুলো একটি EXP ব্রেইনকে ৬-অক্ষীয় আর্মটি নাড়াতে, এর এন্ড ইফেক্টর ঘোরাতে, নড়াচড়া সম্ভব কিনা তা পরীক্ষা করতে এবং ম্যাগনেট পিকআপ টুল বা পেন হোল্ডার টুলের মতো সংযুক্ত টুলগুলো নিয়ন্ত্রণ করতে দেয়।

এই পৃষ্ঠাটি সেইসব CTE Workcell প্রোজেক্টের জন্য যেখানে 6-Axis Arm একটি EXP Brain-এর সাথে সংযুক্ত। যদি আপনি CTE Tile-এর সাথে 6-Axis Arm একা ব্যবহার করেন, তাহলে পরিবর্তে CTE Arm API পৃষ্ঠাটি ব্যবহার করুন।

এই পৃষ্ঠার উদাহরণগুলিতে arm1 নামের একটি কনফিগার করা ৬-অক্ষের আর্ম ব্যবহার করা হয়েছে।

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

ক্রিয়াকলাপ — ৬-অক্ষীয় বাহুটিকে বিভিন্ন অবস্থানে বা অভিমুখে চালনা করুন।

  • move_to — এন্ড ইফেক্টরকে একটি নির্দিষ্ট x, y, এবং z স্থানাঙ্কে সরিয়ে নিয়ে যায়।

  • move_inc — এন্ড ইফেক্টরকে তার বর্তমান অবস্থান থেকে একটি নির্দিষ্ট দূরত্বে সরিয়ে দেয়।

  • move_end_effector_to — এন্ড ইফেক্টরকে একটি নির্দিষ্ট ইয়, রোল এবং পিচ অভিমুখে ঘোরায়।

  • move_end_effector_inc — এন্ড ইফেক্টরকে একটি নির্দিষ্ট পরিমাণে ইয়, রোল এবং পিচ দ্বারা ঘোরায়।

মিউটেটর — চলাচল, সরঞ্জাম এবং নিয়ন্ত্রণ সেটিংস কনফিগার করুন।

  • set_speed — 6-অ্যাক্সিস আর্মের চলাচলের গতি নির্ধারণ করে।

  • set_end_effector_type — 6-অ্যাক্সিস আর্মের সাথে সংযুক্ত এন্ড ইফেক্টরের ধরণ নির্ধারণ করে।

  • set_end_effector_magnet — ম্যাগনেট পিকআপ টুলটিকে সক্রিয় বা নিষ্ক্রিয় করে।

  • set_pen_offset — পেন হোল্ডার টুলের সাথে ব্যবহৃত z-অক্ষ অফসেট সেট করে।

  • set_control_stop — 6-অক্ষীয় আর্মের জন্য নিয়ন্ত্রণ বন্ধ সক্ষম করে।

  • set_timeout — 6-অক্ষীয় আর্ম মুভমেন্ট পদ্ধতিগুলির জন্য ব্যবহৃত টাইমআউট সেট করে।

গেটার — গতির অবস্থা, অবস্থান, অভিমুখ এবং সংযোগের মান ফেরত দেয়।

  • is_done — 6-অক্ষ বাহুটির নড়াচড়া শেষ হয়েছে কিনা তা ফেরত দেয়।

  • is_crashed — 6-অক্ষীয় বাহুটি চলার সময় বিধ্বস্ত হয়েছে কিনা তা ফেরত দেয়।

  • get_x — এন্ড ইফেক্টরের বর্তমান x অবস্থান ফেরত দেয়।

  • get_y — এন্ড ইফেক্টরের বর্তমান y অবস্থান ফেরত দেয়।

  • get_z — এন্ড ইফেক্টরের বর্তমান z অবস্থান ফেরত দেয়।

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

  • get_roll — এন্ড ইফেক্টরের বর্তমান রোল ফেরত দেয়।

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

  • can_arm_reach_to — 6-অক্ষীয় বাহুটি একটি নির্দিষ্ট অবস্থানে পৌঁছাতে পারে কিনা তা ফেরত দেয়।

  • can_arm_reach_inc — 6-অক্ষীয় বাহুটি একটি নির্দিষ্ট দূরত্বে যেতে পারবে কিনা তা ফেরত দেয়।

  • can_end_effector_reach_to — এন্ড ইফেক্টরটি একটি নির্দিষ্ট অভিমুখ পর্যন্ত পৌঁছাতে পারবে কিনা তা ফেরত দেয়।

  • can_end_effector_reach_inc — এন্ড ইফেক্টরটি একটি নির্দিষ্ট পরিমাণ ঘুরতে পারবে কিনা তা ফেরত দেয়।

  • get_timeout — মুভমেন্ট মেথডগুলো দ্বারা ব্যবহৃত বর্তমান টাইমআউট মান ফেরত দেয়।

  • is_connected — 6-অ্যাক্সিস আর্মটি EXP ব্রেইনের সাথে সংযুক্ত কিনা তা ফেরত দেয়।

কলব্যাক — arm ইভেন্ট ঘটলে ফাংশনগুলো চালায়।

  • control_stopped — কন্ট্রোল স্টপ সক্রিয় হলে চালানোর জন্য একটি ফাংশন নিবন্ধন করে।

  • crashed — ক্র্যাশ শনাক্ত হলে চালানোর জন্য একটি ফাংশন নিবন্ধন করে।

কনস্ট্রাক্টর — ম্যানুয়ালি একটি ৬-অক্ষ বিশিষ্ট আর্ম অবজেক্ট তৈরি করুন।

  • Arm — একটি 6-অক্ষ বিশিষ্ট আর্ম অবজেক্ট তৈরি করে।

কর্ম#

move_to#

move_to 6-অ্যাক্সিস আর্মটিকে একটি নির্দিষ্ট x, y, এবং z স্থানাঙ্কে নিয়ে যায়।

x, y, এবং z স্থানাঙ্কগুলি ত্রিমাত্রিক স্থানে এন্ড ইফেক্টরের অবস্থান বর্ণনা করে। যদি লক্ষ্যের অবস্থান 6-অক্ষ আর্মের নাগালের বাইরের কর্মক্ষেত্রের সম্ভাব্য স্থানে থাকে, তাহলে এই পদ্ধতির আগে can_arm_reach_to ব্যবহার করুন।

Usage:
arm1.move_to(x, y, z, wait)

প্যারামিটার

বর্ণনা

x

লক্ষ্যস্থানের x-স্থানাঙ্ক মিলিমিটারে।

y

লক্ষ্যস্থানের y-স্থানাঙ্ক মিলিমিটারে।

z

লক্ষ্যস্থানের z-স্থানাঙ্ক মিলিমিটারে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) মুভমেন্ট সম্পূর্ণ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায় এবং তারপর চলতে দেয়। wait=False মুভমেন্ট শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

# Move the 6-Axis Arm to (40, 140, 210)
arm1.move_to(40, 140, 210)

# Start moving, then print the y-position while the arm moves
arm1.move_to(-100, 200, 100, wait=False)

while not arm1.is_done():
    brain.screen.print(arm1.get_y())
    brain.screen.next_row()
    wait(0.25, SECONDS)

move_inc#

move_inc 6-অক্ষীয় বাহুটিকে তার বর্তমান অবস্থান থেকে x, y, এবং z অক্ষ বরাবর একটি নির্দিষ্ট দূরত্বে সরায়।

এন্ড ইফেক্টর এখন যেখানে আছে তার সাপেক্ষে সরানোর জন্য এই পদ্ধতিটি ব্যবহার করুন। যদি এই সরণের ফলে 6-অ্যাক্সিস আর্মটি তার নাগালের বাইরে চলে যেতে পারে, তাহলে এই পদ্ধতির আগে can_arm_reach_inc ব্যবহার করুন।

Usage:
arm1.move_inc(x, y, z, wait)

প্যারামিটার

বর্ণনা

x

এক্স-অক্ষ বরাবর সরতে প্রয়োজনীয় দূরত্ব, মিলিমিটারে।

y

y-অক্ষ বরাবর সরতে প্রয়োজনীয় দূরত্ব, মিলিমিটারে।

z

z-অক্ষ বরাবর সরতে প্রয়োজনীয় দূরত্ব, মিলিমিটারে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) মুভমেন্ট সম্পূর্ণ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায় এবং তারপর চলতে দেয়। wait=False মুভমেন্ট শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

# Move the 6-Axis Arm 100 millimeters along the y-axis
arm1.move_inc(0, 100, 0)

move_end_effector_to#

move_end_effector_to 6-অ্যাক্সিস আর্মের এন্ড ইফেক্টরকে একটি নির্দিষ্ট ইয়, রোল এবং পিচ অভিমুখে ঘোরায়।

ওরিয়েন্টেশন বর্ণনা করে এন্ড ইফেক্টরটি কীভাবে ঘোরানো হয়। yaw z-অক্ষ বরাবর ঘোরে, roll x-অক্ষ বরাবর ঘোরে, এবং pitch y-অক্ষ বরাবর ঘোরে।

Usage:
arm1.move_end_effector_to(yaw, roll, pitch, wait)

প্যারামিটার

বর্ণনা

yaw

লক্ষ্য ইয়ো কোণ, ডিগ্রিতে।

roll

লক্ষ্য রোল কোণ, ডিগ্রিতে।

pitch

লক্ষ্য পিচ কোণ, ডিগ্রিতে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) মুভমেন্ট সম্পূর্ণ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায় এবং তারপর চলতে দেয়। wait=False মুভমেন্ট শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

# Rotate the end effector to 90 degrees of roll
arm1.move_end_effector_to(0, 90, 0)

move_end_effector_inc#

move_end_effector_inc 6-অ্যাক্সিস আর্মের এন্ড ইফেক্টরকে তার বর্তমান অবস্থান থেকে একটি নির্দিষ্ট পরিমাণে ইয়, রোল এবং পিচ দ্বারা ঘোরায়।

এন্ড ইফেক্টরের বর্তমান ইয়, রোল বা পিচের সাপেক্ষে ঘোরানোর জন্য এই পদ্ধতিটি ব্যবহার করুন।

Usage:
arm1.move_end_effector_inc(yaw, roll, pitch, wait)

প্যারামিটার

বর্ণনা

yaw

ইয়-এর পরিবর্তন, ডিগ্রিতে।

roll

ঘূর্ণনের পরিবর্তন, ডিগ্রিতে।

pitch

তীক্ষ্ণতার পরিবর্তন, ডিগ্রিতে।

wait

ঐচ্ছিক। wait=True (ডিফল্ট) মুভমেন্ট সম্পূর্ণ না হওয়া পর্যন্ত প্রজেক্টকে অপেক্ষা করায় এবং তারপর চলতে দেয়। wait=False মুভমেন্ট শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

# Rotate the end effector -50 degrees in pitch
arm1.move_end_effector_inc(0, 0, -50)

মিউটেটর#

set_speed#

set_speed , ৬-অ্যাক্সিস আর্মের মুভমেন্ট মেথডগুলোর জন্য ব্যবহৃত চলাচলের গতি নির্ধারণ করে।

প্রজেক্টের শুরুতে ৬-অ্যাক্সিস আর্মের গতি ৫০%-এ সেট করা থাকে।

Usage:
arm1.set_speed(speed)

প্যারামিটার

বর্ণনা

speed

৬-অক্ষীয় বাহুর চলাচলের গতি, 1 থেকে 100 শতাংশ।

# Set the 6-Axis Arm speed to 30%
arm1.set_speed(30)

set_end_effector_type#

set_end_effector_type 6-অ্যাক্সিস আর্মের সাথে সংযুক্ত এন্ড ইফেক্টরের ধরন নির্ধারণ করে।

যখন এন্ড ইফেক্টরের ধরন পরিবর্তন করা হয়, তখন ৬-অ্যাক্সিস আর্ম স্বয়ংক্রিয়ভাবে নির্বাচিত টুলের সাথে মেলানোর জন্য এর z-অফসেট সামঞ্জস্য করে। একটি প্রজেক্টের শুরুতে এন্ড ইফেক্টরের ধরন MAGNET এ সেট করা থাকে।

Usage:
arm1.set_end_effector_type(type)

প্যারামিটার

বর্ণনা

type

৬-অ্যাক্সিস আর্মের সাথে সংযুক্ত টুল: MAGNET (ম্যাগনেট পিকআপ টুল) অথবা PEN (পেন হোল্ডার টুল)।

# Set the end effector type to the Pen Holder Tool
arm1.set_end_effector_type(PEN)

set_end_effector_magnet#

set_end_effector_magnet ম্যাগনেট পিকআপ টুলটিকে সক্রিয় বা নিষ্ক্রিয় করে।

অন্য set_end_effector_magnet মেথড এটিকে পরিবর্তন না করা পর্যন্ত ম্যাগনেট স্টেট সক্রিয় থাকে। একটি প্রজেক্টের শুরুতে ম্যাগনেট স্টেট False -এ রিসেট করা হয়।

Usage:
arm1.set_end_effector_magnet(state)

প্যারামিটার

বর্ণনা

state

ম্যাগনেট পিকআপ টুলের অবস্থা: True বস্তু তুলে ধরে রাখার জন্য অথবা False ধরে রাখা যেকোনো বস্তু ফেলে দেওয়ার জন্য এবং নতুন বস্তু তোলা বন্ধ করার জন্য।

# Pick up objects and then drop them
arm1.set_end_effector_type(MAGNET)
arm1.set_end_effector_magnet(True)
wait(2, SECONDS)
arm1.set_end_effector_magnet(False)

set_pen_offset#

set_pen_offset সেই z-অক্ষ অফসেট নির্ধারণ করে যা পেন হোল্ডার টুলটি 6-অক্ষ আর্মের সাথে সংযুক্ত থাকাকালীন ব্যবহৃত হয়।

এই পদ্ধতিটি ব্যবহার করার আগে এন্ড ইফেক্টর টাইপটি PEN -এ সেট করুন। যদি পেন হোল্ডার টুলটি নির্বাচিত না থাকে, তাহলে এই পদ্ধতিটির কোনো প্রভাব পড়বে না।

পেন অফসেট হলো পেন হোল্ডার টুলের শীর্ষ থেকে ড্রাই-ইরেজ মার্কারের ডগা পর্যন্ত দূরত্ব। একটি প্রজেক্টের শুরুতে, পেন অফসেট 0এ সেট করা থাকে। 0 এর একটি পেন অফসেট আর্মের z-অক্ষের মূলবিন্দুকে সেই বিন্দুতে স্থাপন করে যেখানে পেন হোল্ডার টুলটি 6-অক্ষ আর্মের সাথে সংযুক্ত হয়।

Usage:
arm1.set_pen_offset(zOffset)

প্যারামিটার

বর্ণনা

zOffset

পেন অফসেট মান মিলিমিটারে।

# Set the end effector type to the Pen Holder Tool and set the pen offset
arm1.set_end_effector_type(PEN)
arm1.set_pen_offset(25)

set_control_stop#

set_control_stop 6-অ্যাক্সিস আর্মের জন্য কন্ট্রোল স্টপ সক্রিয় করে।

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

Usage:
arm1.set_control_stop(state)

প্যারামিটার

বর্ণনা

state

ঐচ্ছিক। True (ডিফল্ট) কন্ট্রোল স্টপ সক্রিয় করে। False কন্ট্রোল স্টপ সক্রিয় করে না।

# Stop the 6-Axis Arm and prevent further movement
arm1.set_control_stop()

set_timeout#

set_timeout ৬-অ্যাক্সিস আর্ম সরানোর সময় ব্যবহৃত টাইমআউট মান নির্ধারণ করে।

যদি টাইমআউট শেষ হওয়ার আগে কোনো মুভমেন্ট শেষ না হয়, তাহলে প্রজেক্টটি কোডের পরবর্তী লাইনে চলে যায়।

Usage:
arm1.set_timeout(timeout, units)

প্যারামিটার

বর্ণনা

timeout

নতুন টাইমআউট মান।

units

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

# Set the 6-Axis Arm timeout to 2 seconds
arm1.set_timeout(2, SECONDS)

গেটার্স#

is_done#

is_done রিটার্ন করে যে 6-অ্যাক্সিস আর্মটির নড়াচড়া শেষ হয়েছে কিনা।

এই পদ্ধতিটি তখন কার্যকর হয় যখন কোনো মুভমেন্ট মেথডকে wait=False দিয়ে কল করা হয়।

  • True — ৬-অক্ষীয় বাহুটির নড়াচড়া শেষ হয়েছে।

  • False — ৬-অক্ষীয় বাহুটি এখনও ঘুরছে।

Usage:
arm1.is_done()

প্যারামিটার

বর্ণনা

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

# Display the 6-Axis Arm's y-position while it moves
arm1.move_to(-100, 200, 100, wait=False)

while not arm1.is_done():
    brain.screen.print(arm1.get_y())
    brain.screen.next_row()
    wait(0.25, SECONDS)

is_crashed#

is_crashed রিটার্ন করে যে ৬-অ্যাক্সিস আর্মটি চলার সময় ক্র্যাশ করেছে কিনা।

যখন কোনো সংঘর্ষ শনাক্ত হয়, তখন ৬-অ্যাক্সিস আর্মটি মোটরের চলাচল থামিয়ে দেয় এবং এটিকে শিথিল বলে মনে হতে পারে। এটি চাপ কমায় এবং মোটরগুলোকে আকস্মিক ক্ষতি থেকে রক্ষা করতে সাহায্য করে।

  • True — ৬-অক্ষীয় বাহুটি বিধ্বস্ত হয়েছে।

  • False — ৬-অক্ষীয় বাহুটি বিধ্বস্ত হয়নি।

Usage:
arm1.is_crashed()

প্যারামিটার

বর্ণনা

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

# Quickly move to a new location
arm1.set_speed(100)
arm1.move_to(-30, 240, 40, wait=False)

# While moving, check for a crash
while True:
    if arm1.is_crashed():
        # Indicate a crash with the Signal Tower and Brain screen
        brain.screen.print("Crash Detected")
        signal_tower_2.set_color(SignalTower.GREEN, SignalTower.OFF)
        signal_tower_2.set_color(SignalTower.RED, SignalTower.ON)
        break

    wait(5, MSEC)

get_x#

get_x এন্ড ইফেক্টরের বর্তমান x অবস্থান মিলিমিটারে ফেরত দেয়।

এক্স-অক্ষ বরাবর এন্ড ইফেক্টরটি বর্তমানে কোথায় অবস্থিত, তা জানতে এই পদ্ধতিটি ব্যবহার করুন।

Usage:
arm1.get_x()

প্যারামিটার

বর্ণনা

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

# Print the current x position of the 6-Axis Arm
brain.screen.print(arm1.get_x())

get_y#

get_y এন্ড ইফেক্টরের বর্তমান y অবস্থান মিলিমিটারে ফেরত দেয়।

এন্ড ইফেক্টরটি বর্তমানে y-অক্ষ বরাবর কোথায় অবস্থিত, তা জানতে এই পদ্ধতিটি ব্যবহার করুন।

Usage:
arm1.get_y()

প্যারামিটার

বর্ণনা

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

# Print the current y position of the 6-Axis Arm
brain.screen.print(arm1.get_y())

get_z#

get_z এন্ড ইফেক্টরের বর্তমান z অবস্থান মিলিমিটারে ফেরত দেয়।

এন্ড ইফেক্টরটি বর্তমানে z-অক্ষ বরাবর কোথায় অবস্থিত, তা জানতে এই পদ্ধতিটি ব্যবহার করুন।

Usage:
arm1.get_z()

প্যারামিটার

বর্ণনা

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

# Print the current z position of the 6-Axis Arm
brain.screen.print(arm1.get_z())

get_pitch#

get_pitch এন্ড ইফেক্টরের বর্তমান পিচ ডিগ্রিতে ফেরত দেয়।

Usage:
arm1.get_pitch()

প্যারামিটার

বর্ণনা

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

# Print the current pitch of the end effector
brain.screen.print(arm1.get_pitch())

get_roll#

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

Usage:
arm1.get_roll()

প্যারামিটার

বর্ণনা

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

# Print the current roll of the end effector
brain.screen.print(arm1.get_roll())

get_yaw#

get_yaw এন্ড ইফেক্টরের বর্তমান ইয় (yaw) ডিগ্রিতে ফেরত দেয়।

Usage:
arm1.get_yaw()

প্যারামিটার

বর্ণনা

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

# Print the current yaw of the end effector
brain.screen.print(arm1.get_yaw())

can_arm_reach_to#

can_arm_reach_to রিটার্ন করে যে 6-অ্যাক্সিস আর্মটি এন্ড ইফেক্টরকে একটি নির্দিষ্ট x, y, এবং z স্থানাঙ্কে সরাতে পারবে কিনা।

move_to ব্যবহার করার আগে লক্ষ্যের অবস্থান পরীক্ষা করতে এই পদ্ধতিটি ব্যবহার করুন।

  • True — ৬-অক্ষীয় বাহুটি অনুরোধকৃত অবস্থানে পৌঁছাতে পারে।

  • False — ৬-অক্ষীয় বাহুটি অনুরোধকৃত অবস্থানে পৌঁছাতে পারছে না।

Usage:
arm1.can_arm_reach_to(x, y, z)

প্যারামিটার

বর্ণনা

x

লক্ষ্যস্থানের x-স্থানাঙ্ক মিলিমিটারে।

y

লক্ষ্যস্থানের y-স্থানাঙ্ক মিলিমিটারে।

z

লক্ষ্যস্থানের z-স্থানাঙ্ক মিলিমিটারে।

# Move the 6-Axis Arm to (100, -20, 50) if it can reach
if arm1.can_arm_reach_to(100, -20, 50):
    arm1.move_to(100, -20, 50)

can_arm_reach_inc#

can_arm_reach_inc রিটার্ন করে যে 6-অ্যাক্সিস আর্মটি এন্ড ইফেক্টরকে তার বর্তমান অবস্থান থেকে একটি নির্দিষ্ট x, y, এবং z দূরত্বে সরাতে পারবে কিনা।

move_inc ব্যবহার করার আগে আপেক্ষিক সরণ পরীক্ষা করতে এই পদ্ধতিটি ব্যবহার করুন।

  • True — ৬-অক্ষীয় বাহুটি অনুরোধকৃত সঞ্চালনটি করতে পারে।

  • False — ৬-অক্ষীয় বাহুটি অনুরোধকৃত সঞ্চালনটি করতে পারে না।

Usage:
arm1.can_arm_reach_inc(x, y, z)

প্যারামিটার

বর্ণনা

x

এক্স-অক্ষ বরাবর সরতে প্রয়োজনীয় দূরত্ব, মিলিমিটারে।

y

y-অক্ষ বরাবর সরতে প্রয়োজনীয় দূরত্ব, মিলিমিটারে।

z

z-অক্ষ বরাবর সরতে প্রয়োজনীয় দূরত্ব, মিলিমিটারে।

# Increment the 6-Axis Arm 100 mm along the x-axis if possible
if arm1.can_arm_reach_inc(100, 0, 0):
    arm1.move_inc(100, 0, 0)

can_end_effector_reach_to#

can_end_effector_reach_to রিটার্ন করে যে এন্ড ইফেক্টরটি একটি নির্দিষ্ট ইয়, রোল এবং পিচ অভিমুখে ঘুরতে পারবে কিনা।

move_end_effector_to ব্যবহার করার আগে লক্ষ্যের অভিমুখ পরীক্ষা করতে এই পদ্ধতিটি ব্যবহার করুন।

  • True — এন্ড ইফেক্টরটি অনুরোধকৃত অভিমুখ অর্জন করতে পারে।

  • False — এন্ড ইফেক্টরটি অনুরোধ করা অভিমুখ পর্যন্ত পৌঁছাতে পারছে না।

Usage:
arm1.can_end_effector_reach_to(yaw, roll, pitch)

প্যারামিটার

বর্ণনা

yaw

লক্ষ্য ইয়ো কোণ, ডিগ্রিতে।

roll

লক্ষ্য রোল কোণ, ডিগ্রিতে।

pitch

লক্ষ্য পিচ কোণ, ডিগ্রিতে।

# Rotate the end effector to 90 degrees of roll if possible
if arm1.can_end_effector_reach_to(0, 90, 0):
    arm1.move_end_effector_to(0, 90, 0)

can_end_effector_reach_inc#

can_end_effector_reach_inc রিটার্ন করে যে এন্ড ইফেক্টরটি তার বর্তমান অবস্থান থেকে একটি নির্দিষ্ট ইয়ো, রোল এবং পিচ পরিমাণে ঘুরতে পারবে কিনা।

move_end_effector_inc ব্যবহার করার আগে একটি আপেক্ষিক অভিমুখীকরণ গতি পরীক্ষা করতে এই পদ্ধতিটি ব্যবহার করুন।

  • True — এন্ড ইফেক্টরটি অনুরোধকৃত ঘূর্ণনটি করতে পারে।

  • False — এন্ড ইফেক্টরটি অনুরোধ করা ঘূর্ণনটি করতে পারছে না।

Usage:
arm1.can_end_effector_reach_inc(yaw, roll, pitch)

প্যারামিটার

বর্ণনা

yaw

ইয়-এর পরিবর্তন, ডিগ্রিতে।

roll

ঘূর্ণনের পরিবর্তন, ডিগ্রিতে।

pitch

তীক্ষ্ণতার পরিবর্তন, ডিগ্রিতে।

# Increment the end effector by 10 degrees of pitch if possible
if arm1.can_end_effector_reach_inc(0, 0, 10):
    arm1.move_end_effector_inc(0, 0, 10)

get_timeout#

get_timeout ৬-অ্যাক্সিস আর্ম মুভমেন্ট মেথডগুলোতে ব্যবহৃত টাইমআউট ভ্যালুটি মিলিসেকেন্ডে রিটার্ন করে।

Usage:
arm1.get_timeout()

প্যারামিটার

বর্ণনা

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

# Print the current movement timeout in milliseconds
brain.screen.print(arm1.get_timeout())

is_connected#

is_connected রিটার্ন করে যে 6-Axis Arm-টি EXP Brain-এর সাথে সংযুক্ত আছে কিনা।

  • True — ৬-অক্ষীয় বাহুটি EXP মস্তিষ্কের সাথে সংযুক্ত।

  • False — ৬-অক্ষীয় বাহুটি EXP মস্তিষ্কের সাথে সংযুক্ত নয়।

Usage:
arm1.is_connected()

প্যারামিটার

বর্ণনা

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

# Print whether the 6-Axis Arm is connected
brain.screen.print(arm1.is_connected())

কলব্যাক#

control_stopped#

control_stopped এমন একটি ফাংশন রেজিস্টার করে যা কন্ট্রোল স্টপ সক্রিয় থাকলে চলে।

এই মেথডটি Event ক্লাসের একটি ইনস্ট্যান্স রিটার্ন করে।

Usage:
arm1.control_stopped(callback, arg)

প্যারামিটার

বর্ণনা

callback

পূর্বে সংজ্ঞায়িত একটি ফাংশন যা কন্ট্রোল স্টপ সক্রিয় হলে চলে।

arg

ঐচ্ছিক। কলব্যাক ফাংশনে পাস করার জন্য আর্গুমেন্ট ধারণকারী একটি টাপল। আরও তথ্যের জন্য প্যারামিটার সহ ফাংশনের ব্যবহার দেখুন।

# Define a function to run when control stop is enabled
def when_control_stopped():
    brain.screen.print("The arm has been control stopped")

# Run when_control_stopped when the 6-Axis Arm is control stopped
arm1.control_stopped(when_control_stopped)

crashed#

crashed এমন একটি ফাংশন রেজিস্টার করে যা ৬-অ্যাক্সিস আর্মটি চলার সময় ক্র্যাশ করলে রান করে।

যখন কোনো সংঘর্ষ শনাক্ত হয়, তখন ৬-অ্যাক্সিস আর্মটি মোটরের চলাচল থামিয়ে দেয় এবং এটিকে শিথিল বলে মনে হতে পারে। এটি চাপ কমায় এবং মোটরগুলোকে আকস্মিক ক্ষতি থেকে রক্ষা করতে সাহায্য করে।

Usage:
arm1.crashed(callback)

প্যারামিটার

বর্ণনা

callback

পূর্বে সংজ্ঞায়িত একটি ফাংশন যা ক্র্যাশ সনাক্ত হলে চলে।

# Define what happens if a crash is detected
def arm_crash():
    brain.screen.print("Crash Detected")
    signal_tower_2.set_color(SignalTower.RED, SignalTower.ON)

# Run arm_crash when the 6-Axis Arm crashes
arm1.crashed(arm_crash)

নির্মাণকারী#

Arm#

Arm একটি 6-অক্ষ বিশিষ্ট আর্ম অবজেক্ট তৈরি করে।

Usage:
Arm(smartport)

প্যারামিটার

বর্ণনা

smartport

যে স্মার্ট পোর্টের সাথে ৬-অ্যাক্সিস আর্মটি সংযুক্ত থাকে, তা Ports.PORTxহিসেবে লেখা হয়, যেখানে x হলো পোর্ট নম্বর।

# Construct a 6-Axis Arm named arm1 with the Arm class
arm1 = Arm(Ports.PORT1)