সিটিই আর্ম#

ভূমিকা#

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

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

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

arm#

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

উপলব্ধ ফাংশন

arm(int32_t index);

প্যারামিটার

প্রকার

বর্ণনা

index

int32_t

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

উদাহরণ

// Create a 6-Axis Arm named Arm on Port 1
arm Arm = arm(PORT1);

ধ্বংসকারী#

~arm#

~arm , arm অবজেক্টটিকে ধ্বংস করে এবং সংশ্লিষ্ট রিসোর্সসমূহ মুক্ত করে।

উপলব্ধ ফাংশন

~arm();

সদস্যদের কার্যাবলী#

arm ক্লাসে নিম্নলিখিত মেম্বার ফাংশনগুলো অন্তর্ভুক্ত রয়েছে:

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

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

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

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

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

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

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

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

  • setEndEffectorMagnet — ম্যাগনেট পিকআপ টুলটি চালু বা বন্ধ করে।

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

  • setControlStop — 6-অ্যাক্সিস আর্মের জন্য কন্ট্রোল স্টপ সক্ষম বা অক্ষম করে।

  • setTimeout — 6-অক্ষীয় আর্ম মুভমেন্ট ফাংশন দ্বারা ব্যবহৃত টাইমআউট সেট করে।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • timestamp — 6-অ্যাক্সিস আর্ম থেকে সর্বশেষ প্রাপ্ত স্ট্যাটাস প্যাকেটের টাইমস্ট্যাম্প ফেরত দেয়।

  • installed — 6-অক্ষ আর্মটি সংযুক্ত আছে কিনা তা ফেরত দেয়।

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

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

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

কর্ম#

moveTo#

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

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

উপলব্ধ ফাংশন

bool moveTo(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

প্যারামিটার

প্রকার

বর্ণনা

x

double

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

y

double

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

z

double

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

waitForCompletion

bool

ঐচ্ছিক। true (ডিফল্ট) অগ্রসর হওয়ার আগে চলাচল সম্পূর্ণ হওয়া পর্যন্ত অপেক্ষা করে। false চলাচল শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

  • true — ৬-অক্ষীয় বাহুটি লক্ষ্য অবস্থানে পৌঁছেছে।

  • false — 6-Axis Arm লক্ষ্য অবস্থানে পৌঁছায়নি, অথবা waitForCompletion false এ সেট করা ছিল।

উদাহরণ

// Move the 6-Axis Arm to (200, 0, 100)
Arm.moveTo(200, 0, 100);

// Start moving, then print the y-position while the arm moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

moveInc#

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

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

উপলব্ধ ফাংশন

bool moveInc(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

প্যারামিটার

প্রকার

বর্ণনা

x

double

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

y

double

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

z

double

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

waitForCompletion

bool

ঐচ্ছিক। true (ডিফল্ট) অগ্রসর হওয়ার আগে চলাচল সম্পূর্ণ হওয়া পর্যন্ত অপেক্ষা করে। false চলাচল শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

  • false — 6-অ্যাক্সিস আর্মটি অনুরোধ করা অবস্থানে পৌঁছায়নি, অথবা waitForCompletion false এ সেট করা হয়েছিল।

উদাহরণ

// Move the 6-Axis Arm 100 millimeters along the y-axis
Arm.moveInc(0, 100, 0);

moveEndEffectorTo#

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

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

উপলব্ধ ফাংশন

bool moveEndEffectorTo(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

প্যারামিটার

প্রকার

বর্ণনা

yaw

double

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

roll

double

ঐচ্ছিক। লক্ষ্য রোল কোণ ডিগ্রিতে। ডিফল্ট হলো 0।

pitch

double

ঐচ্ছিক। লক্ষ্য পিচ কোণ ডিগ্রিতে। ডিফল্ট মান হলো 0।

waitForCompletion

bool

ঐচ্ছিক। true (ডিফল্ট) অগ্রসর হওয়ার আগে চলাচল সম্পূর্ণ হওয়া পর্যন্ত অপেক্ষা করে। false চলাচল শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

  • true — এন্ড ইফেক্টরটি লক্ষ্য অভিমুখে পৌঁছেছে।

  • false — এন্ড ইফেক্টরটি লক্ষ্য অভিমুখ পর্যন্ত পৌঁছায়নি, অথবা waitForCompletion false -এ সেট করা হয়েছিল।

উদাহরণ

// Rotate the end effector to 90 degrees of roll
Arm.moveEndEffectorTo(0, 90, 0);

moveEndEffectorInc#

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

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

উপলব্ধ ফাংশন

bool moveEndEffectorInc(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

প্যারামিটার

প্রকার

বর্ণনা

yaw

double

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

roll

double

ঐচ্ছিক। ঘূর্ণনের পরিবর্তন, ডিগ্রিতে। ডিফল্ট মান হলো 0।

pitch

double

ঐচ্ছিক। পিচের পরিবর্তন, ডিগ্রিতে। ডিফল্ট মান হলো 0।

waitForCompletion

bool

ঐচ্ছিক। true (ডিফল্ট) অগ্রসর হওয়ার আগে চলাচল সম্পূর্ণ হওয়া পর্যন্ত অপেক্ষা করে। false চলাচল শুরু করে এবং অবিলম্বে কোডের পরবর্তী লাইনে চলে যায়।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

  • false — এন্ড ইফেক্টরটি অনুরোধ করা অভিমুখ পর্যন্ত পৌঁছায়নি, অথবা waitForCompletion false -এ সেট করা হয়েছিল।

উদাহরণ

// Rotate the end effector -50 degrees in pitch
Arm.moveEndEffectorInc(0, 0, -50);

মিউটেটর#

setSpeed#

setSpeed ৬-অ্যাক্সিস আর্মের চলাচলের গতি নির্ধারণ করে।

উপলব্ধ ফাংশন

void setSpeed(uint32_t speed);

প্যারামিটার

প্রকার

বর্ণনা

speed

uint32_t

৬-অ্যাক্সিস আর্মটির চলার গতি, প্রতি সেকেন্ডে মিলিমিটারে।

ফেরত মূল্য

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

উদাহরণ

// Set the 6-Axis Arm movement speed
Arm.setSpeed(100);

setEndEffectorType#

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

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

উপলব্ধ ফাংশন

bool setEndEffectorType(
  endEffectorType type,
  bool            waitForCompletion = true
);

প্যারামিটার

প্রকার

বর্ণনা

type

endEffectorType

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

waitForCompletion

bool

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

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

  • true — অনুরোধকৃত প্রকারটি সেট করা হয়েছে।

  • false — অনুরোধ করা ধরণটি সেট করা হয়নি, অথবা waitForCompletion false -এ সেট করা হয়েছিল।

উদাহরণ

// Set the end effector type to the Magnet Pickup Tool
Arm.setEndEffectorType(magnet);

setEndEffectorMagnet#

setEndEffectorMagnet ম্যাগনেট পিকআপ টুলটি চালু বা বন্ধ করে।

উপলব্ধ ফাংশন

void setEndEffectorMagnet(bool enabled);

প্যারামিটার

প্রকার

বর্ণনা

enabled

bool

true চুম্বককে বস্তু তুলতে ও ধরে রাখতে সক্ষম করে। false চুম্বককে নিষ্ক্রিয় করে এবং ধরে রাখা যেকোনো বস্তু ফেলে দেয়।

ফেরত মূল্য

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

উদাহরণ

// Pick up objects and then drop them
Arm.setEndEffectorType(magnet);
Arm.setEndEffectorMagnet(true);
wait(2, seconds);
Arm.setEndEffectorMagnet(false);

setPenOffset#

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

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

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

উপলব্ধ ফাংশন

void setPenOffset(double zOffset);

প্যারামিটার

প্রকার

বর্ণনা

zOffset

double

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

ফেরত মূল্য

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

উদাহরণ

// Set the end effector type to the Pen Holder Tool and set the pen offset
Arm.setEndEffectorType(pen);
Arm.setPenOffset(25);

setControlStop#

setControlStop 6-অ্যাক্সিস আর্মের জন্য কন্ট্রোল স্টপ চালু বা বন্ধ করে।

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

উপলব্ধ ফাংশন

void setControlStop(bool state = true);

প্যারামিটার

প্রকার

বর্ণনা

state

bool

ঐচ্ছিক। true (ডিফল্ট) কন্ট্রোল স্টপ সক্রিয় করে এবং পরবর্তী রৈখিক বা জয়েন্ট মুভমেন্ট প্রতিরোধ করে। false কন্ট্রোল স্টপ নিষ্ক্রিয় করে।

ফেরত মূল্য

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

উদাহরণ

// Stop the 6-Axis Arm and prevent further movement
Arm.setControlStop();

setTimeout#

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

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

উপলব্ধ ফাংশন

void setTimeout(
  int32_t   timeout,
  timeUnits units
);

প্যারামিটার

প্রকার

বর্ণনা

timeout

int32_t

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

units

timeUnits

সময়ের একক: sec অথবা msec।

ফেরত মূল্য

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

উদাহরণ

// Set the 6-Axis Arm timeout to 2 seconds
Arm.setTimeout(2, sec);

গেটার্স#

isDone#

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

এই ফাংশনটি তখন কাজে লাগে যখন একটি মুভমেন্ট ফাংশনকে waitForCompletion false সেট করে কল করা হয়।

উপলব্ধ ফাংশন

bool isDone();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

উদাহরণ

// Display the 6-Axis Arm's y-position while it moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

isCrashed#

isCrashed নির্দেশ করে যে ৬-অ্যাক্সিস আর্মটি চলার সময় বিধ্বস্ত হয়েছে কিনা।

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

উপলব্ধ ফাংশন

bool isCrashed();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

উদাহরণ

// Quickly move to a new location
Arm.setSpeed(100);
Arm.moveTo(-40, 250, 40, false);

// While moving, check for a crash
while (true) {
  if (Arm.isCrashed()) {
    // Indicate a crash with the Signal Tower and Brain screen
    Brain.Screen.print("Crash Detected");
    SignalTower6.setColor(signaltower::green, signaltower::off);
    SignalTower6.setColor(signaltower::red, signaltower::on);
    break;
  }

  wait(5, msec);
}

getX#

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

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

উপলব্ধ ফাংশন

float getX();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

এন্ড ইফেক্টরের x অবস্থান মিলিমিটারে প্রকাশ করে এমন একটি float ফ্লোট রিটার্ন করে।

উদাহরণ

// Print the current x position of the 6-Axis Arm
Brain.Screen.print(Arm.getX());

getY#

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

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

উপলব্ধ ফাংশন

float getY();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

এন্ড ইফেক্টরের y অবস্থান মিলিমিটারে প্রকাশ করে এমন একটি float ফ্লোট রিটার্ন করে।

উদাহরণ

// Print the current y position of the 6-Axis Arm
Brain.Screen.print(Arm.getY());

getZ#

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

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

উপলব্ধ ফাংশন

float getZ();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

এন্ড ইফেক্টরের z অবস্থান মিলিমিটারে প্রকাশ করে এমন একটি float ফ্লোট রিটার্ন করে।

উদাহরণ

// Print the current z position of the 6-Axis Arm
Brain.Screen.print(Arm.getZ());

getYaw#

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

উপলব্ধ ফাংশন

float getYaw();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

এন্ড ইফেক্টরের বর্তমান ইয় (yaw) নির্দেশ করে এমন একটি float ফ্লোট রিটার্ন করে, যা ডিগ্রিতে পরিমাপ করা হয়।

উদাহরণ

// Print the current yaw of the end effector
Brain.Screen.print(Arm.getYaw());

getRoll#

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

উপলব্ধ ফাংশন

float getRoll();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

এন্ড ইফেক্টরের বর্তমান ঘূর্ণনকে ডিগ্রিতে প্রকাশ করে এমন একটি float ফ্লোট মান রিটার্ন করে।

উদাহরণ

// Print the current roll of the end effector
Brain.Screen.print(Arm.getRoll());

getPitch#

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

উপলব্ধ ফাংশন

float getPitch();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

এন্ড ইফেক্টরের বর্তমান পিচকে ডিগ্রিতে প্রকাশ করে এমন একটি float ফ্লোট রিটার্ন করে।

উদাহরণ

// Print the current pitch of the end effector
Brain.Screen.print(Arm.getPitch());

canArmReachTo#

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

moveTo ব্যবহার করার আগে লক্ষ্যের অবস্থান পরীক্ষা করতে এই ফাংশনটি ব্যবহার করুন।

উপলব্ধ ফাংশন

bool canArmReachTo(
  double x,
  double y,
  double z
);

প্যারামিটার

প্রকার

বর্ণনা

x

double

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

y

double

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

z

double

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

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

উদাহরণ

// Move the 6-Axis Arm to (100, -20, 50) if it can reach
if (Arm.canArmReachTo(100, -20, 50)) {
  Arm.moveTo(100, -20, 50);
}

canArmReachInc#

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

moveInc ব্যবহার করার আগে আপেক্ষিক সরণ পরীক্ষা করতে এই ফাংশনটি ব্যবহার করুন।

উপলব্ধ ফাংশন

bool canArmReachInc(
  double x,
  double y,
  double z
);

প্যারামিটার

প্রকার

বর্ণনা

x

double

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

y

double

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

z

double

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

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

উদাহরণ

// Increment the 6-Axis Arm 100 mm along the x-axis if possible
if (Arm.canArmReachInc(100, 0, 0)) {
  Arm.moveInc(100, 0, 0);
}

canEndEffectorReachTo#

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

moveEndEffectorTo ব্যবহার করার আগে লক্ষ্যের অভিমুখ পরীক্ষা করতে এই ফাংশনটি ব্যবহার করুন।

উপলব্ধ ফাংশন

bool canEndEffectorReachTo(
  double yaw,
  double roll = 0,
  double pitch = 0
);

প্যারামিটার

প্রকার

বর্ণনা

yaw

double

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

roll

double

ঐচ্ছিক। লক্ষ্য রোল কোণ ডিগ্রিতে। ডিফল্ট হলো 0।

pitch

double

ঐচ্ছিক। লক্ষ্য পিচ কোণ ডিগ্রিতে। ডিফল্ট মান হলো 0।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

উদাহরণ

// Rotate the end effector to 90 degrees of roll if possible
if (Arm.canEndEffectorReachTo(0, 90, 0)) {
  Arm.moveEndEffectorTo(0, 90, 0);
}

canEndEffectorReachInc#

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

moveEndEffectorInc ব্যবহার করার আগে আপেক্ষিক অভিমুখীকরণ সরণ পরীক্ষা করতে এই ফাংশনটি ব্যবহার করুন।

উপলব্ধ ফাংশন

bool canEndEffectorReachInc(
  double yaw,
  double roll = 0,
  double pitch = 0
);

প্যারামিটার

প্রকার

বর্ণনা

yaw

double

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

roll

double

ঐচ্ছিক। ঘূর্ণনের পরিবর্তন, ডিগ্রিতে। ডিফল্ট মান হলো 0।

pitch

double

ঐচ্ছিক। পিচের পরিবর্তন, ডিগ্রিতে। ডিফল্ট মান হলো 0।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

উদাহরণ

// Increment the end effector by 10 degrees of pitch if possible
if (Arm.canEndEffectorReachInc(0, 0, 10)) {
  Arm.moveEndEffectorInc(0, 0, 10);
}

isConnected#

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

এটি একটি সামঞ্জস্য ফাংশন যা installed এর মতো একই মান ফেরত দেয়।

উপলব্ধ ফাংশন

bool isConnected();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

উদাহরণ

// Print whether the 6-Axis Arm is connected
Brain.Screen.print(Arm.isConnected());

timestamp#

timestamp ৬-অ্যাক্সিস আর্ম থেকে সর্বশেষ প্রাপ্ত স্ট্যাটাস প্যাকেটের টাইমস্ট্যাম্প ফেরত দেয়।

উপলব্ধ ফাংশন

uint32_t timestamp();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

সর্বশেষ স্ট্যাটাস প্যাকেটের টাইমস্ট্যাম্পটি মিলিসেকেন্ডে ( uint32_t ফেরত দেয়।

installed#

installed রিটার্ন করে যে 6-অ্যাক্সিস আর্মটি সংযুক্ত আছে কিনা।

উপলব্ধ ফাংশন

bool installed();

প্যারামিটারসমূহ

এই ফাংশনটির কোনো প্যারামিটার নেই।

ফেরত মূল্য

একটি বুলিয়ান মান ফেরত দেয়।

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

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

কলব্যাক#

controlStopped#

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

উপলব্ধ ফাংশন

void controlStopped(void (* callback)(void));

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

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

ফেরত মূল্য

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

উদাহরণ

// Called when the 6-Axis Arm is control stopped
void onControlStopped() {
  Brain.Screen.print("Arm control stopped");
}

int main() {
  vexcodeInit();

  Arm.controlStopped(onControlStopped);
}

crashed#

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

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

উপলব্ধ ফাংশন

void crashed(void (* callback)(void));

প্যারামিটার

প্রকার

বর্ণনা

callback

void (*)(void)

একটি ফাংশন যা ৬-অক্ষীয় বাহুটি চলার সময় বিধ্বস্ত হলে চালু হয়।

ফেরত মূল্য

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

উদাহরণ

// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
  Brain.Screen.print("Crash detected");
  SignalTower6.setColor(signaltower::green, signaltower::off);
  SignalTower6.setColor(signaltower::red, signaltower::on);
}

int main() {
  vexcodeInit();

  Arm.crashed(onArmCrashed);
}